diff --git a/404.html b/404.html index 20719dc6..185928f5 100644 --- a/404.html +++ b/404.html @@ -9,10 +9,10 @@ - - + + -
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/api.html b/api.html index 4ab8ac6d..99675724 100644 --- a/api.html +++ b/api.html @@ -9,10 +9,10 @@ - - + + -
Skip to main content
Page Options
+
Skip to main content
Page Options
\ No newline at end of file diff --git a/api/class/FhirDosageUtils.html b/api/class/FhirDosageUtils.html index 1f8fa510..e78ace11 100644 --- a/api/class/FhirDosageUtils.html +++ b/api/class/FhirDosageUtils.html @@ -9,10 +9,10 @@ - - + + -
Skip to main content

FhirDosageUtils

Hierarchy

  • Utils
    • FhirDosageUtils

Index

Methods

changeLanguage

  • changeLanguage(lng: string): Promise<TFunction<common, undefined>>
  • Parameters

    • lng: string

    Returns Promise<TFunction<common, undefined>>

containsOnlySequentialInstructions

  • containsOnlySequentialInstructions(dosages: Dosage[]): boolean
  • Parameters

    • dosages: Dosage[]

    Returns boolean

fromDosageToText

  • fromDosageToText(dos: Dosage): string
  • Parameters

    • dos: Dosage

    Returns string

fromMultipleDosageToText

  • fromMultipleDosageToText(dosages: Dosage[]): string
  • Parameters

    • dosages: Dosage[]

    Returns string

getFields

  • getFields(dos: Dosage, ...order: (method | doseQuantity | doseRange | rateRatio | rateQuantity | rateRange | durationDurationMax | frequencyFrequencyMax | periodPeriodMax | frequencyFrequencyMaxPeriodPeriodMax | offsetWhen | dayOfWeek | timeOfDay | route | site | asNeeded | boundsDuration | boundsPeriod | boundsRange | countCountMax | event | code | maxDosePerPeriod | maxDosePerAdministration | maxDosePerLifetime | additionalInstruction | patientInstruction | text | extension | timingExtension | timingRepeatExtension | modifierExtension | timingModifierExtension)[]): string
  • Parameters

    • dos: Dosage
    • rest...order: (method | doseQuantity | doseRange | rateRatio | rateQuantity | rateRange | durationDurationMax | frequencyFrequencyMax | periodPeriodMax | frequencyFrequencyMaxPeriodPeriodMax | offsetWhen | dayOfWeek | timeOfDay | route | site | asNeeded | boundsDuration | boundsPeriod | boundsRange | countCountMax | event | code | maxDosePerPeriod | maxDosePerAdministration | maxDosePerLifetime | additionalInstruction | patientInstruction | text | extension | timingExtension | timingRepeatExtension | modifierExtension | timingModifierExtension)[]

    Returns string

getProperty

  • getProperty<T>(key: T): Config[T]
  • Type parameters

    Parameters

    • key: T

    Returns Config[T]

groupBySequence

  • groupBySequence(dosages: Dosage[]): Dosage[][]
  • Parameters

    • dosages: Dosage[]

    Returns Dosage[][]

setProperty

  • setProperty<T>(key: T, value: Config[T]): undefined
  • Type parameters

    • T: SettableProperties

    Parameters

    Returns undefined

staticbuild

+
Skip to main content

FhirDosageUtils

Hierarchy

  • Utils
    • FhirDosageUtils

Index

Methods

changeLanguage

  • changeLanguage(lng: string): Promise<TFunction<common, undefined>>
  • Parameters

    • lng: string

    Returns Promise<TFunction<common, undefined>>

containsOnlySequentialInstructions

  • containsOnlySequentialInstructions(dosages: Dosage[]): boolean
  • Parameters

    • dosages: Dosage[]

    Returns boolean

fromDosageToText

  • fromDosageToText(dos: Dosage): string
  • Parameters

    • dos: Dosage

    Returns string

fromMultipleDosageToText

  • fromMultipleDosageToText(dosages: Dosage[]): string
  • Parameters

    • dosages: Dosage[]

    Returns string

getFields

  • getFields(dos: Dosage, ...order: (method | doseQuantity | doseRange | rateRatio | rateQuantity | rateRange | durationDurationMax | frequencyFrequencyMax | periodPeriodMax | frequencyFrequencyMaxPeriodPeriodMax | offsetWhen | dayOfWeek | timeOfDay | route | site | asNeeded | boundsDuration | boundsPeriod | boundsRange | countCountMax | event | code | maxDosePerPeriod | maxDosePerAdministration | maxDosePerLifetime | additionalInstruction | patientInstruction | text | extension | timingExtension | timingRepeatExtension | modifierExtension | timingModifierExtension)[]): string
  • Parameters

    • dos: Dosage
    • rest...order: (method | doseQuantity | doseRange | rateRatio | rateQuantity | rateRange | durationDurationMax | frequencyFrequencyMax | periodPeriodMax | frequencyFrequencyMaxPeriodPeriodMax | offsetWhen | dayOfWeek | timeOfDay | route | site | asNeeded | boundsDuration | boundsPeriod | boundsRange | countCountMax | event | code | maxDosePerPeriod | maxDosePerAdministration | maxDosePerLifetime | additionalInstruction | patientInstruction | text | extension | timingExtension | timingRepeatExtension | modifierExtension | timingModifierExtension)[]

    Returns string

getProperty

  • getProperty<T>(key: T): Config[T]
  • Type parameters

    Parameters

    • key: T

    Returns Config[T]

groupBySequence

  • groupBySequence(dosages: Dosage[]): Dosage[][]
  • Parameters

    • dosages: Dosage[]

    Returns Dosage[][]

setProperty

  • setProperty<T>(key: T, value: Config[T]): undefined
  • Type parameters

    • T: SettableProperties

    Parameters

    Returns undefined

staticbuild

\ No newline at end of file diff --git a/api/enum/DisplayOrderEnum.html b/api/enum/DisplayOrderEnum.html index 1a6e677b..161e7606 100644 --- a/api/enum/DisplayOrderEnum.html +++ b/api/enum/DisplayOrderEnum.html @@ -9,10 +9,10 @@ - - + + -
Skip to main content

DisplayOrderEnum

Represents the available display orders

Index

Enumeration Members

additionalInstruction

additionalInstruction: additionalInstruction

Display "additionalInstruction"

asNeeded

asNeeded: asNeeded

Display "asNeededBoolean" / "asNeededCodeableConcept" / "asNeeded" / "asNeededFor"

boundsDuration

boundsDuration: boundsDuration

Display "timing.repeat.boundsDuration"

boundsPeriod

boundsPeriod: boundsPeriod

Display "timing.repeat.boundsPeriod"

boundsRange

boundsRange: boundsRange

Display "timing.repeat.boundsRange"

code

code: code

Display "timing.code"

countCountMax

countCountMax: countCountMax

Display "timing.repeat.count" / "timing.repeat.countMax"

dayOfWeek

dayOfWeek: dayOfWeek

Display "timing.repeat.dayOfWeek"

doseQuantity

doseQuantity: doseQuantity

Display "doseAndRate.doseQuantity"

doseRange

doseRange: doseRange

Display "doseAndRate.doseRange"

durationDurationMax

durationDurationMax: durationDurationMax

Display "timing.repeat.duration" / "timing.repeat.durationMax"

event

event: event

Display "timing.event"

extension

extension: extension

Display "extension"

frequencyFrequencyMax

frequencyFrequencyMax: frequencyFrequencyMax

Display "timing.repeat.frequency" / "timing.repeat.frequencyMax"

frequencyFrequencyMaxPeriodPeriodMax

frequencyFrequencyMaxPeriodPeriodMax: frequencyFrequencyMaxPeriodPeriodMax

Display "timing.repeat.frequency" / "timing.repeat.frequencyMax" / "timing.repeat.period" / "timing.repeat.periodMax"

maxDosePerAdministration

maxDosePerAdministration: maxDosePerAdministration

Display "maxDosePerAdministration"

maxDosePerLifetime

maxDosePerLifetime: maxDosePerLifetime

Display "maxDosePerLifetime"

maxDosePerPeriod

maxDosePerPeriod: maxDosePerPeriod

Display "maxDosePerPeriod"

method

method: method

Display "method"

modifierExtension

modifierExtension: modifierExtension

Display "modifierExtension"

offsetWhen

offsetWhen: offsetWhen

Display "timing.repeat.offset" / "timing.repeat.when"

patientInstruction

patientInstruction: patientInstruction

Display "patientInstruction"

periodPeriodMax

periodPeriodMax: periodPeriodMax

Display "timing.repeat.period" / "timing.repeat.periodMax"

rateQuantity

rateQuantity: rateQuantity

Display "doseAndRate.rateQuantity"

rateRange

rateRange: rateRange

Display "doseAndRate.rateRange"

rateRatio

rateRatio: rateRatio

Display "doseAndRate.rateRatio"

route

route: route

Display "route"

site

site: site

Display "site"

text

text: text

Display "text"

timeOfDay

timeOfDay: timeOfDay

Display "timing.repeat.timeOfDay"

timingExtension

timingExtension: timingExtension

Display "timing.extension"

timingModifierExtension

timingModifierExtension: timingModifierExtension

Display "timing.modifierExtension"

timingRepeatExtension

timingRepeatExtension: timingRepeatExtension

Display "timing.repeat.extension"

+
Skip to main content

DisplayOrderEnum

Represents the available display orders

Index

Enumeration Members

additionalInstruction

additionalInstruction: additionalInstruction

Display "additionalInstruction"

asNeeded

asNeeded: asNeeded

Display "asNeededBoolean" / "asNeededCodeableConcept" / "asNeeded" / "asNeededFor"

boundsDuration

boundsDuration: boundsDuration

Display "timing.repeat.boundsDuration"

boundsPeriod

boundsPeriod: boundsPeriod

Display "timing.repeat.boundsPeriod"

boundsRange

boundsRange: boundsRange

Display "timing.repeat.boundsRange"

code

code: code

Display "timing.code"

countCountMax

countCountMax: countCountMax

Display "timing.repeat.count" / "timing.repeat.countMax"

dayOfWeek

dayOfWeek: dayOfWeek

Display "timing.repeat.dayOfWeek"

doseQuantity

doseQuantity: doseQuantity

Display "doseAndRate.doseQuantity"

doseRange

doseRange: doseRange

Display "doseAndRate.doseRange"

durationDurationMax

durationDurationMax: durationDurationMax

Display "timing.repeat.duration" / "timing.repeat.durationMax"

event

event: event

Display "timing.event"

extension

extension: extension

Display "extension"

frequencyFrequencyMax

frequencyFrequencyMax: frequencyFrequencyMax

Display "timing.repeat.frequency" / "timing.repeat.frequencyMax"

frequencyFrequencyMaxPeriodPeriodMax

frequencyFrequencyMaxPeriodPeriodMax: frequencyFrequencyMaxPeriodPeriodMax

Display "timing.repeat.frequency" / "timing.repeat.frequencyMax" / "timing.repeat.period" / "timing.repeat.periodMax"

maxDosePerAdministration

maxDosePerAdministration: maxDosePerAdministration

Display "maxDosePerAdministration"

maxDosePerLifetime

maxDosePerLifetime: maxDosePerLifetime

Display "maxDosePerLifetime"

maxDosePerPeriod

maxDosePerPeriod: maxDosePerPeriod

Display "maxDosePerPeriod"

method

method: method

Display "method"

modifierExtension

modifierExtension: modifierExtension

Display "modifierExtension"

offsetWhen

offsetWhen: offsetWhen

Display "timing.repeat.offset" / "timing.repeat.when"

patientInstruction

patientInstruction: patientInstruction

Display "patientInstruction"

periodPeriodMax

periodPeriodMax: periodPeriodMax

Display "timing.repeat.period" / "timing.repeat.periodMax"

rateQuantity

rateQuantity: rateQuantity

Display "doseAndRate.rateQuantity"

rateRange

rateRange: rateRange

Display "doseAndRate.rateRange"

rateRatio

rateRatio: rateRatio

Display "doseAndRate.rateRatio"

route

route: route

Display "route"

site

site: site

Display "site"

text

text: text

Display "text"

timeOfDay

timeOfDay: timeOfDay

Display "timing.repeat.timeOfDay"

timingExtension

timingExtension: timingExtension

Display "timing.extension"

timingModifierExtension

timingModifierExtension: timingModifierExtension

Display "timing.modifierExtension"

timingRepeatExtension

timingRepeatExtension: timingRepeatExtension

Display "timing.repeat.extension"

\ No newline at end of file diff --git a/api/interface/Config.html b/api/interface/Config.html index 49a363ba..dba0177e 100644 --- a/api/interface/Config.html +++ b/api/interface/Config.html @@ -9,11 +9,11 @@ - - + + -
Skip to main content

Config

Index

Properties

dateTimeFormatOptions

dateTimeFormatOptions: DateTimeFormatOptions

To control the formatting of dateTime objects. +

Config

Index

Properties

dateTimeFormatOptions

dateTimeFormatOptions: DateTimeFormatOptions

To control the formatting of dateTime objects. If not provided, will use the defaults according locale e.g. "20/01/2024"

@defaultValue
{}
@see

displayOrder

displayOrder: (method | doseQuantity | doseRange | rateRatio | rateQuantity | rateRange | durationDurationMax | frequencyFrequencyMax | periodPeriodMax | frequencyFrequencyMaxPeriodPeriodMax | offsetWhen | dayOfWeek | timeOfDay | route | site | asNeeded | boundsDuration | boundsPeriod | boundsRange | countCountMax | event | code | maxDosePerPeriod | maxDosePerAdministration | maxDosePerLifetime | additionalInstruction | patientInstruction | text | extension | timingExtension | timingRepeatExtension | modifierExtension | timingModifierExtension)[]

Control the display order used by the algorithm Useful when you want to turn on / off some specific rules for some reason

@defaultValue
["method", "doseQuantity", "doseRange", "rateRatio", "rateQuantity", "rateRange", "durationDurationMax", "frequencyFrequencyMaxPeriodPeriodMax", "offsetWhen", "dayOfWeek", "timeOfDay", "route", "site", "asNeeded", "boundsDuration", "boundsPeriod", "boundsRange", "countCountMax", "event", "code", "maxDosePerPeriod", "maxDosePerAdministration", "maxDosePerLifetime", "additionalInstruction", "patientInstruction"]
@see

DisplayOrderEnum for more info

displaySeparator

displaySeparator: string

Override separator between each part of "Dosage"

@defaultValue
" - "

fromCodeableConceptToString

fromCodeableConceptToString: FromCodeableConceptToStringFct

Function to turn a codeable concept (e.g SNOMED CT "311504000") into a string for humans (e.g "With or after food") The choice to handle extension, local valueset, ... is thus under the hands of people ;)

@see

fromExtensionsToString

fromExtensionsToString: FromExtensionsToStringFct

Function to turn extension(s) into a string for humans. diff --git a/assets/js/01a85c17.7e81c84d.js b/assets/js/01a85c17.7e81c84d.js deleted file mode 100644 index 72649544..00000000 --- a/assets/js/01a85c17.7e81c84d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8209],{44096:(e,t,a)=>{a.d(t,{in:()=>c,OU:()=>_,Ki:()=>P,kJ:()=>f,x:()=>l,e7:()=>d,J_:()=>b,Gx:()=>y});var s=a(96540),n=a(89532),i=a(36803),r=a(74848);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=s.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:n=!1}=e;const i=function(e){let{content:t,isBlogPostPage:a}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:n});return(0,r.jsx)(o.Provider,{value:i,children:t})}function d(){const e=(0,s.useContext)(o);if(null===e)throw new n.dV("BlogPostProvider");return e}var u=a(86025),m=a(44586);const g=e=>new Date(e).toISOString();function h(e){const t=e.map(x);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:j({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){const{siteConfig:t}=(0,m.default)(),{withBaseUrl:a}=(0,u.hH)(),{metadata:{blogDescription:s,blogTitle:n,permalink:i}}=e,r=`${t.url}${i}`;return{"@context":"https://schema.org","@type":"Blog","@id":r,mainEntityOfPage:r,headline:n,description:s,blogPost:e.items.map((e=>function(e,t,a){const{assets:s,frontMatter:n,metadata:i}=e,{date:r,title:l,description:o,lastUpdatedAt:c}=i,d=s.image??n.image,u=n.keywords??[],m=`${t.url}${i.permalink}`,f=c?g(c):void 0;return{"@type":"BlogPosting","@id":m,mainEntityOfPage:m,url:m,headline:l,name:l,description:o,datePublished:r,...f?{dateModified:f}:{},...h(i.authors),...p(d,a,l),...u?{keywords:u}:{}}}(e.content,t,a)))}}function b(){const e=l(),{assets:t,metadata:a}=d(),{siteConfig:s}=(0,m.default)(),{withBaseUrl:n}=(0,u.hH)(),{date:i,title:r,description:o,frontMatter:c,lastUpdatedAt:f}=a,b=t.image??c.image,x=c.keywords??[],j=f?g(f):void 0,N=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":N,mainEntityOfPage:N,url:N,headline:r,name:r,description:o,datePublished:i,...j?{dateModified:j}:{},...h(a.authors),...p(b,n,r),...x?{keywords:x}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function x(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function j(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var N=a(56347),v=a(28774),C=a(31682),k=a(99169);function y(e){const{pathname:t}=(0,N.zy)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.ys)(e.permalink,t))}(e,t)))),[e,t])}function P(e){const t=(0,C.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function _(e){let{items:t,ulClassName:a,liClassName:s,linkClassName:n,linkActiveClassName:i}=e;return(0,r.jsx)("ul",{className:a,children:t.map((e=>(0,r.jsx)("li",{className:s,children:(0,r.jsx)(v.default,{isNavLink:!0,to:e.permalink,className:n,activeClassName:i,children:e.title})},e.permalink)))})}},28027:(e,t,a)=>{a.d(t,{A:()=>O});var s=a(96540),n=a(34164),i=a(70680),r=a(24581),l=a(21312),o=a(44096),c=a(6342),d=a(51107),u=a(74848);function m(e){let{year:t,yearGroupHeadingClassName:a,children:s}=e;return(0,u.jsxs)("div",{role:"group",children:[(0,u.jsx)(d.default,{as:"h3",className:a,children:t}),s]})}function g(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:s}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,o.Ki)(t);return(0,u.jsx)(u.Fragment,{children:e.map((e=>{let[t,n]=e;return(0,u.jsx)(m,{year:t,yearGroupHeadingClassName:a,children:(0,u.jsx)(s,{items:n})},t)}))})}return(0,u.jsx)(s,{items:t})}const h=(0,s.memo)(g),p="sidebar_re4s",f="sidebarItemTitle_pO2u",b="sidebarItemList_Yudw",x="sidebarItem__DBe",j="sidebarItemLink_mo7H",N="sidebarItemLinkActive_I1ZP",v="yearGroupHeading_rMGB",C=e=>{let{items:t}=e;return(0,u.jsx)(o.OU,{items:t,ulClassName:(0,n.A)(b,"clean-list"),liClassName:x,linkClassName:j,linkActiveClassName:N})};function k(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,u.jsx)("aside",{className:"col col--3",children:(0,u.jsxs)("nav",{className:(0,n.A)(p,"thin-scrollbar"),"aria-label":(0,l.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,u.jsx)("div",{className:(0,n.A)(f,"margin-bottom--md"),children:t.title}),(0,u.jsx)(h,{items:a,ListComponent:C,yearGroupHeadingClassName:v})]})})}const y=(0,s.memo)(k);var P=a(75600);const _={yearGroupHeading:"yearGroupHeading_QT03"},A=e=>{let{items:t}=e;return(0,u.jsx)(o.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function w(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,u.jsx)(h,{items:a,ListComponent:A,yearGroupHeadingClassName:_.yearGroupHeading})}function B(e){return(0,u.jsx)(P.GX,{component:w,props:e})}const G=(0,s.memo)(B);function H(e){let{sidebar:t}=e;const a=(0,r.l)();return t?.items.length?"mobile"===a?(0,u.jsx)(G,{sidebar:t}):(0,u.jsx)(y,{sidebar:t}):null}function O(e){const{sidebar:t,toc:a,children:s,...r}=e,l=t&&t.items.length>0;return(0,u.jsx)(i.A,{...r,children:(0,u.jsx)("div",{className:"container margin-vert--lg",children:(0,u.jsxs)("div",{className:"row",children:[(0,u.jsx)(H,{sidebar:t}),(0,u.jsx)("main",{className:(0,n.A)("col",{"col--7":l,"col--9 col--offset-1":!l}),children:s}),a&&(0,u.jsx)("div",{className:"col col--2",children:a})]})})})}},92463:(e,t,a)=>{a.r(t),a.d(t,{default:()=>p});a(96540);var s=a(34164),n=a(26820),i=a(45500),r=a(17559),l=a(28027),o=a(56133),c=a(51107);const d={tag:"tag_Nnez"};var u=a(74848);function m(e){let{letterEntry:t}=e;return(0,u.jsxs)("article",{children:[(0,u.jsx)(c.default,{as:"h2",id:t.letter,children:t.letter}),(0,u.jsx)("ul",{className:"padding--none",children:t.tags.map((e=>(0,u.jsx)("li",{className:d.tag,children:(0,u.jsx)(o.A,{...e})},e.permalink)))}),(0,u.jsx)("hr",{})]})}function g(e){let{tags:t}=e;const a=(0,n.Q)(t);return(0,u.jsx)("section",{className:"margin-vert--lg",children:a.map((e=>(0,u.jsx)(m,{letterEntry:e},e.letter)))})}var h=a(41463);function p(e){let{tags:t,sidebar:a}=e;const o=(0,n.b)();return(0,u.jsxs)(i.e3,{className:(0,s.A)(r.G.wrapper.blogPages,r.G.page.blogTagsListPage),children:[(0,u.jsx)(i.be,{title:o}),(0,u.jsx)(h.A,{tag:"blog_tags_list"}),(0,u.jsxs)(l.A,{sidebar:a,children:[(0,u.jsx)(c.default,{as:"h1",children:o}),(0,u.jsx)(g,{tags:t})]})]})}},56133:(e,t,a)=>{a.d(t,{A:()=>l});a(96540);var s=a(34164),n=a(28774);const i={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var r=a(74848);function l(e){let{permalink:t,label:a,count:l,description:o}=e;return(0,r.jsxs)(n.default,{href:t,title:o,className:(0,s.A)(i.tag,l?i.tagWithCount:i.tagRegular),children:[a,l&&(0,r.jsx)("span",{children:l})]})}},26820:(e,t,a)=>{a.d(t,{Q:()=>i,b:()=>n});var s=a(21312);const n=()=>(0,s.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});function i(e){const t={};return Object.values(e).forEach((e=>{const a=function(e){return e[0].toUpperCase()}(e.label);t[a]??=[],t[a].push(e)})),Object.entries(t).sort(((e,t)=>{let[a]=e,[s]=t;return a.localeCompare(s)})).map((e=>{let[t,a]=e;return{letter:t,tags:a.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.bd8ca994.js b/assets/js/01a85c17.bd8ca994.js new file mode 100644 index 00000000..e87c91de --- /dev/null +++ b/assets/js/01a85c17.bd8ca994.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8209],{44096:(e,t,a)=>{a.d(t,{in:()=>c,OU:()=>_,Ki:()=>P,kJ:()=>f,x:()=>l,e7:()=>d,J_:()=>b,Gx:()=>y});var s=a(96540),n=a(89532),i=a(36803),r=a(74848);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=s.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:n=!1}=e;const i=function(e){let{content:t,isBlogPostPage:a}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:n});return(0,r.jsx)(o.Provider,{value:i,children:t})}function d(){const e=(0,s.useContext)(o);if(null===e)throw new n.dV("BlogPostProvider");return e}var m=a(86025),u=a(44586);const g=e=>new Date(e).toISOString();function h(e){const t=e.map(x);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:j({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){const{siteConfig:t}=(0,u.default)(),{withBaseUrl:a}=(0,m.hH)(),{metadata:{blogDescription:s,blogTitle:n,permalink:i}}=e,r=`${t.url}${i}`;return{"@context":"https://schema.org","@type":"Blog","@id":r,mainEntityOfPage:r,headline:n,description:s,blogPost:e.items.map((e=>function(e,t,a){const{assets:s,frontMatter:n,metadata:i}=e,{date:r,title:l,description:o,lastUpdatedAt:c}=i,d=s.image??n.image,m=n.keywords??[],u=`${t.url}${i.permalink}`,f=c?g(c):void 0;return{"@type":"BlogPosting","@id":u,mainEntityOfPage:u,url:u,headline:l,name:l,description:o,datePublished:r,...f?{dateModified:f}:{},...h(i.authors),...p(d,a,l),...m?{keywords:m}:{}}}(e.content,t,a)))}}function b(){const e=l(),{assets:t,metadata:a}=d(),{siteConfig:s}=(0,u.default)(),{withBaseUrl:n}=(0,m.hH)(),{date:i,title:r,description:o,frontMatter:c,lastUpdatedAt:f}=a,b=t.image??c.image,x=c.keywords??[],j=f?g(f):void 0,N=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":N,mainEntityOfPage:N,url:N,headline:r,name:r,description:o,datePublished:i,...j?{dateModified:j}:{},...h(a.authors),...p(b,n,r),...x?{keywords:x}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function x(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function j(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var N=a(56347),v=a(28774),C=a(31682),k=a(99169);function y(e){const{pathname:t}=(0,N.zy)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.ys)(e.permalink,t))}(e,t)))),[e,t])}function P(e){const t=(0,C.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function _(e){let{items:t,ulClassName:a,liClassName:s,linkClassName:n,linkActiveClassName:i}=e;return(0,r.jsx)("ul",{className:a,children:t.map((e=>(0,r.jsx)("li",{className:s,children:(0,r.jsx)(v.default,{isNavLink:!0,to:e.permalink,className:n,activeClassName:i,children:e.title})},e.permalink)))})}},28027:(e,t,a)=>{a.d(t,{A:()=>U});var s=a(96540),n=a(34164),i=a(70680),r=a(24581),l=a(21312),o=a(44096),c=a(6342),d=a(51107),m=a(74848);function u(e){let{year:t,yearGroupHeadingClassName:a,children:s}=e;return(0,m.jsxs)("div",{role:"group",children:[(0,m.jsx)(d.default,{as:"h3",className:a,children:t}),s]})}function g(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:s}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,o.Ki)(t);return(0,m.jsx)(m.Fragment,{children:e.map((e=>{let[t,n]=e;return(0,m.jsx)(u,{year:t,yearGroupHeadingClassName:a,children:(0,m.jsx)(s,{items:n})},t)}))})}return(0,m.jsx)(s,{items:t})}const h=(0,s.memo)(g),p="sidebar_re4s",f="sidebarItemTitle_pO2u",b="sidebarItemList_Yudw",x="sidebarItem__DBe",j="sidebarItemLink_mo7H",N="sidebarItemLinkActive_I1ZP",v="yearGroupHeading_rMGB",C=e=>{let{items:t}=e;return(0,m.jsx)(o.OU,{items:t,ulClassName:(0,n.A)(b,"clean-list"),liClassName:x,linkClassName:j,linkActiveClassName:N})};function k(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,m.jsx)("aside",{className:"col col--3",children:(0,m.jsxs)("nav",{className:(0,n.A)(p,"thin-scrollbar"),"aria-label":(0,l.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,m.jsx)("div",{className:(0,n.A)(f,"margin-bottom--md"),children:t.title}),(0,m.jsx)(h,{items:a,ListComponent:C,yearGroupHeadingClassName:v})]})})}const y=(0,s.memo)(k);var P=a(75600);const _="yearGroupHeading_QT03",A=e=>{let{items:t}=e;return(0,m.jsx)(o.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function w(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,m.jsx)(h,{items:a,ListComponent:A,yearGroupHeadingClassName:_})}function B(e){return(0,m.jsx)(P.GX,{component:w,props:e})}const G=(0,s.memo)(B);function O(e){let{sidebar:t}=e;const a=(0,r.l)();return t?.items.length?"mobile"===a?(0,m.jsx)(G,{sidebar:t}):(0,m.jsx)(y,{sidebar:t}):null}function U(e){const{sidebar:t,toc:a,children:s,...r}=e,l=t&&t.items.length>0;return(0,m.jsx)(i.A,{...r,children:(0,m.jsx)("div",{className:"container margin-vert--lg",children:(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)(O,{sidebar:t}),(0,m.jsx)("main",{className:(0,n.A)("col",{"col--7":l,"col--9 col--offset-1":!l}),children:s}),a&&(0,m.jsx)("div",{className:"col col--2",children:a})]})})})}},92463:(e,t,a)=>{a.r(t),a.d(t,{default:()=>p});a(96540);var s=a(34164),n=a(26820),i=a(45500),r=a(17559),l=a(28027),o=a(56133),c=a(51107);const d={tag:"tag_Nnez"};var m=a(74848);function u(e){let{letterEntry:t}=e;return(0,m.jsxs)("article",{children:[(0,m.jsx)(c.default,{as:"h2",id:t.letter,children:t.letter}),(0,m.jsx)("ul",{className:"padding--none",children:t.tags.map((e=>(0,m.jsx)("li",{className:d.tag,children:(0,m.jsx)(o.A,{...e})},e.permalink)))}),(0,m.jsx)("hr",{})]})}function g(e){let{tags:t}=e;const a=(0,n.Q)(t);return(0,m.jsx)("section",{className:"margin-vert--lg",children:a.map((e=>(0,m.jsx)(u,{letterEntry:e},e.letter)))})}var h=a(41463);function p(e){let{tags:t,sidebar:a}=e;const o=(0,n.b)();return(0,m.jsxs)(i.e3,{className:(0,s.A)(r.G.wrapper.blogPages,r.G.page.blogTagsListPage),children:[(0,m.jsx)(i.be,{title:o}),(0,m.jsx)(h.A,{tag:"blog_tags_list"}),(0,m.jsxs)(l.A,{sidebar:a,children:[(0,m.jsx)(c.default,{as:"h1",children:o}),(0,m.jsx)(g,{tags:t})]})]})}},56133:(e,t,a)=>{a.d(t,{A:()=>l});a(96540);var s=a(34164),n=a(28774);const i={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var r=a(74848);function l(e){let{permalink:t,label:a,count:l,description:o}=e;return(0,r.jsxs)(n.default,{href:t,title:o,className:(0,s.A)(i.tag,l?i.tagWithCount:i.tagRegular),children:[a,l&&(0,r.jsx)("span",{children:l})]})}},26820:(e,t,a)=>{a.d(t,{Q:()=>i,b:()=>n});var s=a(21312);const n=()=>(0,s.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});function i(e){const t={};return Object.values(e).forEach((e=>{const a=function(e){return e[0].toUpperCase()}(e.label);t[a]??=[],t[a].push(e)})),Object.entries(t).sort(((e,t)=>{let[a]=e,[s]=t;return a.localeCompare(s)})).map((e=>{let[t,a]=e;return{letter:t,tags:a.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}}}]); \ No newline at end of file diff --git a/assets/js/04baef29.95d321e5.js b/assets/js/04baef29.95d321e5.js deleted file mode 100644 index b038ed9c..00000000 --- a/assets/js/04baef29.95d321e5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7498,9048],{17426:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ue});var a=n(96540),o=n(34164),i=n(45500),r=n(17559),s=n(26972),l=n(60609),c=n(21312),d=n(23104),u=n(75062);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(74848);function p(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:r,cancelScroll:s}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const r=n?.scrollY;r&&(i.current?i.current=!1:a>=r?(s(),o(!1)):a{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",r.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var h=n(53109),f=n(56347),x=n(24581),j=n(6342),v=n(23465);function g(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const A={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function _(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",A.collapseSidebarButton),onClick:t,children:(0,b.jsx)(g,{className:A.collapseSidebarButtonIcon})})}var y=n(65041),k=n(33082),C=n(89532),S=n(41422),N=n(99169),T=n(28774),I=n(92303);function w(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function B(e){let{item:t,onItemClick:n,activePath:i,level:l,index:c,...d}=e;const{items:u,label:m,collapsible:p,className:h,href:f}=t,{docs:{sidebar:{autoCollapseCategories:x}}}=(0,j.p)(),v=function(e){const t=(0,I.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,s.Nr)(e):void 0),[e,t])}(t),g=(0,s.w8)(t,i),A=(0,N.ys)(f,i),{collapsed:_,setCollapsed:y}=(0,S.u)({initialState:()=>!!p&&(!g&&t.collapsed)}),{expandedItem:B,setExpandedItem:P}=(0,k.G)(),E=function(e){void 0===e&&(e=!_),P(e?null:c),y(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,C.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:g,collapsed:_,updateCollapsed:E}),(0,a.useEffect)((()=>{p&&null!=B&&B!==c&&x&&y(!0)}),[p,B,c,y,x]),(0,b.jsxs)("li",{className:(0,o.A)(r.G.docs.docSidebarItemCategory,r.G.docs.docSidebarItemCategoryLevel(l),"menu__list-item",{"menu__list-item--collapsed":_},h),children:[(0,b.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":A}),children:[(0,b.jsx)(T.default,{className:(0,o.A)("menu__link",{"menu__link--sublist":p,"menu__link--sublist-caret":!f&&p,"menu__link--active":g}),onClick:p?e=>{n?.(t),f?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":A?"page":void 0,role:p&&!f?"button":void 0,"aria-expanded":p&&!f?!_:void 0,href:p?v??"#":v,...d,children:m}),f&&p&&(0,b.jsx)(w,{collapsed:_,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(S.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:_,children:(0,b.jsx)(W,{items:u,tabIndex:_?-1:0,onItemClick:n,activePath:i,level:l+1})})]})}var P=n(16654),E=n(43186);const O={menuExternalLink:"menuExternalLink_NmtK"};function L(e){let{item:t,onItemClick:n,activePath:a,level:i,index:l,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:p}=t,h=(0,s.w8)(t,a),f=(0,P.A)(d);return(0,b.jsx)("li",{className:(0,o.A)(r.G.docs.docSidebarItemLink,r.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(T.default,{className:(0,o.A)("menu__link",!f&&O.menuExternalLink,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:d,...f&&{onClick:n?()=>n(t):void 0},...c,children:[u,!f&&(0,b.jsx)(E.A,{})]})},u)}const M={menuHtmlItem:"menuHtmlItem_M9Kj"};function H(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:s,className:l}=t;return(0,b.jsx)("li",{className:(0,o.A)(r.G.docs.docSidebarItemLink,r.G.docs.docSidebarItemLinkLevel(n),s&&[M.menuHtmlItem,"menu__list-item"],l),dangerouslySetInnerHTML:{__html:i}},a)}function G(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(B,{item:t,...n});case"html":return(0,b.jsx)(H,{item:t,...n});default:return(0,b.jsx)(L,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,s.Y)(t,n.activePath);return(0,b.jsx)(k.A,{children:a.map(((e,t)=>(0,b.jsx)(G,{item:e,index:t,...n},t)))})}const W=(0,a.memo)(D),R={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function F(e){let{path:t,sidebar:n,className:i}=e;const s=function(){const{isActive:e}=(0,y.M)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",R.menu,s&&R.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.A)(r.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(W,{items:n,activePath:t,level:1})})})}const U="sidebar_njMd",V="sidebarWithHideableNavbar_wUlq",Y="sidebarHidden_VK0M",K="sidebarLogo_isFc";function z(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:r},docs:{sidebar:{hideable:s}}}=(0,j.p)();return(0,b.jsxs)("div",{className:(0,o.A)(U,r&&V,i&&Y),children:[r&&(0,b.jsx)(v.A,{tabIndex:-1,className:K}),(0,b.jsx)(F,{path:t,sidebar:n}),s&&(0,b.jsx)(_,{onClick:a})]})}const q=a.memo(z);var J=n(75600),Q=n(22069);const X=e=>{let{sidebar:t,path:n}=e;const a=(0,Q.M)();return(0,b.jsx)("ul",{className:(0,o.A)(r.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(W,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function Z(e){return(0,b.jsx)(J.GX,{component:X,props:e})}const $=a.memo(Z);function ee(e){const t=(0,x.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(q,{...e}),a&&(0,b.jsx)($,{...e})]})}const te={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function ne(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:te.expandButton,title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(g,{className:te.expandButtonIcon})})}const ae={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function oe(e){let{children:t}=e;const n=(0,l.t)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function ie(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:s}=(0,f.zy)(),[l,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{l&&c(!1),!l&&(0,h.O)()&&c(!0),i((e=>!e))}),[i,l]);return(0,b.jsx)("aside",{className:(0,o.A)(r.G.docs.docSidebarContainer,ae.docSidebarContainer,n&&ae.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ae.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(oe,{children:(0,b.jsxs)("div",{className:(0,o.A)(ae.sidebarViewport,l&&ae.sidebarViewportHidden),children:[(0,b.jsx)(ee,{sidebar:t,path:s,onCollapse:d,isHidden:l}),l&&(0,b.jsx)(ne,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function se(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,l.t)();return(0,b.jsx)("main",{className:(0,o.A)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const le={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ce(e){let{children:t}=e;const n=(0,l.t)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:le.docsWrapper,children:[(0,b.jsx)(p,{}),(0,b.jsxs)("div",{className:le.docRoot,children:[n&&(0,b.jsx)(ie,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(se,{hiddenSidebarContainer:o,children:t})]})]})}var de=n(23363);function ue(e){const t=(0,s.B5)(e);if(!t)return(0,b.jsx)(de.A,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.e3,{className:(0,o.A)(r.G.page.docsDocPage),children:(0,b.jsx)(l.V,{name:a,items:c,children:(0,b.jsx)(ce,{children:n})})})}},23363:(e,t,n)=>{n.d(t,{A:()=>s});n(96540);var a=n(34164),o=n(21312),i=n(51107),r=n(74848);function s(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(i.default,{as:"h1",className:"hero__title",children:(0,r.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},21200:(e,t,n)=>{const a=n(96540).createContext({options:{banner:"",breadcrumbs:!0,gitRefName:"master",minimal:!1,pluginId:"default",scopes:[]},reflections:{}});t.ApiDataContext=a},37440:(e,t,n)=>{const a=["options","packages"];function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;te&&e.__esModule?e:{default:e})(l);function m(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function b(e,t,n){return Object.entries(e).forEach((a=>{let[o,i]=a;if("id"===o){const a="type"in e;(!a||a&&"reference"!==e.type)&&(t[Number(i)]=e,n&&(e.parentId=n.id))}else Array.isArray(i)?i.forEach((n=>{m(n)&&b(n,t,e)})):m(i)&&b(i,t,e)})),t}function p(e){const t={};return e.forEach((e=>{e.entryPoints.forEach((e=>{b(e.reflection,t)}))})),t}e.exports=function(e){let t=e.options,n=e.packages,o=function(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a({options:t,reflections:p(n)})),[t,n]);return d.jsx(c.ApiDataContext.Provider,{value:r,children:d.jsx("div",{className:"apiPage",children:d.jsx(u.default,i({},o))})})}},30420:(e,t,n)=>{n.r(t)},41967:(e,t,n)=>{n.r(t)}}]); \ No newline at end of file diff --git a/assets/js/04baef29.a4e689a5.js b/assets/js/04baef29.a4e689a5.js new file mode 100644 index 00000000..55c1d994 --- /dev/null +++ b/assets/js/04baef29.a4e689a5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7498,9048],{17426:(e,t,n)=>{n.r(t),n.d(t,{default:()=>pe});var a=n(96540),o=n(34164),i=n(45500),r=n(17559),s=n(26972),l=n(60609),c=n(21312),d=n(23104),u=n(75062);const b={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var p=n(74848);function m(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:r,cancelScroll:s}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const r=n?.scrollY;r&&(i.current?i.current=!1:a>=r?(s(),o(!1)):a{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return(0,p.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",r.G.common.backToTopButton,b.backToTopButton,e&&b.backToTopButtonShow),type:"button",onClick:t})}var h=n(53109),f=n(56347),x=n(24581),j=n(6342),v=n(23465);function g(e){return(0,p.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,p.jsxs)("g",{fill:"#7a7a7a",children:[(0,p.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,p.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const _="collapseSidebarButton_PEFL",A="collapseSidebarButtonIcon_kv0_";function y(e){let{onClick:t}=e;return(0,p.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",_),onClick:t,children:(0,p.jsx)(g,{className:A})})}var k=n(65041),C=n(33082),S=n(89532),N=n(41422),T=n(99169),I=n(28774),w=n(92303);function B(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,p.jsx)("button",{"aria-label":t?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function P(e){let{item:t,onItemClick:n,activePath:i,level:l,index:c,...d}=e;const{items:u,label:b,collapsible:m,className:h,href:f}=t,{docs:{sidebar:{autoCollapseCategories:x}}}=(0,j.p)(),v=function(e){const t=(0,w.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,s.Nr)(e):void 0),[e,t])}(t),g=(0,s.w8)(t,i),_=(0,T.ys)(f,i),{collapsed:A,setCollapsed:y}=(0,N.u)({initialState:()=>!!m&&(!g&&t.collapsed)}),{expandedItem:k,setExpandedItem:P}=(0,C.G)(),O=function(e){void 0===e&&(e=!A),P(e?null:c),y(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:g,collapsed:A,updateCollapsed:O}),(0,a.useEffect)((()=>{m&&null!=k&&k!==c&&x&&y(!0)}),[m,k,c,y,x]),(0,p.jsxs)("li",{className:(0,o.A)(r.G.docs.docSidebarItemCategory,r.G.docs.docSidebarItemCategoryLevel(l),"menu__list-item",{"menu__list-item--collapsed":A},h),children:[(0,p.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":_}),children:[(0,p.jsx)(I.default,{className:(0,o.A)("menu__link",{"menu__link--sublist":m,"menu__link--sublist-caret":!f&&m,"menu__link--active":g}),onClick:m?e=>{n?.(t),f?O(!1):(e.preventDefault(),O())}:()=>{n?.(t)},"aria-current":_?"page":void 0,role:m&&!f?"button":void 0,"aria-expanded":m&&!f?!A:void 0,href:m?v??"#":v,...d,children:b}),f&&m&&(0,p.jsx)(B,{collapsed:A,categoryLabel:b,onClick:e=>{e.preventDefault(),O()}})]}),(0,p.jsx)(N.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:A,children:(0,p.jsx)(W,{items:u,tabIndex:A?-1:0,onItemClick:n,activePath:i,level:l+1})})]})}var O=n(16654),E=n(43186);const L="menuExternalLink_NmtK";function M(e){let{item:t,onItemClick:n,activePath:a,level:i,index:l,...c}=e;const{href:d,label:u,className:b,autoAddBaseUrl:m}=t,h=(0,s.w8)(t,a),f=(0,O.A)(d);return(0,p.jsx)("li",{className:(0,o.A)(r.G.docs.docSidebarItemLink,r.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",b),children:(0,p.jsxs)(I.default,{className:(0,o.A)("menu__link",!f&&L,{"menu__link--active":h}),autoAddBaseUrl:m,"aria-current":h?"page":void 0,to:d,...f&&{onClick:n?()=>n(t):void 0},...c,children:[u,!f&&(0,p.jsx)(E.A,{})]})},u)}const H="menuHtmlItem_M9Kj";function G(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:s,className:l}=t;return(0,p.jsx)("li",{className:(0,o.A)(r.G.docs.docSidebarItemLink,r.G.docs.docSidebarItemLinkLevel(n),s&&[H,"menu__list-item"],l),dangerouslySetInnerHTML:{__html:i}},a)}function D(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,p.jsx)(P,{item:t,...n});case"html":return(0,p.jsx)(G,{item:t,...n});default:return(0,p.jsx)(M,{item:t,...n})}}function R(e){let{items:t,...n}=e;const a=(0,s.Y)(t,n.activePath);return(0,p.jsx)(C.A,{children:a.map(((e,t)=>(0,p.jsx)(D,{item:e,index:t,...n},t)))})}const W=(0,a.memo)(R),F="menu_SIkG",U="menuWithAnnouncementBar_GW3s";function V(e){let{path:t,sidebar:n,className:i}=e;const s=function(){const{isActive:e}=(0,k.M)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,p.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",F,s&&U,i),children:(0,p.jsx)("ul",{className:(0,o.A)(r.G.docs.docSidebarMenu,"menu__list"),children:(0,p.jsx)(W,{items:n,activePath:t,level:1})})})}const Y="sidebar_njMd",K="sidebarWithHideableNavbar_wUlq",z="sidebarHidden_VK0M",q="sidebarLogo_isFc";function J(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:r},docs:{sidebar:{hideable:s}}}=(0,j.p)();return(0,p.jsxs)("div",{className:(0,o.A)(Y,r&&K,i&&z),children:[r&&(0,p.jsx)(v.A,{tabIndex:-1,className:q}),(0,p.jsx)(V,{path:t,sidebar:n}),s&&(0,p.jsx)(y,{onClick:a})]})}const Q=a.memo(J);var X=n(75600),Z=n(22069);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,Z.M)();return(0,p.jsx)("ul",{className:(0,o.A)(r.G.docs.docSidebarMenu,"menu__list"),children:(0,p.jsx)(W,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,p.jsx)(X.GX,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,x.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,p.jsxs)(p.Fragment,{children:[n&&(0,p.jsx)(Q,{...e}),a&&(0,p.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function oe(e){let{toggleSidebar:t}=e;return(0,p.jsx)("div",{className:ae.expandButton,title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,p.jsx)(g,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function re(e){let{children:t}=e;const n=(0,l.t)();return(0,p.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function se(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:s}=(0,f.zy)(),[l,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{l&&c(!1),!l&&(0,h.O)()&&c(!0),i((e=>!e))}),[i,l]);return(0,p.jsx)("aside",{className:(0,o.A)(r.G.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,p.jsx)(re,{children:(0,p.jsxs)("div",{className:(0,o.A)(ie.sidebarViewport,l&&ie.sidebarViewportHidden),children:[(0,p.jsx)(ne,{sidebar:t,path:s,onCollapse:d,isHidden:l}),l&&(0,p.jsx)(oe,{toggleSidebar:d})]})})})}const le={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,l.t)();return(0,p.jsx)("main",{className:(0,o.A)(le.docMainContainer,(t||!a)&&le.docMainContainerEnhanced),children:(0,p.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",le.docItemWrapper,t&&le.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,l.t)(),[o,i]=(0,a.useState)(!1);return(0,p.jsxs)("div",{className:de.docsWrapper,children:[(0,p.jsx)(m,{}),(0,p.jsxs)("div",{className:de.docRoot,children:[n&&(0,p.jsx)(se,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,p.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var be=n(23363);function pe(e){const t=(0,s.B5)(e);if(!t)return(0,p.jsx)(be.A,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,p.jsx)(i.e3,{className:(0,o.A)(r.G.page.docsDocPage),children:(0,p.jsx)(l.V,{name:a,items:c,children:(0,p.jsx)(ue,{children:n})})})}},23363:(e,t,n)=>{n.d(t,{A:()=>s});n(96540);var a=n(34164),o=n(21312),i=n(51107),r=n(74848);function s(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(i.default,{as:"h1",className:"hero__title",children:(0,r.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},21200:(e,t,n)=>{const a=n(96540).createContext({options:{banner:"",breadcrumbs:!0,gitRefName:"master",minimal:!1,pluginId:"default",scopes:[]},reflections:{}});t.ApiDataContext=a},37440:(e,t,n)=>{const a=["options","packages"];function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;te&&e.__esModule?e:{default:e})(l);function b(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function p(e,t,n){return Object.entries(e).forEach((a=>{let[o,i]=a;if("id"===o){const a="type"in e;(!a||a&&"reference"!==e.type)&&(t[Number(i)]=e,n&&(e.parentId=n.id))}else Array.isArray(i)?i.forEach((n=>{b(n)&&p(n,t,e)})):b(i)&&p(i,t,e)})),t}function m(e){const t={};return e.forEach((e=>{e.entryPoints.forEach((e=>{p(e.reflection,t)}))})),t}e.exports=function(e){let t=e.options,n=e.packages,o=function(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a({options:t,reflections:m(n)})),[t,n]);return d.jsx(c.ApiDataContext.Provider,{value:r,children:d.jsx("div",{className:"apiPage",children:d.jsx(u.default,i({},o))})})}},30420:(e,t,n)=>{n.r(t)},41967:(e,t,n)=>{n.r(t)}}]); \ No newline at end of file diff --git a/assets/js/3347.5287bd59.js b/assets/js/3347.de91579a.js similarity index 85% rename from assets/js/3347.5287bd59.js rename to assets/js/3347.de91579a.js index 21675590..98739e9b 100644 --- a/assets/js/3347.5287bd59.js +++ b/assets/js/3347.de91579a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[3347],{44096:(e,t,a)=>{a.d(t,{in:()=>c,OU:()=>C,Ki:()=>_,kJ:()=>p,x:()=>i,e7:()=>u,J_:()=>x,Gx:()=>M});var n=a(96540),s=a(89532),r=a(36803),l=a(74848);function i(){const e=(0,r.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=n.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:s=!1}=e;const r=function(e){let{content:t,isBlogPostPage:a}=e;return(0,n.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:s});return(0,l.jsx)(o.Provider,{value:r,children:t})}function u(){const e=(0,n.useContext)(o);if(null===e)throw new s.dV("BlogPostProvider");return e}var m=a(86025),h=a(44586);const d=e=>new Date(e).toISOString();function g(e){const t=e.map(v);return{author:1===t.length?t[0]:t}}function f(e,t,a){return e?{image:j({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function p(e){const{siteConfig:t}=(0,h.default)(),{withBaseUrl:a}=(0,m.hH)(),{metadata:{blogDescription:n,blogTitle:s,permalink:r}}=e,l=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":l,mainEntityOfPage:l,headline:s,description:n,blogPost:e.items.map((e=>function(e,t,a){const{assets:n,frontMatter:s,metadata:r}=e,{date:l,title:i,description:o,lastUpdatedAt:c}=r,u=n.image??s.image,m=s.keywords??[],h=`${t.url}${r.permalink}`,p=c?d(c):void 0;return{"@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:i,name:i,description:o,datePublished:l,...p?{dateModified:p}:{},...g(r.authors),...f(u,a,i),...m?{keywords:m}:{}}}(e.content,t,a)))}}function x(){const e=i(),{assets:t,metadata:a}=u(),{siteConfig:n}=(0,h.default)(),{withBaseUrl:s}=(0,m.hH)(),{date:r,title:l,description:o,frontMatter:c,lastUpdatedAt:p}=a,x=t.image??c.image,v=c.keywords??[],j=p?d(p):void 0,b=`${n.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":b,mainEntityOfPage:b,url:b,headline:l,name:l,description:o,datePublished:r,...j?{dateModified:j}:{},...g(a.authors),...f(x,s,l),...v?{keywords:v}:{},isPartOf:{"@type":"Blog","@id":`${n.url}${e.blogBasePath}`,name:e.blogTitle}}}function v(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function j(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var b=a(56347),w=a(28774),N=a(31682),k=a(99169);function M(e){const{pathname:t}=(0,b.zy)();return(0,n.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.ys)(e.permalink,t))}(e,t)))),[e,t])}function _(e){const t=(0,N.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function C(e){let{items:t,ulClassName:a,liClassName:n,linkClassName:s,linkActiveClassName:r}=e;return(0,l.jsx)("ul",{className:a,children:t.map((e=>(0,l.jsx)("li",{className:n,children:(0,l.jsx)(w.default,{isNavLink:!0,to:e.permalink,className:s,activeClassName:r,children:e.title})},e.permalink)))})}},56913:(e,t,a)=>{a.d(t,{A:()=>j});a(96540);var n=a(34164),s=a(28774),r=a(74848);const l="githubSvg_Uu4N";const i="xSvg_y3PF";const o=function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,r.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,r.jsx)("path",{d:"M3.6 9h16.8"}),(0,r.jsx)("path",{d:"M3.6 15h16.8"}),(0,r.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,r.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})},c={authorSocials:"authorSocials_rSDt",authorSocialLink:"authorSocialLink_owbf",authorSocialIcon:"authorSocialIcon_XYv3"},u={twitter:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 209",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:(0,r.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 250",width:"1em",height:"1em",...e,className:(0,n.A)(e.className,l),xmlns:"http://www.w3.org/2000/svg",style:{"--dark":"#000","--light":"#fff"},preserveAspectRatio:"xMidYMid",children:(0,r.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,r.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,r.jsx)("svg",{width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,r.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",...e,className:(0,n.A)(e.className,i),style:{"--dark":"#000","--light":"#fff"},children:(0,r.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"}};function m(e){let{platform:t,link:a}=e;const{Icon:l,label:i}=u[m=t]??{Icon:o,label:m};var m;return(0,r.jsx)(s.default,{className:c.authorSocialLink,href:a,title:i,children:(0,r.jsx)(l,{className:(0,n.A)(c.authorSocialLink)})})}function h(e){let{author:t}=e;const a=Object.entries(t.socials??{});return(0,r.jsx)("div",{className:c.authorSocials,children:a.map((e=>{let[t,a]=e;return(0,r.jsx)(m,{platform:t,link:a},t)}))})}var d=a(51107);const g={authorImage:"authorImage_XqGP","author-as-h1":"author-as-h1_n9oJ","author-as-h2":"author-as-h2_gXvM",authorDetails:"authorDetails_lV9A",authorName:"authorName_yefp",authorTitle:"authorTitle_nd0D",authorBlogPostCount:"authorBlogPostCount_iiJ5"};function f(e){return e.href?(0,r.jsx)(s.default,{...e}):(0,r.jsx)(r.Fragment,{children:e.children})}function p(e){let{title:t}=e;return(0,r.jsx)("small",{className:g.authorTitle,title:t,children:t})}function x(e){let{name:t,as:a}=e;return a?(0,r.jsx)(d.default,{as:a,className:g.authorName,children:t}):(0,r.jsx)("span",{className:g.authorName,children:t})}function v(e){let{count:t}=e;return(0,r.jsx)("span",{className:(0,n.A)(g.authorBlogPostCount),children:t})}function j(e){let{as:t,author:a,className:s,count:l}=e;const{name:i,title:o,url:c,imageURL:u,email:m,page:d}=a,j=d?.permalink||c||m&&`mailto:${m}`||void 0;return(0,r.jsxs)("div",{className:(0,n.A)("avatar margin-bottom--sm",s,g[`author-as-${t}`]),children:[u&&(0,r.jsx)(f,{href:j,className:"avatar__photo-link",children:(0,r.jsx)("img",{className:(0,n.A)("avatar__photo",g.authorImage),src:u,alt:i})}),(i||o)&&(0,r.jsxs)("div",{className:(0,n.A)("avatar__intro",g.authorDetails),children:[(0,r.jsxs)("div",{className:"avatar__name",children:[i&&(0,r.jsx)(f,{href:j,children:(0,r.jsx)(x,{name:i,as:t})}),void 0!==l&&(0,r.jsx)(v,{count:l})]}),!!o&&(0,r.jsx)(p,{title:o}),(0,r.jsx)(h,{author:a})]})]})}},28027:(e,t,a)=>{a.d(t,{A:()=>L});var n=a(96540),s=a(34164),r=a(70680),l=a(24581),i=a(21312),o=a(44096),c=a(6342),u=a(51107),m=a(74848);function h(e){let{year:t,yearGroupHeadingClassName:a,children:n}=e;return(0,m.jsxs)("div",{role:"group",children:[(0,m.jsx)(u.default,{as:"h3",className:a,children:t}),n]})}function d(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:n}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,o.Ki)(t);return(0,m.jsx)(m.Fragment,{children:e.map((e=>{let[t,s]=e;return(0,m.jsx)(h,{year:t,yearGroupHeadingClassName:a,children:(0,m.jsx)(n,{items:s})},t)}))})}return(0,m.jsx)(n,{items:t})}const g=(0,n.memo)(d),f="sidebar_re4s",p="sidebarItemTitle_pO2u",x="sidebarItemList_Yudw",v="sidebarItem__DBe",j="sidebarItemLink_mo7H",b="sidebarItemLinkActive_I1ZP",w="yearGroupHeading_rMGB",N=e=>{let{items:t}=e;return(0,m.jsx)(o.OU,{items:t,ulClassName:(0,s.A)(x,"clean-list"),liClassName:v,linkClassName:j,linkActiveClassName:b})};function k(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,m.jsx)("aside",{className:"col col--3",children:(0,m.jsxs)("nav",{className:(0,s.A)(f,"thin-scrollbar"),"aria-label":(0,i.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,m.jsx)("div",{className:(0,s.A)(p,"margin-bottom--md"),children:t.title}),(0,m.jsx)(g,{items:a,ListComponent:N,yearGroupHeadingClassName:w})]})})}const M=(0,n.memo)(k);var _=a(75600);const C={yearGroupHeading:"yearGroupHeading_QT03"},y=e=>{let{items:t}=e;return(0,m.jsx)(o.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function A(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,m.jsx)(g,{items:a,ListComponent:y,yearGroupHeadingClassName:C.yearGroupHeading})}function P(e){return(0,m.jsx)(_.GX,{component:A,props:e})}const B=(0,n.memo)(P);function I(e){let{sidebar:t}=e;const a=(0,l.l)();return t?.items.length?"mobile"===a?(0,m.jsx)(B,{sidebar:t}):(0,m.jsx)(M,{sidebar:t}):null}function L(e){const{sidebar:t,toc:a,children:n,...l}=e,i=t&&t.items.length>0;return(0,m.jsx)(r.A,{...l,children:(0,m.jsx)("div",{className:"container margin-vert--lg",children:(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)(I,{sidebar:t}),(0,m.jsx)("main",{className:(0,s.A)("col",{"col--7":i,"col--9 col--offset-1":!i}),children:n}),a&&(0,m.jsx)("div",{className:"col col--2",children:a})]})})})}},53465:(e,t,a)=>{a.d(t,{W:()=>c});var n=a(96540),s=a(44586);const r=["zero","one","two","few","many","other"];function l(e){return r.filter((t=>e.includes(t)))}const i={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,s.default)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),i}}),[e])}function c(){const e=o();return{selectMessage:(t,a)=>function(e,t,a){const n=e.split("|");if(1===n.length)return n[0];n.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const s=a.select(t),r=a.pluralForms.indexOf(s);return n[Math.min(r,n.length-1)]}(a,t,e)}}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[3347],{44096:(e,t,a)=>{a.d(t,{in:()=>c,OU:()=>C,Ki:()=>_,kJ:()=>p,x:()=>i,e7:()=>u,J_:()=>x,Gx:()=>M});var n=a(96540),s=a(89532),r=a(36803),l=a(74848);function i(){const e=(0,r.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=n.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:s=!1}=e;const r=function(e){let{content:t,isBlogPostPage:a}=e;return(0,n.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:s});return(0,l.jsx)(o.Provider,{value:r,children:t})}function u(){const e=(0,n.useContext)(o);if(null===e)throw new s.dV("BlogPostProvider");return e}var m=a(86025),h=a(44586);const d=e=>new Date(e).toISOString();function g(e){const t=e.map(v);return{author:1===t.length?t[0]:t}}function f(e,t,a){return e?{image:j({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function p(e){const{siteConfig:t}=(0,h.default)(),{withBaseUrl:a}=(0,m.hH)(),{metadata:{blogDescription:n,blogTitle:s,permalink:r}}=e,l=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":l,mainEntityOfPage:l,headline:s,description:n,blogPost:e.items.map((e=>function(e,t,a){const{assets:n,frontMatter:s,metadata:r}=e,{date:l,title:i,description:o,lastUpdatedAt:c}=r,u=n.image??s.image,m=s.keywords??[],h=`${t.url}${r.permalink}`,p=c?d(c):void 0;return{"@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:i,name:i,description:o,datePublished:l,...p?{dateModified:p}:{},...g(r.authors),...f(u,a,i),...m?{keywords:m}:{}}}(e.content,t,a)))}}function x(){const e=i(),{assets:t,metadata:a}=u(),{siteConfig:n}=(0,h.default)(),{withBaseUrl:s}=(0,m.hH)(),{date:r,title:l,description:o,frontMatter:c,lastUpdatedAt:p}=a,x=t.image??c.image,v=c.keywords??[],j=p?d(p):void 0,b=`${n.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":b,mainEntityOfPage:b,url:b,headline:l,name:l,description:o,datePublished:r,...j?{dateModified:j}:{},...g(a.authors),...f(x,s,l),...v?{keywords:v}:{},isPartOf:{"@type":"Blog","@id":`${n.url}${e.blogBasePath}`,name:e.blogTitle}}}function v(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function j(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var b=a(56347),w=a(28774),N=a(31682),k=a(99169);function M(e){const{pathname:t}=(0,b.zy)();return(0,n.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.ys)(e.permalink,t))}(e,t)))),[e,t])}function _(e){const t=(0,N.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function C(e){let{items:t,ulClassName:a,liClassName:n,linkClassName:s,linkActiveClassName:r}=e;return(0,l.jsx)("ul",{className:a,children:t.map((e=>(0,l.jsx)("li",{className:n,children:(0,l.jsx)(w.default,{isNavLink:!0,to:e.permalink,className:s,activeClassName:r,children:e.title})},e.permalink)))})}},56913:(e,t,a)=>{a.d(t,{A:()=>j});a(96540);var n=a(34164),s=a(28774),r=a(74848);const l="githubSvg_Uu4N";const i="xSvg_y3PF";const o=function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,r.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,r.jsx)("path",{d:"M3.6 9h16.8"}),(0,r.jsx)("path",{d:"M3.6 15h16.8"}),(0,r.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,r.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})},c={authorSocials:"authorSocials_rSDt",authorSocialLink:"authorSocialLink_owbf",authorSocialIcon:"authorSocialIcon_XYv3"},u={twitter:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 209",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:(0,r.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 250",width:"1em",height:"1em",...e,className:(0,n.A)(e.className,l),xmlns:"http://www.w3.org/2000/svg",style:{"--dark":"#000","--light":"#fff"},preserveAspectRatio:"xMidYMid",children:(0,r.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,r.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,r.jsx)("svg",{width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,r.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",...e,className:(0,n.A)(e.className,i),style:{"--dark":"#000","--light":"#fff"},children:(0,r.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"}};function m(e){let{platform:t,link:a}=e;const{Icon:l,label:i}=u[m=t]??{Icon:o,label:m};var m;return(0,r.jsx)(s.default,{className:c.authorSocialLink,href:a,title:i,children:(0,r.jsx)(l,{className:(0,n.A)(c.authorSocialLink)})})}function h(e){let{author:t}=e;const a=Object.entries(t.socials??{});return(0,r.jsx)("div",{className:c.authorSocials,children:a.map((e=>{let[t,a]=e;return(0,r.jsx)(m,{platform:t,link:a},t)}))})}var d=a(51107);const g={authorImage:"authorImage_XqGP","author-as-h1":"author-as-h1_n9oJ","author-as-h2":"author-as-h2_gXvM",authorDetails:"authorDetails_lV9A",authorName:"authorName_yefp",authorTitle:"authorTitle_nd0D",authorBlogPostCount:"authorBlogPostCount_iiJ5"};function f(e){return e.href?(0,r.jsx)(s.default,{...e}):(0,r.jsx)(r.Fragment,{children:e.children})}function p(e){let{title:t}=e;return(0,r.jsx)("small",{className:g.authorTitle,title:t,children:t})}function x(e){let{name:t,as:a}=e;return a?(0,r.jsx)(d.default,{as:a,className:g.authorName,children:t}):(0,r.jsx)("span",{className:g.authorName,children:t})}function v(e){let{count:t}=e;return(0,r.jsx)("span",{className:(0,n.A)(g.authorBlogPostCount),children:t})}function j(e){let{as:t,author:a,className:s,count:l}=e;const{name:i,title:o,url:c,imageURL:u,email:m,page:d}=a,j=d?.permalink||c||m&&`mailto:${m}`||void 0;return(0,r.jsxs)("div",{className:(0,n.A)("avatar margin-bottom--sm",s,g[`author-as-${t}`]),children:[u&&(0,r.jsx)(f,{href:j,className:"avatar__photo-link",children:(0,r.jsx)("img",{className:(0,n.A)("avatar__photo",g.authorImage),src:u,alt:i})}),(i||o)&&(0,r.jsxs)("div",{className:(0,n.A)("avatar__intro",g.authorDetails),children:[(0,r.jsxs)("div",{className:"avatar__name",children:[i&&(0,r.jsx)(f,{href:j,children:(0,r.jsx)(x,{name:i,as:t})}),void 0!==l&&(0,r.jsx)(v,{count:l})]}),!!o&&(0,r.jsx)(p,{title:o}),(0,r.jsx)(h,{author:a})]})]})}},28027:(e,t,a)=>{a.d(t,{A:()=>L});var n=a(96540),s=a(34164),r=a(70680),l=a(24581),i=a(21312),o=a(44096),c=a(6342),u=a(51107),m=a(74848);function h(e){let{year:t,yearGroupHeadingClassName:a,children:n}=e;return(0,m.jsxs)("div",{role:"group",children:[(0,m.jsx)(u.default,{as:"h3",className:a,children:t}),n]})}function d(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:n}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,o.Ki)(t);return(0,m.jsx)(m.Fragment,{children:e.map((e=>{let[t,s]=e;return(0,m.jsx)(h,{year:t,yearGroupHeadingClassName:a,children:(0,m.jsx)(n,{items:s})},t)}))})}return(0,m.jsx)(n,{items:t})}const g=(0,n.memo)(d),f="sidebar_re4s",p="sidebarItemTitle_pO2u",x="sidebarItemList_Yudw",v="sidebarItem__DBe",j="sidebarItemLink_mo7H",b="sidebarItemLinkActive_I1ZP",w="yearGroupHeading_rMGB",N=e=>{let{items:t}=e;return(0,m.jsx)(o.OU,{items:t,ulClassName:(0,s.A)(x,"clean-list"),liClassName:v,linkClassName:j,linkActiveClassName:b})};function k(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,m.jsx)("aside",{className:"col col--3",children:(0,m.jsxs)("nav",{className:(0,s.A)(f,"thin-scrollbar"),"aria-label":(0,i.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,m.jsx)("div",{className:(0,s.A)(p,"margin-bottom--md"),children:t.title}),(0,m.jsx)(g,{items:a,ListComponent:N,yearGroupHeadingClassName:w})]})})}const M=(0,n.memo)(k);var _=a(75600);const C="yearGroupHeading_QT03",y=e=>{let{items:t}=e;return(0,m.jsx)(o.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function A(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,m.jsx)(g,{items:a,ListComponent:y,yearGroupHeadingClassName:C})}function P(e){return(0,m.jsx)(_.GX,{component:A,props:e})}const B=(0,n.memo)(P);function I(e){let{sidebar:t}=e;const a=(0,l.l)();return t?.items.length?"mobile"===a?(0,m.jsx)(B,{sidebar:t}):(0,m.jsx)(M,{sidebar:t}):null}function L(e){const{sidebar:t,toc:a,children:n,...l}=e,i=t&&t.items.length>0;return(0,m.jsx)(r.A,{...l,children:(0,m.jsx)("div",{className:"container margin-vert--lg",children:(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)(I,{sidebar:t}),(0,m.jsx)("main",{className:(0,s.A)("col",{"col--7":i,"col--9 col--offset-1":!i}),children:n}),a&&(0,m.jsx)("div",{className:"col col--2",children:a})]})})})}},53465:(e,t,a)=>{a.d(t,{W:()=>c});var n=a(96540),s=a(44586);const r=["zero","one","two","few","many","other"];function l(e){return r.filter((t=>e.includes(t)))}const i={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,s.default)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),i}}),[e])}function c(){const e=o();return{selectMessage:(t,a)=>function(e,t,a){const n=e.split("|");if(1===n.length)return n[0];n.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const s=a.select(t),r=a.pluralForms.indexOf(s);return n[Math.min(r,n.length-1)]}(a,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/9333.cba8a616.js b/assets/js/9333.cba8a616.js new file mode 100644 index 00000000..9290feb9 --- /dev/null +++ b/assets/js/9333.cba8a616.js @@ -0,0 +1,2 @@ +/*! For license information please see 9333.cba8a616.js.LICENSE.txt */ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9333],{78478:(e,t,i)=>{i.d(t,{A:()=>o});i(96540);var n=i(92303),s=i(74848);function o(e){let{children:t,fallback:i}=e;return(0,n.A)()?(0,s.jsx)(s.Fragment,{children:t?.()}):i??null}},41622:(e,t,i)=>{i.d(t,{A:()=>m});var n=i(96540),s=i(34164),o=i(63427),r=i(92303),a=i(41422);const l={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};var h=i(74848);function d(e){return!!e&&("SUMMARY"===e.tagName||d(e.parentElement))}function c(e,t){return!!e&&(e===t||c(e.parentElement,t))}function u(e){let{summary:t,children:i,...u}=e;(0,o.default)().collectAnchor(u.id);const g=(0,r.A)(),p=(0,n.useRef)(null),{collapsed:m,setCollapsed:f}=(0,a.u)({initialState:!u.open}),[_,v]=(0,n.useState)(u.open),b=n.isValidElement(t)?t:(0,h.jsx)("summary",{children:t??"Details"});return(0,h.jsxs)("details",{...u,ref:p,open:_,"data-collapsed":m,className:(0,s.A)(l.details,g&&l.isBrowser,u.className),onMouseDown:e=>{d(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;d(t)&&c(t,p.current)&&(e.preventDefault(),m?(f(!1),v(!0)):f(!0))},children:[b,(0,h.jsx)(a.N,{lazy:!1,collapsed:m,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{f(e),v(!e)},children:(0,h.jsx)("div",{className:l.collapsibleContent,children:i})})]})}const g={details:"details_b_Ee"},p="alert alert--info";function m(e){let{...t}=e;return(0,h.jsx)(u,{...t,className:(0,s.A)(p,g.details,t.className)})}},29482:(e,t,i)=>{i.r(t),i.d(t,{CancellationTokenSource:()=>kJ,Emitter:()=>LJ,KeyCode:()=>xJ,KeyMod:()=>DJ,MarkerSeverity:()=>TJ,MarkerTag:()=>RJ,Position:()=>NJ,Range:()=>IJ,Selection:()=>EJ,SelectionDirection:()=>MJ,Token:()=>PJ,Uri:()=>AJ,default:()=>YJ,editor:()=>OJ,languages:()=>FJ});var n={};i.r(n),i.d(n,{CancellationTokenSource:()=>kJ,Emitter:()=>LJ,KeyCode:()=>xJ,KeyMod:()=>DJ,MarkerSeverity:()=>TJ,MarkerTag:()=>RJ,Position:()=>NJ,Range:()=>IJ,Selection:()=>EJ,SelectionDirection:()=>MJ,Token:()=>PJ,Uri:()=>AJ,editor:()=>OJ,languages:()=>FJ});var s={};i.r(s),i.d(s,{CancellationTokenSource:()=>kJ,Emitter:()=>LJ,KeyCode:()=>xJ,KeyMod:()=>DJ,MarkerSeverity:()=>TJ,MarkerTag:()=>RJ,Position:()=>NJ,Range:()=>IJ,Selection:()=>EJ,SelectionDirection:()=>MJ,Token:()=>PJ,Uri:()=>AJ,default:()=>YJ,editor:()=>OJ,languages:()=>FJ});const o=window;class r{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new r}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}}function a(e,t,i){"string"==typeof t&&(t=e.matchMedia(t)),t.addEventListener("change",i)}const l=navigator.userAgent,h=l.indexOf("Firefox")>=0,d=l.indexOf("AppleWebKit")>=0,c=l.indexOf("Chrome")>=0,u=!c&&l.indexOf("Safari")>=0,g=!c&&!u&&d,p=(l.indexOf("Electron/"),l.indexOf("Android")>=0);let m=!1;if("function"==typeof o.matchMedia){const e=o.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=o.matchMedia("(display-mode: fullscreen)");m=e.matches,a(o,e,(({matches:e})=>{m&&t.matches||(m=e)}))}var f=i(63339);f.ib||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator.clipboard.writeText,f.ib||navigator&&navigator.clipboard&&navigator.clipboard.readText,f.ib||m||navigator.keyboard,"ontouchstart"in o||navigator.maxTouchPoints;const _=o.PointerEvent&&("ontouchstart"in o||navigator.maxTouchPoints>0);var v=i(68387),b=i(94327);function C(e,t){if("number"==typeof e){if(0===e)return null;const i=(65535&e)>>>0,n=(4294901760&e)>>>16;return new S(0!==n?[w(i,t),w(n,t)]:[w(i,t)])}{const i=[];for(let n=0;n1?i-1:0),s=1;s/gm),we=z(/\${[\w\W]*}/gm),ye=z(/^data-[\-\w.\u00B7-\uFFFF]/),Se=z(/^aria-[\-\w]+$/),ke=z(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Le=z(/^(?:\w+script|data):/i),xe=z(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),De=z(/^html$/i);var Ne=Object.freeze({__proto__:null,MUSTACHE_EXPR:be,ERB_EXPR:Ce,TMPLIT_EXPR:we,DATA_ATTR:ye,ARIA_ATTR:Se,IS_ALLOWED_URI:ke,IS_SCRIPT_OR_DATA:Le,ATTR_WHITESPACE:xe,DOCTYPE_NAME:De});const Ie=()=>"undefined"==typeof window?null:window;var Ee=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ie();const i=t=>e(t);if(i.version="3.0.5",i.removed=[],!t||!t.document||9!==t.document.nodeType)return i.isSupported=!1,i;const n=t.document,s=n.currentScript;let{document:o}=t;const{DocumentFragment:r,HTMLTemplateElement:a,Node:l,Element:h,NodeFilter:d,NamedNodeMap:c=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:u,DOMParser:g,trustedTypes:p}=t,m=h.prototype,f=ae(m,"cloneNode"),_=ae(m,"nextSibling"),v=ae(m,"childNodes"),b=ae(m,"parentNode");if("function"==typeof a){const e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let C,w="";const{implementation:y,createNodeIterator:S,createDocumentFragment:k,getElementsByTagName:L}=o,{importNode:x}=n;let D={};i.isSupported="function"==typeof O&&"function"==typeof b&&y&&void 0!==y.createHTMLDocument;const{MUSTACHE_EXPR:N,ERB_EXPR:I,TMPLIT_EXPR:E,DATA_ATTR:M,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:R,ATTR_WHITESPACE:A}=Ne;let{IS_ALLOWED_URI:P}=Ne,F=null;const W=oe({},[...le,...he,...de,...ue,...pe]);let B=null;const H=oe({},[...me,...fe,..._e,...ve]);let z=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),U=null,K=null,j=!0,ne=!0,se=!1,be=!0,Ce=!1,we=!1,ye=!1,Se=!1,Le=!1,xe=!1,Ee=!1,Me=!0,Te=!1,Re=!0,Ae=!1,Pe={},Oe=null;const Fe=oe({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let We=null;const Be=oe({},["audio","video","img","source","image","track"]);let He=null;const Ve=oe({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ze="http://www.w3.org/1998/Math/MathML",Ue="http://www.w3.org/2000/svg",Ke="http://www.w3.org/1999/xhtml";let je=Ke,$e=!1,qe=null;const Ge=oe({},[ze,Ue,Ke],Y);let Qe;const Ye=["application/xhtml+xml","text/html"];let Ze,Xe=null;const Je=o.createElement("form"),et=function(e){return e instanceof RegExp||e instanceof Function},tt=function(e){if(!Xe||Xe!==e){if(e&&"object"==typeof e||(e={}),e=re(e),Qe=Qe=-1===Ye.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,Ze="application/xhtml+xml"===Qe?Y:Q,F="ALLOWED_TAGS"in e?oe({},e.ALLOWED_TAGS,Ze):W,B="ALLOWED_ATTR"in e?oe({},e.ALLOWED_ATTR,Ze):H,qe="ALLOWED_NAMESPACES"in e?oe({},e.ALLOWED_NAMESPACES,Y):Ge,He="ADD_URI_SAFE_ATTR"in e?oe(re(Ve),e.ADD_URI_SAFE_ATTR,Ze):Ve,We="ADD_DATA_URI_TAGS"in e?oe(re(Be),e.ADD_DATA_URI_TAGS,Ze):Be,Oe="FORBID_CONTENTS"in e?oe({},e.FORBID_CONTENTS,Ze):Fe,U="FORBID_TAGS"in e?oe({},e.FORBID_TAGS,Ze):{},K="FORBID_ATTR"in e?oe({},e.FORBID_ATTR,Ze):{},Pe="USE_PROFILES"in e&&e.USE_PROFILES,j=!1!==e.ALLOW_ARIA_ATTR,ne=!1!==e.ALLOW_DATA_ATTR,se=e.ALLOW_UNKNOWN_PROTOCOLS||!1,be=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Ce=e.SAFE_FOR_TEMPLATES||!1,we=e.WHOLE_DOCUMENT||!1,Le=e.RETURN_DOM||!1,xe=e.RETURN_DOM_FRAGMENT||!1,Ee=e.RETURN_TRUSTED_TYPE||!1,Se=e.FORCE_BODY||!1,Me=!1!==e.SANITIZE_DOM,Te=e.SANITIZE_NAMED_PROPS||!1,Re=!1!==e.KEEP_CONTENT,Ae=e.IN_PLACE||!1,P=e.ALLOWED_URI_REGEXP||ke,je=e.NAMESPACE||Ke,z=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&et(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(z.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&et(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(z.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(z.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ce&&(ne=!1),xe&&(Le=!0),Pe&&(F=oe({},[...pe]),B=[],!0===Pe.html&&(oe(F,le),oe(B,me)),!0===Pe.svg&&(oe(F,he),oe(B,fe),oe(B,ve)),!0===Pe.svgFilters&&(oe(F,de),oe(B,fe),oe(B,ve)),!0===Pe.mathMl&&(oe(F,ue),oe(B,_e),oe(B,ve))),e.ADD_TAGS&&(F===W&&(F=re(F)),oe(F,e.ADD_TAGS,Ze)),e.ADD_ATTR&&(B===H&&(B=re(B)),oe(B,e.ADD_ATTR,Ze)),e.ADD_URI_SAFE_ATTR&&oe(He,e.ADD_URI_SAFE_ATTR,Ze),e.FORBID_CONTENTS&&(Oe===Fe&&(Oe=re(Oe)),oe(Oe,e.FORBID_CONTENTS,Ze)),Re&&(F["#text"]=!0),we&&oe(F,["html","head","body"]),F.table&&(oe(F,["tbody"]),delete U.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw ie('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw ie('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=e.TRUSTED_TYPES_POLICY,w=C.createHTML("")}else void 0===C&&(C=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let i=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(i=t.getAttribute(n));const s="dompurify"+(i?"#"+i:"");try{return e.createPolicy(s,{createHTML:e=>e,createScriptURL:e=>e})}catch(o){return console.warn("TrustedTypes policy "+s+" could not be created."),null}}(p,s)),null!==C&&"string"==typeof w&&(w=C.createHTML(""));V&&V(e),Xe=e}},it=oe({},["mi","mo","mn","ms","mtext"]),nt=oe({},["foreignobject","desc","title","annotation-xml"]),st=oe({},["title","style","font","a","script"]),ot=oe({},he);oe(ot,de),oe(ot,ce);const rt=oe({},ue);oe(rt,ge);const at=function(e){G(i.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},lt=function(e,t){try{G(i.removed,{attribute:t.getAttributeNode(e),from:t})}catch(n){G(i.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!B[e])if(Le||xe)try{at(t)}catch(n){}else try{t.setAttribute(e,"")}catch(n){}},ht=function(e){let t,i;if(Se)e=""+e;else{const t=Z(e,/^[\r\n\t ]+/);i=t&&t[0]}"application/xhtml+xml"===Qe&&je===Ke&&(e=''+e+"");const n=C?C.createHTML(e):e;if(je===Ke)try{t=(new g).parseFromString(n,Qe)}catch(r){}if(!t||!t.documentElement){t=y.createDocument(je,"template",null);try{t.documentElement.innerHTML=$e?w:n}catch(r){}}const s=t.body||t.documentElement;return e&&i&&s.insertBefore(o.createTextNode(i),s.childNodes[0]||null),je===Ke?L.call(t,we?"html":"body")[0]:we?t.documentElement:s},dt=function(e){return S.call(e.ownerDocument||e,e,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT,null,!1)},ct=function(e){return"object"==typeof l?e instanceof l:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ut=function(e,t,n){D[e]&&$(D[e],(e=>{e.call(i,t,n,Xe)}))},gt=function(e){let t;if(ut("beforeSanitizeElements",e,null),(n=e)instanceof u&&("string"!=typeof n.nodeName||"string"!=typeof n.textContent||"function"!=typeof n.removeChild||!(n.attributes instanceof c)||"function"!=typeof n.removeAttribute||"function"!=typeof n.setAttribute||"string"!=typeof n.namespaceURI||"function"!=typeof n.insertBefore||"function"!=typeof n.hasChildNodes))return at(e),!0;var n;const s=Ze(e.nodeName);if(ut("uponSanitizeElement",e,{tagName:s,allowedTags:F}),e.hasChildNodes()&&!ct(e.firstElementChild)&&(!ct(e.content)||!ct(e.content.firstElementChild))&&te(/<[/\w]/g,e.innerHTML)&&te(/<[/\w]/g,e.textContent))return at(e),!0;if(!F[s]||U[s]){if(!U[s]&&mt(s)){if(z.tagNameCheck instanceof RegExp&&te(z.tagNameCheck,s))return!1;if(z.tagNameCheck instanceof Function&&z.tagNameCheck(s))return!1}if(Re&&!Oe[s]){const t=b(e)||e.parentNode,i=v(e)||e.childNodes;if(i&&t){for(let n=i.length-1;n>=0;--n)t.insertBefore(f(i[n],!0),_(e))}}return at(e),!0}return e instanceof h&&!function(e){let t=b(e);t&&t.tagName||(t={namespaceURI:je,tagName:"template"});const i=Q(e.tagName),n=Q(t.tagName);return!!qe[e.namespaceURI]&&(e.namespaceURI===Ue?t.namespaceURI===Ke?"svg"===i:t.namespaceURI===ze?"svg"===i&&("annotation-xml"===n||it[n]):Boolean(ot[i]):e.namespaceURI===ze?t.namespaceURI===Ke?"math"===i:t.namespaceURI===Ue?"math"===i&&nt[n]:Boolean(rt[i]):e.namespaceURI===Ke?!(t.namespaceURI===Ue&&!nt[n])&&!(t.namespaceURI===ze&&!it[n])&&!rt[i]&&(st[i]||!ot[i]):!("application/xhtml+xml"!==Qe||!qe[e.namespaceURI]))}(e)?(at(e),!0):"noscript"!==s&&"noembed"!==s&&"noframes"!==s||!te(/<\/no(script|embed|frames)/i,e.innerHTML)?(Ce&&3===e.nodeType&&(t=e.textContent,t=X(t,N," "),t=X(t,I," "),t=X(t,E," "),e.textContent!==t&&(G(i.removed,{element:e.cloneNode()}),e.textContent=t)),ut("afterSanitizeElements",e,null),!1):(at(e),!0)},pt=function(e,t,i){if(Me&&("id"===t||"name"===t)&&(i in o||i in Je))return!1;if(ne&&!K[t]&&te(M,t));else if(j&&te(T,t));else if(!B[t]||K[t]){if(!(mt(e)&&(z.tagNameCheck instanceof RegExp&&te(z.tagNameCheck,e)||z.tagNameCheck instanceof Function&&z.tagNameCheck(e))&&(z.attributeNameCheck instanceof RegExp&&te(z.attributeNameCheck,t)||z.attributeNameCheck instanceof Function&&z.attributeNameCheck(t))||"is"===t&&z.allowCustomizedBuiltInElements&&(z.tagNameCheck instanceof RegExp&&te(z.tagNameCheck,i)||z.tagNameCheck instanceof Function&&z.tagNameCheck(i))))return!1}else if(He[t]);else if(te(P,X(i,A,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==J(i,"data:")||!We[e]){if(se&&!te(R,X(i,A,"")));else if(i)return!1}else;return!0},mt=function(e){return e.indexOf("-")>0},ft=function(e){let t,n,s,o;ut("beforeSanitizeAttributes",e,null);const{attributes:r}=e;if(!r)return;const a={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:B};for(o=r.length;o--;){t=r[o];const{name:h,namespaceURI:d}=t;if(n="value"===h?t.value:ee(t.value),s=Ze(h),a.attrName=s,a.attrValue=n,a.keepAttr=!0,a.forceKeepAttr=void 0,ut("uponSanitizeAttribute",e,a),n=a.attrValue,a.forceKeepAttr)continue;if(lt(h,e),!a.keepAttr)continue;if(!be&&te(/\/>/i,n)){lt(h,e);continue}Ce&&(n=X(n,N," "),n=X(n,I," "),n=X(n,E," "));const c=Ze(e.nodeName);if(pt(c,s,n)){if(!Te||"id"!==s&&"name"!==s||(lt(h,e),n="user-content-"+n),C&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(d);else switch(p.getAttributeType(c,s)){case"TrustedHTML":n=C.createHTML(n);break;case"TrustedScriptURL":n=C.createScriptURL(n)}try{d?e.setAttributeNS(d,h,n):e.setAttribute(h,n),q(i.removed)}catch(l){}}}ut("afterSanitizeAttributes",e,null)},_t=function e(t){let i;const n=dt(t);for(ut("beforeSanitizeShadowDOM",t,null);i=n.nextNode();)ut("uponSanitizeShadowNode",i,null),gt(i)||(i.content instanceof r&&e(i.content),ft(i));ut("afterSanitizeShadowDOM",t,null)};return i.sanitize=function(e){let t,s,o,a,h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if($e=!e,$e&&(e="\x3c!--\x3e"),"string"!=typeof e&&!ct(e)){if("function"!=typeof e.toString)throw ie("toString is not a function");if("string"!=typeof(e=e.toString()))throw ie("dirty is not a string, aborting")}if(!i.isSupported)return e;if(ye||tt(h),i.removed=[],"string"==typeof e&&(Ae=!1),Ae){if(e.nodeName){const t=Ze(e.nodeName);if(!F[t]||U[t])throw ie("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof l)t=ht("\x3c!----\x3e"),s=t.ownerDocument.importNode(e,!0),1===s.nodeType&&"BODY"===s.nodeName||"HTML"===s.nodeName?t=s:t.appendChild(s);else{if(!Le&&!Ce&&!we&&-1===e.indexOf("<"))return C&&Ee?C.createHTML(e):e;if(t=ht(e),!t)return Le?null:Ee?w:""}t&&Se&&at(t.firstChild);const d=dt(Ae?e:t);for(;o=d.nextNode();)gt(o)||(o.content instanceof r&&_t(o.content),ft(o));if(Ae)return e;if(Le){if(xe)for(a=k.call(t.ownerDocument);t.firstChild;)a.appendChild(t.firstChild);else a=t;return(B.shadowroot||B.shadowrootmode)&&(a=x.call(n,a,!0)),a}let c=we?t.outerHTML:t.innerHTML;return we&&F["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&te(De,t.ownerDocument.doctype.name)&&(c="\n"+c),Ce&&(c=X(c,N," "),c=X(c,I," "),c=X(c,E," ")),C&&Ee?C.createHTML(c):c},i.setConfig=function(e){tt(e),ye=!0},i.clearConfig=function(){Xe=null,ye=!1},i.isValidAttribute=function(e,t,i){Xe||tt({});const n=Ze(e),s=Ze(t);return pt(n,s,i)},i.addHook=function(e,t){"function"==typeof t&&(D[e]=D[e]||[],G(D[e],t))},i.removeHook=function(e){if(D[e])return q(D[e])},i.removeHooks=function(e){D[e]&&(D[e]=[])},i.removeAllHooks=function(){D={}},i}();Ee.version,Ee.isSupported;const Me=Ee.sanitize,Te=(Ee.setConfig,Ee.clearConfig,Ee.isValidAttribute,Ee.addHook),Re=Ee.removeHook;Ee.removeHooks,Ee.removeAllHooks;var Ae=i(10998),Pe=i(13072),Oe=i(22344);const{registerWindow:Fe,getWindow:We,getDocument:Be,getWindows:He,getWindowsCount:Ve,getWindowId:ze,getWindowById:Ue,hasWindow:Ke,onDidRegisterWindow:je,onWillUnregisterWindow:$e,onDidUnregisterWindow:qe}=function(){const e=new Map;!function(e,t){const i=e;"number"!=typeof i.vscodeWindowId&&Object.defineProperty(i,"vscodeWindowId",{get:()=>t})}(o,1);const t={window:o,disposables:new Ae.Cm};e.set(o.vscodeWindowId,t);const i=new P.vl,n=new P.vl,s=new P.vl;return{onDidRegisterWindow:i.event,onWillUnregisterWindow:s.event,onDidUnregisterWindow:n.event,registerWindow(t){if(e.has(t.vscodeWindowId))return Ae.jG.None;const o=new Ae.Cm,r={window:t,disposables:o.add(new Ae.Cm)};return e.set(t.vscodeWindowId,r),o.add((0,Ae.s)((()=>{e.delete(t.vscodeWindowId),n.fire(t)}))),o.add(Ye(t,Ut.BEFORE_UNLOAD,(()=>{s.fire(t)}))),i.fire(r),o},getWindows:()=>e.values(),getWindowsCount:()=>e.size,getWindowId:e=>e.vscodeWindowId,hasWindow:t=>e.has(t),getWindowById:function(i,n){return("number"==typeof i?e.get(i):void 0)??(n?t:void 0)},getWindow(e){const t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;const i=e;return i?.view?i.view.window:o},getDocument:e=>We(e).document}}();function Ge(e){for(;e.firstChild;)e.firstChild.remove()}class Qe{constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i,this._options=n||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function Ye(e,t,i,n){return new Qe(e,t,i,n)}function Ze(e,t){return function(i){return t(new T(e,i))}}const Xe=function(e,t,i,n){let s=i;return"click"===t||"mousedown"===t||"contextmenu"===t?s=Ze(We(e),i):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(s=function(e){return function(t){return e(new N(t))}}(i)),Ye(e,t,s,n)},Je=function(e,t,i){return function(e,t,i){return Ye(e,f.un&&_?Ut.POINTER_DOWN:Ut.MOUSE_DOWN,t,i)}(e,Ze(We(e),t),i)};function et(e,t,i){return(0,A.b7)(e,t,i)}class tt extends A.A0{constructor(e,t){super(e,t)}}let it,nt;class st extends A.vb{constructor(e){super(),this.defaultTarget=e&&We(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}}class ot{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){(0,b.dz)(e)}}static sort(e,t){return t.priority-e.priority}}function rt(e){return We(e).getComputedStyle(e,null)}function at(e,t){const i=We(e),n=i.document;if(e!==n.body)return new ht(e.clientWidth,e.clientHeight);if(f.un&&i?.visualViewport)return new ht(i.visualViewport.width,i.visualViewport.height);if(i?.innerWidth&&i.innerHeight)return new ht(i.innerWidth,i.innerHeight);if(n.body&&n.body.clientWidth&&n.body.clientHeight)return new ht(n.body.clientWidth,n.body.clientHeight);if(n.documentElement&&n.documentElement.clientWidth&&n.documentElement.clientHeight)return new ht(n.documentElement.clientWidth,n.documentElement.clientHeight);if(t)return at(t);throw new Error("Unable to figure out browser width and height")}!function(){const e=new Map,t=new Map,i=new Map,n=new Map;nt=(s,o,r=0)=>{const a=ze(s),l=new ot(o,r);let h=e.get(a);return h||(h=[],e.set(a,h)),h.push(l),i.get(a)||(i.set(a,!0),s.requestAnimationFrame((()=>(s=>{i.set(s,!1);const o=e.get(s)??[];for(t.set(s,o),e.set(s,[]),n.set(s,!0);o.length>0;)o.sort(ot.sort),o.shift().execute();n.set(s,!1)})(a)))),l},it=(e,i,s)=>{const o=ze(e);if(n.get(o)){const e=new ot(i,s);let n=t.get(o);return n||(n=[],t.set(o,n)),n.push(e),e}return nt(e,i,s)}}();class lt{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const n=rt(e),s=n?n.getPropertyValue(t):"0";return lt.convertToPixels(e,s)}static getBorderLeftWidth(e){return lt.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return lt.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return lt.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return lt.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return lt.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return lt.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return lt.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return lt.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return lt.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return lt.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return lt.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return lt.getDimension(e,"margin-bottom","marginBottom")}}class ht{static{this.None=new ht(0,0)}constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new ht(e,t):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(e){return e instanceof ht?e:new ht(e.width,e.height)}static equals(e,t){return e===t||!(!e||!t)&&(e.width===t.width&&e.height===t.height)}}function dt(e){let t=e.offsetParent,i=e.offsetTop,n=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==e.ownerDocument.body&&e!==e.ownerDocument.documentElement;){i-=e.scrollTop;const s=bt(e)?null:rt(e);s&&(n-="rtl"!==s.direction?e.scrollLeft:-e.scrollLeft),e===t&&(n+=lt.getBorderLeftWidth(e),i+=lt.getBorderTopWidth(e),i+=e.offsetTop,n+=e.offsetLeft,t=e.offsetParent)}return{left:n,top:i}}function ct(e){const t=e.getBoundingClientRect(),i=We(e);return{left:t.left+i.scrollX,top:t.top+i.scrollY,width:t.width,height:t.height}}function ut(e){let t=e,i=1;do{const e=rt(t).zoom;null!=e&&"1"!==e&&(i*=e),t=t.parentElement}while(null!==t&&t!==t.ownerDocument.documentElement);return i}function gt(e){const t=lt.getMarginLeft(e)+lt.getMarginRight(e);return e.offsetWidth+t}function pt(e){const t=lt.getBorderLeftWidth(e)+lt.getBorderRightWidth(e),i=lt.getPaddingLeft(e)+lt.getPaddingRight(e);return e.offsetWidth-t-i}function mt(e){const t=lt.getBorderTopWidth(e)+lt.getBorderBottomWidth(e),i=lt.getPaddingTop(e)+lt.getPaddingBottom(e);return e.offsetHeight-t-i}function ft(e){const t=lt.getMarginTop(e)+lt.getMarginBottom(e);return e.offsetHeight+t}function _t(e,t){return Boolean(t?.contains(e))}function vt(e,t,i){return!!function(e,t,i){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(i)if("string"==typeof i){if(e.classList.contains(i))return null}else if(e===i)return null;e=e.parentNode}return null}(e,t,i)}function bt(e){return e&&!!e.host&&!!e.mode}function Ct(e){return!!wt(e)}function wt(e){for(;e.parentNode;){if(e===e.ownerDocument?.body)return null;e=e.parentNode}return bt(e)?e:null}function yt(){let e=Lt().activeElement;for(;e?.shadowRoot;)e=e.shadowRoot.activeElement;return e}function St(e){return yt()===e}function kt(e){return _t(yt(),e)}function Lt(){if(Ve()<=1)return o.document;return Array.from(He()).map((({window:e})=>e.document)).find((e=>e.hasFocus()))??o.document}function xt(){const e=Lt();return e.defaultView?.window??o}const Dt=new Map;function Nt(){return new It}class It{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=Et(o.document.head,(t=>t.innerText=e)))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function Et(e=o.document.head,t,i){const n=document.createElement("style");if(n.type="text/css",n.media="screen",t?.(n),e.appendChild(n),i&&i.add((0,Ae.s)((()=>n.remove()))),e===o.document.head){const e=new Set;Dt.set(n,e);for(const{window:t,disposables:s}of He()){if(t===o)continue;const r=s.add(Mt(n,e,t));i?.add(r)}}return n}function Mt(e,t,i){const n=new Ae.Cm,s=e.cloneNode(!0);i.document.head.appendChild(s),n.add((0,Ae.s)((()=>s.remove())));for(const o of Pt(e))s.sheet?.insertRule(o.cssText,s.sheet?.cssRules.length);return n.add(Tt.observe(e,n,{childList:!0})((()=>{s.textContent=e.textContent}))),t.add(s),n.add((0,Ae.s)((()=>t.delete(s)))),n}const Tt=new class{constructor(){this.mutationObservers=new Map}observe(e,t,i){let n=this.mutationObservers.get(e);n||(n=new Map,this.mutationObservers.set(e,n));const s=(0,Oe.tW)(i);let o=n.get(s);if(o)o.users+=1;else{const r=new P.vl,a=new MutationObserver((e=>r.fire(e)));a.observe(e,i);const l=o={users:1,observer:a,onDidMutate:r.event};t.add((0,Ae.s)((()=>{l.users-=1,0===l.users&&(r.dispose(),a.disconnect(),n?.delete(s),0===n?.size&&this.mutationObservers.delete(e))}))),n.set(s,o)}return o.onDidMutate}};let Rt=null;function At(){return Rt||(Rt=Et()),Rt}function Pt(e){return e?.sheet?.rules?e.sheet.rules:e?.sheet?.cssRules?e.sheet.cssRules:[]}function Ot(e,t,i=At()){if(i&&t){i.sheet?.insertRule(`${e} {${t}}`,0);for(const n of Dt.get(i)??[])Ot(e,t,n)}}function Ft(e,t=At()){if(!t)return;const i=Pt(t),n=[];for(let s=0;s=0;s--)t.sheet?.deleteRule(n[s]);for(const s of Dt.get(t)??[])Ft(e,s)}function Wt(e){return"string"==typeof e.selectorText}function Bt(e){return e instanceof HTMLElement||e instanceof We(e).HTMLElement}function Ht(e){return e instanceof HTMLAnchorElement||e instanceof We(e).HTMLAnchorElement}function Vt(e){return e instanceof MouseEvent||e instanceof We(e).MouseEvent}function zt(e){return e instanceof KeyboardEvent||e instanceof We(e).KeyboardEvent}const Ut={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:d?"webkitAnimationStart":"animationstart",ANIMATION_END:d?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:d?"webkitAnimationIteration":"animationiteration"};function Kt(e){const t=e;return!(!t||"function"!=typeof t.preventDefault||"function"!=typeof t.stopPropagation)}const jt=(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e);class $t extends Ae.jG{static hasFocusWithin(e){if(Bt(e)){const t=wt(e);return _t(t?t.activeElement:e.ownerDocument.activeElement,e)}{const t=e;return _t(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new P.vl),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new P.vl),this.onDidBlur=this._onDidBlur.event;let t=$t.hasFocusWithin(e),i=!1;const n=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},s=()=>{t&&(i=!0,(Bt(e)?We(e):e).setTimeout((()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{$t.hasFocusWithin(e)!==t&&(t?s():n())},this._register(Ye(e,Ut.FOCUS,n,!0)),this._register(Ye(e,Ut.BLUR,s,!0)),Bt(e)&&(this._register(Ye(e,Ut.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(Ye(e,Ut.FOCUS_OUT,(()=>this._refreshStateHandler()))))}}function qt(e){return new $t(e)}function Gt(e,...t){if(e.append(...t),1===t.length&&"string"!=typeof t[0])return t[0]}function Qt(e,t){return e.insertBefore(t,e.firstChild),t}function Yt(e,...t){e.innerText="",Gt(e,...t)}const Zt=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Xt;function Jt(e,t,i,...n){const s=Zt.exec(t);if(!s)throw new Error("Bad use of emmet");const o=s[1]||"div";let r;return r=e!==Xt.HTML?document.createElementNS(e,o):document.createElement(o),s[3]&&(r.id=s[3]),s[4]&&(r.className=s[4].replace(/\./g," ").trim()),i&&Object.entries(i).forEach((([e,t])=>{void 0!==t&&(/^on\w+$/.test(e)?r[e]=t:"selected"===e?t&&r.setAttribute(e,"true"):r.setAttribute(e,t))})),r.append(...n),r}function ei(e,t,...i){return Jt(Xt.HTML,e,t,...i)}function ti(...e){for(const t of e)t.style.display="",t.removeAttribute("aria-hidden")}function ii(...e){for(const t of e)t.style.display="none",t.setAttribute("aria-hidden","true")}function ni(e,t){const i=e.devicePixelRatio*t;return Math.max(1,Math.floor(i))/e.devicePixelRatio}function si(e){o.open(e,"_blank","noopener")}function oi(e){return e?`url('${Pe.zl.uriToBrowserUri(e).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function ri(e){return`'${e.replace(/'/g,"%27")}'`}function ai(e,t){if(void 0!==e){const i=e.match(/^\s*var\((.+)\)$/);if(i){const e=i[1].split(",",2);return 2===e.length&&(t=ai(e[1].trim(),t)),`var(${e[0]}, ${t})`}return e}return t}!function(e){e.HTML="http://www.w3.org/1999/xhtml",e.SVG="http://www.w3.org/2000/svg"}(Xt||(Xt={})),ei.SVG=function(e,t,...i){return Jt(Xt.SVG,e,t,...i)},Pe.Ez.setPreferredWebSchema(/^https:/.test(o.location.href)?"https":"http");const li=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class hi extends P.vl{constructor(){super(),this._subscriptions=new Ae.Cm,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(P.Jh.runAndSubscribe(je,(({window:e,disposables:t})=>this.registerListeners(e,t)),{window:o,disposables:this._subscriptions}))}registerListeners(e,t){t.add(Ye(e,"keydown",(e=>{if(e.defaultPrevented)return;const t=new N(e);if(6!==t.keyCode||!e.repeat){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===t.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}}),!0)),t.add(Ye(e,"keyup",(e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))}),!0)),t.add(Ye(e.document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(Ye(e.document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(Ye(e.document.body,"mousemove",(e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),t.add(Ye(e,"blur",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return hi.instance||(hi.instance=new hi),hi.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class di extends Ae.jG{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(Ye(this.element,Ut.DRAG_START,(e=>{this.callbacks.onDragStart?.(e)}))),this.callbacks.onDrag&&this._register(Ye(this.element,Ut.DRAG,(e=>{this.callbacks.onDrag?.(e)}))),this._register(Ye(this.element,Ut.DRAG_ENTER,(e=>{this.counter++,this.dragStartTime=e.timeStamp,this.callbacks.onDragEnter?.(e)}))),this._register(Ye(this.element,Ut.DRAG_OVER,(e=>{e.preventDefault(),this.callbacks.onDragOver?.(e,e.timeStamp-this.dragStartTime)}))),this._register(Ye(this.element,Ut.DRAG_LEAVE,(e=>{this.counter--,0===this.counter&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(e))}))),this._register(Ye(this.element,Ut.DRAG_END,(e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(e)}))),this._register(Ye(this.element,Ut.DROP,(e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(e)})))}}const ci=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function ui(e,...t){let i,n;Array.isArray(t[0])?(i={},n=t[0]):(i=t[0]||{},n=t[1]);const s=ci.exec(e);if(!s||!s.groups)throw new Error("Bad use of h");const o=s.groups.tag||"div",r=document.createElement(o);s.groups.id&&(r.id=s.groups.id);const a=[];if(s.groups.class)for(const h of s.groups.class.split("."))""!==h&&a.push(h);if(void 0!==i.className)for(const h of i.className.split("."))""!==h&&a.push(h);a.length>0&&(r.className=a.join(" "));const l={};if(s.groups.name&&(l[s.groups.name]=r),n)for(const h of n)Bt(h)?r.appendChild(h):"string"==typeof h?r.append(h):"root"in h&&(Object.assign(l,h),r.appendChild(h.root));for(const[h,d]of Object.entries(i))if("className"!==h)if("style"===h)for(const[e,t]of Object.entries(d))r.style.setProperty(pi(e),"number"==typeof t?t+"px":""+t);else"tabIndex"===h?r.tabIndex=d:r.setAttribute(pi(h),d.toString());return l.root=r,l}function gi(e,...t){let i,n;Array.isArray(t[0])?(i={},n=t[0]):(i=t[0]||{},n=t[1]);const s=ci.exec(e);if(!s||!s.groups)throw new Error("Bad use of h");const o=s.groups.tag||"div",r=document.createElementNS("http://www.w3.org/2000/svg",o);s.groups.id&&(r.id=s.groups.id);const a=[];if(s.groups.class)for(const h of s.groups.class.split("."))""!==h&&a.push(h);if(void 0!==i.className)for(const h of i.className.split("."))""!==h&&a.push(h);a.length>0&&(r.className=a.join(" "));const l={};if(s.groups.name&&(l[s.groups.name]=r),n)for(const h of n)Bt(h)?r.appendChild(h):"string"==typeof h?r.append(h):"root"in h&&(Object.assign(l,h),r.appendChild(h.root));for(const[h,d]of Object.entries(i))if("className"!==h)if("style"===h)for(const[e,t]of Object.entries(d))r.style.setProperty(pi(e),"number"==typeof t?t+"px":""+t);else"tabIndex"===h?r.tabIndex=d:r.setAttribute(pi(h),d.toString());return l.root=r,l}function pi(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}let mi,fi,_i,vi,bi;function Ci(e){mi&&(fi.textContent!==e?(Ge(_i),yi(fi,e)):(Ge(fi),yi(_i,e)))}function wi(e){mi&&(vi.textContent!==e?(Ge(bi),yi(vi,e)):(Ge(vi),yi(bi,e)))}function yi(e,t){Ge(e),t.length>2e4&&(t=t.substr(0,2e4)),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}var Si=i(27992);function ki(e){const t=function(e){if(Li=0,Di(e,Ni,4352),Li>0)return xi.subarray(0,Li);if(Di(e,Ii,4449),Li>0)return xi.subarray(0,Li);if(Di(e,Ei,4520),Li>0)return xi.subarray(0,Li);if(Di(e,Mi,12593),Li)return xi.subarray(0,Li);if(e>=44032&&e<=55203){const t=e-44032,i=t%588,n=Math.floor(t/588),s=Math.floor(i/28),o=i%28-1;if(n=0&&(o0)return xi.subarray(0,Li)}return}(e);if(t&&t.length>0)return new Uint32Array(t)}let Li=0;const xi=new Uint32Array(10);function Di(e,t,i){e>=i&&e>8&&(xi[Li++]=e>>8&255);e>>16&&(xi[Li++]=e>>16&255)}(t[e-i])}const Ni=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),Ii=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),Ei=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]),Mi=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]);var Ti=i(16844);function Ri(...e){return function(t,i){for(let n=0,s=e.length;n0?[{start:0,end:t.length}]:[]:null}function Oi(e,t){const i=t.toLowerCase().indexOf(e.toLowerCase());return-1===i?null:[{start:i,end:i+e.length}]}function Fi(e,t){return Wi(e.toLowerCase(),t.toLowerCase(),0,0)}function Wi(e,t,i,n){if(i===e.length)return[];if(n===t.length)return null;if(e[i]===t[n]){let s=null;return(s=Wi(e,t,i+1,n+1))?Qi({start:n,end:n+1},s):null}return Wi(e,t,i,n+1)}function Bi(e){return 97<=e&&e<=122}function Hi(e){return 65<=e&&e<=90}function Vi(e){return 48<=e&&e<=57}function zi(e){return 32===e||9===e||10===e||13===e}const Ui=new Set;function Ki(e){return zi(e)||Ui.has(e)}function ji(e,t){return e===t||Ki(e)&&Ki(t)}"()[]{}<>`'\"-/;:,.?!".split("").forEach((e=>Ui.add(e.charCodeAt(0))));const $i=new Map;function qi(e){if($i.has(e))return $i.get(e);let t;const i=ki(e);return i&&(t=i),$i.set(e,t),t}function Gi(e){return Bi(e)||Hi(e)||Vi(e)}function Qi(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function Yi(e,t){for(let i=t;i0&&!Gi(e.charCodeAt(i-1)))return i}return e.length}function Zi(e,t,i,n){if(i===e.length)return[];if(n===t.length)return null;if(e[i]!==t[n].toLowerCase())return null;{let s=null,o=n+1;for(s=Zi(e,t,i+1,n+1);!s&&(o=Yi(t,o))60&&(t=t.substring(0,60));const i=function(e){let t=0,i=0,n=0,s=0,o=0;for(let r=0;r.2&&t<.8&&n>.6&&s<.2}(i)){if(!function(e){const{upperPercent:t,lowerPercent:i}=e;return 0===i&&t>.6}(i))return null;t=t.toLowerCase()}let n=null,s=0;for(e=e.toLowerCase();s0&&Ki(e.charCodeAt(i-1)))return i;return e.length}const nn=Ri(Ai,Xi,Oi),sn=Ri(Ai,Xi,Fi),on=new Si.qK(1e4);function rn(e,t,i=!1){if("string"!=typeof e||"string"!=typeof t)return null;let n=on.get(e);n||(n=new RegExp(Ti.Bm(e),"i"),on.set(e,n));const s=n.exec(t);return s?[{start:s.index,end:s.index+s[0].length}]:i?sn(e,t):nn(e,t)}function an(e,t){const i=Ln(e,e.toLowerCase(),0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return i?hn(i):null}function ln(e,t,i,n,s,o){const r=Math.min(13,e.length);for(;i1;n--){const s=e[n]+i,o=t[t.length-1];o&&o.end===s?o.end=s+1:t.push({start:s,end:s+1})}return t}const dn=128;function cn(){const e=[],t=[];for(let i=0;i<=dn;i++)t[i]=0;for(let i=0;i<=dn;i++)e.push(t.slice(0));return e}function un(e){const t=[];for(let i=0;i<=e;i++)t[i]=0;return t}const gn=un(2*dn),pn=un(2*dn),mn=cn(),fn=cn(),_n=cn(),vn=!1;function bn(e,t,i,n,s){function o(e,t,i=" "){for(;e.lengtho(e,3))).join("|")}\n`;for(let a=0;a<=i;a++)r+=0===a?" |":`${t[a-1]}|`,r+=e[a].slice(0,s+1).map((e=>o(e.toString(),3))).join("|")+"\n";return r}function Cn(e,t){if(t<0||t>=e.length)return!1;const i=e.codePointAt(t);switch(i){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!!Ti.Ss(i)}}function wn(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function yn(e,t,i){return t[e]!==i[e]}var Sn;!function(e){e.Default=[-100,0],e.isDefault=function(e){return!e||2===e.length&&-100===e[0]&&0===e[1]}}(Sn||(Sn={}));class kn{static{this.default={boostFullMatch:!0,firstMatchCanBeWeak:!1}}constructor(e,t){this.firstMatchCanBeWeak=e,this.boostFullMatch=t}}function Ln(e,t,i,n,s,o,r=kn.default){const a=e.length>dn?dn:e.length,l=n.length>dn?dn:n.length;if(i>=a||o>=l||a-i>l-o)return;if(!function(e,t,i,n,s,o,r=!1){for(;t=i&&a>=n;)s[r]===o[a]&&(pn[r]=a,r--),a--}(a,l,i,o,t,s);let h=1,d=1,c=i,u=o;const g=[!1];for(h=1,c=i;cr,v=_?fn[h][d-1]+(mn[h][d-1]>0?-5:0):0,b=u>r+1&&mn[h][d-1]>0,C=b?fn[h][d-2]+(mn[h][d-2]>0?-5:0):0;if(b&&(!_||C>=v)&&(!m||C>=f))fn[h][d]=C,_n[h][d]=3,mn[h][d]=0;else if(_&&(!m||v>=f))fn[h][d]=v,_n[h][d]=2,mn[h][d]=0;else{if(!m)throw new Error("not possible");fn[h][d]=f,_n[h][d]=1,mn[h][d]=mn[h-1][d-1]+1}}}if(vn&&function(e,t,i,n){e=e.substr(t),i=i.substr(n),console.log(bn(fn,e,e.length,i,i.length)),console.log(bn(_n,e,e.length,i,i.length)),console.log(bn(mn,e,e.length,i,i.length))}(e,i,n,o),!g[0]&&!r.firstMatchCanBeWeak)return;h--,d--;const p=[fn[h][d],o];let m=0,f=0;for(;h>=1;){let e=d;do{const t=_n[h][e];if(3===t)e-=2;else{if(2!==t)break;e-=1}}while(e>=1);m>1&&t[i+h-1]===s[o+d-1]&&!yn(e+o-1,n,s)&&m+1>mn[h][e]&&(e=d),e===d?m++:m=1,f||(f=e),h--,d=e-1,p.push(d)}l-o===a&&r.boostFullMatch&&(p[0]+=2);const _=f-a;return p[0]-=_,p}function xn(e,t,i,n,s,o,r,a,l,h,d){if(t[i]!==o[r])return Number.MIN_SAFE_INTEGER;let c=1,u=!1;return r===i-n?c=e[i]===s[r]?7:5:!yn(r,s,o)||0!==r&&yn(r-1,s,o)?!Cn(o,r)||0!==r&&Cn(o,r-1)?(Cn(o,r-1)||wn(o,r-1))&&(c=5,u=!0):c=5:(c=e[i]===s[r]?7:5,u=!0),c>1&&i===n&&(d[0]=!0),u||(u=yn(r,s,o)||Cn(o,r-1)||wn(o,r-1)),i===n?r>l&&(c-=u?3:5):c+=h?u?2:0:u?0:1,r+1===a&&(c-=u?3:5),c}function Dn(e,t,i,n,s,o,r){return function(e,t,i,n,s,o,r,a){let l=Ln(e,t,i,n,s,o,a);if(l&&!r)return l;if(e.length>=3){const t=Math.min(7,e.length-1);for(let r=i+1;rl[0])&&(l=e))}}}return l}(e,t,i,n,s,o,!0,r)}function Nn(e,t){if(t+1>=e.length)return;const i=e[t],n=e[t+1];return i!==n?e.slice(0,t)+n+i+e.slice(t+2):void 0}var In=i(58881);const En=new RegExp(`\\$\\(${In.L.iconNameExpression}(?:${In.L.iconModifierExpression})?\\)`,"g"),Mn=new RegExp(`(\\\\)?${En.source}`,"g");const Tn=new RegExp(`\\\\${En.source}`,"g");const Rn=new RegExp(`(\\s)?(\\\\)?${En.source}(\\s)?`,"g");function An(e){return-1===e.indexOf("$(")?e:e.replace(Rn,((e,t,i,n)=>i?e:t||n||""))}const Pn=new RegExp(`\\$\\(${In.L.iconNameCharacter}+\\)`,"g");function On(e){Pn.lastIndex=0;let t="";const i=[];let n=0;for(;;){const s=Pn.lastIndex,o=Pn.exec(e),r=e.substring(s,o?.index);if(r.length>0){t+=r;for(let e=0;et?e:`\\${e}`))):e).replace(/([ \t]+)/g,((e,t)=>" ".repeat(t.length))).replace(/\>/gm,"\\>").replace(/\n/g,1===t?"\\\n":"\n\n"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+=`\n${function(e,t){const i=e.match(/^`+/gm)?.reduce(((e,t)=>e.length>t.length?e:t)).length??0,n=i>=3?i+1:3;return[`${"`".repeat(n)}${t}`,e,`${"`".repeat(n)}`].join("\n")}(t,e)}\n`,this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=` "${this._escape(this._escape(i,'"'),")")}"`),this.value+=")",this}_escape(e,t){const i=new RegExp((0,Ti.bm)(t),"g");return e.replace(i,((t,i)=>"\\"!==e.charAt(i-1)?`\\${t}`:t))}}function Vn(e){return zn(e)?!e.value:!Array.isArray(e)||e.every(Vn)}function zn(e){return e instanceof Hn||!(!e||"object"!=typeof e)&&!("string"!=typeof e.value||"boolean"!=typeof e.isTrusted&&"object"!=typeof e.isTrusted&&void 0!==e.isTrusted||"boolean"!=typeof e.supportThemeIcons&&void 0!==e.supportThemeIcons)}function Un(e){return e.replace(/"/g,""")}function Kn(e){return e?e.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1"):e}var jn=i(87289),$n=i(82399);const qn=(0,$n.u1)("codeEditorService");var Gn=i(15365),Qn=i(64830),Yn=i(37042);class Zn extends Ae.jG{constructor(e,t="",i="",n=!0,s){super(),this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=i,this._enabled=n,this._actionCallback=s}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}}class Xn extends Ae.jG{constructor(){super(...arguments),this._onWillRun=this._register(new P.vl),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new P.vl),this.onDidRun=this._onDidRun.event}async run(e,t){if(!e.enabled)return;let i;this._onWillRun.fire({action:e});try{await this.runAction(e,t)}catch(n){i=n}this._onDidRun.fire({action:e,error:i})}async runAction(e,t){await e.run(t)}}class Jn{constructor(){this.id=Jn.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const i of e)i.length&&(t=t.length?[...t,new Jn,...i]:i);return t}static{this.ID="vs.actions.separator"}async run(){}}class es{get actions(){return this._actions}constructor(e,t,i,n){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=n,this._actions=i}async run(){}}class ts extends Zn{static{this.ID="vs.actions.empty"}constructor(){super(ts.ID,jn.kg("submenu.empty","(empty)"),void 0,!1)}}function is(e){return{id:e.id,label:e.label,tooltip:e.tooltip??e.label,class:e.class,enabled:e.enabled??!0,checked:e.checked,run:async(...t)=>e.run(...t)}}var ns=i(85525),ss=i(17954),os=i(79359);const rs=(0,$n.u1)("commandService"),as=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new P.vl,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(e,t){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t})}if(e.metadata&&Array.isArray(e.metadata.args)){const t=[];for(const n of e.metadata.args)t.push(n.constraint);const i=e.handler;e.handler=function(e,...n){return(0,os.jx)(n,t),i(e,...n)}}const{id:i}=e;let n=this._commands.get(i);n||(n=new ns.w,this._commands.set(i,n));const s=n.unshift(e),o=(0,Ae.s)((()=>{s();const e=this._commands.get(i);e?.isEmpty()&&this._commands.delete(i)}));return this._onDidRegisterCommand.fire(i),o}registerCommandAlias(e,t){return as.registerCommand(e,((e,...i)=>e.get(rs).executeCommand(t,...i)))}getCommand(e){const t=this._commands.get(e);if(t&&!t.isEmpty())return ss.f.first(t)}getCommands(){const e=new Map;for(const t of this._commands.keys()){const i=this.getCommand(t);i&&e.set(t,i)}return e}};as.registerCommand("noop",(()=>{}));var ls=i(17474),hs=i(67167);class ds{constructor(){this._coreKeybindings=new ns.w,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(e){if(1===f.OS){if(e&&e.win)return e.win}else if(2===f.OS){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e}registerKeybindingRule(e){const t=ds.bindToCurrentPlatform(e),i=new Ae.Cm;if(t&&t.primary){const n=C(t.primary,f.OS);n&&i.add(this._registerDefaultKeybinding(n,e.id,e.args,e.weight,0,e.when))}if(t&&Array.isArray(t.secondary))for(let n=0,s=t.secondary.length;n{r(),this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(us)),this._cachedMergedKeybindings.slice(0)}}const cs=new ds;function us(e,t){if(e.weight1!==t.weight1)return e.weight1-t.weight1;if(e.command&&t.command){if(e.commandt.command)return 1}return e.weight2-t.weight2}hs.O.add("platform.keybindingsRegistry",cs);var gs,ps=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ms=function(e,t){return function(i,n){t(i,n,e)}};function fs(e){return void 0!==e.command}class _s{static{this._instances=new Map}static{this.CommandPalette=new _s("CommandPalette")}static{this.DebugBreakpointsContext=new _s("DebugBreakpointsContext")}static{this.DebugCallStackContext=new _s("DebugCallStackContext")}static{this.DebugConsoleContext=new _s("DebugConsoleContext")}static{this.DebugVariablesContext=new _s("DebugVariablesContext")}static{this.NotebookVariablesContext=new _s("NotebookVariablesContext")}static{this.DebugHoverContext=new _s("DebugHoverContext")}static{this.DebugWatchContext=new _s("DebugWatchContext")}static{this.DebugToolBar=new _s("DebugToolBar")}static{this.DebugToolBarStop=new _s("DebugToolBarStop")}static{this.DebugCallStackToolbar=new _s("DebugCallStackToolbar")}static{this.DebugCreateConfiguration=new _s("DebugCreateConfiguration")}static{this.EditorContext=new _s("EditorContext")}static{this.SimpleEditorContext=new _s("SimpleEditorContext")}static{this.EditorContent=new _s("EditorContent")}static{this.EditorLineNumberContext=new _s("EditorLineNumberContext")}static{this.EditorContextCopy=new _s("EditorContextCopy")}static{this.EditorContextPeek=new _s("EditorContextPeek")}static{this.EditorContextShare=new _s("EditorContextShare")}static{this.EditorTitle=new _s("EditorTitle")}static{this.EditorTitleRun=new _s("EditorTitleRun")}static{this.EditorTitleContext=new _s("EditorTitleContext")}static{this.EditorTitleContextShare=new _s("EditorTitleContextShare")}static{this.EmptyEditorGroup=new _s("EmptyEditorGroup")}static{this.EmptyEditorGroupContext=new _s("EmptyEditorGroupContext")}static{this.EditorTabsBarContext=new _s("EditorTabsBarContext")}static{this.EditorTabsBarShowTabsSubmenu=new _s("EditorTabsBarShowTabsSubmenu")}static{this.EditorTabsBarShowTabsZenModeSubmenu=new _s("EditorTabsBarShowTabsZenModeSubmenu")}static{this.EditorActionsPositionSubmenu=new _s("EditorActionsPositionSubmenu")}static{this.ExplorerContext=new _s("ExplorerContext")}static{this.ExplorerContextShare=new _s("ExplorerContextShare")}static{this.ExtensionContext=new _s("ExtensionContext")}static{this.GlobalActivity=new _s("GlobalActivity")}static{this.CommandCenter=new _s("CommandCenter")}static{this.CommandCenterCenter=new _s("CommandCenterCenter")}static{this.LayoutControlMenuSubmenu=new _s("LayoutControlMenuSubmenu")}static{this.LayoutControlMenu=new _s("LayoutControlMenu")}static{this.MenubarMainMenu=new _s("MenubarMainMenu")}static{this.MenubarAppearanceMenu=new _s("MenubarAppearanceMenu")}static{this.MenubarDebugMenu=new _s("MenubarDebugMenu")}static{this.MenubarEditMenu=new _s("MenubarEditMenu")}static{this.MenubarCopy=new _s("MenubarCopy")}static{this.MenubarFileMenu=new _s("MenubarFileMenu")}static{this.MenubarGoMenu=new _s("MenubarGoMenu")}static{this.MenubarHelpMenu=new _s("MenubarHelpMenu")}static{this.MenubarLayoutMenu=new _s("MenubarLayoutMenu")}static{this.MenubarNewBreakpointMenu=new _s("MenubarNewBreakpointMenu")}static{this.PanelAlignmentMenu=new _s("PanelAlignmentMenu")}static{this.PanelPositionMenu=new _s("PanelPositionMenu")}static{this.ActivityBarPositionMenu=new _s("ActivityBarPositionMenu")}static{this.MenubarPreferencesMenu=new _s("MenubarPreferencesMenu")}static{this.MenubarRecentMenu=new _s("MenubarRecentMenu")}static{this.MenubarSelectionMenu=new _s("MenubarSelectionMenu")}static{this.MenubarShare=new _s("MenubarShare")}static{this.MenubarSwitchEditorMenu=new _s("MenubarSwitchEditorMenu")}static{this.MenubarSwitchGroupMenu=new _s("MenubarSwitchGroupMenu")}static{this.MenubarTerminalMenu=new _s("MenubarTerminalMenu")}static{this.MenubarViewMenu=new _s("MenubarViewMenu")}static{this.MenubarHomeMenu=new _s("MenubarHomeMenu")}static{this.OpenEditorsContext=new _s("OpenEditorsContext")}static{this.OpenEditorsContextShare=new _s("OpenEditorsContextShare")}static{this.ProblemsPanelContext=new _s("ProblemsPanelContext")}static{this.SCMInputBox=new _s("SCMInputBox")}static{this.SCMChangesSeparator=new _s("SCMChangesSeparator")}static{this.SCMChangesContext=new _s("SCMChangesContext")}static{this.SCMIncomingChanges=new _s("SCMIncomingChanges")}static{this.SCMIncomingChangesContext=new _s("SCMIncomingChangesContext")}static{this.SCMIncomingChangesSetting=new _s("SCMIncomingChangesSetting")}static{this.SCMOutgoingChanges=new _s("SCMOutgoingChanges")}static{this.SCMOutgoingChangesContext=new _s("SCMOutgoingChangesContext")}static{this.SCMOutgoingChangesSetting=new _s("SCMOutgoingChangesSetting")}static{this.SCMIncomingChangesAllChangesContext=new _s("SCMIncomingChangesAllChangesContext")}static{this.SCMIncomingChangesHistoryItemContext=new _s("SCMIncomingChangesHistoryItemContext")}static{this.SCMOutgoingChangesAllChangesContext=new _s("SCMOutgoingChangesAllChangesContext")}static{this.SCMOutgoingChangesHistoryItemContext=new _s("SCMOutgoingChangesHistoryItemContext")}static{this.SCMChangeContext=new _s("SCMChangeContext")}static{this.SCMResourceContext=new _s("SCMResourceContext")}static{this.SCMResourceContextShare=new _s("SCMResourceContextShare")}static{this.SCMResourceFolderContext=new _s("SCMResourceFolderContext")}static{this.SCMResourceGroupContext=new _s("SCMResourceGroupContext")}static{this.SCMSourceControl=new _s("SCMSourceControl")}static{this.SCMSourceControlInline=new _s("SCMSourceControlInline")}static{this.SCMSourceControlTitle=new _s("SCMSourceControlTitle")}static{this.SCMHistoryTitle=new _s("SCMHistoryTitle")}static{this.SCMTitle=new _s("SCMTitle")}static{this.SearchContext=new _s("SearchContext")}static{this.SearchActionMenu=new _s("SearchActionContext")}static{this.StatusBarWindowIndicatorMenu=new _s("StatusBarWindowIndicatorMenu")}static{this.StatusBarRemoteIndicatorMenu=new _s("StatusBarRemoteIndicatorMenu")}static{this.StickyScrollContext=new _s("StickyScrollContext")}static{this.TestItem=new _s("TestItem")}static{this.TestItemGutter=new _s("TestItemGutter")}static{this.TestProfilesContext=new _s("TestProfilesContext")}static{this.TestMessageContext=new _s("TestMessageContext")}static{this.TestMessageContent=new _s("TestMessageContent")}static{this.TestPeekElement=new _s("TestPeekElement")}static{this.TestPeekTitle=new _s("TestPeekTitle")}static{this.TestCallStack=new _s("TestCallStack")}static{this.TouchBarContext=new _s("TouchBarContext")}static{this.TitleBarContext=new _s("TitleBarContext")}static{this.TitleBarTitleContext=new _s("TitleBarTitleContext")}static{this.TunnelContext=new _s("TunnelContext")}static{this.TunnelPrivacy=new _s("TunnelPrivacy")}static{this.TunnelProtocol=new _s("TunnelProtocol")}static{this.TunnelPortInline=new _s("TunnelInline")}static{this.TunnelTitle=new _s("TunnelTitle")}static{this.TunnelLocalAddressInline=new _s("TunnelLocalAddressInline")}static{this.TunnelOriginInline=new _s("TunnelOriginInline")}static{this.ViewItemContext=new _s("ViewItemContext")}static{this.ViewContainerTitle=new _s("ViewContainerTitle")}static{this.ViewContainerTitleContext=new _s("ViewContainerTitleContext")}static{this.ViewTitle=new _s("ViewTitle")}static{this.ViewTitleContext=new _s("ViewTitleContext")}static{this.CommentEditorActions=new _s("CommentEditorActions")}static{this.CommentThreadTitle=new _s("CommentThreadTitle")}static{this.CommentThreadActions=new _s("CommentThreadActions")}static{this.CommentThreadAdditionalActions=new _s("CommentThreadAdditionalActions")}static{this.CommentThreadTitleContext=new _s("CommentThreadTitleContext")}static{this.CommentThreadCommentContext=new _s("CommentThreadCommentContext")}static{this.CommentTitle=new _s("CommentTitle")}static{this.CommentActions=new _s("CommentActions")}static{this.CommentsViewThreadActions=new _s("CommentsViewThreadActions")}static{this.InteractiveToolbar=new _s("InteractiveToolbar")}static{this.InteractiveCellTitle=new _s("InteractiveCellTitle")}static{this.InteractiveCellDelete=new _s("InteractiveCellDelete")}static{this.InteractiveCellExecute=new _s("InteractiveCellExecute")}static{this.InteractiveInputExecute=new _s("InteractiveInputExecute")}static{this.InteractiveInputConfig=new _s("InteractiveInputConfig")}static{this.ReplInputExecute=new _s("ReplInputExecute")}static{this.IssueReporter=new _s("IssueReporter")}static{this.NotebookToolbar=new _s("NotebookToolbar")}static{this.NotebookStickyScrollContext=new _s("NotebookStickyScrollContext")}static{this.NotebookCellTitle=new _s("NotebookCellTitle")}static{this.NotebookCellDelete=new _s("NotebookCellDelete")}static{this.NotebookCellInsert=new _s("NotebookCellInsert")}static{this.NotebookCellBetween=new _s("NotebookCellBetween")}static{this.NotebookCellListTop=new _s("NotebookCellTop")}static{this.NotebookCellExecute=new _s("NotebookCellExecute")}static{this.NotebookCellExecuteGoTo=new _s("NotebookCellExecuteGoTo")}static{this.NotebookCellExecutePrimary=new _s("NotebookCellExecutePrimary")}static{this.NotebookDiffCellInputTitle=new _s("NotebookDiffCellInputTitle")}static{this.NotebookDiffCellMetadataTitle=new _s("NotebookDiffCellMetadataTitle")}static{this.NotebookDiffCellOutputsTitle=new _s("NotebookDiffCellOutputsTitle")}static{this.NotebookOutputToolbar=new _s("NotebookOutputToolbar")}static{this.NotebookOutlineFilter=new _s("NotebookOutlineFilter")}static{this.NotebookOutlineActionMenu=new _s("NotebookOutlineActionMenu")}static{this.NotebookEditorLayoutConfigure=new _s("NotebookEditorLayoutConfigure")}static{this.NotebookKernelSource=new _s("NotebookKernelSource")}static{this.BulkEditTitle=new _s("BulkEditTitle")}static{this.BulkEditContext=new _s("BulkEditContext")}static{this.TimelineItemContext=new _s("TimelineItemContext")}static{this.TimelineTitle=new _s("TimelineTitle")}static{this.TimelineTitleContext=new _s("TimelineTitleContext")}static{this.TimelineFilterSubMenu=new _s("TimelineFilterSubMenu")}static{this.AccountsContext=new _s("AccountsContext")}static{this.SidebarTitle=new _s("SidebarTitle")}static{this.PanelTitle=new _s("PanelTitle")}static{this.AuxiliaryBarTitle=new _s("AuxiliaryBarTitle")}static{this.AuxiliaryBarHeader=new _s("AuxiliaryBarHeader")}static{this.TerminalInstanceContext=new _s("TerminalInstanceContext")}static{this.TerminalEditorInstanceContext=new _s("TerminalEditorInstanceContext")}static{this.TerminalNewDropdownContext=new _s("TerminalNewDropdownContext")}static{this.TerminalTabContext=new _s("TerminalTabContext")}static{this.TerminalTabEmptyAreaContext=new _s("TerminalTabEmptyAreaContext")}static{this.TerminalStickyScrollContext=new _s("TerminalStickyScrollContext")}static{this.WebviewContext=new _s("WebviewContext")}static{this.InlineCompletionsActions=new _s("InlineCompletionsActions")}static{this.InlineEditsActions=new _s("InlineEditsActions")}static{this.InlineEditActions=new _s("InlineEditActions")}static{this.NewFile=new _s("NewFile")}static{this.MergeInput1Toolbar=new _s("MergeToolbar1Toolbar")}static{this.MergeInput2Toolbar=new _s("MergeToolbar2Toolbar")}static{this.MergeBaseToolbar=new _s("MergeBaseToolbar")}static{this.MergeInputResultToolbar=new _s("MergeToolbarResultToolbar")}static{this.InlineSuggestionToolbar=new _s("InlineSuggestionToolbar")}static{this.InlineEditToolbar=new _s("InlineEditToolbar")}static{this.ChatContext=new _s("ChatContext")}static{this.ChatCodeBlock=new _s("ChatCodeblock")}static{this.ChatCompareBlock=new _s("ChatCompareBlock")}static{this.ChatMessageTitle=new _s("ChatMessageTitle")}static{this.ChatExecute=new _s("ChatExecute")}static{this.ChatExecuteSecondary=new _s("ChatExecuteSecondary")}static{this.ChatInputSide=new _s("ChatInputSide")}static{this.AccessibleView=new _s("AccessibleView")}static{this.MultiDiffEditorFileToolbar=new _s("MultiDiffEditorFileToolbar")}static{this.DiffEditorHunkToolbar=new _s("DiffEditorHunkToolbar")}static{this.DiffEditorSelectionToolbar=new _s("DiffEditorSelectionToolbar")}constructor(e){if(_s._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);_s._instances.set(e,this),this.id=e}}const vs=(0,$n.u1)("menuService");class bs{static{this._all=new Map}static for(e){let t=this._all.get(e);return t||(t=new bs(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof bs&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}const Cs=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new P.QT({merge:bs.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(e){return this._commands.set(e.id,e),this._onDidChangeMenu.fire(bs.for(_s.CommandPalette)),(0,Ae.s)((()=>{this._commands.delete(e.id)&&this._onDidChangeMenu.fire(bs.for(_s.CommandPalette))}))}getCommand(e){return this._commands.get(e)}getCommands(){const e=new Map;return this._commands.forEach(((t,i)=>e.set(i,t))),e}appendMenuItem(e,t){let i=this._menuItems.get(e);i||(i=new ns.w,this._menuItems.set(e,i));const n=i.push(t);return this._onDidChangeMenu.fire(bs.for(e)),(0,Ae.s)((()=>{n(),this._onDidChangeMenu.fire(bs.for(e))}))}appendMenuItems(e){const t=new Ae.Cm;for(const{id:i,item:n}of e)t.add(this.appendMenuItem(i,n));return t}getMenuItems(e){let t;return t=this._menuItems.has(e)?[...this._menuItems.get(e)]:[],e===_s.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(e){const t=new Set;for(const i of e)fs(i)&&(t.add(i.command.id),i.alt&&t.add(i.alt.id));this._commands.forEach(((i,n)=>{t.has(n)||e.push({command:i})}))}};class ws extends es{constructor(e,t,i){super(`submenuitem.${e.submenu.id}`,"string"==typeof e.title?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let ys=gs=class{static label(e,t){return t?.renderShortTitle&&e.shortTitle?"string"==typeof e.shortTitle?e.shortTitle:e.shortTitle.value:"string"==typeof e.title?e.title:e.title.value}constructor(e,t,i,n,s,o,r){let a;if(this.hideActions=n,this.menuKeybinding=s,this._commandService=r,this.id=e.id,this.label=gs.label(e,i),this.tooltip=("string"==typeof e.tooltip?e.tooltip:e.tooltip?.value)??"",this.enabled=!e.precondition||o.contextMatchesRules(e.precondition),this.checked=void 0,e.toggled){const t=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=o.contextMatchesRules(t.condition),this.checked&&t.tooltip&&(this.tooltip="string"==typeof t.tooltip?t.tooltip:t.tooltip.value),this.checked&&In.L.isThemeIcon(t.icon)&&(a=t.icon),this.checked&&t.title&&(this.label="string"==typeof t.title?t.title:t.title.value)}a||(a=In.L.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new gs(t,void 0,i,n,void 0,o,r):void 0,this._options=i,this.class=a&&In.L.asClassName(a)}run(...e){let t=[];return this._options?.arg&&(t=[...t,this._options.arg]),this._options?.shouldForwardArgs&&(t=[...t,...e]),this._commandService.executeCommand(this.id,...t)}};ys=gs=ps([ms(5,ls.fN),ms(6,rs)],ys);class Ss{constructor(e){this.desc=e}}function ks(e){const t=[],i=new e,{f1:n,menu:s,keybinding:o,...r}=i.desc;if(as.getCommand(r.id))throw new Error(`Cannot register two commands with the same id: ${r.id}`);if(t.push(as.registerCommand({id:r.id,handler:(e,...t)=>i.run(e,...t),metadata:r.metadata})),Array.isArray(s))for(const a of s)t.push(Cs.appendMenuItem(a.id,{command:{...r,precondition:null===a.precondition?void 0:r.precondition},...a}));else s&&t.push(Cs.appendMenuItem(s.id,{command:{...r,precondition:null===s.precondition?void 0:r.precondition},...s}));if(n&&(t.push(Cs.appendMenuItem(_s.CommandPalette,{command:r,when:r.precondition})),t.push(Cs.addCommand(r))),Array.isArray(o))for(const a of o)t.push(cs.registerKeybindingRule({...a,id:r.id,when:r.precondition?ls.M$.and(r.precondition,a.when):a.when}));else o&&t.push(cs.registerKeybindingRule({...o,id:r.id,when:r.precondition?ls.M$.and(r.precondition,o.when):o.when}));return{dispose(){(0,Ae.AS)(t)}}}const Ls=(0,$n.u1)("telemetryService");var xs,Ds=i(46441);class Ns{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let e=t.kbExpr;this.precondition&&(e=e?ls.M$.and(e,this.precondition):this.precondition);const i={id:this.id,weight:t.weight,args:t.args,when:e,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};cs.registerKeybindingRule(i)}}as.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){Cs.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class Is extends Ns{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,n){return this._implementations.push({priority:e,name:t,implementation:i,when:n}),this._implementations.sort(((e,t)=>t.priority-e.priority)),{dispose:()=>{for(let e=0;e{if(e.get(ls.fN).contextMatchesRules(i??void 0))return n(e,o,t)}))}runCommand(e,t){return Ms.runEditorCommand(e,t,this.precondition,((e,t,i)=>this.runEditorCommand(e,t,i)))}}class Ts extends Ms{static convertOptions(e){let t;function i(t){return t.menuId||(t.menuId=_s.EditorContext),t.title||(t.title=e.label),t.when=ls.M$.and(e.precondition,t.when),t}return t=Array.isArray(e.menuOpts)?e.menuOpts:e.menuOpts?[e.menuOpts]:[],Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(Ts.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(Ls).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class Rs extends Ts{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort(((e,t)=>t[0]-e[0])),{dispose:()=>{for(let e=0;e{const i=e.get(ls.fN),s=e.get(Ds.rr);if(i.contextMatchesRules(this.desc.precondition??void 0))return this.runEditorCommand(e,n,...t);s.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,this.desc.precondition?.serialize())}))}}function Ps(e,t){as.registerCommand(e,(function(e,...i){const n=e.get($n._Y),[s,o]=i;(0,os.j)(Bn.r.isUri(s)),(0,os.j)(Gn.y.isIPosition(o));const r=e.get(Qn.IModelService).getModel(s);if(r){const e=Gn.y.lift(o);return n.invokeFunction(t,r,e,...i.slice(2))}return e.get(Yn.ITextModelService).createModelReference(s).then((e=>new Promise(((s,r)=>{try{s(n.invokeFunction(t,e.object.textEditorModel,Gn.y.lift(o),i.slice(2)))}catch(a){r(a)}})).finally((()=>{e.dispose()}))))}))}function Os(e){return Hs.INSTANCE.registerEditorCommand(e),e}function Fs(e){const t=new e;return Hs.INSTANCE.registerEditorAction(t),t}function Ws(e){return Hs.INSTANCE.registerEditorAction(e),e}function Bs(e,t,i){Hs.INSTANCE.registerEditorContribution(e,t,i)}!function(e){e.getEditorCommand=function(e){return Hs.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return Hs.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return Hs.INSTANCE.getEditorContributions()},e.getSomeEditorContributions=function(e){return Hs.INSTANCE.getEditorContributions().filter((t=>e.indexOf(t.id)>=0))},e.getDiffEditorContributions=function(){return Hs.INSTANCE.getDiffEditorContributions()}}(xs||(xs={}));class Hs{static{this.INSTANCE=new Hs}constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}function Vs(e){return e.register(),e}hs.O.add("editor.contributions",Hs.INSTANCE);const zs=Vs(new Is({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:_s.MenubarEditMenu,group:"1_do",title:jn.kg({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:_s.CommandPalette,group:"",title:jn.kg("undo","Undo"),order:1}]}));Vs(new Es(zs,{id:"default:undo",precondition:void 0}));const Us=Vs(new Is({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:_s.MenubarEditMenu,group:"1_do",title:jn.kg({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:_s.CommandPalette,group:"",title:jn.kg("redo","Redo"),order:1}]}));Vs(new Es(Us,{id:"default:redo",precondition:void 0}));const Ks=Vs(new Is({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:_s.MenubarSelectionMenu,group:"1_basic",title:jn.kg({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:_s.CommandPalette,group:"",title:jn.kg("selectAll","Select All"),order:1}]}));var js,$s=i(93702);!function(e){e.editorSimpleInput=new ls.N1("editorSimpleInput",!1,!0),e.editorTextFocus=new ls.N1("editorTextFocus",!1,jn.kg("editorTextFocus","Whether the editor text has focus (cursor is blinking)")),e.focus=new ls.N1("editorFocus",!1,jn.kg("editorFocus","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)")),e.textInputFocus=new ls.N1("textInputFocus",!1,jn.kg("textInputFocus","Whether an editor or a rich text input has focus (cursor is blinking)")),e.readOnly=new ls.N1("editorReadonly",!1,jn.kg("editorReadonly","Whether the editor is read-only")),e.inDiffEditor=new ls.N1("inDiffEditor",!1,jn.kg("inDiffEditor","Whether the context is a diff editor")),e.isEmbeddedDiffEditor=new ls.N1("isEmbeddedDiffEditor",!1,jn.kg("isEmbeddedDiffEditor","Whether the context is an embedded diff editor")),e.inMultiDiffEditor=new ls.N1("inMultiDiffEditor",!1,jn.kg("inMultiDiffEditor","Whether the context is a multi diff editor")),e.multiDiffEditorAllCollapsed=new ls.N1("multiDiffEditorAllCollapsed",void 0,jn.kg("multiDiffEditorAllCollapsed","Whether all files in multi diff editor are collapsed")),e.hasChanges=new ls.N1("diffEditorHasChanges",!1,jn.kg("diffEditorHasChanges","Whether the diff editor has changes")),e.comparingMovedCode=new ls.N1("comparingMovedCode",!1,jn.kg("comparingMovedCode","Whether a moved code block is selected for comparison")),e.accessibleDiffViewerVisible=new ls.N1("accessibleDiffViewerVisible",!1,jn.kg("accessibleDiffViewerVisible","Whether the accessible diff viewer is visible")),e.diffEditorRenderSideBySideInlineBreakpointReached=new ls.N1("diffEditorRenderSideBySideInlineBreakpointReached",!1,jn.kg("diffEditorRenderSideBySideInlineBreakpointReached","Whether the diff editor render side by side inline breakpoint is reached")),e.diffEditorInlineMode=new ls.N1("diffEditorInlineMode",!1,jn.kg("diffEditorInlineMode","Whether inline mode is active")),e.diffEditorOriginalWritable=new ls.N1("diffEditorOriginalWritable",!1,jn.kg("diffEditorOriginalWritable","Whether modified is writable in the diff editor")),e.diffEditorModifiedWritable=new ls.N1("diffEditorModifiedWritable",!1,jn.kg("diffEditorModifiedWritable","Whether modified is writable in the diff editor")),e.diffEditorOriginalUri=new ls.N1("diffEditorOriginalUri","",jn.kg("diffEditorOriginalUri","The uri of the original document")),e.diffEditorModifiedUri=new ls.N1("diffEditorModifiedUri","",jn.kg("diffEditorModifiedUri","The uri of the modified document")),e.columnSelection=new ls.N1("editorColumnSelection",!1,jn.kg("editorColumnSelection","Whether `editor.columnSelection` is enabled")),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new ls.N1("editorHasSelection",!1,jn.kg("editorHasSelection","Whether the editor has text selected")),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new ls.N1("editorHasMultipleSelections",!1,jn.kg("editorHasMultipleSelections","Whether the editor has multiple selections")),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new ls.N1("editorTabMovesFocus",!1,jn.kg("editorTabMovesFocus","Whether `Tab` will move focus out of the editor")),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInEmbeddedEditor=new ls.N1("isInEmbeddedEditor",!1,!0),e.canUndo=new ls.N1("canUndo",!1,!0),e.canRedo=new ls.N1("canRedo",!1,!0),e.hoverVisible=new ls.N1("editorHoverVisible",!1,jn.kg("editorHoverVisible","Whether the editor hover is visible")),e.hoverFocused=new ls.N1("editorHoverFocused",!1,jn.kg("editorHoverFocused","Whether the editor hover is focused")),e.stickyScrollFocused=new ls.N1("stickyScrollFocused",!1,jn.kg("stickyScrollFocused","Whether the sticky scroll is focused")),e.stickyScrollVisible=new ls.N1("stickyScrollVisible",!1,jn.kg("stickyScrollVisible","Whether the sticky scroll is visible")),e.standaloneColorPickerVisible=new ls.N1("standaloneColorPickerVisible",!1,jn.kg("standaloneColorPickerVisible","Whether the standalone color picker is visible")),e.standaloneColorPickerFocused=new ls.N1("standaloneColorPickerFocused",!1,jn.kg("standaloneColorPickerFocused","Whether the standalone color picker is focused")),e.inCompositeEditor=new ls.N1("inCompositeEditor",void 0,jn.kg("inCompositeEditor","Whether the editor is part of a larger editor (e.g. notebooks)")),e.notInCompositeEditor=e.inCompositeEditor.toNegated(),e.languageId=new ls.N1("editorLangId","",jn.kg("editorLangId","The language identifier of the editor")),e.hasCompletionItemProvider=new ls.N1("editorHasCompletionItemProvider",!1,jn.kg("editorHasCompletionItemProvider","Whether the editor has a completion item provider")),e.hasCodeActionsProvider=new ls.N1("editorHasCodeActionsProvider",!1,jn.kg("editorHasCodeActionsProvider","Whether the editor has a code actions provider")),e.hasCodeLensProvider=new ls.N1("editorHasCodeLensProvider",!1,jn.kg("editorHasCodeLensProvider","Whether the editor has a code lens provider")),e.hasDefinitionProvider=new ls.N1("editorHasDefinitionProvider",!1,jn.kg("editorHasDefinitionProvider","Whether the editor has a definition provider")),e.hasDeclarationProvider=new ls.N1("editorHasDeclarationProvider",!1,jn.kg("editorHasDeclarationProvider","Whether the editor has a declaration provider")),e.hasImplementationProvider=new ls.N1("editorHasImplementationProvider",!1,jn.kg("editorHasImplementationProvider","Whether the editor has an implementation provider")),e.hasTypeDefinitionProvider=new ls.N1("editorHasTypeDefinitionProvider",!1,jn.kg("editorHasTypeDefinitionProvider","Whether the editor has a type definition provider")),e.hasHoverProvider=new ls.N1("editorHasHoverProvider",!1,jn.kg("editorHasHoverProvider","Whether the editor has a hover provider")),e.hasDocumentHighlightProvider=new ls.N1("editorHasDocumentHighlightProvider",!1,jn.kg("editorHasDocumentHighlightProvider","Whether the editor has a document highlight provider")),e.hasDocumentSymbolProvider=new ls.N1("editorHasDocumentSymbolProvider",!1,jn.kg("editorHasDocumentSymbolProvider","Whether the editor has a document symbol provider")),e.hasReferenceProvider=new ls.N1("editorHasReferenceProvider",!1,jn.kg("editorHasReferenceProvider","Whether the editor has a reference provider")),e.hasRenameProvider=new ls.N1("editorHasRenameProvider",!1,jn.kg("editorHasRenameProvider","Whether the editor has a rename provider")),e.hasSignatureHelpProvider=new ls.N1("editorHasSignatureHelpProvider",!1,jn.kg("editorHasSignatureHelpProvider","Whether the editor has a signature help provider")),e.hasInlayHintsProvider=new ls.N1("editorHasInlayHintsProvider",!1,jn.kg("editorHasInlayHintsProvider","Whether the editor has an inline hints provider")),e.hasDocumentFormattingProvider=new ls.N1("editorHasDocumentFormattingProvider",!1,jn.kg("editorHasDocumentFormattingProvider","Whether the editor has a document formatting provider")),e.hasDocumentSelectionFormattingProvider=new ls.N1("editorHasDocumentSelectionFormattingProvider",!1,jn.kg("editorHasDocumentSelectionFormattingProvider","Whether the editor has a document selection formatting provider")),e.hasMultipleDocumentFormattingProvider=new ls.N1("editorHasMultipleDocumentFormattingProvider",!1,jn.kg("editorHasMultipleDocumentFormattingProvider","Whether the editor has multiple document formatting providers")),e.hasMultipleDocumentSelectionFormattingProvider=new ls.N1("editorHasMultipleDocumentSelectionFormattingProvider",!1,jn.kg("editorHasMultipleDocumentSelectionFormattingProvider","Whether the editor has multiple document selection formatting providers"))}(js||(js={}));var qs,Gs=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Qs=function(e,t){return function(i,n){t(i,n,e)}};const Ys=new ls.N1("selectionAnchorSet",!1);let Zs=class{static{qs=this}static{this.ID="editor.contrib.selectionAnchorController"}static get(e){return e.getContribution(qs.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=Ys.bindTo(t),this.modelChangeListener=e.onDidChangeModel((()=>this.selectionAnchorSetContextKey.reset()))}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations((t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration($s.L.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:(new Hn).appendText((0,jn.kg)("selectionAnchor","Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),Ci((0,jn.kg)("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection($s.L.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations((t=>{t.removeDecoration(e),this.decorationId=void 0})),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Zs=qs=Gs([Qs(1,ls.fN)],Zs);Bs(Zs.ID,Zs,4),Fs(class extends Ts{constructor(){super({id:"editor.action.setSelectionAnchor",label:(0,jn.kg)("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2080),weight:100}})}async run(e,t){Zs.get(t)?.setSelectionAnchor()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.goToSelectionAnchor",label:(0,jn.kg)("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:Ys})}async run(e,t){Zs.get(t)?.goToSelectionAnchor()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:(0,jn.kg)("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:Ys,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2089),weight:100}})}async run(e,t){Zs.get(t)?.selectFromAnchorToCursor()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:(0,jn.kg)("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:Ys,kbOpts:{kbExpr:js.editorTextFocus,primary:9,weight:100}})}async run(e,t){Zs.get(t)?.cancelSelectionAnchor()}});var Xs=i(28061),Js=i(66055),eo=i(3156),to=i(92551),io=i(89044);const no=(0,to.x1A)("editorOverviewRuler.bracketMatchForeground","#A0A0A0",jn.kg("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class so{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class oo extends Ae.jG{static{this.ID="editor.contrib.bracketMatchingController"}static get(e){return e.getContribution(oo.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new A.uC((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition((e=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelContent((e=>{this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModel((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelLanguageConfiguration((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))),this._register(e.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()}))),this._register(e.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map((t=>{const i=t.getStartPosition(),n=e.bracketPairs.matchBracket(i);let s=null;if(n)n[0].containsPosition(i)&&!n[1].containsPosition(i)?s=n[1].getStartPosition():n[1].containsPosition(i)&&(s=n[0].getStartPosition());else{const t=e.bracketPairs.findEnclosingBrackets(i);if(t)s=t[1].getStartPosition();else{const t=e.bracketPairs.findNextBracket(i);t&&t.range&&(s=t.range.getStartPosition())}}return s?new $s.L(s.lineNumber,s.column,s.lineNumber,s.column):new $s.L(i.lineNumber,i.column,i.lineNumber,i.column)}));this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach((n=>{const s=n.getStartPosition();let o=t.bracketPairs.matchBracket(s);if(!o&&(o=t.bracketPairs.findEnclosingBrackets(s),!o)){const e=t.bracketPairs.findNextBracket(s);e&&e.range&&(o=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let r=null,a=null;if(o){o.sort(Xs.Q.compareRangesUsingStarts);const[t,i]=o;if(r=e?t.getStartPosition():t.getEndPosition(),a=e?i.getEndPosition():i.getStartPosition(),i.containsPosition(s)){const e=r;r=a,a=e}}r&&a&&i.push(new $s.L(r.lineNumber,r.column,a.lineNumber,a.column))})),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach((i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())}))}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=eo.kI.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:(0,io.Yf)(no),position:Js.A5.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=eo.kI.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"})}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const e=this._editor.getSelections();if(e.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let o=0;for(let d=0,c=e.length;d1&&s.sort(Gn.y.compare);const r=[];let a=0,l=0;const h=n.length;for(let d=0,c=s.length;d!0,co=()=>!1,uo=e=>" "===e||"\t"===e;class go{static shouldRecreate(e){return e.hasChanged(146)||e.hasChanged(132)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(129)||e.hasChanged(50)||e.hasChanged(92)||e.hasChanged(131)}constructor(e,t,i,n){this.languageConfigurationService=n,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const s=i.options,o=s.get(146),r=s.get(50);this.readOnly=s.get(92),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=s.get(117),this.lineHeight=r.lineHeight,this.typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(o.height/this.lineHeight)-2),this.useTabStops=s.get(129),this.wordSeparators=s.get(132),this.emptySelectionClipboard=s.get(37),this.copyWithSyntaxHighlighting=s.get(25),this.multiCursorMergeOverlapping=s.get(77),this.multiCursorPaste=s.get(79),this.multiCursorLimit=s.get(80),this.autoClosingBrackets=s.get(6),this.autoClosingComments=s.get(7),this.autoClosingQuotes=s.get(11),this.autoClosingDelete=s.get(9),this.autoClosingOvertype=s.get(10),this.autoSurround=s.get(14),this.autoIndent=s.get(12),this.wordSegmenterLocales=s.get(131),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const a=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(a)for(const h of a)this.surroundingPairs[h.open]=h.close;const l=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=l?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};const e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(e)for(const t of e)this._electricChars[t]=!0}return this._electricChars}onElectricCharacter(e,t,i){const n=(0,ro.BQ)(t,i-1),s=this.languageConfigurationService.getLanguageConfiguration(n.languageId).electricCharacter;return s?s.onElectricCharacter(e,n,i-n.firstCharOffset):null}normalizeIndentation(e){return(0,lo.P)(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,i){switch(t){case"beforeWhitespace":return uo;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,i);case"always":return ho;case"never":return co}}_getLanguageDefinedShouldAutoClose(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return e=>-1!==i.indexOf(e)}visibleColumnFromColumn(e,t){return ao.A.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const n=ao.A.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),s=e.getLineMinColumn(t);if(no?o:n}}class po{static fromModelState(e){return new mo(e)}static fromViewState(e){return new fo(e)}static fromModelSelection(e){const t=$s.L.liftSelection(e),i=new _o(Xs.Q.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return po.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,n=e.length;is,l=n>o,h=no)continue;if(pn)continue;if(g0&&n--,Co.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,n)}static columnSelectRight(e,t,i){let n=0;const s=Math.min(i.fromViewLineNumber,i.toViewLineNumber),o=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let a=s;a<=o;a++){const i=t.getLineMaxColumn(a),s=e.visibleColumnFromColumn(t,new Gn.y(a,i));n=Math.max(n,s)}let r=i.toViewVisualColumn;return re.getLineMinColumn(t.lineNumber))return t.delta(void 0,-Ti.MV(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new Gn.y(i,e.getLineMaxColumn(i))}return t}static leftPositionAtomicSoftTabs(e,t,i){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const n=e.getLineMinColumn(t.lineNumber),s=e.getLineContent(t.lineNumber),o=xo.atomicPosition(s,t.column-1,i,0);if(-1!==o&&o+1>=n)return new Gn.y(t.lineNumber,o+1)}return this.leftPosition(e,t)}static left(e,t,i){const n=e.stickyTabStops?No.leftPositionAtomicSoftTabs(t,i,e.tabSize):No.leftPosition(t,i);return new Do(n.lineNumber,n.column,0)}static moveLeft(e,t,i,n,s){let o,r;if(i.hasSelection()&&!n)o=i.selection.startLineNumber,r=i.selection.startColumn;else{const n=i.position.delta(void 0,-(s-1)),a=t.normalizePosition(No.clipPositionColumn(n,t),0),l=No.left(e,t,a);o=l.lineNumber,r=l.column}return i.move(n,o,r,0)}static clipPositionColumn(e,t){return new Gn.y(e.lineNumber,No.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,i){return ei?i:e}static rightPosition(e,t,i){return ih?(i=h,n=r?t.getLineMaxColumn(i):Math.min(t.getLineMaxColumn(i),n)):n=e.columnFromVisibleColumn(t,i,l),s=u?0:l-ao.A.visibleColumnFromColumn(t.getLineContent(i),n,e.tabSize),void 0!==a){const e=new Gn.y(i,n),o=t.normalizePosition(e,a);s+=n-o.column,i=o.lineNumber,n=o.column}return new Do(i,n,s)}static down(e,t,i,n,s,o,r){return this.vertical(e,t,i,n,s,i+o,r,4)}static moveDown(e,t,i,n,s){let o,r;i.hasSelection()&&!n?(o=i.selection.endLineNumber,r=i.selection.endColumn):(o=i.position.lineNumber,r=i.position.column);let a,l=0;do{a=No.down(e,t,o+l,r,i.leftoverVisibleColumns,s,!0);if(t.normalizePosition(new Gn.y(a.lineNumber,a.column),2).lineNumber>o)break}while(l++<10&&o+l1&&this._isBlankLine(t,s);)s--;for(;s>1&&!this._isBlankLine(t,s);)s--;return i.move(n,s,t.getLineMinColumn(s),0)}static moveToNextBlankLine(e,t,i,n){const s=t.getLineCount();let o=i.position.lineNumber;for(;o=d.length+1)return!1;const c=d.charAt(h.column-2),u=n.get(c);if(!u)return!1;if(bo(c)){if("never"===i)return!1}else if("never"===t)return!1;const g=d.charAt(h.column-1);let p=!1;for(const e of u)e.open===c&&e.close===g&&(p=!0);if(!p)return!1;if("auto"===e){let e=!1;for(let t=0,i=r.length;t1){const e=t.getLineContent(n.lineNumber),s=Ti.HG(e),o=-1===s?e.length+1:s+1;if(n.column<=o){const e=i.visibleColumnFromColumn(t,n),s=ao.A.prevIndentTabStop(e,i.indentSize),o=i.columnFromVisibleColumn(t,n.lineNumber,s);return new Xs.Q(n.lineNumber,o,n.lineNumber,n.column)}}return Xs.Q.fromPositions(Io.getPositionAfterDeleteLeft(n,t),n)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=Ti.Wd(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,i+1)}if(e.lineNumber>1){const i=e.lineNumber-1;return new Gn.y(i,t.getLineMaxColumn(i))}return e}static cut(e,t,i){const n=[];let s=null;i.sort(((e,t)=>Gn.y.compare(e.getStartPosition(),t.getEndPosition())));for(let o=0,r=i.length;o1&&s?.endLineNumber!==e.lineNumber?(i=e.lineNumber-1,a=t.getLineMaxColumn(e.lineNumber-1),l=e.lineNumber,h=t.getLineMaxColumn(e.lineNumber)):(i=e.lineNumber,a=1,l=e.lineNumber,h=t.getLineMaxColumn(e.lineNumber));const d=new Xs.Q(i,a,l,h);s=d,d.isEmpty()?n[o]=null:n[o]=new wo(d,"")}else n[o]=null;else n[o]=new wo(r,"")}return new vo(0,n,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}var Eo,Mo=i(82862);class To{static _createWord(e,t,i,n,s){return{start:n,end:s,wordType:t,nextCharClass:i}}static _createIntlWord(e,t){return{start:e.index,end:e.index+e.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(e,t,i){const n=t.getLineContent(i.lineNumber);return this._doFindPreviousWordOnLine(n,e,i)}static _doFindPreviousWordOnLine(e,t,i){let n=0;const s=t.findPrevIntlWordBeforeOrAtOffset(e,i.column-2);for(let o=i.column-2;o>=0;o--){const i=e.charCodeAt(o),r=t.get(i);if(s&&o===s.index)return this._createIntlWord(s,r);if(0===r){if(2===n)return this._createWord(e,n,r,o+1,this._findEndOfWord(e,t,n,o+1));n=1}else if(2===r){if(1===n)return this._createWord(e,n,r,o+1,this._findEndOfWord(e,t,n,o+1));n=2}else if(1===r&&0!==n)return this._createWord(e,n,r,o+1,this._findEndOfWord(e,t,n,o+1))}return 0!==n?this._createWord(e,n,1,0,this._findEndOfWord(e,t,n,0)):null}static _findEndOfWord(e,t,i,n){const s=t.findNextIntlWordAtOrAfterOffset(e,n),o=e.length;for(let r=n;r=0;o--){const n=e.charCodeAt(o),r=t.get(n);if(s&&o===s.index)return o;if(1===r)return o+1;if(1===i&&2===r)return o+1;if(2===i&&0===r)return o+1}return 0}static moveWordLeft(e,t,i,n,s){let o=i.lineNumber,r=i.column;1===r&&o>1&&(o-=1,r=t.getLineMaxColumn(o));let a=To._findPreviousWordOnLine(e,t,new Gn.y(o,r));if(0===n)return new Gn.y(o,a?a.start+1:1);if(1===n)return!s&&a&&2===a.wordType&&a.end-a.start==1&&0===a.nextCharClass&&(a=To._findPreviousWordOnLine(e,t,new Gn.y(o,a.start+1))),new Gn.y(o,a?a.start+1:1);if(3===n){for(;a&&2===a.wordType;)a=To._findPreviousWordOnLine(e,t,new Gn.y(o,a.start+1));return new Gn.y(o,a?a.start+1:1)}return a&&r<=a.end+1&&(a=To._findPreviousWordOnLine(e,t,new Gn.y(o,a.start+1))),new Gn.y(o,a?a.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,n=e.getLineMaxColumn(i);if(1===t.column)return i>1?new Gn.y(i-1,e.getLineMaxColumn(i-1)):t;const s=e.getLineContent(i);for(let o=t.column-1;o>1;o--){const e=s.charCodeAt(o-2),t=s.charCodeAt(o-1);if(95===e&&95!==t)return new Gn.y(i,o);if(45===e&&45!==t)return new Gn.y(i,o);if((Ti.Lv(e)||Ti.DB(e))&&Ti.Wv(t))return new Gn.y(i,o);if(Ti.Wv(e)&&Ti.Wv(t)&&o+1=a.start+1&&(a=To._findNextWordOnLine(e,t,new Gn.y(s,a.end+1))),o=a?a.start+1:t.getLineMaxColumn(s);return new Gn.y(s,o)}static _moveWordPartRight(e,t){const i=t.lineNumber,n=e.getLineMaxColumn(i);if(t.column===n)return i1?l=1:(a--,l=n.getLineMaxColumn(a)):(h&&l<=h.end+1&&(h=To._findPreviousWordOnLine(i,n,new Gn.y(a,h.start+1))),h?l=h.end+1:l>1?l=1:(a--,l=n.getLineMaxColumn(a))),new Xs.Q(a,l,r.lineNumber,r.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const n=new Gn.y(i.positionLineNumber,i.positionColumn),s=this._deleteInsideWordWhitespace(t,n);return s||this._deleteInsideWordDetermineDeleteRange(e,t,n)}static _charAtIsWhitespace(e,t){const i=e.charCodeAt(t);return 32===i||9===i}static _deleteInsideWordWhitespace(e,t){const i=e.getLineContent(t.lineNumber),n=i.length;if(0===n)return null;let s=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,s))return null;let o=Math.min(t.column-1,n-1);if(!this._charAtIsWhitespace(i,o))return null;for(;s>0&&this._charAtIsWhitespace(i,s-1);)s--;for(;o+11?new Xs.Q(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumbere.start+1<=i.column&&i.column<=e.end+1,r=(e,t)=>(e=Math.min(e,i.column),t=Math.max(t,i.column),new Xs.Q(i.lineNumber,e,i.lineNumber,t)),a=e=>{let t=e.start+1,i=e.end+1,o=!1;for(;i-11&&this._charAtIsWhitespace(n,t-2);)t--;return r(t,i)},l=To._findPreviousWordOnLine(e,t,i);if(l&&o(l))return a(l);const h=To._findNextWordOnLine(e,t,i);return h&&o(h)?a(h):l&&h?r(l.end+1,h.start+1):l?r(l.start+1,l.end+1):h?r(h.start+1,h.end+1):r(1,s+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),n=To._moveWordPartLeft(e,i);return new Xs.Q(i.lineNumber,i.column,n.lineNumber,n.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let n=t;n=c.start+1&&(c=To._findNextWordOnLine(i,n,new Gn.y(a,c.end+1))),c?l=c.start+1:lBoolean(e)))}class Po{static addCursorDown(e,t,i){const n=[];let s=0;for(let o=0,r=t.length;ot&&(i=t,n=e.model.getLineMaxColumn(i)),po.fromModelState(new _o(new Xs.Q(o.lineNumber,1,i,n),2,0,new Gn.y(i,n),0))}const a=t.modelState.selectionStart.getStartPosition().lineNumber;if(o.lineNumbera){const i=e.getLineCount();let n=r.lineNumber+1,s=1;return n>i&&(n=i,s=e.getLineMaxColumn(n)),po.fromViewState(t.viewState.move(!0,n,s,0))}{const e=t.modelState.selectionStart.getEndPosition();return po.fromModelState(t.modelState.move(!0,e.lineNumber,e.column,0))}}static word(e,t,i,n){const s=e.model.validatePosition(n);return po.fromModelState(To.word(e.cursorConfig,e.model,t.modelState,i,s))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new po(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,n=t.viewState.position.column;return po.fromViewState(new _o(new Xs.Q(i,n,i,n),0,0,new Gn.y(i,n),0))}static moveTo(e,t,i,n,s){if(i){if(1===t.modelState.selectionStartKind)return this.word(e,t,i,n);if(2===t.modelState.selectionStartKind)return this.line(e,t,i,n,s)}const o=e.model.validatePosition(n),r=s?e.coordinatesConverter.validateViewPosition(new Gn.y(s.lineNumber,s.column),o):e.coordinatesConverter.convertModelPositionToViewPosition(o);return po.fromViewState(t.viewState.move(i,r.lineNumber,r.column,0))}static simpleMove(e,t,i,n,s,o){switch(i){case 0:return 4===o?this._moveHalfLineLeft(e,t,n):this._moveLeft(e,t,n,s);case 1:return 4===o?this._moveHalfLineRight(e,t,n):this._moveRight(e,t,n,s);case 2:return 2===o?this._moveUpByViewLines(e,t,n,s):this._moveUpByModelLines(e,t,n,s);case 3:return 2===o?this._moveDownByViewLines(e,t,n,s):this._moveDownByModelLines(e,t,n,s);case 4:return 2===o?t.map((t=>po.fromViewState(No.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,n)))):t.map((t=>po.fromModelState(No.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,n))));case 5:return 2===o?t.map((t=>po.fromViewState(No.moveToNextBlankLine(e.cursorConfig,e,t.viewState,n)))):t.map((t=>po.fromModelState(No.moveToNextBlankLine(e.cursorConfig,e.model,t.modelState,n))));case 6:return this._moveToViewMinColumn(e,t,n);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,n);case 8:return this._moveToViewCenterColumn(e,t,n);case 9:return this._moveToViewMaxColumn(e,t,n);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,n);default:return null}}static viewportMove(e,t,i,n,s){const o=e.getCompletelyVisibleViewRange(),r=e.coordinatesConverter.convertViewRangeToModelRange(o);switch(i){case 11:{const i=this._firstLineNumberInRange(e.model,r,s),o=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],n,i,o)]}case 13:{const i=this._lastLineNumberInRange(e.model,r,s),o=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],n,i,o)]}case 12:{const i=Math.round((r.startLineNumber+r.endLineNumber)/2),s=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],n,i,s)]}case 14:{const i=[];for(let s=0,r=t.length;si.endLineNumber-1?i.endLineNumber-1:spo.fromViewState(No.moveLeft(e.cursorConfig,e,t.viewState,i,n))))}static _moveHalfLineLeft(e,t,i){const n=[];for(let s=0,o=t.length;spo.fromViewState(No.moveRight(e.cursorConfig,e,t.viewState,i,n))))}static _moveHalfLineRight(e,t,i){const n=[];for(let s=0,o=t.length;s{this.model.tokenization.forceTokenization(e);const t=this.model.tokenization.getLineTokens(e),i=this.model.getLineMaxColumn(e)-1;return(0,ro.BQ)(t,i)})(s);if(!(i.languageId===o.languageId))return n;const r=o.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(r)}}class Vo{constructor(e,t){this.model=e,this.languageConfigurationService=t}getProcessedLine(e,t){this.model.tokenization.forceTokenization?.(e);const i=this.model.tokenization.getLineTokens(e);let n=this.getProcessedTokens(i).getLineContent();return void 0!==t&&(n=((e,t)=>{const i=Ti.UU(e);return t+e.substring(i.length)})(n,t)),n}getProcessedTokens(e){const t=e.getLanguageId(0),i=this.languageConfigurationService.getLanguageConfiguration(t).bracketsNew.getBracketRegExp({global:!0}),n=[];e.forEach((t=>{const s=e.getStandardTokenType(t);let o=e.getTokenText(t);(e=>2===e||3===e||1===e)(s)&&(o=o.replace(i,""));const r=e.getMetadata(t);n.push({text:o,metadata:r})}));return Wo.f.createFromTextAndMetadata(n,e.languageIdCodec)}}function zo(e,t){e.tokenization.forceTokenization(t.lineNumber);const i=e.tokenization.getLineTokens(t.lineNumber),n=(0,ro.BQ)(i,t.column-1),s=0===n.firstCharOffset,o=i.getLanguageId(0)===n.languageId;return!s&&!o}function Uo(e,t,i,n){t.tokenization.forceTokenization(i.startLineNumber);const s=t.getLanguageIdAtPosition(i.startLineNumber,i.startColumn),o=n.getLanguageConfiguration(s);if(!o)return null;const r=new Ho(t,n).getProcessedTokenContextAroundRange(i),a=r.previousLineProcessedTokens.getLineContent(),l=r.beforeRangeProcessedTokens.getLineContent(),h=r.afterRangeProcessedTokens.getLineContent(),d=o.onEnter(e,a,l,h);if(!d)return null;const c=d.indentAction;let u=d.appendText;const g=d.removeText||0;u?c===Oo.l.Indent&&(u="\t"+u):u=c===Oo.l.Indent||c===Oo.l.IndentOutdent?"\t":"";let p=(0,Fo.Cw)(t,i.startLineNumber,i.startColumn);return g&&(p=p.substring(0,p.length-g)),{indentAction:c,appendText:u,removeText:g,indentation:p}}var Ko,jo=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},$o=function(e,t){return function(i,n){t(i,n,e)}};const qo=Object.create(null);function Go(e,t){if(t<=0)return"";qo[e]||(qo[e]=["",e]);const i=qo[e];for(let n=i.length;n<=t;n++)i[n]=i[n-1]+e;return i[t]}let Qo=Ko=class{static unshiftIndent(e,t,i,n,s){const o=ao.A.visibleColumnFromColumn(e,t,i);if(s){const e=Go(" ",n);return Go(e,ao.A.prevIndentTabStop(o,n)/n)}return Go("\t",ao.A.prevRenderTabStop(o,i)/i)}static shiftIndent(e,t,i,n,s){const o=ao.A.visibleColumnFromColumn(e,t,i);if(s){const e=Go(" ",n);return Go(e,ao.A.nextIndentTabStop(o,n)/n)}return Go("\t",ao.A.nextRenderTabStop(o,i)/i)}constructor(e,t,i){this._languageConfigurationService=i,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(e,t){const i=this._selection.startLineNumber;let n=this._selection.endLineNumber;1===this._selection.endColumn&&i!==n&&(n-=1);const{tabSize:s,indentSize:o,insertSpaces:r}=this._opts,a=i===n;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let l=0,h=0;for(let d=i;d<=n;d++,l=h){h=0;const n=e.getLineContent(d);let c,u=Ti.HG(n);if((!this._opts.isUnshift||0!==n.length&&0!==u)&&(a||this._opts.isUnshift||0!==n.length)){if(-1===u&&(u=n.length),d>1){if(ao.A.visibleColumnFromColumn(n,u+1,s)%o!=0&&e.tokenization.isCheapToTokenize(d-1)){const t=Uo(this._opts.autoIndent,e,new Xs.Q(d-1,e.getLineMaxColumn(d-1),d-1,e.getLineMaxColumn(d-1)),this._languageConfigurationService);if(t){if(h=l,t.appendText)for(let e=0,i=t.appendText.length;e0&&""===t.getLineContent(l);l--)if(1===l)return{indentation:"",action:null};const a=function(e,t,i){const n=e.tokenization.getLanguageIdAtPosition(t,0);if(t>1){let s,o=-1;for(s=t-1;s>=1;s--){if(e.tokenization.getLanguageIdAtPosition(s,0)!==n)return o;const t=e.getLineContent(s);if(!i.shouldIgnore(s)&&!/^\s+$/.test(t)&&""!==t)return s;o=s}}return-1}(t,i,r);if(a<0)return null;if(a<1)return{indentation:"",action:null};if(r.shouldIncrease(a)||r.shouldIndentNextLine(a)){const e=t.getLineContent(a);return{indentation:Ti.UU(e),action:Oo.l.Indent,line:a}}if(r.shouldDecrease(a)){const e=t.getLineContent(a);return{indentation:Ti.UU(e),action:null,line:a}}{if(1===a)return{indentation:Ti.UU(t.getLineContent(a)),action:null,line:a};const e=a-1,i=o.getIndentMetadata(t.getLineContent(e));if(!(3&i)&&4&i){let i=0;for(let t=e-1;t>0;t--)if(!r.shouldIndentNextLine(t)){i=t;break}return{indentation:Ti.UU(t.getLineContent(i+1)),action:null,line:i+1}}if(n)return{indentation:Ti.UU(t.getLineContent(a)),action:null,line:a};for(let n=a;n>0;n--){if(r.shouldIncrease(n))return{indentation:Ti.UU(t.getLineContent(n)),action:Oo.l.Indent,line:n};if(r.shouldIndentNextLine(n)){let e=0;for(let t=n-1;t>0;t--)if(!r.shouldIndentNextLine(n)){e=t;break}return{indentation:Ti.UU(t.getLineContent(e+1)),action:null,line:e+1}}if(r.shouldDecrease(n))return{indentation:Ti.UU(t.getLineContent(n)),action:null,line:n}}return{indentation:Ti.UU(t.getLineContent(1)),action:null,line:1}}}function Jo(e,t,i,n,s,o){if(e<4)return null;const r=o.getLanguageConfiguration(i);if(!r)return null;const a=o.getLanguageConfiguration(i).indentRulesSupport;if(!a)return null;const l=new Bo(t,a,o),h=Xo(e,t,n,void 0,o);if(h){const i=h.line;if(void 0!==i){let o=!0;for(let e=i;ee.getLineCount()?null:n.getIndentMetadata(e.getLineContent(t)):null}class tr{static getEdits(e,t,i,n,s){if(!s&&this._isAutoIndentType(e,t,i)){const s=[];for(const r of i){const i=this._findActualIndentationForSelection(e,t,r,n);if(null===i)return;s.push({selection:r,indentation:i})}const o=sr.getAutoClosingPairClose(e,t,i,n,!1);return this._getIndentationAndAutoClosingPairEdits(e,t,s,n,o)}}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let n=0,s=i.length;n0){const a=t.getLineContent(p);if(l.shouldIndentNextLine(a)&&l.shouldIncrease(g)){const a=Xo(r,t,i.startLineNumber,!1,o),l=a?.indentation;if(void 0!==l){const o=t.getLineContent(i.startLineNumber),r=Ti.UU(o),a=s.shiftIndent(l)===r,h=/^\s*$/.test(u),d=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(n),c=d&&d.length>0;if(a&&c&&h)return l}}}return null}(e,t,i,n,{shiftIndent:t=>yr(e,t),unshiftIndent:t=>Sr(e,t)},e.languageConfigurationService);if(null===s)return null;const o=(0,Fo.Cw)(t,i.startLineNumber,i.startColumn);return s===e.normalizeIndentation(o)?null:s}static _getIndentationAndAutoClosingPairEdits(e,t,i,n,s){const o=i.map((({selection:i,indentation:o})=>{if(null!==s){const r=this._getEditFromIndentationAndSelection(e,t,o,i,n,!1);return new mr(r,i,n,s)}{const s=this._getEditFromIndentationAndSelection(e,t,o,i,n,!0);return wr(s.range,s.text,!1)}}));return new vo(4,o,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _getEditFromIndentationAndSelection(e,t,i,n,s,o=!0){const r=n.startLineNumber,a=t.getLineFirstNonWhitespaceColumn(r);let l=e.normalizeIndentation(i);if(0!==a){l+=t.getLineContent(r).substring(a-1,n.startColumn-1)}l+=o?s:"";return{range:new Xs.Q(r,1,n.endLineNumber,n.endColumn),text:l}}}class ir{static getEdits(e,t,i,n,s,o){if(Cr(t,i,n,s,o))return this._runAutoClosingOvertype(e,n,o)}static _runAutoClosingOvertype(e,t,i){const n=[];for(let s=0,o=t.length;snew wo(new Xs.Q(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),"",!1)));return new vo(4,e,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}}class sr{static getEdits(e,t,i,n,s,o){if(!o){const o=this.getAutoClosingPairClose(e,t,i,n,s);if(null!==o)return this._runAutoClosingOpenCharType(i,n,s,o)}}static _runAutoClosingOpenCharType(e,t,i,n){const s=[];for(let o=0,r=e.length;o{const t=e.getPosition();return s?{lineNumber:t.lineNumber,beforeColumn:t.column-n.length,afterColumn:t.column}:{lineNumber:t.lineNumber,beforeColumn:t.column,afterColumn:t.column}})),r=this._findAutoClosingPairOpen(e,t,o.map((e=>new Gn.y(e.lineNumber,e.beforeColumn))),n);if(!r)return null;let a,l;if(bo(n))a=e.autoClosingQuotes,l=e.shouldAutoCloseBefore.quote;else{!!e.blockCommentStartToken&&r.open.includes(e.blockCommentStartToken)?(a=e.autoClosingComments,l=e.shouldAutoCloseBefore.comment):(a=e.autoClosingBrackets,l=e.shouldAutoCloseBefore.bracket)}if("never"===a)return null;const h=this._findContainedAutoClosingPair(e,r),d=h?h.close:"";let c=!0;for(const u of o){const{lineNumber:i,beforeColumn:s,afterColumn:o}=u,h=t.getLineContent(i),g=h.substring(0,s-1),p=h.substring(o-1);if(p.startsWith(d)||(c=!1),p.length>0){const t=p.charAt(0);if(!this._isBeforeClosingBrace(e,p)&&!l(t))return null}if(1===r.open.length&&("'"===n||'"'===n)&&"always"!==a){const t=(0,Mo.i)(e.wordSeparators,[]);if(g.length>0){const e=g.charCodeAt(g.length-1);if(0===t.get(e))return null}}if(!t.tokenization.isCheapToTokenize(i))return null;t.tokenization.forceTokenization(i);const m=t.tokenization.getLineTokens(i),f=(0,ro.BQ)(m,s-1);if(!r.shouldAutoClose(f,s-f.firstCharOffset))return null;const _=r.findNeutralCharacter();if(_){const e=t.tokenization.getTokenTypeIfInsertingCharacter(i,s,_);if(!r.isOK(e))return null}}return c?r.close.substring(0,r.close.length-d.length):r.close}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const i=t.close.charAt(t.close.length-1),n=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(i)||[];let s=null;for(const o of n)o.open!==t.open&&t.open.includes(o.open)&&t.close.endsWith(o.close)&&(!s||o.open.length>s.open.length)&&(s=o);return s}static _findAutoClosingPairOpen(e,t,i,n){const s=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(n);if(!s)return null;let o=null;for(const r of s)if(null===o||r.open.length>o.open.length){let e=!0;for(const s of i){if(t.getValueInRange(new Xs.Q(s.lineNumber,s.column-r.open.length+1,s.lineNumber,s.column))+n!==r.open){e=!1;break}}e&&(o=r)}return o}static _isBeforeClosingBrace(e,t){const i=t.charAt(0),n=e.autoClosingPairs.autoClosingPairsOpenByStart.get(i)||[],s=e.autoClosingPairs.autoClosingPairsCloseByStart.get(i)||[],o=n.some((e=>t.startsWith(e.open))),r=s.some((e=>t.startsWith(e.close)));return!o&&r}}class or{static getEdits(e,t,i,n,s){if(!s&&this._isSurroundSelectionType(e,t,i,n))return this._runSurroundSelectionType(e,i,n)}static _runSurroundSelectionType(e,t,i){const n=[];for(let s=0,o=t.length;s=4){const s=function(e,t,i,n,s){if(e<4)return null;const o=t.getLanguageIdAtPosition(i.startLineNumber,i.startColumn),r=s.getLanguageConfiguration(o).indentRulesSupport;if(!r)return null;t.tokenization.forceTokenization(i.startLineNumber);const a=new Ho(t,s).getProcessedTokenContextAroundRange(i),l=a.afterRangeProcessedTokens,h=a.beforeRangeProcessedTokens,d=Ti.UU(h.getLineContent()),c=function(e,t,i){return{tokenization:{getLineTokens:n=>n===t?i:e.tokenization.getLineTokens(n),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i)},getLineContent:n=>n===t?i.getLineContent():e.getLineContent(n)}}(t,i.startLineNumber,h),u=zo(t,i.getStartPosition()),g=t.getLineContent(i.startLineNumber),p=Ti.UU(g),m=Xo(e,c,i.startLineNumber+1,void 0,s);if(!m){const e=u?p:d;return{beforeEnter:e,afterEnter:e}}let f=u?p:m.indentation;return m.action===Oo.l.Indent&&(f=n.shiftIndent(f)),r.shouldDecrease(l.getLineContent())&&(f=n.unshiftIndent(f)),{beforeEnter:u?p:d,afterEnter:f}}(e.autoIndent,t,n,{unshiftIndent:t=>Sr(e,t),shiftIndent:t=>yr(e,t),normalizeIndentation:t=>e.normalizeIndentation(t)},e.languageConfigurationService);if(s){let o=e.visibleColumnFromColumn(t,n.getEndPosition());const r=n.endColumn,a=t.getLineContent(n.endLineNumber),l=Ti.HG(a);if(n=l>=0?n.setEndPosition(n.endLineNumber,Math.max(n.endColumn,l+1)):n.setEndPosition(n.endLineNumber,t.getLineMaxColumn(n.endLineNumber)),i)return new So(n,"\n"+e.normalizeIndentation(s.afterEnter),!0);{let t=0;return r<=l+1&&(e.insertSpaces||(o=Math.ceil(o/e.indentSize)),t=Math.min(o+1-e.normalizeIndentation(s.afterEnter).length-1,0)),new ko(n,"\n"+e.normalizeIndentation(s.afterEnter),0,t,!0)}}}return wr(n,"\n"+e.normalizeIndentation(r),i)}static lineInsertBefore(e,t,i){if(null===t||null===i)return[];const n=[];for(let s=0,o=i.length;sthis._compositionType(i,e,s,o,r,a)));return new vo(4,l,{shouldPushStackElementBefore:_r(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,n,s,o){if(!t.isEmpty())return null;const r=t.getPosition(),a=Math.max(1,r.column-n),l=Math.min(e.getLineMaxColumn(r.lineNumber),r.column+s),h=new Xs.Q(r.lineNumber,a,r.lineNumber,l);return e.getValueInRange(h)===i&&0===o?null:new ko(h,i,0,o)}}class cr{static getEdits(e,t,i){const n=[];for(let o=0,r=t.length;o1){let n;for(n=i-1;n>=1;n--){const e=t.getLineContent(n);if(Ti.lT(e)>=0)break}if(n<1)return null;const o=t.getLineMaxColumn(n),r=Uo(e.autoIndent,t,new Xs.Q(n,o,n,o),e.languageConfigurationService);r&&(s=r.indentation+r.appendText)}return n&&(n===Oo.l.Indent&&(s=yr(e,s)),n===Oo.l.Outdent&&(s=Sr(e,s)),s=e.normalizeIndentation(s)),s||null}static _replaceJumpToNextIndent(e,t,i,n){let s="";const o=i.getStartPosition();if(e.insertSpaces){const i=e.visibleColumnFromColumn(t,o),n=e.indentSize,r=n-i%n;for(let e=0;e2?l.charCodeAt(a.column-2):0)&&h)return!1;if("auto"===e.autoClosingOvertype){let e=!1;for(let t=0,i=n.length;t{const i=e.get(qn).getFocusedCodeEditor();return!(!i||!i.hasTextFocus())&&this._runEditorCommand(e,i,t)})),e.addImplementation(1e3,"generic-dom-input-textarea",((e,t)=>{const i=yt();return!!(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)&&(this.runDOMCommand(i),!0)})),e.addImplementation(0,"generic-dom",((e,t)=>{const i=e.get(qn).getActiveCodeEditor();return!!i&&(i.focus(),this._runEditorCommand(e,i,t))}))}_runEditorCommand(e,t,i){const n=this.runEditorCommand(e,t,i);return n||!0}}!function(e){class t extends Dr{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){if(!t.position)return;e.model.pushStackElement();e.setCursorStates(t.source,3,[Po.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&2!==t.revealType&&e.revealAllCursors(t.source,!0,!0)}}e.MoveTo=Os(new t({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=Os(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class i extends Dr{runCoreEditorCommand(e,t){e.model.pushStackElement();const i=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);null!==i&&(e.setCursorStates(t.source,3,i.viewStates.map((e=>po.fromViewState(e)))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:i.fromLineNumber,fromViewVisualColumn:i.fromVisualColumn,toViewLineNumber:i.toLineNumber,toViewVisualColumn:i.toVisualColumn}),i.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source))}}e.ColumnSelect=Os(new class extends i{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(e,t,i,n){if(void 0===n.position||void 0===n.viewPosition||void 0===n.mouseColumn)return null;const s=e.model.validatePosition(n.position),o=e.coordinatesConverter.validateViewPosition(new Gn.y(n.viewPosition.lineNumber,n.viewPosition.column),s),r=n.doColumnSelect?i.fromViewLineNumber:o.lineNumber,a=n.doColumnSelect?i.fromViewVisualColumn:n.mouseColumn-1;return Co.columnSelect(e.cursorConfig,e,r,a,o.lineNumber,n.mouseColumn-1)}}),e.CursorColumnSelectLeft=Os(new class extends i{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,i,n){return Co.columnSelectLeft(e.cursorConfig,e,i)}}),e.CursorColumnSelectRight=Os(new class extends i{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,i,n){return Co.columnSelectRight(e.cursorConfig,e,i)}});class n extends i{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,i,n){return Co.columnSelectUp(e.cursorConfig,e,i,this._isPaged)}}e.CursorColumnSelectUp=Os(new n({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=Os(new n({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:3595,linux:{primary:0}}}));class s extends i{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,i,n){return Co.columnSelectDown(e.cursorConfig,e,i,this._isPaged)}}e.CursorColumnSelectDown=Os(new s({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=Os(new s({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:3596,linux:{primary:0}}}));class o extends Dr{constructor(){super({id:"cursorMove",precondition:void 0,metadata:Eo.metadata})}runCoreEditorCommand(e,t){const i=Eo.parse(t);i&&this._runCursorMove(e,t.source,i)}_runCursorMove(e,t,i){e.model.pushStackElement(),e.setCursorStates(t,3,o._move(e,e.getCursorStates(),i)),e.revealAllCursors(t,!0)}static _move(e,t,i){const n=i.select,s=i.value;switch(i.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return Po.simpleMove(e,t,i.direction,n,s,i.unit);case 11:case 13:case 12:case 14:return Po.viewportMove(e,t,i.direction,n,s);default:return null}}}e.CursorMoveImpl=o,e.CursorMove=Os(new o);class r extends Dr{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let i=this._staticArgs;-1===this._staticArgs.value&&(i={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,Po.simpleMove(e,e.getCursorStates(),i.direction,i.select,i.value,i.unit)),e.revealAllCursors(t.source,!0)}}e.CursorLeft=Os(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=Os(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:1039}})),e.CursorRight=Os(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=Os(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:1041}})),e.CursorUp=Os(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=Os(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=Os(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:11}})),e.CursorPageUpSelect=Os(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:1035}})),e.CursorDown=Os(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=Os(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=Os(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:12}})),e.CursorPageDownSelect=Os(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:1036}})),e.CreateCursor=Os(new class extends Dr{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let i;i=t.wholeLine?Po.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):Po.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);const n=e.getCursorStates();if(n.length>1){const s=i.modelState?i.modelState.position:null,o=i.viewState?i.viewState.position:null;for(let i=0,r=n.length;io&&(s=o);const r=new Xs.Q(s,1,s,e.model.getLineMaxColumn(s));let a=0;if(i.at)switch(i.at){case Ir.RawAtArgument.Top:a=3;break;case Ir.RawAtArgument.Center:a=1;break;case Ir.RawAtArgument.Bottom:a=4}const l=e.coordinatesConverter.convertModelRangeToViewRange(r);e.revealRange(t.source,!1,l,a,0)}}),e.SelectAll=new class extends Mr{constructor(){super(Ks)}runDOMCommand(e){h&&(e.focus(),e.select()),e.ownerDocument.execCommand("selectAll")}runEditorCommand(e,t,i){const n=t._getViewModel();n&&this.runCoreEditorCommand(n,i)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates("keyboard",3,[Po.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=Os(new class extends Dr{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(e,t){t.selection&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[po.fromModelSelection(t.selection)]))}})}(Er||(Er={}));const Tr=ls.M$.and(js.textInputFocus,js.columnSelection);function Rr(e,t){cs.registerKeybindingRule({id:e,primary:t,when:Tr,weight:1})}function Ar(e){return e.register(),e}var Pr,Or;Rr(Er.CursorColumnSelectLeft.id,1039),Rr(Er.CursorColumnSelectRight.id,1041),Rr(Er.CursorColumnSelectUp.id,1040),Rr(Er.CursorColumnSelectPageUp.id,1035),Rr(Er.CursorColumnSelectDown.id,1042),Rr(Er.CursorColumnSelectPageDown.id,1036),function(e){class t extends Ms{runEditorCommand(e,t,i){const n=t._getViewModel();n&&this.runCoreEditingCommand(t,n,i||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=Os(new class extends t{constructor(){super({id:"lineBreakInsert",precondition:js.writable,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,lr.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection))))}}),e.Outdent=Os(new class extends t{constructor(){super({id:"outdent",precondition:js.writable,kbOpts:{weight:0,kbExpr:ls.M$.and(js.editorTextFocus,js.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,Lr.outdent(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.Tab=Os(new class extends t{constructor(){super({id:"tab",precondition:js.writable,kbOpts:{weight:0,kbExpr:ls.M$.and(js.editorTextFocus,js.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,Lr.tab(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.DeleteLeft=Os(new class extends t{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,i){const[n,s]=Io.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)),t.getCursorAutoClosedCharacters());n&&e.pushUndoStop(),e.executeCommands(this.id,s),t.setPrevEditOperationType(2)}}),e.DeleteRight=Os(new class extends t{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:js.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,i){const[n,s]=Io.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)));n&&e.pushUndoStop(),e.executeCommands(this.id,s),t.setPrevEditOperationType(3)}}),e.Undo=new class extends Mr{constructor(){super(zs)}runDOMCommand(e){e.ownerDocument.execCommand("undo")}runEditorCommand(e,t,i){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().undo()}},e.Redo=new class extends Mr{constructor(){super(Us)}runDOMCommand(e){e.ownerDocument.execCommand("redo")}runEditorCommand(e,t,i){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().redo()}}}(Pr||(Pr={}));class Fr extends Ns{constructor(e,t,i){super({id:e,precondition:void 0,metadata:i}),this._handlerId=t}runCommand(e,t){const i=e.get(qn).getFocusedCodeEditor();i&&i.trigger("keyboard",this._handlerId,t)}}function Wr(e,t){Ar(new Fr("default:"+e,e)),Ar(new Fr(e,e,t))}Wr("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),Wr("replacePreviousChar"),Wr("compositionType"),Wr("compositionStart"),Wr("compositionEnd"),Wr("paste"),Wr("cut");class Br{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,s=this._selection.endColumn;if((!this._isMovingLeft||1!==n)&&(this._isMovingLeft||s!==e.getLineMaxColumn(i)))if(this._isMovingLeft){const o=new Xs.Q(i,n-1,i,n),r=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new Xs.Q(i,s,i,s),r)}else{const o=new Xs.Q(i,s,i,s+1),r=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new Xs.Q(i,n,i,n),r)}}computeCursorState(e,t){return this._isMovingLeft?new $s.L(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new $s.L(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class Hr extends Ts{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new Br(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}Fs(class extends Hr{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:jn.kg("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:js.writable})}}),Fs(class extends Hr{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:jn.kg("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:js.writable})}});Fs(class extends Ts{constructor(){super({id:"editor.action.transposeLetters",label:jn.kg("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:js.writable,kbOpts:{kbExpr:js.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const o of s){if(!o.isEmpty())continue;const e=o.startLineNumber,t=o.startColumn,s=i.getLineMaxColumn(e);if(1===e&&(1===t||2===t&&2===s))continue;const r=t===s?o.getPosition():No.rightPosition(i,o.getPosition().lineNumber,o.getPosition().column),a=No.leftPosition(i,r),l=No.leftPosition(i,a),h=i.getValueInRange(Xs.Q.fromPositions(l,a)),d=i.getValueInRange(Xs.Q.fromPositions(a,r)),c=Xs.Q.fromPositions(l,r);n.push(new wo(c,d+h))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}});class Vr{get event(){return this.emitter.event}constructor(e,t,i){const n=e=>this.emitter.fire(e);this.emitter=new P.vl({onWillAddFirstListener:()=>e.addEventListener(t,n,i),onDidRemoveLastListener:()=>e.removeEventListener(t,n,i)})}dispose(){this.emitter.dispose()}}!function(e){const t={total:0,min:Number.MAX_VALUE,max:0},i={...t},n={...t},s={...t};let o=0;const r={keydown:0,input:0,render:0};function a(){1===r.keydown&&(performance.mark("keydown/end"),r.keydown=2)}function l(){performance.mark("input/start"),r.input=1,c()}function h(){1===r.input&&(performance.mark("input/end"),r.input=2)}function d(){1===r.render&&(performance.mark("render/end"),r.render=2)}function c(){setTimeout(u)}function u(){2===r.keydown&&2===r.input&&2===r.render&&(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"),g("keydown",t),g("input",i),g("render",n),g("inputlatency",s),o++,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"),r.keydown=0,r.input=0,r.render=0)}function g(e,t){const i=performance.getEntriesByName(e)[0].duration;t.total+=i,t.min=Math.min(t.min,i),t.max=Math.max(t.max,i)}function p(e){return{average:e.total/o,max:e.max,min:e.min}}function m(e){e.total=0,e.min=Number.MAX_VALUE,e.max=0}e.onKeyDown=function(){u(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),r.keydown=1,queueMicrotask(a)},e.onBeforeInput=l,e.onInput=function(){0===r.input&&l(),queueMicrotask(h)},e.onKeyUp=function(){u()},e.onSelectionChange=function(){u()},e.onRenderStart=function(){2===r.keydown&&2===r.input&&0===r.render&&(performance.mark("render/start"),r.render=1,queueMicrotask(d),c())},e.getAndClearMeasurements=function(){if(0===o)return;const e={keydown:p(t),input:p(i),render:p(n),total:p(s),sampleCount:o};return m(t),m(i),m(n),m(s),o=0,e}}(Or||(Or={}));var zr=i(53720);class Ur{static{this.EMPTY=new Ur("",0,0,null,void 0)}constructor(e,t,i,n,s){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=n,this.newlineCountBeforeSelection=s}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const i=e.getValue(),n=e.getSelectionStart(),s=e.getSelectionEnd();let o;if(t){i.substring(0,n)===t.value.substring(0,t.selectionStart)&&(o=t.newlineCountBeforeSelection)}return new Ur(i,n,s,null,o)}collapseSelection(){return this.selectionStart===this.value.length?this:new Ur(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){if(e<=this.selectionStart){const t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,t,-1)}if(e>=this.selectionEnd){const t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,t,1)}const t=this.value.substring(this.selectionStart,e);if(-1===t.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,t,1);const i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,i,-1)}_finishDeduceEditorPosition(e,t,i){let n=0,s=-1;for(;-1!==(s=t.indexOf("\n",s+1));)n++;return[e,i*t.length,n]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const n=Math.min(Ti.Qp(e.value,t.value),e.selectionStart,t.selectionStart),s=Math.min(Ti.Vi(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd),o=(e.value.substring(n,e.value.length-s),t.value.substring(n,t.value.length-s)),r=e.selectionStart-n,a=e.selectionEnd-n,l=t.selectionStart-n,h=t.selectionEnd-n;if(l===h){const t=e.selectionStart-n;return{text:o,replacePrevCharCnt:t,replaceNextCharCnt:0,positionDelta:0}}return{text:o,replacePrevCharCnt:a-r,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(Ti.Qp(e.value,t.value),e.selectionEnd),n=Math.min(Ti.Vi(e.value,t.value),e.value.length-e.selectionEnd),s=e.value.substring(i,e.value.length-n),o=t.value.substring(i,t.value.length-n),r=(e.selectionStart,e.selectionEnd-i),a=(t.selectionStart,t.selectionEnd-i);return{text:o,replacePrevCharCnt:r,replaceNextCharCnt:s.length-r,positionDelta:a-o.length}}}class Kr{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const i=e*t,n=i+1,s=i+t;return new Xs.Q(n,1,s+1,1)}static fromEditorSelection(e,t,i,n){const s=500,o=Kr._getPageOfLine(t.startLineNumber,i),r=Kr._getRangeForPage(o,i),a=Kr._getPageOfLine(t.endLineNumber,i),l=Kr._getRangeForPage(a,i);let h=r.intersectRanges(new Xs.Q(1,1,t.startLineNumber,t.startColumn));if(n&&e.getValueLengthInRange(h,1)>s){const t=e.modifyPosition(h.getEndPosition(),-500);h=Xs.Q.fromPositions(t,h.getEndPosition())}const d=e.getValueInRange(h,1),c=e.getLineCount(),u=e.getLineMaxColumn(c);let g=l.intersectRanges(new Xs.Q(t.endLineNumber,t.endColumn,c,u));if(n&&e.getValueLengthInRange(g,1)>s){const t=e.modifyPosition(g.getStartPosition(),s);g=Xs.Q.fromPositions(g.getStartPosition(),t)}const p=e.getValueInRange(g,1);let m;if(o===a||o+1===a)m=e.getValueInRange(t,1);else{const i=r.intersectRanges(t),n=l.intersectRanges(t);m=e.getValueInRange(i,1)+String.fromCharCode(8230)+e.getValueInRange(n,1)}return n&&m.length>1e3&&(m=m.substring(0,s)+String.fromCharCode(8230)+m.substring(m.length-s,m.length)),new Ur(d+m+p,d.length,d.length+m.length,t,h.endLineNumber-h.startLineNumber)}}const jr=(0,$n.u1)("accessibilityService"),$r=new ls.N1("accessibilityModeEnabled",!1);var qr,Gr=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Qr=function(e,t){return function(i,n){t(i,n,e)}};!function(e){e.Tap="-monaco-textarea-synthetic-tap"}(qr||(qr={}));const Yr={forceCopyWithSyntaxHighlighting:!1};class Zr{static{this.INSTANCE=new Zr}constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}}class Xr{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){const t={text:e=e||"",replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let Jr=class extends Ae.jG{get textAreaState(){return this._textAreaState}constructor(e,t,i,n,s,o){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=n,this._accessibilityService=s,this._logService=o,this._onFocus=this._register(new P.vl),this.onFocus=this._onFocus.event,this._onBlur=this._register(new P.vl),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new P.vl),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new P.vl),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new P.vl),this.onCut=this._onCut.event,this._onPaste=this._register(new P.vl),this.onPaste=this._onPaste.event,this._onType=this._register(new P.vl),this.onType=this._onType.event,this._onCompositionStart=this._register(new P.vl),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new P.vl),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new P.vl),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new P.vl),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new Ae.HE),this._asyncTriggerCut=this._register(new A.uC((()=>this._onCut.fire()),0)),this._textAreaState=Ur.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(P.Jh.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new A.uC((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)):this._asyncFocusGainWriteScreenReaderContent.clear()}))),this._hasFocus=!1,this._currentComposition=null;let r=null;this._register(this._textArea.onKeyDown((e=>{const t=new N(e);(114===t.keyCode||this._currentComposition&&1===t.keyCode)&&t.stopPropagation(),t.equals(9)&&t.preventDefault(),r=t,this._onKeyDown.fire(t)}))),this._register(this._textArea.onKeyUp((e=>{const t=new N(e);this._onKeyUp.fire(t)}))),this._register(this._textArea.onCompositionStart((e=>{const t=new Xr;if(this._currentComposition)this._currentComposition=t;else{if(this._currentComposition=t,2===this._OS&&r&&r.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===e.data&&("ArrowRight"===r.code||"ArrowLeft"===r.code))return t.handleCompositionUpdate("x"),void this._onCompositionStart.fire({data:e.data});this._browser.isAndroid,this._onCompositionStart.fire({data:e.data})}}))),this._register(this._textArea.onCompositionUpdate((e=>{const t=this._currentComposition;if(!t)return;if(this._browser.isAndroid){const t=Ur.readFromTextArea(this._textArea,this._textAreaState),i=Ur.deduceAndroidCompositionInput(this._textAreaState,t);return this._textAreaState=t,this._onType.fire(i),void this._onCompositionUpdate.fire(e)}const i=t.handleCompositionUpdate(e.data);this._textAreaState=Ur.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(i),this._onCompositionUpdate.fire(e)}))),this._register(this._textArea.onCompositionEnd((e=>{const t=this._currentComposition;if(!t)return;if(this._currentComposition=null,this._browser.isAndroid){const e=Ur.readFromTextArea(this._textArea,this._textAreaState),t=Ur.deduceAndroidCompositionInput(this._textAreaState,e);return this._textAreaState=e,this._onType.fire(t),void this._onCompositionEnd.fire()}const i=t.handleCompositionUpdate(e.data);this._textAreaState=Ur.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(i),this._onCompositionEnd.fire()}))),this._register(this._textArea.onInput((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const t=Ur.readFromTextArea(this._textArea,this._textAreaState),i=Ur.deduceInput(this._textAreaState,t,2===this._OS);(0!==i.replacePrevCharCnt||1!==i.text.length||!Ti.pc(i.text.charCodeAt(0))&&127!==i.text.charCodeAt(0))&&(this._textAreaState=t,""===i.text&&0===i.replacePrevCharCnt&&0===i.replaceNextCharCnt&&0===i.positionDelta||this._onType.fire(i))}))),this._register(this._textArea.onCut((e=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(e),this._asyncTriggerCut.schedule()}))),this._register(this._textArea.onCopy((e=>{this._ensureClipboardGetsEditorSelection(e)}))),this._register(this._textArea.onPaste((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),e.preventDefault(),!e.clipboardData)return;let[t,i]=ea.getTextData(e.clipboardData);t&&(i=i||Zr.INSTANCE.get(t),this._onPaste.fire({text:t,metadata:i}))}))),this._register(this._textArea.onFocus((()=>{const e=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!e&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new A.uC((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())}))),this._register(this._textArea.onBlur((()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)}))),this._register(this._textArea.onSyntheticTap((()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())})))}_installSelectionChangeListener(){let e=0;return Ye(this._textArea.ownerDocument,"selectionchange",(t=>{if(Or.onSelectionChange(),!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;const i=Date.now(),n=i-e;if(e=i,n<5)return;const s=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),s<100)return;if(!this._textAreaState.selection)return;const o=this._textArea.getValue();if(this._textAreaState.value!==o)return;const r=this._textArea.getSelectionStart(),a=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===r&&this._textAreaState.selectionEnd===a)return;const l=this._textAreaState.deduceEditorPosition(r),h=this._host.deduceModelPosition(l[0],l[1],l[2]),d=this._textAreaState.deduceEditorPosition(a),c=this._host.deduceModelPosition(d[0],d[1],d[2]),u=new $s.L(h.lineNumber,h.column,c.lineNumber,c.column);this._onSelectionChangeRequest.fire(u)}))}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&"render"===e||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${e})`),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),i={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};Zr.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,"\n"):t.text,i),e.preventDefault(),e.clipboardData&&ea.setTextData(e.clipboardData,t.text,t.html,i)}};Jr=Gr([Qr(4,jr),Qr(5,Ds.rr)],Jr);const ea={getTextData(e){const t=e.getData(zr.K.text);let i=null;const n=e.getData("vscode-editor-data");if("string"==typeof n)try{i=JSON.parse(n),1!==i.version&&(i=null)}catch(s){}if(0===t.length&&null===i&&e.files.length>0){return[Array.prototype.slice.call(e.files,0).map((e=>e.name)).join("\n"),null]}return[t,i]},setTextData(e,t,i,n){e.setData(zr.K.text,t),"string"==typeof i&&e.setData("text/html",i),e.setData("vscode-editor-data",JSON.stringify(n))}};class ta extends Ae.jG{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new Vr(this._actual,"keydown")).event,this.onKeyUp=this._register(new Vr(this._actual,"keyup")).event,this.onCompositionStart=this._register(new Vr(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new Vr(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new Vr(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new Vr(this._actual,"beforeinput")).event,this.onInput=this._register(new Vr(this._actual,"input")).event,this.onCut=this._register(new Vr(this._actual,"cut")).event,this.onCopy=this._register(new Vr(this._actual,"copy")).event,this.onPaste=this._register(new Vr(this._actual,"paste")).event,this.onFocus=this._register(new Vr(this._actual,"focus")).event,this.onBlur=this._register(new Vr(this._actual,"blur")).event,this._onSyntheticTap=this._register(new P.vl),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown((()=>Or.onKeyDown()))),this._register(this.onBeforeInput((()=>Or.onBeforeInput()))),this._register(this.onInput((()=>Or.onInput()))),this._register(this.onKeyUp((()=>Or.onKeyUp()))),this._register(Ye(this._actual,qr.Tap,(()=>this._onSyntheticTap.fire())))}hasFocus(){const e=wt(this._actual);return e?e.activeElement===this._actual:!!this._actual.isConnected&&yt()===this._actual}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return"backward"===this._actual.selectionDirection?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return"backward"===this._actual.selectionDirection?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,i){const n=this._actual;let s=null;const o=wt(n);s=o?o.activeElement:yt();const r=We(s),a=s===n,l=n.selectionStart,d=n.selectionEnd;if(a&&l===t&&d===i)h&&r.parent!==r&&n.focus();else{if(a)return this.setIgnoreSelectionChangeTime("setSelectionRange"),n.setSelectionRange(t,i),void(h&&r.parent!==r&&n.focus());try{const e=function(e){const t=[];for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)t[i]=e.scrollTop,e=e.parentNode;return t}(n);this.setIgnoreSelectionChangeTime("setSelectionRange"),n.focus(),n.setSelectionRange(t,i),function(e,t){for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)e.scrollTop!==t[i]&&(e.scrollTop=t[i]),e=e.parentNode}(n,e)}catch(c){}}}}var ia=i(13338),na=i(78903);const sa=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let e;e="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(e){for(let t=0;te,asFile:()=>{},value:"string"==typeof e?e:void 0}}class ra{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return ss.f.some(this,(([e,t])=>t.asFile()))&&t.push("files"),ha(aa(e),t)}get(e){return this._entries.get(this.toKey(e))?.[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return aa(e)}}function aa(e){return e.toLowerCase()}function la(e,t){return ha(aa(e),t.map(aa))}function ha(e,t){if("*/*"===e)return t.length>0;if(t.includes(e))return!0;const i=e.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!i)return!1;const[n,s,o]=i;return"*"===o&&t.some((e=>e.startsWith(s+"/")))}const da=Object.freeze({create:e=>(0,ia.dM)(e.map((e=>e.toString()))).join("\r\n"),split:e=>e.split("\r\n"),parse:e=>da.split(e).filter((e=>!e.startsWith("#")))});class ca{static{this.sep="."}static{this.None=new ca("@@none@@")}static{this.Empty=new ca("")}constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||""===this.value||e.value.startsWith(this.value+ca.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new ca((this.value?[this.value,...e]:e).join(ca.sep))}}const ua={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:zr.K.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"},ga="CodeEditors",pa="CodeFiles";hs.O.add("workbench.contributions.dragAndDrop",new class{});class ma{static{this.INSTANCE=new ma}constructor(){}static getInstance(){return ma.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}}function fa(e){const t=new ra;for(const i of e.items){const e=i.type;if("string"===i.kind){const n=new Promise((e=>i.getAsString(e)));t.append(e,oa(n))}else if("file"===i.kind){const n=i.getAsFile();n&&t.append(e,_a(n))}}return t}function _a(e){const t=e.path?Bn.r.parse(e.path):void 0;return function(e,t,i){const n={id:sa(),name:e,uri:t,data:i};return{asString:async()=>"",asFile:()=>n,value:void 0}}(e.name,t,(async()=>new Uint8Array(await e.arrayBuffer())))}const va=Object.freeze([ga,pa,ua.RESOURCES,ua.INTERNAL_URI_LIST]);function ba(e,t=!1){const i=fa(e),n=i.get(ua.INTERNAL_URI_LIST);if(n)i.replace(zr.K.uriList,n);else if(t||!i.has(zr.K.uriList)){const t=[];for(const i of e.items){const e=i.getAsFile();if(e){const i=e.path;try{i?t.push(Bn.r.file(i).toString()):t.push(Bn.r.parse(e.name,!0).toString())}catch{}}}t.length&&i.replace(zr.K.uriList,oa(da.create(t)))}for(const s of va)i.delete(s);return i}const Ca=(0,$n.u1)("IWorkspaceEditService");class wa{constructor(e){this.metadata=e}static convert(e){return e.edits.map((e=>{if(ya.is(e))return ya.lift(e);if(Sa.is(e))return Sa.lift(e);throw new Error("Unsupported edit")}))}}class ya extends wa{static is(e){return e instanceof ya||(0,os.Gv)(e)&&Bn.r.isUri(e.resource)&&(0,os.Gv)(e.textEdit)}static lift(e){return e instanceof ya?e:new ya(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,i=void 0,n){super(n),this.resource=e,this.textEdit=t,this.versionId=i}}class Sa extends wa{static is(e){return e instanceof Sa||(0,os.Gv)(e)&&(Boolean(e.newResource)||Boolean(e.oldResource))}static lift(e){return e instanceof Sa?e:new Sa(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,i={},n){super(n),this.oldResource=e,this.newResource=t,this.options=i}}var ka=i(29694),La=i(52230),xa=i(18019);class Da{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const e=this._value.charCodeAt(t);if(!(47===e||this._splitOnBackslash&&92===e))break}return this.next()}hasNext(){return this._to!1,t=()=>!1){return new Ta(new Ea(e,t))}static forStrings(){return new Ta(new Da)}static forConfigKeys(){return new Ta(new Na)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const i=this._iter.reset(e);let n;this._root||(this._root=new Ma,this._root.segment=i.value());const s=[];for(n=this._root;;){const e=i.cmp(n.segment);if(e>0)n.left||(n.left=new Ma,n.left.segment=i.value()),s.push([-1,n]),n=n.left;else if(e<0)n.right||(n.right=new Ma,n.right.segment=i.value()),s.push([1,n]),n=n.right;else{if(!i.hasNext())break;i.next(),n.mid||(n.mid=new Ma,n.mid.segment=i.value()),s.push([0,n]),n=n.mid}}const o=n.value;n.value=t,n.key=e;for(let r=s.length-1;r>=0;r--){const e=s[r][1];e.updateHeight();const t=e.balanceFactor();if(t<-1||t>1){const t=s[r][0],i=s[r+1][0];if(1===t&&1===i)s[r][1]=e.rotateLeft();else if(-1===t&&-1===i)s[r][1]=e.rotateRight();else if(1===t&&-1===i)e.right=s[r+1][1]=s[r+1][1].rotateRight(),s[r][1]=e.rotateLeft();else{if(-1!==t||1!==i)throw new Error;e.left=s[r+1][1]=s[r+1][1].rotateLeft(),s[r][1]=e.rotateRight()}if(r>0)switch(s[r-1][0]){case-1:s[r-1][1].left=s[r][1];break;case 1:s[r-1][1].right=s[r][1];break;case 0:s[r-1][1].mid=s[r][1]}else this._root=s[0][1]}}return o}get(e){return this._getNode(e)?.value}_getNode(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const e=t.cmp(i.segment);if(e>0)i=i.left;else if(e<0)i=i.right;else{if(!t.hasNext())break;t.next(),i=i.mid}}return i}has(e){const t=this._getNode(e);return!(void 0===t?.value&&void 0===t?.mid)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){const i=this._iter.reset(e),n=[];let s=this._root;for(;s;){const e=i.cmp(s.segment);if(e>0)n.push([-1,s]),s=s.left;else if(e<0)n.push([1,s]),s=s.right;else{if(!i.hasNext())break;i.next(),n.push([0,s]),s=s.mid}}if(s){if(t?(s.left=void 0,s.mid=void 0,s.right=void 0,s.height=1):(s.key=void 0,s.value=void 0),!s.mid&&!s.value)if(s.left&&s.right){const e=this._min(s.right);if(e.key){const{key:t,value:i,segment:n}=e;this._delete(e.key,!1),s.key=t,s.value=i,s.segment=n}}else{const e=s.left??s.right;if(n.length>0){const[t,i]=n[n.length-1];switch(t){case-1:i.left=e;break;case 0:i.mid=e;break;case 1:i.right=e}}else this._root=e}for(let e=n.length-1;e>=0;e--){const t=n[e][1];t.updateHeight();const i=t.balanceFactor();if(i>1?(t.right.balanceFactor()>=0||(t.right=t.right.rotateRight()),n[e][1]=t.rotateLeft()):i<-1&&(t.left.balanceFactor()<=0||(t.left=t.left.rotateLeft()),n[e][1]=t.rotateRight()),e>0)switch(n[e-1][0]){case-1:n[e-1][1].left=n[e][1];break;case 1:n[e-1][1].right=n[e][1];break;case 0:n[e-1][1].mid=n[e][1]}else this._root=n[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let i,n=this._root;for(;n;){const e=t.cmp(n.segment);if(e>0)n=n.left;else if(e<0)n=n.right;else{if(!t.hasNext())break;t.next(),i=n.value||i,n=n.mid}}return n&&n.value||i}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const i=this._iter.reset(e);let n=this._root;for(;n;){const e=i.cmp(n.segment);if(e>0)n=n.left;else if(e<0)n=n.right;else{if(!i.hasNext())return n.mid?this._entries(n.mid):t?n.value:void 0;i.next(),n=n.mid}}}forEach(e){for(const[t,i]of this)e(i,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}}const Ra=(0,$n.u1)("contextService");function Aa(e){const t=e;return"string"==typeof t?.id&&Bn.r.isUri(t.uri)}function Pa(e){const t=e;return"string"==typeof t?.id&&!Aa(e)&&!function(e){const t=e;return"string"==typeof t?.id&&Bn.r.isUri(t.configPath)}(e)}const Oa={id:"ext-dev"},Fa={id:"empty-window"};class Wa{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const Ba="code-workspace",Ha=((0,jn.kg)("codeWorkspace","Code Workspace"),"4064f6ec-cb38-4ad0-af64-ee6467e63c82");var Va=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},za=function(e,t){return function(i,n){t(i,n,e)}};class Ua{async provideDocumentPasteEdits(e,t,i,n,s){const o=await this.getEdit(i,s);if(o)return{edits:[{insertText:o.insertText,title:o.title,kind:o.kind,handledMimeType:o.handledMimeType,yieldTo:o.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,n){const s=await this.getEdit(i,n);if(s)return{edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}],dispose(){}}}}class Ka extends Ua{constructor(){super(...arguments),this.kind=Ka.kind,this.dropMimeTypes=[zr.K.text],this.pasteMimeTypes=[zr.K.text]}static{this.id="text"}static{this.kind=new ca("text.plain")}async getEdit(e,t){const i=e.get(zr.K.text);if(!i)return;if(e.has(zr.K.uriList))return;const n=await i.asString();return{handledMimeType:zr.K.text,title:(0,jn.kg)("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}}class ja extends Ua{constructor(){super(...arguments),this.kind=new ca("uri.absolute"),this.dropMimeTypes=[zr.K.uriList],this.pasteMimeTypes=[zr.K.uriList]}async getEdit(e,t){const i=await Ga(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map((({uri:e,originalText:t})=>e.scheme===Pe.ny.file?e.fsPath:(n++,t))).join(" ");let o;return o=n>0?i.length>1?(0,jn.kg)("defaultDropProvider.uriList.uris","Insert Uris"):(0,jn.kg)("defaultDropProvider.uriList.uri","Insert Uri"):i.length>1?(0,jn.kg)("defaultDropProvider.uriList.paths","Insert Paths"):(0,jn.kg)("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:zr.K.uriList,insertText:s,title:o,kind:this.kind}}}let $a=class extends Ua{constructor(e){super(),this._workspaceContextService=e,this.kind=new ca("uri.relative"),this.dropMimeTypes=[zr.K.uriList],this.pasteMimeTypes=[zr.K.uriList]}async getEdit(e,t){const i=await Ga(e);if(!i.length||t.isCancellationRequested)return;const n=(0,ia.Yc)(i.map((({uri:e})=>{const t=this._workspaceContextService.getWorkspaceFolder(e);return t?(0,Wn.iZ)(t.uri,e):void 0})));return n.length?{handledMimeType:zr.K.uriList,insertText:n.join(" "),title:i.length>1?(0,jn.kg)("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):(0,jn.kg)("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}:void 0}};$a=Va([za(0,Ra)],$a);class qa{constructor(){this.kind=new ca("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:zr.K.text}]}async provideDocumentPasteEdits(e,t,i,n,s){if(n.triggerKind!==ka.FX.PasteAs&&!n.only?.contains(this.kind))return;const o=i.get("text/html"),r=await(o?.asString());return r&&!s.isCancellationRequested?{dispose(){},edits:[{insertText:r,yieldTo:this._yieldTo,title:(0,jn.kg)("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}:void 0}}async function Ga(e){const t=e.get(zr.K.uriList);if(!t)return[];const i=await t.asString(),n=[];for(const s of da.parse(i))try{n.push({uri:Bn.r.parse(s),originalText:s})}catch{}return n}let Qa=class extends Ae.jG{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Ka)),this._register(e.documentDropEditProvider.register("*",new ja)),this._register(e.documentDropEditProvider.register("*",new $a(t)))}};Qa=Va([za(0,La.ILanguageFeaturesService),za(1,Ra)],Qa);let Ya=class extends Ae.jG{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Ka)),this._register(e.documentPasteEditProvider.register("*",new ja)),this._register(e.documentPasteEditProvider.register("*",new $a(t))),this._register(e.documentPasteEditProvider.register("*",new qa))}};Ya=Va([za(0,La.ILanguageFeaturesService),za(1,Ra)],Ya);class Za{constructor(){this.value="",this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return 95===e||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t,i=0,n=this.value.charCodeAt(e);if(t=Za._table[n],"number"==typeof t)return this.pos+=1,{type:t,pos:e,len:1};if(Za.isDigitCharacter(n)){t=8;do{i+=1,n=this.value.charCodeAt(e+i)}while(Za.isDigitCharacter(n));return this.pos+=i,{type:t,pos:e,len:i}}if(Za.isVariableCharacter(n)){t=9;do{n=this.value.charCodeAt(e+ ++i)}while(Za.isVariableCharacter(n)||Za.isDigitCharacter(n));return this.pos+=i,{type:t,pos:e,len:i}}t=10;do{i+=1,n=this.value.charCodeAt(e+i)}while(!isNaN(n)&&void 0===Za._table[n]&&!Za.isDigitCharacter(n)&&!Za.isVariableCharacter(n));return this.pos+=i,{type:t,pos:e,len:i}}}class Xa{constructor(){this._children=[]}appendChild(e){return e instanceof Ja&&this._children[this._children.length-1]instanceof Ja?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,n=i.children.indexOf(e),s=i.children.slice(0);s.splice(n,1,...t),i._children=s,function e(t,i){for(const n of t)n.parent=i,e(n.children,n)}(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof al)return e;e=e.parent}}toString(){return this.children.reduce(((e,t)=>e+t.toString()),"")}len(){return 0}}class Ja extends Xa{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new Ja(this.value)}}class el extends Xa{}class tl extends el{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof il?this._children[0]:void 0}clone(){const e=new tl(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}class il extends Xa{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Ja&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new il;return this.options.forEach(e.appendChild,e),e}}class nl extends Xa{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,n=e.replace(this.regexp,(function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))}));return!i&&this._children.some((e=>e instanceof sl&&Boolean(e.elseValue)))&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof sl){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new nl;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map((e=>e.clone())),e}}class sl extends Xa{constructor(e,t,i,n){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=n}resolve(e){return"upcase"===this.shorthandName?e?e.toLocaleUpperCase():"":"downcase"===this.shorthandName?e?e.toLocaleLowerCase():"":"capitalize"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):"":"pascalcase"===this.shorthandName?e?this._toPascalCase(e):"":"camelcase"===this.shorthandName?e?this._toCamelCase(e):"":Boolean(e)&&"string"==typeof this.ifValue?this.ifValue:Boolean(e)||"string"!=typeof this.elseValue?e||"":this.elseValue}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((e=>e.charAt(0).toUpperCase()+e.substr(1))).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(((e,t)=>0===t?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1))).join(""):e}clone(){return new sl(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class ol extends el{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),void 0!==t&&(this._children=[new Ja(t)],!0)}clone(){const e=new ol(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}function rl(e,t){const i=[...e];for(;i.length>0;){const e=i.shift();if(!t(e))break;i.unshift(...e.children)}}class al extends Xa{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk((function(i){return i instanceof tl&&(e.push(i),t=!t||t.indexn===e?(i=!0,!1):(t+=n.len(),!0))),i?t:-1}fullLen(e){let t=0;return rl([e],(e=>(t+=e.len(),!0))),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof tl&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk((t=>(t instanceof ol&&t.resolve(e)&&(this._placeholders=void 0),!0))),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new al;return this._children=this.children.map((e=>e.clone())),e}walk(e){rl(this.children,e)}}class ll{constructor(){this._scanner=new Za,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const n=new al;return this.parseFragment(e,n),this.ensureFinalTabstop(n,i??!1,t??!1),n}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const n=new Map,s=[];t.walk((e=>(e instanceof tl&&(e.isFinalTabstop?n.set(0,void 0):!n.has(e.index)&&e.children.length>0?n.set(e.index,e.children):s.push(e)),!0)));const o=(e,i)=>{const s=n.get(e.index);if(!s)return;const r=new tl(e.index);r.transform=e.transform;for(const t of s){const e=t.clone();r.appendChild(e),e instanceof tl&&n.has(e.index)&&!i.has(e.index)&&(i.add(e.index),o(e,i),i.delete(e.index))}t.replace(e,[r])},r=new Set;for(const a of s)o(a,r);return t.children.slice(i)}ensureFinalTabstop(e,t,i){if(t||i&&e.placeholders.length>0){e.placeholders.find((e=>0===e.index))||e.appendChild(new tl(0))}}_accept(e,t){if(void 0===e||this._token.type===e){const e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(14===this._token.type)return!1;if(5===this._token.type){const e=this._scanner.next();if(0!==e.type&&4!==e.type&&5!==e.type)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return!!(t=this._accept(5,!0))&&(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new Ja(t)),!0)}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new tl(Number(t)):new ol(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const n=new tl(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new Ja("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else{if(!(n.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i);{const t=new il;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(n.appendChild(t),this._accept(4)))return e.appendChild(n),!0}return this._backTo(i),!1}}}}_parseChoiceElement(e){const t=this._token,i=[];for(;2!==this._token.type&&7!==this._token.type;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;i.push(e)}return 0===i.length?(this._backTo(t),!1):(e.appendChild(new Ja(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const n=new ol(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i);for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new Ja("${"+t+":")),n.children.forEach(e.appendChild,e),!0}}_parseTransform(e){const t=new nl;let i="",n="";for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(6,!0)||e,i+=e;else{if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}}for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new Ja(e));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}try{t.regexp=new RegExp(i,n)}catch(s){return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const n=this._accept(8,!0);if(!n)return this._backTo(t),!1;if(!i)return e.appendChild(new sl(Number(n))),!0;if(this._accept(4))return e.appendChild(new sl(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){const i=this._accept(9,!0);return i&&this._accept(4)?(e.appendChild(new sl(Number(n),i)),!0):(this._backTo(t),!1)}if(this._accept(11)){const t=this._until(4);if(t)return e.appendChild(new sl(Number(n),void 0,t,void 0)),!0}else if(this._accept(12)){const t=this._until(4);if(t)return e.appendChild(new sl(Number(n),void 0,void 0,t)),!0}else if(this._accept(13)){const t=this._until(1);if(t){const i=this._until(4);if(i)return e.appendChild(new sl(Number(n),void 0,t,i)),!0}}else{const t=this._until(4);if(t)return e.appendChild(new sl(Number(n),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return 14!==this._token.type&&(e.appendChild(new Ja(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}function hl(e,t,i){return("string"==typeof i.insertText?""===i.insertText:""===i.insertText.snippet)?{edits:i.additionalEdit?.edits??[]}:{edits:[...t.map((t=>new ya(e,{range:t,text:"string"==typeof i.insertText?ll.escape(i.insertText)+"$0":i.insertText.snippet,insertAsSnippet:!0}))),...i.additionalEdit?.edits??[]]}}function dl(e){function t(e,t){return"mimeType"in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}const i=new Map;for(const o of e)for(const n of o.yieldTo??[])for(const s of e)if(s!==o&&t(n,s)){let e=i.get(o);e||(e=[],i.set(o,e)),e.push(s)}if(!i.size)return Array.from(e);const n=new Set,s=[];return function e(t){if(!t.length)return[];const o=t[0];if(s.includes(o))return console.warn("Yield to cycle detected",o),t;if(n.has(o))return e(t.slice(1));let r=[];const a=i.get(o);return a&&(s.push(o),r=e(a),s.pop()),n.add(o),[...r,o,...e(t.slice(1))]}(Array.from(e))}var cl=i(66726);const ul=(0,$n.u1)("IEditorCancelService"),gl=new ls.N1("cancellableOperation",!1,(0,jn.kg)("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,cl.v)(ul,class{constructor(){this._tokens=new WeakMap}add(e,t){let i,n=this._tokens.get(e);return n||(n=e.invokeWithinContext((e=>({key:gl.bindTo(e.get(ls.fN)),tokens:new ns.w}))),this._tokens.set(e,n)),n.key.set(!0),i=n.tokens.push(t),()=>{i&&(i(),n.key.set(!n.tokens.isEmpty()),i=void 0)}}cancel(e){const t=this._tokens.get(e);if(!t)return;const i=t.tokens.pop();i&&(i.cancel(),t.key.set(!t.tokens.isEmpty()))}},1);class pl extends na.Qi{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext((t=>t.get(ul).add(e,this)))}dispose(){this._unregister(),super.dispose()}}Os(new class extends Ms{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:gl})}runEditorCommand(e,t){e.get(ul).cancel(t)}});class ml{constructor(e,t){if(this.flags=t,1&this.flags){const t=e.getModel();this.modelVersionId=t?Ti.GP("{0}#{1}",t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;4&this.flags?this.position=e.getPosition():this.position=null,2&this.flags?this.selection=e.getSelection():this.selection=null,8&this.flags?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof ml))return!1;const t=e;return this.modelVersionId===t.modelVersionId&&(this.scrollLeft===t.scrollLeft&&this.scrollTop===t.scrollTop&&(!(!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position))&&!(!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))))}validate(e){return this._equals(new ml(e,this.flags))}}class fl extends pl{constructor(e,t,i,n){super(e,n),this._listener=new Ae.Cm,4&t&&this._listener.add(e.onDidChangeCursorPosition((e=>{i&&Xs.Q.containsPosition(i,e.position)||this.cancel()}))),2&t&&this._listener.add(e.onDidChangeCursorSelection((e=>{i&&Xs.Q.containsRange(i,e.selection)||this.cancel()}))),8&t&&this._listener.add(e.onDidScrollChange((e=>this.cancel()))),1&t&&(this._listener.add(e.onDidChangeModel((e=>this.cancel()))),this._listener.add(e.onDidChangeModelContent((e=>this.cancel()))))}dispose(){this._listener.dispose(),super.dispose()}}class _l extends na.Qi{constructor(e,t){super(t),this._listener=e.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}var vl=i(2181),bl=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Cl=function(e,t){return function(i,n){t(i,n,e)}};const wl=eo.kI.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:Ti.S8,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class yl extends Ae.jG{static{this.baseId="editor.widget.inlineProgressWidget"}constructor(e,t,i,n,s){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=s,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(n),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=ei(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=ei("span.icon");this.domNode.append(t),t.classList.add(...In.L.asClassNameArray(vl.W.loading),"codicon-modifier-spin");const i=()=>{const e=this.editor.getOption(67);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};i(),this._register(this.editor.onDidChangeConfiguration((e=>{(e.hasChanged(52)||e.hasChanged(67))&&i()}))),this._register(Ye(this.domNode,Ut.CLICK,(e=>{this.delegate.cancel()})))}getId(){return yl.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}let Sl=class extends Ae.jG{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Ae.HE),this._currentWidget=this._register(new Ae.HE),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,n,s){const o=this._operationIdPool++;this._currentOperation=o,this.clear(),this._showPromise.value=(0,A.EQ)((()=>{const i=Xs.Q.fromPositions(e);this._currentDecorations.set([{range:i,options:wl}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(yl,this.id,this._editor,i,t,n))}),s??this._showDelay);try{return await i}finally{this._currentOperation===o&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};function kl(e,t={}){const i=Ll(t);return Dl(i,function(e,t){const i={type:1,children:[]};let n=0,s=i;const o=[],r=new xl(e);for(;!r.eos();){let e=r.next();const i="\\"===e&&0!==Il(r.peek(),t);if(i&&(e=r.next()),!i&&Nl(e,t)&&e===r.peek()){r.advance(),2===s.type&&(s=o.pop());const i=Il(e,t);if(s.type===i||5===s.type&&6===i)s=o.pop();else{const e={type:i,children:[]};5===i&&(e.index=n,n++),s.children.push(e),o.push(s),s=e}}else if("\n"===e)2===s.type&&(s=o.pop()),s.children.push({type:8});else if(2!==s.type){const t={type:2,content:e};s.children.push(t),o.push(s),s=t}else s.content+=e}2===s.type&&(s=o.pop());o.length;return i}(e,!!t.renderCodeSegments),t.actionHandler,t.renderCodeSegments),i}function Ll(e){const t=e.inline?"span":"div",i=document.createElement(t);return e.className&&(i.className=e.className),i}Sl=bl([Cl(2,$n._Y)],Sl);class xl{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function Dl(e,t,i,n){let s;if(2===t.type)s=document.createTextNode(t.content||"");else if(3===t.type)s=document.createElement("b");else if(4===t.type)s=document.createElement("i");else if(7===t.type&&n)s=document.createElement("code");else if(5===t.type&&i){const e=document.createElement("a");i.disposables.add(Xe(e,"click",(e=>{i.callback(String(t.index),e)}))),s=e}else 8===t.type?s=document.createElement("br"):1===t.type&&(s=e);s&&e!==s&&e.appendChild(s),s&&Array.isArray(t.children)&&t.children.forEach((e=>{Dl(s,e,i,n)}))}function Nl(e,t){return 0!==Il(e,t)}function Il(e,t){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return t?7:0;default:return 0}}const El=new RegExp(`(\\\\)?\\$\\((${In.L.iconNameExpression}(?:${In.L.iconModifierExpression})?)\\)`,"g");function Ml(e){const t=new Array;let i,n=0,s=0;for(;null!==(i=El.exec(e));){s=i.index||0,n"']/,s=new RegExp(n.source,"g"),o=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,r=new RegExp(o.source,"g"),a={"&":"&","<":"<",">":">",'"':""","'":"'"},l=e=>a[e];function h(e,t){if(t){if(n.test(e))return e.replace(s,l)}else if(o.test(e))return e.replace(r,l);return e}const d=/(^|[^\[])\^/g;function c(e,t){let i="string"==typeof e?e:e.source;t=t||"";const n={replace:(e,t)=>{let s="string"==typeof t?t:t.source;return s=s.replace(d,"$1"),i=i.replace(e,s),n},getRegex:()=>new RegExp(i,t)};return n}function u(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const g={exec:()=>null};function p(e,t){const i=e.replace(/\|/g,((e,t,i)=>{let n=!1,s=t;for(;--s>=0&&"\\"===i[s];)n=!n;return n?"|":" |"})).split(/ \|/);let n=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:m(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],i=function(e,t){const i=e.match(/^(\s+)(?:```)/);if(null===i)return t;const n=i[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[i]=t;return i.length>=n.length?e.slice(n.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:i}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=m(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:m(t[0],"\n")}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let e=m(t[0],"\n").split("\n"),i="",n="";const s=[];for(;e.length>0;){let t=!1;const o=[];let r;for(r=0;r/.test(e[r]))o.push(e[r]),t=!0;else{if(t)break;o.push(e[r])}e=e.slice(r);const a=o.join("\n"),l=a.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");i=i?`${i}\n${a}`:a,n=n?`${n}\n${l}`:l;const h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,s,!0),this.lexer.state.top=h,0===e.length)break;const d=s[s.length-1];if("code"===d?.type)break;if("blockquote"===d?.type){const t=d,o=t.raw+"\n"+e.join("\n"),r=this.blockquote(o);s[s.length-1]=r,i=i.substring(0,i.length-t.raw.length)+r.raw,n=n.substring(0,n.length-t.text.length)+r.text;break}if("list"!==d?.type);else{const t=d,o=t.raw+"\n"+e.join("\n"),r=this.list(o);s[s.length-1]=r,i=i.substring(0,i.length-d.raw.length)+r.raw,n=n.substring(0,n.length-t.raw.length)+r.raw,e=o.substring(s[s.length-1].raw.length).split("\n")}}return{type:"blockquote",raw:i,tokens:s,text:n}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[1].trim();const n=i.length>1,s={type:"list",raw:"",ordered:n,start:n?+i.slice(0,-1):"",loose:!1,items:[]};i=n?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=n?i:"[*+-]");const o=new RegExp(`^( {0,3}${i})((?:[\t ][^\\n]*)?(?:\\n|$))`);let r=!1;for(;e;){let i=!1,n="",a="";if(!(t=o.exec(e)))break;if(this.rules.block.hr.test(e))break;n=t[0],e=e.substring(n.length);let l=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),h=e.split("\n",1)[0],d=!l.trim(),c=0;if(this.options.pedantic?(c=2,a=l.trimStart()):d?c=t[1].length+1:(c=t[2].search(/[^ ]/),c=c>4?1:c,a=l.slice(c),c+=t[1].length),d&&/^ *$/.test(h)&&(n+=h+"\n",e=e.substring(h.length+1),i=!0),!i){const t=new RegExp(`^ {0,${Math.min(3,c-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),i=new RegExp(`^ {0,${Math.min(3,c-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),s=new RegExp(`^ {0,${Math.min(3,c-1)}}(?:\`\`\`|~~~)`),o=new RegExp(`^ {0,${Math.min(3,c-1)}}#`);for(;e;){const r=e.split("\n",1)[0];if(h=r,this.options.pedantic&&(h=h.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),s.test(h))break;if(o.test(h))break;if(t.test(h))break;if(i.test(e))break;if(h.search(/[^ ]/)>=c||!h.trim())a+="\n"+h.slice(c);else{if(d)break;if(l.search(/[^ ]/)>=4)break;if(s.test(l))break;if(o.test(l))break;if(i.test(l))break;a+="\n"+h}d||h.trim()||(d=!0),n+=r+"\n",e=e.substring(r.length+1),l=h.slice(c)}}s.loose||(r?s.loose=!0:/\n *\n *$/.test(n)&&(r=!0));let u,g=null;this.options.gfm&&(g=/^\[[ xX]\] /.exec(a),g&&(u="[ ] "!==g[0],a=a.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:n,task:!!g,checked:u,loose:!1,text:a,tokens:[]}),s.raw+=n}s.items[s.items.length-1].raw=s.items[s.items.length-1].raw.trimEnd(),s.items[s.items.length-1].text=s.items[s.items.length-1].text.trimEnd(),s.raw=s.raw.trimEnd();for(let e=0;e"space"===e.type)),i=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));s.loose=i}if(s.loose)for(let e=0;e$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:i,title:n}}}table(e){const t=this.rules.block.table.exec(e);if(!t)return;if(!/[:|]/.test(t[2]))return;const i=p(t[1]),n=t[2].replace(/^\||\| *$/g,"").split("|"),s=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],o={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===n.length){for(const e of n)/^ *-+: *$/.test(e)?o.align.push("right"):/^ *:-+: *$/.test(e)?o.align.push("center"):/^ *:-+ *$/.test(e)?o.align.push("left"):o.align.push(null);for(let e=0;e({text:e,tokens:this.lexer.inline(e),header:!1,align:o.align[t]}))));return o}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:h(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=m(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let i=0;for(let n=0;n-1){const i=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,i).trim(),t[3]=""}}let i=t[2],n="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);e&&(i=e[1],n=e[3])}else n=t[3]?t[3].slice(1,-1):"";return i=i.trim(),/^$/.test(e)?i.slice(1):i.slice(1,-1)),f(t,{href:i?i.replace(this.rules.inline.anyPunctuation,"$1"):i,title:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n},t[0],this.lexer)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){const e=t[(i[2]||i[1]).replace(/\s+/g," ").toLowerCase()];if(!e){const e=i[0].charAt(0);return{type:"text",raw:e,text:e}}return f(i,e,i[0],this.lexer)}}emStrong(e,t,i=""){let n=this.rules.inline.emStrongLDelim.exec(e);if(n&&(!n[3]||!i.match(/[\p{L}\p{N}]/u))&&(!n[1]&&!n[2]||!i||this.rules.inline.punctuation.exec(i))){const i=[...n[0]].length-1;let s,o,r=i,a=0;const l="*"===n[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+i);null!=(n=l.exec(t));){if(s=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!s)continue;if(o=[...s].length,n[3]||n[4]){r+=o;continue}if((n[5]||n[6])&&i%3&&!((i+o)%3)){a+=o;continue}if(r-=o,r>0)continue;o=Math.min(o,o+r+a);const t=[...n[0]][0].length,l=e.slice(0,i+n.index+t+o);if(Math.min(i,o)%2){const e=l.slice(1,-1);return{type:"em",raw:l,text:e,tokens:this.lexer.inlineTokens(e)}}const h=l.slice(2,-2);return{type:"strong",raw:l,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const i=/[^ ]/.test(e),n=/^ /.test(e)&&/ $/.test(e);return i&&n&&(e=e.substring(1,e.length-1)),e=h(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,i;return"@"===t[2]?(e=h(t[1]),i="mailto:"+e):(e=h(t[1]),i=e),{type:"link",raw:t[0],text:e,href:i,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,i;if("@"===t[2])e=h(t[0]),i="mailto:"+e;else{let n;do{n=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(n!==t[0]);e=h(t[0]),i="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:i,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:h(t[0]),{type:"text",raw:t[0],text:e}}}}const v=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,b=/(?:[*+-]|\d{1,9}[.)])/,C=c(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,b).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),w=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,y=/(?!\s*\])(?:\\.|[^\[\]\\])+/,S=c(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",y).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),k=c(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,b).getRegex(),L="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",x=/|$))/,D=c("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",x).replace("tag",L).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),N=c(w).replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",L).getRegex(),I={blockquote:c(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",N).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:S,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:v,html:D,lheading:C,list:k,newline:/^(?: *(?:\n|$))+/,paragraph:N,table:g,text:/^[^\n]+/},E=c("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",L).getRegex(),M={...I,table:E,paragraph:c(w).replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",E).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",L).getRegex()},T={...I,html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",x).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:g,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:c(w).replace("hr",v).replace("heading"," *#{1,6} *[^\n]").replace("lheading",C).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},R=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,A=/^( {2,}|\\)\n(?!\s*$)/,P="\\p{P}\\p{S}",O=c(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,P).getRegex(),F=c(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,P).getRegex(),W=c("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,P).getRegex(),B=c("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,P).getRegex(),H=c(/\\([punct])/,"gu").replace(/punct/g,P).getRegex(),V=c(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),z=c(x).replace("(?:--\x3e|$)","--\x3e").getRegex(),U=c("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",z).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),K=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,j=c(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",K).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),$=c(/^!?\[(label)\]\[(ref)\]/).replace("label",K).replace("ref",y).getRegex(),q=c(/^!?\[(ref)\](?:\[\])?/).replace("ref",y).getRegex(),G={_backpedal:g,anyPunctuation:H,autolink:V,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:A,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:g,emStrongLDelim:F,emStrongRDelimAst:W,emStrongRDelimUnd:B,escape:R,link:j,nolink:q,punctuation:O,reflink:$,reflinkSearch:c("reflink|nolink(?!\\()","g").replace("reflink",$).replace("nolink",q).getRegex(),tag:U,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\t+" ".repeat(i.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((i=>!!(n=i.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?t.push(n):(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(s.raw+="\n"+n.raw,s.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(o=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const i=e.slice(1);let n;this.options.extensions.startBlock.forEach((e=>{n=e.call({lexer:this},i),"number"==typeof n&&n>=0&&(t=Math.min(t,n))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(o)))s=t[t.length-1],i&&"paragraph"===s?.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n),i=o.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===s.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i,n,s,o,r,a,l=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(l));)e.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.anyPunctuation.exec(l));)l=l.slice(0,o.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(r||(a=""),r=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((n=>!!(i=n.call({lexer:this},e,t))&&(e=e.substring(i.raw.length),t.push(i),!0)))))if(i=this.tokenizer.escape(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.tag(e))e=e.substring(i.raw.length),n=t[t.length-1],n&&"text"===i.type&&"text"===n.type?(n.raw+=i.raw,n.text+=i.text):t.push(i);else if(i=this.tokenizer.link(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(i.raw.length),n=t[t.length-1],n&&"text"===i.type&&"text"===n.type?(n.raw+=i.raw,n.text+=i.text):t.push(i);else if(i=this.tokenizer.emStrong(e,l,a))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.codespan(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.br(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.del(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.autolink(e))e=e.substring(i.raw.length),t.push(i);else if(this.state.inLink||!(i=this.tokenizer.url(e))){if(s=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const i=e.slice(1);let n;this.options.extensions.startInline.forEach((e=>{n=e.call({lexer:this},i),"number"==typeof n&&n>=0&&(t=Math.min(t,n))})),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(i=this.tokenizer.inlineText(s))e=e.substring(i.raw.length),"_"!==i.raw.slice(-1)&&(a=i.raw.slice(-1)),r=!0,n=t[t.length-1],n&&"text"===n.type?(n.raw+=i.raw,n.text+=i.text):t.push(i);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(i.raw.length),t.push(i);return t}}class te{options;parser;constructor(t){this.options=t||e.defaults}space(e){return""}code({text:e,lang:t,escaped:i}){const n=(t||"").match(/^\S*/)?.[0],s=e.replace(/\n$/,"")+"\n";return n?'

'+(i?s:h(s,!0))+"
\n":"
"+(i?s:h(s,!0))+"
\n"}blockquote({tokens:e}){return`
\n${this.parser.parse(e)}
\n`}html({text:e}){return e}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)}\n`}hr(e){return"
\n"}list(e){const t=e.ordered,i=e.start;let n="";for(let o=0;o\n"+n+"\n"}listitem(e){let t="";if(e.task){const i=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=i+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=i+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:i+" ",text:i+" "}):t+=i+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`
  • ${t}
  • \n`}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    \n`}table(e){let t="",i="";for(let s=0;s${n}`),"\n\n"+t+"\n"+n+"
    \n"}tablerow({text:e}){return`\n${e}\n`}tablecell(e){const t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`\n`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${e}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:i}){const n=this.parser.parseInline(i),s=u(e);if(null===s)return n;let o='
    ",o}image({href:e,title:t,text:i}){const n=u(e);if(null===n)return i;let s=`${i}{const s=e[n].flat(1/0);i=i.concat(this.walkTokens(s,t))})):e.tokens&&(i=i.concat(this.walkTokens(e.tokens,t)))}}return i}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const i={...e};if(i.async=this.defaults.async||i.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const i=t.renderers[e.name];t.renderers[e.name]=i?function(...t){let n=e.renderer.apply(this,t);return!1===n&&(n=i.apply(this,t)),n}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const i=t[e.level];i?i.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),i.extensions=t),e.renderer){const t=this.defaults.renderer||new te(this.defaults);for(const i in e.renderer){if(!(i in t))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;const n=i,s=e.renderer[n],o=t[n];t[n]=(...e)=>{let i=s.apply(t,e);return!1===i&&(i=o.apply(t,e)),i||""}}i.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new _(this.defaults);for(const i in e.tokenizer){if(!(i in t))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;const n=i,s=e.tokenizer[n],o=t[n];t[n]=(...e)=>{let i=s.apply(t,e);return!1===i&&(i=o.apply(t,e)),i}}i.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new se;for(const i in e.hooks){if(!(i in t))throw new Error(`hook '${i}' does not exist`);if("options"===i)continue;const n=i,s=e.hooks[n],o=t[n];se.passThroughHooks.has(i)?t[n]=e=>{if(this.defaults.async)return Promise.resolve(s.call(t,e)).then((e=>o.call(t,e)));const i=s.call(t,e);return o.call(t,i)}:t[n]=(...e)=>{let i=s.apply(t,e);return!1===i&&(i=o.apply(t,e)),i}}i.hooks=t}if(e.walkTokens){const t=this.defaults.walkTokens,n=e.walkTokens;i.walkTokens=function(e){let i=[];return i.push(n.call(this,e)),t&&(i=i.concat(t.call(this,e))),i}}this.defaults={...this.defaults,...i}})),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ee.lex(e,t??this.defaults)}parser(e,t){return ne.parse(e,t??this.defaults)}parseMarkdown(e,t){return(i,n)=>{const s={...n},o={...this.defaults,...s},r=this.onError(!!o.silent,!!o.async);if(!0===this.defaults.async&&!1===s.async)return r(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(null==i)return r(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof i)return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(o.hooks&&(o.hooks.options=o),o.async)return Promise.resolve(o.hooks?o.hooks.preprocess(i):i).then((t=>e(t,o))).then((e=>o.hooks?o.hooks.processAllTokens(e):e)).then((e=>o.walkTokens?Promise.all(this.walkTokens(e,o.walkTokens)).then((()=>e)):e)).then((e=>t(e,o))).then((e=>o.hooks?o.hooks.postprocess(e):e)).catch(r);try{o.hooks&&(i=o.hooks.preprocess(i));let n=e(i,o);o.hooks&&(n=o.hooks.processAllTokens(n)),o.walkTokens&&this.walkTokens(n,o.walkTokens);let s=t(n,o);return o.hooks&&(s=o.hooks.postprocess(s)),s}catch(a){return r(a)}}}onError(e,t){return i=>{if(i.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+h(i.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(i);throw i}}}const re=new oe;function ae(e,t){return re.parse(e,t)}ae.options=ae.setOptions=function(e){return re.setOptions(e),ae.defaults=re.defaults,i(ae.defaults),ae},ae.getDefaults=t,ae.defaults=e.defaults,ae.use=function(...e){return re.use(...e),ae.defaults=re.defaults,i(ae.defaults),ae},ae.walkTokens=function(e,t){return re.walkTokens(e,t)},ae.parseInline=re.parseInline,ae.Parser=ne,ae.parser=ne.parse,ae.Renderer=te,ae.TextRenderer=ie,ae.Lexer=ee,ae.lexer=ee.lex,ae.Tokenizer=_,ae.Hooks=se,ae.parse=ae;const le=ae.options,he=ae.setOptions,de=ae.use,ce=ae.walkTokens,ue=ae.parseInline,ge=ae,pe=ne.parse,me=ee.lex;e.Hooks=se,e.Lexer=ee,e.Marked=oe,e.Parser=ne,e.Renderer=te,e.TextRenderer=ie,e.Tokenizer=_,e.getDefaults=t,e.lexer=me,e.marked=ae,e.options=le,e.parse=ge,e.parseInline=ue,e.parser=pe,e.setOptions=he,e.use=de,e.walkTokens=ce},e.amd?e(0,i):"object"==typeof exports?i(exports):i((t="undefined"!=typeof globalThis?globalThis:t||self).marked={})}();Ol.Hooks||exports.Hooks,Ol.Lexer||exports.Lexer,Ol.Marked||exports.Marked,Ol.Parser||exports.Parser;var Fl=Ol.Renderer||exports.Renderer,Wl=(Ol.TextRenderer||exports.TextRenderer,Ol.Tokenizer||exports.Tokenizer,Ol.defaults||exports.defaults),Bl=(Ol.getDefaults||exports.getDefaults,Ol.lexer||exports.lexer),Hl=(Ol.marked||exports.marked,Ol.options||exports.options,Ol.parse||exports.parse),Vl=(Ol.parseInline||exports.parseInline,Ol.parser||exports.parser),zl=(Ol.setOptions||exports.setOptions,Ol.use||exports.use,Ol.walkTokens||exports.walkTokens,i(42802));function Ul(e){let t=JSON.parse(e);return t=jl(t),t}function Kl(e,t){return t instanceof RegExp?{$mid:2,source:t.source,flags:t.flags}:t}function jl(e,t=0){if(!e||t>200)return e;if("object"==typeof e){switch(e.$mid){case 1:return Bn.r.revive(e);case 2:return new RegExp(e.source,e.flags);case 17:return new Date(e.source)}if(e instanceof zl.MB||e instanceof Uint8Array)return e;if(Array.isArray(e))for(let i=0;i{let n=[],s=[];return e&&(({href:e,dimensions:n}=function(e){const t=[],i=e.split("|").map((e=>e.trim()));e=i[0];const n=i[1];if(n){const e=/height=(\d+)/.exec(n),i=/width=(\d+)/.exec(n),s=e?e[1]:"",o=i?i[1]:"",r=isFinite(parseInt(o)),a=isFinite(parseInt(s));r&&t.push(`width="${o}"`),a&&t.push(`height="${s}"`)}return{href:e,dimensions:t}}(e)),s.push(`src="${Un(e)}"`)),i&&s.push(`alt="${Un(i)}"`),t&&s.push(`title="${Un(t)}"`),n.length&&(s=s.concat(n)),""},paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    `},link({href:e,title:t,tokens:i}){let n=this.parser.parseInline(i);return"string"!=typeof e?"":(e===n&&(n=Kn(n)),t="string"==typeof t?Un(Kn(t)):"",`
    /g,">").replace(/"/g,""").replace(/'/g,"'")}" title="${t||e}" draggable="false">${n}`)}});function Gl(e,t={},i={}){const n=new Ae.Cm;let s=!1;const o=Ll(t),r=function(t){let i;try{i=Ul(decodeURIComponent(t))}catch(n){}return i?(i=(0,$l.PI)(i,(t=>e.uris&&e.uris[t]?Bn.r.revive(e.uris[t]):void 0)),encodeURIComponent(JSON.stringify(i))):t},a=function(t,i){const n=e.uris&&e.uris[t];let s=Bn.r.revive(n);return i?t.startsWith(Pe.ny.data+":")?t:(s||(s=Bn.r.parse(t)),Pe.zl.uriToBrowserUri(s).toString(!0)):s?Bn.r.parse(t).toString()===s.toString()?t:(s.query&&(s=s.with({query:r(s.query)})),s.toString()):t},l=new Fl;l.image=ql.image,l.link=ql.link,l.paragraph=ql.paragraph;const h=[],d=[];if(t.codeBlockRendererSync?l.code=({text:e,lang:i})=>{const n=Al.nextId(),s=t.codeBlockRendererSync(Ql(i),e);return d.push([n,s]),`
    ${(0,Ti.ih)(e)}
    `}:t.codeBlockRenderer&&(l.code=({text:e,lang:i})=>{const n=Al.nextId(),s=t.codeBlockRenderer(Ql(i),e);return h.push(s.then((e=>[n,e]))),`
    ${(0,Ti.ih)(e)}
    `}),t.actionHandler){const i=function(i){let n=i.target;if("A"===n.tagName||(n=n.parentElement,n&&"A"===n.tagName))try{let s=n.dataset.href;s&&(e.baseUri&&(s=Yl(Bn.r.from(e.baseUri),s)),t.actionHandler.callback(s,i))}catch(s){(0,b.dz)(s)}finally{i.preventDefault()}},n=t.actionHandler.disposables.add(new Vr(o,"click")),s=t.actionHandler.disposables.add(new Vr(o,"auxclick"));t.actionHandler.disposables.add(P.Jh.any(n.event,s.event)((e=>{const t=new T(We(o),e);(t.leftButton||t.middleButton)&&i(t)}))),t.actionHandler.disposables.add(Ye(o,"keydown",(e=>{const t=new N(e);(t.equals(10)||t.equals(3))&&i(t)})))}e.supportHtml||(l.html=({text:i})=>{if(t.sanitizerOptions?.replaceWithPlaintext)return(0,Ti.ih)(i);return(e.isTrusted?i.match(/^(]+>)|(<\/\s*span>)$/):void 0)?i:""}),i.renderer=l;let c=e.value??"";let u;if(c.length>1e5&&(c=`${c.substr(0,1e5)}\u2026`),e.supportThemeIcons&&(c=c.replace(Tn,(e=>`\\${e}`))),t.fillInIncompleteTokens){const e={...Wl,...i},t=function(e){for(let t=0;t"string"==typeof e?e:e.outerHTML)).join("")}const g=(new DOMParser).parseFromString(Xl({isTrusted:e.isTrusted,...t.sanitizerOptions},u),"text/html");if(g.body.querySelectorAll("img, audio, video, source").forEach((i=>{const n=i.getAttribute("src");if(n){let o=n;try{e.baseUri&&(o=Yl(Bn.r.from(e.baseUri),o))}catch(s){}if(i.setAttribute("src",a(o,!0)),t.remoteImageIsAllowed){const e=Bn.r.parse(o);e.scheme===Pe.ny.file||e.scheme===Pe.ny.data||t.remoteImageIsAllowed(e)||i.replaceWith(ei("",void 0,i.outerHTML))}}})),g.body.querySelectorAll("a").forEach((t=>{const i=t.getAttribute("href");if(t.setAttribute("href",""),!i||/^data:|javascript:/i.test(i)||/^command:/i.test(i)&&!e.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(i))t.replaceWith(...t.childNodes);else{let n=a(i,!1);e.baseUri&&(n=Yl(Bn.r.from(e.baseUri),i)),t.dataset.href=n}})),o.innerHTML=Xl({isTrusted:e.isTrusted,...t.sanitizerOptions},g.body.innerHTML),h.length>0)Promise.all(h).then((e=>{if(s)return;const i=new Map(e),n=o.querySelectorAll("div[data-code]");for(const t of n){const e=i.get(t.dataset.code??"");e&&Yt(t,e)}t.asyncRenderCallback?.()}));else if(d.length>0){const e=new Map(d),t=o.querySelectorAll("div[data-code]");for(const i of t){const t=e.get(i.dataset.code??"");t&&Yt(i,t)}}if(t.asyncRenderCallback)for(const p of o.getElementsByTagName("img")){const e=n.add(Ye(p,"load",(()=>{e.dispose(),t.asyncRenderCallback()})))}return{element:o,dispose:()=>{s=!0,n.dispose()}}}function Ql(e){if(!e)return"";const t=e.split(/[\s+|:|,|\{|\?]/,1);return t.length?t[0]:e}function Yl(e,t){return/^\w[\w\d+.-]*:/.test(t)?t:e.path.endsWith("/")?(0,Wn.o1)(e,t).toString():(0,Wn.o1)((0,Wn.pD)(e),t).toString()}const Zl=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function Xl(e,t){const{config:i,allowedSchemes:n}=function(e){const t=[Pe.ny.http,Pe.ny.https,Pe.ny.mailto,Pe.ny.data,Pe.ny.file,Pe.ny.vscodeFileResource,Pe.ny.vscodeRemote,Pe.ny.vscodeRemoteResource];e.isTrusted&&t.push(Pe.ny.command);return{config:{ALLOWED_TAGS:e.allowedTags??[...li],ALLOWED_ATTR:Jl,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:t}}(e),s=new Ae.Cm;s.add(Ch("uponSanitizeAttribute",((e,t)=>{if("style"!==t.attrName&&"class"!==t.attrName){if("INPUT"===e.tagName&&"checkbox"===e.attributes.getNamedItem("type")?.value){if("type"===t.attrName&&"checkbox"===t.attrValue||"disabled"===t.attrName||"checked"===t.attrName)return void(t.keepAttr=!0);t.keepAttr=!1}}else{if("SPAN"===e.tagName){if("style"===t.attrName)return void(t.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(border-radius:[0-9]+px;)?$/.test(t.attrValue));if("class"===t.attrName)return void(t.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(t.attrValue))}t.keepAttr=!1}}))),s.add(Ch("uponSanitizeElement",((t,i)=>{if("input"===i.tagName&&("checkbox"===t.attributes.getNamedItem("type")?.value?t.setAttribute("disabled",""):e.replaceWithPlaintext||t.remove()),e.replaceWithPlaintext&&!i.allowedTags[i.tagName]&&"body"!==i.tagName&&t.parentElement){let e,n;if("#comment"===i.tagName)e=`\x3c!--${t.textContent}--\x3e`;else{const s=Zl.includes(i.tagName),o=t.attributes.length?" "+Array.from(t.attributes).map((e=>`${e.name}="${e.value}"`)).join(" "):"";e=`<${i.tagName}${o}>`,s||(n=``)}const s=document.createDocumentFragment(),o=t.parentElement.ownerDocument.createTextNode(e);s.appendChild(o);const r=n?t.parentElement.ownerDocument.createTextNode(n):void 0;for(;t.firstChild;)s.appendChild(t.firstChild);r&&s.appendChild(r),t.parentElement.replaceChild(s,t)}}))),s.add(function(e,t=!1){const i=document.createElement("a");return Te("afterSanitizeAttributes",(n=>{for(const s of["href","src"])if(n.hasAttribute(s)){const o=n.getAttribute(s);if("href"===s&&o.startsWith("#"))continue;if(i.href=o,!e.includes(i.protocol.replace(/:$/,""))){if(t&&"src"===s&&i.href.startsWith("data:"))continue;n.removeAttribute(s)}}})),(0,Ae.s)((()=>{Re("afterSanitizeAttributes")}))}(n));try{return Me(t,{...i,RETURN_TRUSTED_TYPE:!0})}finally{s.dispose()}}const Jl=["align","autoplay","alt","checked","class","colspan","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","rowspan","src","style","target","title","type","width","start"];function eh(e){return"string"==typeof e?e:function(e,t){let i=e.value??"";i.length>1e5&&(i=`${i.substr(0,1e5)}\u2026`);const n=Hl(i,{async:!1,renderer:t?sh.value:nh.value}).replace(/&(#\d+|[a-zA-Z]+);/g,(e=>th.get(e)??e));return Xl({isTrusted:!1},n).toString()}(e)}const th=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]);function ih(){const e=new Fl;return e.code=({text:e})=>e,e.blockquote=({text:e})=>e+"\n",e.html=e=>"",e.heading=function({tokens:e}){return this.parser.parseInline(e)+"\n"},e.hr=()=>"",e.list=function({items:e}){return e.map((e=>this.listitem(e))).join("\n")+"\n"},e.listitem=({text:e})=>e+"\n",e.paragraph=function({tokens:e}){return this.parser.parseInline(e)+"\n"},e.table=function({header:e,rows:t}){return e.map((e=>this.tablecell(e))).join(" ")+"\n"+t.map((e=>e.map((e=>this.tablecell(e))).join(" "))).join("\n")+"\n"},e.tablerow=({text:e})=>e,e.tablecell=function({tokens:e}){return this.parser.parseInline(e)},e.strong=({text:e})=>e,e.em=({text:e})=>e,e.codespan=({text:e})=>e,e.br=e=>"\n",e.del=({text:e})=>e,e.image=e=>"",e.text=({text:e})=>e,e.link=({text:e})=>e,e}const nh=new Pl.d((e=>ih())),sh=new Pl.d((()=>{const e=ih();return e.code=({text:e})=>`\n\`\`\`\n${e}\n\`\`\`\n`,e}));function oh(e){let t="";return e.forEach((e=>{t+=e.raw})),t}function rh(e){if(e.tokens)for(let t=e.tokens.length-1;t>=0;t--){const i=e.tokens[t];if("text"===i.type){const n=i.raw.split("\n"),s=n[n.length-1];if(s.includes("`"))return ch(e);if(s.includes("**"))return vh(e,"**");if(s.match(/\*\w/))return uh(e);if(s.match(/(^|\s)__\w/))return _h(e);if(s.match(/(^|\s)_\w/))return gh(e);if(s.match(/(^|\s)\[.*\]\(\w*/)||ah(s)&&e.tokens.slice(0,t).some((e=>"text"===e.type&&e.raw.match(/\[[^\]]*$/)))){const i=e.tokens.slice(t+1);return"link"===i[0]?.type&&"text"===i[1]?.type&&i[1].raw.match(/^ *"[^"]*$/)||s.match(/^[^"]* +"[^"]*$/)?mh(e):ph(e)}if(s.match(/(^|\s)\[\w*/))return fh(e)}}}function ah(e){return!!e.match(/^[^\[]*\]\([^\)]*$/)}function lh(e){const t=e.items[e.items.length-1],i=t.tokens?t.tokens[t.tokens.length-1]:void 0;let n;if("text"!==i?.type||"inRawBlock"in t||(n=rh(i)),!n||"paragraph"!==n.type)return;const s=oh(e.items.slice(0,-1)),o=t.raw.match(/^(\s*(-|\d+\.|\*) +)/)?.[0];if(!o)return;const r=o+oh(t.tokens.slice(0,-1))+n.raw,a=Bl(s+r)[0];return"list"===a.type?a:void 0}const hh=3;function dh(e){let t,i;for(t=0;t0){const e=s?i.slice(0,-1).join("\n"):t,o=!!e.match(/\|\s*$/),r=e+(o?"":"|")+`\n|${" --- |".repeat(n)}`;return Bl(r)}}function Ch(e,t){return Te(e,t),(0,Ae.s)((()=>Re(e)))}function wh(e,t){const i=globalThis.MonacoEnvironment;if(i?.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(e,t)}catch(n){return void(0,b.dz)(n)}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(n){return void(0,b.dz)(n)}}class yh{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=Sh(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=Sh(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=Sh(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=Sh(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=Sh(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=Sh(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=Sh(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=Sh(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=Sh(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=Sh(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=Sh(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function Sh(e){return"number"==typeof e?`${e}px`:e}function kh(e){return new yh(e)}function Lh(e,t){e instanceof yh?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px")}var xh=i(77922),Dh=i(54957),Nh=i(97036);const Ih={getInitialState:()=>Nh.r3,tokenizeEncoded:(e,t,i)=>(0,Nh.Lh)(0,i)};function Eh(e,t,i,n,s,o,r){let a="
    ",l=n,h=0,d=!0;for(let c=0,u=t.getCount();c0;)r&&d?(g+=" ",d=!1):(g+=" ",d=!0),e--;break}case 60:g+="<",d=!1;break;case 62:g+=">",d=!1;break;case 38:g+="&",d=!1;break;case 0:g+="�",d=!1;break;case 65279:case 8232:case 8233:case 133:g+="\ufffd",d=!1;break;case 13:g+="​",d=!1;break;case 32:r&&d?(g+=" ",d=!1):(g+=" ",d=!0);break;default:g+=String.fromCharCode(t),d=!1}}if(a+=`${g}`,u>s||l>=s)break}return a+="
    ",a}function Mh(e,t,i){let n='
    ';const s=Ti.uz(e);let o=i.getInitialState();for(let r=0,a=s.length;r0&&(n+="
    ");const a=i.tokenizeEncoded(e,!0,o);Wo.f.convertToEndOffset(a.tokens,e.length);const l=new Wo.f(a.tokens,e,t).inflate();let h=0;for(let t=0,i=l.getCount();t${Ti.ih(e.substring(h,s))}`,h=s}o=a.endState}return n+="
    ",n}const Th=(0,$n.u1)("openerService");var Rh,Ah=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Ph=function(e,t){return function(i,n){t(i,n,e)}};let Oh=class{static{Rh=this}static{this._ttpTokenizer=wh("tokenizeToString",{createHTML:e=>e})}constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new P.vl,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e){return{element:document.createElement("span"),dispose:()=>{}}}const n=new Ae.Cm,s=n.add(Gl(e,{...this._getRenderOptions(e,n),...t},i));return s.element.classList.add("rendered-markdown"),{element:s.element,dispose:()=>n.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(e,t)=>{let i;e?i=this._languageService.getLanguageIdByLanguageName(e):this._options.editor&&(i=this._options.editor.getModel()?.getLanguageId()),i||(i=Dh.vH);const n=await async function(e,t,i){if(!i)return Mh(t,e.languageIdCodec,Ih);const n=await ka.dG.getOrCreate(i);return Mh(t,e.languageIdCodec,n||Ih)}(this._languageService,t,i),s=document.createElement("span");if(s.innerHTML=Rh._ttpTokenizer?.createHTML(n)??n,this._options.editor){Lh(s,this._options.editor.getOption(50))}else this._options.codeBlockFontFamily&&(s.style.fontFamily=this._options.codeBlockFontFamily);return void 0!==this._options.codeBlockFontSize&&(s.style.fontSize=this._options.codeBlockFontSize),s},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:t=>Fh(this._openerService,t,e.isTrusted),disposables:t}}}};async function Fh(e,t,i){try{return await e.open(t,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:Wh(i)})}catch(n){return(0,b.dz)(n),!1}}function Wh(e){return!0===e||!(!e||!Array.isArray(e.enabledCommands))&&e.enabledCommands}Oh=Rh=Ah([Ph(1,xh.L),Ph(2,Th)],Oh);var Bh,Hh=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Vh=function(e,t){return function(i,n){t(i,n,e)}};let zh=class{static{Bh=this}static{this.ID="editor.contrib.messageController"}static{this.MESSAGE_VISIBLE=new ls.N1("messageVisible",!1,jn.kg("messageVisible","Whether the editor is currently showing an inline message"))}static get(e){return e.getContribution(Bh.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Ae.HE,this._messageListeners=new Ae.Cm,this._mouseOverMessage=!1,this._editor=e,this._visible=Bh.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._message?.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){let i;Ci(zn(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=zn(e)?Gl(e,{actionHandler:{callback:t=>{this.closeMessage(),Fh(this._openerService,t,zn(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new Uh(this._editor,t,"string"==typeof e?e:this._message.element),this._messageListeners.add(P.Jh.debounce(this._editor.onDidBlurEditorText,((e,t)=>t),0)((()=>{this._mouseOverMessage||this._messageWidget.value&&_t(yt(),this._messageWidget.value.getDomNode())||this.closeMessage()}))),this._messageListeners.add(this._editor.onDidChangeCursorPosition((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidDispose((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidChangeModel((()=>this.closeMessage()))),this._messageListeners.add(Ye(this._messageWidget.value.getDomNode(),Ut.MOUSE_ENTER,(()=>this._mouseOverMessage=!0),!0)),this._messageListeners.add(Ye(this._messageWidget.value.getDomNode(),Ut.MOUSE_LEAVE,(()=>this._mouseOverMessage=!1),!0)),this._messageListeners.add(this._editor.onMouseMove((e=>{e.target.position&&(i?i.containsPosition(e.target.position)||this.closeMessage():i=new Xs.Q(t.lineNumber-3,1,e.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Uh.fadeOut(this._messageWidget.value))}};zh=Bh=Hh([Vh(1,ls.fN),Vh(2,Th)],zh);Os(new(Ms.bindToContribution(zh.get))({id:"leaveEditorMessage",precondition:zh.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));class Uh{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},n){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const o=document.createElement("div");"string"==typeof n?(o.classList.add("message"),o.textContent=n):(n.classList.add("message"),o.appendChild(n)),this._domNode.appendChild(o);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",2===e)}}Bs(zh.ID,zh,4);const Kh=(0,$n.u1)("clipboardService"),jh=(0,$n.u1)("progressService");Object.freeze({total(){},worked(){},done(){}});class $h{static{this.None=Object.freeze({report(){}})}constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}}const qh=(0,$n.u1)("editorProgressService"),Gh={ctrlCmd:!1,alt:!1};var Qh,Yh,Zh,Xh;!function(e){e[e.Blur=1]="Blur",e[e.Gesture=2]="Gesture",e[e.Other=3]="Other"}(Qh||(Qh={})),function(e){e[e.NONE=0]="NONE",e[e.FIRST=1]="FIRST",e[e.SECOND=2]="SECOND",e[e.LAST=3]="LAST"}(Yh||(Yh={})),function(e){e[e.First=1]="First",e[e.Second=2]="Second",e[e.Last=3]="Last",e[e.Next=4]="Next",e[e.Previous=5]="Previous",e[e.NextPage=6]="NextPage",e[e.PreviousPage=7]="PreviousPage",e[e.NextSeparator=8]="NextSeparator",e[e.PreviousSeparator=9]="PreviousSeparator"}(Zh||(Zh={})),function(e){e[e.Title=1]="Title",e[e.Inline=2]="Inline"}(Xh||(Xh={}));new class{constructor(e){this.options=e}};const Jh=(0,$n.u1)("quickInputService");function ed(e,t,i){let n=null,s=null;if("function"==typeof i.value?(n="value",s=i.value,0!==s.length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof i.get&&(n="get",s=i.get),!s)throw new Error("not supported");const o=`$memoize$${t}`;i[n]=function(...e){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:s.apply(this,e)}),this[o]}}var td,id=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(td||(td={}));class nd extends Ae.jG{static{this.SCROLL_FRICTION=-.005}static{this.HOLD_DELAY=700}static{this.CLEAR_TAP_COUNT_TIME=400}constructor(){super(),this.dispatched=!1,this.targets=new ns.w,this.ignoreTargets=new ns.w,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(P.Jh.runAndSubscribe(je,(({window:e,disposables:t})=>{t.add(Ye(e.document,"touchstart",(e=>this.onTouchStart(e)),{passive:!1})),t.add(Ye(e.document,"touchend",(t=>this.onTouchEnd(e,t)))),t.add(Ye(e.document,"touchmove",(e=>this.onTouchMove(e)),{passive:!1}))}),{window:o,disposables:this._store}))}static addTarget(e){if(!nd.isTouchDevice())return Ae.jG.None;nd.INSTANCE||(nd.INSTANCE=(0,Ae.lC)(new nd));const t=nd.INSTANCE.targets.push(e);return(0,Ae.s)(t)}static ignoreTarget(e){if(!nd.isTouchDevice())return Ae.jG.None;nd.INSTANCE||(nd.INSTANCE=(0,Ae.lC)(new nd));const t=nd.INSTANCE.ignoreTargets.push(e);return(0,Ae.s)(t)}static isTouchDevice(){return"ontouchstart"in o||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,n=e.targetTouches.length;i=nd.HOLD_DELAY&&Math.abs(r.initialPageX-ia.RT(r.rollingPageX))<30&&Math.abs(r.initialPageY-ia.RT(r.rollingPageY))<30){const e=this.newGestureEvent(td.Contextmenu,r.initialTarget);e.pageX=ia.RT(r.rollingPageX),e.pageY=ia.RT(r.rollingPageY),this.dispatchEvent(e)}else if(1===n){const t=ia.RT(r.rollingPageX),n=ia.RT(r.rollingPageY),s=ia.RT(r.rollingTimestamps)-r.rollingTimestamps[0],o=t-r.rollingPageX[0],a=n-r.rollingPageY[0],l=[...this.targets].filter((e=>r.initialTarget instanceof Node&&e.contains(r.initialTarget)));this.inertia(e,l,i,Math.abs(o)/s,o>0?1:-1,t,Math.abs(a)/s,a>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(td.End,r.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===td.Tap){const t=(new Date).getTime();let i=0;i=t-this._lastSetTapCountTime>nd.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=t,e.tapCount=i}else e.type!==td.Change&&e.type!==td.Contextmenu||(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let n=0,s=e.initialTarget;for(;s&&s!==i;)n++,s=s.parentElement;t.push([n,i])}t.sort(((e,t)=>e[0]-t[0]));for(const[i,n]of t)n.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,n,s,o,r,a,l){this.handle=nt(e,(()=>{const h=Date.now(),d=h-i;let c=0,u=0,g=!0;n+=nd.SCROLL_FRICTION*d,r+=nd.SCROLL_FRICTION*d,n>0&&(g=!1,c=s*n*d),r>0&&(g=!1,u=a*r*d);const p=this.newGestureEvent(td.Change);p.translationX=c,p.translationY=u,t.forEach((e=>e.dispatchEvent(p))),g||this.inertia(e,t,h,n,s,o+c,r,a,l+u)}))}onTouchMove(e){const t=Date.now();for(let i=0,n=e.changedTouches.length;i3&&(s.rollingPageX.shift(),s.rollingPageY.shift(),s.rollingTimestamps.shift()),s.rollingPageX.push(n.pageX),s.rollingPageY.push(n.pageY),s.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}id([ed],nd,"isTouchDevice",null);let sd=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const od=new Pl.d((()=>sd("mouse",!1))),rd=new Pl.d((()=>sd("element",!1)));function ad(e){return"element"===e?rd.value:od.value}function ld(){return sd("element",!0)}var hd=i(94901);let dd={showHover:()=>{},hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>null,showManagedHover:()=>{}};function cd(){return dd}hd.Q1.white.toString(),hd.Q1.white.toString();class ud extends Ae.jG{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new P.vl),this._onDidEscape=this._register(new P.vl),this.options=t,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!t.secondary);const i=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,n=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=n||"",this._element.style.backgroundColor=i||"",t.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),"string"==typeof t.title&&this.setTitle(t.title),"string"==typeof t.ariaLabel&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(nd.addTarget(this._element)),[Ut.CLICK,td.Tap].forEach((e=>{this._register(Ye(this._element,e,(e=>{this.enabled?this._onDidClick.fire(e):jt(e)})))})),this._register(Ye(this._element,Ut.KEY_DOWN,(e=>{const t=new N(e);let i=!1;this.enabled&&(t.equals(3)||t.equals(10))?(this._onDidClick.fire(e),i=!0):t.equals(9)&&(this._onDidEscape.fire(e),this._element.blur(),i=!0),i&&jt(t,!0)}))),this._register(Ye(this._element,Ut.MOUSE_OVER,(e=>{this._element.classList.contains("disabled")||this.updateBackground(!0)}))),this._register(Ye(this._element,Ut.MOUSE_OUT,(e=>{this.updateBackground(!1)}))),this.focusTracker=this._register(qt(this._element)),this._register(this.focusTracker.onDidFocus((()=>{this.enabled&&this.updateBackground(!0)}))),this._register(this.focusTracker.onDidBlur((()=>{this.enabled&&this.updateBackground(!1)})))}dispose(){super.dispose(),this._element.remove()}getContentElements(e){const t=[];for(let i of Ml(e))if("string"==typeof i){if(i=i.trim(),""===i)continue;const e=document.createElement("span");e.textContent=i,t.push(e)}else t.push(i);return t}updateBackground(e){let t;t=this.options.secondary?e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){if(this._label===e)return;if(zn(this._label)&&zn(e)&&((t=this._label)===(i=e)||t&&i&&t.value===i.value&&t.isTrusted===i.isTrusted&&t.supportThemeIcons===i.supportThemeIcons&&t.supportHtml===i.supportHtml&&(t.baseUri===i.baseUri||t.baseUri&&i.baseUri&&(0,Wn.n4)(Bn.r.from(t.baseUri),Bn.r.from(i.baseUri)))))return;var t,i;this._element.classList.add("monaco-text-button");const n=this.options.supportShortLabel?this._labelElement:this._element;if(zn(e)){const t=Gl(e,{inline:!0});t.dispose();const i=t.element.querySelector("p")?.innerHTML;if(i){const e=Me(i,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});n.innerHTML=e}else Yt(n)}else this.options.supportIcons?Yt(n,...this.getContentElements(e)):n.textContent=e;let s="";"string"==typeof this.options.title?s=this.options.title:this.options.title&&(s=eh(e)),this.setTitle(s),"string"==typeof this.options.ariaLabel?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",s),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...In.L.asClassNameArray(e))}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(e){this._hover||""===e?this._hover&&this._hover.update(e):this._hover=this._register(cd().setupManagedHover(this.options.hoverDelegate??ad("mouse"),this._element,e))}}function gd(e,t){return t&&(e.stack||e.stacktrace)?jn.kg("stackTrace.format","{0}: {1}",md(e),pd(e.stack)||pd(e.stacktrace)):md(e)}function pd(e){return Array.isArray(e)?e.join("\n"):e}function md(e){return"ERR_UNC_HOST_NOT_ALLOWED"===e.code?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof e.code&&"number"==typeof e.errno&&"string"==typeof e.syscall?jn.kg("nodeExceptionMessage","A system error occurred ({0})",e.message):e.message||jn.kg("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function fd(e=null,t=!1){if(!e)return jn.kg("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(e)){const i=ia.Yc(e),n=fd(i[0],t);return i.length>1?jn.kg("error.moreErrors","{0} ({1} errors in total)",n,i.length):n}if(os.Kg(e))return e;if(e.detail){const i=e.detail;if(i.error)return gd(i.error,t);if(i.exception)return gd(i.exception,t)}return e.stack?gd(e,t):e.message?e.message:jn.kg("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}const _d=(0,$n.u1)("contextViewService"),vd=(0,$n.u1)("contextMenuService"),bd=(0,$n.u1)("keybindingService");var Cd=i(66459),wd=Cd.A;const yd=(0,$n.u1)("notificationService");class Sd{}var kd,Ld=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},xd=function(e,t){return function(i,n){t(i,n,e)}};let Dd=class extends Ae.jG{static{kd=this}static{this.baseId="editor.widget.postEditWidget"}constructor(e,t,i,n,s,o,r,a,l,h){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=o,this.onSelectNewEdit=r,this._contextMenuService=a,this._keybindingService=h,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(l),this.visibleContext.set(!0),this._register((0,Ae.s)((()=>this.visibleContext.reset()))),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register((0,Ae.s)((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition((e=>{s.containsPosition(e.position)||this.dispose()}))),this._register(P.Jh.runAndSubscribe(h.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){const e=this._keybindingService.lookupKeybinding(this.showCommand.id)?.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=ei(".post-edit-widget"),this.button=this._register(new ud(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Ye(this.domNode,Ut.CLICK,(()=>this.showSelector())))}getId(){return kd.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=ct(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map(((e,t)=>is({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}})))})}};Dd=kd=Ld([xd(7,vd),xd(8,ls.fN),xd(9,bd)],Dd);let Nd=class extends Ae.jG{constructor(e,t,i,n,s,o,r){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=n,this._instantiationService=s,this._bulkEditService=o,this._notificationService=r,this._currentWidget=this._register(new Ae.HE),this._register(P.Jh.any(t.onDidChangeModel,t.onDidChangeModelContent)((()=>this.clear())))}async applyEditAndShowIfNeeded(e,t,i,n,s){const o=this._editor.getModel();if(!o||!e.length)return;const r=t.allEdits.at(t.activeEditIndex);if(!r)return;const a=async o=>{const r=this._editor.getModel();r&&(await r.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:o,allEdits:t.allEdits},i,n,s))},l=(n,s)=>{(0,b.MB)(n)||(this._notificationService.error(s),i&&this.show(e[0],t,a))};let h;try{h=await n(r,s)}catch(m){return l(m,(0,jn.kg)("resolveError","Error resolving edit '{0}':\n{1}",r.title,fd(m)))}if(s.isCancellationRequested)return;const d=hl(o.uri,e,h),c=e[0],u=o.deltaDecorations([],[{range:c,options:{description:"paste-line-suffix",stickiness:0}}]);let g,p;this._editor.focus();try{g=await this._bulkEditService.apply(d,{editor:this._editor,token:s}),p=o.getDecorationRange(u[0])}catch(m){return l(m,(0,jn.kg)("applyError","Error applying edit '{0}':\n{1}",r.title,fd(m)))}finally{o.deltaDecorations(u,[])}s.isCancellationRequested||i&&g.isApplied&&t.allEdits.length>1&&this.show(p??c,t,a)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(Dd,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};Nd=Ld([xd(4,$n._Y),xd(5,Ca),xd(6,yd)],Nd);var Id,Ed=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Md=function(e,t){return function(i,n){t(i,n,e)}};const Td="editor.changePasteType",Rd=new ls.N1("pasteWidgetVisible",!1,(0,jn.kg)("pasteWidgetVisible","Whether the paste widget is showing")),Ad="application/vnd.code.copyMetadata";let Pd=class extends Ae.jG{static{Id=this}static{this.ID="editor.contrib.copyPasteActionController"}static get(e){return e.getContribution(Id.ID)}constructor(e,t,i,n,s,o,r){super(),this._bulkEditService=i,this._clipboardService=n,this._languageFeaturesService=s,this._quickInputService=o,this._progressService=r,this._editor=e;const a=e.getContainerDomNode();this._register(Ye(a,"copy",(e=>this.handleCopy(e)))),this._register(Ye(a,"cut",(e=>this.handleCopy(e)))),this._register(Ye(a,"paste",(e=>this.handlePaste(e)),!0)),this._pasteProgressManager=this._register(new Sl("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(Nd,"pasteIntoEditor",e,Rd,{id:Td,label:(0,jn.kg)("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Lt().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){if(!this._editor.hasTextFocus())return;if(this._clipboardService.clearInternalState?.(),!e.clipboardData||!this.isPasteAsEnabled())return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!i?.length)return;const n=this._editor.getOption(37);let s=i;const o=1===i.length&&i[0].isEmpty();if(o){if(!n)return;s=[new Xs.Q(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const r=this._editor._getViewModel()?.getPlainTextToCopy(i,n,f.uF),a={multicursorText:Array.isArray(r)?r:null,pasteOnNewLine:o,mode:null},l=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter((e=>!!e.prepareDocumentPaste));if(!l.length)return void this.setCopyMetadata(e.clipboardData,{defaultPastePayload:a});const h=fa(e.clipboardData),d=l.flatMap((e=>e.copyMimeTypes??[])),c=sa();this.setCopyMetadata(e.clipboardData,{id:c,providerCopyMimeTypes:d,defaultPastePayload:a});const u=(0,A.SS)((async e=>{const i=(0,ia.Yc)(await Promise.all(l.map((async i=>{try{return await i.prepareDocumentPaste(t,s,h,e)}catch(n){return void console.error(n)}}))));i.reverse();for(const t of i)for(const[e,i]of t)h.replace(e,i);return h}));Id._currentCopyOperation?.dataTransferPromise.cancel(),Id._currentCopyOperation={handle:c,dataTransferPromise:u}}async handlePaste(e){if(!e.clipboardData||!this._editor.hasTextFocus())return;zh.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!i?.length||!t)return;if(this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const n=this.fetchCopyMetadata(e),s=ba(e.clipboardData);s.delete(Ad);const o=[...e.clipboardData.types,...n?.providerCopyMimeTypes??[],zr.K.uriList],r=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter((e=>{const t=this._pasteAsActionContext?.preferred;return!(t&&e.providedPasteEditKinds&&!this.providerMatchesPreference(e,t))&&e.pasteMimeTypes?.some((e=>la(e,o)))}));r.length?(e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,r,i,s,n):this.doPasteInline(r,i,s,n,e)):this._pasteAsActionContext?.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred)}showPasteAsNoEditMessage(e,t){zh.get(this._editor)?.showMessage((0,jn.kg)("pasteAsError","No paste edits for '{0}' found",t instanceof ca?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const o=this._editor;if(!o.hasModel())return;const r=new fl(o,3,void 0),a=(0,A.SS)((async o=>{const l=this._editor;if(!l.hasModel())return;const h=l.getModel(),d=new Ae.Cm,c=d.add(new na.Qi(o));d.add(r.token.onCancellationRequested((()=>c.cancel())));const u=c.token;try{if(await this.mergeInDataFromCopy(i,n,u),u.isCancellationRequested)return;const o=e.filter((e=>this.isSupportedPasteProvider(e,i)));if(!o.length||1===o.length&&o[0]instanceof Ka)return this.applyDefaultPasteHandler(i,n,u,s);const r={triggerKind:ka.FX.Automatic},a=await this.getPasteEdits(o,i,h,t,r,u);if(d.add(a),u.isCancellationRequested)return;if(1===a.edits.length&&a.edits[0].provider instanceof Ka)return this.applyDefaultPasteHandler(i,n,u,s);if(a.edits.length){const e="afterPaste"===l.getOption(85).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:a.edits},e,((e,i)=>new Promise(((n,s)=>{(async()=>{try{const o=e.provider.resolveDocumentPasteEdit?.(e,i),r=new A.Zv,a=o&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),(0,jn.kg)("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([r.p,o]),{cancel:()=>(r.cancel(),s(new b.AL))},0);return a&&(e.additionalEdit=a.additionalEdit),n(e)}catch(o){return s(o)}})()}))),u)}await this.applyDefaultPasteHandler(i,n,u,s)}finally{d.dispose(),this._currentPasteOperation===a&&(this._currentPasteOperation=void 0)}}));this._pasteProgressManager.showWhile(t[0].getEndPosition(),(0,jn.kg)("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),a,{cancel:async()=>{try{if(a.cancel(),r.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,r.token,s)}finally{r.dispose()}}}).then((()=>{r.dispose()})),this._currentPasteOperation=a}showPasteAsPick(e,t,i,n,s){const o=(0,A.SS)((async r=>{const a=this._editor;if(!a.hasModel())return;const l=a.getModel(),h=new Ae.Cm,d=h.add(new fl(a,3,void 0,r));try{if(await this.mergeInDataFromCopy(n,s,d.token),d.token.isCancellationRequested)return;let o=t.filter((t=>this.isSupportedPasteProvider(t,n,e)));e&&(o=o.filter((t=>this.providerMatchesPreference(t,e))));const r={triggerKind:ka.FX.PasteAs,only:e&&e instanceof ca?e:void 0};let a,c=h.add(await this.getPasteEdits(o,n,l,i,r,d.token));if(d.token.isCancellationRequested)return;if(e&&(c={edits:c.edits.filter((t=>e instanceof ca?e.contains(t.kind):e.providerId===t.provider.id)),dispose:c.dispose}),!c.edits.length)return void(r.only&&this.showPasteAsNoEditMessage(i,r.only));if(e)a=c.edits.at(0);else{const e=await this._quickInputService.pick(c.edits.map((e=>({label:e.title,description:e.kind?.value,edit:e}))),{placeHolder:(0,jn.kg)("pasteAsPickerPlaceholder","Select Paste Action")});a=e?.edit}if(!a)return;const u=hl(l.uri,i,a);await this._bulkEditService.apply(u,{editor:this._editor})}finally{h.dispose(),this._currentPasteOperation===o&&(this._currentPasteOperation=void 0)}}));this._progressService.withProgress({location:10,title:(0,jn.kg)("pasteAsProgress","Running paste handlers")},(()=>o))}setCopyMetadata(e,t){e.setData(Ad,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Ad);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=ea.getTextData(e.clipboardData);return n?{defaultPastePayload:{mode:n.mode,multicursorText:n.multicursorText??null,pasteOnNewLine:!!n.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(e,t,i){if(t?.id&&Id._currentCopyOperation?.handle===t.id){const t=await Id._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[i,n]of t)e.replace(i,n)}if(!e.has(zr.K.uriList)){const t=await this._clipboardService.readResources();if(i.isCancellationRequested)return;t.length&&e.append(zr.K.uriList,oa(da.create(t)))}}async getPasteEdits(e,t,i,n,s,o){const r=new Ae.Cm,a=await(0,A.PK)(Promise.all(e.map((async e=>{try{const a=await(e.provideDocumentPasteEdits?.(i,n,t,s,o));return a&&r.add(a),a?.edits?.map((t=>({...t,provider:e})))}catch(a){return void((0,b.MB)(a)||console.error(a))}}))),o);return{edits:dl((0,ia.Yc)(a??[]).flat().filter((e=>!s.only||s.only.contains(e.kind)))),dispose:()=>r.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(zr.K.text)??e.get("text"),o=await(s?.asString())??"";if(i.isCancellationRequested)return;const r={clipboardEvent:n,text:o,pasteOnNewLine:t?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:t?.defaultPastePayload.multicursorText??null,mode:null};this._editor.trigger("keyboard","paste",r)}isSupportedPasteProvider(e,t,i){return!!e.pasteMimeTypes?.some((e=>t.matches(e)))&&(!i||this.providerMatchesPreference(e,i))}providerMatchesPreference(e,t){return t instanceof ca?!e.providedPasteEditKinds||e.providedPasteEditKinds.some((e=>t.contains(e))):e.id===t.providerId}};Pd=Id=Ed([Md(1,$n._Y),Md(2,Ca),Md(3,Kh),Md(4,La.ILanguageFeaturesService),Md(5,Jh),Md(6,jh)],Pd);const Od="9_cutcopypaste",Fd=f.ib||document.queryCommandSupported("cut"),Wd=f.ib||document.queryCommandSupported("copy"),Bd=void 0!==navigator.clipboard&&!h||document.queryCommandSupported("paste");function Hd(e){return e.register(),e}const Vd=Fd?Hd(new Is({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:f.ib?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:_s.MenubarEditMenu,group:"2_ccp",title:jn.kg({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:_s.EditorContext,group:Od,title:jn.kg("actions.clipboard.cutLabel","Cut"),when:js.writable,order:1},{menuId:_s.CommandPalette,group:"",title:jn.kg("actions.clipboard.cutLabel","Cut"),order:1},{menuId:_s.SimpleEditorContext,group:Od,title:jn.kg("actions.clipboard.cutLabel","Cut"),when:js.writable,order:1}]})):void 0,zd=Wd?Hd(new Is({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:f.ib?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:_s.MenubarEditMenu,group:"2_ccp",title:jn.kg({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:_s.EditorContext,group:Od,title:jn.kg("actions.clipboard.copyLabel","Copy"),order:2},{menuId:_s.CommandPalette,group:"",title:jn.kg("actions.clipboard.copyLabel","Copy"),order:1},{menuId:_s.SimpleEditorContext,group:Od,title:jn.kg("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Cs.appendMenuItem(_s.MenubarEditMenu,{submenu:_s.MenubarCopy,title:jn.aS("copy as","Copy As"),group:"2_ccp",order:3}),Cs.appendMenuItem(_s.EditorContext,{submenu:_s.EditorContextCopy,title:jn.aS("copy as","Copy As"),group:Od,order:3}),Cs.appendMenuItem(_s.EditorContext,{submenu:_s.EditorContextShare,title:jn.aS("share","Share"),group:"11_share",order:-1,when:ls.M$.and(ls.M$.notEquals("resourceScheme","output"),js.editorTextFocus)}),Cs.appendMenuItem(_s.ExplorerContext,{submenu:_s.ExplorerContextShare,title:jn.aS("share","Share"),group:"11_share",order:-1});const Ud=Bd?Hd(new Is({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:f.ib?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:_s.MenubarEditMenu,group:"2_ccp",title:jn.kg({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:_s.EditorContext,group:Od,title:jn.kg("actions.clipboard.pasteLabel","Paste"),when:js.writable,order:4},{menuId:_s.CommandPalette,group:"",title:jn.kg("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:_s.SimpleEditorContext,group:Od,title:jn.kg("actions.clipboard.pasteLabel","Paste"),when:js.writable,order:4}]})):void 0;class Kd extends Ts{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:jn.kg("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:js.textInputFocus,primary:0,weight:100}})}run(e,t){if(!t.hasModel())return;!t.getOption(37)&&t.getSelection().isEmpty()||(Yr.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),Yr.forceCopyWithSyntaxHighlighting=!1)}}function jd(e,t){e&&(e.addImplementation(1e4,"code-editor",((e,i)=>{const n=e.get(qn).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const e=n.getOption(37),i=n.getSelection();return i&&i.isEmpty()&&!e||n.getContainerDomNode().ownerDocument.execCommand(t),!0}return!1})),e.addImplementation(0,"generic-dom",((e,i)=>(Lt().execCommand(t),!0))))}jd(Vd,"cut"),jd(zd,"copy"),Ud&&(Ud.addImplementation(1e4,"code-editor",((e,t)=>{const i=e.get(qn),n=e.get(Kh),s=i.getFocusedCodeEditor();if(s&&s.hasTextFocus()){return s.getContainerDomNode().ownerDocument.execCommand("paste")?Pd.get(s)?.finishedPaste()??Promise.resolve():!f.HZ||(async()=>{const e=await n.readText();if(""!==e){const t=Zr.INSTANCE.get(e);let i=!1,n=null,o=null;t&&(i=s.getOption(37)&&!!t.isFromEmptySelection,n=void 0!==t.multicursorText?t.multicursorText:null,o=t.mode),s.trigger("keyboard","paste",{text:e,pasteOnNewLine:i,multicursorText:n,mode:o})}})()}return!1})),Ud.addImplementation(0,"generic-dom",((e,t)=>(Lt().execCommand("paste"),!0)))),Wd&&Fs(Kd);const $d={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1};var qd=i(12590),Gd=i(18782);class Qd{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class Yd{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class Zd{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return Jd(e,t)}compute(e,t,i){return i}}class Xd{constructor(e,t){this.newValue=e,this.didChange=t}}function Jd(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return new Xd(t,e!==t);if(Array.isArray(e)||Array.isArray(t)){const i=Array.isArray(e)&&Array.isArray(t)&&ia.aI(e,t);return new Xd(t,!i)}let i=!1;for(const n in t)if(t.hasOwnProperty(n)){const s=Jd(e[n],t[n]);s.didChange&&(e[n]=s.newValue,i=!0)}return new Xd(e,i)}class ec{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return Jd(e,t)}validate(e){return this.defaultValue}}class tc{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return Jd(e,t)}validate(e){return void 0===e?this.defaultValue:e}compute(e,t,i){return i}}function ic(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}class nc extends tc{constructor(e,t,i,n=void 0){void 0!==n&&(n.type="boolean",n.default=i),super(e,t,i,n)}validate(e){return ic(e,this.defaultValue)}}function sc(e,t,i,n){if(void 0===e)return t;let s=parseInt(e,10);return isNaN(s)?t:(s=Math.max(i,s),s=Math.min(n,s),0|s)}class oc extends tc{static clampedInt(e,t,i,n){return sc(e,t,i,n)}constructor(e,t,i,n,s,o=void 0){void 0!==o&&(o.type="integer",o.default=i,o.minimum=n,o.maximum=s),super(e,t,i,o),this.minimum=n,this.maximum=s}validate(e){return oc.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function rc(e,t,i,n){if(void 0===e)return t;const s=ac.float(e,t);return ac.clamp(s,i,n)}class ac extends tc{static clamp(e,t,i){return ei?i:e}static float(e,t){if("number"==typeof e)return e;if(void 0===e)return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,n,s){void 0!==s&&(s.type="number",s.default=i),super(e,t,i,s),this.validationFn=n}validate(e){return this.validationFn(ac.float(e,this.defaultValue))}}class lc extends tc{static string(e,t){return"string"!=typeof e?t:e}constructor(e,t,i,n=void 0){void 0!==n&&(n.type="string",n.default=i),super(e,t,i,n)}validate(e){return lc.string(e,this.defaultValue)}}function hc(e,t,i,n){return"string"!=typeof e?t:n&&e in n?n[e]:-1===i.indexOf(e)?t:e}class dc extends tc{constructor(e,t,i,n,s=void 0){void 0!==s&&(s.type="string",s.enum=n,s.default=i),super(e,t,i,s),this._allowedValues=n}validate(e){return hc(e,this.defaultValue,this._allowedValues)}}class cc extends Zd{constructor(e,t,i,n,s,o,r=void 0){void 0!==r&&(r.type="string",r.enum=s,r.default=n),super(e,t,i,r),this._allowedValues=s,this._convert=o}validate(e){return"string"!=typeof e||-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)}}var uc,gc;!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(uc||(uc={}));class pc extends Zd{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(51,"fontLigatures",pc.OFF,{anyOf:[{type:"boolean",description:jn.kg("fontLigatures","Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:jn.kg("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:jn.kg("fontLigaturesGeneral","Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e||0===e.length?pc.OFF:"true"===e?pc.ON:e:Boolean(e)?pc.ON:pc.OFF}}class mc extends Zd{static{this.OFF="normal"}static{this.TRANSLATE="translate"}constructor(){super(54,"fontVariations",mc.OFF,{anyOf:[{type:"boolean",description:jn.kg("fontVariations","Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:jn.kg("fontVariationSettings","Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:jn.kg("fontVariationsGeneral","Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?mc.OFF:"true"===e?mc.TRANSLATE:e:Boolean(e)?mc.TRANSLATE:mc.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}}class fc extends Zd{static{this.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(53,"fontWeight",Ic.fontWeight,{anyOf:[{type:"number",minimum:fc.MINIMUM_VALUE,maximum:fc.MAXIMUM_VALUE,errorMessage:jn.kg("fontWeightErrorMessage",'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:fc.SUGGESTION_VALUES}],default:Ic.fontWeight,description:jn.kg("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return"normal"===e||"bold"===e?e:String(oc.clampedInt(e,Ic.fontWeight,fc.MINIMUM_VALUE,fc.MAXIMUM_VALUE))}}class _c extends ec{constructor(){super(146)}compute(e,t,i){return _c.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let n=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(n=Math.max(n,t-1));const s=(i+e.viewLineCount+n)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:n,desiredRatio:s,minimapLineCount:Math.floor(e.viewLineCount/s)}}static _computeMinimapLayout(e,t){const i=e.outerWidth,n=e.outerHeight,s=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(s*n),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:n};const o=t.stableMinimapLayoutInput,r=o&&e.outerHeight===o.outerHeight&&e.lineHeight===o.lineHeight&&e.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&e.pixelRatio===o.pixelRatio&&e.scrollBeyondLastLine===o.scrollBeyondLastLine&&e.paddingTop===o.paddingTop&&e.paddingBottom===o.paddingBottom&&e.minimap.enabled===o.minimap.enabled&&e.minimap.side===o.minimap.side&&e.minimap.size===o.minimap.size&&e.minimap.showSlider===o.minimap.showSlider&&e.minimap.renderCharacters===o.minimap.renderCharacters&&e.minimap.maxColumn===o.minimap.maxColumn&&e.minimap.scale===o.minimap.scale&&e.verticalScrollbarWidth===o.verticalScrollbarWidth&&e.isViewportWrapping===o.isViewportWrapping,a=e.lineHeight,l=e.typicalHalfwidthCharacterWidth,h=e.scrollBeyondLastLine,d=e.minimap.renderCharacters;let c=s>=2?Math.round(2*e.minimap.scale):e.minimap.scale;const u=e.minimap.maxColumn,g=e.minimap.size,p=e.minimap.side,m=e.verticalScrollbarWidth,f=e.viewLineCount,_=e.remainingWidth,v=e.isViewportWrapping,b=d?2:3;let C=Math.floor(s*n);const w=C/s;let y=!1,S=!1,k=b*c,L=c/s,x=1;if("fill"===g||"fit"===g){const{typicalViewportLineCount:i,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:l,desiredRatio:d,minimapLineCount:u}=_c.computeContainedMinimapLineCount({viewLineCount:f,scrollBeyondLastLine:h,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:n,lineHeight:a,pixelRatio:s});if(f/u>1)y=!0,S=!0,c=1,k=1,L=c/s;else{let n=!1,h=c+1;if("fit"===g){const e=Math.ceil((o+f+l)*k);v&&r&&_<=t.stableFitRemainingWidth?(n=!0,h=t.stableFitMaxMinimapScale):n=e>C}if("fill"===g||n){y=!0;const n=c;k=Math.min(a*s,Math.max(1,Math.floor(1/d))),v&&r&&_<=t.stableFitRemainingWidth&&(h=t.stableFitMaxMinimapScale),c=Math.min(h,Math.max(1,Math.floor(k/b))),c>n&&(x=Math.min(2,c/n)),L=c/s/x,C=Math.ceil(Math.max(i,o+f+l)*k),v?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=_,t.stableFitMaxMinimapScale=c):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const D=Math.floor(u*L),N=Math.min(D,Math.max(0,Math.floor((_-m-2)*L/(l+L)))+8);let I=Math.floor(s*N);const E=I/s;I=Math.floor(I*x);return{renderMinimap:d?1:2,minimapLeft:"left"===p?0:i-N-m,minimapWidth:N,minimapHeightIsEditorHeight:y,minimapIsSampling:S,minimapScale:c,minimapLineHeight:k,minimapCanvasInnerWidth:I,minimapCanvasInnerHeight:C,minimapCanvasOuterWidth:E,minimapCanvasOuterHeight:w}}static computeLayout(e,t){const i=0|t.outerWidth,n=0|t.outerHeight,s=0|t.lineHeight,o=0|t.lineNumbersDigitCount,r=t.typicalHalfwidthCharacterWidth,a=t.maxDigitWidth,l=t.pixelRatio,h=t.viewLineCount,d=e.get(138),c="inherit"===d?e.get(137):d,u="inherit"===c?e.get(133):c,g=e.get(136),p=t.isDominatedByLongLines,m=e.get(57),f=0!==e.get(68).renderType,_=e.get(69),v=e.get(106),b=e.get(84),C=e.get(73),w=e.get(104),y=w.verticalScrollbarSize,S=w.verticalHasArrows,k=w.arrowSize,L=w.horizontalScrollbarSize,x=e.get(43),D="never"!==e.get(111);let N=e.get(66);x&&D&&(N+=16);let I=0;if(f){const e=Math.max(o,_);I=Math.round(e*a)}let E=0;m&&(E=s*t.glyphMarginDecorationLaneCount);let M=0,T=M+E,R=T+I,A=R+N;const P=i-E-I-N;let O=!1,F=!1,W=-1;"inherit"===c&&p?(O=!0,F=!0):"on"===u||"bounded"===u?F=!0:"wordWrapColumn"===u&&(W=g);const B=_c._computeMinimapLayout({outerWidth:i,outerHeight:n,lineHeight:s,typicalHalfwidthCharacterWidth:r,pixelRatio:l,scrollBeyondLastLine:v,paddingTop:b.top,paddingBottom:b.bottom,minimap:C,verticalScrollbarWidth:y,viewLineCount:h,remainingWidth:P,isViewportWrapping:F},t.memory||new Yd);0!==B.renderMinimap&&0===B.minimapLeft&&(M+=B.minimapWidth,T+=B.minimapWidth,R+=B.minimapWidth,A+=B.minimapWidth);const H=P-B.minimapWidth,V=Math.max(1,Math.floor((H-y-2)/r)),z=S?k:0;return F&&(W=Math.max(1,V),"bounded"===u&&(W=Math.min(W,g))),{width:i,height:n,glyphMarginLeft:M,glyphMarginWidth:E,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:T,lineNumbersWidth:I,decorationsLeft:R,decorationsWidth:N,contentLeft:A,contentWidth:H,minimap:B,viewportColumn:V,isWordWrapMinified:O,isViewportWrapping:F,wrappingColumn:W,verticalScrollbarWidth:y,horizontalScrollbarHeight:L,overviewRuler:{top:z,width:y,height:n-2*z,right:0}}}}!function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(gc||(gc={}));function vc(e){const t=e.get(99);return"editable"===t?e.get(92):"on"!==t}function bc(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return 2;case"visible":return 3;default:return 1}}const Cc="inUntrustedWorkspace",wc="editor.unicodeHighlight.allowedCharacters",yc="editor.unicodeHighlight.invisibleCharacters",Sc="editor.unicodeHighlight.nonBasicASCII",kc="editor.unicodeHighlight.ambiguousCharacters",Lc="editor.unicodeHighlight.includeComments",xc="editor.unicodeHighlight.includeStrings",Dc="editor.unicodeHighlight.allowedLocales";function Nc(e,t,i){const n=i.indexOf(e);return-1===n?t:i[n]}const Ic={fontFamily:f.zx?"Menlo, Monaco, 'Courier New', monospace":f.j9?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:f.zx?12:14,lineHeight:0,letterSpacing:0},Ec=[];function Mc(e){return Ec[e.id]=e,e}const Tc={acceptSuggestionOnCommitCharacter:Mc(new nc(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:jn.kg("acceptSuggestionOnCommitCharacter","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:Mc(new dc(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",jn.kg("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:jn.kg("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:Mc(new class extends Zd{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[jn.kg("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached."),jn.kg("accessibilitySupport.on","Optimize for usage with a Screen Reader."),jn.kg("accessibilitySupport.off","Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:jn.kg("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return 0===i?e.accessibilitySupport:i}}),accessibilityPageSize:Mc(new oc(3,"accessibilityPageSize",10,1,1073741824,{description:jn.kg("accessibilityPageSize","Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:Mc(new lc(4,"ariaLabel",jn.kg("editorViewAccessibleLabel","Editor content"))),ariaRequired:Mc(new nc(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:Mc(new nc(8,"screenReaderAnnounceInlineSuggestion",!0,{description:jn.kg("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:Mc(new dc(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",jn.kg("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),jn.kg("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:jn.kg("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:Mc(new dc(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",jn.kg("editor.autoClosingComments.languageDefined","Use language configurations to determine when to autoclose comments."),jn.kg("editor.autoClosingComments.beforeWhitespace","Autoclose comments only when the cursor is to the left of whitespace."),""],description:jn.kg("autoClosingComments","Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:Mc(new dc(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",jn.kg("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:jn.kg("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:Mc(new dc(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",jn.kg("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:jn.kg("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:Mc(new dc(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",jn.kg("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),jn.kg("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:jn.kg("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:Mc(new cc(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(e){switch(e){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[jn.kg("editor.autoIndent.none","The editor will not insert indentation automatically."),jn.kg("editor.autoIndent.keep","The editor will keep the current line's indentation."),jn.kg("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),jn.kg("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),jn.kg("editor.autoIndent.full","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:jn.kg("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:Mc(new nc(13,"automaticLayout",!1)),autoSurround:Mc(new dc(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[jn.kg("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),jn.kg("editor.autoSurround.quotes","Surround with quotes but not brackets."),jn.kg("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:jn.kg("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:Mc(new class extends Zd{constructor(){const e={enabled:qd.R.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:qd.R.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:jn.kg("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:jn.kg("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:ic(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:ic(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:Mc(new class extends Zd{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[jn.kg("editor.guides.bracketPairs.true","Enables bracket pair guides."),jn.kg("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),jn.kg("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:jn.kg("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[jn.kg("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),jn.kg("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),jn.kg("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:jn.kg("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:jn.kg("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:jn.kg("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[jn.kg("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),jn.kg("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),jn.kg("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:jn.kg("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{bracketPairs:Nc(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Nc(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:ic(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:ic(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:Nc(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:Mc(new nc(117,"stickyTabStops",!1,{description:jn.kg("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:Mc(new nc(17,"codeLens",!0,{description:jn.kg("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:Mc(new lc(18,"codeLensFontFamily","",{description:jn.kg("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:Mc(new oc(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:jn.kg("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:Mc(new nc(20,"colorDecorators",!0,{description:jn.kg("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:Mc(new dc(149,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[jn.kg("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),jn.kg("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),jn.kg("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:jn.kg("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:Mc(new oc(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:jn.kg("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:Mc(new nc(22,"columnSelection",!1,{description:jn.kg("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:Mc(new class extends Zd{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:jn.kg("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:jn.kg("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertSpace:ic(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ic(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:Mc(new nc(24,"contextmenu",!0)),copyWithSyntaxHighlighting:Mc(new nc(25,"copyWithSyntaxHighlighting",!0,{description:jn.kg("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:Mc(new cc(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(e){switch(e){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:jn.kg("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:Mc(new dc(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[jn.kg("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),jn.kg("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),jn.kg("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:jn.kg("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:Mc(new cc(28,"cursorStyle",uc.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(e){switch(e){case"line":return uc.Line;case"block":return uc.Block;case"underline":return uc.Underline;case"line-thin":return uc.LineThin;case"block-outline":return uc.BlockOutline;case"underline-thin":return uc.UnderlineThin}}),{description:jn.kg("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:Mc(new oc(29,"cursorSurroundingLines",0,0,1073741824,{description:jn.kg("cursorSurroundingLines","Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:Mc(new dc(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[jn.kg("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),jn.kg("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],markdownDescription:jn.kg("cursorSurroundingLinesStyle","Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:Mc(new oc(31,"cursorWidth",0,0,1073741824,{markdownDescription:jn.kg("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:Mc(new nc(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:Mc(new nc(33,"disableMonospaceOptimizations",!1)),domReadOnly:Mc(new nc(34,"domReadOnly",!1)),dragAndDrop:Mc(new nc(35,"dragAndDrop",!0,{description:jn.kg("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:Mc(new class extends nc{constructor(){super(37,"emptySelectionClipboard",!0,{description:jn.kg("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}),dropIntoEditor:Mc(new class extends Zd{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:jn.kg("dropIntoEditor.enabled","Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:jn.kg("dropIntoEditor.showDropSelector","Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[jn.kg("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),jn.kg("dropIntoEditor.showDropSelector.never","Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:ic(t.enabled,this.defaultValue.enabled),showDropSelector:hc(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:Mc(new class extends Zd{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(116,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:jn.kg("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:jn.kg("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:jn.kg("editor.stickyScroll.defaultModel","Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:jn.kg("editor.stickyScroll.scrollWithEditor","Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:ic(t.enabled,this.defaultValue.enabled),maxLineCount:oc.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:hc(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:ic(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:Mc(new dc(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[jn.kg("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),jn.kg("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),jn.kg("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:jn.kg("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:Mc(new lc(39,"extraEditorClassName","")),fastScrollSensitivity:Mc(new ac(40,"fastScrollSensitivity",5,(e=>e<=0?5:e),{markdownDescription:jn.kg("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:Mc(new class extends Zd{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:jn.kg("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[jn.kg("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),jn.kg("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),jn.kg("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:jn.kg("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[jn.kg("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),jn.kg("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),jn.kg("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:jn.kg("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:jn.kg("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:f.zx},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:jn.kg("find.addExtraSpaceOnTop","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:jn.kg("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{cursorMoveOnType:ic(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof e.seedSearchStringFromSelection?e.seedSearchStringFromSelection?"always":"never":hc(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":hc(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:ic(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ic(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ic(t.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:Mc(new nc(42,"fixedOverflowWidgets",!1)),folding:Mc(new nc(43,"folding",!0,{description:jn.kg("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:Mc(new dc(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[jn.kg("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),jn.kg("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:jn.kg("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:Mc(new nc(45,"foldingHighlight",!0,{description:jn.kg("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:Mc(new nc(46,"foldingImportsByDefault",!1,{description:jn.kg("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:Mc(new oc(47,"foldingMaximumRegions",5e3,10,65e3,{description:jn.kg("foldingMaximumRegions","The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:Mc(new nc(48,"unfoldOnClickAfterEndOfLine",!1,{description:jn.kg("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:Mc(new lc(49,"fontFamily",Ic.fontFamily,{description:jn.kg("fontFamily","Controls the font family.")})),fontInfo:Mc(new class extends ec{constructor(){super(50)}compute(e,t,i){return e.fontInfo}}),fontLigatures2:Mc(new pc),fontSize:Mc(new class extends tc{constructor(){super(52,"fontSize",Ic.fontSize,{type:"number",minimum:6,maximum:100,default:Ic.fontSize,description:jn.kg("fontSize","Controls the font size in pixels.")})}validate(e){const t=ac.float(e,this.defaultValue);return 0===t?Ic.fontSize:ac.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}),fontWeight:Mc(new fc),fontVariations:Mc(new mc),formatOnPaste:Mc(new nc(55,"formatOnPaste",!1,{description:jn.kg("formatOnPaste","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:Mc(new nc(56,"formatOnType",!1,{description:jn.kg("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:Mc(new nc(57,"glyphMargin",!0,{description:jn.kg("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:Mc(new class extends Zd{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[jn.kg("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),jn.kg("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),jn.kg("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:jn.kg("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:jn.kg("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:jn.kg("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:jn.kg("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:jn.kg("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:jn.kg("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:jn.kg("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:jn.kg("alternativeTypeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:jn.kg("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:jn.kg("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:jn.kg("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{multiple:hc(t.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:t.multipleDefinitions??hc(t.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:t.multipleTypeDefinitions??hc(t.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:t.multipleDeclarations??hc(t.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:t.multipleImplementations??hc(t.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:t.multipleReferences??hc(t.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:t.multipleTests??hc(t.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:lc.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:lc.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:lc.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:lc.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:lc.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:lc.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}),hideCursorInOverviewRuler:Mc(new nc(59,"hideCursorInOverviewRuler",!1,{description:jn.kg("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:Mc(new class extends Zd{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:jn.kg("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:jn.kg("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:jn.kg("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:jn.kg("hover.hidingDelay","Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:jn.kg("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:ic(t.enabled,this.defaultValue.enabled),delay:oc.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:ic(t.sticky,this.defaultValue.sticky),hidingDelay:oc.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:ic(t.above,this.defaultValue.above)}}}),inDiffEditor:Mc(new nc(61,"inDiffEditor",!1)),letterSpacing:Mc(new ac(64,"letterSpacing",Ic.letterSpacing,(e=>ac.clamp(e,-5,20)),{description:jn.kg("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:Mc(new class extends Zd{constructor(){const e={enabled:gc.OnCode};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[gc.Off,gc.OnCode,gc.On],default:e.enabled,enumDescriptions:[jn.kg("editor.lightbulb.enabled.off","Disable the code action menu."),jn.kg("editor.lightbulb.enabled.onCode","Show the code action menu when the cursor is on lines with code."),jn.kg("editor.lightbulb.enabled.on","Show the code action menu when the cursor is on lines with code or on empty lines.")],description:jn.kg("enabled","Enables the Code Action lightbulb in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;return{enabled:hc(e.enabled,this.defaultValue.enabled,[gc.Off,gc.OnCode,gc.On])}}}),lineDecorationsWidth:Mc(new class extends Zd{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){if("string"==typeof e&&/^\d+(\.\d+)?ch$/.test(e)){return-parseFloat(e.substring(0,e.length-2))}return oc.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?oc.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}),lineHeight:Mc(new class extends ac{constructor(){super(67,"lineHeight",Ic.lineHeight,(e=>ac.clamp(e,0,150)),{markdownDescription:jn.kg("lineHeight","Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(e,t,i){return e.fontInfo.lineHeight}}),lineNumbers:Mc(new class extends Zd{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[jn.kg("lineNumbers.off","Line numbers are not rendered."),jn.kg("lineNumbers.on","Line numbers are rendered as absolute number."),jn.kg("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),jn.kg("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:jn.kg("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return void 0!==e&&("function"==typeof e?(t=4,i=e):t="interval"===e?3:"relative"===e?2:"on"===e?1:0),{renderType:t,renderFn:i}}}),lineNumbersMinChars:Mc(new oc(69,"lineNumbersMinChars",5,1,300)),linkedEditing:Mc(new nc(70,"linkedEditing",!1,{description:jn.kg("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:Mc(new nc(71,"links",!0,{description:jn.kg("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:Mc(new dc(72,"matchBrackets","always",["always","near","never"],{description:jn.kg("matchBrackets","Highlight matching brackets.")})),minimap:Mc(new class extends Zd{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:jn.kg("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:jn.kg("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[jn.kg("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),jn.kg("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),jn.kg("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:jn.kg("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:jn.kg("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:jn.kg("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:jn.kg("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:jn.kg("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:jn.kg("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:jn.kg("minimap.showRegionSectionHeaders","Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:jn.kg("minimap.showMarkSectionHeaders","Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:jn.kg("minimap.sectionHeaderFontSize","Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:e.sectionHeaderLetterSpacing,description:jn.kg("minimap.sectionHeaderLetterSpacing","Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:ic(t.enabled,this.defaultValue.enabled),autohide:ic(t.autohide,this.defaultValue.autohide),size:hc(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:hc(t.side,this.defaultValue.side,["right","left"]),showSlider:hc(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:ic(t.renderCharacters,this.defaultValue.renderCharacters),scale:oc.clampedInt(t.scale,1,1,3),maxColumn:oc.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:ic(t.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:ic(t.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:ac.clamp(t.sectionHeaderFontSize??this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:ac.clamp(t.sectionHeaderLetterSpacing??this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}),mouseStyle:Mc(new dc(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:Mc(new ac(75,"mouseWheelScrollSensitivity",1,(e=>0===e?1:e),{markdownDescription:jn.kg("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:Mc(new nc(76,"mouseWheelZoom",!1,{markdownDescription:f.zx?jn.kg("mouseWheelZoom.mac","Zoom the font of the editor when using mouse wheel and holding `Cmd`."):jn.kg("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:Mc(new nc(77,"multiCursorMergeOverlapping",!0,{description:jn.kg("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:Mc(new cc(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(e){return"ctrlCmd"===e?f.zx?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[jn.kg("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),jn.kg("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:jn.kg({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:Mc(new dc(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[jn.kg("multiCursorPaste.spread","Each cursor pastes a single line of the text."),jn.kg("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:jn.kg("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:Mc(new oc(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:jn.kg("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:Mc(new dc(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[jn.kg("occurrencesHighlight.off","Does not highlight occurrences."),jn.kg("occurrencesHighlight.singleFile","Highlights occurrences only in the current file."),jn.kg("occurrencesHighlight.multiFile","Experimental: Highlights occurrences across all valid open files.")],markdownDescription:jn.kg("occurrencesHighlight","Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:Mc(new nc(82,"overviewRulerBorder",!0,{description:jn.kg("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:Mc(new oc(83,"overviewRulerLanes",3,0,3)),padding:Mc(new class extends Zd{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:jn.kg("padding.top","Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:jn.kg("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{top:oc.clampedInt(t.top,0,0,1e3),bottom:oc.clampedInt(t.bottom,0,0,1e3)}}}),pasteAs:Mc(new class extends Zd{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:jn.kg("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:jn.kg("pasteAs.showPasteSelector","Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[jn.kg("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),jn.kg("pasteAs.showPasteSelector.never","Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:ic(t.enabled,this.defaultValue.enabled),showPasteSelector:hc(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:Mc(new class extends Zd{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:jn.kg("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:jn.kg("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:ic(t.enabled,this.defaultValue.enabled),cycle:ic(t.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:Mc(new dc(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[jn.kg("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),jn.kg("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:jn.kg("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:Mc(new class extends Zd{constructor(){super(88,"placeholder",void 0)}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?e:this.defaultValue}}),definitionLinkOpensInPeek:Mc(new nc(89,"definitionLinkOpensInPeek",!1,{description:jn.kg("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:Mc(new class extends Zd{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[jn.kg("on","Quick suggestions show inside the suggest widget"),jn.kg("inline","Quick suggestions show as ghost text"),jn.kg("off","Quick suggestions are disabled")]}];super(90,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:jn.kg("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:jn.kg("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:jn.kg("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:jn.kg("quickSuggestions","Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.","`#editor.suggestOnTriggerCharacters#`")}),this.defaultValue=e}validate(e){if("boolean"==typeof e){const t=e?"on":"off";return{comments:t,strings:t,other:t}}if(!e||"object"!=typeof e)return this.defaultValue;const{other:t,comments:i,strings:n}=e,s=["on","inline","off"];let o,r,a;return o="boolean"==typeof t?t?"on":"off":hc(t,this.defaultValue.other,s),r="boolean"==typeof i?i?"on":"off":hc(i,this.defaultValue.comments,s),a="boolean"==typeof n?n?"on":"off":hc(n,this.defaultValue.strings,s),{other:o,comments:r,strings:a}}}),quickSuggestionsDelay:Mc(new oc(91,"quickSuggestionsDelay",10,0,1073741824,{description:jn.kg("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:Mc(new nc(92,"readOnly",!1)),readOnlyMessage:Mc(new class extends Zd{constructor(){super(93,"readOnlyMessage",undefined)}validate(e){return e&&"object"==typeof e?e:this.defaultValue}}),renameOnType:Mc(new nc(94,"renameOnType",!1,{description:jn.kg("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:jn.kg("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:Mc(new nc(95,"renderControlCharacters",!0,{description:jn.kg("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:Mc(new dc(96,"renderFinalNewline",f.j9?"dimmed":"on",["off","on","dimmed"],{description:jn.kg("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:Mc(new dc(97,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",jn.kg("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:jn.kg("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:Mc(new nc(98,"renderLineHighlightOnlyWhenFocus",!1,{description:jn.kg("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:Mc(new dc(99,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:Mc(new dc(100,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",jn.kg("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),jn.kg("renderWhitespace.selection","Render whitespace characters only on selected text."),jn.kg("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:jn.kg("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:Mc(new oc(101,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:Mc(new nc(102,"roundedSelection",!0,{description:jn.kg("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:Mc(new class extends Zd{constructor(){const e=[],t={type:"number",description:jn.kg("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(103,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:jn.kg("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:jn.kg("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(const i of e)if("number"==typeof i)t.push({column:oc.clampedInt(i,0,0,1e4),color:null});else if(i&&"object"==typeof i){const e=i;t.push({column:oc.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort(((e,t)=>e.column-t.column)),t}return this.defaultValue}}),scrollbar:Mc(new class extends Zd{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(104,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[jn.kg("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),jn.kg("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),jn.kg("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:jn.kg("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[jn.kg("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),jn.kg("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),jn.kg("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:jn.kg("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:jn.kg("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:jn.kg("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:jn.kg("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:jn.kg("scrollbar.ignoreHorizontalScrollbarInContentHeight","When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e,i=oc.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),n=oc.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:oc.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:bc(t.vertical,this.defaultValue.vertical),horizontal:bc(t.horizontal,this.defaultValue.horizontal),useShadows:ic(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:ic(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:ic(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:ic(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:ic(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:oc.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:n,verticalSliderSize:oc.clampedInt(t.verticalSliderSize,n,0,1e3),scrollByPage:ic(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:ic(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:Mc(new oc(105,"scrollBeyondLastColumn",4,0,1073741824,{description:jn.kg("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:Mc(new nc(106,"scrollBeyondLastLine",!0,{description:jn.kg("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:Mc(new nc(107,"scrollPredominantAxis",!0,{description:jn.kg("scrollPredominantAxis","Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:Mc(new nc(108,"selectionClipboard",!0,{description:jn.kg("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:f.j9})),selectionHighlight:Mc(new nc(109,"selectionHighlight",!0,{description:jn.kg("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:Mc(new nc(110,"selectOnLineNumbers",!0)),showFoldingControls:Mc(new dc(111,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[jn.kg("showFoldingControls.always","Always show the folding controls."),jn.kg("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),jn.kg("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:jn.kg("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:Mc(new nc(112,"showUnused",!0,{description:jn.kg("showUnused","Controls fading out of unused code.")})),showDeprecated:Mc(new nc(141,"showDeprecated",!0,{description:jn.kg("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:Mc(new class extends Zd{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(142,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:jn.kg("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[jn.kg("editor.inlayHints.on","Inlay hints are enabled"),jn.kg("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",f.zx?"Ctrl+Option":"Ctrl+Alt"),jn.kg("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",f.zx?"Ctrl+Option":"Ctrl+Alt"),jn.kg("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:jn.kg("inlayHints.fontSize","Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:jn.kg("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:jn.kg("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return"boolean"==typeof t.enabled&&(t.enabled=t.enabled?"on":"off"),{enabled:hc(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:oc.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:lc.string(t.fontFamily,this.defaultValue.fontFamily),padding:ic(t.padding,this.defaultValue.padding)}}}),snippetSuggestions:Mc(new dc(113,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[jn.kg("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),jn.kg("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),jn.kg("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),jn.kg("snippetSuggestions.none","Do not show snippet suggestions.")],description:jn.kg("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:Mc(new class extends Zd{constructor(){super(114,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:jn.kg("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:jn.kg("selectSubwords","Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return e&&"object"==typeof e?{selectLeadingAndTrailingWhitespace:ic(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:ic(e.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:Mc(new nc(115,"smoothScrolling",!1,{description:jn.kg("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:Mc(new oc(118,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:Mc(new class extends Zd{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(119,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[jn.kg("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),jn.kg("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:jn.kg("suggest.insertMode","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:jn.kg("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:jn.kg("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:jn.kg("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[jn.kg("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),jn.kg("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),jn.kg("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),jn.kg("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:jn.kg("suggest.selectionMode","Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.","`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:jn.kg("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:jn.kg("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:jn.kg("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:jn.kg("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:jn.kg("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:jn.kg("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:jn.kg("deprecated","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.matchOnWordStartOnly","When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:jn.kg("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertMode:hc(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:ic(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:ic(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:ic(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:ic(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:hc(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:ic(t.showIcons,this.defaultValue.showIcons),showStatusBar:ic(t.showStatusBar,this.defaultValue.showStatusBar),preview:ic(t.preview,this.defaultValue.preview),previewMode:hc(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:ic(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:ic(t.showMethods,this.defaultValue.showMethods),showFunctions:ic(t.showFunctions,this.defaultValue.showFunctions),showConstructors:ic(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:ic(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:ic(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:ic(t.showFields,this.defaultValue.showFields),showVariables:ic(t.showVariables,this.defaultValue.showVariables),showClasses:ic(t.showClasses,this.defaultValue.showClasses),showStructs:ic(t.showStructs,this.defaultValue.showStructs),showInterfaces:ic(t.showInterfaces,this.defaultValue.showInterfaces),showModules:ic(t.showModules,this.defaultValue.showModules),showProperties:ic(t.showProperties,this.defaultValue.showProperties),showEvents:ic(t.showEvents,this.defaultValue.showEvents),showOperators:ic(t.showOperators,this.defaultValue.showOperators),showUnits:ic(t.showUnits,this.defaultValue.showUnits),showValues:ic(t.showValues,this.defaultValue.showValues),showConstants:ic(t.showConstants,this.defaultValue.showConstants),showEnums:ic(t.showEnums,this.defaultValue.showEnums),showEnumMembers:ic(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:ic(t.showKeywords,this.defaultValue.showKeywords),showWords:ic(t.showWords,this.defaultValue.showWords),showColors:ic(t.showColors,this.defaultValue.showColors),showFiles:ic(t.showFiles,this.defaultValue.showFiles),showReferences:ic(t.showReferences,this.defaultValue.showReferences),showFolders:ic(t.showFolders,this.defaultValue.showFolders),showTypeParameters:ic(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:ic(t.showSnippets,this.defaultValue.showSnippets),showUsers:ic(t.showUsers,this.defaultValue.showUsers),showIssues:ic(t.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:Mc(new class extends Zd{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:jn.kg("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[jn.kg("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),jn.kg("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),jn.kg("inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:jn.kg("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:jn.kg("inlineSuggest.suppressSuggestions","Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:e.fontFamily,description:jn.kg("inlineSuggest.fontFamily","Controls the font family of the inline suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:ic(t.enabled,this.defaultValue.enabled),mode:hc(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:hc(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:ic(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:ic(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:lc.string(t.fontFamily,this.defaultValue.fontFamily)}}}),inlineEdit:Mc(new class extends Zd{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:jn.kg("inlineEdit.enabled","Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[jn.kg("inlineEdit.showToolbar.always","Show the inline edit toolbar whenever an inline suggestion is shown."),jn.kg("inlineEdit.showToolbar.onHover","Show the inline edit toolbar when hovering over an inline suggestion."),jn.kg("inlineEdit.showToolbar.never","Never show the inline edit toolbar.")],description:jn.kg("inlineEdit.showToolbar","Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:jn.kg("inlineEdit.fontFamily","Controls the font family of the inline edit.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:ic(t.enabled,this.defaultValue.enabled),showToolbar:hc(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:lc.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:ic(t.keepOnBlur,this.defaultValue.keepOnBlur)}}}),inlineCompletionsAccessibilityVerbose:Mc(new nc(150,"inlineCompletionsAccessibilityVerbose",!1,{description:jn.kg("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:Mc(new oc(120,"suggestFontSize",0,0,1e3,{markdownDescription:jn.kg("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:Mc(new oc(121,"suggestLineHeight",0,0,1e3,{markdownDescription:jn.kg("suggestLineHeight","Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:Mc(new nc(122,"suggestOnTriggerCharacters",!0,{description:jn.kg("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:Mc(new dc(123,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[jn.kg("suggestSelection.first","Always select the first suggestion."),jn.kg("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),jn.kg("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:jn.kg("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:Mc(new dc(124,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[jn.kg("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),jn.kg("tabCompletion.off","Disable tab completions."),jn.kg("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:jn.kg("tabCompletion","Enables tab completions.")})),tabIndex:Mc(new oc(125,"tabIndex",0,-1,1073741824)),unicodeHighlight:Mc(new class extends Zd{constructor(){const e={nonBasicASCII:Cc,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Cc,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(126,"unicodeHighlight",e,{[Sc]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Cc],default:e.nonBasicASCII,description:jn.kg("unicodeHighlight.nonBasicASCII","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[yc]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:jn.kg("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[kc]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:jn.kg("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Lc]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Cc],default:e.includeComments,description:jn.kg("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[xc]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Cc],default:e.includeStrings,description:jn.kg("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[wc]:{restricted:!0,type:"object",default:e.allowedCharacters,description:jn.kg("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Dc]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:jn.kg("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&($l.aI(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&($l.aI(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},i=!0));const n=super.applyUpdate(e,t);return i?new Xd(n.newValue,!0):n}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{nonBasicASCII:Nc(t.nonBasicASCII,Cc,[!0,!1,Cc]),invisibleCharacters:ic(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:ic(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Nc(t.includeComments,Cc,[!0,!1,Cc]),includeStrings:Nc(t.includeStrings,Cc,[!0,!1,Cc]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if("object"!=typeof e||!e)return t;const i={};for(const[n,s]of Object.entries(e))!0===s&&(i[n]=!0);return i}}),unusualLineTerminators:Mc(new dc(127,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[jn.kg("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),jn.kg("unusualLineTerminators.off","Unusual line terminators are ignored."),jn.kg("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:jn.kg("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:Mc(new nc(128,"useShadowDOM",!0)),useTabStops:Mc(new nc(129,"useTabStops",!0,{description:jn.kg("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:Mc(new dc(130,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[jn.kg("wordBreak.normal","Use the default line break rule."),jn.kg("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:jn.kg("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:Mc(new class extends Zd{constructor(){super(131,"wordSegmenterLocales",[],{anyOf:[{description:jn.kg("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:jn.kg("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(e){if("string"==typeof e&&(e=[e]),Array.isArray(e)){const t=[];for(const i of e)if("string"==typeof i)try{Intl.Segmenter.supportedLocalesOf(i).length>0&&t.push(i)}catch{}return t}return this.defaultValue}}),wordSeparators:Mc(new lc(132,"wordSeparators",Gd.J3,{description:jn.kg("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:Mc(new dc(133,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[jn.kg("wordWrap.off","Lines will never wrap."),jn.kg("wordWrap.on","Lines will wrap at the viewport width."),jn.kg({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),jn.kg({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:jn.kg({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:Mc(new lc(134,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;\xa2\xb0\u2032\u2033\u2030\u2103\u3001\u3002\uff61\uff64\uffe0\uff0c\uff0e\uff1a\uff1b\uff1f\uff01\uff05\u30fb\uff65\u309d\u309e\u30fd\u30fe\u30fc\u30a1\u30a3\u30a5\u30a7\u30a9\u30c3\u30e3\u30e5\u30e7\u30ee\u30f5\u30f6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308e\u3095\u3096\u31f0\u31f1\u31f2\u31f3\u31f4\u31f5\u31f6\u31f7\u31f8\u31f9\u31fa\u31fb\u31fc\u31fd\u31fe\u31ff\u3005\u303b\uff67\uff68\uff69\uff6a\uff6b\uff6c\uff6d\uff6e\uff6f\uff70\u201d\u3009\u300b\u300d\u300f\u3011\u3015\uff09\uff3d\uff5d\uff63")),wordWrapBreakBeforeCharacters:Mc(new lc(135,"wordWrapBreakBeforeCharacters","([{\u2018\u201c\u3008\u300a\u300c\u300e\u3010\u3014\uff08\uff3b\uff5b\uff62\xa3\xa5\uff04\uffe1\uffe5+\uff0b")),wordWrapColumn:Mc(new oc(136,"wordWrapColumn",80,1,1073741824,{markdownDescription:jn.kg({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:Mc(new dc(137,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:Mc(new dc(138,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:Mc(new class extends ec{constructor(){super(143)}compute(e,t,i){const n=["monaco-editor"];return t.get(39)&&n.push(t.get(39)),e.extraEditorClassName&&n.push(e.extraEditorClassName),"default"===t.get(74)?n.push("mouse-default"):"copy"===t.get(74)&&n.push("mouse-copy"),t.get(112)&&n.push("showUnused"),t.get(141)&&n.push("showDeprecated"),n.join(" ")}}),defaultColorDecorators:Mc(new nc(148,"defaultColorDecorators",!1,{markdownDescription:jn.kg("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:Mc(new class extends ec{constructor(){super(144)}compute(e,t,i){return e.pixelRatio}}),tabFocusMode:Mc(new nc(145,"tabFocusMode",!1,{markdownDescription:jn.kg("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:Mc(new _c),wrappingInfo:Mc(new class extends ec{constructor(){super(147)}compute(e,t,i){const n=t.get(146);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:n.isWordWrapMinified,isViewportWrapping:n.isViewportWrapping,wrappingColumn:n.wrappingColumn}}}),wrappingIndent:Mc(new class extends Zd{constructor(){super(139,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[jn.kg("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),jn.kg("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),jn.kg("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),jn.kg("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:jn.kg("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return 2===t.get(2)?0:i}}),wrappingStrategy:Mc(new class extends Zd{constructor(){super(140,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[jn.kg("wrappingStrategy.simple","Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),jn.kg("wrappingStrategy.advanced","Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:jn.kg("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return hc(e,"simple",["simple","advanced"])}compute(e,t,i){return 2===t.get(2)?"advanced":i}})};var Rc=i(27142);const Ac=Object.freeze({id:"editor",order:5,type:"object",title:jn.kg("editorConfigurationTitle","Editor"),scope:5}),Pc={...Ac,properties:{"editor.tabSize":{type:"number",default:qd.R.tabSize,minimum:1,markdownDescription:jn.kg("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:jn.kg("indentSize",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:qd.R.insertSpaces,markdownDescription:jn.kg("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:qd.R.detectIndentation,markdownDescription:jn.kg("detectIndentation","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:qd.R.trimAutoWhitespace,description:jn.kg("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:qd.R.largeFileOptimizations,description:jn.kg("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[jn.kg("wordBasedSuggestions.off","Turn off Word Based Suggestions."),jn.kg("wordBasedSuggestions.currentDocument","Only suggest words from the active document."),jn.kg("wordBasedSuggestions.matchingDocuments","Suggest words from all open documents of the same language."),jn.kg("wordBasedSuggestions.allDocuments","Suggest words from all open documents.")],description:jn.kg("wordBasedSuggestions","Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[jn.kg("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),jn.kg("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),jn.kg("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:jn.kg("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:jn.kg("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:jn.kg("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!0,description:jn.kg("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:jn.kg("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:jn.kg("editor.experimental.asyncTokenizationVerification","Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.experimental.treeSitterTelemetry":{type:"boolean",default:!1,markdownDescription:jn.kg("editor.experimental.treeSitterTelemetry","Controls whether tree sitter parsing should be turned on and telemetry collected. Setting `editor.experimental.preferTreeSitter` for specific languages will take precedence."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:jn.kg("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:jn.kg("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:jn.kg("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:jn.kg("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:jn.kg("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:jn.kg("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:$d.maxComputationTime,description:jn.kg("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:$d.maxFileSize,description:jn.kg("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:$d.renderSideBySide,description:jn.kg("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:$d.renderSideBySideInlineBreakpoint,description:jn.kg("renderSideBySideInlineBreakpoint","If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:$d.useInlineViewWhenSpaceIsLimited,description:jn.kg("useInlineViewWhenSpaceIsLimited","If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:$d.renderMarginRevertIcon,description:jn.kg("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:$d.renderGutterMenu,description:jn.kg("renderGutterMenu","When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:$d.ignoreTrimWhitespace,description:jn.kg("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:$d.renderIndicators,description:jn.kg("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:$d.diffCodeLens,description:jn.kg("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:$d.diffWordWrap,markdownEnumDescriptions:[jn.kg("wordWrap.off","Lines will never wrap."),jn.kg("wordWrap.on","Lines will wrap at the viewport width."),jn.kg("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:$d.diffAlgorithm,markdownEnumDescriptions:[jn.kg("diffAlgorithm.legacy","Uses the legacy diffing algorithm."),jn.kg("diffAlgorithm.advanced","Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:$d.hideUnchangedRegions.enabled,markdownDescription:jn.kg("hideUnchangedRegions.enabled","Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:$d.hideUnchangedRegions.revealLineCount,markdownDescription:jn.kg("hideUnchangedRegions.revealLineCount","Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:$d.hideUnchangedRegions.minimumLineCount,markdownDescription:jn.kg("hideUnchangedRegions.minimumLineCount","Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:$d.hideUnchangedRegions.contextLineCount,markdownDescription:jn.kg("hideUnchangedRegions.contextLineCount","Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:$d.experimental.showMoves,markdownDescription:jn.kg("showMoves","Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:$d.experimental.showEmptyDecorations,description:jn.kg("showEmptyDecorations","Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")},"diffEditor.experimental.useTrueInlineView":{type:"boolean",default:$d.experimental.useTrueInlineView,description:jn.kg("useTrueInlineView","If enabled and the editor uses the inline view, word changes are rendered inline.")}}};for(const ZJ of Ec){const e=ZJ.schema;if(void 0!==e)if(void 0!==(Oc=e).type||void 0!==Oc.anyOf)Pc.properties[`editor.${ZJ.name}`]=e;else for(const t in e)Object.hasOwnProperty.call(e,t)&&(Pc.properties[t]=e[t])}var Oc;let Fc=null;function Wc(){return null===Fc&&(Fc=Object.create(null),Object.keys(Pc.properties).forEach((e=>{Fc[e]=!0}))),Fc}hs.O.as(Rc.Fd.Configuration).registerConfiguration(Pc);const Bc=new class{constructor(){this.QuickFix=new ca("quickfix"),this.Refactor=new ca("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new ca("notebook"),this.Source=new ca("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Hc;function Vc(e,t,i){return!!t.contains(e)&&(!i||!t.contains(i))}!function(e){e.Refactor="refactor",e.RefactorPreview="refactor preview",e.Lightbulb="lightbulb",e.Default="other (default)",e.SourceAction="source action",e.QuickFix="quick fix action",e.FixAll="fix all",e.OrganizeImports="organize imports",e.AutoFix="auto fix",e.QuickFixHover="quick fix hover window",e.OnSave="save participants",e.ProblemsView="problems view"}(Hc||(Hc={}));class zc{static fromUser(e,t){return e&&"object"==typeof e?new zc(zc.getKindFromUser(e,t.kind),zc.getApplyFromUser(e,t.apply),zc.getPreferredUser(e)):new zc(t.kind,t.apply,!1)}static getApplyFromUser(e,t){switch("string"==typeof e.apply?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return"string"==typeof e.kind?new ca(e.kind):t}static getPreferredUser(e){return"boolean"==typeof e.preferred&&e.preferred}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class Uc{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){if(this.provider?.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(t){(0,b.M_)(t)}i&&(this.action.edit=i.edit)}return this}}const Kc="editor.action.codeAction",jc="editor.action.quickFix",$c="editor.action.autoFix",qc="editor.action.refactor",Gc="editor.action.sourceAction",Qc="editor.action.organizeImports",Yc="editor.action.fixAll";class Zc extends Ae.jG{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:(0,ia.EI)(e.diagnostics)?(0,ia.EI)(t.diagnostics)?Zc.codeActionsPreferredComparator(e,t):-1:(0,ia.EI)(t.diagnostics)?1:Zc.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Zc.codeActionsComparator),this.validActions=this.allActions.filter((({action:e})=>!e.disabled))}get hasAutoFix(){return this.validActions.some((({action:e})=>!!e.kind&&Bc.QuickFix.contains(new ca(e.kind))&&!!e.isPreferred))}get hasAIFix(){return this.validActions.some((({action:e})=>!!e.isAI))}get allAIFixes(){return this.validActions.every((({action:e})=>!!e.isAI))}}const Xc={actions:[],documentation:void 0};async function Jc(e,t,i,n,s,o){const r=n.filter||{},a={...r,excludes:[...r.excludes||[],Bc.Notebook]},l={only:r.include?.value,trigger:n.type},h=new _l(t,o),d=2===n.type,c=function(e,t,i){return e.all(t).filter((e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some((e=>function(e,t){return!(e.include&&!e.include.intersects(t)||e.excludes&&e.excludes.some((i=>Vc(t,i,e.include)))||!e.includeSourceActions&&Bc.Source.contains(t))}(i,new ca(e))))))}(e,t,d?a:r),u=new Ae.Cm,g=c.map((async e=>{try{s.report(e);const n=await e.provideCodeActions(t,i,l,h.token);if(n&&u.add(n),h.token.isCancellationRequested)return Xc;const o=(n?.actions||[]).filter((e=>e&&function(e,t){const i=t.kind?new ca(t.kind):void 0;return!(!(!e.include||i&&e.include.contains(i))||e.excludes&&i&&e.excludes.some((t=>Vc(i,t,e.include)))||!e.includeSourceActions&&i&&Bc.Source.contains(i)||e.onlyIncludePreferredActions&&!t.isPreferred)}(r,e))),a=function(e,t,i){if(!e.documentation)return;const n=e.documentation.map((e=>({kind:new ca(e.kind),command:e.command})));if(i){let e;for(const t of n)t.kind.contains(i)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return e?.command}for(const s of t)if(s.kind)for(const e of n)if(e.kind.contains(new ca(s.kind)))return e.command;return}(e,o,r.include);return{actions:o.map((t=>new Uc(t,e))),documentation:a}}catch(n){if((0,b.MB)(n))throw n;return(0,b.M_)(n),Xc}})),p=e.onDidChange((()=>{const i=e.all(t);(0,ia.aI)(i,c)||h.cancel()}));try{const i=await Promise.all(g),s=i.map((e=>e.actions)).flat(),o=[...(0,ia.Yc)(i.map((e=>e.documentation))),...eu(e,t,n,s)];return new Zc(s,o,u)}finally{p.dispose(),h.dispose()}}function*eu(e,t,i,n){if(t&&n.length)for(const s of e.all(t))s._getAdditionalMenuItems&&(yield*s._getAdditionalMenuItems?.({trigger:i.type,only:i.filter?.include?.value},n.map((e=>e.action))))}var tu;async function iu(e,t,i,n,s=na.XO.None){const o=e.get(Ca),r=e.get(rs),a=e.get(Ls),l=e.get(yd);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:i}),await t.resolve(s),!s.isCancellationRequested){if(t.action.edit?.edits.length){if(!(await o.apply(t.action.edit,{editor:n?.editor,label:t.action.title,quotableLabel:t.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:i!==tu.OnSave,showPreview:n?.preview})).isApplied)return}if(t.action.command)try{await r.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(h){const e=function(e){return"string"==typeof e?e:e instanceof Error&&"string"==typeof e.message?e.message:void 0}(h);l.error("string"==typeof e?e:jn.kg("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}}!function(e){e.OnSave="onSave",e.FromProblemsView="fromProblemsView",e.FromCodeActions="fromCodeActions",e.FromAILightbulb="fromAILightbulb"}(tu||(tu={})),as.registerCommand("_executeCodeActionProvider",(async function(e,t,i,n,s){if(!(t instanceof Bn.r))throw(0,b.Qg)();const{codeActionProvider:o}=e.get(La.ILanguageFeaturesService),r=e.get(Qn.IModelService).getModel(t);if(!r)throw(0,b.Qg)();const a=$s.L.isISelection(i)?$s.L.liftSelection(i):Xs.Q.isIRange(i)?r.validateRange(i):void 0;if(!a)throw(0,b.Qg)();const l="string"==typeof n?new ca(n):void 0,h=await Jc(o,r,a,{type:1,triggerAction:Hc.Default,filter:{includeSourceActions:!0,include:l}},$h.None,na.XO.None),d=[],c=Math.min(h.validActions.length,"number"==typeof s?s:0);for(let u=0;ue.action))}finally{setTimeout((()=>h.dispose()),100)}}));var nu,su=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ou=function(e,t){return function(i,n){t(i,n,e)}};let ru=class{static{nu=this}static{this.codeActionCommands=[qc,Kc,Gc,Qc,Yc]}constructor(e){this.keybindingService=e}getResolver(){const e=new Pl.d((()=>this.keybindingService.getKeybindings().filter((e=>nu.codeActionCommands.indexOf(e.command)>=0)).filter((e=>e.resolvedKeybinding)).map((e=>{let t=e.commandArgs;return e.command===Qc?t={kind:Bc.SourceOrganizeImports.value}:e.command===Yc&&(t={kind:Bc.SourceFixAll.value}),{resolvedKeybinding:e.resolvedKeybinding,...zc.fromUser(t,{kind:ca.None,apply:"never"})}}))));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i?.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new ca(e.kind);return t.filter((e=>e.kind.contains(i))).filter((t=>!t.preferred||e.isPreferred)).reduceRight(((e,t)=>e?e.kind.contains(t.kind)?t:e:t),void 0)}};ru=nu=su([ou(0,bd)],ru);(0,to.x1A)("symbolIcon.arrayForeground",to.CU6,(0,jn.kg)("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.booleanForeground",to.CU6,(0,jn.kg)("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,jn.kg)("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.colorForeground",to.CU6,(0,jn.kg)("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.constantForeground",to.CU6,(0,jn.kg)("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,jn.kg)("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,jn.kg)("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,jn.kg)("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,jn.kg)("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,jn.kg)("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.fileForeground",to.CU6,(0,jn.kg)("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.folderForeground",to.CU6,(0,jn.kg)("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,jn.kg)("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,jn.kg)("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.keyForeground",to.CU6,(0,jn.kg)("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.keywordForeground",to.CU6,(0,jn.kg)("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,jn.kg)("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.moduleForeground",to.CU6,(0,jn.kg)("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.namespaceForeground",to.CU6,(0,jn.kg)("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.nullForeground",to.CU6,(0,jn.kg)("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.numberForeground",to.CU6,(0,jn.kg)("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.objectForeground",to.CU6,(0,jn.kg)("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.operatorForeground",to.CU6,(0,jn.kg)("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.packageForeground",to.CU6,(0,jn.kg)("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.propertyForeground",to.CU6,(0,jn.kg)("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.referenceForeground",to.CU6,(0,jn.kg)("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.snippetForeground",to.CU6,(0,jn.kg)("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.stringForeground",to.CU6,(0,jn.kg)("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.structForeground",to.CU6,(0,jn.kg)("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.textForeground",to.CU6,(0,jn.kg)("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.typeParameterForeground",to.CU6,(0,jn.kg)("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.unitForeground",to.CU6,(0,jn.kg)("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,to.x1A)("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,jn.kg)("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const au=Object.freeze({kind:ca.Empty,title:(0,jn.kg)("codeAction.widget.id.more","More Actions...")}),lu=Object.freeze([{kind:Bc.QuickFix,title:(0,jn.kg)("codeAction.widget.id.quickfix","Quick Fix")},{kind:Bc.RefactorExtract,title:(0,jn.kg)("codeAction.widget.id.extract","Extract"),icon:vl.W.wrench},{kind:Bc.RefactorInline,title:(0,jn.kg)("codeAction.widget.id.inline","Inline"),icon:vl.W.wrench},{kind:Bc.RefactorRewrite,title:(0,jn.kg)("codeAction.widget.id.convert","Rewrite"),icon:vl.W.wrench},{kind:Bc.RefactorMove,title:(0,jn.kg)("codeAction.widget.id.move","Move"),icon:vl.W.wrench},{kind:Bc.SurroundWith,title:(0,jn.kg)("codeAction.widget.id.surround","Surround With"),icon:vl.W.surroundWith},{kind:Bc.Source,title:(0,jn.kg)("codeAction.widget.id.source","Source Action"),icon:vl.W.symbolFile},au]);var hu=i(50969),du=i(19892),cu=i(51460);var uu,gu;!function(e){e.getDefinition=function(e,t){let i=e.defaults;for(;In.L.isThemeIcon(i);){const e=pu.getIcon(i.id);if(!e)return;i=e.defaults}return i}}(uu||(uu={})),function(e){e.toJSONObject=function(e){return{weight:e.weight,style:e.style,src:e.src.map((e=>({format:e.format,location:e.location.toString()})))}},e.fromJSONObject=function(e){const t=e=>(0,os.Kg)(e)?e:void 0;if(e&&Array.isArray(e.src)&&e.src.every((e=>(0,os.Kg)(e.format)&&(0,os.Kg)(e.location))))return{weight:t(e.weight),style:t(e.style),src:e.src.map((e=>({format:e.format,location:Bn.r.parse(e.location)})))}}}(gu||(gu={}));const pu=new class{constructor(){this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:(0,jn.kg)("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:(0,jn.kg)("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${In.L.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,i,n){const s=this.iconsById[e];if(s){if(i&&!s.description){s.description=i,this.iconSchema.properties[e].markdownDescription=`${i} $(${e})`;const t=this.iconReferenceSchema.enum.indexOf(e);-1!==t&&(this.iconReferenceSchema.enumDescriptions[t]=i),this._onDidChange.fire()}return s}const o={id:e,description:i,defaults:t,deprecationMessage:n};this.iconsById[e]=o;const r={$ref:"#/definitions/icons"};return n&&(r.deprecationMessage=n),i&&(r.markdownDescription=`${i}: $(${e})`),this.iconSchema.properties[e]=r,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(i||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map((e=>this.iconsById[e]))}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(e,t)=>e.id.localeCompare(t.id),t=e=>{for(;In.L.isThemeIcon(e.defaults);)e=this.iconsById[e.defaults.id];return`codicon codicon-${e?e.id:""}`},i=[];i.push("| preview | identifier | default codicon ID | description"),i.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const n=Object.keys(this.iconsById).map((e=>this.iconsById[e]));for(const s of n.filter((e=>!!e.description)).sort(e))i.push(`||${s.id}|${In.L.isThemeIcon(s.defaults)?s.defaults.id:s.id}|${s.description||""}|`);i.push("| preview | identifier "),i.push("| ----------- | --------------------------------- |");for(const s of n.filter((e=>!In.L.isThemeIcon(e.defaults))).sort(e))i.push(`||${s.id}|`);return i.join("\n")}};function mu(e,t,i,n){return pu.registerIcon(e,t,i,n)}function fu(){return pu}hs.O.add("base.contributions.icons",pu),function(){const e=(0,du.J)();for(const t in e){const i="\\"+e[t].toString(16);pu.registerIcon(t,{fontCharacter:i})}}();const _u="vscode://schemas/icons",vu=hs.O.as(cu.F.JSONContribution);vu.registerSchema(_u,pu.getIconSchema());const bu=new A.uC((()=>vu.notifySchemaChanged(_u)),200);pu.onDidChange((()=>{bu.isScheduled()||bu.schedule()}));const Cu=mu("widget-close",vl.W.close,(0,jn.kg)("widgetClose","Icon for the close action in widgets."));mu("goto-previous-location",vl.W.arrowUp,(0,jn.kg)("previousChangeIcon","Icon for goto previous editor location.")),mu("goto-next-location",vl.W.arrowDown,(0,jn.kg)("nextChangeIcon","Icon for goto next editor location.")),In.L.modify(vl.W.sync,"spin"),In.L.modify(vl.W.loading,"spin");var wu,yu=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Su=function(e,t){return function(i,n){t(i,n,e)}};const ku=mu("gutter-lightbulb",vl.W.lightBulb,jn.kg("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),Lu=mu("gutter-lightbulb-auto-fix",vl.W.lightbulbAutofix,jn.kg("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),xu=mu("gutter-lightbulb-sparkle",vl.W.lightbulbSparkle,jn.kg("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),Du=mu("gutter-lightbulb-aifix-auto-fix",vl.W.lightbulbSparkleAutofix,jn.kg("gutterLightbulbAIFixAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),Nu=mu("gutter-lightbulb-sparkle-filled",vl.W.sparkleFilled,jn.kg("gutterLightbulbSparkleFilledWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var Iu;!function(e){e.Hidden={type:0};e.Showing=class{constructor(e,t,i,n){this.actions=e,this.trigger=t,this.editorPosition=i,this.widgetPosition=n,this.type=1}}}(Iu||(Iu={}));let Eu=class extends Ae.jG{static{wu=this}static{this.GUTTER_DECORATION=eo.kI.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:In.L.asClassName(vl.W.lightBulb),glyphMargin:{position:Js.ZS.Left},stickiness:1})}static{this.ID="editor.contrib.lightbulbWidget"}static{this._posPref=[0]}constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new P.vl),this.onClick=this._onClick.event,this._state=Iu.Hidden,this._gutterState=Iu.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+ku.id,"codicon-"+Du.id,"codicon-"+Lu.id,"codicon-"+xu.id,"codicon-"+Nu.id],this.gutterDecoration=wu.GUTTER_DECORATION,this._domNode=ei("div.lightBulbWidget"),this._domNode.role="listbox",this._register(nd.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((e=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide(),(1!==this.gutterState.type||!t||this.gutterState.editorPosition.lineNumber>=t.getLineCount())&&this.gutterHide()}))),this._register(Je(this._domNode,(e=>{if(1!==this.state.type)return;this._editor.focus(),e.preventDefault();const{top:t,height:i}=ct(this._domNode),n=this._editor.getOption(67);let s=Math.floor(n/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1&~e.buttons||this.hide()}))),this._register(P.Jh.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,(()=>{this._preferredKbLabel=this._keybindingService.lookupKeybinding($c)?.getLabel()??void 0,this._quickFixKbLabel=this._keybindingService.lookupKeybinding(jc)?.getLabel()??void 0,this._updateLightBulbTitleAndIcon()}))),this._register(this._editor.onMouseDown((async e=>{if(!e.target.element||!this.lightbulbClasses.some((t=>e.target.element&&e.target.element.classList.contains(t))))return;if(1!==this.gutterState.type)return;this._editor.focus();const{top:t,height:i}=ct(e.target.element),n=this._editor.getOption(67);let s=Math.floor(n/3);null!==this.gutterState.widgetPosition.position&&this.gutterState.widgetPosition.position.lineNumber22,c=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1),u=this._editor.getLineDecorations(s);let g=!1;if(u)for(const v of u){const e=v.options.glyphMarginClassName;if(e&&!this.lightbulbClasses.some((t=>e.includes(t)))){g=!0;break}}let p=s,m=1;if(!d){const r=e=>{const t=n.getLineContent(e);return/^\s*$|^\s+/.test(t)||t.length<=m};if(s>1&&!c(s-1)){const o=s===n.getLineCount(),a=s>1&&r(s-1),l=!o&&r(s+1),h=r(s),d=!l&&!a;if(!(l||a||g))return this.gutterState=new Iu.Showing(e,t,i,{position:{lineNumber:p,column:m},preference:wu._posPref}),this.renderGutterLightbub(),this.hide();a||o||a&&!h?p-=1:(l||d&&h)&&(p+=1)}else if(1!==s||s!==n.getLineCount()&&(r(s+1)||r(s))){if(s{this._gutterDecorationID=t.addDecoration(new Xs.Q(e,0,e,0),this.gutterDecoration)}))}_removeGutterDecoration(e){this._editor.changeDecorations((t=>{t.removeDecoration(e),this._gutterDecorationID=void 0}))}_updateGutterDecoration(e,t){this._editor.changeDecorations((i=>{i.changeDecoration(e,new Xs.Q(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)}))}_updateLightbulbTitle(e,t){1===this.state.type&&(t?this.title=jn.kg("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=jn.kg("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=jn.kg("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=jn.kg("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}};Eu=wu=yu([Su(1,bd)],Eu);class Mu{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach((n=>n.splice(e,t,i)))}}var Tu=i(62992);class Ru extends Error{constructor(e,t){super(`ListError [${e}] ${t}`)}}class Au{constructor(){this._hooks=new Ae.Cm,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;const i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,n,s){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=n,this._onStopCallback=s;let o=e;try{e.setPointerCapture(t),this._hooks.add((0,Ae.s)((()=>{try{e.releasePointerCapture(t)}catch(i){}})))}catch(r){o=We(e)}this._hooks.add(Ye(o,Ut.POINTER_MOVE,(e=>{e.buttons===i?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)}))),this._hooks.add(Ye(o,Ut.POINTER_UP,(e=>this.stopMonitoring(!0))))}}class Pu extends Ae.jG{onclick(e,t){this._register(Ye(e,Ut.CLICK,(i=>t(new T(We(e),i)))))}onmousedown(e,t){this._register(Ye(e,Ut.MOUSE_DOWN,(i=>t(new T(We(e),i)))))}onmouseover(e,t){this._register(Ye(e,Ut.MOUSE_OVER,(i=>t(new T(We(e),i)))))}onmouseleave(e,t){this._register(Ye(e,Ut.MOUSE_LEAVE,(i=>t(new T(We(e),i)))))}onkeydown(e,t){this._register(Ye(e,Ut.KEY_DOWN,(e=>t(new N(e)))))}onkeyup(e,t){this._register(Ye(e,Ut.KEY_UP,(e=>t(new N(e)))))}oninput(e,t){this._register(Ye(e,Ut.INPUT,t))}onblur(e,t){this._register(Ye(e,Ut.BLUR,t))}onfocus(e,t){this._register(Ye(e,Ut.FOCUS,t))}ignoreGesture(e){return nd.ignoreTarget(e)}}const Ou=11;class Fu extends Pu{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",void 0!==e.top&&(this.bgDomNode.style.top="0px"),void 0!==e.left&&(this.bgDomNode.style.left="0px"),void 0!==e.bottom&&(this.bgDomNode.style.bottom="0px"),void 0!==e.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...In.L.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px",void 0!==e.top&&(this.domNode.style.top=e.top+"px"),void 0!==e.left&&(this.domNode.style.left=e.left+"px"),void 0!==e.bottom&&(this.domNode.style.bottom=e.bottom+"px"),void 0!==e.right&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new Au),this._register(Xe(this.bgDomNode,Ut.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._register(Xe(this.domNode,Ut.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._pointerdownRepeatTimer=this._register(new st),this._pointerdownScheduleRepeatTimer=this._register(new A.pc)}_arrowPointerDown(e){if(!(e.target&&e.target instanceof Element))return;this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet((()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24,We(e))}),200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{}),(()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()})),e.preventDefault()}}class Wu extends Ae.jG{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new A.pc)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{this._domNode?.setClassName(this._visibleClassName)}),0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?" fade":"")))}}class Bu extends Pu{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new Wu(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Au),this._shouldRender=!0,this.domNode=kh(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Ye(this.domNode.domNode,Ut.POINTER_DOWN,(e=>this._domNodePointerDown(e))))}_createArrow(e){const t=this._register(new Fu(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,n){this.slider=kh(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),"number"==typeof i&&this.slider.setWidth(i),"number"==typeof n&&this.slider.setHeight(n),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Ye(this.slider.domNode,Ut.POINTER_DOWN,(e=>{0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}))),this.onclick(this.slider.domNode,(e=>{e.leftButton&&e.stopPropagation()}))}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),n=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),s=this._sliderPointerPosition(e);i<=s&&s<=n?0===e.button&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&"number"==typeof e.offsetX&&"number"==typeof e.offsetY)t=e.offsetX,i=e.offsetY;else{const n=ct(this.domNode.domNode);t=e.pageX-n.left,i=e.pageY-n.top}const n=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(n):this._scrollbarState.getDesiredScrollPositionFromOffset(n)),0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),n=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{const s=this._sliderOrthogonalPointerPosition(e),o=Math.abs(s-i);if(f.uF&&o>140)return void this._setDesiredScrollPositionNow(n.getScrollPosition());const r=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(n.getDesiredScrollPositionFromDelta(r))}),(()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()})),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}class Hu{constructor(e,t,i,n,s,o){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=n,this._scrollSize=s,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new Hu(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,n,s){const o=Math.max(0,i-e),r=Math.max(0,o-2*t),a=n>0&&n>i;if(!a)return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(r),computedSliderRatio:0,computedSliderPosition:0};const l=Math.round(Math.max(20,Math.floor(i*r/n))),h=(r-l)/(n-i),d=s*h;return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:h,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){const e=Hu._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return tthis._host.onMouseWheel(new R(null,1,0))}),this._createArrow({className:"scra",icon:vl.W.scrollbarButtonRight,top:i,left:void 0,bottom:void 0,right:e,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new R(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(2===e.horizontal?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class zu extends Bu{constructor(e,t,i){const n=e.getScrollDimensions(),s=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new Hu(t.verticalHasArrows?t.arrowSize:0,2===t.vertical?0:t.verticalScrollbarSize,0,n.height,n.scrollHeight,s.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const e=(t.arrowSize-Ou)/2,i=(t.verticalScrollbarSize-Ou)/2;this._createArrow({className:"scra",icon:vl.W.scrollbarButtonUp,top:e,left:i,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new R(null,0,1))}),this._createArrow({className:"scra",icon:vl.W.scrollbarButtonDown,top:void 0,left:i,bottom:e,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new R(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class Uu{constructor(e,t,i,n,s,o,r){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,i|=0,n|=0,s|=0,o|=0,r|=0),this.rawScrollLeft=n,this.rawScrollTop=r,t<0&&(t=0),n+t>i&&(n=i-t),n<0&&(n=0),s<0&&(s=0),r+s>o&&(r=o-s),r<0&&(r=0),this.width=t,this.scrollWidth=i,this.scrollLeft=n,this.height=s,this.scrollHeight=o,this.scrollTop=r}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new Uu(this._forceIntegerValues,void 0!==e.width?e.width:this.width,void 0!==e.scrollWidth?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,void 0!==e.height?e.height:this.height,void 0!==e.scrollHeight?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new Uu(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==e.scrollLeft?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==e.scrollTop?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,s=this.scrollLeft!==e.scrollLeft,o=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,a=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:n,scrollLeftChanged:s,heightChanged:o,scrollHeightChanged:r,scrollTopChanged:a}}}class Ku extends Ae.jG{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new P.vl),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new Uu(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){const i=this._state.withScrollDimensions(e,t);this._setState(i,Boolean(this._smoothScrolling)),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let n;n=t?new qu(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=n}else{const t=this._state.withScrollPosition(e);this._smoothScrolling=qu.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);return this._setState(t,!0),this._smoothScrolling?e.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}}class ju{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function $u(e,t){const i=t-e;return function(t){return e+i*(1-function(e){return Math.pow(e,3)}(1-t))}}class qu{constructor(e,t,i,n){this.from=e,this.to=t,this.duration=n,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,i){if(Math.abs(e-t)>2.5*i){let r,a;return e0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if(this._isAlmostInt(e.deltaX)&&this._isAlmostInt(e.deltaY)||(i+=.25),t){const n=Math.abs(e.deltaX),s=Math.abs(e.deltaY),o=Math.abs(t.deltaX),r=Math.abs(t.deltaY),a=Math.max(Math.min(n,o),1),l=Math.max(Math.min(s,r),1),h=Math.max(n,o),d=Math.max(s,r);h%a==0&&d%l==0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}class Yu extends Pu{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new P.vl),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new P.vl),e.style.overflow="hidden",this._options=function(e){const t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==e.consumeMouseWheelIfScrollbarIsNeeded&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,scrollPredominantAxis:void 0===e.scrollPredominantAxis||e.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:1,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:1,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0,scrollByPage:void 0!==e.scrollByPage&&e.scrollByPage};t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,f.zx&&(t.className+=" mac");return t}(t),this._scrollable=i,this._register(this._scrollable.onScroll((e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)})));const n={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new zu(this._scrollable,this._options,n)),this._horizontalScrollbar=this._register(new Vu(this._scrollable,this._options,n)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=kh(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=kh(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=kh(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(e=>this._onMouseOver(e))),this.onmouseleave(this._listenOnDomNode,(e=>this._onMouseLeave(e))),this._hideTimeout=this._register(new A.pc),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=(0,Ae.AS)(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,f.zx&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){void 0!==e.handleMouseWheel&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==e.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),void 0!==e.fastScrollSensitivity&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),void 0!==e.scrollPredominantAxis&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),void 0!==e.horizontal&&(this._options.horizontal=e.horizontal),void 0!==e.vertical&&(this._options.vertical=e.vertical),void 0!==e.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),void 0!==e.verticalScrollbarSize&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),void 0!==e.scrollByPage&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new R(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=(0,Ae.AS)(this._mouseWheelToDispose),e)){const e=e=>{this._onMouseWheel(new R(e))};this._mouseWheelToDispose.push(Ye(this._listenOnDomNode,Ut.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;const t=Qu.INSTANCE;t.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let n=e.deltaY*this._options.mouseWheelScrollSensitivity,s=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&s+n===0?s=n=0:Math.abs(n)>=Math.abs(s)?s=0:n=0),this._options.flipAxes&&([n,s]=[s,n]);const o=!f.zx&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!o||s||(s=n,n=0),e.browserEvent&&e.browserEvent.altKey&&(s*=this._options.fastScrollSensitivity,n*=this._options.fastScrollSensitivity);const r=this._scrollable.getFutureScrollPosition();let a={};if(n){const e=50*n,t=r.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(a,t)}if(s){const e=50*s,t=r.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(a,t)}if(a=this._scrollable.validateScrollPosition(a),r.scrollLeft!==a.scrollLeft||r.scrollTop!==a.scrollTop){this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),i=!0}}let n=i;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,n=i?" left":"",s=t?" top":"",o=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${n}`),this._topShadowDomNode.setClassName(`shadow${s}`),this._topLeftShadowDomNode.setClassName(`shadow${o}${s}${n}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((()=>this._hide()),500)}}class Zu extends Yu{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new Ku({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>nt(We(e),t)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class Xu extends Yu{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class Ju extends Yu{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new Ku({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>nt(We(e),t)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll((e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)}))),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}var eg;function tg(e,t){const i=[];for(const n of t){if(e.start>=n.range.end)continue;if(e.end=t.end||t.start>=e.end)return{start:0,end:0};const i=Math.max(e.start,t.start),n=Math.min(e.end,t.end);return n-i<=0?{start:0,end:0}:{start:i,end:n}}function i(e){return e.end-e.start<=0}e.intersect=t,e.isEmpty=i,e.intersects=function(e,n){return!i(t(e,n))},e.relativeComplement=function(e,t){const n=[],s={start:e.start,end:Math.min(t.start,e.end)},o={start:Math.max(t.end,e.start),end:e.end};return i(s)||n.push(s),i(o)||n.push(o),n}}(eg||(eg={}));class ng{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e??0,this._size=this._paddingTop}splice(e,t,i=[]){const n=i.length-t,s=tg({start:0,end:e},this.groups),o=tg({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map((e=>({range:ig(e.range,n),size:e.size}))),r=i.map(((t,i)=>({range:{start:e+i,end:e+i+1},size:t.size})));this.groups=function(...e){return function(e){const t=[];let i=null;for(const n of e){const e=n.range.start,s=n.range.end,o=n.size;i&&o===i.size?i.range.end=s:(i={range:{start:e,end:s},size:o},t.push(i))}return t}(e.reduce(((e,t)=>e.concat(t)),[]))}(s,r,o),this._size=this._paddingTop+this.groups.reduce(((e,t)=>e+t.size*(t.range.end-t.range.start)),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const i of e){this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}})),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}var og=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};const rg={CurrentDragAndDropData:void 0},ag={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:e=>[e],getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class lg{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class hg{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class dg{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;ti,this.getPosInSet=e?.getPosInSet?e.getPosInSet.bind(e):(e,t)=>t+1,this.getRole=e?.getRole?e.getRole.bind(e):e=>"listitem",this.isChecked=e?.isChecked?e.isChecked.bind(e):e=>{}}}class ug{static{this.InstanceCount=0}get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const e of this.items)this.measureItemWidth(e);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:pt(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(e,t,i,n=ag){if(this.virtualDelegate=t,this.domId="list_id_"+ ++ug.InstanceCount,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new A.ve(50),this.splicing=!1,this.dragOverAnimationStopDisposable=Ae.jG.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=Ae.jG.None,this.onDragLeaveTimeout=Ae.jG.None,this.disposables=new Ae.Cm,this._onDidChangeContentHeight=new P.vl,this._onDidChangeContentWidth=new P.vl,this.onDidChangeContentHeight=P.Jh.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,n.horizontalScrolling&&n.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(n.paddingTop??0);for(const s of i)this.renderers.set(s.templateId,s);this.cache=this.disposables.add(new sg(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support","boolean"!=typeof n.mouseSupport||n.mouseSupport),this._horizontalScrolling=n.horizontalScrolling??ag.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=void 0===n.paddingBottom?0:n.paddingBottom,this.accessibilityProvider=new cg(n.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows";(n.transformOptimization??ag.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(nd.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new Ku({forceIntegerValues:!0,smoothScrollDuration:n.smoothScrolling?125:0,scheduleAtNextAnimationFrame:e=>nt(We(this.domNode),e)})),this.scrollableElement=this.disposables.add(new Xu(this.rowsContainer,{alwaysConsumeMouseWheel:n.alwaysConsumeMouseWheel??ag.alwaysConsumeMouseWheel,horizontal:1,vertical:n.verticalScrollMode??ag.verticalScrollMode,useShadows:n.useShadows??ag.useShadows,mouseWheelScrollSensitivity:n.mouseWheelScrollSensitivity,fastScrollSensitivity:n.fastScrollSensitivity,scrollByPage:n.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(Ye(this.rowsContainer,td.Change,(e=>this.onTouchChange(e)))),this.disposables.add(Ye(this.scrollableElement.getDomNode(),"scroll",(e=>e.target.scrollTop=0))),this.disposables.add(Ye(this.domNode,"dragover",(e=>this.onDragOver(this.toDragEvent(e))))),this.disposables.add(Ye(this.domNode,"drop",(e=>this.onDrop(this.toDragEvent(e))))),this.disposables.add(Ye(this.domNode,"dragleave",(e=>this.onDragLeave(this.toDragEvent(e))))),this.disposables.add(Ye(this.domNode,"dragend",(e=>this.onDragEnd(e)))),this.setRowLineHeight=n.setRowLineHeight??ag.setRowLineHeight,this.setRowHeight=n.setRowHeight??ag.setRowHeight,this.supportDynamicHeights=n.supportDynamicHeights??ag.supportDynamicHeights,this.dnd=n.dnd??this.disposables.add(ag.dnd),this.layout(n.initialSize?.height,n.initialSize?.width)}updateOptions(e){let t;if(void 0!==e.paddingBottom&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),void 0!==e.smoothScrolling&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),void 0!==e.horizontalScrolling&&(this.horizontalScrolling=e.horizontalScrolling),void 0!==e.scrollByPage&&(t={...t??{},scrollByPage:e.scrollByPage}),void 0!==e.mouseWheelScrollSensitivity&&(t={...t??{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),void 0!==e.fastScrollSensitivity&&(t={...t??{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),void 0!==e.paddingTop&&e.paddingTop!==this.rangeMap.paddingTop){const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),i=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(t,Math.max(0,this.lastRenderTop+i),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new ng(e)}splice(e,t,i=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,i)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,i=[]){const n=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),s={start:e,end:e+t},o=eg.intersect(n,s),r=new Map;for(let b=o.end-1;b>=o.start;b--){const e=this.items[b];if(e.dragStartDisposable.dispose(),e.checkedDisposable.dispose(),e.row){let t=r.get(e.templateId);t||(t=[],r.set(e.templateId,t));const i=this.renderers.get(e.templateId);i&&i.disposeElement&&i.disposeElement(e.element,b,e.row.templateData,e.size),t.unshift(e.row)}e.row=null,e.stale=!0}const a={start:e+t,end:this.items.length},l=eg.intersect(a,n),h=eg.relativeComplement(a,n),d=i.map((e=>({id:String(this.itemId++),element:e,templateId:this.virtualDelegate.getTemplateId(e),size:this.virtualDelegate.getHeight(e),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(e),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:Ae.jG.None,checkedDisposable:Ae.jG.None,stale:!1})));let c;0===e&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,d),c=this.items,this.items=d):(this.rangeMap.splice(e,t,d),c=this.items.splice(e,t,...d));const u=i.length-t,g=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),p=ig(l,u),m=eg.intersect(g,p);for(let b=m.start;big(e,u))),v=[{start:e,end:e+i.length},..._].map((e=>eg.intersect(g,e))).reverse();for(const b of v)for(let e=b.end-1;e>=b.start;e--){const t=this.items[e],i=r.get(t.templateId),n=i?.pop();this.insertItemInDOM(e,n)}for(const b of r.values())for(const e of b)this.cache.release(e);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),c.map((e=>e.element))}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=nt(We(this.domNode),(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})))}eventuallyUpdateScrollWidth(){this.horizontalScrolling?this.scrollableElementWidthDelayer.trigger((()=>this.updateScrollWidth())):this.scrollableElementWidthDelayer.cancel()}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)void 0!==t.width&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:0===e?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(e){return this.items[e].element}indexOf(e){return this.items.findIndex((t=>t.element===e))}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const i={height:"number"==typeof e?e:mt(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,i.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(i),void 0!==t&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:"number"==typeof t?t:pt(this.domNode)})}render(e,t,i,n,s,o=!1){const r=this.getRenderRange(t,i),a=eg.relativeComplement(r,e).reverse(),l=eg.relativeComplement(e,r);if(o){const t=eg.intersect(e,r);for(let e=t.start;e{for(const e of l)for(let t=e.start;t=e.start;t--)this.insertItemInDOM(t)})),void 0!==n&&(this.rowsContainer.style.left=`-${n}px`),this.rowsContainer.style.top=`-${t}px`,this.horizontalScrolling&&void 0!==s&&(this.rowsContainer.style.width=`${Math.max(s,this.renderWidth)}px`),this.lastRenderTop=t,this.lastRenderHeight=i}insertItemInDOM(e,t){const i=this.items[e];if(!i.row)if(t)i.row=t,i.stale=!0;else{const e=this.cache.alloc(i.templateId);i.row=e.row,i.stale||=e.isReusingConnectedDomNode}const n=this.accessibilityProvider.getRole(i.element)||"listitem";i.row.domNode.setAttribute("role",n);const s=this.accessibilityProvider.isChecked(i.element);if("boolean"==typeof s)i.row.domNode.setAttribute("aria-checked",String(!!s));else if(s){const e=e=>i.row.domNode.setAttribute("aria-checked",String(!!e));e(s.value),i.checkedDisposable=s.onDidChange((()=>e(s.value)))}if(i.stale||!i.row.domNode.parentElement){const t=this.items.at(e+1)?.row?.domNode??null;i.row.domNode.parentElement===this.rowsContainer&&i.row.domNode.nextElementSibling===t||this.rowsContainer.insertBefore(i.row.domNode,t),i.stale=!1}this.updateItemInDOM(i,e);const o=this.renderers.get(i.templateId);if(!o)throw new Error(`No renderer found for template id ${i.templateId}`);o?.renderElement(i.element,e,i.row.templateData,i.size);const r=this.dnd.getDragURI(i.element);i.dragStartDisposable.dispose(),i.row.domNode.draggable=!!r,r&&(i.dragStartDisposable=Ye(i.row.domNode,"dragstart",(e=>this.onDragStart(i.element,r,e)))),this.horizontalScrolling&&(this.measureItemWidth(i),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=pt(e.row.domNode);const t=We(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute("data-index",`${t}`),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2==0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return P.Jh.map(this.disposables.add(new Vr(this.domNode,"click")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseDblClick(){return P.Jh.map(this.disposables.add(new Vr(this.domNode,"dblclick")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseMiddleClick(){return P.Jh.filter(P.Jh.map(this.disposables.add(new Vr(this.domNode,"auxclick")).event,(e=>this.toMouseEvent(e)),this.disposables),(e=>1===e.browserEvent.button),this.disposables)}get onMouseDown(){return P.Jh.map(this.disposables.add(new Vr(this.domNode,"mousedown")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOver(){return P.Jh.map(this.disposables.add(new Vr(this.domNode,"mouseover")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOut(){return P.Jh.map(this.disposables.add(new Vr(this.domNode,"mouseout")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onContextMenu(){return P.Jh.any(P.Jh.map(this.disposables.add(new Vr(this.domNode,"contextmenu")).event,(e=>this.toMouseEvent(e)),this.disposables),P.Jh.map(this.disposables.add(new Vr(this.domNode,td.Contextmenu)).event,(e=>this.toGestureEvent(e)),this.disposables))}get onTouchStart(){return P.Jh.map(this.disposables.add(new Vr(this.domNode,"touchstart")).event,(e=>this.toTouchEvent(e)),this.disposables)}get onTap(){return P.Jh.map(this.disposables.add(new Vr(this.rowsContainer,td.Tap)).event,(e=>this.toGestureEvent(e)),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element,sector:this.getTargetSector(e,t)}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error("Got bad scroll event:",e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,i){if(!i.dataTransfer)return;const n=this.dnd.getDragElements(e);if(i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setData(ua.TEXT,t),i.dataTransfer.setDragImage){let e;this.dnd.getDragLabel&&(e=this.dnd.getDragLabel(n,i)),void 0===e&&(e=String(n.length));const t=ei(".monaco-drag-image");t.textContent=e;(e=>{for(;e&&!e.classList.contains("monaco-workbench");)e=e.parentElement;return e||this.domNode.ownerDocument})(this.domNode).appendChild(t),i.dataTransfer.setDragImage(t,-10,-10),setTimeout((()=>t.remove()),0)}this.domNode.classList.add("dragging"),this.currentDragData=new lg(n),rg.CurrentDragAndDropData=new hg(n),this.dnd.onDragStart?.(this.currentDragData,i)}onDragOver(e){if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),rg.CurrentDragAndDropData&&"vscode-ui"===rg.CurrentDragAndDropData.getData())return!1;if(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(rg.CurrentDragAndDropData)this.currentDragData=rg.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new dg}const t=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop="boolean"==typeof t?t:t.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;let i;e.browserEvent.dataTransfer.dropEffect="boolean"!=typeof t&&0===t.effect?.type?"copy":"move",i="boolean"!=typeof t&&t.feedback?t.feedback:void 0===e.index?[-1]:[e.index],i=(0,ia.dM)(i).filter((e=>e>=-1&&ee-t)),i=-1===i[0]?[-1]:i;let n="boolean"!=typeof t&&t.effect&&t.effect.position?t.effect.position:"drop-target";if(s=this.currentDragFeedback,o=i,(Array.isArray(s)&&Array.isArray(o)?(0,ia.aI)(s,o):s===o)&&this.currentDragFeedbackPosition===n)return!0;var s,o;if(this.currentDragFeedback=i,this.currentDragFeedbackPosition=n,this.currentDragFeedbackDisposable.dispose(),-1===i[0])this.domNode.classList.add(n),this.rowsContainer.classList.add(n),this.currentDragFeedbackDisposable=(0,Ae.s)((()=>{this.domNode.classList.remove(n),this.rowsContainer.classList.remove(n)}));else{if(i.length>1&&"drop-target"!==n)throw new Error("Can't use multiple feedbacks with position different than 'over'");"drop-target-after"===n&&i[0]{for(const e of i){const t=this.items[e];t.dropTarget=!1,t.row?.domNode.classList.remove(n)}}))}return!0}onDragLeave(e){this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=(0,A.EQ)((()=>this.clearDragOverFeedback()),100,this.disposables),this.currentDragData&&this.dnd.onDragLeave?.(this.currentDragData,e.element,e.index,e.browserEvent)}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,rg.CurrentDragAndDropData=void 0,t&&e.browserEvent.dataTransfer&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,rg.CurrentDragAndDropData=void 0,this.dnd.onDragEnd?.(e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=Ae.jG.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const e=dt(this.domNode).top;this.dragOverAnimationDisposable=function(e,t){const i=()=>{t(),n=nt(e,i)};let n=nt(e,i);return(0,Ae.s)((()=>n.dispose()))}(We(this.domNode),this.animateDragAndDropScrollTop.bind(this,e))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=(0,A.EQ)((()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}),1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(void 0===this.dragOverMouseY)return;const t=this.dragOverMouseY-e,i=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>i&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-i))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(void 0===t)return;const i=e.offsetY/this.items[t].size,n=Math.floor(i/.25);return(0,Tu.qE)(n,0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let i=e;for(;(Bt(i)||((n=i)instanceof SVGElement||n instanceof We(n).SVGElement))&&i!==this.rowsContainer&&t.contains(i);){const e=i.getAttribute("data-index");if(e){const t=Number(e);if(!isNaN(t))return t}i=i.parentElement}var n}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,i){const n=this.getRenderRange(e,t);let s,o;e===this.elementTop(n.start)?(s=n.start,o=0):n.end-n.start>1&&(s=n.start+1,o=this.elementTop(s)-e);let r=0;for(;;){const a=this.getRenderRange(e,t);let l=!1;for(let e=a.start;e=e.start;t--)this.insertItemInDOM(t);for(let e=a.start;e=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};class _g{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,i){const n=this.renderedElements.findIndex((e=>e.templateData===i));if(n>=0){const e=this.renderedElements[n];this.trait.unrender(i),e.index=t}else{const e={index:t,templateData:i};this.renderedElements.push(e)}this.trait.renderIndex(t,i)}splice(e,t,i){const n=[];for(const s of this.renderedElements)s.index=e+t&&n.push({index:s.index+i-t,templateData:s.templateData});this.renderedElements=n}renderIndexes(e){for(const{index:t,templateData:i}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,i)}disposeTemplate(e){const t=this.renderedElements.findIndex((t=>t.templateData===e));t<0||this.renderedElements.splice(t,1)}}class vg{get name(){return this._trait}get renderer(){return new _g(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new P.vl,this.onChange=this._onChange.event}splice(e,t,i){const n=i.length-t,s=e+t,o=[];let r=0;for(;r=s;)o.push(this.sortedIndexes[r++]+n);this.renderer.splice(e,t,i.length),this._set(o,o)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(Bg),t)}_set(e,t,i){const n=this.indexes,s=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const o=Wg(s,e);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:e,browserEvent:i}),n}get(){return this.indexes}contains(e){return(0,ia.El)(this.sortedIndexes,e,Bg)>=0}dispose(){(0,Ae.AS)(this._onChange)}}fg([ed],vg.prototype,"renderer",null);class bg extends vg{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class Cg{constructor(e,t,i){this.trait=e,this.view=t,this.identityProvider=i}splice(e,t,i){if(!this.identityProvider)return this.trait.splice(e,t,new Array(i.length).fill(!1));const n=this.trait.get().map((e=>this.identityProvider.getId(this.view.element(e)).toString()));if(0===n.length)return this.trait.splice(e,t,new Array(i.length).fill(!1));const s=new Set(n),o=i.map((e=>s.has(this.identityProvider.getId(e).toString())));this.trait.splice(e,t,o)}}function wg(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function yg(e,t){return!!e.classList.contains(t)||!e.classList.contains("monaco-list")&&(!!e.parentElement&&yg(e.parentElement,t))}function Sg(e){return yg(e,"monaco-editor")}function kg(e){return yg(e,"monaco-tree-sticky-row")}function Lg(e){return e.classList.contains("monaco-tree-sticky-container")}function xg(e){return!!("A"===e.tagName&&e.classList.contains("monaco-button")||"DIV"===e.tagName&&e.classList.contains("monaco-button-dropdown"))||!e.classList.contains("monaco-list")&&(!!e.parentElement&&xg(e.parentElement))}class Dg{get onKeyDown(){return P.Jh.chain(this.disposables.add(new Vr(this.view.domNode,"keydown")).event,(e=>e.filter((e=>!wg(e.target))).map((e=>new N(e)))))}constructor(e,t,i){this.list=e,this.view=t,this.disposables=new Ae.Cm,this.multipleSelectionDisposables=new Ae.Cm,this.multipleSelectionSupport=i.multipleSelectionSupport,this.disposables.add(this.onKeyDown((e=>{switch(e.keyCode){case 3:return this.onEnter(e);case 16:return this.onUpArrow(e);case 18:return this.onDownArrow(e);case 11:return this.onPageUpArrow(e);case 12:return this.onPageDownArrow(e);case 9:return this.onEscape(e);case 31:this.multipleSelectionSupport&&(f.zx?e.metaKey:e.ctrlKey)&&this.onCtrlA(e)}})))}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection((0,ia.y1)(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}fg([ed],Dg.prototype,"onKeyDown",null),function(e){e[e.Automatic=0]="Automatic",e[e.Trigger=1]="Trigger"}(gg||(gg={})),function(e){e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(pg||(pg={}));const Ng=new class{mightProducePrintableCharacter(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=98&&e.keyCode<=107||e.keyCode>=85&&e.keyCode<=95)}};class Ig{constructor(e,t,i,n,s){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=i,this.keyboardNavigationEventFilter=n,this.delegate=s,this.enabled=!1,this.state=pg.Idle,this.mode=gg.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new Ae.Cm,this.disposables=new Ae.Cm,this.updateOptions(e.options)}updateOptions(e){e.typeNavigationEnabled??1?this.enable():this.disable(),this.mode=e.typeNavigationMode??gg.Automatic}enable(){if(this.enabled)return;let e=!1;const t=P.Jh.chain(this.enabledDisposables.add(new Vr(this.view.domNode,"keydown")).event,(t=>t.filter((e=>!wg(e.target))).filter((()=>this.mode===gg.Automatic||this.triggered)).map((e=>new N(e))).filter((t=>e||this.keyboardNavigationEventFilter(t))).filter((e=>this.delegate.mightProducePrintableCharacter(e))).forEach((e=>jt(e,!0))).map((e=>e.browserEvent.key)))),i=P.Jh.debounce(t,(()=>null),800,void 0,void 0,void 0,this.enabledDisposables);P.Jh.reduce(P.Jh.any(t,i),((e,t)=>null===t?null:(e||"")+t),void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),i(this.onClear,this,this.enabledDisposables),t((()=>e=!0),void 0,this.enabledDisposables),i((()=>e=!1),void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){const e=this.list.getFocus();if(e.length>0&&e[0]===this.previouslyFocused){const t=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(e[0]));"string"==typeof t?Ci(t):t&&Ci(t.get())}this.previouslyFocused=-1}onInput(e){if(!e)return this.state=pg.Idle,void(this.triggered=!1);const t=this.list.getFocus(),i=t.length>0?t[0]:0,n=this.state===pg.Idle?1:0;this.state=pg.Typing;for(let s=0;s1&&1===n.length)return this.previouslyFocused=i,this.list.setFocus([t]),void this.list.reveal(t)}}}else if(void 0===r||Ai(e,r))return this.previouslyFocused=i,this.list.setFocus([t]),void this.list.reveal(t)}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class Eg{constructor(e,t){this.list=e,this.view=t,this.disposables=new Ae.Cm;const i=P.Jh.chain(this.disposables.add(new Vr(t.domNode,"keydown")).event,(e=>e.filter((e=>!wg(e.target))).map((e=>new N(e))))),n=P.Jh.chain(i,(e=>e.filter((e=>!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)))));n(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(0===t.length)return;const i=this.view.domElement(t[0]);if(!i)return;const n=i.querySelector("[tabIndex]");if(!n||!Bt(n)||-1===n.tabIndex)return;const s=We(n).getComputedStyle(n);"hidden"!==s.visibility&&"none"!==s.display&&(e.preventDefault(),e.stopPropagation(),n.focus())}dispose(){this.disposables.dispose()}}function Mg(e){return f.zx?e.browserEvent.metaKey:e.browserEvent.ctrlKey}function Tg(e){return e.browserEvent.shiftKey}const Rg={isSelectionSingleChangeEvent:Mg,isSelectionRangeChangeEvent:Tg};class Ag{constructor(e){this.list=e,this.disposables=new Ae.Cm,this._onPointer=new P.vl,this.onPointer=this._onPointer.event,!1!==e.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||Rg),this.mouseSupport=void 0===e.options.mouseSupport||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(nd.addTarget(e.getHTMLElement()))),P.Jh.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||Rg))}isSelectionSingleChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(e)}isSelectionRangeChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(e)}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){Sg(e.browserEvent.target)||yt()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(wg(e.browserEvent.target)||Sg(e.browserEvent.target))return;const t=void 0===e.index?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport)return;if(wg(e.browserEvent.target)||Sg(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;return void 0===t?(this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),void this.list.setAnchor(void 0)):this.isSelectionChangeEvent(e)?this.changeSelection(e):(this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),Vt(i=e.browserEvent)&&2===i.button||this.list.setSelection([t],e.browserEvent),void this._onPointer.fire(e));var i}onDoubleClick(e){if(wg(e.browserEvent.target)||Sg(e.browserEvent.target))return;if(this.isSelectionChangeEvent(e))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let i=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(void 0===i){i=this.list.getFocus()[0]??t,this.list.setAnchor(i)}const n=Math.min(i,t),s=Math.max(i,t),o=(0,ia.y1)(n,s+1),r=this.list.getSelection(),a=function(e,t){const i=e.indexOf(t);if(-1===i)return[];const n=[];let s=i-1;for(;s>=0&&e[s]===t-(i-s);)n.push(e[s--]);n.reverse(),s=i;for(;s=e.length)i.push(t[s++]);else if(s>=t.length)i.push(e[n++]);else{if(e[n]===t[s]){n++,s++;continue}e[n]e!==t));this.list.setFocus([t]),this.list.setAnchor(t),i.length===n.length?this.list.setSelection([...n,t],e.browserEvent):this.list.setSelection(n,e.browserEvent)}}dispose(){this.disposables.dispose()}}class Pg{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){const t=this.selectorSuffix&&`.${this.selectorSuffix}`,i=[];e.listBackground&&i.push(`.monaco-list${t} .monaco-list-rows { background: ${e.listBackground}; }`),e.listFocusBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionBackground&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }\n\t\t\t`),e.listFocusAndSelectionForeground&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }\n\t\t\t`),e.listInactiveFocusForeground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&i.push(`.monaco-list${t} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(i.push(`.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&i.push(`.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const n=ai(e.listFocusAndSelectionOutline,ai(e.listSelectionOutline,e.listFocusOutline??""));n&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused.selected { outline: 1px solid ${n}; outline-offset: -1px;}`),e.listFocusOutline&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);const s=ai(e.listSelectionOutline,e.listInactiveFocusOutline??"");s&&i.push(`.monaco-list${t} .monaco-list-row.focused.selected { outline: 1px dotted ${s}; outline-offset: -1px; }`),e.listSelectionOutline&&i.push(`.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&i.push(`.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&i.push(`.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&i.push(`\n\t\t\t\t.monaco-list${t}.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropOverBackground} !important; color: inherit !important; }\n\t\t\t`),e.listDropBetweenBackground&&(i.push(`\n\t\t\t.monaco-list${t} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,\n\t\t\t.monaco-list${t} .monaco-list-row.drop-target-before::before {\n\t\t\t\tcontent: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`),i.push(`\n\t\t\t.monaco-list${t} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,\n\t\t\t.monaco-list${t} .monaco-list-row.drop-target-after::after {\n\t\t\t\tcontent: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`)),e.tableColumnsBorder&&i.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${e.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`),e.tableOddRowsBackgroundColor&&i.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${e.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=i.join("\n")}}const Og={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:hd.Q1.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:hd.Q1.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:hd.Q1.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},Fg={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}}};function Wg(e,t){const i=[];let n=0,s=0;for(;n=e.length)i.push(t[s++]);else if(s>=t.length)i.push(e[n++]);else{if(e[n]===t[s]){i.push(e[n]),n++,s++;continue}e[n]e-t;class Hg{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map((t=>t.renderTemplate(e)))}renderElement(e,t,i,n){let s=0;for(const o of this.renderers)o.renderElement(e,t,i[s++],n)}disposeElement(e,t,i,n){let s=0;for(const o of this.renderers)o.disposeElement?.(e,t,i[s],n),s+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class Vg{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new Ae.Cm}}renderElement(e,t,i){const n=this.accessibilityProvider.getAriaLabel(e),s=n&&"string"!=typeof n?n:(0,mg.lk)(n);i.disposables.add((0,mg.fm)((e=>{this.setAriaLabel(e.readObservable(s),i.container)})));const o=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);"number"==typeof o?i.container.setAttribute("aria-level",`${o}`):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i,n){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class zg{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){this.dnd.onDragStart?.(e,t)}onDragOver(e,t,i,n,s){return this.dnd.onDragOver(e,t,i,n,s)}onDragLeave(e,t,i,n){this.dnd.onDragLeave?.(e,t,i,n)}onDragEnd(e){this.dnd.onDragEnd?.(e)}drop(e,t,i,n,s){this.dnd.drop(e,t,i,n,s)}dispose(){this.dnd.dispose()}}class Ug{get onDidChangeFocus(){return P.Jh.map(this.eventBufferer.wrapEvent(this.focus.onChange),(e=>this.toListEvent(e)),this.disposables)}get onDidChangeSelection(){return P.Jh.map(this.eventBufferer.wrapEvent(this.selection.onChange),(e=>this.toListEvent(e)),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=P.Jh.chain(this.disposables.add(new Vr(this.view.domNode,"keydown")).event,(t=>t.map((e=>new N(e))).filter((t=>e=58===t.keyCode||t.shiftKey&&68===t.keyCode)).map((e=>jt(e,!0))).filter((()=>!1)))),i=P.Jh.chain(this.disposables.add(new Vr(this.view.domNode,"keyup")).event,(t=>t.forEach((()=>e=!1)).map((e=>new N(e))).filter((e=>58===e.keyCode||e.shiftKey&&68===e.keyCode)).map((e=>jt(e,!0))).map((({browserEvent:e})=>{const t=this.getFocus(),i=t.length?t[0]:void 0;return{index:i,element:void 0!==i?this.view.element(i):void 0,anchor:void 0!==i?this.view.domElement(i):this.view.domNode,browserEvent:e}})))),n=P.Jh.chain(this.view.onContextMenu,(t=>t.filter((t=>!e)).map((({element:e,index:t,browserEvent:i})=>({element:e,index:t,anchor:new T(We(this.view.domNode),i),browserEvent:i})))));return P.Jh.any(t,i,n)}get onKeyDown(){return this.disposables.add(new Vr(this.view.domNode,"keydown")).event}get onDidFocus(){return P.Jh.signal(this.disposables.add(new Vr(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return P.Jh.signal(this.disposables.add(new Vr(this.view.domNode,"blur",!0)).event)}constructor(e,t,i,n,s=Fg){this.user=e,this._options=s,this.focus=new vg("focused"),this.anchor=new vg("anchor"),this.eventBufferer=new P.at,this._ariaLabel="",this.disposables=new Ae.Cm,this._onDidDispose=new P.vl,this.onDidDispose=this._onDidDispose.event;const o=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?this._options.accessibilityProvider?.getWidgetRole():"list";this.selection=new bg("listbox"!==o);const r=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=s.accessibilityProvider,this.accessibilityProvider&&(r.push(new Vg(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant?.(this.onDidChangeActiveDescendant,this,this.disposables)),n=n.map((e=>new Hg(e.templateId,[...r,e])));const a={...s,dnd:s.dnd&&new zg(this,s.dnd)};if(this.view=this.createListView(t,i,n,a),this.view.domNode.setAttribute("role",o),s.styleController)this.styleController=s.styleController(this.view.domId);else{const e=Et(this.view.domNode);this.styleController=new Pg(e,this.view.domId)}if(this.spliceable=new Mu([new Cg(this.focus,this.view,s.identityProvider),new Cg(this.selection,this.view,s.identityProvider),new Cg(this.anchor,this.view,s.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new Eg(this,this.view)),("boolean"!=typeof s.keyboardSupport||s.keyboardSupport)&&(this.keyboardController=new Dg(this,this.view,s),this.disposables.add(this.keyboardController)),s.keyboardNavigationLabelProvider){const e=s.keyboardNavigationDelegate||Ng;this.typeNavigationController=new Ig(this,this.view,s.keyboardNavigationLabelProvider,s.keyboardNavigationEventFilter??(()=>!0),e),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(s),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),!1!==this._options.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,i,n){return new ug(e,t,i,n)}createMouseController(e){return new Ag(this)}updateOptions(e={}){this._options={...this._options,...e},this.typeNavigationController?.updateOptions(this._options),void 0!==this._options.multipleSelectionController&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),this.keyboardController?.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,i=[]){if(e<0||e>this.view.length)throw new Ru(this.user,`Invalid start index: ${e}`);if(t<0)throw new Ru(this.user,`Invalid delete count: ${t}`);0===t&&0===i.length||this.eventBufferer.bufferEvents((()=>this.spliceable.splice(e,t,i)))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const i of e)if(i<0||i>=this.length)throw new Ru(this.user,`Invalid index ${i}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((e=>this.view.element(e)))}setAnchor(e){if(void 0!==e){if(e<0||e>=this.length)throw new Ru(this.user,`Invalid index ${e}`);this.anchor.set([e])}else this.anchor.set([])}getAnchor(){return(0,ia.Fy)(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return void 0===e?void 0:this.element(e)}setFocus(e,t){for(const i of e)if(i<0||i>=this.length)throw new Ru(this.user,`Invalid index ${i}`);this.focus.set(e,t)}focusNext(e=1,t=!1,i,n){if(0===this.length)return;const s=this.focus.get(),o=this.findNextIndex(s.length>0?s[0]+e:0,t,n);o>-1&&this.setFocus([o],i)}focusPrevious(e=1,t=!1,i,n){if(0===this.length)return;const s=this.focus.get(),o=this.findPreviousIndex(s.length>0?s[0]-e:0,t,n);o>-1&&this.setFocus([o],i)}async focusNextPage(e,t){let i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=0===i?0:i-1;const n=this.getFocus()[0];if(n!==i&&(void 0===n||i>n)){const s=this.findPreviousIndex(i,!1,t);s>-1&&n!==s?this.setFocus([s],e):this.setFocus([i],e)}else{const s=this.view.getScrollTop();let o=s+this.view.renderHeight;i>n&&(o-=this.view.elementHeight(i)),this.view.setScrollTop(o),this.view.getScrollTop()!==s&&(this.setFocus([]),await(0,A.wR)(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,i=()=>0){let n;const s=i(),o=this.view.getScrollTop()+s;n=0===o?this.view.indexAt(o):this.view.indexAfter(o-1);const r=this.getFocus()[0];if(r!==n&&(void 0===r||r>=n)){const i=this.findNextIndex(n,!1,t);i>-1&&r!==i?this.setFocus([i],e):this.setFocus([n],e)}else{const n=o;this.view.setScrollTop(o-this.view.renderHeight-s),this.view.getScrollTop()+i()!==n&&(this.setFocus([]),await(0,A.wR)(0),await this.focusPreviousPage(e,t,i))}}focusLast(e,t){if(0===this.length)return;const i=this.findPreviousIndex(this.length-1,!1,t);i>-1&&this.setFocus([i],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,i){if(0===this.length)return;const n=this.findNextIndex(e,!1,i);n>-1&&this.setFocus([n],t)}findNextIndex(e,t=!1,i){for(let n=0;n=this.length&&!t)return-1;if(e%=this.length,!i||i(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,i){for(let n=0;nthis.view.element(e)))}reveal(e,t,i=0){if(e<0||e>=this.length)throw new Ru(this.user,`Invalid index ${e}`);const n=this.view.getScrollTop(),s=this.view.elementTop(e),o=this.view.elementHeight(e);if((0,os.Et)(t)){const e=o-this.view.renderHeight+i;this.view.setScrollTop(e*(0,Tu.qE)(t,0,1)+s-i)}else{const e=s+o,t=n+this.view.renderHeight;s=t||(s=t&&o>=this.view.renderHeight?this.view.setScrollTop(s-i):e>=t&&this.view.setScrollTop(e-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new Ru(this.user,`Invalid index ${e}`);const i=this.view.getScrollTop(),n=this.view.elementTop(e),s=this.view.elementHeight(e);if(ni+this.view.renderHeight)return null;const o=s-this.view.renderHeight+t;return Math.abs((i+t-n)/o)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map((e=>this.view.element(e))),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){const e=this.focus.get();if(e.length>0){let t;this.accessibilityProvider?.getActiveDescendantId&&(t=this.accessibilityProvider.getActiveDescendantId(this.view.element(e[0]))),this.view.domNode.setAttribute("aria-activedescendant",t||this.view.getElementDomId(e[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",0===e.length),this.view.domNode.classList.toggle("selection-single",1===e.length),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}fg([ed],Ug.prototype,"onDidChangeFocus",null),fg([ed],Ug.prototype,"onDidChangeSelection",null),fg([ed],Ug.prototype,"onContextMenu",null),fg([ed],Ug.prototype,"onKeyDown",null),fg([ed],Ug.prototype,"onDidFocus",null),fg([ed],Ug.prototype,"onDidBlur",null);const Kg=ei,jg="selectOption.entry.template";class $g{get templateId(){return jg}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=Gt(e,Kg(".option-text")),t.detail=Gt(e,Kg(".option-detail")),t.decoratorRight=Gt(e,Kg(".option-decorator-right")),t}renderElement(e,t,i){const n=i,s=e.text,o=e.detail,r=e.decoratorRight,a=e.isDisabled;n.text.textContent=s,n.detail.textContent=o||"",n.decoratorRight.innerText=r||"",a?n.root.classList.add("option-disabled"):n.root.classList.remove("option-disabled")}disposeTemplate(e){}}class qg extends Ae.jG{static{this.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN=32}static{this.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN=2}static{this.DEFAULT_MINIMUM_VISIBLE_OPTIONS=3}constructor(e,t,i,n,s){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=n,this.selectBoxOptions=s||Object.create(null),"number"!=typeof this.selectBoxOptions.minBottomMargin?this.selectBoxOptions.minBottomMargin=qg.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding","string"==typeof this.selectBoxOptions.ariaLabel&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),"string"==typeof this.selectBoxOptions.ariaDescription&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new P.vl,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(i),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(cd().setupManagedHover(ad("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return jg}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=ei(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=Gt(this.selectDropDownContainer,Kg(".select-box-details-pane"));const t=Gt(this.selectDropDownContainer,Kg(".select-box-dropdown-container-width-control")),i=Gt(t,Kg(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",Gt(i,this.widthControlElement),this._dropDownPosition=0,this.styleElement=Et(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(Ye(this.selectDropDownContainer,Ut.DRAG_START,(e=>{jt(e,!0)})))}registerListeners(){let e;this._register(Xe(this.selectElement,"change",(e=>{this.selected=e.target.selectedIndex,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}))),this._register(Ye(this.selectElement,Ut.CLICK,(e=>{jt(e),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Ye(this.selectElement,Ut.MOUSE_DOWN,(e=>{jt(e)}))),this._register(Ye(this.selectElement,"touchstart",(t=>{e=this._isVisible}))),this._register(Ye(this.selectElement,"touchend",(t=>{jt(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Ye(this.selectElement,Ut.KEY_DOWN,(e=>{const t=new N(e);let i=!1;f.zx?18!==t.keyCode&&16!==t.keyCode&&10!==t.keyCode&&3!==t.keyCode||(i=!0):(18===t.keyCode&&t.altKey||16===t.keyCode&&t.altKey||10===t.keyCode||3===t.keyCode)&&(i=!0),i&&(this.showSelectDropDown(),jt(e,!0))})))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){ia.aI(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach(((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled)),"string"==typeof e.description&&(this._hasDetails=!0)}))),void 0!==t&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){this.selectList?.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(e.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=e.join("\n")}styleSelectElement(){const e=this.styles.selectBackground??"",t=this.styles.selectForeground??"",i=this.styles.selectBorder??"";this.selectElement.style.backgroundColor=e,this.selectElement.style.color=t,this.selectElement.style.borderColor=i}styleList(){const e=this.styles.selectBackground??"",t=ai(this.styles.selectListBackground,e);this.selectDropDownListContainer.style.backgroundColor=t,this.selectionDetailsPane.style.backgroundColor=t;const i=this.styles.focusBorder??"";this.selectDropDownContainer.style.outlineColor=i,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,i){const n=document.createElement("option");return n.value=e,n.text=e,n.disabled=!!i,n}showSelectDropDown(){this.selectionDetailsPane.innerText="",this.contextViewProvider&&!this._isVisible&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){this.contextViewProvider&&this._isVisible&&(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach(((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)})),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=We(this.selectElement),i=ct(this.selectElement),n=We(this.selectElement).getComputedStyle(this.selectElement),s=parseFloat(n.getPropertyValue("--dropdown-padding-top"))+parseFloat(n.getPropertyValue("--dropdown-padding-bottom")),o=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),r=i.top-qg.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,a=this.selectElement.offsetWidth,l=this.setWidthControlElement(this.widthControlElement),h=Math.max(l,Math.round(a)).toString()+"px";this.selectDropDownContainer.style.width=h,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let d=this.selectList.contentHeight;this._hasDetails&&void 0===this._cachedMaxDetailsHeight&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const c=this._hasDetails?this._cachedMaxDetailsHeight:0,u=d+s+c,g=Math.floor((o-s-c)/this.getHeight()),p=Math.floor((r-s-c)/this.getHeight());if(e)return!(i.top+i.height>t.innerHeight-22||i.topg&&this.options.length>g?(this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(i.top+i.height>t.innerHeight-22||i.topo&&(d=g*this.getHeight())}else u>r&&(d=p*this.getHeight());return this.selectList.layout(d),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=d+s+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=d+s+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=h,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}return!1}setWidthControlElement(e){let t=0;if(e){let i=0,n=0;this.options.forEach(((e,t)=>{const s=e.detail?e.detail.length:0,o=e.decoratorRight?e.decoratorRight.length:0,r=e.text.length+s+o;r>n&&(i=t,n=r)})),e.textContent=this.options[i].text+(this.options[i].decoratorRight?this.options[i].decoratorRight+" ":""),t=gt(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=Gt(e,Kg(".select-box-dropdown-list-container")),this.listRenderer=new $g,this.selectList=this._register(new Ug("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:e=>{let t=e.text;return e.detail&&(t+=`. ${e.detail}`),e.decoratorRight&&(t+=`. ${e.decoratorRight}`),e.description&&(t+=`. ${e.description}`),t},getWidgetAriaLabel:()=>(0,jn.kg)({key:"selectBox",comment:["Behave like native select dropdown element."]},"Select Box"),getRole:()=>f.zx?"":"option",getWidgetRole:()=>"listbox"}})),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new Vr(this.selectDropDownListContainer,"keydown")),i=P.Jh.chain(t.event,(e=>e.filter((()=>this.selectList.length>0)).map((e=>new N(e)))));this._register(P.Jh.chain(i,(e=>e.filter((e=>3===e.keyCode))))(this.onEnter,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>2===e.keyCode))))(this.onEnter,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>9===e.keyCode))))(this.onEscape,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>16===e.keyCode))))(this.onUpArrow,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>18===e.keyCode))))(this.onDownArrow,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>12===e.keyCode))))(this.onPageDown,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>11===e.keyCode))))(this.onPageUp,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>14===e.keyCode))))(this.onHome,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>13===e.keyCode))))(this.onEnd,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>e.keyCode>=21&&e.keyCode<=56||e.keyCode>=85&&e.keyCode<=113))))(this.onCharacter,this)),this._register(Ye(this.selectList.getHTMLElement(),Ut.POINTER_UP,(e=>this.onPointerUp(e)))),this._register(this.selectList.onMouseOver((e=>void 0!==e.index&&this.selectList.setFocus([e.index])))),this._register(this.selectList.onDidChangeFocus((e=>this.onListFocus(e)))),this._register(Ye(this.selectDropDownContainer,Ut.FOCUS_OUT,(e=>{this._isVisible&&!_t(e.relatedTarget,this.selectDropDownContainer)&&this.onListBlur()}))),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;jt(e);const t=e.target;if(!t)return;if(t.classList.contains("slider"))return;const i=t.closest(".monaco-list-row");if(!i)return;const n=Number(i.getAttribute("data-index")),s=i.classList.contains("option-disabled");n>=0&&n{for(let t=0;tthis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){if(this.selected>0){jt(e,!0);this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onPageUp(e){jt(e),this.selectList.focusPreviousPage(),setTimeout((()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)}),1)}onHome(e){jt(e),this.options.length<2||(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(e){jt(e),this.options.length<2||(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(e){const t=v.YM.toString(e.keyCode);let i=-1;for(let n=0;n{this._register(Ye(this.selectElement,e,(e=>{this.selectElement.focus()})))})),this._register(Xe(this.selectElement,"click",(e=>{jt(e,!0)}))),this._register(Xe(this.selectElement,"change",(e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})}))),this._register(Xe(this.selectElement,"keydown",(e=>{let t=!1;f.zx?18!==e.keyCode&&16!==e.keyCode&&10!==e.keyCode||(t=!0):(18===e.keyCode&&e.altKey||10===e.keyCode||3===e.keyCode)&&(t=!0),t&&e.stopPropagation()})))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){this.options&&ia.aI(this.options,e)||(this.options=e,this.selectElement.options.length=0,this.options.forEach(((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled))}))),void 0!==t&&this.select(t)}select(e){0===this.options.length?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(e)})))}handleActionChangeEvent(e){void 0!==e.enabled&&this.updateEnabled(),void 0!==e.checked&&this.updateChecked(),void 0!==e.class&&this.updateClass(),void 0!==e.label&&(this.updateLabel(),this.updateTooltip()),void 0!==e.tooltip&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new Xn)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(nd.addTarget(e));const i=this.options&&this.options.draggable;i&&(e.draggable=!0,h&&this._register(Ye(e,Ut.DRAG_START,(e=>e.dataTransfer?.setData(ua.TEXT,this._action.label))))),this._register(Ye(t,td.Tap,(e=>this.onClick(e,!0)))),this._register(Ye(t,Ut.MOUSE_DOWN,(e=>{i||jt(e,!0),this._action.enabled&&0===e.button&&t.classList.add("active")}))),f.zx&&this._register(Ye(t,Ut.CONTEXT_MENU,(e=>{0===e.button&&!0===e.ctrlKey&&this.onClick(e)}))),this._register(Ye(t,Ut.CLICK,(e=>{jt(e,!0),this.options&&this.options.isMenu||this.onClick(e)}))),this._register(Ye(t,Ut.DBLCLICK,(e=>{jt(e,!0)}))),[Ut.MOUSE_UP,Ut.MOUSE_OUT].forEach((e=>{this._register(Ye(t,e,(e=>{jt(e),t.classList.remove("active")})))}))}onClick(e,t=!1){jt(e,!0);const i=os.z(this._context)?this.options?.useEventAsContext?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,i)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){if(!this.element)return;const e=this.getTooltip()??"";if(this.updateAriaLabel(),this.options.hoverDelegate?.showNativeHover)this.element.title=e;else if(this.customHover||""===e)this.customHover&&this.customHover.update(e);else{const t=this.options.hoverDelegate??ad("element");this.customHover=this._store.add(cd().setupManagedHover(t,this.element,e))}}updateAriaLabel(){if(this.element){const e=this.getTooltip()??"";this.element.setAttribute("aria-label",e)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class Zg extends Yg{constructor(e,t,i){super(e,t,i),this.options=i,this.options.icon=void 0!==i.icon&&i.icon,this.options.label=void 0===i.label||i.label,this.cssClass=""}render(e){super.render(e),os.j(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const e=document.createElement("span");e.classList.add("keybinding"),e.textContent=this.options.keybinding,this.element.appendChild(e)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===Jn.ID?"presentation":this.options.isMenu?"menuitem":this.options.isTabList?"tab":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=jn.kg({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e??void 0}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):this.label?.classList.remove("codicon")}updateEnabled(){this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),this.element?.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),this.element?.classList.add("disabled"))}updateAriaLabel(){if(this.label){const e=this.getTooltip()??"";this.label.setAttribute("aria-label",e)}}updateChecked(){this.label&&(void 0!==this.action.checked?(this.label.classList.toggle("checked",this.action.checked),this.options.isTabList?this.label.setAttribute("aria-selected",this.action.checked?"true":"false"):(this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox"))):(this.label.classList.remove("checked"),this.label.removeAttribute(this.options.isTabList?"aria-selected":"aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class Xg extends Yg{constructor(e,t,i,n,s,o,r){super(e,t),this.selectBox=new Qg(i,n,s,o,r),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect((e=>this.runAction(e.selected,e.index))))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){this.selectBox?.focus()}blur(){this.selectBox?.blur()}render(e){this.selectBox.render(e)}}class Jg extends Ae.jG{constructor(e,t={}){let i,n;switch(super(),this._actionRunnerDisposables=this._register(new Ae.Cm),this.viewItemDisposables=this._register(new Ae.$w),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new P.vl),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new P.vl({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new P.vl),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new P.vl),this.onWillRun=this._onWillRun.event,this.options=t,this._context=t.context??null,this._orientation=this.options.orientation??0,this._triggerKeys={keyDown:this.options.triggerKeys?.keyDown??!1,keys:this.options.triggerKeys?.keys??[3,10]},this._hoverDelegate=t.hoverDelegate??this._register(ld()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new Xn,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e)))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",this._orientation){case 0:i=[15],n=[17];break;case 1:i=[16],n=[18],this.domNode.className+=" vertical"}this._register(Ye(this.domNode,Ut.KEY_DOWN,(e=>{const t=new N(e);let s=!0;const o="number"==typeof this.focusedItem?this.viewItems[this.focusedItem]:void 0;i&&(t.equals(i[0])||t.equals(i[1]))?s=this.focusPrevious():n&&(t.equals(n[0])||t.equals(n[1]))?s=this.focusNext():t.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():t.equals(14)?s=this.focusFirst():t.equals(13)?s=this.focusLast():t.equals(2)&&o instanceof Yg&&o.trapsArrowNavigation?s=this.focusNext(void 0,!0):this.isTriggerKeyEvent(t)?this._triggerKeys.keyDown?this.doTrigger(t):this.triggerKeyDown=!0:s=!1,s&&(t.preventDefault(),t.stopPropagation())}))),this._register(Ye(this.domNode,Ut.KEY_UP,(e=>{const t=new N(e);this.isTriggerKeyEvent(t)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(t)),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026)||t.equals(16)||t.equals(18)||t.equals(15)||t.equals(17))&&this.updateFocusedItem()}))),this.focusTracker=this._register(qt(this.domNode)),this._register(this.focusTracker.onDidBlur((()=>{yt()!==this.domNode&&_t(yt(),this.domNode)||(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)}))),this._register(this.focusTracker.onDidFocus((()=>this.updateFocusedItem()))),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const e=this.viewItems.find((e=>e instanceof Yg&&e.isEnabled()));e instanceof Yg&&e.setFocusable(!0)}else this.viewItems.forEach((e=>{e instanceof Yg&&e.setFocusable(!1)}))}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach((i=>{t=t||e.equals(i)})),t}updateFocusedItem(){for(let e=0;et.setActionContext(e)))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e)))),this.viewItems.forEach((t=>t.actionRunner=e))}getContainer(){return this.domNode}getAction(e){if("number"==typeof e)return this.viewItems[e]?.action;if(Bt(e)){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let t=0;t{const i=document.createElement("li");let s;i.className="action-item",i.setAttribute("role","presentation");const o={hoverDelegate:this._hoverDelegate,...t,isTabList:"tablist"===this.options.ariaRole};this.options.actionViewItemProvider&&(s=this.options.actionViewItemProvider(e,o)),s||(s=new Zg(this.context,e,o)),this.options.allowContextMenu||this.viewItemDisposables.set(s,Ye(i,Ut.CONTEXT_MENU,(e=>{jt(e,!0)}))),s.actionRunner=this._actionRunner,s.setActionContext(this.context),s.render(i),this.focusable&&s instanceof Yg&&0===this.viewItems.length&&s.setFocusable(!0),null===n||n<0||n>=this.actionsList.children.length?(this.actionsList.appendChild(i),this.viewItems.push(s)):(this.actionsList.insertBefore(i,this.actionsList.children[n]),this.viewItems.splice(n,0,s),n++)})),"number"==typeof this.focusedItem&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=(0,Ae.AS)(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),Ge(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return 0===this.viewItems.length}focus(e){let t,i=!1;if(void 0===e?i=!0:"number"==typeof e?t=e:"boolean"==typeof e&&(i=e),i&&void 0===this.focusedItem){const e=this.viewItems.findIndex((e=>e.isEnabled()));this.focusedItem=-1===e?void 0:e,this.updateFocus(void 0,void 0,!0)}else void 0!==t&&(this.focusedItem=t),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e,t){if(void 0===this.focusedItem)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let n;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,n=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!n.isEnabled()||n.action.id===Jn.ID));return this.updateFocus(void 0,void 0,t),!0}focusPrevious(e){if(void 0===this.focusedItem)this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===Jn.ID));return this.updateFocus(!0),!0}updateFocus(e,t,i=!1){void 0===this.focusedItem&&this.actionsList.focus({preventScroll:t}),void 0!==this.previouslyFocusedItem&&this.previouslyFocusedItem!==this.focusedItem&&this.viewItems[this.previouslyFocusedItem]?.blur();const n=void 0!==this.focusedItem?this.viewItems[this.focusedItem]:void 0;if(n){let s=!0;os.Tn(n.focus)||(s=!1),this.options.focusOnlyEnabledItems&&os.Tn(n.isEnabled)&&!n.isEnabled()&&(s=!1),n.action.id===Jn.ID&&(s=!1),s?(i||this.previouslyFocusedItem!==this.focusedItem)&&(n.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),s&&n.showHover?.()}}doTrigger(e){if(void 0===this.focusedItem)return;const t=this.viewItems[this.focusedItem];if(t instanceof Yg){const i=null===t._context||void 0===t._context?e:t._context;this.run(t._action,i)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=(0,Ae.AS)(this.viewItems),this.getContainer().remove(),super.dispose()}}class ep{constructor(e,t,i=t){this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=i}toLabel(e,t,i){if(0===t.length)return null;const n=[];for(let s=0,o=t.length;s=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},wp=function(e,t){return function(i,n){t(i,n,e)}};const yp="acceptSelectedCodeAction",Sp="previewSelectedCodeAction";class kp{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){i.text.textContent=e.group?.title??""}disposeTemplate(e){}}let Lp=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);return{container:e,icon:t,text:i,keybinding:new lp(e,f.OS)}}renderElement(e,t,i){if(e.group?.icon?(i.icon.className=In.L.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=(0,to.GuP)(e.group.icon.color.id))):(i.icon.className=In.L.asClassName(vl.W.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=Ep(e.label),i.keybinding.set(e.keybinding),function(e,...t){e?ti(...t):ii(...t)}(!!e.keybinding,i.keybinding.element);const n=this._keybindingService.lookupKeybinding(yp)?.getLabel(),s=this._keybindingService.lookupKeybinding(Sp)?.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:n&&s?this._supportsPreview&&e.canPreview?i.container.title=(0,jn.kg)({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",n,s):i.container.title=(0,jn.kg)({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};Lp=Cp([wp(1,bd)],Lp);class xp extends UIEvent{constructor(){super("acceptSelectedAction")}}class Dp extends UIEvent{constructor(){super("previewSelectedAction")}}function Np(e){if("action"===e.kind)return e.label}let Ip=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._delegate=n,this._contextViewService=s,this._keybindingService=o,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new na.Qi),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const r={getHeight:e=>"header"===e.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:e=>e.kind};this._list=this._register(new Ug(e,this.domNode,r,[new Lp(t,this._keybindingService),new kp],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:Np},accessibilityProvider:{getAriaLabel:e=>{if("action"===e.kind){let t=e.label?Ep(e?.label):"";return e.disabled&&(t=(0,jn.kg)({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",t,e.disabled)),t}return null},getWidgetAriaLabel:()=>(0,jn.kg)({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:e=>"action"===e.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(fp),this._register(this._list.onMouseClick((e=>this.onListClick(e)))),this._register(this._list.onMouseOver((e=>this.onListHover(e)))),this._register(this._list.onDidChangeFocus((()=>this.onFocus()))),this._register(this._list.onDidChangeSelection((e=>this.onListSelection(e)))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&"action"===e.kind}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter((e=>"header"===e.kind)).length,i=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(i);let n=e;if(this._allMenuItems.length>=50)n=380;else{const t=this._allMenuItems.map(((e,t)=>{const i=this.domNode.ownerDocument.getElementById(this._list.getElementID(t));if(i){i.style.width="auto";const e=i.getBoundingClientRect().width;return i.style.width="",e}return 0}));n=Math.max(...t,e)}const s=Math.min(i,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(s,n),this.domNode.style.height=`${s}px`,this._list.domFocus(),n}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(0===t.length)return;const i=t[0],n=this._list.element(i);if(!this.focusCondition(n))return;const s=e?new Dp:new xp;this._list.setSelection([i],s)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof Dp):this._list.setSelection([])}onFocus(){const e=this._list.getFocus();if(0===e.length)return;const t=e[0],i=this._list.element(t);this._delegate.onFocus?.(i.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&"action"===t.kind){const e=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=e?e.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus("number"==typeof e.index?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};function Ep(e){return e.replace(/\r\n|\r|\n/g," ")}Ip=Cp([wp(4,_d),wp(5,bd)],Ip);var Mp=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Tp=function(e,t){return function(i,n){t(i,n,e)}};(0,to.x1A)("actionBar.toggledBackground",to.c1f,(0,jn.kg)("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Rp={Visible:new ls.N1("codeActionMenuVisible",!1,(0,jn.kg)("codeActionMenuVisible","Whether the action widget list is visible"))},Ap=(0,$n.u1)("actionWidgetService");let Pp=class extends Ae.jG{get isVisible(){return Rp.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Ae.HE)}show(e,t,i,n,s,o,r){const a=Rp.Visible.bindTo(this._contextKeyService),l=this._instantiationService.createInstance(Ip,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:e=>(a.set(!0),this._renderWidget(e,l,r??[])),onHide:e=>{a.reset(),this._onWidgetClosed(e)}},o,!1)}acceptSelected(e){this._list.value?.acceptSelected(e)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}hide(e){this._list.value?.hide(e),this._list.clear()}_renderWidget(e,t,i){const n=document.createElement("div");if(n.classList.add("action-widget"),e.appendChild(n),this._list.value=t,!this._list.value)throw new Error("List has no value");n.appendChild(this._list.value.domNode);const s=new Ae.Cm,o=document.createElement("div"),r=e.appendChild(o);r.classList.add("context-view-block"),s.add(Ye(r,Ut.MOUSE_DOWN,(e=>e.stopPropagation())));const a=document.createElement("div"),l=e.appendChild(a);l.classList.add("context-view-pointerBlock"),s.add(Ye(l,Ut.POINTER_MOVE,(()=>l.remove()))),s.add(Ye(l,Ut.MOUSE_DOWN,(()=>l.remove())));let h=0;if(i.length){const e=this._createActionBar(".action-widget-action-bar",i);e&&(n.appendChild(e.getContainer().parentElement),s.add(e),h=e.getContainer().offsetWidth)}const d=this._list.value?.layout(h);n.style.width=`${d}px`;const c=s.add(qt(e));return s.add(c.onDidBlur((()=>this.hide(!0)))),s}_createActionBar(e,t){if(!t.length)return;const i=ei(e),n=new Jg(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){this._list.value?.hide(e)}};Pp=Mp([Tp(0,_d),Tp(1,ls.fN),Tp(2,$n._Y)],Pp),(0,cl.v)(Ap,Pp,1);const Op=1100;ks(class extends Ss{constructor(){super({id:"hideCodeActionWidget",title:(0,jn.aS)("hideCodeActionWidget.title","Hide action widget"),precondition:Rp.Visible,keybinding:{weight:Op,primary:9,secondary:[1033]}})}run(e){e.get(Ap).hide(!0)}}),ks(class extends Ss{constructor(){super({id:"selectPrevCodeAction",title:(0,jn.aS)("selectPrevCodeAction.title","Select previous action"),precondition:Rp.Visible,keybinding:{weight:Op,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){const t=e.get(Ap);t instanceof Pp&&t.focusPrevious()}}),ks(class extends Ss{constructor(){super({id:"selectNextCodeAction",title:(0,jn.aS)("selectNextCodeAction.title","Select next action"),precondition:Rp.Visible,keybinding:{weight:Op,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){const t=e.get(Ap);t instanceof Pp&&t.focusNext()}}),ks(class extends Ss{constructor(){super({id:yp,title:(0,jn.aS)("acceptSelected.title","Accept selected action"),precondition:Rp.Visible,keybinding:{weight:Op,primary:3,secondary:[2137]}})}run(e){const t=e.get(Ap);t instanceof Pp&&t.acceptSelected()}}),ks(class extends Ss{constructor(){super({id:Sp,title:(0,jn.aS)("previewSelected.title","Preview selected action"),precondition:Rp.Visible,keybinding:{weight:Op,primary:2051}})}run(e){const t=e.get(Ap);t instanceof Pp&&t.acceptSelected(!0)}});var Fp=i(85753),Wp=i(27619),Bp=i(89563),Hp=i(23013);const Vp=new ls.N1("supportedCodeAction",""),zp="_typescript.applyFixAllCodeAction";class Up extends Ae.jG{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new A.pc),this._register(this._markerService.onMarkerChanged((e=>this._onMarkerChanges(e)))),this._register(this._editor.onDidChangeCursorPosition((()=>this._tryAutoTrigger())))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some((e=>(0,Wn.n4)(e,t.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:Hc.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(1===e.type)return t;const i=this._editor.getOption(65).enabled;if(i!==gc.Off){if(i===gc.On)return t;if(i===gc.OnCode){if(!t.isEmpty())return t;const e=this._editor.getModel(),{lineNumber:i,column:n}=t.getPosition(),s=e.getLineContent(i);if(0===s.length)return;if(1===n){if(/\s/.test(s[0]))return}else if(n===e.getLineMaxColumn(i)){if(/\s/.test(s[s.length-1]))return}else if(/\s/.test(s[n-2])&&/\s/.test(s[n-1]))return}return t}}}var Kp;!function(e){e.Empty={type:0};e.Triggered=class{constructor(e,t,i){this.trigger=e,this.position=t,this._cancellablePromise=i,this.type=1,this.actions=i.catch((e=>{if((0,b.MB)(e))return jp;throw e}))}cancel(){this._cancellablePromise.cancel()}}}(Kp||(Kp={}));const jp=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class $p extends Ae.jG{constructor(e,t,i,n,s,o,r){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=s,this._configurationService=o,this._telemetryService=r,this._codeActionOracle=this._register(new Ae.HE),this._state=Kp.Empty,this._onDidChangeState=this._register(new P.vl),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=Vp.bindTo(n),this._register(this._editor.onDidChangeModel((()=>this._update()))),this._register(this._editor.onDidChangeModelLanguage((()=>this._update()))),this._register(this._registry.onDidChange((()=>this._update()))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(65)&&this._update()}))),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(Kp.Empty,!0))}_settingEnabledNearbyQuickfixes(){const e=this._editor?.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:e?.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(Kp.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(92)){const t=this._registry.all(e).flatMap((e=>e.providedCodeActionKinds??[]));this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new Up(this._editor,this._markerService,(t=>{if(!t)return void this.setState(Kp.Empty);const i=t.selection.getStartPosition(),n=(0,A.SS)((async i=>{if(this._settingEnabledNearbyQuickfixes()&&1===t.trigger.type&&(t.trigger.triggerAction===Hc.QuickFix||t.trigger.filter?.include?.contains(Bc.QuickFix))){const n=await Jc(this._registry,e,t.selection,t.trigger,$h.None,i),s=[...n.allActions];if(i.isCancellationRequested)return jp;const o=n.validActions?.some((e=>!!e.action.kind&&Bc.QuickFix.contains(new ca(e.action.kind)))),r=this._markerService.read({resource:e.uri});if(o){for(const e of n.validActions)e.action.command?.arguments?.some((e=>"string"==typeof e&&e.includes(zp)))&&(e.action.diagnostics=[...r.filter((e=>e.relatedInformation))]);return{validActions:n.validActions,allActions:s,documentation:n.documentation,hasAutoFix:n.hasAutoFix,hasAIFix:n.hasAIFix,allAIFixes:n.allAIFixes,dispose:()=>{n.dispose()}}}if(!o&&r.length>0){const o=t.selection.getPosition();let a=o,l=Number.MAX_VALUE;const h=[...n.validActions];for(const c of r){const d=c.endColumn,u=c.endLineNumber,g=c.startLineNumber;if(u===o.lineNumber||g===o.lineNumber){a=new Gn.y(u,d);const c={type:t.trigger.type,triggerAction:t.trigger.triggerAction,filter:{include:t.trigger.filter?.include?t.trigger.filter?.include:Bc.QuickFix},autoApply:t.trigger.autoApply,context:{notAvailableMessage:t.trigger.context?.notAvailableMessage||"",position:a}},g=new $s.L(a.lineNumber,a.column,a.lineNumber,a.column),p=await Jc(this._registry,e,g,c,$h.None,i);if(0!==p.validActions.length){for(const e of p.validActions)e.action.command?.arguments?.some((e=>"string"==typeof e&&e.includes(zp)))&&(e.action.diagnostics=[...r.filter((e=>e.relatedInformation))]);0===n.allActions.length&&s.push(...p.allActions),Math.abs(o.column-d)i.findIndex((t=>t.action.title===e.action.title))===t));return d.sort(((e,t)=>e.action.isPreferred&&!t.action.isPreferred?-1:!e.action.isPreferred&&t.action.isPreferred||e.action.isAI&&!t.action.isAI?1:!e.action.isAI&&t.action.isAI?-1:0)),{validActions:d,allActions:s,documentation:n.documentation,hasAutoFix:n.hasAutoFix,hasAIFix:n.hasAIFix,allAIFixes:n.allAIFixes,dispose:()=>{n.dispose()}}}}if(1===t.trigger.type){const n=new Hp.W,s=await Jc(this._registry,e,t.selection,t.trigger,$h.None,i);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:s.validActions.length,duration:n.elapsed()}),s}return Jc(this._registry,e,t.selection,t.trigger,$h.None,i)}));1===t.trigger.type&&this._progressService?.showWhile(n,250);const s=new Kp.Triggered(t.trigger,i,n);let o=!1;1===this._state.type&&(o=1===this._state.trigger.type&&1===s.type&&2===s.trigger.type&&this._state.position!==s.position),o?setTimeout((()=>{this.setState(s)}),500):this.setState(s)}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:Hc.Default})}else this._supportedCodeActions.reset()}trigger(e){this._codeActionOracle.value?.trigger(e)}setState(e,t){e!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=e,t||this._disposed||this._onDidChangeState.fire(e))}}var qp,Gp=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Qp=function(e,t){return function(i,n){t(i,n,e)}};let Yp=class extends Ae.jG{static{qp=this}static{this.ID="editor.contrib.codeActionController"}static get(e){return e.getContribution(qp.ID)}constructor(e,t,i,n,s,o,r,a,l,h,d){super(),this._commandService=r,this._configurationService=a,this._actionWidgetService=l,this._instantiationService=h,this._telemetryService=d,this._activeCodeActions=this._register(new Ae.HE),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new $p(this._editor,s.codeActionProvider,t,i,o,a,this._telemetryService)),this._register(this._model.onDidChangeState((e=>this.update(e)))),this._lightBulbWidget=new Pl.d((()=>{const e=this._editor.getContribution(Eu.ID);return e&&this._register(e.onClick((e=>this.showCodeActionsFromLightbulb(e.actions,e)))),e})),this._resolver=n.createInstance(ru),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&1===e.validActions.length){const t=e.validActions[0],i=t.action.command;return i&&"inlineChat.start"===i.id&&i.arguments&&i.arguments.length>=1&&(i.arguments[0]={...i.arguments[0],autoSend:!1}),void await this._applyCodeAction(t,!1,!1,tu.FromAILightbulb)}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,n){if(!this._editor.hasModel())return;zh.get(this._editor)?.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:n,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,n){try{await this._instantiationService.invokeFunction(iu,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Hc.QuickFix,filter:{}})}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(e){if(1!==e.type)return void this.hideLightBulbWidget();let t;try{t=await e.actions}catch(n){return void(0,b.dz)(n)}if(this._disposed)return;const i=this._editor.getSelection();if(i?.startLineNumber===e.position.lineNumber)if(this._lightBulbWidget.value?.update(t,e.trigger,e.position),1===e.trigger.type){if(e.trigger.filter?.include){const i=this.tryGetValidActionToApply(e.trigger,t);if(i){try{this.hideLightBulbWidget(),await this._applyCodeAction(i,!1,!1,tu.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const i=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(i&&i.action.disabled)return zh.get(this._editor)?.showMessage(i.action.disabled,e.trigger.context.position),void t.dispose()}}const i=!!e.trigger.filter?.include;if(e.trigger.context&&(!t.allActions.length||!i&&!t.validActions.length))return zh.get(this._editor)?.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,void t.dispose();this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:i,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length)return"first"===e.autoApply&&0===t.validActions.length||"ifSingle"===e.autoApply&&1===t.allActions.length?t.allActions.find((({action:e})=>e.disabled)):void 0}tryGetValidActionToApply(e,t){if(t.validActions.length)return"first"===e.autoApply&&t.validActions.length>0||"ifSingle"===e.autoApply&&1===t.validActions.length?t.validActions[0]:void 0}static{this.DECORATION=eo.kI.register({description:"quickfix-highlight",className:"quickfix-edit-highlight"})}async showCodeActionList(e,t,i){const n=this._editor.createDecorationsCollection(),s=this._editor.getDomNode();if(!s)return;const o=i.includeDisabledActions&&(this._showDisabled||0===e.validActions.length)?e.allActions:e.validActions;if(!o.length)return;const r=Gn.y.isIPosition(t)?this.toCoords(t):t,a={onSelect:async(e,t)=>{this._applyCodeAction(e,!0,!!t,i.fromLightbulb?tu.FromAILightbulb:tu.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:e=>{this._editor?.focus(),n.clear()},onHover:async(e,t)=>{if(t.isCancellationRequested)return;let i=!1;const n=e.action.kind;if(n){const e=new ca(n);i=[Bc.RefactorExtract,Bc.RefactorInline,Bc.RefactorRewrite,Bc.RefactorMove,Bc.Source].some((t=>t.contains(e)))}return{canPreview:i||!!e.action.edit?.edits.length}},onFocus:e=>{if(e&&e.action){const t=e.action.ranges,i=e.action.diagnostics;if(n.clear(),t&&t.length>0){const e=i&&i?.length>1?i.map((e=>({range:e,options:qp.DECORATION}))):t.map((e=>({range:e,options:qp.DECORATION})));n.set(e)}else if(i&&i.length>0){const e=i.map((e=>({range:e,options:qp.DECORATION})));n.set(e);const t=i[0];if(t.startLineNumber&&t.startColumn){const e=this._editor.getModel()?.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn})?.word;wi((0,jn.kg)("editingNewSelection","Context: {0} at line {1} and column {2}.",e,t.startLineNumber,t.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,function(e,t,i){if(!t)return e.map((e=>({kind:"action",item:e,group:au,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title,canPreview:!!e.action.edit?.edits.length})));const n=lu.map((e=>({group:e,actions:[]})));for(const o of e){const e=o.action.kind?new ca(o.action.kind):ca.None;for(const t of n)if(t.group.kind.contains(e)){t.actions.push(o);break}}const s=[];for(const o of n)if(o.actions.length){s.push({kind:"header",group:o.group});for(const e of o.actions){const t=o.group;s.push({kind:"action",item:e,group:e.action.isAI?{title:t.title,kind:t.kind,icon:vl.W.sparkle}:t,label:e.action.title,disabled:!!e.action.disabled,keybinding:i(e.action)})}}return s}(o,this._shouldShowHeaders(),this._resolver.getResolver()),a,r,s,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=ct(this._editor.getDomNode());return{x:i.left+t.left,y:i.top+t.top+t.height}}_shouldShowHeaders(){const e=this._editor?.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e?.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const n=e.documentation.map((e=>({id:e.id,label:e.title,tooltip:e.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(e.id,...e.arguments??[])})));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&n.push(this._showDisabled?{id:"hideMoreActions",label:(0,jn.kg)("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:(0,jn.kg)("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}};function Zp(e){return ls.M$.regex(Vp.keys()[0],new RegExp("(\\s|^)"+(0,Ti.bm)(e.value)+"\\b"))}Yp=qp=Gp([Qp(1,Wp.DR),Qp(2,ls.fN),Qp(3,$n._Y),Qp(4,La.ILanguageFeaturesService),Qp(5,qh),Qp(6,rs),Qp(7,Fp.pG),Qp(8,Ap),Qp(9,$n._Y),Qp(10,Ls)],Yp),(0,io.zy)(((e,t)=>{var i,n;i=".quickfix-edit-highlight",(n=e.getColor(to.Ubg))&&t.addRule(`.monaco-editor ${i} { background-color: ${n}; }`);const s=e.getColor(to.ECk);s&&t.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${(0,Bp.Bb)(e.type)?"dotted":"solid"} ${s}; box-sizing: border-box; }`)}));const Xp={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:jn.kg("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:jn.kg("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[jn.kg("args.schema.apply.first","Always apply the first returned code action."),jn.kg("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),jn.kg("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:jn.kg("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function Jp(e,t,i,n,s=Hc.Default){if(e.hasModel()){const o=Yp.get(e);o?.manualTriggerAtCurrentPosition(t,s,i,n)}}Bs(Yp.ID,Yp,3),Bs(Eu.ID,Eu,4),Fs(class extends Ts{constructor(){super({id:jc,label:jn.kg("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:ls.M$.and(js.writable,js.hasCodeActionsProvider),kbOpts:{kbExpr:js.textInputFocus,primary:2137,weight:100}})}run(e,t){return Jp(t,jn.kg("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Hc.QuickFix)}}),Fs(class extends Ts{constructor(){super({id:qc,label:jn.kg("refactor.label","Refactor..."),alias:"Refactor...",precondition:ls.M$.and(js.writable,js.hasCodeActionsProvider),kbOpts:{kbExpr:js.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:ls.M$.and(js.writable,Zp(Bc.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:Xp}]}})}run(e,t,i){const n=zc.fromUser(i,{kind:Bc.Refactor,apply:"never"});return Jp(t,"string"==typeof i?.kind?n.preferred?jn.kg("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):jn.kg("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?jn.kg("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):jn.kg("editor.action.refactor.noneMessage","No refactorings available"),{include:Bc.Refactor.contains(n.kind)?n.kind:ca.None,onlyIncludePreferredActions:n.preferred},n.apply,Hc.Refactor)}}),Fs(class extends Ts{constructor(){super({id:Gc,label:jn.kg("source.label","Source Action..."),alias:"Source Action...",precondition:ls.M$.and(js.writable,js.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:ls.M$.and(js.writable,Zp(Bc.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:Xp}]}})}run(e,t,i){const n=zc.fromUser(i,{kind:Bc.Source,apply:"never"});return Jp(t,"string"==typeof i?.kind?n.preferred?jn.kg("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):jn.kg("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?jn.kg("editor.action.source.noneMessage.preferred","No preferred source actions available"):jn.kg("editor.action.source.noneMessage","No source actions available"),{include:Bc.Source.contains(n.kind)?n.kind:ca.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Hc.SourceAction)}}),Fs(class extends Ts{constructor(){super({id:Qc,label:jn.kg("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ls.M$.and(js.writable,Zp(Bc.SourceOrganizeImports)),kbOpts:{kbExpr:js.textInputFocus,primary:1581,weight:100}})}run(e,t){return Jp(t,jn.kg("editor.action.organize.noneMessage","No organize imports action available"),{include:Bc.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Hc.OrganizeImports)}}),Fs(class extends Ts{constructor(){super({id:$c,label:jn.kg("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ls.M$.and(js.writable,Zp(Bc.QuickFix)),kbOpts:{kbExpr:js.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Jp(t,jn.kg("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Bc.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Hc.AutoFix)}}),Fs(class extends Ts{constructor(){super({id:Yc,label:jn.kg("fixAll.label","Fix All"),alias:"Fix All",precondition:ls.M$.and(js.writable,Zp(Bc.SourceFixAll))})}run(e,t){return Jp(t,jn.kg("fixAll.noneMessage","No fix all action available"),{include:Bc.SourceFixAll,includeSourceActions:!0},"ifSingle",Hc.FixAll)}}),Os(new class extends Ms{constructor(){super({id:Kc,precondition:ls.M$.and(js.writable,js.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:Xp}]}})}runEditorCommand(e,t,i){const n=zc.fromUser(i,{kind:ca.Empty,apply:"ifSingle"});return Jp(t,"string"==typeof i?.kind?n.preferred?jn.kg("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):jn.kg("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?jn.kg("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):jn.kg("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}),hs.O.as(Rc.Fd.Configuration).registerConfiguration({...Ac,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:jn.kg("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}}),hs.O.as(Rc.Fd.Configuration).registerConfiguration({...Ac,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:jn.kg("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}}),hs.O.as(Rc.Fd.Configuration).registerConfiguration({...Ac,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:jn.kg("triggerOnFocusChange","Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});var em=i(80886),tm=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},im=function(e,t){return function(i,n){t(i,n,e)}};let nm=class{static{this.ID="editor.contrib.markerDecorations"}constructor(e,t){}dispose(){}};nm=tm([im(1,em.IMarkerDecorationsService)],nm),Bs(nm.ID,nm,0);class sm extends Ae.jG{constructor(e,t){super(),this._onDidChange=this._register(new P.vl),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;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let i=!1,n=!1;const s=()=>{if(i&&!n)try{i=!1,n=!0,t()}finally{nt(We(this._referenceDomElement),(()=>{n=!1,s()}))}};this._resizeObserver=new ResizeObserver((t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,i=!0,s()})),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,n=0;t?(i=t.width,n=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,n=this._referenceDomElement.clientHeight),i=Math.max(5,i),n=Math.max(5,n),this._width===i&&this._height===n||(this._width=i,this._height=n,e&&this._onDidChange.fire())}}class om extends Ae.jG{constructor(e){super(),this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){this._mediaQueryList?.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class rm extends Ae.jG{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new om(e));this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)})))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d");return(e.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}const am=new class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=ze(e);let i=this.mapWindowIdToPixelRatioMonitor.get(t);return i||(i=(0,Ae.lC)(new rm(e)),this.mapWindowIdToPixelRatioMonitor.set(t,i),(0,Ae.lC)(P.Jh.once(qe)((({vscodeWindowId:e})=>{e===t&&(i?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})))),i}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}};class lm{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class hm{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");Lh(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");Lh(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const n=document.createElement("div");Lh(n,this._bareFontInfo),n.style.fontStyle="italic",e.appendChild(n);const s=[];for(const o of this._requests){let e;0===o.type&&(e=t),2===o.type&&(e=i),1===o.type&&(e=n),e.appendChild(document.createElement("br"));const r=document.createElement("span");hm._render(r,o),e.appendChild(r),s.push(r)}this._container=e,this._testElements=s}static _render(e,t){if(" "===t.chr){let t="\xa0";for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let i=t.chr;for(let e=0;e<8;e++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)}),5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues();let n=!1;for(const s of i)s.isTrusted||(n=!0,t.remove(s));n&&this._onDidChange.fire()}readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let i=this._actualReadFontInfo(e,t);(i.typicalHalfwidthCharacterWidth<=2||i.typicalFullwidthCharacterWidth<=2||i.spaceWidth<=2||i.maxDigitWidth<=2)&&(i=new gm({pixelRatio:am.getInstance(e).value,fontFamily:i.fontFamily,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFeatureSettings:i.fontFeatureSettings,fontVariationSettings:i.fontVariationSettings,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,isMonospace:i.isMonospace,typicalHalfwidthCharacterWidth:Math.max(i.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(i.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:i.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(i.spaceWidth,5),middotWidth:Math.max(i.middotWidth,5),wsmiddotWidth:Math.max(i.wsmiddotWidth,5),maxDigitWidth:Math.max(i.maxDigitWidth,5)},!1)),this._writeToCache(e,t,i)}return i.get(t)}_createRequest(e,t,i,n){const s=new lm(e,t);return i.push(s),n?.push(s),s}_actualReadFontInfo(e,t){const i=[],n=[],s=this._createRequest("n",0,i,n),o=this._createRequest("\uff4d",0,i,null),r=this._createRequest(" ",0,i,n),a=this._createRequest("0",0,i,n),l=this._createRequest("1",0,i,n),h=this._createRequest("2",0,i,n),d=this._createRequest("3",0,i,n),c=this._createRequest("4",0,i,n),u=this._createRequest("5",0,i,n),g=this._createRequest("6",0,i,n),p=this._createRequest("7",0,i,n),m=this._createRequest("8",0,i,n),f=this._createRequest("9",0,i,n),_=this._createRequest("\u2192",0,i,n),v=this._createRequest("\uffeb",0,i,null),b=this._createRequest("\xb7",0,i,n),C=this._createRequest(String.fromCharCode(11825),0,i,null),w="|/-_ilm%";for(let x=0,D=8;x.001){S=!1;break}}let L=!0;return S&&v.width!==k&&(L=!1),v.width>_.width&&(L=!1),new gm({pixelRatio:am.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:S,typicalHalfwidthCharacterWidth:s.width,typicalFullwidthCharacterWidth:o.width,canUseHalfwidthRightwardsArrow:L,spaceWidth:r.width,middotWidth:b.width,wsmiddotWidth:C.width,maxDigitWidth:y},!0)}}class mm{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map((e=>this._values[e]))}}const fm=new pm;class _m{static{this.items=[]}constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=_m._read(e,this.key);this.migrate(t,(t=>_m._read(e,t)),((t,i)=>_m._write(e,t,i)))}static _read(e,t){if(void 0===e)return;const i=t.indexOf(".");if(i>=0){const n=t.substring(0,i);return this._read(e[n],t.substring(i+1))}return e[t]}static _write(e,t,i){const n=t.indexOf(".");if(n>=0){const s=t.substring(0,n);return e[s]=e[s]||{},void this._write(e[s],t.substring(n+1),i)}e[t]=i}}function vm(e,t){_m.items.push(new _m(e,t))}function bm(e,t){vm(e,((i,n,s)=>{if(void 0!==i)for(const[o,r]of t)if(i===o)return void s(e,r)}))}bm("wordWrap",[[!0,"on"],[!1,"off"]]),bm("lineNumbers",[[!0,"on"],[!1,"off"]]),bm("cursorBlinking",[["visible","solid"]]),bm("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),bm("renderLineHighlight",[[!0,"line"],[!1,"none"]]),bm("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),bm("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),bm("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),bm("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),bm("autoIndent",[[!1,"advanced"],[!0,"full"]]),bm("matchBrackets",[[!0,"always"],[!1,"never"]]),bm("renderFinalNewline",[[!0,"on"],[!1,"off"]]),bm("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),bm("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),bm("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),vm("autoClosingBrackets",((e,t,i)=>{!1===e&&(i("autoClosingBrackets","never"),void 0===t("autoClosingQuotes")&&i("autoClosingQuotes","never"),void 0===t("autoSurround")&&i("autoSurround","never"))})),vm("renderIndentGuides",((e,t,i)=>{void 0!==e&&(i("renderIndentGuides",void 0),void 0===t("guides.indentation")&&i("guides.indentation",!!e))})),vm("highlightActiveIndentGuide",((e,t,i)=>{void 0!==e&&(i("highlightActiveIndentGuide",void 0),void 0===t("guides.highlightActiveIndentation")&&i("guides.highlightActiveIndentation",!!e))}));const Cm={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"};vm("suggest.filteredTypes",((e,t,i)=>{if(e&&"object"==typeof e){for(const n of Object.entries(Cm)){!1===e[n[0]]&&void 0===t(`suggest.${n[1]}`)&&i(`suggest.${n[1]}`,!1)}i("suggest.filteredTypes",void 0)}})),vm("quickSuggestions",((e,t,i)=>{if("boolean"==typeof e){const t=e?"on":"off";i("quickSuggestions",{comments:t,strings:t,other:t})}})),vm("experimental.stickyScroll.enabled",((e,t,i)=>{"boolean"==typeof e&&(i("experimental.stickyScroll.enabled",void 0),void 0===t("stickyScroll.enabled")&&i("stickyScroll.enabled",e))})),vm("experimental.stickyScroll.maxLineCount",((e,t,i)=>{"number"==typeof e&&(i("experimental.stickyScroll.maxLineCount",void 0),void 0===t("stickyScroll.maxLineCount")&&i("stickyScroll.maxLineCount",e))})),vm("codeActionsOnSave",((e,t,i)=>{if(e&&"object"==typeof e){let t=!1;const n={};for(const i of Object.entries(e))"boolean"==typeof i[1]?(t=!0,n[i[0]]=i[1]?"explicit":"never"):n[i[0]]=i[1];t&&i("codeActionsOnSave",n)}})),vm("codeActionWidget.includeNearbyQuickfixes",((e,t,i)=>{"boolean"==typeof e&&(i("codeActionWidget.includeNearbyQuickfixes",void 0),void 0===t("codeActionWidget.includeNearbyQuickFixes")&&i("codeActionWidget.includeNearbyQuickFixes",e))})),vm("lightbulb.enabled",((e,t,i)=>{"boolean"==typeof e&&i("lightbulb.enabled",e?void 0:"off")}));const wm=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new P.vl,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}};var ym=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Sm=function(e,t){return function(i,n){t(i,n,e)}};let km=class extends Ae.jG{constructor(e,t,i,n,s){super(),this._accessibilityService=s,this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new P.vl),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new Yd,this.isSimpleWidget=e,this.contextMenuId=t,this._containerObserver=this._register(new sm(n,i.dimension)),this._targetWindowId=We(n).vscodeWindowId,this._rawOptions=Im(i),this._validatedOptions=Nm.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(dm.onDidChangeZoomLevel((()=>this._recomputeOptions()))),this._register(wm.onDidChangeTabFocus((()=>this._recomputeOptions()))),this._register(this._containerObserver.onDidChange((()=>this._recomputeOptions()))),this._register(fm.onDidChange((()=>this._recomputeOptions()))),this._register(am.getInstance(We(n)).onDidChange((()=>this._recomputeOptions()))),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized((()=>this._recomputeOptions())))}_recomputeOptions(){const e=this._computeOptions(),t=Nm.checkEquals(this.options,e);null!==t&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=um.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),n={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:wm.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return Nm.computeOptions(this._validatedOptions,n)}_readEnvConfiguration(){return{extraEditorClassName:Lm(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:d||h,pixelRatio:am.getInstance(Ue(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return fm.readFontInfo(Ue(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=Im(e);Nm.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=Nm.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=function(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}(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())}};function Lm(){let e="";return u||g||(e+="no-user-select "),u&&(e+="no-minimap-shadow ",e+="enable-user-select "),f.zx&&(e+="mac "),e}km=ym([Sm(4,jr)],km);class xm{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class Dm{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class Nm{static validateOptions(e){const t=new xm;for(const i of Ec){const n="_never_"===i.name?void 0:e[i.name];t._write(i.id,i.validate(n))}return t}static computeOptions(e,t){const i=new Dm;for(const n of Ec)i._write(n.id,n.compute(t,i,e._read(n.id)));return i}static _deepEquals(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return!(!Array.isArray(e)||!Array.isArray(t))&&ia.aI(e,t);if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!Nm._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let n=!1;for(const s of Ec){const o=!Nm._deepEquals(e._read(s.id),t._read(s.id));i[s.id]=o,o&&(n=!0)}return n?new Qd(i):null}static applyUpdate(e,t){let i=!1;for(const n of Ec)if(t.hasOwnProperty(n.name)){const s=n.applyUpdate(e[n.name],t[n.name]);e[n.name]=s.newValue,i=i||s.didChange}return i}}function Im(e){const t=$l.Go(e);return function(e){_m.items.forEach((t=>t.apply(e)))}(t),t}class Em{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new Mm(this.x-e.scrollX,this.y-e.scrollY)}}class Mm{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new Em(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class Tm{constructor(e,t,i,n){this.x=e,this.y=t,this.width=i,this.height=n,this._editorPagePositionBrand=void 0}}class Rm{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function Am(e){const t=ct(e);return new Tm(t.left,t.top,t.width,t.height)}function Pm(e,t,i){const n=t.width/e.offsetWidth,s=t.height/e.offsetHeight,o=(i.x-t.x)/n,r=(i.y-t.y)/s;return new Rm(o,r)}class Om extends T{constructor(e,t,i){super(We(i),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new Em(this.posx,this.posy),this.editorPos=Am(i),this.relativePos=Pm(i,this.editorPos,this.pos)}}class Fm{constructor(e){this._editorViewDomNode=e}_create(e){return new Om(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return Ye(e,"contextmenu",(e=>{t(this._create(e))}))}onMouseUp(e,t){return Ye(e,"mouseup",(e=>{t(this._create(e))}))}onMouseDown(e,t){return Ye(e,Ut.MOUSE_DOWN,(e=>{t(this._create(e))}))}onPointerDown(e,t){return Ye(e,Ut.POINTER_DOWN,(e=>{t(this._create(e),e.pointerId)}))}onMouseLeave(e,t){return Ye(e,Ut.MOUSE_LEAVE,(e=>{t(this._create(e))}))}onMouseMove(e,t){return Ye(e,"mousemove",(e=>t(this._create(e))))}}class Wm{constructor(e){this._editorViewDomNode=e}_create(e){return new Om(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return Ye(e,"pointerup",(e=>{t(this._create(e))}))}onPointerDown(e,t){return Ye(e,Ut.POINTER_DOWN,(e=>{t(this._create(e),e.pointerId)}))}onPointerLeave(e,t){return Ye(e,Ut.POINTER_LEAVE,(e=>{t(this._create(e))}))}onPointerMove(e,t){return Ye(e,"pointermove",(e=>t(this._create(e))))}}class Bm extends Ae.jG{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new Au),this._keydownListener=null}startMonitoring(e,t,i,n,s){this._keydownListener=Xe(e.ownerDocument,"keydown",(e=>{e.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,e.browserEvent)}),!0),this._globalPointerMoveMonitor.startMonitoring(e,t,i,(e=>{n(new Om(e,!0,this._editorViewDomNode))}),(e=>{this._keydownListener.dispose(),s(e)}))}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class Hm{static{this._idPool=0}constructor(e){this._editor=e,this._instanceId=++Hm._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new A.uC((()=>this.garbageCollect()),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const n=this._counter++;i=new Vm(t,`dyn-rule-${this._instanceId}-${n}`,Ct(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}class Vm{constructor(e,t,i,n){this.key=e,this.className=t,this.properties=n,this._referenceCount=0,this._styleElementDisposables=new Ae.Cm,this._styleElement=Et(i,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=`.${e} {`;for(const n in t){const e=t[n];let s;s="object"==typeof e?(0,to.GuP)(e.id):e;i+=`\n\t${zm(n)}: ${s};`}return i+="\n}",i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function zm(e){return e.replace(/(^[A-Z])/,(([e])=>e.toLowerCase())).replace(/([A-Z])/g,(([e])=>`-${e.toLowerCase()}`))}class Um extends Ae.jG{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,n=e.length;i=o.left?n.width=Math.max(n.width,o.left+o.width-n.left):(t[i++]=n,n=o)}return t[i++]=n,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||0===e.length)return null;const n=[];for(let s=0,o=e.length;sr)return null;if((t=Math.min(r,Math.max(0,t)))===(n=Math.min(r,Math.max(0,n)))&&i===s&&0===i&&!e.children[t].firstChild){const i=e.children[t].getClientRects();return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(i,o.clientRectDeltaLeft,o.clientRectScale)}t!==n&&n>0&&0===s&&(n--,s=1073741824);let a=e.children[t].firstChild,l=e.children[n].firstChild;if(a&&l||(!a&&0===i&&t>0&&(a=e.children[t-1].firstChild,i=1073741824),!l&&0===s&&n>0&&(l=e.children[n-1].firstChild,s=1073741824)),!a||!l)return null;i=Math.min(a.textContent.length,Math.max(0,i)),s=Math.min(l.textContent.length,Math.max(0,s));const h=this._readClientRects(a,i,l,s,o.endNode);return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(h,o.clientRectDeltaLeft,o.clientRectScale)}}class ef{constructor(e,t,i,n){this.startColumn=e,this.endColumn=t,this.className=i,this.type=n,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(e,t){const i=e.length;if(i!==t.length)return!1;for(let n=0;n=s||(r[a++]=new ef(Math.max(1,l.startColumn-n+1),Math.min(o+1,l.endColumn-n+1),l.className,l.type));return r}static filter(e,t,i,n){if(0===e.length)return[];const s=[];let o=0;for(let r=0,a=e.length;rt)continue;if(l.isEmpty()&&(0===a.type||3===a.type))continue;const h=l.startLineNumber===t?l.startColumn:i,d=l.endLineNumber===t?l.endColumn:n;s[o++]=new ef(h,d,a.inlineClassName,a.type)}return s}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=ef._typeCompare(e.type,t.type);return 0!==i?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t),this.metadata.splice(n,0,i);break}this.count++}}class sf{static normalize(e,t){if(0===t.length)return[];const i=[],n=new nf;let s=0;for(let o=0,r=t.length;o1){const t=e.charCodeAt(a-2);Ti.pc(t)&&a--}if(l>1){const t=e.charCodeAt(l-2);Ti.pc(t)&&l--}const c=a-1,u=l-2;s=n.consumeLowerThan(c,s,i),0===n.count&&(s=c),n.insert(u,h,d)}return n.consumeLowerThan(1073741824,s,i),i}}var of=i(54324);class rf{constructor(e,t,i,n){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=n,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class af{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class lf{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u,g,p,m,f,_,v){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=n,this.isBasicASCII=s,this.containsRTL=o,this.fauxIndentLength=r,this.lineTokens=a,this.lineDecorations=l.sort(ef.compare),this.tabSize=h,this.startVisibleColumn=d,this.spaceWidth=c,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===m?4:"boundary"===m?1:"selection"===m?2:"trailing"===m?3:0,this.renderControlCharacters=f,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort(((e,t)=>e.startOffset>>16}static getCharIndex(e){return(65535&e)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,n){const s=(t<<16|i)>>>0;this._data[e-1]=s,this._horizontalOffset[e-1]=n}getHorizontalOffset(e){return 0===this._horizontalOffset.length?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=df.getPartIndex(t),n=df.getCharIndex(t);return new hf(i,n)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(0===this.length)return 0;const n=(e<<16|i)>>>0;let s=0,o=this.length-1;for(;s+1>>1,t=this._data[e];if(t===n)return e;t>n?o=e:s=e}if(s===o)return s;const r=this._data[s],a=this._data[o];if(r===n)return s;if(a===n)return o;const l=df.getPartIndex(r),h=df.getCharIndex(r);let d;d=l!==df.getPartIndex(a)?t:df.getCharIndex(a);return i-h<=d-i?s:o}}class cf{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function uf(e,t){if(0===e.lineContent.length){if(e.lineDecorations.length>0){t.appendString("");let i=0,n=0,s=0;for(const r of e.lineDecorations)1!==r.type&&2!==r.type||(t.appendString(''),1===r.type&&(s|=1,i++),2===r.type&&(s|=2,n++));t.appendString("");const o=new df(1,i+n);return o.setColumnInfo(1,i,0,0),new cf(o,!1,s)}return t.appendString(""),new cf(new df(0,0),!1,0)}return function(e,t){const i=e.fontIsMonospace,n=e.canUseHalfwidthRightwardsArrow,s=e.containsForeignElements,o=e.lineContent,r=e.len,a=e.isOverflowing,l=e.overflowingCharCount,h=e.parts,d=e.fauxIndentLength,c=e.tabSize,u=e.startVisibleColumn,g=e.containsRTL,p=e.spaceWidth,m=e.renderSpaceCharCode,f=e.renderWhitespace,_=e.renderControlCharacters,v=new df(r+1,h.length);let b=!1,C=0,w=u,y=0,S=0,k=0;g?t.appendString(''):t.appendString("");for(let L=0,x=h.length;L=d&&(i+=n)}}for(x&&(t.appendString(' style="width:'),t.appendString(String(p*e)),t.appendString('px"')),t.appendASCIICharCode(62);C1?t.appendCharCode(8594):t.appendCharCode(65515);for(let e=2;e<=i;e++)t.appendCharCode(160)}else e=2,i=1,t.appendCharCode(m),t.appendCharCode(8204);y+=e,S+=i,C>=d&&(w+=i)}}else for(t.appendASCIICharCode(62);C=d&&(w+=n)}D?k++:k=0,C>=r&&!b&&e.isPseudoAfter()&&(b=!0,v.setColumnInfo(C+1,L,y,S)),t.appendString("")}b||v.setColumnInfo(r+1,h.length-1,y,S);a&&(t.appendString(''),t.appendString(jn.kg("showMore","Show more ({0})",function(e){if(e<1024)return jn.kg("overflow.chars","{0} chars",e);if(e<1048576)return`${(e/1024).toFixed(1)} KB`;return`${(e/1024/1024).toFixed(1)} MB`}(l))),t.appendString(""));return t.appendString(""),new cf(v,g,s)}(function(e){const t=e.lineContent;let i,n,s;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(o[r++]=new rf(n,"",0,!1));let a=n;for(let l=0,h=i.getCount();l=s){const i=!!t&&Ti.E_(e.substring(a,s));o[r++]=new rf(s,d,0,i);break}const c=!!t&&Ti.E_(e.substring(a,h));o[r++]=new rf(h,d,0,c),a=h}return o}(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,s);e.renderControlCharacters&&!e.isBasicASCII&&(o=function(e,t){const i=[];let n=new rf(0,"",0,!1),s=0;for(const o of t){const t=o.endIndex;for(;sn.endIndex&&(n=new rf(s,o.type,o.metadata,o.containsRTL),i.push(n)),n=new rf(s+1,"mtkcontrol",o.metadata,!1),i.push(n))}s>n.endIndex&&(n=new rf(t,o.type,o.metadata,o.containsRTL),i.push(n))}return i}(t,o));(4===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine||3===e.renderWhitespace&&!e.continuesWithWrappedLine)&&(o=function(e,t,i,n){const s=e.continuesWithWrappedLine,o=e.fauxIndentLength,r=e.tabSize,a=e.startVisibleColumn,l=e.useMonospaceOptimizations,h=e.selectionsOnLine,d=1===e.renderWhitespace,c=3===e.renderWhitespace,u=e.renderSpaceWidth!==e.spaceWidth,g=[];let p=0,m=0,f=n[m].type,_=n[m].containsRTL,v=n[m].endIndex;const b=n.length;let C,w=!1,y=Ti.HG(t);-1===y?(w=!0,y=i,C=i):C=Ti.lT(t);let S=!1,k=0,L=h&&h[k],x=a%r;for(let N=o;N=L.endOffset&&(k++,L=h&&h[k]),NC)s=!0;else if(9===e)s=!0;else if(32===e)if(d)if(S)s=!0;else{const e=N+1N),s&&c&&(s=w||N>C),s&&_&&N>=y&&N<=C&&(s=!1),S){if(!s||!l&&x>=r){if(u){for(let e=(p>0?g[p-1].endIndex:o)+1;e<=N;e++)g[p++]=new rf(e,"mtkw",1,!1)}else g[p++]=new rf(N,"mtkw",1,!1);x%=r}}else(N===v||s&&N>o)&&(g[p++]=new rf(N,f,0,_),x%=r);for(9===e?x=r:Ti.ne(e)?x+=2:x++,S=s;N===v&&(m++,m0?t.charCodeAt(i-1):0,n=i>1?t.charCodeAt(i-2):0;32===e&&32!==n&&9!==n||(D=!0)}else D=!0;if(D)if(u){for(let e=(p>0?g[p-1].endIndex:o)+1;e<=i;e++)g[p++]=new rf(e,"mtkw",1,!1)}else g[p++]=new rf(i,"mtkw",1,!1);else g[p++]=new rf(i,f,0,_);return g}(e,t,s,o));let r=0;if(e.lineDecorations.length>0){for(let t=0,i=e.lineDecorations.length;th&&(h=e.startOffset,a[l++]=new rf(h,n,d,u)),!(e.endOffset+1<=t)){h=t,a[l++]=new rf(h,n+" "+e.className,d|e.metadata,u);break}h=e.endOffset+1,a[l++]=new rf(h,n+" "+e.className,d|e.metadata,u),r++}t>h&&(h=t,a[l++]=new rf(h,n,d,u))}const d=i[i.length-1].endIndex;if(r=50&&(s[o++]=new rf(h+1,t,r,l),d=h+1,h=-1);d!==a&&(s[o++]=new rf(a,t,r,l))}else s[o++]=i;n=a}else for(let r=0,a=t.length;r50){const t=e.type,r=e.metadata,l=e.containsRTL,h=Math.ceil(a/50);for(let e=1;e=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||1564===e)}function _f(e){return e.toString(16).toUpperCase().padStart(4,"0")}const vf=!!f.ib||!(f.j9||h||u);let bf=!0;class Cf{constructor(e,t){this.themeType=t;const i=e.options,n=i.get(50),s=i.get(38);this.renderWhitespace="off"===s?i.get(100):"none",this.renderControlCharacters=i.get(95),this.spaceWidth=n.spaceWidth,this.middotWidth=n.middotWidth,this.wsmiddotWidth=n.wsmiddotWidth,this.useMonospaceOptimizations=n.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=n.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(118),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class wf{static{this.CLASS_NAME="view-line"}constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=kh(e)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return!(!(0,Bp.Bb)(this._options.themeType)&&"selection"!==this._options.renderWhitespace)&&(this._isMaybeInvalid=!0,!0)}renderLine(e,t,i,n,s){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;const o=n.getViewLineRenderingData(e),r=this._options,a=ef.filter(o.inlineDecorations,e,o.minColumn,o.maxColumn);let l=null;if((0,Bp.Bb)(r.themeType)||"selection"===this._options.renderWhitespace){const t=n.selections;for(const i of t){if(i.endLineNumbere)continue;const t=i.startLineNumber===e?i.startColumn:o.minColumn,n=i.endLineNumber===e?i.endColumn:o.maxColumn;t');const d=uf(h,s);s.appendString("
    ");let c=null;return bf&&vf&&o.isBasicASCII&&r.useMonospaceOptimizations&&0===d.containsForeignElements&&(c=new yf(this._renderedViewLine?this._renderedViewLine.domNode:null,h,d.characterMapping)),c||(c=Lf(this._renderedViewLine?this._renderedViewLine.domNode:null,h,d.characterMapping,d.containsRTL,d.containsForeignElements)),this._renderedViewLine=c,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof yf}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof yf?this._renderedViewLine.monospaceAssumptionsAreValid():bf}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof yf&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,n){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const s=this._renderedViewLine.input.stopRenderingLineAfter;if(-1!==s&&t>s+1&&i>s+1)return new Xm(!0,[new Ym(this.getWidth(n),0)]);-1!==s&&t>s+1&&(t=s+1),-1!==s&&i>s+1&&(i=s+1);const o=this._renderedViewLine.getVisibleRangesForRange(e,t,i,n);return o&&o.length>0?new Xm(!1,o):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}class yf{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const n=Math.floor(t.lineContent.length/300);if(n>0){this._keyColumnPixelOffsetCache=new Float32Array(n);for(let e=0;e=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),bf=!1)}return bf}toSlowRenderedLine(){return Lf(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,n){const s=this._getColumnPixelOffset(e,t,n),o=this._getColumnPixelOffset(e,i,n);return[new Ym(s,o-s)]}_getColumnPixelOffset(e,t,i){if(t<=300){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const n=Math.floor((t-1)/300)-1,s=300*(n+1)+1;let o=-1;if(this._keyColumnPixelOffsetCache&&(o=this._keyColumnPixelOffsetCache[n],-1===o&&(o=this._actualReadPixelOffset(e,s,i),this._keyColumnPixelOffsetCache[n]=o)),-1===o){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const r=this._characterMapping.getHorizontalOffset(s),a=this._characterMapping.getHorizontalOffset(t);return o+this._charWidth*(a-r)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return-1;const n=this._characterMapping.getDomPosition(t),s=Jm.readHorizontalRanges(this._getReadingTarget(this.domNode),n.partIndex,n.charIndex,n.partIndex,n.charIndex,i);return s&&0!==s.length?s[0].left:-1}getColumnOfNodeOffset(e,t){return Nf(this._characterMapping,e,t)}}class Sf{constructor(e,t,i,n,s){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=s,this._cachedWidth=-1,this._pixelOffsetCache=null,!n||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e?.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return-1!==this._cachedWidth}getVisibleRangesForRange(e,t,i,n){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){const s=this._readPixelOffset(this.domNode,e,t,n);if(-1===s)return null;const o=this._readPixelOffset(this.domNode,e,i,n);return-1===o?null:[new Ym(s,o-s)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,n)}_readVisibleRangesForRange(e,t,i,n,s){if(i===n){const n=this._readPixelOffset(e,t,i,s);return-1===n?null:[new Ym(n,0)]}return this._readRawVisibleRangesForRange(e,i,n,s)}_readPixelOffset(e,t,i,n){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth(n);const t=this._getReadingTarget(e);return t.firstChild?(n.markDidDomLayout(),t.firstChild.offsetWidth):0}if(null!==this._pixelOffsetCache){const s=this._pixelOffsetCache[i];if(-1!==s)return s;const o=this._actualReadPixelOffset(e,t,i,n);return this._pixelOffsetCache[i]=o,o}return this._actualReadPixelOffset(e,t,i,n)}_actualReadPixelOffset(e,t,i,n){if(0===this._characterMapping.length){const t=Jm.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,n);return t&&0!==t.length?t[0].left:-1}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth(n);const s=this._characterMapping.getDomPosition(i),o=Jm.readHorizontalRanges(this._getReadingTarget(e),s.partIndex,s.charIndex,s.partIndex,s.charIndex,n);if(!o||0===o.length)return-1;const r=o[0].left;if(this.input.isBasicASCII){const e=this._characterMapping.getHorizontalOffset(i),t=Math.round(this.input.spaceWidth*e);if(Math.abs(t-r)<=1)return t}return r}_readRawVisibleRangesForRange(e,t,i,n){if(1===t&&i===this._characterMapping.length)return[new Ym(0,this.getWidth(n))];const s=this._characterMapping.getDomPosition(t),o=this._characterMapping.getDomPosition(i);return Jm.readHorizontalRanges(this._getReadingTarget(e),s.partIndex,s.charIndex,o.partIndex,o.charIndex,n)}getColumnOfNodeOffset(e,t){return Nf(this._characterMapping,e,t)}}class kf extends Sf{_readVisibleRangesForRange(e,t,i,n,s){const o=super._readVisibleRangesForRange(e,t,i,n,s);if(!o||0===o.length||i===n||1===i&&n===this._characterMapping.length)return o;if(!this.input.containsRTL){const i=this._readPixelOffset(e,t,n,s);if(-1!==i){const e=o[o.length-1];e.left=4&&3===e[0]&&8===e[3]}static isStrictChildOfViewLines(e){return e.length>4&&3===e[0]&&8===e[3]}static isChildOfScrollableElement(e){return e.length>=2&&3===e[0]&&6===e[1]}static isChildOfMinimap(e){return e.length>=2&&3===e[0]&&9===e[1]}static isChildOfContentWidgets(e){return e.length>=4&&3===e[0]&&1===e[3]}static isChildOfOverflowGuard(e){return e.length>=1&&3===e[0]}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&2===e[0]}static isChildOfOverlayWidgets(e){return e.length>=2&&3===e[0]&&4===e[1]}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&5===e[0]}}class Pf{constructor(e,t,i){this.viewModel=e.viewModel;const n=e.configuration.options;this.layoutInfo=n.get(146),this.viewDomNode=t.viewDomNode,this.lineHeight=n.get(67),this.stickyTabStops=n.get(117),this.typicalHalfwidthCharacterWidth=n.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return Pf.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const n=i.verticalOffset+i.height/2,s=e.viewModel.getLineCount();let o,r=null,a=null;return i.afterLineNumber!==s&&(a=new Gn.y(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(r=new Gn.y(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),o=null===a?r:null===r?a:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Hf._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class Ff extends Of{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=jm.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,i,n,s){super(e,t,i,n),this.hitTestResult=new Pl.d((()=>Hf.doHitTest(this._ctx,this))),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=s;const o=Boolean(this._eventTarget);this._useHitTestTarget=!o}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&null!==this.hitTestResult.value.hitTarget&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columno.contentLeft+o.width)continue;const i=e.getVerticalOffsetForLineNumber(o.position.lineNumber);if(i<=s&&s<=i+o.height)return t.fulfillContentText(o.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const e=t.isInContentArea?8:5;return t.fulfillViewZone(e,i.position,i)}return null}static _hitTestTextArea(e,t){return Af.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),n=i.range.getStartPosition();let s=Math.abs(t.relativePos.x);const o={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:s};if(s-=e.layoutInfo.glyphMarginLeft,s<=e.layoutInfo.glyphMarginWidth){const r=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),a=e.viewModel.glyphLanes.getLanesAtLine(r.lineNumber);return o.glyphMarginLane=a[Math.floor(s/e.lineHeight)],t.fulfillMargin(2,n,i.range,o)}return s-=e.layoutInfo.glyphMarginWidth,s<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,n,i.range,o):(s-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,n,i.range,o))}return null}static _hitTestViewLines(e,t){if(!Af.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new Gn.y(1,1),Wf);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const i=e.viewModel.getLineCount(),n=e.viewModel.getLineMaxColumn(i);return t.fulfillContentEmpty(new Gn.y(i,n),Wf)}if(Af.isStrictChildOfViewLines(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(0===e.viewModel.getLineLength(i)){const n=e.getLineWidth(i),s=Bf(t.mouseContentHorizontalOffset-n);return t.fulfillContentEmpty(new Gn.y(i,1),s)}const n=e.getLineWidth(i);if(t.mouseContentHorizontalOffset>=n){const s=Bf(t.mouseContentHorizontalOffset-n),o=new Gn.y(i,e.viewModel.getLineMaxColumn(i));return t.fulfillContentEmpty(o,s)}}const i=t.hitTestResult.value;return 1===i.type?Hf.createMouseTargetFromHitTestPosition(e,t,i.spanNode,i.position,i.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(Af.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Gn.y(i,n))}return null}static _hitTestScrollbarSlider(e,t){if(Af.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Gn.y(i,n))}}return null}static _hitTestScrollbar(e,t){if(Af.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Gn.y(i,n))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(146),n=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return Hf._getMouseColumn(n,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){if(e<0)return 1;return Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,n,s){const o=n.lineNumber,r=n.column,a=e.getLineWidth(o);if(t.mouseContentHorizontalOffset>a){const e=Bf(t.mouseContentHorizontalOffset-a);return t.fulfillContentEmpty(n,e)}const l=e.visibleRangeForPosition(o,r);if(!l)return t.fulfillUnknown(n);const h=l.left;if(Math.abs(t.mouseContentHorizontalOffset-h)<1)return t.fulfillContentText(n,null,{mightBeForeignElement:!!s,injectedText:s});const d=[];if(d.push({offset:l.left,column:r}),r>1){const t=e.visibleRangeForPosition(o,r-1);t&&d.push({offset:t.left,column:r-1})}if(re.offset-t.offset));const c=t.pos.toClientCoordinates(We(e.viewDomNode)),u=i.getBoundingClientRect(),g=u.left<=c.clientX&&c.clientX<=u.right;let p=null;for(let m=1;ms)){const i=Math.floor((n+s)/2);let o=t.pos.y+(i-t.mouseVerticalOffset);o<=t.editorPos.y&&(o=t.editorPos.y+1),o>=t.editorPos.y+t.editorPos.height&&(o=t.editorPos.y+t.editorPos.height-1);const r=new Em(t.pos.x,o),a=this._actualDoHitTestWithCaretRangeFromPoint(e,r.toClientCoordinates(We(e.viewDomNode)));if(1===a.type)return a}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(We(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=wt(e.viewDomNode);let n;if(n=i?void 0===i.caretRangeFromPoint?function(e,t,i){const n=document.createRange();let s=e.elementFromPoint(t,i);if(null!==s){for(;s&&s.firstChild&&s.firstChild.nodeType!==s.firstChild.TEXT_NODE&&s.lastChild&&s.lastChild.firstChild;)s=s.lastChild;const e=s.getBoundingClientRect(),i=We(s),o=`${i.getComputedStyle(s,null).getPropertyValue("font-style")} ${i.getComputedStyle(s,null).getPropertyValue("font-variant")} ${i.getComputedStyle(s,null).getPropertyValue("font-weight")} ${i.getComputedStyle(s,null).getPropertyValue("font-size")}/${i.getComputedStyle(s,null).getPropertyValue("line-height")} ${i.getComputedStyle(s,null).getPropertyValue("font-family")}`,r=s.innerText;let a,l=e.left,h=0;if(t>e.left+e.width)h=r.length;else{const e=Vf.getInstance();for(let i=0;ithis._createMouseTarget(e,t)),(e=>this._getMouseColumn(e)))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(146).height;const n=new Fm(this.viewHelper.viewDomNode);this._register(n.onContextMenu(this.viewHelper.viewDomNode,(e=>this._onContextMenu(e,!0)))),this._register(n.onMouseMove(this.viewHelper.viewDomNode,(e=>{this._onMouseMove(e),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=Ye(this.viewHelper.viewDomNode.ownerDocument,"mousemove",(e=>{this.viewHelper.viewDomNode.contains(e.target)||this._onMouseLeave(new Om(e,!1,this.viewHelper.viewDomNode))})))}))),this._register(n.onMouseUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(n.onMouseLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e))));let s=0;this._register(n.onPointerDown(this.viewHelper.viewDomNode,((e,t)=>{s=t}))),this._register(Ye(this.viewHelper.viewDomNode,Ut.POINTER_UP,(e=>{this._mouseDownOperation.onPointerUp()}))),this._register(n.onMouseDown(this.viewHelper.viewDomNode,(e=>this._onMouseDown(e,s)))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=Qu.INSTANCE;let t=0,i=dm.getZoomLevel(),n=!1,s=0;function o(e){return f.zx?(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey:e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}this._register(Ye(this.viewHelper.viewDomNode,Ut.MOUSE_WHEEL,(r=>{if(this.viewController.emitMouseWheel(r),!this._context.configuration.options.get(76))return;const a=new R(r);if(e.acceptStandardWheelEvent(a),e.isPhysicalMouseWheel()){if(o(r)){const e=dm.getZoomLevel(),t=a.deltaY>0?1:-1;dm.setZoomLevel(e+t),a.preventDefault(),a.stopPropagation()}}else Date.now()-t>50&&(i=dm.getZoomLevel(),n=o(r),s=0),t=Date.now(),s+=a.deltaY,n&&(dm.setZoomLevel(i+s/5),a.preventDefault(),a.stopPropagation())}),{capture:!0,passive:!1}))}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(146)){const e=this._context.configuration.options.get(146).height;this._height!==e&&(this._height=e,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const i=new Mm(e,t).toPageCoordinates(We(this.viewHelper.viewDomNode)),n=Am(this.viewHelper.viewDomNode);if(i.yn.y+n.height||i.xn.x+n.width)return null;const s=Pm(this.viewHelper.viewDomNode,n,i);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),n,i,s,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const t=wt(this.viewHelper.viewDomNode);t&&(i=t.elementsFromPoint(e.posx,e.posy).find((e=>this.viewHelper.viewDomNode.contains(e))))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){if(this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),this._mouseDownOperation.isActive())return;e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(h&&(n||o&&r))d(),this._mouseDownOperation.start(i.type,e,t);else if(s)e.preventDefault();else if(a){const n=i.detail;h&&this.viewHelper.shouldSuppressMouseDownOnViewZone(n.viewZoneId)&&(d(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else l&&this.viewHelper.shouldSuppressMouseDownOnWidget(i.detail)&&(d(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:i})}}class Uf extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._mouseTargetFactory=n,this._createMouseTarget=s,this._getMouseColumn=o,this._mouseMoveMonitor=this._register(new Bm(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new Kf(this._context,this._viewHelper,this._mouseTargetFactory,((e,t,i)=>this._dispatchMouse(e,t,i)))),this._mouseState=new $f,this._currentSelection=new $s.L(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):13!==t.type||"above"!==t.outsidePosition&&"below"!==t.outsidePosition?(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)):this._topBottomDragScrolling.start(t,e))}start(e,t,i){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(3===e),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const n=this._findMousePosition(t,!0);if(!n||!n.position)return;this._mouseState.trySetCount(t.detail,n.position),t.detail=this._mouseState.count;const s=this._context.configuration.options;if(!s.get(92)&&s.get(35)&&!s.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&6===n.type&&n.position&&this._currentSelection.containsPosition(n.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,(e=>this._onMouseDownThenMove(e)),(e=>{const t=this._findMousePosition(this._lastMouseEvent,!1);zt(e)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:t?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(n,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,(e=>this._onMouseDownThenMove(e)),(()=>this._stop())))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,n=this._context.viewLayout,s=this._getMouseColumn(e);if(e.posyt.y+t.height){const o=e.posy-t.y-t.height,r=n.getCurrentScrollTop()+e.relativePos.y,a=Pf.getZoneAtCoord(this._context,r);if(a){const e=this._helpPositionJumpOverViewZone(a);if(e)return Rf.createOutsideEditor(s,e,"below",o)}const l=n.getLineNumberAtVerticalOffset(r);return Rf.createOutsideEditor(s,new Gn.y(l,i.getLineMaxColumn(l)),"below",o)}const o=n.getLineNumberAtVerticalOffset(n.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const n=e.posx-t.x-t.width;return Rf.createOutsideEditor(s,new Gn.y(o,i.getLineMaxColumn(o)),"right",n)}return null}_findMousePosition(e,t){const i=this._getPositionOutsideEditor(e);if(i)return i;const n=this._createMouseTarget(e,t);if(!n.position)return null;if(8===n.type||5===n.type){const e=this._helpPositionJumpOverViewZone(n.detail);if(e)return Rf.createViewZone(n.type,n.element,n.mouseColumn,e,n.detail)}return n}_helpPositionJumpOverViewZone(e){const t=new Gn.y(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),i=e.positionBefore,n=e.positionAfter;return i&&n?i.isBefore(t)?i:n:null}_dispatchMouse(e,t,i){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:i,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:6===e.type&&null!==e.detail.injectedText})}}class Kf extends Ae.jG{constructor(e,t,i,n){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=n,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new jf(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class jf extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=n,this._position=s,this._mouseEvent=o,this._lastTime=Date.now(),this._animationFrameDisposable=nt(We(o.browserEvent),(()=>this._execute()))}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(146).height/e,i=this._position.outsideDistance/e;return i<=1.5?Math.max(30,t*(1+i)):i<=3?Math.max(60,t*(2+i)):Math.max(200,t*(7+i))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed()*(this._tick()/1e3)*e,i="above"===this._position.outsidePosition?-t:t;this._context.viewModel.viewLayout.deltaScrollNow(0,i),this._viewHelper.renderNow();const n=this._context.viewLayout.getLinesViewportData(),s="above"===this._position.outsidePosition?n.startLineNumber:n.endLineNumber;let o;{const e=Am(this._viewHelper.viewDomNode),t=this._context.configuration.options.get(146).horizontalScrollbarHeight,i=new Em(this._mouseEvent.pos.x,e.y+e.height-t-.1),n=Pm(this._viewHelper.viewDomNode,e,i);o=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),e,i,n,null)}o.position&&o.position.lineNumber===s||(o="above"===this._position.outsidePosition?Rf.createOutsideEditor(this._position.mouseColumn,new Gn.y(s,1),"above",this._position.outsideDistance):Rf.createOutsideEditor(this._position.mouseColumn,new Gn.y(s,this._context.viewModel.getLineMaxColumn(s)),"below",this._position.outsideDistance)),this._dispatchMouse(o,!0,2),this._animationFrameDisposable=nt(We(o.element),(()=>this._execute()))}}class $f{static{this.CLEAR_MOUSE_DOWN_COUNT_TIME=400}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const i=(new Date).getTime();i-this._lastSetMouseDownCountTime>$f.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=i,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}class qf extends zf{constructor(e,t,i){super(e,t,i),this._register(nd.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ye(this.viewHelper.linesContentDomNode,td.Tap,(e=>this.onTap(e)))),this._register(Ye(this.viewHelper.linesContentDomNode,td.Change,(e=>this.onChange(e)))),this._register(Ye(this.viewHelper.linesContentDomNode,td.Contextmenu,(e=>this._onContextMenu(new Om(e,!1,this.viewHelper.viewDomNode),!1)))),this._lastPointerType="mouse",this._register(Ye(this.viewHelper.linesContentDomNode,"pointerdown",(e=>{const t=e.pointerType;this._lastPointerType="mouse"!==t?"touch"===t?"touch":"pen":"mouse"})));const n=new Wm(this.viewHelper.viewDomNode);this._register(n.onPointerMove(this.viewHelper.viewDomNode,(e=>this._onMouseMove(e)))),this._register(n.onPointerUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(n.onPointerLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e)))),this._register(n.onPointerDown(this.viewHelper.viewDomNode,((e,t)=>this._onMouseDown(e,t))))}onTap(e){e.initialTarget&&this.viewHelper.linesContentDomNode.contains(e.initialTarget)&&(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){"touch"===this._lastPointerType&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),"pen"===this._lastPointerType&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const i=this._createMouseTarget(new Om(e,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:6===i.type&&null!==i.detail.injectedText})}_onMouseDown(e,t){"touch"!==e.browserEvent.pointerType&&super._onMouseDown(e,t)}}class Gf extends zf{constructor(e,t,i){super(e,t,i),this._register(nd.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ye(this.viewHelper.linesContentDomNode,td.Tap,(e=>this.onTap(e)))),this._register(Ye(this.viewHelper.linesContentDomNode,td.Change,(e=>this.onChange(e)))),this._register(Ye(this.viewHelper.linesContentDomNode,td.Contextmenu,(e=>this._onContextMenu(new Om(e,!1,this.viewHelper.viewDomNode),!1))))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new Om(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const e=document.createEvent("CustomEvent");e.initEvent(qr.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(e),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class Qf extends Ae.jG{constructor(e,t,i){super();(f.un||f.m0&&f.Fr)&&_?this.handler=this._register(new qf(e,t,i)):o.TouchEvent?this.handler=this._register(new Gf(e,t,i)):this.handler=this._register(new zf(e,t,i))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}class Yf extends Um{}var Zf=i(48295);class Xf extends Yf{static{this.CLASS_NAME="line-numbers"}constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new Gn.y(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(96);const i=e.get(146);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),2!==this._renderLineNumbers&&3!==this._renderLineNumbers||(i=!0),i}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Gn.y(e,1));if(1!==t.column)return"";const i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(2===this._renderLineNumbers){const e=Math.abs(this._lastCursorModelPosition.lineNumber-i);return 0===e?''+i+"":String(e)}if(3===this._renderLineNumbers){if(this._lastCursorModelPosition.lineNumber===i)return String(i);if(i%10==0)return String(i);return i===this._context.viewModel.getLineCount()?String(i):""}return String(i)}prepareRender(e){if(0===this._renderLineNumbers)return void(this._renderResult=null);const t=f.j9?this._lineHeight%2==0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,s=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter((e=>!!e.options.lineNumberClassName));s.sort(((e,t)=>Xs.Q.compareRangesUsingEnds(e.range,t.range)));let o=0;const r=this._context.viewModel.getLineCount(),a=[];for(let l=i;l<=n;l++){const e=l-i;let n=this._getLineRenderLineNumber(l),h="";for(;o${n}
    `):a[e]=""}this._renderResult=a}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}(0,io.zy)(((e,t)=>{const i=e.getColor(Zf.Qt),n=e.getColor(Zf.JB);n?t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${n}; }`):i&&t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${i.transparent(.4)}; }`)}));class Jf extends Km{static{this.CLASS_NAME="glyph-margin"}static{this.OUTER_CLASS_NAME="margin"}constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=kh(document.createElement("div")),this._domNode.setClassName(Jf.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=kh(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(Jf.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}const e_="monaco-mouse-cursor-text";const t_=new class{constructor(){this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}};var i_=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},n_=function(e,t){return function(i,n){t(i,n,e)}};class s_{constructor(e,t,i,n,s){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=n,this.distanceToModelLineEnd=s,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new Gn.y(this.modelLineNumber,this.distanceToModelLineStart+1),i=new Gn.y(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(this._previousPresentation=e||{foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const o_=h;let r_=class extends Km{constructor(e,t,i,n,s){super(e),this._keybindingService=n,this._instantiationService=s,this._primaryCursorPosition=new Gn.y(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=i,this._scrollLeft=0,this._scrollTop=0;const o=this._context.configuration.options,r=o.get(146);this._setAccessibilityOptions(o),this._contentLeft=r.contentLeft,this._contentWidth=r.contentWidth,this._contentHeight=r.height,this._fontInfo=o.get(50),this._lineHeight=o.get(67),this._emptySelectionClipboard=o.get(37),this._copyWithSyntaxHighlighting=o.get(25),this._visibleTextArea=null,this._selections=[new $s.L(1,1,1,1)],this._modelSelections=[new $s.L(1,1,1,1)],this._lastRenderPosition=null,this.textArea=kh(document.createElement("textarea")),jm.write(this.textArea,7),this.textArea.setClassName(`inputarea ${e_}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:a}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=a*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(o)),this.textArea.setAttribute("aria-required",o.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(o.get(125))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",jn.kg("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",o.get(92)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=kh(document.createElement("div")),this.textAreaCover.setPosition("absolute");const l={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:e=>this._context.viewModel.getLineMaxColumn(e),getValueInRange:(e,t)=>this._context.viewModel.getValueInRange(e,t),getValueLengthInRange:(e,t)=>this._context.viewModel.getValueLengthInRange(e,t),modifyPosition:(e,t)=>this._context.viewModel.modifyPosition(e,t)},d={getDataToCopy:()=>{const e=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,f.uF),t=this._context.viewModel.model.getEOL(),i=this._emptySelectionClipboard&&1===this._modelSelections.length&&this._modelSelections[0].isEmpty(),n=Array.isArray(e)?e:null,s=Array.isArray(e)?e.join(t):e;let o,r=null;if(Yr.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&s.length<65536){const e=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);e&&(o=e.html,r=e.mode)}return{isFromEmptySelection:i,multicursorText:n,text:s,html:o,mode:r}},getScreenReaderContent:()=>{if(1===this._accessibilitySupport){const e=this._selections[0];if(f.zx&&e.isEmpty()){const t=e.getStartPosition();let i=this._getWordBeforePosition(t);if(0===i.length&&(i=this._getCharacterBeforePosition(t)),i.length>0)return new Ur(i,i.length,i.length,Xs.Q.fromPositions(t),0)}const t=500;if(f.zx&&!e.isEmpty()&&l.getValueLengthInRange(e,0)0)return new Ur(i,n,n,Xs.Q.fromPositions(t),0)}return Ur.EMPTY}return Kr.fromEditorSelection(l,this._selections[0],this._accessibilityPageSize,0===this._accessibilitySupport)},deduceModelPosition:(e,t,i)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(e,t,i)},g=this._register(new ta(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(Jr,d,g,f.OS,{isAndroid:p,isChrome:c,isFirefox:h,isSafari:u})),this._register(this._textAreaInput.onKeyDown((e=>{this._viewController.emitKeyDown(e)}))),this._register(this._textAreaInput.onKeyUp((e=>{this._viewController.emitKeyUp(e)}))),this._register(this._textAreaInput.onPaste((e=>{let t=!1,i=null,n=null;e.metadata&&(t=this._emptySelectionClipboard&&!!e.metadata.isFromEmptySelection,i=void 0!==e.metadata.multicursorText?e.metadata.multicursorText:null,n=e.metadata.mode),this._viewController.paste(e.text,t,i,n)}))),this._register(this._textAreaInput.onCut((()=>{this._viewController.cut()}))),this._register(this._textAreaInput.onType((e=>{e.replacePrevCharCnt||e.replaceNextCharCnt||e.positionDelta?this._viewController.compositionType(e.text,e.replacePrevCharCnt,e.replaceNextCharCnt,e.positionDelta):this._viewController.type(e.text)}))),this._register(this._textAreaInput.onSelectionChangeRequest((e=>{this._viewController.setSelection(e)}))),this._register(this._textAreaInput.onCompositionStart((e=>{const t=this.textArea.domNode,i=this._modelSelections[0],{distanceToModelLineStart:n,widthOfHiddenTextBefore:s}=(()=>{const e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),n=e.lastIndexOf("\n"),s=e.substring(n+1),o=s.lastIndexOf("\t"),r=s.length-o-1,a=i.getStartPosition(),l=Math.min(a.column-1,r),h=a.column-1-l,d=s.substring(0,s.length-l),{tabSize:c}=this._context.viewModel.model.getOptions(),u=function(e,t,i,n){if(0===t.length)return 0;const s=e.createElement("div");s.style.position="absolute",s.style.top="-50000px",s.style.width="50000px";const o=e.createElement("span");Lh(o,i),o.style.whiteSpace="pre",o.style.tabSize=n*i.spaceWidth+"px",o.append(t),s.appendChild(o),e.body.appendChild(s);const r=o.offsetWidth;return s.remove(),r}(this.textArea.domNode.ownerDocument,d,this._fontInfo,c);return{distanceToModelLineStart:h,widthOfHiddenTextBefore:u}})(),{distanceToModelLineEnd:o}=(()=>{const e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),n=e.indexOf("\n"),s=-1===n?e:e.substring(0,n),o=s.indexOf("\t"),r=-1===o?s.length:s.length-o-1,a=i.getEndPosition(),l=Math.min(this._context.viewModel.model.getLineMaxColumn(a.lineNumber)-a.column,r);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(a.lineNumber)-a.column-l}})();this._context.viewModel.revealRange("keyboard",!0,Xs.Q.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new s_(this._context,i.startLineNumber,n,s,o),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${e_} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()}))),this._register(this._textAreaInput.onCompositionUpdate((e=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())}))),this._register(this._textAreaInput.onCompositionEnd((()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${e_}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}))),this._register(this._textAreaInput.onFocus((()=>{this._context.viewModel.setHasFocus(!0)}))),this._register(this._textAreaInput.onBlur((()=>{this._context.viewModel.setHasFocus(!1)}))),this._register(t_.onDidChange((()=>{this._ensureReadOnlyAttribute()})))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=(0,Mo.i)('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',[]);let n=!0,s=e.column,o=!0,r=e.column,a=0;for(;a<50&&(n||o);){if(n&&s<=1&&(n=!1),n){const e=t.charCodeAt(s-2);0!==i.get(e)?n=!1:s--}if(o&&r>t.length&&(o=!1),o){const e=t.charCodeAt(r-1);0!==i.get(e)?o=!1:r++}a++}return[t.substring(s-1,r-1),e.column-s]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=(0,Mo.i)(this._context.configuration.options.get(132),[]);let n=e.column,s=0;for(;n>1;){const o=t.charCodeAt(n-2);if(0!==i.get(o)||s>50)return t.substring(n-1,e.column-1);s++,n--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const t=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!Ti.pc(t.charCodeAt(0)))return t}return""}_getAriaLabel(e){if(1===e.get(2)){const e=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode")?.getAriaLabel(),t=this._keybindingService.lookupKeybinding("workbench.action.showCommands")?.getAriaLabel(),i=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings")?.getAriaLabel(),n=jn.kg("accessibilityModeOff","The editor is not accessible at this time.");return e?jn.kg("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",n,e):t?jn.kg("accessibilityOffAriaLabelNoKb","{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",n,t):i?jn.kg("accessibilityOffAriaLabelNoKbs","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",n,i):n}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);2===this._accessibilitySupport&&t===Tc.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const i=e.get(146).wrappingColumn;if(-1!==i&&1!==this._accessibilitySupport){const t=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(i*t.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=o_?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(50),this._lineHeight=t.get(67),this._emptySelectionClipboard=t.get(37),this._copyWithSyntaxHighlighting=t.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:n}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=n*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("aria-required",t.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(125))),(e.hasChanged(34)||e.hasChanged(92))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!t_.enabled||e.get(34)&&e.get(92)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){this._primaryCursorPosition=new Gn.y(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea?.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){if(this._visibleTextArea){const e=this._visibleTextArea.visibleTextareaStart,t=this._visibleTextArea.visibleTextareaEnd,i=this._visibleTextArea.startPosition,n=this._visibleTextArea.endPosition;if(i&&n&&e&&t&&t.left>=this._scrollLeft&&e.left<=this._scrollLeft+this._contentWidth){const s=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,o=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let r=this._visibleTextArea.widthOfHiddenLineTextBefore,a=this._contentLeft+e.left-this._scrollLeft,l=t.left-e.left+1;if(athis._contentWidth&&(l=this._contentWidth);const h=this._context.viewModel.getViewLineData(i.lineNumber),d=h.tokens.findTokenIndexAtOffset(i.column-1),c=d===h.tokens.findTokenIndexAtOffset(n.column-1),u=this._visibleTextArea.definePresentation(c?h.tokens.getPresentation(d):null);this.textArea.domNode.scrollTop=o*this._lineHeight,this.textArea.domNode.scrollLeft=r,this._doRender({lastRenderPosition:null,top:s,left:a,width:l,height:this._lineHeight,useCover:!1,color:(ka.dG.getColorMap()||[])[u.foreground],italic:u.italic,bold:u.bold,underline:u.underline,strikethrough:u.strikethrough})}return}if(!this._primaryCursorVisibleRange)return void this._renderAtTopLeft();const e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ethis._contentLeft+this._contentWidth)return void this._renderAtTopLeft();const t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(t<0||t>this._contentHeight)this._renderAtTopLeft();else if(f.zx||2===this._accessibilitySupport){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const i=this._textAreaInput.textAreaState.newlineCountBeforeSelection??this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=i*this._lineHeight}else this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:o_?0:1,useCover:!1})}_newlinecount(e){let t=0,i=-1;for(;;){if(i=e.indexOf("\n",i+1),-1===i)break;t++}return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:o_?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,i=this.textAreaCover;Lh(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?hd.Q1.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration(`${e.underline?" underline":""}${e.strikethrough?" line-through":""}`),i.setTop(e.useCover?e.top:0),i.setLeft(e.useCover?e.left:0),i.setWidth(e.useCover?e.width:0),i.setHeight(e.useCover?e.height:0);const n=this._context.configuration.options;n.get(57)?i.setClassName("monaco-editor-background textAreaCover "+Jf.OUTER_CLASS_NAME):0!==n.get(68).renderType?i.setClassName("monaco-editor-background textAreaCover "+Xf.CLASS_NAME):i.setClassName("monaco-editor-background textAreaCover")}};r_=i_([n_(3,bd),n_(4,$n._Y)],r_);class a_{constructor(e,t,i,n){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=n}paste(e,t,i,n){this.commandDelegate.paste(e,t,i,n)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,n){this.commandDelegate.compositionType(e,t,i,n)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){Er.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):2===e.mouseDownCount?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey||n?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){Er.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){Er.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,i){e=this._validateViewColumn(e),Er.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),Er.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){Er.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){Er.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){Er.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){Er.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){Er.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){Er.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){Er.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){Er.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){Er.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class l_{constructor(e){this._lineFactory=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new b.D7("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(0===this.getCount())return null;const i=this.getStartLineNumber(),n=this.getEndLineNumber();if(tn)return null;let s=0,o=0;for(let r=i;r<=n;r++){const i=r-this._rendLineNumberStart;e<=r&&r<=t&&(0===o?(s=i,o=1):o++)}if(e=n&&r<=s&&(this._lines[r-this._rendLineNumberStart].onContentChanged(),o=!0);return o}onLinesInserted(e,t){if(0===this.getCount())return null;const i=t-e+1,n=this.getStartLineNumber(),s=this.getEndLineNumber();if(e<=n)return this._rendLineNumberStart+=i,null;if(e>s)return null;if(i+e>s){return this._lines.splice(e-this._rendLineNumberStart,s-e+1)}const o=[];for(let d=0;di)continue;const r=Math.max(t,o.fromLineNumber),a=Math.min(i,o.toLineNumber);for(let e=r;e<=a;e++){const t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),n=!0}}return n}}class h_{constructor(e){this._lineFactory=e,this.domNode=this._createDomNode(),this._linesCollection=new l_(this._lineFactory)}_createDomNode(){const e=kh(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(146)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let i=0,n=t.length;ie})}constructor(e,t,i){this._domNode=e,this._lineFactory=t,this._viewportData=i}render(e,t,i,n){const s={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(s.rendLineNumberStart+s.linesLength-1t){const e=t,o=Math.min(i,s.rendLineNumberStart-1);e<=o&&(this._insertLinesBefore(s,e,o,n,t),s.linesLength+=o-e+1)}else if(s.rendLineNumberStart0&&(this._removeLinesBefore(s,e),s.linesLength-=e)}if(s.rendLineNumberStart=t,s.rendLineNumberStart+s.linesLength-1i){const e=Math.max(0,i-s.rendLineNumberStart+1),t=s.linesLength-1-e+1;t>0&&(this._removeLinesAfter(s,t),s.linesLength-=t)}return this._finishRendering(s,!1,n),s}_renderUntouchedLines(e,t,i,n,s){const o=e.rendLineNumberStart,r=e.lines;for(let a=t;a<=i;a++){const e=o+a;r[a].layoutLine(e,n[e-s],this._viewportData.lineHeight)}}_insertLinesBefore(e,t,i,n,s){const o=[];let r=0;for(let a=t;a<=i;a++)o[r++]=this._lineFactory.createLine();e.lines=o.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i=0;r--){const t=e.lines[r];n[r]&&(t.setDomNode(o),o=o.previousSibling)}}_finishRenderingInvalidLines(e,t,i){const n=document.createElement("div");d_._ttPolicy&&(t=d_._ttPolicy.createHTML(t)),n.innerHTML=t;for(let s=0;snew u_(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const t=this._context.configuration.options.get(50);Lh(this.domNode,t),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ee.shouldRender()));for(let i=0,n=t.length;i'),s.appendString(o),s.appendString("
    "),!0)}layoutLine(e,t,i){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(i))}}class g_ extends c_{constructor(e){super(e);const t=this._context.configuration.options.get(146);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const t=this._context.configuration.options.get(146);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class p_ extends c_{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),Lh(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;Lh(this.domNode,t.get(50));const i=t.get(146);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class m_{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){this.onKeyDown?.(e)}emitKeyUp(e){this.onKeyUp?.(e)}emitContextMenu(e){this.onContextMenu?.(this._convertViewToModelMouseEvent(e))}emitMouseMove(e){this.onMouseMove?.(this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){this.onMouseLeave?.(this._convertViewToModelMouseEvent(e))}emitMouseDown(e){this.onMouseDown?.(this._convertViewToModelMouseEvent(e))}emitMouseUp(e){this.onMouseUp?.(this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){this.onMouseDrag?.(this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){this.onMouseDrop?.(this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){this.onMouseDropCanceled?.()}emitMouseWheel(e){this.onMouseWheel?.(e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return m_.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const i={...e};return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),5!==i.type&&8!==i.type||(i.detail=this.convertViewToModelViewZoneData(i.detail,t)),i}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new Gn.y(e.afterLineNumber,1)).lineNumber}}}class f_ extends Km{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=kh(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const t=this._context.configuration.options.get(146),i=t.contentWidth-t.verticalScrollbarWidth;this.contentWidth!==i&&(this.contentWidth=i,e=!0);const n=t.contentLeft;return this.contentLeft!==n&&(this.contentLeft=n,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){let t=0;const i=e.getDecorationsInViewport();for(const n of i){if(!n.options.blockClassName)continue;let i,s,o=this.blocks[t];o||(o=this.blocks[t]=kh(document.createElement("div")),this.domNode.appendChild(o)),n.options.blockIsAfterEnd?(i=e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!1),s=e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!0)):(i=e.getVerticalOffsetForLineNumber(n.range.startLineNumber,!0),s=n.range.isEmpty()&&!n.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(n.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!0));const[r,a,l,h]=n.options.blockPadding??[0,0,0,0];o.setClassName("blockDecorations-block "+n.options.blockClassName),o.setLeft(this.contentLeft-h),o.setWidth(this.contentWidth+h+a),o.setTop(i-e.scrollTop-r),o.setHeight(s-i+r+l),t++}for(let n=t;n0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,n){const s=e.top,o=s,r=e.top+e.height,a=s-i,l=o>=i,h=r,d=n.viewportHeight-r>=i;let c=e.left;return c+t>n.scrollLeft+n.viewportWidth&&(c=n.scrollLeft+n.viewportWidth-t),co){const e=a-(o-n);a-=e,i-=e}if(a=22,m=d+i<=c.height-22;return this._fixedOverflowWidgets?{fitsAbove:p,aboveTop:Math.max(h,22),fitsBelow:m,belowTop:d,left:g}:{fitsAbove:p,aboveTop:s,fitsBelow:m,belowTop:o,left:u}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new C_(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){return{primary:t(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:t(this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function t(t,i,n){if(!t)return null;const s=e.visibleRangeForPosition(t);if(!s)return null;const o=1===t.column&&3===i?0:s.left,r=e.getVerticalOffsetForLineNumber(t.lineNumber)-e.scrollTop;return new w_(r,o,n)}}_reduceAnchorCoordinates(e,t,i){if(!t)return e;const n=this._context.configuration.options.get(50);let s=t.left;return s=se.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData||"offViewport"===this._renderData.kind)return this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,"offViewport"===this._renderData?.kind&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),void("function"==typeof this._actual.afterRender&&y_(this._actual.afterRender,this._actual,null));this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),"function"==typeof this._actual.afterRender&&y_(this._actual.afterRender,this._actual,this._renderData.position)}}class b_{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class C_{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class w_{constructor(e,t,i){this.top=e,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function y_(e,t,...i){try{return e.call(t,...i)}catch{return null}}class S_ extends Yf{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(146);this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new $s.L(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const s of this._selections)t.add(s.positionLineNumber);const i=Array.from(t);i.sort(((e,t)=>e-t)),ia.aI(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,e=!0);const n=this._selections.every((e=>e.isEmpty()));return this._selectionIsEmpty!==n&&(this._selectionIsEmpty=n,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=e.isFocused,!0)}prepareRender(e){if(!this._shouldRenderThis())return void(this._renderData=null);const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=[];for(let o=t;o<=i;o++){n[o-t]=""}if(this._wordWrap){const s=this._renderOne(e,!1);for(const e of this._cursorLineNumbers){const o=this._context.viewModel.coordinatesConverter,r=o.convertViewPositionToModelPosition(new Gn.y(e,1)).lineNumber,a=o.convertModelPositionToViewPosition(new Gn.y(r,1)).lineNumber,l=o.convertModelPositionToViewPosition(new Gn.y(r,this._context.viewModel.model.getLineMaxColumn(r))).lineNumber,h=Math.max(a,t),d=Math.min(l,i);for(let e=h;e<=d;e++){n[e-t]=s}}}const s=this._renderOne(e,!0);for(const o of this._cursorLineNumbers){if(oi)continue;n[o-t]=s}this._renderData=n}render(e,t){if(!this._renderData)return"";const i=t-e;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class k_ extends S_{_renderOne(e,t){return`
    `}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class L_ extends S_{_renderOne(e,t){return`
    `}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}(0,io.zy)(((e,t)=>{const i=e.getColor(Zf.kG);if(i&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${i}; border: none; }`)),!i||i.isTransparent()||e.defines(Zf.Mf)){const i=e.getColor(Zf.Mf);i&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${i}; }`),(0,Bp.Bb)(e.type)&&(t.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}}));class x_ extends Yf{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let i=[],n=0;for(let a=0,l=t.length;a{if(e.options.zIndext.options.zIndex)return 1;const i=e.options.className,n=t.options.className;return in?1:Xs.Q.compareRangesUsingStarts(e.range,t.range)}));const s=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,r=[];for(let a=s;a<=o;a++){r[a-s]=""}this._renderWholeLineDecorations(e,i,r),this._renderNormalDecorations(e,i,r),this._renderResult=r}_renderWholeLineDecorations(e,t,i){const n=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber;for(let o=0,r=t.length;o
    ',a=Math.max(e.range.startLineNumber,n),l=Math.min(e.range.endLineNumber,s);for(let t=a;t<=l;t++){i[t-n]+=r}}}_renderNormalDecorations(e,t,i){const n=e.visibleRange.startLineNumber;let s=null,o=!1,r=null,a=!1;for(let l=0,h=t.length;l
    ';r[t]+=h}}}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class D_ extends Km{constructor(e,t,i,n){super(e);const s=this._context.configuration.options,o=s.get(104),r=s.get(75),a=s.get(40),l=s.get(107),h={listenOnDomNode:i.domNode,className:"editor-scrollable "+(0,io.Pz)(e.theme.type),useShadows:!1,lazyRender:!0,vertical:o.vertical,horizontal:o.horizontal,verticalHasArrows:o.verticalHasArrows,horizontalHasArrows:o.horizontalHasArrows,verticalScrollbarSize:o.verticalScrollbarSize,verticalSliderSize:o.verticalSliderSize,horizontalScrollbarSize:o.horizontalScrollbarSize,horizontalSliderSize:o.horizontalSliderSize,handleMouseWheel:o.handleMouseWheel,alwaysConsumeMouseWheel:o.alwaysConsumeMouseWheel,arrowSize:o.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:a,scrollPredominantAxis:l,scrollByPage:o.scrollByPage};this.scrollbar=this._register(new Xu(t.domNode,h,this._context.viewLayout.getScrollable())),jm.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=kh(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const d=(e,t,i)=>{const n={};if(t){const t=e.scrollTop;t&&(n.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(i){const t=e.scrollLeft;t&&(n.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(n,1)};this._register(Ye(i.domNode,"scroll",(e=>d(i.domNode,!0,!0)))),this._register(Ye(t.domNode,"scroll",(e=>d(t.domNode,!0,!1)))),this._register(Ye(n.domNode,"scroll",(e=>d(n.domNode,!0,!1)))),this._register(Ye(this.scrollbarDomNode.domNode,"scroll",(e=>d(this.scrollbarDomNode.domNode,!0,!1))))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(146);this.scrollbarDomNode.setLeft(t.contentLeft);"right"===e.get(73).side?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(104)||e.hasChanged(75)||e.hasChanged(40)){const e=this._context.configuration.options,t=e.get(104),i=e.get(75),n=e.get(40),s=e.get(107),o={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:i,fastScrollSensitivity:n,scrollPredominantAxis:s};this.scrollbar.updateOptions(o)}return e.hasChanged(146)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+(0,io.Pz)(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}class N_{constructor(e,t,i,n,s){this.startLineNumber=e,this.endLineNumber=t,this.className=i,this.tooltip=n,this._decorationToRenderBrand=void 0,this.zIndex=s??0}}class I_{constructor(e,t,i){this.className=e,this.zIndex=t,this.tooltip=i}}class E_{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class M_ extends Yf{_render(e,t,i){const n=[];for(let r=e;r<=t;r++){n[r-e]=new E_}if(0===i.length)return n;i.sort(((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.classNamen)continue;const a=Math.max(o,i),l=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Gn.y(a,0)),h=this._context.viewModel.glyphLanes.getLanesAtLine(l.lineNumber).indexOf(s.preference.lane);t.push(new A_(a,h,s.preference.zIndex,s))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.laneIndex===t.laneIndex?e.zIndex===t.zIndex?t.type===e.type?0===e.type&&0===t.type?e.className0;){const e=t.peek();if(!e)break;const n=t.takeWhile((t=>t.lineNumber===e.lineNumber&&t.laneIndex===e.laneIndex));if(!n||0===n.length)break;const s=n[0];if(0===s.type){const e=[];for(const t of n){if(t.zIndex!==s.zIndex||t.type!==s.type)break;0!==e.length&&e[e.length-1]===t.className||e.push(t.className)}i.push(s.accept(e.join(" ")))}else s.widget.renderInfo={lineNumber:s.lineNumber,laneIndex:s.laneIndex}}this._decorationGlyphsToRender=i}render(e){if(!this._glyphMargin){for(const e of Object.values(this._widgets))e.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const e=this._managedDomNodes.pop();e?.domNode.remove()}return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const i of Object.values(this._widgets))if(i.renderInfo){const n=e.viewportData.relativeVerticalOffset[i.renderInfo.lineNumber-e.viewportData.startLineNumber],s=this._glyphMarginLeft+i.renderInfo.laneIndex*this._lineHeight;i.domNode.setDisplay("block"),i.domNode.setTop(n),i.domNode.setLeft(s),i.domNode.setWidth(t),i.domNode.setHeight(this._lineHeight)}else i.domNode.setDisplay("none");for(let i=0;ithis._decorationGlyphsToRender.length;){const e=this._managedDomNodes.pop();e?.domNode.remove()}}}class R_{constructor(e,t,i,n){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.className=n,this.type=0}accept(e){return new P_(this.lineNumber,this.laneIndex,e)}}class A_{constructor(e,t,i,n){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.widget=n,this.type=1}}class P_{constructor(e,t,i){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=i}}var O_=i(52818),F_=i(60779);class W_ extends Yf{constructor(e){super(),this._context=e,this._primaryPosition=null;const t=this._context.configuration.options,i=t.get(147),n=t.get(50);this._spaceWidth=n.spaceWidth,this._maxIndentLeft=-1===i.wrappingColumn?-1:i.wrappingColumn*n.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(147),n=t.get(50);return this._spaceWidth=n.spaceWidth,this._maxIndentLeft=-1===i.wrappingColumn?-1:i.wrappingColumn*n.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();return!this._primaryPosition?.equals(t)&&(this._primaryPosition=t,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){if(!this._bracketPairGuideOptions.indentation&&!1===this._bracketPairGuideOptions.bracketPairs)return void(this._renderResult=null);const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=e.scrollWidth,s=this._primaryPosition,o=this.getGuidesByLine(t,Math.min(i+1,this._context.viewModel.getLineCount()),s),r=[];for(let a=t;a<=i;a++){const i=a-t,s=o[i];let l="";const h=e.visibleRangeForPosition(new Gn.y(a,1))?.left??0;for(const t of s){const i=-1===t.column?h+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new Gn.y(a,t.column)).left;if(i>n||this._maxIndentLeft>0&&i>this._maxIndentLeft)break;const s=t.horizontalLine?t.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",o=t.horizontalLine?(e.visibleRangeForPosition(new Gn.y(a,t.horizontalLine.endColumn))?.left??i+this._spaceWidth)-i:this._spaceWidth;l+=`
    `}r[i]=l}this._renderResult=r}getGuidesByLine(e,t,i){const n=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?F_.N6.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?F_.N6.EnabledForActive:F_.N6.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,s=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let o=0,r=0,a=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&i){const n=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);o=n.startLineNumber,r=n.endLineNumber,a=n.indent}const{indentSize:l}=this._context.viewModel.model.getOptions(),h=[];for(let d=e;d<=t;d++){const t=new Array;h.push(t);const i=n?n[d-e]:[],c=new ia.j3(i),u=s?s[d-e]:0;for(let e=1;e<=u;e++){const n=(e-1)*l+1,s=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===i.length)&&o<=d&&d<=r&&e===a;t.push(...c.takeWhile((e=>e.visibleColumn!0))||[])}return h}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function B_(e){if(!e||!e.isTransparent())return e}(0,io.zy)(((e,t)=>{const i=[{bracketColor:Zf.sN,guideColor:Zf.n4,guideColorActive:Zf.bB},{bracketColor:Zf.lQ,guideColor:Zf.I2,guideColorActive:Zf.WS},{bracketColor:Zf.ss,guideColor:Zf.Bo,guideColorActive:Zf.Pe},{bracketColor:Zf.l5,guideColor:Zf.If,guideColorActive:Zf.WD},{bracketColor:Zf.sH,guideColor:Zf.BD,guideColorActive:Zf.P1},{bracketColor:Zf.zp,guideColor:Zf.IW,guideColorActive:Zf.WY}],n=new O_.k,s=[{indentColor:Zf.vV,indentColorActive:Zf.H0},{indentColor:Zf.ob,indentColorActive:Zf.Am},{indentColor:Zf.hz,indentColorActive:Zf.tK},{indentColor:Zf.ow,indentColorActive:Zf.A3},{indentColor:Zf.vP,indentColorActive:Zf.tp},{indentColor:Zf.CM,indentColorActive:Zf.As}],o=i.map((t=>{const i=e.getColor(t.bracketColor),n=e.getColor(t.guideColor),s=e.getColor(t.guideColorActive),o=B_(B_(n)??i?.transparent(.3)),r=B_(B_(s)??i);if(o&&r)return{guideColor:o,guideColorActive:r}})).filter(os.O9),r=s.map((t=>{const i=e.getColor(t.indentColor),n=e.getColor(t.indentColorActive),s=B_(i),o=B_(n);if(s&&o)return{indentColor:s,indentColorActive:o}})).filter(os.O9);if(o.length>0){for(let e=0;e<30;e++){const i=o[e%o.length];t.addRule(`.monaco-editor .${n.getInlineClassNameOfLevel(e).replace(/ /g,".")} { --guide-color: ${i.guideColor}; --guide-color-active: ${i.guideColorActive}; }`)}t.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),t.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),t.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),t.addRule(`.monaco-editor .vertical.${n.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${n.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${n.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let e=0;e<30;e++){const i=r[e%r.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${e} { --indent-color: ${i.indentColor}; --indent-color-active: ${i.indentColorActive}; }`)}t.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),t.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}}));class H_{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class V_{constructor(){this._currentVisibleRange=new Xs.Q(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class z_{constructor(e,t,i,n,s,o,r){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=n,this.startScrollTop=s,this.stopScrollTop=o,this.scrollType=r,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class U_{constructor(e,t,i,n,s){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=n,this.scrollType=s,this.type="selections";let o=t[0].startLineNumber,r=t[0].endLineNumber;for(let a=1,l=t.length;anew wf(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,jm.write(this.domNode,8),this.domNode.setClassName(`view-lines ${e_}`),Lh(this.domNode,s),this._maxLineWidth=0,this._asyncUpdateLineWidths=new A.uC((()=>{this._updateLineWidthsSlow()}),200),this._asyncCheckMonospaceFontAssumptions=new A.uC((()=>{this._checkMonospaceFontAssumptions()}),2e3),this._lastRenderedData=new V_,this._horizontalRevealRequest=null,this._stickyScrollEnabled=n.get(116).enabled,this._maxNumberStickyLines=n.get(116).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(147)&&(this._maxLineWidth=0);const t=this._context.configuration.options,i=t.get(50),n=t.get(147);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=n.isViewportWrapping,this._revealHorizontalRightPadding=t.get(101),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(116).enabled,this._maxNumberStickyLines=t.get(116).maxLineCount,Lh(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(146)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new Cf(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const e=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let t=e;t<=i;t++){this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions)}return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let n=!1;for(let s=t;s<=i;s++)n=this._visibleLines.getVisibleLine(s).onSelectionChanged()||n;return n}onDecorationsChanged(e){{const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++)this._visibleLines.getVisibleLine(i).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(-1===t)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new z_(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new U_(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const n=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,n),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopi)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const i=this._getViewLineDomNode(e);if(null===i)return null;const n=this._getLineNumberFor(i);if(-1===n)return null;if(n<1||n>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(n))return new Gn.y(n,1);const s=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(no)return null;let r=this._visibleLines.getVisibleLine(n).getColumnOfNodeOffset(e,t);const a=this._context.viewModel.getLineMinColumn(n);return ri)return-1;const n=new H_(this.domNode.domNode,this._textRangeRestingSpot),s=this._visibleLines.getVisibleLine(e).getWidth(n);return this._updateLineWidthsSlowIfDomDidLayout(n),s}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const i=e.endLineNumber,n=Xs.Q.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!n)return null;const s=[];let o=0;const r=new H_(this.domNode.domNode,this._textRangeRestingSpot);let a=0;t&&(a=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Gn.y(n.startLineNumber,1)).lineNumber);const l=this._visibleLines.getStartLineNumber(),h=this._visibleLines.getEndLineNumber();for(let d=n.startLineNumber;d<=n.endLineNumber;d++){if(dh)continue;const e=d===n.startLineNumber?n.startColumn:1,c=d!==n.endLineNumber,u=c?this._context.viewModel.getLineMaxColumn(d):n.endColumn,g=this._visibleLines.getVisibleLine(d).getVisibleRangesForRange(d,e,u,r);if(g){if(t&&dthis._visibleLines.getEndLineNumber())return null;const n=new H_(this.domNode.domNode,this._textRangeRestingSpot),s=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,n);return this._updateLineWidthsSlowIfDomDidLayout(n),s}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new Zm(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let n=1,s=!0;for(let o=t;o<=i;o++){const t=this._visibleLines.getVisibleLine(o);!e||t.getWidthIsFast()?n=Math.max(n,t.getWidth(null)):s=!1}return s&&1===t&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(n),s}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const i=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let s=i;s<=n;s++){const i=this._visibleLines.getVisibleLine(s);if(i.needsMonospaceFontCheck()){const n=i.getWidth(null);n>t&&(t=n,e=s)}}if(-1!==e&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let s=i;s<=n;s++){this._visibleLines.getVisibleLine(s).onMonospaceAssumptionsInvalidated()}}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),f.j9&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++){if(this._visibleLines.getVisibleLine(i).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let e=s[0].startLineNumber,t=s[0].endLineNumber;for(let i=1,n=s.length;ia){if(!h)return-1;u=d}else if(5===o||6===o)if(6===o&&r<=d&&c<=l)u=r;else{const e=d-Math.max(5*this._lineHeight,.2*a),t=c-a;u=Math.max(t,e)}else if(1===o||2===o)if(2===o&&r<=d&&c<=l)u=r;else{const e=(d+c)/2;u=Math.max(0,e-a/2)}else u=this._computeMinimumScrolling(r,l,d,c,3===o,4===o);return u}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),i=this._context.configuration.options.get(146),n=t.left,s=n+t.width-i.verticalScrollbarWidth;let o=1073741824,r=0;if("range"===e.type){const t=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!t)return null;for(const e of t.ranges)o=Math.min(o,Math.round(e.left)),r=Math.max(r,Math.round(e.left+e.width))}else for(const a of e.selections){if(a.startLineNumber!==a.endLineNumber)return null;const e=this._visibleRangesForLineRange(a.startLineNumber,a.startColumn,a.endColumn);if(!e)return null;for(const t of e.ranges)o=Math.min(o,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}if(e.minimalReveal||(o=Math.max(0,o-K_.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===e.type&&r-o>t.width)return null;return{scrollLeft:this._computeMinimumScrolling(n,s,o,r),maxHorizontalOffset:r}}_computeMinimumScrolling(e,t,i,n,s,o){s=!!s,o=!!o;const r=(t|=0)-(e|=0);return(n|=0)-(i|=0)t?Math.max(0,n-r):e:i}}class j_ extends M_{constructor(e){super(),this._context=e;const t=this._context.configuration.options.get(146);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options.get(146);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){const t=e.getDecorationsInViewport(),i=[];let n=0;for(let s=0,o=t.length;s
    ',o=[];for(let r=t;r<=i;r++){const e=r-t,i=n[e].getDecorations();let a="";for(const t of i){let e='
    ';s[e]=r}this._renderResult=s}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}class q_{static{this.Empty=new q_(0,0,0,0)}constructor(e,t,i,n){this._rgba8Brand=void 0,this.r=q_._clamp(e),this.g=q_._clamp(t),this.b=q_._clamp(i),this.a=q_._clamp(n)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:0|e}}class G_ extends Ae.jG{static{this._INSTANCE=null}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,Ae.lC)(new G_)),this._INSTANCE}constructor(){super(),this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(ka.dG.onDidChange((e=>{e.changedColorMap&&this._updateColorMap()})))}_updateColorMap(){const e=ka.dG.getColorMap();if(!e)return this._colors=[q_.Empty],void(this._backgroundIsLight=!0);this._colors=[q_.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}class Q_{constructor(e,t,i,n){this._viewportBrand=void 0,this.top=0|e,this.left=0|t,this.width=0|i,this.height=0|n}}class Y_{constructor(e,t){this.tabSize=e,this.data=t}}class Z_{constructor(e,t,i,n,s,o,r){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=n,this.startVisibleColumn=s,this.tokens=o,this.inlineDecorations=r}}class X_{constructor(e,t,i,n,s,o,r,a,l,h){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=n,this.isBasicASCII=X_.isBasicASCII(i,o),this.containsRTL=X_.containsRTL(i,this.isBasicASCII,s),this.tokens=r,this.inlineDecorations=a,this.tabSize=l,this.startVisibleColumn=h}static isBasicASCII(e,t){return!t||Ti.aC(e)}static containsRTL(e,t,i){return!(t||!i)&&Ti.E_(e)}}class J_{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class ev{constructor(e,t,i,n){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=n}toInlineDecoration(e){return new J_(new Xs.Q(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class tv{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class iv{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&ia.aI(e.data,t.data)}static equalsArr(e,t){return ia.aI(e,t,iv.equals)}}const nv=(()=>{const e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})();var sv=i(37512);class ov{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=ov.soften(e,.8),this.charDataLight=ov.soften(e,50/60)}static soften(e,t){const i=new Uint8ClampedArray(e.length);for(let n=0,s=e.length;ne.width||i+g>e.height)return void console.warn("bad render request outside image data");const p=h?this.charDataLight:this.charDataNormal,m=((e,t)=>(e-=32)<0||e>96?t<=2?(e+96)%96:95:e)(n,l),f=4*e.width,_=r.r,v=r.g,b=r.b,C=s.r-_,w=s.g-v,y=s.b-b,S=Math.max(o,a),k=e.data;let L=m*c*u,x=i*f+4*t;for(let D=0;De.width||i+d>e.height)return void console.warn("bad render request outside image data");const c=4*e.width,u=s/255*.5,g=o.r,p=o.g,m=o.b,f=g+(n.r-g)*u,_=p+(n.g-p)*u,v=m+(n.b-m)*u,b=Math.max(s,r),C=e.data;let w=i*c+4*t;for(let y=0;y{const t=new Uint8ClampedArray(e.length/2);for(let i=0;i>1]=av[e[i]]<<4|15&av[e[i+1]];return t},hv={1:(0,rv.P)((()=>lv("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792"))),2:(0,rv.P)((()=>lv("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126")))};class dv{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let i;return i=hv[e]?new ov(hv[e](),e):dv.createFromSampleData(dv.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i}static createSampleData(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",i.fillStyle="#ffffff",i.font=`bold 16px ${e}`,i.textBaseline="middle";let n=0;for(const s of nv)i.fillText(String.fromCharCode(s),n,8),n+=10;return i.getImageData(0,0,960,16)}static createFromSampleData(e,t){if(61440!==e.length)throw new Error("Unexpected source in MinimapCharRenderer");const i=dv._downsample(e,t);return new ov(i,t)}static _downsampleChar(e,t,i,n,s){const o=1*s,r=2*s;let a=n,l=0;for(let h=0;h0){const e=255/a;for(let t=0;tdv.create(this.fontScale,a.fontFamily))),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=uv._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=uv._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const i=e.getColor(to.ILr);return i?new q_(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(to.K1Z);return t?q_._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const i=e.getColor(to.By2);return i?new q_(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===e.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class gv{constructor(e,t,i,n,s,o,r,a,l){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=n,this.sliderTop=s,this.sliderHeight=o,this.topPaddingLineCount=r,this.startLineNumber=a,this.endLineNumber=l}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),i=Math.min(this.endLineNumber,e.endLineNumber);return t>i?null:[t,i]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,i,n,s,o,r,a,l,h,d){const c=e.pixelRatio,u=e.minimapLineHeight,g=Math.floor(e.canvasInnerHeight/u),p=e.lineHeight;if(e.minimapHeightIsEditorHeight){let t=a*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(t+=Math.max(0,s-e.lineHeight-e.paddingBottom));const i=Math.max(1,Math.floor(s*s/t)),n=Math.max(0,e.minimapHeight-i),o=n/(h-s),d=l*o,c=n>0,u=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),g=Math.floor(e.paddingTop/e.lineHeight);return new gv(l,h,c,o,d,i,g,1,Math.min(r,u))}let m;if(o&&i!==r){const e=i-t+1;m=Math.floor(e*u/c)}else{const e=s/p;m=Math.floor(e*u/c)}const f=Math.floor(e.paddingTop/p);let _,v=Math.floor(e.paddingBottom/p);if(e.scrollBeyondLastLine){const e=s/p;v=Math.max(v,e-1)}if(v>0){_=(f+r+v-s/p-1)*u/c}else _=Math.max(0,(f+r)*u/c-m);_=Math.min(e.minimapHeight-m,_);const b=_/(h-s),C=l*b;if(g>=f+r+v){return new gv(l,h,_>0,b,C,m,f,1,r)}{let i,s;i=t>1?t+f:Math.max(1,l/p);let o=Math.max(1,Math.floor(i-C*c/u));ol&&(o=Math.min(o,d.startLineNumber),s=Math.max(s,d.topPaddingLineCount)),d.scrollTop=e.paddingTop?(t-o+s+_)*u/c:l/e.paddingTop*(s+_)*u/c,new gv(l,h,!0,b,v,m,s,o,a)}}}class pv{static{this.INVALID=new pv(-1)}constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}class mv{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLines=new l_({createLine:()=>pv.INVALID}),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;const t=this._renderedLines._get().lines;for(let i=0,n=t.length;i1){for(let t=0,i=n-1;t0&&this.minimapLines[i-1]>=e;)i--;let n=this.modelLineToMinimapLine(t)-1;for(;n+1t)return null}return[i+1,n+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),n=this.modelLineToMinimapLine(t);return e!==t&&n===i&&(n===this.minimapLines.length?i>1&&i--:n++),[i,n]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let i=this.minimapLines.length,n=0;for(let s=this.minimapLines.length-1;s>=0&&!(this.minimapLines[s]=0&&!(this.minimapLines[i]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(n)}_recreateLineSampling(){this._minimapSelections=null;const e=Boolean(this._samplingState),[t,i]=_v.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const n of i)switch(n.type){case"deleted":this._actual.onLinesDeleted(n.deleteFromLineNumber,n.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(n.insertFromLineNumber,n.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){const n=[];for(let s=0,o=t-e+1;s!e.options.minimap?.sectionHeaderStyle));if(this._samplingState){const e=[];for(const t of i){if(!t.options.minimap)continue;const i=t.range,n=this._samplingState.modelLineToMinimapLine(i.startLineNumber),s=this._samplingState.modelLineToMinimapLine(i.endLineNumber);e.push(new tv(new Xs.Q(n,i.startColumn,s,i.endColumn),t.options))}return e}return i}getSectionHeaderDecorationsInViewport(e,t){const i=this.options.minimapLineHeight,n=this.options.sectionHeaderFontSize/i;return e=Math.floor(Math.max(1,e-n)),this._getMinimapDecorationsInViewport(e,t).filter((e=>!!e.options.minimap?.sectionHeaderStyle))}_getMinimapDecorationsInViewport(e,t){let i;if(this._samplingState){const n=this._samplingState.minimapLines[e-1],s=this._samplingState.minimapLines[t-1];i=new Xs.Q(n,1,s,this._context.viewModel.getLineMaxColumn(s))}else i=new Xs.Q(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(i)}getSectionHeaderText(e,t){const i=e.options.minimap?.sectionHeaderText;if(!i)return null;const n=this._sectionHeaderCache.get(i);if(n)return n;const s=t(i);return this._sectionHeaderCache.set(i,s),s}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new Xs.Q(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class bv extends Ae.jG{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(to.yr0),this._domNode=kh(document.createElement("div")),jm.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=kh(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=kh(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=kh(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=kh(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=kh(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=Xe(this._domNode.domNode,Ut.POINTER_DOWN,(e=>{e.preventDefault();if(0===this._model.options.renderMinimap)return;if(!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===e.button&&this._lastRenderData){const t=ct(this._slider.domNode),i=t.top+t.height/2;this._startSliderDragging(e,i,this._lastRenderData.renderedLayout)}return}const t=this._model.options.minimapLineHeight,i=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY;let n=Math.floor(i/t)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;n=Math.min(n,this._model.getLineCount()),this._model.revealLineNumber(n)})),this._sliderPointerMoveMonitor=new Au,this._sliderPointerDownListener=Xe(this._slider.domNode,Ut.POINTER_DOWN,(e=>{e.preventDefault(),e.stopPropagation(),0===e.button&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)})),this._gestureDisposable=nd.addTarget(this._domNode.domNode),this._sliderTouchStartListener=Ye(this._domNode.domNode,td.Start,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))}),{passive:!1}),this._sliderTouchMoveListener=Ye(this._domNode.domNode,td.Change,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)}),{passive:!1}),this._sliderTouchEndListener=Xe(this._domNode.domNode,td.End,(e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)}))}_startSliderDragging(e,t,i){if(!(e.target&&e.target instanceof Element))return;const n=e.pageX;this._slider.toggleClassName("active",!0);const s=(e,s)=>{const o=ct(this._domNode.domNode),r=Math.min(Math.abs(s-n),Math.abs(s-o.left),Math.abs(s-o.left-o.width));if(f.uF&&r>140)return void this._model.setScrollTop(i.scrollTop);const a=e-t;this._model.setScrollTop(i.getDesiredScrollTopFromDelta(a))};e.pageY!==t&&s(e.pageY,n),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>s(e.pageY,e.pageX)),(()=>{this._slider.toggleClassName("active",!1)}))}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const e=["minimap"];return"always"===this._model.options.showSlider?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new fv(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e,t)}onLinesDeleted(e,t){return this._lastRenderData?.onLinesDeleted(e,t),!0}onLinesInserted(e,t){return this._lastRenderData?.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(to.yr0),this._renderDecorations=!0,!0}onTokensChanged(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(0===this._model.options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const t=gv.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?"block":"none"),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(Xs.Q.compareRangesUsingStarts);const i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort(((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0)));const{canvasInnerWidth:n,canvasInnerHeight:s}=this._model.options,o=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,a=this._model.getOptions().tabSize,l=this._decorationsCanvas.domNode.getContext("2d");l.clearRect(0,0,n,s);const h=new Cv(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(l,t,h,e,o),this._renderDecorationsLineHighlights(l,i,h,e,o);const d=new Cv(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(l,t,d,e,o,a,r,n),this._renderDecorationsHighlights(l,i,d,e,o,a,r,n),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,i,n,s){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let o=0,r=0;for(const a of t){const t=n.intersectWithViewport(a);if(!t)continue;const[l,h]=t;for(let e=l;e<=h;e++)i.set(e,!0);const d=n.getYForLineNumber(l,s),c=n.getYForLineNumber(h,s);r>=d||(r>o&&e.fillRect(8,o,e.canvas.width,r-o),o=d),r=c}r>o&&e.fillRect(8,o,e.canvas.width,r-o)}_renderDecorationsLineHighlights(e,t,i,n,s){const o=new Map;for(let r=t.length-1;r>=0;r--){const a=t[r],l=a.options.minimap;if(!l||1!==l.position)continue;const h=n.intersectWithViewport(a.range);if(!h)continue;const[d,c]=h,u=l.getColor(this._theme.value);if(!u||u.isTransparent())continue;let g=o.get(u.toString());g||(g=u.transparent(.5).toString(),o.set(u.toString(),g)),e.fillStyle=g;for(let t=d;t<=c;t++){if(i.has(t))continue;i.set(t,!0);const o=n.getYForLineNumber(d,s);e.fillRect(8,o,e.canvas.width,s)}}}_renderSelectionsHighlights(e,t,i,n,s,o,r,a){if(this._selectionColor&&!this._selectionColor.isTransparent())for(const l of t){const t=n.intersectWithViewport(l);if(!t)continue;const[h,d]=t;for(let c=h;c<=d;c++)this.renderDecorationOnLine(e,i,l,this._selectionColor,n,c,s,s,o,r,a)}}_renderDecorationsHighlights(e,t,i,n,s,o,r,a){for(const l of t){const t=l.options.minimap;if(!t)continue;const h=n.intersectWithViewport(l.range);if(!h)continue;const[d,c]=h,u=t.getColor(this._theme.value);if(u&&!u.isTransparent())for(let g=d;g<=c;g++)switch(t.position){case 1:this.renderDecorationOnLine(e,i,l.range,u,n,g,s,s,o,r,a);continue;case 2:{const t=n.getYForLineNumber(g,s),i=2;this.renderDecoration(e,u,i,t,2,s);continue}}}}renderDecorationOnLine(e,t,i,n,s,o,r,a,l,h,d){const c=s.getYForLineNumber(o,a);if(c+r<0||c>this._model.options.canvasInnerHeight)return;const{startLineNumber:u,endLineNumber:g}=i,p=u===o?i.startColumn:1,m=g===o?i.endColumn:this._model.getLineMaxColumn(o),f=this.getXOffsetForPosition(t,o,p,l,h,d),_=this.getXOffsetForPosition(t,o,m,l,h,d);this.renderDecoration(e,n,f,c,_-f,r)}getXOffsetForPosition(e,t,i,n,s,o){if(1===i)return 8;if((i-1)*s>=o)return o;let r=e.get(t);if(!r){const i=this._model.getLineContent(t);r=[8];let a=8;for(let e=1;e=o){r[e]=o;break}r[e]=l,a=l}e.set(t,r)}return i-1e.range.startLineNumber-t.range.startLineNumber));const g=bv._fitSectionHeader.bind(null,c,o-8);for(const p of u){const n=e.getYForLineNumber(p.range.startLineNumber,t)+i,r=n-i,l=r+2,d=this._model.getSectionHeaderText(p,g);bv._renderSectionLabel(c,d,2===p.options.minimap?.sectionHeaderStyle,a,h,o,r,s,n,l)}}static _fitSectionHeader(e,t,i){if(!i)return i;const n=e.measureText(i).width,s=e.measureText("\u2026").width;if(n<=t||n<=s)return i;const o=i.length,r=n/i.length,a=Math.floor((t-s)/r)-1;let l=Math.ceil(a/2);for(;l>0&&/\s/.test(i[l-1]);)--l;return i.substring(0,l)+"\u2026"+i.substring(o-(a-l))}static _renderSectionLabel(e,t,i,n,s,o,r,a,l,h){t&&(e.fillStyle=n,e.fillRect(0,r,o,a),e.fillStyle=s,e.fillText(t,8,l)),i&&(e.beginPath(),e.moveTo(0,h),e.lineTo(o,h),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,i=e.endLineNumber,n=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const t=this._lastRenderData._get();return new mv(e,t.imageData,t.lines)}const s=this._getBuffer();if(!s)return null;const[o,r,a]=bv._renderUntouchedLines(s,e.topPaddingLineCount,t,i,n,this._lastRenderData),l=this._model.getMinimapLinesRenderingData(t,i,a),h=this._model.getOptions().tabSize,d=this._model.options.defaultBackgroundColor,c=this._model.options.backgroundColor,u=this._model.options.foregroundAlpha,g=this._model.tokensColorTracker,p=g.backgroundIsLight(),m=this._model.options.renderMinimap,f=this._model.options.charRenderer(),_=this._model.options.fontScale,v=this._model.options.minimapCharWidth,b=(1===m?2:3)*_,C=n>b?Math.floor((n-b)/2):0,w=c.a/255,y=new q_(Math.round((c.r-d.r)*w+d.r),Math.round((c.g-d.g)*w+d.g),Math.round((c.b-d.b)*w+d.b),255);let S=e.topPaddingLineCount*n;const k=[];for(let D=0,N=i-t+1;D=0&&t_)return;const r=m.charCodeAt(C);if(9===r){const e=c-(C+w)%c;w+=e-1,b+=e*o}else if(32===r)b+=o;else{const c=Ti.ne(r)?2:1;for(let u=0;u_)return}}}}}class Cv{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let n=0,s=this._endLineNumber-this._startLineNumber+1;nthis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}class wv extends Km{constructor(e,t){super(e),this._viewDomNode=t;const i=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=kh(document.createElement("div")),jm.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=kh(document.createElement("div")),jm.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){const t=kh(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const i=this._widgets[e.getId()],n=t?t.preference:null,s=t?.stackOridinal;return i.preference===n&&i.stack===s?(this._updateMaxMinWidth(),!1):(i.preference=n,i.stack=s,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let e=0;const t=Object.keys(this._widgets);for(let i=0,n=t.length;i0));t.sort(((e,t)=>(this._widgets[e].stack||0)-(this._widgets[t].stack||0)));for(let n=0,s=t.length;n=3){const t=Math.floor(n/3),i=Math.floor(n/3),s=n-t-i,o=e+t;return[[0,e,o,e,e+t+s,e,o,e],[0,t,s,t+s,i,t+s+i,s+i,t+s+i]]}if(2===i){const t=Math.floor(n/2),i=n-t;return[[0,e,e,e,e+t,e,e,e],[0,t,t,t,i,t+i,t+i,t+i]]}return[[0,e,e,e,e,e,e,e],[0,n,n,n,n,n,n,n]]}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&hd.Q1.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class Sv extends Km{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=kh(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=ka.dG.onDidChange((e=>{e.changedColorMap&&this._updateSettings(!0)})),this._cursorPositions=[{position:new Gn.y(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new yv(this._context.configuration,this._context.theme);return(!this._settings||!this._settings.equals(t))&&(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;t1&&(n=0===t?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:n})}return this._cursorPositions.sort(((e,t)=>Gn.y.compare(e.position,t.position))),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return!!e.affectsOverviewRuler&&this._markRenderingIsMaybeNeeded()}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return!!e.scrollHeightChanged&&this._markRenderingIsNeeded()}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(0===this._settings.overviewRulerLanes)return this._domNode.setBackgroundColor(e?hd.Q1.Format.CSS.formatHexA(e):""),void this._domNode.setDisplay("none");const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(iv.compareByRenderingProps),1!==this._actualShouldRender||iv.equalsArr(this._renderedDecorations,t)||(this._actualShouldRender=2),1!==this._actualShouldRender||(0,ia.aI)(this._renderedCursorPositions,this._cursorPositions,((e,t)=>e.position.lineNumber===t.position.lineNumber&&e.color===t.color))||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const i=this._settings.canvasWidth,n=this._settings.canvasHeight,s=this._settings.lineHeight,o=this._context.viewLayout,r=n/this._context.viewLayout.getScrollHeight(),a=6*this._settings.pixelRatio|0,l=a/2|0,h=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(h.fillStyle=hd.Q1.Format.CSS.formatHexA(e),h.fillRect(0,0,i,n)):(h.clearRect(0,0,i,n),h.fillStyle=hd.Q1.Format.CSS.formatHexA(e),h.fillRect(0,0,i,n)):h.clearRect(0,0,i,n);const d=this._settings.x,c=this._settings.w;for(const u of t){const e=u.color,t=u.data;h.fillStyle=e;let i=0,g=0,p=0;for(let u=0,m=t.length/3;un&&(e=n-l),_=e-l,v=e+l}_>p+1||e!==i?(0!==u&&h.fillRect(d[i],g,c[i],p-g),i=e,g=_,p=v):v>p&&(p=v)}h.fillRect(d[i],g,c[i],p-g)}if(!this._settings.hideCursor){const e=2*this._settings.pixelRatio|0,t=e/2|0,i=this._settings.x[7],s=this._settings.w[7];let a=-100,l=-100,d=null;for(let c=0,u=this._cursorPositions.length;cn&&(p=n-t);const m=p-t,f=m+e;m>l+1||u!==d?(0!==c&&d&&h.fillRect(i,a,s,l-a),a=m,l=f):f>l&&(l=f),d=u,h.fillStyle=u}d&&h.fillRect(i,a,s,l-a)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(h.beginPath(),h.lineWidth=1,h.strokeStyle=this._settings.borderColor,h.moveTo(0,0),h.lineTo(0,n),h.moveTo(1,0),h.lineTo(i,0),h.stroke())}}class kv{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=0|e,this.to=0|t,this.colorId=0|i}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class Lv{constructor(e,t,i,n){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=n,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colori&&(u=i-g);const p=a.color;let m=this._color2Id[p];m||(m=++this._lastAssignedId,this._color2Id[p]=m,this._id2Color[m]=p);const f=new kv(u-g,u+g,m);a.setColorZone(f),o.push(f)}return this._colorZonesInvalid=!1,o.sort(kv.compare),o}}class Dv extends Um{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;this._domNode=kh(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new xv((e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e))),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(67)),this._zoneManager.setPixelRatio(i.get(144)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(144)&&(this._zoneManager.setPixelRatio(t.get(144)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),n=this._zoneManager.getId2Color(),s=this._domNode.domNode.getContext("2d");return s.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(s,i,n,e),!0}_renderOneLane(e,t,i,n){let s=0,o=0,r=0;for(const a of t){const t=a.colorId,l=a.from,h=a.to;t!==s?(e.fillRect(0,o,n,r-o),s=t,e.fillStyle=i[s],o=l,r=h):r>=l?r=Math.max(r,h):(e.fillRect(0,o,n,r-o),o=l,r=h)}e.fillRect(0,o,n,r-o)}}class Nv extends Km{constructor(e){super(e),this.domNode=kh(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const e=kh(document.createElement("div"));e.setClassName("view-ruler"),e.setWidth(n),this.domNode.appendChild(e),this._renderedRulers.push(e),s--}return}let i=e-t;for(;i>0;){const e=this._renderedRulers.pop();this.domNode.removeChild(e),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t0;return this._shouldShow!==e&&(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){const e=this._context.configuration.options.get(146);0===e.minimap.renderMinimap||e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){const t=this._context.configuration.options.get(104);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class Ev{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class Mv{constructor(e,t){this.lineNumber=e,this.ranges=t}}function Tv(e){return new Ev(e)}function Rv(e){return new Mv(e.lineNumber,e.ranges.map(Tv))}class Av extends Yf{static{this.SELECTION_CLASS_NAME="selected-text"}static{this.SELECTION_TOP_LEFT="top-left-radius"}static{this.SELECTION_BOTTOM_LEFT="bottom-left-radius"}static{this.SELECTION_TOP_RIGHT="top-right-radius"}static{this.SELECTION_BOTTOM_RIGHT="bottom-right-radius"}static{this.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background"}static{this.ROUNDED_PIECE_WIDTH=10}constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t1)return!0}return!1}_enrichVisibleRangesWithStyle(e,t,i){const n=this._typicalHalfwidthCharacterWidth/4;let s=null,o=null;if(i&&i.length>0&&t.length>0){const n=t[0].lineNumber;if(n===e.startLineNumber)for(let e=0;!s&&e=0;e--)i[e].lineNumber===r&&(o=i[e].ranges[0]);s&&!s.startStyle&&(s=null),o&&!o.startStyle&&(o=null)}for(let r=0,a=t.length;r0){const e=t[r-1].ranges[0].left,s=t[r-1].ranges[0].left+t[r-1].ranges[0].width;Pv(i-e)e&&(h.top=1),Pv(l-s)
    '}_actualRenderOneSelection(e,t,i,n){if(0===n.length)return;const s=!!n[0].ranges[0].startStyle,o=n[0].lineNumber,r=n[n.length-1].lineNumber;for(let a=0,l=n.length;a1,r)}this._previousFrameVisibleRangesWithStyle=s,this._renderResult=t.map((([e,t])=>e+t))}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function Pv(e){return e<0?-e:e}(0,io.zy)(((e,t)=>{const i=e.getColor(to.rm4);i&&!i.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${i}; }`)}));class Ov{constructor(e,t,i,n,s,o,r){this.top=e,this.left=t,this.paddingLeft=i,this.width=n,this.height=s,this.textContent=o,this.textContentClassName=r}}var Fv;!function(e){e[e.Single=0]="Single",e[e.MultiPrimary=1]="MultiPrimary",e[e.MultiSecondary=2]="MultiSecondary"}(Fv||(Fv={}));class Wv{constructor(e,t){this._context=e;const i=this._context.configuration.options,n=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(67),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=kh(document.createElement("div")),this._domNode.setClassName(`cursor ${e_}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),Lh(this._domNode,n),this._domNode.setDisplay("none"),this._position=new Gn.y(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case Fv.Single:this._pluralityClass="";break;case Fv.MultiPrimary:this._pluralityClass="cursor-primary";break;case Fv.MultiSecondary:this._pluralityClass="cursor-secondary"}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),Lh(this._domNode,i),!0}onCursorPositionChanged(e,t){return this._domNode.domNode.style.transitionProperty=t?"none":"",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[n,s]=Ti.m(i,t-1);return[new Gn.y(e,n+1),i.substring(n,s)]}_prepareRender(e){let t="",i="";const[n,s]=this._getGraphemeAwarePosition();if(this._cursorStyle===uc.Line||this._cursorStyle===uc.LineThin){const o=e.visibleRangeForPosition(n);if(!o||o.outsideRenderedLine)return null;const r=We(this._domNode.domNode);let a;this._cursorStyle===uc.Line?(a=ni(r,this._lineCursorWidth>0?this._lineCursorWidth:2),a>2&&(t=s,i=this._getTokenClassName(n))):a=ni(r,1);let l=o.left,h=0;a>=2&&l>=1&&(h=1,l-=h);const d=e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta;return new Ov(d,l,h,a,this._lineHeight,t,i)}const o=e.linesVisibleRangesForRange(new Xs.Q(n.lineNumber,n.column,n.lineNumber,n.column+s.length),!1);if(!o||0===o.length)return null;const r=o[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;const a=r.ranges[0],l="\t"===s||a.width<1?this._typicalHalfwidthCharacterWidth:a.width;this._cursorStyle===uc.Block&&(t=s,i=this._getTokenClassName(n));let h=e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return this._cursorStyle!==uc.Underline&&this._cursorStyle!==uc.UnderlineThin||(h+=this._lineHeight-2,d=2),new Ov(h,a.left,0,l,d,t,i)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),i=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(i)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${e_} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class Bv extends Km{static{this.BLINK_INTERVAL=500}constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new Wv(this._context,Fv.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=kh(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new A.pc,this._cursorFlatBlinkInterval=new st,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let i=0,n=this._secondaryCursors.length;it.length){const e=this._secondaryCursors.length-t.length;for(let t=0;t{for(let i=0,n=e.ranges.length;i{this._isVisible?this._hide():this._show()}),Bv.BLINK_INTERVAL,We(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet((()=>{this._blinkingEnabled=!0,this._updateDomClassName()}),Bv.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case uc.Line:e+=" cursor-line-style";break;case uc.Block:e+=" cursor-block-style";break;case uc.Underline:e+=" cursor-underline-style";break;case uc.LineThin:e+=" cursor-line-thin-style";break;case uc.BlockOutline:e+=" cursor-block-outline-style";break;case uc.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return"on"!==this._cursorSmoothCaretAnimation&&"explicit"!==this._cursorSmoothCaretAnimation||(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const i=[{class:".cursor",foreground:Zf.D0,background:Zf.kM},{class:".cursor-primary",foreground:Zf.sC,background:Zf.je},{class:".cursor-secondary",foreground:Zf.we,background:Zf.L0}];for(const n of i){const i=e.getColor(n.foreground);if(i){let s=e.getColor(n.background);s||(s=i.opposite()),t.addRule(`.monaco-editor .cursors-layer ${n.class} { background-color: ${i}; border-color: ${i}; color: ${s}; }`),(0,Bp.Bb)(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${n.class} { border-left: 1px solid ${s}; border-right: 1px solid ${s}; }`)}}}));const Hv=()=>{throw new Error("Invalid change accessor")};class Vv extends Km{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=kh(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=kh(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const n of e)t.set(n.id,n);let i=!1;return this._context.viewModel.changeWhitespace((e=>{const n=Object.keys(this._zones);for(let s=0,o=n.length;s{const n={addZone:e=>(t=!0,this._addZone(i,e)),removeZone:e=>{e&&(t=this._removeZone(i,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(i,e)||t)}};!function(e,t){try{return e(t)}catch(i){(0,b.dz)(i)}}(e,n),n.addZone=Hv,n.removeZone=Hv,n.layoutZone=Hv})),t}_addZone(e,t){const i=this._computeWhitespaceProps(t),n={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:kh(t.domNode),marginDomNode:t.marginDomNode?kh(t.marginDomNode):null};return this._safeCallOnComputedHeight(n.delegate,i.heightInPx),n.domNode.setPosition("absolute"),n.domNode.domNode.style.width="100%",n.domNode.setDisplay("none"),n.domNode.setAttribute("monaco-view-zone",n.whitespaceId),this.domNode.appendChild(n.domNode),n.marginDomNode&&(n.marginDomNode.setPosition("absolute"),n.marginDomNode.domNode.style.width="100%",n.marginDomNode.setDisplay("none"),n.marginDomNode.setAttribute("monaco-view-zone",n.whitespaceId),this.marginDomNode.appendChild(n.marginDomNode)),this._zones[n.whitespaceId]=n,this.setShouldRender(),n.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.remove(),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t],n=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=n.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,n.afterViewLineNumber,n.heightInPx),this._safeCallOnComputedHeight(i.delegate,n.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){if(this._zones.hasOwnProperty(e)){const t=this._zones[e];return Boolean(t.delegate.suppressMouseDown)}return!1}_heightInPixels(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(i){(0,b.dz)(i)}}_safeCallOnDomNodeTop(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(i){(0,b.dz)(i)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,i={};let n=!1;for(const o of t)this._zones[o.id].isInHiddenArea||(i[o.id]=o,n=!0);const s=Object.keys(this._zones);for(let o=0,r=s.length;oo)continue;const e=t.startLineNumber===o?t.startColumn:i.minColumn,s=t.endLineNumber===o?t.endColumn:i.maxColumn;e=S.endOffset&&(y++,S=i&&i[y]),9!==n&&32!==n)continue;if(c&&!C&&L<=v)continue;if(d&&L>=w&&L<=v&&32===n){const e=L-1>=0?r.charCodeAt(L-1):0,t=L+1=0?r.charCodeAt(L-1):0;if(32===n&&32!==e&&9!==e)continue}if(i&&(!S||S.startOffset>L||S.endOffset<=L))continue;const s=e.visibleRangeForPosition(new Gn.y(t,L+1));s&&(o?(k=Math.max(k,s.left),b+=9===n?this._renderArrow(u,m,s.left):``):b+=9===n?`
    ${_?String.fromCharCode(65515):String.fromCharCode(8594)}
    `:`
    ${String.fromCharCode(f)}
    `)}return o?(k=Math.round(k+m),``+b+""):b}_renderArrow(e,t,i){const n=e/2,s=i,o={x:0,y:t/7/2},r={x:.8*t,y:o.y},a={x:r.x-.2*r.x,y:r.y+.2*r.x},l={x:a.x+.1*r.x,y:a.y+.1*r.x},h={x:l.x+.35*r.x,y:l.y-.35*r.x};return``}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class Uv{constructor(e){const t=e.options,i=t.get(50),n=t.get(38);"off"===n?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===n?(this.renderWhitespace=t.get(100),this.renderWithSVG=!0):(this.renderWhitespace=t.get(100),this.renderWithSVG=!1),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(118)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class Kv{constructor(e,t,i,n){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.lineHeight=0|t.lineHeight,this.whitespaceViewportData=i,this._model=n,this.visibleRange=new Xs.Q(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class jv{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class $v{constructor(e,t,i){this.configuration=e,this.theme=new jv(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}var qv=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Gv=function(e,t){return function(i,n){t(i,n,e)}};let Qv=class extends Um{constructor(e,t,i,n,s,o,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new $s.L(1,1,1,1)],this._renderAnimationFrame=null;const a=new a_(t,n,s,e);this._context=new $v(t,i,n),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(r_,this._context,a,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=kh(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=kh(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=kh(document.createElement("div")),jm.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new D_(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new K_(this._context,this._linesContent),this._viewZones=new Vv(this._context),this._viewParts.push(this._viewZones);const l=new Sv(this._context);this._viewParts.push(l);const h=new Iv(this._context);this._viewParts.push(h);const d=new g_(this._context);this._viewParts.push(d),d.addDynamicOverlay(new k_(this._context)),d.addDynamicOverlay(new Av(this._context)),d.addDynamicOverlay(new W_(this._context)),d.addDynamicOverlay(new x_(this._context)),d.addDynamicOverlay(new zv(this._context));const c=new p_(this._context);this._viewParts.push(c),c.addDynamicOverlay(new L_(this._context)),c.addDynamicOverlay(new $_(this._context)),c.addDynamicOverlay(new j_(this._context)),c.addDynamicOverlay(new Xf(this._context)),this._glyphMarginWidgets=new T_(this._context),this._viewParts.push(this._glyphMarginWidgets);const u=new Jf(this._context);u.getDomNode().appendChild(this._viewZones.marginDomNode),u.getDomNode().appendChild(c.getDomNode()),u.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(u),this._contentWidgets=new __(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new Bv(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new wv(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const g=new Nv(this._context);this._viewParts.push(g);const p=new f_(this._context);this._viewParts.push(p);const m=new vv(this._context);if(this._viewParts.push(m),l){const e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(l.getDomNode(),e.insertBefore)}this._linesContent.appendChild(d.getDomNode()),this._linesContent.appendChild(g.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(u.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(h.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(m.getDomNode()),this._overflowGuardContainer.appendChild(p.domNode),this.domNode.appendChild(this._overflowGuardContainer),o?(o.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),o.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new Qf(this._context,a,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let i=[],n=0;i=i.concat(e.getAllMarginDecorations().map((e=>{const t=e.options.glyphMargin?.position??Js.ZS.Center;return n=Math.max(n,e.range.endLineNumber),{range:e.range,lane:t,persist:e.options.glyphMargin?.persistLane}}))),i=i.concat(this._glyphMarginWidgets.getWidgets().map((t=>{const i=e.validateRange(t.preference.range);return n=Math.max(n,i.endLineNumber),{range:i,lane:t.preference.lane}}))),i.sort(((e,t)=>Xs.Q.compareRangesUsingStarts(e.range,t.range))),t.reset(n);for(const s of i)t.push(s.lane,s.range,s.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new Tf(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new Gn.y(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const e=this._context.configuration.options.get(146);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(143)+" "+(0,io.Pz)(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new b.D7;if(null===this._renderAnimationFrame){const e=this._createCoordinatedRendering();this._renderAnimationFrame=Zv.INSTANCE.scheduleCoordinatedRendering({window:We(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new b.D7;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new b.D7;return e.renderText()},prepareRender:(t,i)=>{if(this._store.isDisposed)throw new b.D7;return e.prepareRender(t,i)},render:(t,i)=>{if(this._store.isDisposed)throw new b.D7;return e.render(t,i)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();Yv((()=>e.prepareRenderText()));const t=Yv((()=>e.renderText()));if(t){const[i,n]=t;Yv((()=>e.prepareRender(i,n))),Yv((()=>e.render(i,n)))}}_getViewPartsToRender(){const e=[];let t=0;for(const i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}Or.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===e.length)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const i=new Kv(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new qm(this._context.viewLayout,i,this._viewLines)]},prepareRender:(e,t)=>{for(const i of e)i.prepareRender(t)},render:(e,t)=>{for(const i of e)i.render(t),i.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),n=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();const s=this._viewLines.visibleRangeForPosition(new Gn.y(n.lineNumber,n.column));return s?s.left:-1}getTargetAtClientPoint(e,t){const i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?m_.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new Dv(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const e of this._viewParts)e.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){this._contentWidgets.setWidgetPosition(e.widget,e.position?.position??null,e.position?.secondaryPosition??null,e.position?.preference??null,e.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){this._overlayWidgets.setWidgetPosition(e.widget,e.position)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function Yv(e){try{return e()}catch(t){return(0,b.dz)(t),null}}Qv=qv([Gv(6,$n._Y)],Qv);class Zv{static{this.INSTANCE=new Zv}constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(-1!==t&&(this._coordinatedRenderings.splice(t,1),0===this._coordinatedRenderings.length)){for(const[e,t]of this._animationFrameRunners)t.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,it(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of e)Yv((()=>i.prepareRenderText()));const t=[];for(let i=0,n=e.length;in.renderText()))}for(let i=0,n=e.length;in.prepareRender(o,r)))}for(let i=0,n=e.length;in.render(o,r)))}}}var Xv=i(87110);class Jv{constructor(e,t,i,n,s){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=n,this.wrappedTextIndentLength=s}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let i=this.breakOffsets[e]-t;return e>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let i=0===e?t:this.breakOffsets[e-1]+t;if(null!==this.injectionOffsets)for(let n=0;nthis.injectionOffsets[n];n++)i0?this.breakOffsets[s-1]:0,0===t)if(e<=o)n=s-1;else{if(!(e>r))break;i=s+1}else if(e=r))break;i=s+1}}let r=e-o;return s>0&&(r+=this.wrappedTextIndentLength),new ib(s,r)}normalizeOutputPosition(e,t,i){if(null!==this.injectionOffsets){const n=this.outputPositionToOffsetInInputWithInjections(e,t),s=this.normalizeOffsetInInputWithInjectionsAroundInjections(n,i);if(s!==n)return this.offsetInInputWithInjectionsToOutputPosition(s,i)}if(0===i){if(e>0&&t===this.getMinOutputOffset(e))return new ib(e-1,this.getMaxOutputOffset(e-1))}else if(1===i){if(e0&&(t=Math.max(0,t-this.wrappedTextIndentLength));return(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(2===t){if(e===i.offsetInInputWithInjections+i.length&&eb(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let e=i.offsetInInputWithInjections;if(tb(this.injectionOptions[i.injectedTextIndex].cursorStops))return e;let t=i.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[i.injectedTextIndex]&&!eb(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!tb(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t||4===t){let e=i.offsetInInputWithInjections+i.length,t=i.injectedTextIndex;for(;t+1=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}(0,Xv.xb)(t)}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),n=this.getInjectedTextAtOffset(i);return n?{options:this.injectionOptions[n.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(null!==t){let n=0;for(let s=0;se)break;if(e<=a)return{injectedTextIndex:s,offsetInInputWithInjections:r,length:o};n+=o}}}}function eb(e){return null==e||(e===Js.VW.Right||e===Js.VW.Both)}function tb(e){return null==e||(e===Js.VW.Left||e===Js.VW.Both)}class ib{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new Gn.y(e+this.outputLineIndex,this.outputOffset+1)}}var nb=i(83455);const sb=wh("domLineBreaksComputer",{createHTML:e=>e});class ob{static create(e){return new ob(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,i,n,s){const o=[],r=[];return{addRequest:(e,t,i)=>{o.push(e),r.push(t)},finalize:()=>function(e,t,i,n,s,o,r,a){function l(e){const i=a[e];if(i){const n=nb.uK.applyInjectedText(t[e],i),s=i.map((e=>e.options)),o=i.map((e=>e.column-1));return new Jv(o,s,[n.length],[],0)}return null}if(-1===s){const e=[];for(let i=0,n=t.length;ih?(s=0,r=0):l=h-t}const d=e.substr(s),c=rb(d,r,n,l,p,u);m[L]=s,f[L]=r,_[L]=d,v[L]=c[0],b[L]=c[1]}const C=p.build(),w=sb?.createHTML(C)??C;g.innerHTML=w,g.style.position="absolute",g.style.top="10000","keepAll"===r?(g.style.wordBreak="keep-all",g.style.overflowWrap="anywhere"):(g.style.wordBreak="inherit",g.style.overflowWrap="break-word");e.document.body.appendChild(g);const y=document.createRange(),S=Array.prototype.slice.call(g.children,0),k=[];for(let L=0;Le.options)),r=h.map((e=>e.column-1))):(o=null,r=null),k[L]=new Jv(r,o,e,s,i)}return g.remove(),k}((0,os.eU)(this.targetWindow.deref()),o,e,t,i,n,s,r)}}}function rb(e,t,i,n,s,o){if(0!==o){const e=String(o);s.appendString('
    ');const r=e.length;let a=t,l=0;const h=[],d=[];let c=0");for(let u=0;u"),h[u]=l,d[u]=a;const t=c;c=u+1"),h[e.length]=l,d[e.length]=a,s.appendString("
    "),[h,d]}function ab(e,t,i,n){if(i.length<=1)return null;const s=Array.prototype.slice.call(t.children,0),o=[];try{lb(e,s,n,0,null,i.length-1,null,o)}catch(r){return console.log(r),null}return 0===o.length?null:(o.push(i.length),o)}function lb(e,t,i,n,s,o,r,a){if(n===o)return;if(s=s||hb(e,t,i[n],i[n+1]),r=r||hb(e,t,i[o],i[o+1]),Math.abs(s[0].top-r[0].top)<=.1)return;if(n+1===o)return void a.push(o);const l=n+(o-n)/2|0,h=hb(e,t,i[l],i[l+1]);lb(e,t,i,n,s,l,h,a),lb(e,t,i,l,h,o,r,a)}function hb(e,t,i,n){return e.setStart(t[i/16384|0].firstChild,i%16384),e.setEnd(t[n/16384|0].firstChild,n%16384),e.getClientRects()}class db extends Ae.jG{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new Ae.$w),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,i){this._editor=e,this._instantiationService=i;for(const n of t)this._pending.has(n.id)?(0,b.dz)(new Error(`Cannot have two contributions with the same id ${n.id}`)):this._pending.set(n.id,n);this._instantiateSome(0),this._register(et(We(this._editor.getDomNode()),(()=>{this._instantiateSome(1)}))),this._register(et(We(this._editor.getDomNode()),(()=>{this._instantiateSome(2)}))),this._register(et(We(this._editor.getDomNode()),(()=>{this._instantiateSome(3)}),5e3))}saveViewState(){const e={};for(const[t,i]of this._instances)"function"==typeof i.saveViewState&&(e[t]=i.saveViewState());return e}restoreViewState(e){for(const[t,i]of this._instances)"function"==typeof i.restoreViewState&&i.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return et(We(this._editor?.getDomNode()),(()=>{this._instantiateSome(1)}),50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const i of t)this._instantiateById(i.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,i]of this._pending)i.instantiation===e&&t.push(i);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const e=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,e),"function"==typeof e.restoreViewState&&0!==t.instantiation&&console.warn(`Editor contribution '${t.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(i){(0,b.dz)(i)}}}}class cb{constructor(e,t,i,n,s,o,r){this.id=e,this.label=t,this.alias=i,this.metadata=n,this._precondition=s,this._run=o,this._contextKeyService=r}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}const ub={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};var gb=i(27454);class pb{static create(e){return new pb(e.get(135),e.get(134))}constructor(e,t){this.classifier=new mb(e,t)}createLineBreaksComputer(e,t,i,n,s){const o=[],r=[],a=[];return{addRequest:(e,t,i)=>{o.push(e),r.push(t),a.push(i)},finalize:()=>{const l=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,h=[];for(let e=0,d=o.length;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}}let fb=[],_b=[];function vb(e,t,i,n,s,o,r,a){if(-1===s)return null;const l=i.length;if(l<=1)return null;const h="keepAll"===a,d=t.breakOffsets,c=t.breakOffsetsVisibleColumn,u=Sb(i,n,s,o,r),g=s-u,p=fb,m=_b;let f=0,_=0,v=0,b=s;const C=d.length;let w=0;if(w>=0){let e=Math.abs(c[w]-b);for(;w+1=e)break;e=t,w++}}for(;wt&&(t=_,s=v);let r=0,a=0,u=0,y=0;if(s<=b){let v=s,C=0===t?0:i.charCodeAt(t-1),w=0===t?0:e.get(C),S=!0;for(let s=t;s_&&yb(C,w,l,d,h)&&(r=t,a=v),v+=c,v>b){t>_?(u=t,y=v-c):(u=s+1,y=v),v-a>g&&(r=0),S=!1;break}C=l,w=d}if(S){f>0&&(p[f]=d[d.length-1],m[f]=c[d.length-1],f++);break}}if(0===r){let l=s,d=i.charCodeAt(t),c=e.get(d),p=!1;for(let n=t-1;n>=_;n--){const t=n+1,s=i.charCodeAt(n);if(9===s){p=!0;break}let m,f;if(Ti.LJ(s)?(n--,m=0,f=2):(m=e.get(s),f=Ti.ne(s)?o:1),l<=b){if(0===u&&(u=t,y=l),l<=b-g)break;if(yb(s,m,d,c,h)){r=t,a=l;break}}l-=f,d=s,c=m}if(0!==r){const e=g-(y-a);if(e<=n){const t=i.charCodeAt(u);let s;s=Ti.pc(t)?2:Cb(t,y,n,o),e-s<0&&(r=0)}}if(p){w--;continue}}if(0===r&&(r=u,a=y),r<=_){const e=i.charCodeAt(_);Ti.pc(e)?(r=_+2,a=v+2):(r=_+1,a=v+Cb(e,v,n,o))}for(_=r,p[f]=r,v=a,m[f]=a,f++,b=a+g;w<0||w=S)break;S=e,w++}}return 0===f?null:(p.length=f,m.length=f,fb=t.breakOffsets,_b=t.breakOffsetsVisibleColumn,t.breakOffsets=p,t.breakOffsetsVisibleColumn=m,t.wrappedTextIndentLength=u,t)}function bb(e,t,i,n,s,o,r,a){const l=nb.uK.applyInjectedText(t,i);let h,d;if(i&&i.length>0?(h=i.map((e=>e.options)),d=i.map((e=>e.column-1))):(h=null,d=null),-1===s)return h?new Jv(d,h,[l.length],[],0):null;const c=l.length;if(c<=1)return h?new Jv(d,h,[l.length],[],0):null;const u="keepAll"===a,g=Sb(l,n,s,o,r),p=s-g,m=[],f=[];let _=0,v=0,b=0,C=s,w=l.charCodeAt(0),y=e.get(w),S=Cb(w,0,n,o),k=1;Ti.pc(w)&&(S+=1,w=l.charCodeAt(1),y=e.get(w),k++);for(let L=k;LC&&((0===v||S-b>p)&&(v=t,b=S-r),m[_]=v,f[_]=b,_++,C=b+p,v=0),w=i,y=s}return 0!==_||i&&0!==i.length?(m[_]=c,f[_]=S,new Jv(d,h,m,f,g)):null}function Cb(e,t,i,n){return 9===e?i-t%i:Ti.ne(e)||e<32?n:1}function wb(e,t){return t-e%t}function yb(e,t,i,n,s){return 32!==i&&(2===t&&2!==n||1!==t&&1===n||!s&&3===t&&2!==n||!s&&3===n&&1!==t)}function Sb(e,t,i,n,s){let o=0;if(0!==s){const r=Ti.HG(e);if(-1!==r){for(let i=0;ii&&(o=0)}}return o}var kb=i(97393);class Lb{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new _o(new Xs.Q(1,1,1,1),0,0,new Gn.y(1,1),0),new _o(new Xs.Q(1,1,1,1),0,0,new Gn.y(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 po(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?$s.L.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):$s.L.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,i){this._setState(e,t,i)}static _validatePositionWithCache(e,t,i,n){return t.equals(i)?n:e.normalizePosition(t,2)}static _validateViewState(e,t){const i=t.position,n=t.selectionStart.getStartPosition(),s=t.selectionStart.getEndPosition(),o=e.normalizePosition(i,2),r=this._validatePositionWithCache(e,n,i,o),a=this._validatePositionWithCache(e,s,n,r);return i.equals(o)&&n.equals(r)&&s.equals(a)?t:new _o(Xs.Q.fromPositions(r,a),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+n.column-r.column,o,t.leftoverVisibleColumns+i.column-o.column)}_setState(e,t,i){if(i&&(i=Lb._validateViewState(e.viewModel,i)),t){const i=e.model.validateRange(t.selectionStart),n=t.selectionStart.equalsRange(i)?t.selectionStartLeftoverVisibleColumns:0,s=e.model.validatePosition(t.position),o=t.position.equals(s)?t.leftoverVisibleColumns:0;t=new _o(i,t.selectionStartKind,n,s,o)}else{if(!i)return;const n=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(i.selectionStart)),s=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(i.position));t=new _o(n,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,s,i.leftoverVisibleColumns)}if(i){const n=e.coordinatesConverter.validateViewRange(i.selectionStart,t.selectionStart),s=e.coordinatesConverter.validateViewPosition(i.position,t.position);i=new _o(n,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,s,t.leftoverVisibleColumns)}else{const n=e.coordinatesConverter.convertModelPositionToViewPosition(new Gn.y(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),s=e.coordinatesConverter.convertModelPositionToViewPosition(new Gn.y(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),o=new Xs.Q(n.lineNumber,n.column,s.lineNumber,s.column),r=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new _o(o,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,r,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}}class xb{constructor(e){this.context=e,this.cursors=[new Lb(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const 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(0,kb.kh)(this.cursors,(0,ia.VE)((e=>e.viewState.position),Gn.y.compare)).viewState.position}getBottomMostViewPosition(){return(0,kb.ot)(this.cursors,(0,ia.VE)((e=>e.viewState.position),Gn.y.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(po.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){null!==e&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,i=e.length;if(ti){const e=t-i;for(let t=0;t=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(1===this.cursors.length)return;const e=this.cursors.slice(0),t=[];for(let i=0,n=e.length;ie.selection),Xs.Q.compareRangesUsingStarts));for(let i=0;ia&&e.index--;e.splice(a,1),t.splice(r,1),this._removeSecondaryCursor(a-1),i--}}}}class Db{constructor(e,t,i,n){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=n}}class Nb{constructor(){this.type=0}}class Ib{constructor(){this.type=1}}class Eb{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class Mb{constructor(e,t,i){this.selections=e,this.modelSelections=t,this.reason=i,this.type=3}}class Tb{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)}}class Rb{constructor(){this.type=5}}class Ab{constructor(e){this.type=6,this.isFocused=e}}class Pb{constructor(){this.type=7}}class Ob{constructor(){this.type=8}}class Fb{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class Wb{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class Bb{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class Hb{constructor(e,t,i,n,s,o,r){this.source=e,this.minimalReveal=t,this.range=i,this.selections=n,this.verticalType=s,this.revealHorizontal=o,this.scrollType=r,this.type=12}}class Vb{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}}class zb{constructor(e){this.theme=e,this.type=14}}class Ub{constructor(e){this.type=15,this.ranges=e}}class Kb{constructor(){this.type=16}}class jb{constructor(){this.type=17}}class $b extends Ae.jG{constructor(){super(),this._onEvent=this._register(new P.vl),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,i=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t0&&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):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}}class qb{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class Gb{constructor(e,t,i,n){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=n,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new Gb(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class Qb{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new Qb(this.oldHasFocus,e.hasFocus)}}class Yb{constructor(e,t,i,n,s,o,r,a){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=n,this.scrollWidth=s,this.scrollLeft=o,this.scrollHeight=r,this.scrollTop=a,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(e){return e.kind!==this.kind?null:new Yb(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class Zb{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class Xb{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class Jb{constructor(e,t,i,n,s,o,r){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=n,this.source=s,this.reason=o,this.reachedMaxCursorCount=r}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length;if(i!==t.length)return!1;for(let n=0;n0){const e=this._cursors.getSelections();for(let t=0;to&&(n=n.slice(0,o),s=!0);const r=lC.from(this._model,this);return this._cursors.setStates(n),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,r,s)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,i,n,s,o){const r=this._cursors.getViewPositions();let a=null,l=null;r.length>1?l=this._cursors.getViewSelections():a=Xs.Q.fromPositions(r[0],r[0]),e.emitViewEvent(new Hb(t,i,a,l,n,s,o))}revealPrimary(e,t,i,n,s,o){const r=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new Hb(t,i,null,r,n,s,o))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,n=t.length;i0){const t=po.fromModelSelections(i.resultingSelection);this.setStates(e,"modelChange",i.isUndoing?5:i.isRedoing?6:2,t)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const t=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,po.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;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),i=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:i.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,i,n){this.setStates(e,t,n,po.fromModelSelections(i))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const i=[],n=[];for(let r=0,a=e.length;r0&&this._pushAutoClosedAction(i,n),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,i,n,s){const o=lC.from(this._model,this);if(o.equals(n))return!1;const r=this._cursors.getSelections(),a=this._cursors.getViewSelections();if(e.emitViewEvent(new Mb(a,r,i)),!n||n.cursorState.length!==o.cursorState.length||o.cursorState.some(((e,t)=>!e.modelState.equals(n.cursorState[t].modelState)))){const a=n?n.cursorState.map((e=>e.modelState.selection)):null,l=n?n.modelVersionId:0;e.emitOutgoingEvent(new Jb(a,r,l,o.modelVersionId,t||"keyboard",i,s))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let i=0,n=e.length;i=0)return null;const s=n.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!s)return null;const o=s[1],r=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(o);if(!r||1!==r.length)return null;const a=r[0].open,l=n.text.length-s[2].length-1,h=n.text.lastIndexOf(a,l-1);if(-1===h)return null;t.push([h,l])}return t}executeEdits(e,t,i,n){let s=null;"snippet"===t&&(s=this._findAutoClosingPairs(i)),s&&(i[0]._isTracked=!0);const o=[],r=[],a=this._model.pushEditOperations(this.getSelections(),i,(e=>{if(s)for(let i=0,n=s.length;i0&&this._pushAutoClosedAction(o,r)}_executeEdit(e,t,i,n=0){if(this.context.cursorConfig.readOnly)return;const s=lC.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(o){(0,b.dz)(o)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,n,s,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return hC.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new uC(this._model,this.getSelections())}endComposition(e,t){const i=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit((()=>{"keyboard"===t&&this._executeEditOperation(Lr.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,i,this.getSelections(),this.getAutoClosedCharacters()))}),e,t)}type(e,t,i){this._executeEdit((()=>{if("keyboard"===i){const e=t.length;let i=0;for(;i{this._executeEditOperation(Lr.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,n,s))}),e,o);else if(0!==s){const t=this.getSelections().map((e=>{const t=e.getPosition();return new $s.L(t.lineNumber,t.column+s,t.lineNumber,t.column+s)}));this.setSelections(e,o,t,0)}}paste(e,t,i,n,s){this._executeEdit((()=>{this._executeEditOperation(Lr.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,n||[]))}),e,s,4)}cut(e,t){this._executeEdit((()=>{this._executeEditOperation(Io.cut(this.context.cursorConfig,this._model,this.getSelections()))}),e,t)}executeCommand(e,t,i){this._executeEdit((()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new vo(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,i)}executeCommands(e,t,i){this._executeEdit((()=>{this._executeEditOperation(new vo(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,i)}}class lC{static from(e,t){return new lC(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t=t.length)return!1;if(!t[i].strictContainsRange(e[i]))return!1}return!0}}class dC{static executeCommands(e,t,i){const n={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},s=this._innerExecuteCommands(n,i);for(let o=0,r=n.trackedRanges.length;o0&&(o[0]._isTracked=!0);let r=e.model.pushEditOperations(e.selectionsBefore,o,(i=>{const n=[];for(let t=0;te.identifier.minor-t.identifier.minor,o=[];for(let r=0;r0?(n[r].sort(s),o[r]=t[r].computeCursorState(e.model,{getInverseEditOperations:()=>n[r],getTrackedSelection:t=>{const i=parseInt(t,10),n=e.model._getTrackedRange(e.trackedRanges[i]);return 0===e.trackedRangesDirection[i]?new $s.L(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new $s.L(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn)}})):o[r]=e.selectionsBefore[r];return o}));r||(r=e.selectionsBefore);const a=[];for(const l in s)s.hasOwnProperty(l)&&a.push(parseInt(l,10));a.sort(((e,t)=>t-e));for(const l of a)r.splice(l,1);return r}static _arrayIsEmpty(e){for(let t=0,i=e.length;t{Xs.Q.isEmpty(e)&&""===o||n.push({identifier:{major:t,minor:s++},range:e,text:o,forceMoveMarkers:r,isAutoWhitespaceEdit:i.insertsAutoWhitespace})};let r=!1;const a={addEditOperation:o,addTrackedEditOperation:(e,t,i)=>{r=!0,o(e,t,i)},trackSelection:(t,i)=>{const n=$s.L.liftSelection(t);let s;if(n.isEmpty())if("boolean"==typeof i)s=i?2:3;else{const t=e.model.getLineMaxColumn(n.startLineNumber);s=n.startColumn===t?2:3}else s=1;const o=e.trackedRanges.length,r=e.model._setTrackedRange(null,n,s);return e.trackedRanges[o]=r,e.trackedRangesDirection[o]=n.getDirection(),o.toString()}};try{i.getEditOperations(e.model,a)}catch(l){return(0,b.dz)(l),{operations:[],hadTrackedEditOperation:!1}}return{operations:n,hadTrackedEditOperation:r}}static _getLoserCursorMap(e){(e=e.slice(0)).sort(((e,t)=>-Xs.Q.compareRangesUsingEnds(e.range,t.range)));const t={};for(let i=1;is.identifier.major?n.identifier.major:s.identifier.major,t[o.toString()]=!0;for(let t=0;t0&&i--}}return t}}class cC{constructor(e,t,i){this.text=e,this.startSelection=t,this.endSelection=i}}class uC{static _capture(e,t){const i=[];for(const n of t){if(n.startLineNumber!==n.endLineNumber)return null;i.push(new cC(e.getLineContent(n.startLineNumber),n.startColumn-1,n.endColumn-1))}return i}constructor(e,t){this._original=uC._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const i=uC._capture(e,t);if(!i)return null;if(this._original.length!==i.length)return null;const n=[];for(let s=0,o=this._original.length;s>>1;t===e[o].afterLineNumber?i{t=!0,e|=0,i|=0,n|=0,s|=0;const o=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new pC(o,e,i,n,s)),o},changeOneWhitespace:(e,i,n)=>{t=!0,i|=0,n|=0,this._pendingChanges.change({id:e,newAfterLineNumber:i,newHeight:n})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const t of e)this._insertWhitespace(t);for(const e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(const e of i){const t=this._findWhitespaceIndex(e.id);-1!==t&&this._removeWhitespace(t)}return}const n=new Set;for(const a of i)n.add(a.id);const s=new Map;for(const a of t)s.set(a.id,a);const o=e=>{const t=[];for(const i of e)if(!n.has(i.id)){if(s.has(i.id)){const e=s.get(i.id);i.afterLineNumber=e.newAfterLineNumber,i.height=e.newHeight}t.push(i)}return t},r=o(this._arr).concat(o(e));r.sort(((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber)),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=mC.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,n=t.length;it&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let i=0,n=this._arr.length;i=t.length||t[s+1].afterLineNumber>=e)return s;i=s+1|0}else n=s-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;const t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?this._lineHeight*(e-1):0;return i+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){this._checkPendingChanges(),e|=0;return this._lineHeight*e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let e=0;for(let t=0,i=this._arr.length;tthis.getLinesTotalHeight()}isInTopPadding(e){return 0!==this._paddingTop&&(this._checkPendingChanges(),e=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;const t=0|this._lineCount,i=this._lineHeight;let n=1,s=t;for(;n=o+i)n=t+1;else{if(e>=o)return t;s=t}}return n>t?t:n}getLinesViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this._lineHeight,n=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(n);let o=0|this._lineCount,r=0|this.getFirstWhitespaceIndexAfterLineNumber(n);const a=0|this.getWhitespacesCount();let l,h;-1===r?(r=a,h=o+1,l=0):(h=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));let d=s,c=d;const u=5e5;let g=0;s>=u&&(g=Math.floor(s/u)*u,g=Math.floor(g/i)*i,c-=g);const p=[],m=e+(t-e)/2;let f=-1;for(let C=n;C<=o;C++){if(-1===f){(d<=m&&mm)&&(f=C)}for(d+=i,p[C-n]=c,c+=i;h===C;)c+=l,d+=l,r++,r>=a?h=o+1:(h=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));if(d>=t){o=C;break}}-1===f&&(f=o);const _=0|this.getVerticalOffsetForLineNumber(o);let v=n,b=o;return vt&&b--,{bigNumbersDelta:g,startLineNumber:n,endLineNumber:o,relativeVerticalOffset:p,centeredLineNumber:f,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:b,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i,n;return i=t>=1?this._lineHeight*t:0,n=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,i+n+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(i)+this.getHeightForWhitespaceIndex(i))return-1;for(;t=s+this.getHeightForWhitespaceIndex(n))t=n+1;else{if(e>=s)return n;i=n}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const n=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:i,height:n}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),n=this.getWhitespacesCount()-1;if(i<0)return[];const s=[];for(let o=i;o<=n;o++){const e=this.getVerticalOffsetForWhitespaceIndex(o),i=this.getHeightForWhitespaceIndex(o);if(e>=t)break;s.push({id:this.getIdForWhitespaceIndex(o),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(o),verticalOffset:e,height:i})}return s}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}}class fC{constructor(e,t,i,n){(e|=0)<0&&(e=0),(t|=0)<0&&(t=0),(i|=0)<0&&(i=0),(n|=0)<0&&(n=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=n,this.scrollHeight=Math.max(i,n)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class _C extends Ae.jG{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new P.vl),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new fC(0,0,0,0),this._scrollable=this._register(new Ku({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;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,n=t.contentHeight!==e.contentHeight;(i||n)&&this._onDidContentSizeChange.fire(new Gb(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()}}class vC extends Ae.jG{constructor(e,t,i){super(),this._configuration=e;const n=this._configuration.options,s=n.get(146),o=n.get(84);this._linesLayout=new mC(t,n.get(67),o.top,o.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new _C(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new fC(s.contentWidth,0,s.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(115)?125:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const e=t.get(84);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(146)){const e=t.get(146),i=e.contentWidth,n=e.height,s=this._scrollable.getScrollDimensions(),o=s.contentWidth;this._scrollable.setScrollDimensions(new fC(i,s.contentWidth,n,this._getContentHeight(i,n,o)))}else this._updateHeight();e.hasChanged(115)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const i=this._configuration.options.get(104);return 2===i.horizontal||e>=t?0:i.horizontalScrollbarSize}_getContentHeight(e,t,i){const n=this._configuration.options;let s=this._linesLayout.getLinesTotalHeight();return n.get(106)?s+=Math.max(0,t-n.get(67)-n.get(84).bottom):n.get(104).ignoreHorizontalScrollbarInContentHeight||(s+=this._getHorizontalScrollbarHeight(e,i)),s}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,n=e.contentWidth;this._scrollable.setScrollDimensions(new fC(t,e.contentWidth,i,this._getContentHeight(t,i,n)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Q_(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Q_(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,i=e.get(147),n=e.get(50),s=e.get(146);if(i.isViewportWrapping){const i=e.get(73);return t>s.contentWidth+n.typicalHalfwidthCharacterWidth&&i.enabled&&"right"===i.side?t+s.verticalScrollbarWidth:t}{const i=e.get(105)*n.typicalHalfwidthCharacterWidth,o=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+i+s.verticalScrollbarWidth,o,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new fC(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i),scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(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)}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(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const 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(){const 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){1===t?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}}class bC{constructor(e,t,i,n,s){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=n,this._coordinatesConverter=s,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const n=e.range,s=e.options;let o;if(s.isWholeLine){const e=this._coordinatesConverter.convertModelPositionToViewPosition(new Gn.y(n.startLineNumber,1),0,!1,!0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new Gn.y(n.endLineNumber,this.model.getLineMaxColumn(n.endLineNumber)),1);o=new Xs.Q(e.lineNumber,e.column,t.lineNumber,t.column)}else o=this._coordinatesConverter.convertModelRangeToViewRange(n,1);i=new tv(o,s),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=null!==this._cachedModelDecorationsResolver;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,i=!1){const n=new Xs.Q(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(n,t,i).inlineDecorations[0]}_getDecorationsInRange(e,t,i){const n=this._linesCollection.getDecorationsInRange(e,this.editorId,vc(this.configuration.options),t,i),s=e.startLineNumber,o=e.endLineNumber,r=[];let a=0;const l=[];for(let h=s;h<=o;h++)l[h-s]=[];for(let h=0,d=n.length;h1===e))}function yC(e,t){return SC(e,t.range,(e=>2===e))}function SC(e,t,i){for(let n=t.startLineNumber;n<=t.endLineNumber;n++){const s=e.tokenization.getLineTokens(n),o=n===t.startLineNumber,r=n===t.endLineNumber;let a=o?s.findTokenIndexAtOffset(t.startColumn-1):0;for(;at.endColumn-1)break}if(!i(s.getStandardTokenType(a)))return!1;a++}}return!0}function kC(e,t){return null===e?t?xC.INSTANCE:DC.INSTANCE:new LC(e,t)}class LC{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,i){this._assertVisible();const n=i>0?this._projectionData.breakOffsets[i-1]:0,s=this._projectionData.breakOffsets[i];let o;if(null!==this._projectionData.injectionOffsets){const i=this._projectionData.injectionOffsets.map(((e,t)=>new nb.uK(0,0,e+1,this._projectionData.injectionOptions[t],0)));o=nb.uK.applyInjectedText(e.getLineContent(t),i).substring(n,s)}else o=e.getValueInRange({startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:s+1});return i>0&&(o=IC(this._projectionData.wrappedTextIndentLength)+o),o}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const n=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],n),n[0]}getViewLinesData(e,t,i,n,s,o,r){this._assertVisible();const a=this._projectionData,l=a.injectionOffsets,h=a.injectionOptions;let d,c=null;if(l){c=[];let e=0,t=0;for(let i=0;i0?a.breakOffsets[i-1]:0,o=a.breakOffsets[i];for(;to)break;if(s0?a.wrappedTextIndentLength:0,r=t+Math.max(d-s,0),l=t+Math.min(c-s,o-s);r!==l&&n.push(new ev(r,l,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(!(c<=o))break;e+=r,t++}}}d=l?e.tokenization.getLineTokens(t).withInserted(l.map(((e,t)=>({offset:e,text:h[t].content,tokenMetadata:Wo.f.defaultTokenMetadata})))):e.tokenization.getLineTokens(t);for(let u=i;u0?n.wrappedTextIndentLength:0,o=i>0?n.breakOffsets[i-1]:0,r=n.breakOffsets[i],a=e.sliceAndInflate(o,r,s);let l=a.getLineContent();i>0&&(l=IC(n.wrappedTextIndentLength)+l);const h=this._projectionData.getMinOutputOffset(i)+1,d=l.length+1,c=i+1=NC.length)for(let t=1;t<=e;t++)NC[t]=EC(t);return NC[e]}function EC(e){return new Array(e+1).join(" ")}var MC=i(56158);class TC{constructor(e,t,i,n,s,o,r,a,l,h){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=i,this._monospaceLineBreaksComputerFactory=n,this.fontInfo=s,this.tabSize=o,this.wrappingStrategy=r,this.wrappingColumn=a,this.wrappingIndent=l,this.wordBreak=h,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new PC(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const i=this.model.getLinesContent(),n=this.model.getInjectedTextDecorations(this._editorId),s=i.length,o=this.createLineBreaksComputer(),r=new ia.j3(nb.uK.fromDecorations(n));for(let p=0;pe.lineNumber===p+1));o.addRequest(i[p],e,t?t[p]:null)}const a=o.finalize(),l=[],h=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(Xs.Q.compareRangesUsingStarts);let d=1,c=0,u=-1,g=u+1=d&&e<=c,i=kC(a[p],!t);l[p]=i.getViewLineCount(),this.modelLineProjections[p]=i}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new MC.c2(l)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e)))}setHiddenAreas(e){const t=function(e){if(0===e.length)return[];const t=e.slice();t.sort(Xs.Q.compareRangesUsingStarts);const i=[];let n=t[0].startLineNumber,s=t[0].endLineNumber;for(let o=1,r=t.length;os+1?(i.push(new Xs.Q(n,1,s,1)),n=e.startLineNumber,s=e.endLineNumber):e.endLineNumber>s&&(s=e.endLineNumber)}return i.push(new Xs.Q(n,1,s,1)),i}(e.map((e=>this.model.validateRange(e)))),i=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(Xs.Q.compareRangesUsingStarts);if(t.length===i.length){let e=!1;for(let n=0;n({range:e,options:eo.kI.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,n);const s=t;let o=1,r=0,a=-1,l=a+1=o&&e<=r?this.modelLineProjections[d].isVisible()&&(this.modelLineProjections[d]=this.modelLineProjections[d].setVisible(!1),t=!0):(h=!0,this.modelLineProjections[d].isVisible()||(this.modelLineProjections[d]=this.modelLineProjections[d].setVisible(!0),t=!0)),t){const e=this.modelLineProjections[d].getViewLineCount();this.projectedModelLineLineCounts.setValue(d,e)}}return h||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return!(e<1||e>this.modelLineProjections.length)&&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,i,n,s){const o=this.fontInfo.equals(e),r=this.wrappingStrategy===t,a=this.wrappingColumn===i,l=this.wrappingIndent===n,h=this.wordBreak===s;if(o&&r&&a&&l&&h)return!1;const d=o&&r&&!a&&l&&h;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=n,this.wordBreak=s;let c=null;if(d){c=[];for(let e=0,t=this.modelLineProjections.length;e2&&!this.modelLineProjections[t-2].isVisible(),o=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let r=0;const a=[],l=[];for(let h=0,d=n.length;hr?(l=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,h=l+r-1,u=h+1,g=u+(s-r)-1,a=!0):st?t:0|e}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),s=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),o=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),r=this.model.guides.getActiveIndentGuide(n.lineNumber,s.lineNumber,o.lineNumber),a=this.convertModelPositionToViewPosition(r.startLineNumber,1),l=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:a.lineNumber,endLineNumber:l.lineNumber,indent:r.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,n=t.remainder;return new RC(i+1,n)}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){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Gn.y(e.modelLineNumber,n)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Gn.y(e.modelLineNumber,n)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),n=this.getViewLineInfo(t),s=new Array;let o=this.getModelStartPositionOfViewLine(i),r=new Array;for(let a=i.modelLineNumber;a<=n.modelLineNumber;a++){const e=this.modelLineProjections[a-1];if(e.isVisible()){const t=a===i.modelLineNumber?i.modelLineWrappedLineIdx:0,s=a===n.modelLineNumber?n.modelLineWrappedLineIdx+1:e.getViewLineCount();for(let e=t;e{if(-1!==e.forWrappedLinesAfterColumn){if(this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=i.modelLineWrappedLineIdx)return}if(-1!==e.forWrappedLinesBeforeOrAtColumn){if(this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumberi.modelLineWrappedLineIdx)return}const n=this.convertModelPositionToViewPosition(i.modelLineNumber,e.horizontalLine.endColumn),s=this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return s.lineNumber===i.modelLineWrappedLineIdx?new F_.TH(e.visibleColumn,t,e.className,new F_.pv(e.horizontalLine.top,n.column),-1,-1):s.lineNumber!!e)))}}return o}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),n=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let s=[];const o=[],r=[],a=i.lineNumber-1,l=n.lineNumber-1;let h=null;for(let g=a;g<=l;g++){const e=this.modelLineProjections[g];if(e.isVisible()){const t=e.getViewLineNumberOfModelPosition(0,g===a?i.column:1),n=e.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(g+1)),s=n-t+1;let l=0;s>1&&1===e.getViewLineMinColumn(this.model,g+1,n)&&(l=0===t?1:2),o.push(s),r.push(l),null===h&&(h=new Gn.y(g+1,0))}else null!==h&&(s=s.concat(this.model.guides.getLinesIndentGuides(h.lineNumber,g)),h=null)}null!==h&&(s=s.concat(this.model.guides.getLinesIndentGuides(h.lineNumber,n.lineNumber)),h=null);const d=t-e+1,c=new Array(d);let u=0;for(let g=0,p=s.length;gt&&(c=!0,d=t-s+1),n.getViewLinesData(this.model,l+1,h,d,s-e,i,a),s+=d,c)break}return a}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const n=this.projectedModelLineLineCounts.getIndexOf(e-1),s=n.index,o=n.remainder,r=this.modelLineProjections[s],a=r.getViewLineMinColumn(this.model,s+1,o),l=r.getViewLineMaxColumn(this.model,s+1,o);tl&&(t=l);const h=r.getModelColumnOfViewPosition(o,t);return this.model.validatePosition(new Gn.y(s+1,h)).equals(i)?new Gn.y(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),n=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new Xs.Q(i.lineNumber,i.column,n.lineNumber,n.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),n=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new Gn.y(i.modelLineNumber,n))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new Xs.Q(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2,n=!1,s=!1){const o=this.model.validatePosition(new Gn.y(e,t)),r=o.lineNumber,a=o.column;let l=r-1,h=!1;if(s)for(;l0&&!this.modelLineProjections[l].isVisible();)l--,h=!0;if(0===l&&!this.modelLineProjections[l].isVisible())return new Gn.y(n?0:1,1);const d=1+this.projectedModelLineLineCounts.getPrefixSum(l);let c;return c=h?s?this.modelLineProjections[l].getViewPositionOfModelPosition(d,1,i):this.modelLineProjections[l].getViewPositionOfModelPosition(d,this.model.getLineMaxColumn(l+1),i):this.modelLineProjections[r-1].getViewPositionOfModelPosition(d,a,i),c}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return Xs.Q.fromPositions(i)}{const t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),i=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new Xs.Q(t.lineNumber,t.column,i.lineNumber,i.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const e=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(e,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(0===i&&!this.modelLineProjections[i].isVisible())return 1;const n=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(n,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i,n,s){const o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),r=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(r.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new Xs.Q(o.lineNumber,1,r.lineNumber,r.column),t,i,n,s);let a=[];const l=o.lineNumber-1,h=r.lineNumber-1;let d=null;for(let p=l;p<=h;p++){if(this.modelLineProjections[p].isVisible())null===d&&(d=new Gn.y(p+1,p===l?o.column:1));else if(null!==d){const e=this.model.getLineMaxColumn(p);a=a.concat(this.model.getDecorationsInRange(new Xs.Q(d.lineNumber,d.column,p,e),t,i,n)),d=null}}null!==d&&(a=a.concat(this.model.getDecorationsInRange(new Xs.Q(d.lineNumber,d.column,r.lineNumber,r.column),t,i,n)),d=null),a.sort(((e,t)=>{const i=Xs.Q.compareRangesUsingStarts(e.range,t.range);return 0===i?e.idt.id?1:0:i}));const c=[];let u=0,g=null;for(const p of a){const e=p.id;g!==e&&(g=e,c[u++]=p)}return c}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return 0===t.modelLineWrappedLineIdx?this.model.getLineIndentColumn(t.modelLineNumber):0}}class RC{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class AC{constructor(e,t){this.modelRange=e,this.viewLines=t}}class PC{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,i,n){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,i,n)}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)}}class OC{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new FC(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,n){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new Wb(t,i)}onModelLinesInserted(e,t,i,n){return new Bb(t,i)}onModelLineChanged(e,t,i){return[!1,new Fb(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,n=new Array(i);for(let s=0;st)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}const WC=Js.ZS.Right;class BC{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*WC/8))}reset(e){const t=Math.ceil((e+1)*WC/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow()),0)),this._hasFocus=!1,this._viewportStart=VC.create(this.model),this.glyphLanes=new BC(0),this.model.isTooLargeForTokenization())this._lines=new OC(this.model);else{const e=this._configuration.options,t=e.get(50),i=e.get(140),o=e.get(147),r=e.get(139),a=e.get(130);this._lines=new TC(this._editorId,this.model,n,s,t,this.model.getOptions().tabSize,i,o.wrappingColumn,r,a)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new aC(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new vC(this._configuration,this.getLineCount(),o)),this._register(this.viewLayout.onDidScroll((e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new Vb(e)),this._eventDispatcher.emitOutgoingEvent(new Yb(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 bC(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}}))),this._register(G_.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new Kb)}))),this._register(this._themeService.onDidColorThemeChange((e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new zb(e))}))),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new Xs.Q(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new Ab(e)),this._eventDispatcher.emitOutgoingEvent(new Qb(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new Nb)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new Ib)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new Gn.y(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new jC(t,this._viewportStart.startLineDelta)}return new jC(null,0)}_onConfigurationChanged(e,t){const i=this._captureStableViewport(),n=this._configuration.options,s=n.get(50),o=n.get(140),r=n.get(147),a=n.get(139),l=n.get(130);this._lines.setWrappingSettings(s,o,r.wrappingColumn,a,l)&&(e.emitViewEvent(new Rb),e.emitViewEvent(new Ob),e.emitViewEvent(new Tb(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(92)&&(this._decorations.reset(),e.emitViewEvent(new Tb(null))),t.hasChanged(99)&&(this._decorations.reset(),e.emitViewEvent(new Tb(null))),e.emitViewEvent(new Eb(t)),this.viewLayout.onConfigurationChanged(t),i.recoverViewportStart(this.coordinatesConverter,this.viewLayout),go.shouldRecreate(t)&&(this.cursorConfig=new go(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();let i=!1,n=!1;const s=e instanceof nb.Ic?e.rawContentChangedEvent.changes:e.changes,o=e instanceof nb.Ic?e.rawContentChangedEvent.versionId:null,r=this._lines.createLineBreaksComputer();for(const e of s)switch(e.changeType){case 4:for(let t=0;t!e.ownerId||e.ownerId===this._editorId))),r.addRequest(i,n,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter((e=>!e.ownerId||e.ownerId===this._editorId))),r.addRequest(e.detail,t,null);break}}const a=r.finalize(),l=new ia.j3(a);for(const e of s)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new Rb),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),i=!0;break;case 3:{const n=this._lines.onModelLinesDeleted(o,e.fromLineNumber,e.toLineNumber);null!==n&&(t.emitViewEvent(n),this.viewLayout.onLinesDeleted(n.fromLineNumber,n.toLineNumber)),i=!0;break}case 4:{const n=l.takeCount(e.detail.length),s=this._lines.onModelLinesInserted(o,e.fromLineNumber,e.toLineNumber,n);null!==s&&(t.emitViewEvent(s),this.viewLayout.onLinesInserted(s.fromLineNumber,s.toLineNumber)),i=!0;break}case 2:{const i=l.dequeue(),[s,r,a,h]=this._lines.onModelLineChanged(o,e.lineNumber,i);n=s,r&&t.emitViewEvent(r),a&&(t.emitViewEvent(a),this.viewLayout.onLinesInserted(a.fromLineNumber,a.toLineNumber)),h&&(t.emitViewEvent(h),this.viewLayout.onLinesDeleted(h.fromLineNumber,h.toLineNumber));break}}null!==o&&this._lines.acceptVersionId(o),this.viewLayout.onHeightMaybeChanged(),!i&&n&&(t.emitViewEvent(new Ob),t.emitViewEvent(new Tb(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){const t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),i=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:i+this._viewportStart.startLineDelta},1)}}try{const t=this._eventDispatcher.beginEmitViewEvents();e instanceof nb.Ic&&t.emitOutgoingEvent(new sC(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()}))),this._register(this.model.onDidChangeTokens((e=>{const t=[];for(let i=0,n=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new Pb),this.cursorConfig=new go(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new nC(e))}))),this._register(this.model.onDidChangeLanguage((e=>{this.cursorConfig=new go(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new iC(e))}))),this._register(this.model.onDidChangeOptions((e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new Rb),e.emitViewEvent(new Ob),e.emitViewEvent(new Tb(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new go(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new oC(e))}))),this._register(this.model.onDidChangeDecorations((e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new Tb(e)),this._eventDispatcher.emitOutgoingEvent(new tC(e))})))}setHiddenAreas(e,t){this.hiddenAreasModel.setHiddenAreas(t,e);const i=this.hiddenAreasModel.getMergedRanges();if(i===this.previousHiddenAreas)return;this.previousHiddenAreas=i;const n=this._captureStableViewport();let s=!1;try{const e=this._eventDispatcher.beginEmitViewEvents();s=this._lines.setHiddenAreas(i),s&&(e.emitViewEvent(new Rb),e.emitViewEvent(new Ob),e.emitViewEvent(new Tb(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const t=n.viewportStartModelPosition?.lineNumber,o=t&&i.some((e=>e.startLineNumber<=t&&t<=e.endLineNumber));o||n.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),s&&this._eventDispatcher.emitOutgoingEvent(new Xb)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(146),t=this._configuration.options.get(67),i=Math.max(20,Math.round(e.height/t)),n=this.viewLayout.getLinesViewportData(),s=Math.max(1,n.completelyVisibleStartLineNumber-i),o=Math.min(this.getLineCount(),n.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new Xs.Q(s,this.getLineMinColumn(s),o,this.getLineMaxColumn(o)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(0===i.length)return[t];const n=[];let s=0,o=t.startLineNumber,r=t.startColumn;const a=t.endLineNumber,l=t.endColumn;for(let h=0,d=i.length;ha||(ot.toInlineDecoration(e)))]),new X_(o.minColumn,o.maxColumn,o.content,o.continuesWithWrappedLine,i,n,o.tokens,t,s,o.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const n=this._lines.getViewLinesData(e,t,i);return new Y_(this.getTabSize(),n)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,vc(this._configuration.options)),i=new zC;for(const n of t){const t=n.options,s=t.overviewRuler;if(!s)continue;const o=s.position;if(0===o)continue;const r=s.getColor(e.value),a=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.startLineNumber,n.range.startColumn),l=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.endLineNumber,n.range.endColumn);i.accept(r,t.zIndex,a,l,o)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const e=t.options.overviewRuler;e?.invalidateCachedColor();const i=t.options.minimap;i?.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}getValueLengthInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(i,t)}modifyPosition(e,t){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e),n=this.model.modifyPosition(i,t);return this.coordinatesConverter.convertModelPositionToViewPosition(n)}deduceModelPositionRelativeToViewPosition(e,t,i){const n=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=i:t+=i);const s=this.model.getOffsetAt(n)+t;return this.model.getPositionAt(s)}getPlainTextToCopy(e,t,i){const n=i?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(Xs.Q.compareRangesUsingStarts);let s=!1,o=!1;for(const a of e)a.isEmpty()?s=!0:o=!0;if(!o){if(!t)return"";const i=e.map((e=>e.startLineNumber));let s="";for(let e=0;e0&&i[e-1]===i[e]||(s+=this.model.getLineContent(i[e])+n);return s}if(s&&t){const t=[];let n=0;for(const s of e){const e=s.startLineNumber;s.isEmpty()?e!==n&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(s,i?2:0)),n=e}return 1===t.length?t[0]:t}const r=[];for(const a of e)a.isEmpty()||r.push(this.model.getValueInRange(a,i?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===Dh.vH)return null;if(1!==e.length)return null;let n=e[0];if(n.isEmpty()){if(!t)return null;const e=n.startLineNumber;n=new Xs.Q(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}const s=this._configuration.options.get(50),o=this._getColorMap();let r;if(/[:;\\\/<>]/.test(s.fontFamily)||s.fontFamily===Ic.fontFamily)r=Ic.fontFamily;else{r=s.fontFamily,r=r.replace(/"/g,"'");if(!/[,']/.test(r)){/[+ ]/.test(r)&&(r=`'${r}'`)}r=`${r}, ${Ic.fontFamily}`}return{mode:i,html:`
    `+this._getHTMLToCopy(n,o)+"
    "}}_getHTMLToCopy(e,t){const i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,o=e.endColumn,r=this.getTabSize();let a="";for(let l=i;l<=s;l++){const e=this.model.tokenization.getLineTokens(l),h=e.getLineContent(),d=l===i?n-1:0,c=l===s?o-1:h.length;a+=""===h?"
    ":Eh(h,e.inflate(),t,d,c,r,f.uF)}return a}_getColorMap(){const e=ka.dG.getColorMap(),t=["#000000"];if(e)for(let i=1,n=e.length;ithis._cursor.setStates(n,e,t,i)))}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,i=0){this._withViewEventsCollector((n=>this._cursor.setSelections(n,e,t,i)))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector((t=>this._cursor.restoreState(t,e)))}_executeCursorEdit(e){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new eC):this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit((n=>this._cursor.executeEdits(n,e,t,i)))}startComposition(){this._executeCursorEdit((e=>this._cursor.startComposition(e)))}endComposition(e){this._executeCursorEdit((t=>this._cursor.endComposition(t,e)))}type(e,t){this._executeCursorEdit((i=>this._cursor.type(i,e,t)))}compositionType(e,t,i,n,s){this._executeCursorEdit((o=>this._cursor.compositionType(o,e,t,i,n,s)))}paste(e,t,i,n){this._executeCursorEdit((s=>this._cursor.paste(s,e,t,i,n)))}cut(e){this._executeCursorEdit((t=>this._cursor.cut(t,e)))}executeCommand(e,t){this._executeCursorEdit((i=>this._cursor.executeCommand(i,e,t)))}executeCommands(e,t){this._executeCursorEdit((i=>this._cursor.executeCommands(i,e,t)))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector((n=>this._cursor.revealAll(n,e,i,0,t,0)))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector((n=>this._cursor.revealPrimary(n,e,i,0,t,0)))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new Xs.Q(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new Hb(e,!1,i,null,0,!0,0))))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new Xs.Q(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new Hb(e,!1,i,null,0,!0,0))))}revealRange(e,t,i,n,s){this._withViewEventsCollector((o=>o.emitViewEvent(new Hb(e,!1,i,null,n,t,s))))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new jb),this._eventDispatcher.emitOutgoingEvent(new Zb))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges((()=>{try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}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)}}class VC{static create(e){const t=e._setTrackedRange(null,new Xs.Q(1,1,1,1),1);return new VC(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,i,n,s){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=n,this._startLineDelta=s}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new Gn.y(t,e.getLineMinColumn(t))),n=e.model._setTrackedRange(this._modelTrackedRange,new Xs.Q(i.lineNumber,i.column,i.lineNumber,i.column),1),s=e.viewLayout.getVerticalOffsetForLineNumber(t),o=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=n,this._startLineDelta=o-s}invalidate(){this._isValid=!1}}class zC{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,n,s){const o=this._asMap[e];if(o){const e=o.data,t=e[e.length-3],r=e[e.length-1];if(t===s&&r+1>=i)return void(n>r&&(e[e.length-1]=n));e.push(s,i,n)}else{const o=new iv(e,t,[s,i,n]);this._asMap[e]=o,this.asArray.push(o)}}}class UC{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const i=this.hiddenAreas.get(e);i&&KC(i,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce(((e,t)=>function(e,t){const i=[];let n=0,s=0;for(;n=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},QC=function(e,t){return function(i,n){t(i,n,e)}};let YC=class extends Ae.jG{static{qC=this}static{this.dropIntoEditorDecorationOptions=eo.kI.register({description:"workbench-dnd-target",className:"dnd-target"})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(e,t,i,n,s,o,r,a,l,h,d,c){super(),this.languageConfigurationService=d,this._deliveryQueue=(0,P.Qy)(),this._contributions=this._register(new db),this._onDidDispose=this._register(new P.vl),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new ew(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new JC({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new JC({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new ew(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new ew(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new ew(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new ew(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new ew(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new ew(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new ew(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new ew(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new ew(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new ew(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new ew(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new ew(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new ew(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new ew(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new ew(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new ew(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new ew(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onBeginUpdate=this._register(new P.vl),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new P.vl),this.onEndUpdate=this._onEndUpdate.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),s.willCreateCodeEditor();const u={...t};let g;this._domElement=e,this._overflowWidgetsDomNode=u.overflowWidgetsDomNode,delete u.overflowWidgetsDomNode,this._id=++ZC,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,i.contextMenuId??(i.isSimpleWidget?_s.SimpleEditorContext:_s.EditorContext),u,h)),this._register(this._configuration.onDidChange((e=>{this._onDidChangeConfiguration.fire(e);const t=this._configuration.options;if(e.hasChanged(146)){const e=t.get(146);this._onDidLayoutChange.fire(e)}}))),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=l,this._codeEditorService=s,this._commandService=o,this._themeService=a,this._register(new tw(this,this._contextKeyService)),this._register(new iw(this,this._contextKeyService,c)),this._instantiationService=this._register(n.createChild(new $C([ls.fN,this._contextKeyService]))),this._modelData=null,this._focusTracker=new nw(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange((()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())}))),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},g=Array.isArray(i.contributions)?i.contributions:xs.getEditorContributions(),this._contributions.initialize(this,g,this._instantiationService);for(const m of xs.getEditorActions()){if(this._actions.has(m.id)){(0,b.dz)(new Error(`Cannot have two actions with the same id ${m.id}`));continue}const e=new cb(m.id,m.label,m.alias,m.metadata,m.precondition??void 0,(e=>this._instantiationService.invokeFunction((t=>Promise.resolve(m.runEditorCommand(t,this,e))))),this._contextKeyService);this._actions.set(e.id,e)}const p=()=>!this._configuration.options.get(92)&&this._configuration.options.get(36).enabled;this._register(new di(this._domElement,{onDragOver:e=>{if(!p())return;const t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!p())return;if(this.removeDropIndicator(),!e.dataTransfer)return;const 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,i,n){return new km(e,t,i,this._domElement,n)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return ub.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),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?To.getWordAtPosition(this._modelData.model,this._configuration.options.get(132),this._configuration.options.get(131),e):null}getValue(e=null){if(!this._modelData)return"";const t=!(!e||!e.preserveBOM);let i=0;return e&&e.lineEnding&&"\n"===e.lineEnding?i=1:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(i=2),this._modelData.model.getValue(i,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();const t=e;if(null===this._modelData&&null===t)return;if(this._modelData&&this._modelData.model===t)return;const i={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(i);const n=this.hasTextFocus(),s=this._detachModel();this._attachModel(t),n&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(s),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}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,i,n){const s=e.model.validatePosition({lineNumber:t,column:i}),o=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(o.lineNumber,n)}getTopForLineNumber(e,t=!1){return this._modelData?qC._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?qC._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,n=!1){const s=e.model.validatePosition({lineNumber:t,column:i}),o=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(o.lineNumber,n)}getBottomForLineNumber(e,t=!1){if(!this._modelData)return-1;const i=this._modelData.model.getLineMaxColumn(e);return qC._getVerticalOffsetAfterPosition(this._modelData,e,i,t)}setHiddenAreas(e,t){this._modelData?.viewModel.setHiddenAreas(e.map((e=>Xs.Q.lift(e))),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return ao.A.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!Gn.y.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,n){if(!this._modelData)return;if(!Xs.Q.isIRange(e))throw new Error("Invalid arguments");const s=this._modelData.model.validateRange(e),o=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(s);this._modelData.viewModel.revealRange("api",i,o,t,n)}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,i){if("number"!=typeof e)throw new Error("Invalid arguments");this._sendRevealRange(new Xs.Q(e,1,e,1),t,!1,i)}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,i,n){if(!Gn.y.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new Xs.Q(e.lineNumber,e.column,e.lineNumber,e.column),t,i,n)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=$s.L.isISelection(e),n=Xs.Q.isIRange(e);if(!i&&!n)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(n){const i={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(i,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new $s.L(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,n){if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new Xs.Q(e,1,t,1),i,!1,n)}revealRange(e,t=0,i=!1,n=!0){this._revealRange(e,i?1:0,n,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,i,n){if(!Xs.Q.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(Xs.Q.lift(e),t,i,n)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||0===e.length)throw new Error("Invalid arguments");for(let t=0,i=e.length;t0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]),this._contributions.restoreViewState(t.contributionsState||{});const i=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(i)}}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,i){i=i||{};try{switch(this._beginUpdate(),t){case"compositionStart":return void this._startComposition();case"compositionEnd":return void this._endComposition(e);case"type":{const t=i;return void this._type(e,t.text||"")}case"replacePreviousChar":{const t=i;return void this._compositionType(e,t.text||"",t.replaceCharCnt||0,0,0)}case"compositionType":{const t=i;return void this._compositionType(e,t.text||"",t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0)}case"paste":{const t=i;return void this._paste(e,t.text||"",t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent)}case"cut":return void this._cut(e)}const n=this.getAction(t);if(n)return void Promise.resolve(n.run(i)).then(void 0,b.dz);if(!this._modelData)return;if(this._triggerEditorCommand(e,t,i))return;this._triggerCommand(t,i)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&0!==t.length&&("keyboard"===e&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),"keyboard"===e&&this._onDidType.fire(t))}_compositionType(e,t,i,n,s){this._modelData&&this._modelData.viewModel.compositionType(t,i,n,s,e)}_paste(e,t,i,n,s,o){if(!this._modelData)return;const r=this._modelData.viewModel,a=r.getSelection().getStartPosition();r.paste(t,i,n,e);const l=r.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire({clipboardEvent:o,range:new Xs.Q(a.lineNumber,a.column,l.lineNumber,l.column),languageId:s})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){const n=xs.getEditorCommand(t);return!!n&&((i=i||{}).source=e,this._instantiationService.invokeFunction((e=>{Promise.resolve(n.runEditorCommand(e,this,i)).then(void 0,b.dz)})),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!!this._modelData&&(!this._configuration.options.get(92)&&(this._modelData.model.pushStackElement(),!0))}popUndoStop(){return!!this._modelData&&(!this._configuration.options.get(92)&&(this._modelData.model.popStackElement(),!0))}executeEdits(e,t,i){if(!this._modelData)return!1;if(this._configuration.options.get(92))return!1;let n;return n=i?Array.isArray(i)?()=>i:i:()=>null,this._modelData.viewModel.executeEdits(e,t,n),!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 sw(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,vc(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,vc(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?0===e.length&&0===t.length?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&0!==e.length&&this._modelData.model.changeDecorations((t=>{t.deltaDecorations(e,[])}))}removeDecorationsByType(e){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations((e=>e.deltaDecorations(t,[]))),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(146)}createOverviewRuler(e){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(e):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}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)&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const 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){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){const 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){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){const 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){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(i)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const 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?this._modelData.view.getTargetAtClientPoint(e,t):null}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const t=this._modelData.model.validatePosition(e),i=this._configuration.options,n=i.get(146);return{top:qC._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:i.get(67)}}getOffsetForColumn(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(e,t):-1}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents((()=>{this._modelData.view.render(!0,e)}))}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){Lh(e,this._configuration.options.get(50))}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)return void(this._modelData=null);const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const i=e.onBeforeAttached(),n=new HC(this._id,this._configuration,e,ob.create(We(this._domElement)),pb.create(this._configuration.options),(e=>nt(We(this._domElement),e)),this.languageConfigurationService,this._themeService,i,{batchChanges:e=>{try{return this._beginUpdate(),e()}finally{this._endUpdate()}}});t.push(e.onWillDispose((()=>this.setModel(null)))),t.push(n.onEvent((t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(t.reachedMaxCursorCount){const e=this.getOption(80),t=jn.kg("cursors.maximum","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.",e);this._notificationService.prompt(wd.Warning,t,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:jn.kg("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const e=[];for(let s=0,o=t.selections.length;s{this._paste("keyboard",e,t,i,n)},type:e=>{this._type("keyboard",e)},compositionType:(e,t,i,n)=>{this._compositionType("keyboard",e,t,i,n)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(e,t,i,n)=>{const s={text:e,pasteOnNewLine:t,multicursorText:i,mode:n};this._commandService.executeCommand("paste",s)},type:e=>{const t={text:e};this._commandService.executeCommand("type",t)},compositionType:(e,t,i,n)=>{if(i||n){const s={text:e,replacePrevCharCnt:t,replaceNextCharCnt:i,positionDelta:n};this._commandService.executeCommand("compositionType",s)}else{const i={text:e,replaceCharCnt:t};this._commandService.executeCommand("replacePreviousChar",i)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const i=new m_(e.coordinatesConverter);i.onKeyDown=e=>this._onKeyDown.fire(e),i.onKeyUp=e=>this._onKeyUp.fire(e),i.onContextMenu=e=>this._onContextMenu.fire(e),i.onMouseMove=e=>this._onMouseMove.fire(e),i.onMouseLeave=e=>this._onMouseLeave.fire(e),i.onMouseDown=e=>this._onMouseDown.fire(e),i.onMouseUp=e=>this._onMouseUp.fire(e),i.onMouseDrag=e=>this._onMouseDrag.fire(e),i.onMouseDrop=e=>this._onMouseDrop.fire(e),i.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),i.onMouseWheel=e=>this._onMouseWheel.fire(e);return[new Qv(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const 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 null!==this._modelData}showDropIndicatorAt(e){const t=[{range:new Xs.Q(e.lineNumber,e.column,e.lineNumber,e.column),options:qC.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,0===this._updateCounter&&this._onEndUpdate.fire()}};YC=qC=GC([QC(3,$n._Y),QC(4,qn),QC(5,rs),QC(6,ls.fN),QC(7,io.Gy),QC(8,yd),QC(9,jr),QC(10,Fo.JZ),QC(11,La.ILanguageFeaturesService)],YC);let ZC=0;class XC{constructor(e,t,i,n,s,o){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=n,this.listenersToRemove=s,this.attachedView=o}dispose(){(0,Ae.AS)(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class JC extends Ae.jG{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new P.vl(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new P.vl(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class ew extends P.vl{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class tw extends Ae.jG{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=js.editorSimpleInput.bindTo(t),this._editorFocus=js.focus.bindTo(t),this._textInputFocus=js.textInputFocus.bindTo(t),this._editorTextFocus=js.editorTextFocus.bindTo(t),this._tabMovesFocus=js.tabMovesFocus.bindTo(t),this._editorReadonly=js.readOnly.bindTo(t),this._inDiffEditor=js.inDiffEditor.bindTo(t),this._editorColumnSelection=js.columnSelection.bindTo(t),this._hasMultipleSelections=js.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=js.hasNonEmptySelection.bindTo(t),this._canUndo=js.canUndo.bindTo(t),this._canRedo=js.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(wm.onDidChangeTabFocus((e=>this._tabMovesFocus.set(e)))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(wm.getTabFocusMode()),this._editorReadonly.set(e.get(92)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const 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(){const e=this._editor.getModel();this._canUndo.set(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))}}class iw extends Ae.jG{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=js.languageId.bindTo(t),this._hasCompletionItemProvider=js.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=js.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=js.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=js.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=js.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=js.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=js.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=js.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=js.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=js.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=js.hasReferenceProvider.bindTo(t),this._hasRenameProvider=js.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=js.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=js.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=js.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=js.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=js.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=js.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=js.isInEmbeddedEditor.bindTo(t);const n=()=>this._update();this._register(e.onDidChangeModel(n)),this._register(e.onDidChangeModelLanguage(n)),this._register(i.completionProvider.onDidChange(n)),this._register(i.codeActionProvider.onDidChange(n)),this._register(i.codeLensProvider.onDidChange(n)),this._register(i.definitionProvider.onDidChange(n)),this._register(i.declarationProvider.onDidChange(n)),this._register(i.implementationProvider.onDidChange(n)),this._register(i.typeDefinitionProvider.onDidChange(n)),this._register(i.hoverProvider.onDidChange(n)),this._register(i.documentHighlightProvider.onDidChange(n)),this._register(i.documentSymbolProvider.onDidChange(n)),this._register(i.referenceProvider.onDidChange(n)),this._register(i.renameProvider.onDidChange(n)),this._register(i.documentFormattingEditProvider.onDidChange(n)),this._register(i.documentRangeFormattingEditProvider.onDidChange(n)),this._register(i.signatureHelpProvider.onDidChange(n)),this._register(i.inlayHintsProvider.onDidChange(n)),n()}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(){const e=this._editor.getModel();e?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===Pe.ny.walkThroughSnippet||e.uri.scheme===Pe.ny.vscodeChatCodeBlock)})):this.reset()}}class nw extends Ae.jG{constructor(e,t){super(),this._onChange=this._register(new P.vl),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(qt(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus((()=>{this._hasDomElementFocus=!0,this._update()}))),this._register(this._domFocusTracker.onDidBlur((()=>{this._hasDomElementFocus=!1,this._update()}))),t&&(this._overflowWidgetsDomNode=this._register(qt(t)),this._register(this._overflowWidgetsDomNode.onDidFocus((()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()}))),this._register(this._overflowWidgetsDomNode.onDidBlur((()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()}))))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){return this._hadFocus??!1}}class sw{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,i){return this._editor.onDidChangeModelDecorations((i=>{this._isChangingDecorations||e.call(t,i)}),i)}getRange(e){return this._editor.hasModel()?e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e]):null}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const i of this._decorationIds){const n=e.getDecorationRange(i);n&&t.push(n)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){0!==this._decorationIds.length&&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((i=>{t=i.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)}))}finally{this._isChangingDecorations=!1}return t}}const ow=encodeURIComponent("");function aw(e){return ow+encodeURIComponent(e.toString())+rw}const lw=encodeURIComponent('');(0,io.zy)(((e,t)=>{const i=e.getColor(to.Rbi);i&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${aw(i)}") repeat-x bottom left; }`);const n=e.getColor(to.Hng);n&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${aw(n)}") repeat-x bottom left; }`);const s=e.getColor(to.pOz);s&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${aw(s)}") repeat-x bottom left; }`);const o=e.getColor(to.i61);var r;o&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${r=o,lw+encodeURIComponent(r.toString())+hw}") no-repeat bottom left; }`);const a=e.getColor(Zf.yw);a&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${a.rgba.a}; }`)}));class dw{static capture(e){if(0===e.getScrollTop()||e.hasPendingScrollAnimation())return new dw(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,i=0;const n=e.getVisibleRanges();if(n.length>0){t=n[0].getStartPosition();const s=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-s}return new dw(e.getScrollTop(),e.getContentHeight(),t,i,e.getPosition())}constructor(e,t,i,n,s){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=i,this._visiblePositionScrollDelta=n,this._cursorPosition=s}restore(e){if((this._initialContentHeight!==e.getContentHeight()||this._initialScrollTop!==e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+i,1)}}class cw{constructor(){this.lenses=[],this._disposables=new Ae.Cm}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function uw(e,t,i){const n=e.ordered(t),s=new Map,o=new cw,r=n.map((async(e,n)=>{s.set(e,n);try{const n=await Promise.resolve(e.provideCodeLenses(t,i));n&&o.add(n,e)}catch(r){(0,b.M_)(r)}}));return await Promise.all(r),o.lenses=o.lenses.sort(((e,t)=>e.symbol.range.startLineNumbert.symbol.range.startLineNumber?1:s.get(e.provider)s.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0)),o}var gw,pw;as.registerCommand("_executeCodeLensProvider",(function(e,...t){let[i,n]=t;(0,os.j)(Bn.r.isUri(i)),(0,os.j)("number"==typeof n||!n);const{codeLensProvider:s}=e.get(La.ILanguageFeaturesService),o=e.get(Qn.IModelService).getModel(i);if(!o)throw(0,b.Qg)();const r=[],a=new Ae.Cm;return uw(s,o,na.XO.None).then((e=>{a.add(e);const t=[];for(const i of e.lenses)null==n||Boolean(i.symbol.command)?r.push(i.symbol):n-- >0&&i.provider.resolveCodeLens&&t.push(Promise.resolve(i.provider.resolveCodeLens(o,i.symbol,na.XO.None)).then((e=>r.push(e||i.symbol))));return Promise.all(t)})).then((()=>r)).finally((()=>{setTimeout((()=>a.dispose()),100)}))})),function(e){e[e.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",e[e.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"}(gw||(gw={})),function(e){e[e.None=0]="None",e[e.Initialized=1]="Initialized",e[e.Closed=2]="Closed"}(pw||(pw={}));class mw extends Ae.jG{static{this.DEFAULT_FLUSH_DELAY=100}constructor(e,t=Object.create(null)){super(),this.database=e,this.options=t,this._onDidChangeStorage=this._register(new P.fV),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=pw.None,this.cache=new Map,this.flushDelayer=this._register(new A.Th(mw.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((e=>this.onDidChangeItemsExternal(e))))}onDidChangeItemsExternal(e){this._onDidChangeStorage.pause();try{e.changed?.forEach(((e,t)=>this.acceptExternal(t,e))),e.deleted?.forEach((e=>this.acceptExternal(e,void 0)))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===pw.Closed)return;let i=!1;if((0,os.z)(t))i=this.cache.delete(e);else{this.cache.get(e)!==t&&(this.cache.set(e,t),i=!0)}i&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const i=this.cache.get(e);return(0,os.z)(i)?t:i}getBoolean(e,t){const i=this.get(e);return(0,os.z)(i)?t:"true"===i}getNumber(e,t){const i=this.get(e);return(0,os.z)(i)?t:parseInt(i,10)}async set(e,t,i=!1){if(this.state===pw.Closed)return;if((0,os.z)(t))return this.delete(e,i);const n=(0,os.Gv)(t)||Array.isArray(t)?(s=t,JSON.stringify(s,Kl)):String(t);var s;return this.cache.get(e)!==n?(this.cache.set(e,n),this.pendingInserts.set(e,n),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:i}),this.doFlush()):void 0}async delete(e,t=!1){if(this.state===pw.Closed)return;return this.cache.delete(e)?(this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()):void 0}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally((()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()}))}async doFlush(e){return this.options.hint===gw.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger((()=>this.flushPending()),e)}}class fw{constructor(){this.onDidChangeItemsExternal=P.Jh.None,this.items=new Map}async updateItems(e){e.insert?.forEach(((e,t)=>this.items.set(t,e))),e.delete?.forEach((e=>this.items.delete(e)))}}const _w="__$__targetStorageMarker",vw=(0,$n.u1)("storageService");var bw;!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(bw||(bw={}));class Cw extends Ae.jG{static{this.DEFAULT_FLUSH_INTERVAL=6e4}constructor(e={flushInterval:Cw.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new P.fV),this._onDidChangeTarget=this._register(new P.fV),this._onWillSaveState=this._register(new P.vl),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,i){return P.Jh.filter(this._onDidChangeValue.event,(i=>i.scope===e&&(void 0===t||i.key===t)),i)}emitDidChangeValue(e,t){const{key:i,external:n}=t;if(i===_w){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:i,target:this.getKeyTargets(e)[i],external:n})}get(e,t,i){return this.getStorage(t)?.get(e,i)}getBoolean(e,t,i){return this.getStorage(t)?.getBoolean(e,i)}getNumber(e,t,i){return this.getStorage(t)?.getNumber(e,i)}store(e,t,i,n,s=!1){(0,os.z)(t)?this.remove(e,i,s):this.withPausedEmitters((()=>{this.updateKeyTarget(e,i,n),this.getStorage(i)?.set(e,t,s)}))}remove(e,t,i=!1){this.withPausedEmitters((()=>{this.updateKeyTarget(e,t,void 0),this.getStorage(t)?.delete(e,i)}))}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,i,n=!1){const s=this.getKeyTargets(t);"number"==typeof i?s[e]!==i&&(s[e]=i,this.getStorage(t)?.set(_w,JSON.stringify(s),n)):"number"==typeof s[e]&&(delete s[e],this.getStorage(t)?.set(_w,JSON.stringify(s),n))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?function(e){const t=e.get(_w);if(t)try{return JSON.parse(t)}catch(i){}return Object.create(null)}(t):Object.create(null)}}var ww=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},yw=function(e,t){return function(i,n){t(i,n,e)}};const Sw=(0,$n.u1)("ICodeLensCache");class kw{constructor(e,t){this.lineCount=e,this.data=t}}let Lw=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Si.qK(20,.75);et(o,(()=>e.remove("codelens/cache",1)));const t="codelens/cache2",i=e.get(t,1,"{}");this._deserialize(i);const n=P.Jh.filter(e.onWillSaveState,(e=>e.reason===bw.SHUTDOWN));P.Jh.once(n)((i=>{e.store(t,this._serialize(),1,1)}))}put(e,t){const i=t.lenses.map((e=>({range:e.symbol.range,command:e.symbol.command&&{id:"",title:e.symbol.command?.title}}))),n=new cw;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new kw(e.getLineCount(),n);this._cache.set(e.uri.toString(),s)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const n=new Set;for(const e of i.data.lenses)n.add(e.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...n.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const e in t){const i=t[e],n=[];for(const e of i.lines)n.push({range:new Xs.Q(e,1,e,11)});const s=new cw;s.add({lenses:n,dispose(){}},this._fakeProvider),this._cache.set(e,new kw(i.lineCount,s))}}catch{}}};Lw=ww([yw(0,vw)],Lw),(0,cl.v)(Sw,Lw,1);class xw{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class Dw{static{this._idPool=0}constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-"+Dw._idPool++,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let n=!1;for(let s=0;s{e.symbol.command&&a.push(e.symbol),i.addDecoration({range:e.symbol.range,options:Iw},(e=>this._decorationIds[t]=e)),r=r?Xs.Q.plusRange(r,e.symbol.range):Xs.Q.lift(e.symbol.range)})),this._viewZone=new xw(r.startLineNumber-1,s,o),this._viewZoneId=n.addZone(this._viewZone),a.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(a,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new Dw(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t?.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some(((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),n=this._data[t].symbol;return!(!i||Xs.Q.isEmpty(n.range)!==i.isEmpty())}))}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach(((e,i)=>{t.addDecoration({range:e.symbol.range,options:Iw},(e=>this._decorationIds[i]=e))}))}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Rw=function(e,t){return function(i,n){t(i,n,e)}};let Aw=class{static{this.ID="css.editor.codeLens"}constructor(e,t,i,n,s,o){this._editor=e,this._languageFeaturesService=t,this._commandService=n,this._notificationService=s,this._codeLensCache=o,this._disposables=new Ae.Cm,this._localToDispose=new Ae.Cm,this._lenses=[],this._oldCodeLensModels=new Ae.Cm,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new A.uC((()=>this._resolveCodeLensesInViewport()),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{(e.hasChanged(50)||e.hasChanged(19)||e.hasChanged(18))&&this._updateLensStyle(),e.hasChanged(17)&&this._onModelChange()}))),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),this._currentCodeLensModel?.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=.9*this._editor.getOption(52)|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),n=this._editor.getOption(50),{style:s}=this._editor.getContainerDomNode();s.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),s.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),s.setProperty("--vscode-editorCodeLens-fontFeatureSettings",n.fontFeatureSettings),i&&(s.setProperty("--vscode-editorCodeLens-fontFamily",i),s.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Ic.fontFamily)),this._editor.changeViewZones((t=>{for(const i of this._lenses)i.updateHeight(e,t)}))}_localDispose(){this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=void 0,this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),this._currentCodeLensModel?.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e)return;if(!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e))return void(t&&(0,A.EQ)((()=>{const i=this._codeLensCache.get(e);t===i&&(this._codeLensCache.delete(e),this._onModelChange())}),3e4,this._localToDispose));for(const n of this._languageFeaturesService.codeLensProvider.all(e))if("function"==typeof n.onDidChange){const e=n.onDidChange((()=>i.schedule()));this._localToDispose.add(e)}const i=new A.uC((()=>{const t=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=(0,A.SS)((t=>uw(this._languageFeaturesService.codeLensProvider,e,t))),this._getCodeLensModelPromise.then((n=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=n,this._codeLensCache.put(e,n);const s=this._provideCodeLensDebounce.update(e,Date.now()-t);i.delay=s,this._renderCodeLensSymbols(n),this._resolveCodeLensesInViewportSoon()}),b.dz)}),this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add((0,Ae.s)((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const i=[];let n=-1;this._lenses.forEach((e=>{e.isValid()&&n!==e.getLineNumber()?(e.update(t),n=e.getLineNumber()):i.push(e)}));const s=new Nw;i.forEach((e=>{e.dispose(s,t),this._lenses.splice(this._lenses.indexOf(e),1)})),s.commit(e)}))})),i.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0}))),this._localToDispose.add(this._editor.onDidFocusEditorText((()=>{i.schedule()}))),this._localToDispose.add(this._editor.onDidBlurEditorText((()=>{i.cancel()}))),this._localToDispose.add(this._editor.onDidScrollChange((e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add((0,Ae.s)((()=>{if(this._editor.getModel()){const e=dw.capture(this._editor);this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{this._disposeAllLenses(e,t)}))})),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((e=>{if(9!==e.target.type)return;let t=e.target.element;if("SPAN"===t?.tagName&&(t=t.parentElement),"A"===t?.tagName)for(const i of this._lenses){const e=i.getCommand(t);if(e){this._commandService.executeCommand(e.id,...e.arguments||[]).catch((e=>this._notificationService.error(e)));break}}}))),i.schedule()}_disposeAllLenses(e,t){const i=new Nw;for(const n of this._lenses)n.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let n;for(const r of e.lenses){const e=r.symbol.range.startLineNumber;e<1||e>t||(n&&n[n.length-1].symbol.range.startLineNumber===e?n.push(r):(n=[r],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=dw.capture(this._editor),o=this._getLayoutInfo();this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const n=new Nw;let s=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),s++,r++)}for(;sthis._resolveCodeLensesInViewportSoon()))),r++;n.commit(e)}))})),s.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach((n=>{const s=n.computeIfNecessary(e);s&&(t.push(s),i.push(n))})),0===t.length)return;const n=Date.now(),s=(0,A.SS)((n=>{const s=t.map(((t,s)=>{const o=new Array(t.length),r=t.map(((t,i)=>t.symbol.command||"function"!=typeof t.provider.resolveCodeLens?(o[i]=t.symbol,Promise.resolve(void 0)):Promise.resolve(t.provider.resolveCodeLens(e,t.symbol,n)).then((e=>{o[i]=e}),b.M_)));return Promise.all(r).then((()=>{n.isCancellationRequested||i[s].isDisposed()||i[s].updateCommands(o)}))}));return Promise.all(s)}));this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then((()=>{const t=this._resolveCodeLensesDebounce.update(e,Date.now()-n);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(e=>{(0,b.dz)(e),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,this._currentCodeLensModel?.isDisposed?void 0:this._currentCodeLensModel}};Aw=Tw([Rw(1,La.ILanguageFeaturesService),Rw(2,Mw.ILanguageFeatureDebounceService),Rw(3,rs),Rw(4,yd),Rw(5,Sw)],Aw),Bs(Aw.ID,Aw,1),Fs(class extends Ts{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:js.hasCodeLensProvider,label:(0,jn.kg)("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(Jh),n=e.get(rs),s=e.get(yd),o=t.getSelection().positionLineNumber,r=t.getContribution(Aw.ID);if(!r)return;const a=await r.getModel();if(!a)return;const l=[];for(const u of a.lenses)u.symbol.command&&u.symbol.range.startLineNumber===o&&l.push({label:u.symbol.command.title,command:u.symbol.command});if(0===l.length)return;const h=await i.pick(l,{canPickMany:!1,placeHolder:(0,jn.kg)("placeHolder","Select a command")});if(!h)return;let d=h.command;if(a.isDisposed){const e=await r.getModel(),t=e?.lenses.find((e=>e.symbol.range.startLineNumber===o&&e.symbol.command?.title===d.title));if(!t||!t.symbol.command)return;d=t.symbol.command}try{await n.executeCommand(d.id,...d.arguments||[])}catch(c){s.error(c)}}});const Pw=[];function Ow(e){Pw.push(e)}function Fw(){return Pw.slice(0)}var Ww=i(90304),Bw=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Hw=function(e,t){return function(i,n){t(i,n,e)}};let Vw=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const n=t.range,s=t.color,o=s.alpha,r=new hd.Q1(new hd.bU(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),o)),a=o?hd.Q1.Format.CSS.formatRGB(r):hd.Q1.Format.CSS.formatRGBA(r),l=o?hd.Q1.Format.CSS.formatHSL(r):hd.Q1.Format.CSS.formatHSLA(r),h=o?hd.Q1.Format.CSS.formatHex(r):hd.Q1.Format.CSS.formatHexA(r),d=[];return d.push({label:a,textEdit:{range:n,text:a}}),d.push({label:l,textEdit:{range:n,text:l}}),d.push({label:h,textEdit:{range:n,text:h}}),d}};Vw=Bw([Hw(0,Ww.IEditorWorkerService)],Vw);let zw=class extends Ae.jG{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Vw(t)))}};async function Uw(e,t,i,n=!0){return Gw(new jw,e,t,i,n)}function Kw(e,t,i,n){return Promise.resolve(i.provideColorPresentations(e,t,n))}zw=Bw([Hw(0,La.ILanguageFeaturesService),Hw(1,Ww.IEditorWorkerService)],zw),Ow(zw);class jw{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const o of s)n.push({colorInfo:o,provider:e});return Array.isArray(s)}}class $w{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const o of s)n.push({range:o.range,color:[o.color.red,o.color.green,o.color.blue,o.color.alpha]});return Array.isArray(s)}}class qw{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,na.XO.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function Gw(e,t,i,n,s){let o,r=!1;const a=[],l=t.ordered(i);for(let d=l.length-1;d>=0;d--){const t=l[d];if(t instanceof Vw)o=t;else try{await e.compute(t,i,n,a)&&(r=!0)}catch(h){(0,b.M_)(h)}}return r?a:o&&s?(await e.compute(o,i,n,a),a):[]}function Qw(e,t){const{colorProvider:i}=e.get(La.ILanguageFeaturesService),n=e.get(Qn.IModelService).getModel(t);if(!n)throw(0,b.Qg)();return{model:n,colorProviderRegistry:i,isDefaultColorDecoratorsEnabled:e.get(Fp.pG).getValue("editor.defaultColorDecorators",{resource:t})}}as.registerCommand("_executeDocumentColorProvider",(function(e,...t){const[i]=t;if(!(i instanceof Bn.r))throw(0,b.Qg)();const{model:n,colorProviderRegistry:s,isDefaultColorDecoratorsEnabled:o}=Qw(e,i);return Gw(new $w,s,n,na.XO.None,o)})),as.registerCommand("_executeColorPresentationProvider",(function(e,...t){const[i,n]=t,{uri:s,range:o}=n;if(!(s instanceof Bn.r&&Array.isArray(i)&&4===i.length&&Xs.Q.isIRange(o)))throw(0,b.Qg)();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:l}=Qw(e,s),[h,d,c,u]=i;return Gw(new qw({range:o,color:{red:h,green:d,blue:c,alpha:u}}),a,r,na.XO.None,l)}));var Yw,Zw=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Xw=function(e,t){return function(i,n){t(i,n,e)}};const Jw=Object.create({});let ey=class extends Ae.jG{static{Yw=this}static{this.ID="editor.contrib.colorDetector"}static{this.RECOMPUTE_TIME=1e3}constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Ae.Cm),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new Hm(this._editor),this._decoratorLimitReporter=new ty,this._colorDecorationClassRefs=this._register(new Ae.Cm),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:Yw.RECOMPUTE_TIME}),this._register(e.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()}))),this._register(e.onDidChangeModelLanguage((()=>this.updateColors()))),this._register(i.colorProvider.onDidChange((()=>this.updateColors()))),this._register(e.onDidChangeConfiguration((e=>{const t=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const i=t!==this._isColorDecoratorsEnabled||e.hasChanged(21),n=e.hasChanged(148);(i||n)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&"object"==typeof i){const e=i.colorDecorators;if(e&&void 0!==e.enable&&!e.enable)return e.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();e&&this._languageFeaturesService.colorProvider.has(e)&&(this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._timeoutTimer||(this._timeoutTimer=new A.pc,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(e)))}))),this.beginCompute())}async beginCompute(){this._computePromise=(0,A.SS)((async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Hp.W(!1),n=await Uw(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),n}));try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){(0,b.dz)(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map((e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:eo.kI.EMPTY})));this._editor.changeDecorations((i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach(((t,i)=>this._colorDatas.set(t,e[i])))}))}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let s=0;sthis._colorDatas.has(e.id)));return 0===i.length?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};ey=Yw=Zw([Xw(1,Fp.pG),Xw(2,La.ILanguageFeaturesService),Xw(3,Mw.ILanguageFeatureDebounceService)],ey);class ty{constructor(){this._onDidChange=new P.vl,this._computed=0,this._limited=!1}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}Bs(ey.ID,ey,1);class iy{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new P.vl,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new P.vl,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new P.vl,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let n=0;n{this.backgroundColor=e.getColor(to.WfR)||hd.Q1.white}))),this._register(Ye(this._pickedColorNode,Ut.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(Ye(this._originalColorNode,Ut.CLICK,(()=>{this.model.color=this.model.originalColor,this.model.flushColor()}))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=hd.Q1.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new oy(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=hd.Q1.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class oy extends Ae.jG{constructor(e){super(),this._onClicked=this._register(new P.vl),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Gt(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),Gt(this._button,t);Gt(t,ny(".button"+In.L.asCSSSelector(mu("color-picker-close",vl.W.close,(0,jn.kg)("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Ye(this._button,Ut.CLICK,(()=>{this._onClicked.fire()})))}}class ry extends Ae.jG{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=ny(".colorpicker-body"),Gt(e,this._domNode),this._saturationBox=new ay(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new hy(this._domNode,this.model,n),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new dy(this._domNode,this.model,n),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),n&&(this._insertButton=this._register(new cy(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new hd.Q1(new hd.$J(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new hd.Q1(new hd.$J(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=360*(1-e);this.model.color=new hd.Q1(new hd.$J(360===i?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class ay extends Ae.jG{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new P.vl,this.onColorFlushed=this._onColorFlushed.event,this._domNode=ny(".saturation-wrap"),Gt(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Gt(this._domNode,this._canvas),this.selection=ny(".saturation-selection"),Gt(this._domNode,this.selection),this.layout(),this._register(Ye(this._domNode,Ut.POINTER_DOWN,(e=>this.onPointerDown(e)))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!(e.target&&e.target instanceof Element))return;this.monitor=this._register(new Au);const t=ct(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top)),(()=>null));const i=Ye(e.target.ownerDocument,Ut.POINTER_UP,(()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,n),this._onDidChange.fire({s:i,v:n})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new hd.Q1(new hd.$J(e.h,1,1,1)),i=this._canvas.getContext("2d"),n=i.createLinearGradient(0,0,this._canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=hd.Q1.Format.CSS.format(t),i.fill(),i.fillStyle=n,i.fill(),i.fillStyle=s,i.fill()}paintSelection(e,t){this.selection.style.left=e*this.width+"px",this.selection.style.top=this.height-t*this.height+"px"}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class ly extends Ae.jG{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new P.vl,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=Gt(e,ny(".standalone-strip")),this.overlay=Gt(this.domNode,ny(".standalone-overlay"))):(this.domNode=Gt(e,ny(".strip")),this.overlay=Gt(this.domNode,ny(".overlay"))),this.slider=Gt(this.domNode,ny(".slider")),this.slider.style.top="0px",this._register(Ye(this.domNode,Ut.POINTER_DOWN,(e=>this.onPointerDown(e)))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._register(new Au),i=ct(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangeTop(e.pageY-i.top)),(()=>null));const n=Ye(e.target.ownerDocument,Ut.POINTER_UP,(()=>{this._onColorFlushed.fire(),n.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")}),!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=(1-e)*this.height+"px"}}class hy extends ly{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:n}=e.rgba,s=new hd.Q1(new hd.bU(t,i,n,1)),o=new hd.Q1(new hd.bU(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${o} 100%)`}getValue(e){return e.hsva.a}}class dy extends ly{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class cy extends Ae.jG{constructor(e){super(),this._onClicked=this._register(new P.vl),this.onClicked=this._onClicked.event,this._button=Gt(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Ye(this._button,Ut.CLICK,(()=>{this._onClicked.fire()})))}get button(){return this._button}}class uy extends Pu{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(am.getInstance(We(e)).onDidChange((()=>this.layout()))),this._domNode=ny(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new sy(this._domNode,this.model,n,s)),this.body=this._register(new ry(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class gy{constructor(e,t,i,n){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=n,this.type=1}equals(e){return 1===e.type&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return 1===e.type&&t.lineNumber===this.range.startLineNumber}}class py{constructor(e,t,i,n,s,o){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=n,this.initialMousePosY=s,this.supportsMarkerHover=o,this.type=2}equals(e){return 2===e.type&&this.owner===e.owner}canAdoptVisibleHover(e,t){return 2===e.type&&this.owner===e.owner}}class my{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const fy=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var _y=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},vy=function(e,t){return function(i,n){t(i,n,e)}};class by{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Cy=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return A.AE.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=ey.get(this._editor);if(!n)return[];for(const s of t){if(!n.isColorDecoration(s))continue;const e=n.getColorData(s.range.getStartPosition());if(e){return[await Sy(this,this._editor.getModel(),e.colorInfo,e.provider)]}}return[]}renderHoverParts(e,t){const i=ky(this,this._editor,this._themeService,t,e);if(!i)return new my([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new my([n])}handleResize(){this._colorPicker?.layout()}isColorPickerVisible(){return!!this._colorPicker}};Cy=_y([vy(1,io.Gy)],Cy);class wy{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let yy=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel())return null;if(!ey.get(this._editor))return null;const n=await Uw(i,this._editor.getModel(),na.XO.None);let s=null,o=null;for(const h of n){const t=h.colorInfo;Xs.Q.containsRange(t.range,e.range)&&(s=t,o=h.provider)}const r=s??e,a=o??t,l=!!s;return{colorHover:await Sy(this,this._editor.getModel(),r,a),foundInEditor:l}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new Xs.Q(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await xy(this._editor.getModel(),t,this._color,i,e),i=Ly(this._editor,i,t))}renderHoverParts(e,t){return ky(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};async function Sy(e,t,i,n){const s=t.getValueInRange(i.range),{red:o,green:r,blue:a,alpha:l}=i.color,h=new hd.bU(Math.round(255*o),Math.round(255*r),Math.round(255*a),l),d=new hd.Q1(h),c=await Kw(t,i,n,na.XO.None),u=new iy(d,[],0);return u.colorPresentations=c||[],u.guessColorPresentation(d,s),e instanceof Cy?new by(e,Xs.Q.lift(i.range),u,n):new wy(e,Xs.Q.lift(i.range),u,n)}function ky(e,t,i,n,s){if(0===n.length||!t.hasModel())return;if(s.setMinimumDimensions){const e=t.getOption(67)+8;s.setMinimumDimensions(new ht(302,e))}const o=new Ae.Cm,r=n[0],a=t.getModel(),l=r.model,h=o.add(new uy(s.fragment,l,t.getOption(144),i,e instanceof yy));let d=!1,c=new Xs.Q(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(e instanceof yy){const t=r.model.color;e.color=t,xy(a,l,t,c,r),o.add(l.onColorFlushed((t=>{e.color=t})))}else o.add(l.onColorFlushed((async e=>{await xy(a,l,e,c,r),d=!0,c=Ly(t,c,l)})));return o.add(l.onDidChangeColor((e=>{xy(a,l,e,c,r)}))),o.add(t.onDidChangeModelContent((e=>{d?d=!1:(s.hide(),t.focus())}))),{hoverPart:r,colorPicker:h,disposables:o}}function Ly(e,t,i){const n=[],s=i.presentation.textEdit??{range:t,text:i.presentation.label,forceMoveMarkers:!1};n.push(s),i.presentation.additionalTextEdits&&n.push(...i.presentation.additionalTextEdits);const o=Xs.Q.lift(s.range),r=e.getModel()._setTrackedRange(null,o,3);return e.executeEdits("colorpicker",n),e.pushUndoStop(),e.getModel()._getTrackedRange(r)??o}async function xy(e,t,i,n,s){const o=await Kw(e,{range:n,color:{red:i.rgba.r/255,green:i.rgba.g/255,blue:i.rgba.b/255,alpha:i.rgba.a}},s.provider,na.XO.None);t.colorPresentations=o||[]}yy=_y([vy(1,io.Gy)],yy);const Dy="editor.action.showHover",Ny="editor.action.increaseHoverVerbosityLevel",Iy=jn.kg({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Ey="editor.action.decreaseHoverVerbosityLevel",My=jn.kg({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level");var Ty=i(18366);const Ry="editor.action.inlineSuggest.commit",Ay="editor.action.inlineSuggest.showPrevious",Py="editor.action.inlineSuggest.showNext";class Oy extends Xn{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new P.vl),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=Gt(e,ei(".monaco-dropdown")),this._label=Gt(this._element,ei(".dropdown-label"));let i=t.labelRenderer;i||(i=e=>(e.textContent=t.label||"",null));for(const s of[Ut.CLICK,Ut.MOUSE_DOWN,td.Tap])this._register(Ye(this.element,s,(e=>jt(e,!0))));for(const s of[Ut.MOUSE_DOWN,td.Tap])this._register(Ye(this._label,s,(e=>{Vt(e)&&(e.detail>1||0!==e.button)||(this.visible?this.hide():this.show())})));this._register(Ye(this._label,Ut.KEY_UP,(e=>{const t=new N(e);(t.equals(3)||t.equals(10))&&(jt(e,!0),this.visible?this.hide():this.show())})));const n=i(this._label);n&&this._register(n),this._register(nd.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class Fy extends Oy{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class Wy extends Yg{constructor(e,t,i,n=Object.create(null)){super(null,e,n),this.actionItem=null,this._onDidChangeVisibility=this._register(new P.vl),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=n,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=Array.isArray(this.menuActionsOrProvider),i={contextMenuProvider:this.contextMenuProvider,labelRenderer:e=>{this.element=Gt(e,ei("a.action-label"));let t=[];return"string"==typeof this.options.classNames?t=this.options.classNames.split(/\s+/g).filter((e=>!!e)):this.options.classNames&&(t=this.options.classNames),t.find((e=>"icon"===e))||t.push("codicon"),this.element.classList.add(...t),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(cd().setupManagedHover(this.options.hoverDelegate??ad("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},menuAsChild:this.options.menuAsChild,actions:t?this.menuActionsOrProvider:void 0,actionProvider:t?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new Fy(e,i)),this._register(this.dropdownMenu.onDidChangeVisibility((e=>{this.element?.setAttribute("aria-expanded",`${e}`),this._onDidChangeVisibility.fire(e)}))),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const e=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return e.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),e??void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){this.dropdownMenu?.show()}updateEnabled(){const e=!this.action.enabled;this.actionItem?.classList.toggle("disabled",e),this.element?.classList.toggle("disabled",e)}}var By=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Hy=function(e,t){return function(i,n){t(i,n,e)}};function Vy(e,t,i,n,s,o){let r,a,l,h,d;if(Array.isArray(e))d=e,r=t,a=i,l=n,h=s;else{const c=t;d=e.getActions(c),r=i,a=n,l=s,h=o}zy(d,r,!1,"string"==typeof a?e=>e===a:a,l,h)}function zy(e,t,i,n=e=>"navigation"===e,s=()=>!1,o=!1){let r,a;Array.isArray(t)?(r=t,a=t):(r=t.primary,a=t.secondary);const l=new Set;for(const[h,d]of e){let e;n(h)?(e=r,e.length>0&&o&&e.push(new Jn)):(e=a,e.length>0&&e.push(new Jn));for(let t of d){i&&(t=t instanceof ys&&t.alt?t.alt:t);const n=e.push(t);t instanceof es&&l.add({group:h,action:t,index:n-1})}}for(const{group:h,action:d,index:c}of l){const e=n(h)?r:a,t=d.actions;s(d,h,e.length)&&e.splice(c,1,...t)}}let Uy=class extends Zg{constructor(e,t,i,n,s,o,r,a){super(void 0,e,{icon:!(!e.class&&!e.item.icon),label:!e.class&&!e.item.icon,draggable:t?.draggable,keybinding:t?.keybinding,hoverDelegate:t?.hoverDelegate}),this._options=t,this._keybindingService=i,this._notificationService=n,this._contextKeyService=s,this._themeService=o,this._contextMenuService=r,this._accessibilityService=a,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new Ae.HE),this._altKey=hi.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const i=()=>{const e=!!this._menuItemAction.alt?.enabled&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);e!==this._wantsAltCommand&&(this._wantsAltCommand=e,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(i)),this._register(Ye(e,"mouseleave",(e=>{t=!1,i()}))),this._register(Ye(e,"mouseenter",(e=>{t=!0,i()}))),i()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){const e=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),t=e&&e.getLabel(),i=this._commandAction.tooltip||this._commandAction.label;let n=t?(0,jn.kg)("titleAndKb","{0} ({1})",i,t):i;if(!this._wantsAltCommand&&this._menuItemAction.alt?.enabled){const e=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,t=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),i=t&&t.getLabel(),s=i?(0,jn.kg)("titleAndKb","{0} ({1})",e,i):e;n=(0,jn.kg)("titleAndKbAndAlt","{0}\n[{1}] {2}",n,tp.modifierLabels[f.OS].altKey,s)}return n}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const n=this._commandAction.checked&&((s=e.toggled)&&void 0!==s.condition)&&e.toggled.icon?e.toggled.icon:e.icon;var s;if(n)if(In.L.isThemeIcon(n)){const e=In.L.asClassNameArray(n);i.classList.add(...e),this._itemClassDispose.value=(0,Ae.s)((()=>{i.classList.remove(...e)}))}else i.style.backgroundImage=(0,Bp.HD)(this._themeService.getColorTheme().type)?oi(n.dark):oi(n.light),i.classList.add("icon"),this._itemClassDispose.value=(0,Ae.qE)((0,Ae.s)((()=>{i.style.backgroundImage="",i.classList.remove("icon")})),this._themeService.onDidColorThemeChange((()=>{this.updateClass()})))}};Uy=By([Hy(2,bd),Hy(3,yd),Hy(4,ls.fN),Hy(5,io.Gy),Hy(6,vd),Hy(7,jr)],Uy);class Ky extends Uy{render(e){this.options.label=!0,this.options.icon=!1,super.render(e),e.classList.add("text-only"),e.classList.toggle("use-comma",this._options?.useComma??!1)}updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Ky._symbolPrintEnter(e);this._options?.conversational?this.label.textContent=(0,jn.kg)({key:"content2",comment:['A label with keybindg like "ESC to dismiss"']},"{1} to {0}",this._action.label,t):this.label.textContent=(0,jn.kg)({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,t)}}static _symbolPrintEnter(e){return e.getLabel()?.replace(/\benter\b/gi,"\u23ce").replace(/\bEscape\b/gi,"Esc")}}let jy=class extends Wy{constructor(e,t,i,n,s){const o={...t,menuAsChild:t?.menuAsChild??!1,classNames:t?.classNames??(In.L.isThemeIcon(e.item.icon)?In.L.asClassName(e.item.icon):void 0),keybindingProvider:t?.keybindingProvider??(e=>i.lookupKeybinding(e.id))};super(e,{getActions:()=>e.actions},n,o),this._keybindingService=i,this._contextMenuService=n,this._themeService=s}render(e){super.render(e),(0,os.j)(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!In.L.isThemeIcon(i)){this.element.classList.add("icon");const e=()=>{this.element&&(this.element.style.backgroundImage=(0,Bp.HD)(this._themeService.getColorTheme().type)?oi(i.dark):oi(i.light))};e(),this._register(this._themeService.onDidColorThemeChange((()=>{e()})))}}};jy=By([Hy(2,bd),Hy(3,vd),Hy(4,io.Gy)],jy);let $y=class extends Yg{constructor(e,t,i,n,s,o,r,a){let l;super(null,e),this._keybindingService=i,this._notificationService=n,this._contextMenuService=s,this._menuService=o,this._instaService=r,this._storageService=a,this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;const h=t?.persistLastActionId?a.get(this._storageKey,1):void 0;h&&(l=e.actions.find((e=>h===e.id))),l||(l=e.actions[0]),this._defaultAction=this._instaService.createInstance(Uy,l,{keybinding:this._getDefaultActionKeybindingLabel(l)});const d={keybindingProvider:e=>this._keybindingService.lookupKeybinding(e.id),...t,menuAsChild:t?.menuAsChild??!0,classNames:t?.classNames??["codicon","codicon-chevron-down"],actionRunner:t?.actionRunner??new Xn};this._dropdown=new Wy(e,e.actions,this._contextMenuService,d),this._register(this._dropdown.actionRunner.onDidRun((e=>{e.action instanceof ys&&this.update(e.action)})))}update(e){this._options?.persistLastActionId&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(Uy,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends Xn{async runAction(e,t){await e.run(void 0)}},this._container&&this._defaultAction.render(Qt(this._container,ei(".action-container")))}_getDefaultActionKeybindingLabel(e){let t;if(this._options?.renderKeybindingWithDefaultActionLabel){const i=this._keybindingService.lookupKeybinding(e.id);i&&(t=`(${i.getLabel()})`)}return t}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=ei(".action-container");this._defaultAction.render(Gt(this._container,t)),this._register(Ye(t,Ut.KEY_DOWN,(e=>{const t=new N(e);t.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),t.stopPropagation())})));const i=ei(".dropdown-action-container");this._dropdown.render(Gt(this._container,i)),this._register(Ye(i,Ut.KEY_DOWN,(e=>{const t=new N(e);t.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),this._defaultAction.element?.focus(),t.stopPropagation())})))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};$y=By([Hy(2,bd),Hy(3,yd),Hy(4,vd),Hy(5,vs),Hy(6,$n._Y),Hy(7,vw)],$y);let qy=class extends Xg{constructor(e,t){super(null,e,e.actions.map((e=>({text:e.id===Jn.ID?"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500":e.label,isDisabled:!e.enabled}))),0,t,vp,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex((e=>e.checked))))}render(e){super.render(e),e.style.borderColor=(0,to.GuP)(to.HcB)}runAction(e,t){const i=this.action.actions[t];i&&this.actionRunner.run(i)}};function Gy(e,t,i){return t instanceof ys?e.createInstance(Uy,t,i):t instanceof ws?t.item.isSelection?e.createInstance(qy,t):t.item.rememberDefaultAction?e.createInstance($y,t,{...i,persistLastActionId:!0}):e.createInstance(jy,t,i):void 0}qy=By([Hy(1,_d)],qy);class Qy extends Ae.jG{constructor(e,t,i={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new P._B),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new Ae.Cm),i.hoverDelegate=i.hoverDelegate??this._register(ld()),this.options=i,this.toggleMenuAction=this._register(new Yy((()=>this.toggleMenuActionViewItem?.show()),i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new Jg(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(e,n)=>{if(e.id===Yy.ID)return this.toggleMenuActionViewItem=new Wy(e,e.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:In.L.asClassNameArray(i.moreIcon??vl.W.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const t=i.actionViewItemProvider(e,n);if(t)return t}if(e instanceof es){const i=new Wy(e,e.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:e.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return i.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(i),this.disposables.add(this._onDidChangeDropdownVisibility.add(i.onDidChangeVisibility)),i}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach((e=>{this.actionBar.push(e,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(e)})}))}getKeybindingLabel(e){const t=this.options.getKeyBinding?.(e);return t?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class Yy extends Zn{static{this.ID="toolbar.toggle.more"}constructor(e,t){t=t||jn.kg("moreActions","More Actions..."),super(Yy.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}var Zy,Xy,Jy=i(88436),eS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},tS=function(e,t){return function(i,n){t(i,n,e)}};let iS=class{constructor(e,t,i){this._commandService=e,this._keybindingService=t,this._hiddenStates=new nS(i)}createMenu(e,t,i){return new rS(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t)}getMenuActions(e,t,i){const n=new rS(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t),s=n.getActions(i);return n.dispose(),s}resetHiddenStates(e){this._hiddenStates.reset(e)}};iS=eS([tS(0,rs),tS(1,bd),tS(2,vw)],iS);let nS=class{static{Zy=this}static{this._key="menu.hiddenCommands"}constructor(e){this._storageService=e,this._disposables=new Ae.Cm,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(Zy._key,0,"{}");this._data=JSON.parse(t)}catch(t){this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,Zy._key,this._disposables)((()=>{if(!this._ignoreChangeEvent)try{const t=e.get(Zy._key,0,"{}");this._data=JSON.parse(t)}catch(t){console.log("FAILED to read storage after UPDATE",t)}this._onDidChange.fire()})))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){return this._hiddenByDefaultCache.get(`${e.id}/${t}`)??!1}setDefaultState(e,t,i){this._hiddenByDefaultCache.set(`${e.id}/${t}`,i)}isHidden(e,t){const i=this._isHiddenByDefault(e,t),n=this._data[e.id]?.includes(t)??!1;return i?!n:n}updateHidden(e,t,i){this._isHiddenByDefault(e,t)&&(i=!i);const n=this._data[e.id];if(i)if(n){n.indexOf(t)<0&&n.push(t)}else this._data[e.id]=[t];else if(n){const i=n.indexOf(t);i>=0&&(0,ia.UH)(n,i),0===n.length&&delete this._data[e.id]}this._persist()}reset(e){if(void 0===e)this._data=Object.create(null),this._persist();else{for(const{id:t}of e)this._data[t]&&delete this._data[t];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const e=JSON.stringify(this._data);this._storageService.store(Zy._key,e,0,0)}finally{this._ignoreChangeEvent=!1}}};nS=Zy=eS([tS(0,vw)],nS);class sS{constructor(e,t){this._id=e,this._collectContextKeysForSubmenus=t,this._menuGroups=[],this._allMenuIds=new Set,this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get allMenuIds(){return this._allMenuIds}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._allMenuIds.clear(),this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const e=this._sort(Cs.getMenuItems(this._id));let t;for(const i of e){const e=i.group||"";t&&t[0]===e||(t=[e,[]],this._menuGroups.push(t)),t[1].push(i),this._collectContextKeysAndSubmenuIds(i)}this._allMenuIds.add(this._id)}_sort(e){return e}_collectContextKeysAndSubmenuIds(e){if(sS._fillInKbExprKeys(e.when,this._structureContextKeys),fs(e)){if(e.command.precondition&&sS._fillInKbExprKeys(e.command.precondition,this._preconditionContextKeys),e.command.toggled){const t=e.command.toggled.condition||e.command.toggled;sS._fillInKbExprKeys(t,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&(Cs.getMenuItems(e.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(e.submenu))}static _fillInKbExprKeys(e,t){if(e)for(const i of e.keys())t.add(i)}}let oS=Xy=class extends sS{constructor(e,t,i,n,s,o){super(e,i),this._hiddenStates=t,this._commandService=n,this._keybindingService=s,this._contextKeyService=o,this.refresh()}createActionGroups(e){const t=[];for(const i of this._menuGroups){const[n,s]=i;let o;for(const t of s)if(this._contextKeyService.contextMatchesRules(t.when)){const i=fs(t);i&&this._hiddenStates.setDefaultState(this._id,t.command.id,!!t.isHiddenByDefault);const n=aS(this._id,i?t.command:t,this._hiddenStates);if(i){const i=lS(this._commandService,this._keybindingService,t.command.id,t.when);(o??=[]).push(new ys(t.command,t.alt,e,n,i,this._contextKeyService,this._commandService))}else{const i=new Xy(t.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(e),s=Jn.join(...i.map((e=>e[1])));s.length>0&&(o??=[]).push(new ws(t,n,s))}}o&&o.length>0&&t.push([n,o])}return t}_sort(e){return e.sort(Xy._compareMenuItems)}static _compareMenuItems(e,t){const i=e.group,n=t.group;if(i!==n){if(!i)return 1;if(!n)return-1;if("navigation"===i)return-1;if("navigation"===n)return 1;const e=i.localeCompare(n);if(0!==e)return e}const s=e.order||0,o=t.order||0;return so?1:Xy._compareTitles(fs(e)?e.command.title:e.title,fs(t)?t.command.title:t.title)}static _compareTitles(e,t){const i="string"==typeof e?e:e.original,n="string"==typeof t?t:t.original;return i.localeCompare(n)}};oS=Xy=eS([tS(3,rs),tS(4,bd),tS(5,ls.fN)],oS);let rS=class{constructor(e,t,i,n,s,o){this._disposables=new Ae.Cm,this._menuInfo=new oS(e,t,i.emitEventsForSubmenuChanges,n,s,o);const r=new A.uC((()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})}),i.eventDebounceDelay);this._disposables.add(r),this._disposables.add(Cs.onDidChangeMenu((e=>{for(const t of this._menuInfo.allMenuIds)if(e.has(t)){r.schedule();break}})));const a=this._disposables.add(new Ae.Cm);this._onDidChange=new P.uI({onWillAddFirstListener:()=>{a.add(o.onDidChangeContext((e=>{const t=e.affectsSome(this._menuInfo.structureContextKeys),i=e.affectsSome(this._menuInfo.preconditionContextKeys),n=e.affectsSome(this._menuInfo.toggledContextKeys);(t||i||n)&&this._onDidChange.fire({menu:this,isStructuralChange:t,isEnablementChange:i,isToggleChange:n})}))),a.add(t.onDidChange((e=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})})))},onDidRemoveLastListener:a.clear.bind(a),delay:i.eventDebounceDelay,merge:e=>{let t=!1,i=!1,n=!1;for(const s of e)if(t=t||s.isStructuralChange,i=i||s.isEnablementChange,n=n||s.isToggleChange,t&&i&&n)break;return{menu:this,isStructuralChange:t,isEnablementChange:i,isToggleChange:n}}}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};function aS(e,t,i){const n=void 0!==t.submenu?t.submenu.id:t.id;const s="string"==typeof t.title?t.title:t.title.value,o=is({id:`hide/${e.id}/${n}`,label:(0,jn.kg)("hide.label","Hide '{0}'",s),run(){i.updateHidden(e,n,!0)}}),r=is({id:`toggle/${e.id}/${n}`,label:s,get checked(){return!i.isHidden(e,n)},run(){i.updateHidden(e,n,!!this.checked)}});return{hide:o,toggle:r,get isHidden(){return!r.checked}}}function lS(e,t,i,n=void 0,s=!0){return is({id:`configureKeybinding/${i}`,label:(0,jn.kg)("configure keybinding","Configure Keybinding"),enabled:s,run(){const s=!!!t.lookupKeybinding(i)&&n?n.serialize():void 0;e.executeCommand("workbench.action.openGlobalKeybindings",`@command:${i}`+(s?` +when:${s}`:""))}})}rS=eS([tS(3,rs),tS(4,bd),tS(5,ls.fN)],rS);var hS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},dS=function(e,t){return function(i,n){t(i,n,e)}};let cS=class extends Qy{constructor(e,t,i,n,s,o,r,a){super(e,s,{getKeyBinding:e=>o.lookupKeybinding(e.id)??void 0,...t,allowContextMenu:!0,skipTelemetry:"string"==typeof t?.telemetrySource}),this._options=t,this._menuService=i,this._contextKeyService=n,this._contextMenuService=s,this._keybindingService=o,this._commandService=r,this._sessionDisposables=this._store.add(new Ae.Cm);const l=t?.telemetrySource;l&&this._store.add(this.actionBar.onDidRun((e=>a.publicLog2("workbenchActionExecuted",{id:e.action.id,from:l}))))}setActions(e,t=[],i){this._sessionDisposables.clear();const n=e.slice(),s=t.slice(),o=[];let r=0;const a=[];let l=!1;if(-1!==this._options?.hiddenItemStrategy)for(let h=0;he?.id))),t=this._options.overflowBehavior.maxItems-e.size;let i=0;for(let s=0;s=t&&(n[s]=void 0,a[s]=o))}}(0,ia.SK)(n),(0,ia.SK)(a),super.setActions(n,Jn.join(a,s)),(o.length>0||n.length>0)&&this._sessionDisposables.add(Ye(this.getElement(),"contextmenu",(e=>{const t=new T(We(this.getElement()),e),n=this.getItemAction(t.target);if(!n)return;t.preventDefault(),t.stopPropagation();const s=[];if(n instanceof ys&&n.menuKeybinding)s.push(n.menuKeybinding);else if(!(n instanceof ws||n instanceof Yy)){const e=!!this._keybindingService.lookupKeybinding(n.id);s.push(lS(this._commandService,this._keybindingService,n.id,void 0,e))}if(o.length>0){let e=!1;if(1===r&&0===this._options?.hiddenItemStrategy){e=!0;for(let e=0;ethis._menuService.resetHiddenStates(i)}))),0!==a.length&&this._contextMenuService.showContextMenu({getAnchor:()=>t,getActions:()=>a,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:"string"==typeof this._options?.telemetrySource,contextKeyService:this._contextKeyService})})))}};cS=hS([dS(2,vs),dS(3,ls.fN),dS(4,vd),dS(5,bd),dS(6,rs),dS(7,Ls)],cS);let uS=class extends cS{constructor(e,t,i,n,s,o,r,a,l){super(e,{resetMenu:t,...i},n,s,o,r,a,l),this._onDidChangeMenuItems=this._store.add(new P.vl),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const h=this._store.add(n.createMenu(t,s,{emitEventsForSubmenuChanges:!0})),d=()=>{const t=[],n=[];Vy(h,i?.menuOptions,{primary:t,secondary:n},i?.toolbarOptions?.primaryGroup,i?.toolbarOptions?.shouldInlineSubmenu,i?.toolbarOptions?.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",0===t.length&&0===n.length),super.setActions(t,n)};this._store.add(h.onDidChange((()=>{d(),this._onDidChangeMenuItems.fire(this)}))),d()}setActions(){throw new b.D7("This toolbar is populated from a menu.")}};uS=hS([dS(3,vs),dS(4,ls.fN),dS(5,vd),dS(6,bd),dS(7,rs),dS(8,Ls)],uS);var gS,pS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},mS=function(e,t){return function(i,n){t(i,n,e)}};let fS=class extends Ae.jG{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=(0,mg.y0)(this,this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(62).showToolbar)),this.sessionPosition=void 0,this.position=(0,mg.un)(this,(e=>{const t=this.model.read(e)?.primaryGhostText.read(e);if(!this.alwaysShowToolbar.read(e)||!t||0===t.parts.length)return this.sessionPosition=void 0,null;const i=t.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==t.lineNumber&&(this.sessionPosition=void 0);const n=new Gn.y(t.lineNumber,Math.min(i,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=n,n})),this._register((0,mg.yC)(((t,i)=>{const n=this.model.read(t);if(!n||!this.alwaysShowToolbar.read(t))return;const s=(0,Ty.rm)(((t,i)=>{const s=i.add(this.instantiationService.createInstance(bS,this.editor,!0,this.position,n.selectedInlineCompletionIndex,n.inlineCompletionsCount,n.activeCommands));return e.addContentWidget(s),i.add((0,Ae.s)((()=>e.removeContentWidget(s)))),i.add((0,mg.fm)((e=>{this.position.read(e)&&n.lastTriggerKind.read(e)!==ka.qw.Explicit&&n.triggerExplicitly()}))),s})),o=(0,mg.ZX)(this,((e,t)=>!!this.position.read(e)||!!t));i.add((0,mg.fm)((e=>{o.read(e)&&s.read(e)})))})))}};fS=pS([mS(2,$n._Y)],fS);const _S=mu("inline-suggestion-hints-next",vl.W.chevronRight,(0,jn.kg)("parameterHintsNextIcon","Icon for show next parameter hint.")),vS=mu("inline-suggestion-hints-previous",vl.W.chevronLeft,(0,jn.kg)("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let bS=class extends Ae.jG{static{gS=this}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(e,t,i){const n=new Zn(e,t,i,!0,(()=>this._commandService.executeCommand(e))),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let o=t;return s&&(o=(0,jn.kg)({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=o,n}constructor(e,t,i,n,s,o,r,a,l,h,d){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=o,this._commandService=r,this.keybindingService=l,this._contextKeyService=h,this._menuService=d,this.id="InlineSuggestionHintsContentWidget"+gS.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=ui("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[ui("div@toolBar")]),this.previousAction=this.createCommandAction(Ay,(0,jn.kg)("previous","Previous"),In.L.asClassName(vS)),this.availableSuggestionCountAction=new Zn("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(Py,(0,jn.kg)("next","Next"),In.L.asClassName(_S)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(_s.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new A.uC((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new A.uC((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.toolBar=this._register(a.createInstance(yS,this.nodes.toolBar,_s.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof ys)return a.createInstance(wS,e,void 0);if(e===this.availableSuggestionCountAction){const t=new CS(void 0,e,{label:!0,icon:!1});return t.setClass("availableSuggestionCount"),t}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((e=>{gS._dropDownVisible=e}))),this._register((0,mg.fm)((e=>{this._position.read(e),this.editor.layoutContentWidget(this)}))),this._register((0,mg.fm)((e=>{const t=this._suggestionCount.read(e),i=this._currentSuggestionIdx.read(e);void 0!==t?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${i+1}/${t}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==t&&t>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()}))),this._register((0,mg.fm)((e=>{const t=this._extraCommands.read(e).map((e=>({class:void 0,id:e.id,enabled:!0,tooltip:e.tooltip||"",label:e.title,run:t=>this._commandService.executeCommand(e.id)})));for(const[i,n]of this.inlineCompletionsActionsMenus.getActions())for(const e of n)e instanceof ys&&t.push(e);t.length>0&&t.unshift(new Jn),this.toolBar.setAdditionalSecondaryActions(t)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};bS=gS=pS([mS(6,rs),mS(7,$n._Y),mS(8,bd),mS(9,ls.fN),mS(10,vs)],bS);class CS extends Zg{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}class wS extends Uy{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=ui("div.keybinding").root;this._register(new lp(t,f.OS,{disableTitle:!0,...ap})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}}let yS=class extends cS{constructor(e,t,i,n,s,o,r,a,l){super(e,{resetMenu:t,...i},n,s,o,r,a,l),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){const e=[],t=[];Vy(this.menu,this.options2?.menuOptions,{primary:e,secondary:t},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){(0,ia.aI)(this.prependedPrimaryActions,e,((e,t)=>e===t))||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){(0,ia.aI)(this.additionalActions,e,((e,t)=>e===t))||(this.additionalActions=e,this.updateToolbar())}};function SS(e,t,i){const n=ct(e);return!(tn.left+n.width||in.top+n.height)}yS=pS([mS(3,vs),mS(4,ls.fN),mS(5,vd),mS(6,bd),mS(7,rs),mS(8,Ls)],yS);class kS{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}}class LS extends Ae.jG{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new P.vl),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new A.uC((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new A.uC((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new A.uC((()=>this._triggerLoadingMessage()),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=(0,A.bI)((e=>this._computer.computeAsync(e))),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(e){(0,b.dz)(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const e=0===this._state,t=4===this._state;this._onResult.fire(new kS(this._result.slice(0),e,t))}start(e){if(0===e)0===this._state&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}var xS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};var DS;!function(e){e.North="north",e.South="south",e.East="east",e.West="west"}(DS||(DS={}));const NS=new P.vl;const IS=new P.vl;class ES{constructor(e){this.el=e,this.disposables=new Ae.Cm}get onPointerMove(){return this.disposables.add(new Vr(We(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new Vr(We(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}xS([ed],ES.prototype,"onPointerMove",null),xS([ed],ES.prototype,"onPointerUp",null);class MS{get onPointerMove(){return this.disposables.add(new Vr(this.el,td.Change)).event}get onPointerUp(){return this.disposables.add(new Vr(this.el,td.End)).event}constructor(e){this.el=e,this.disposables=new Ae.Cm}dispose(){this.disposables.dispose()}}xS([ed],MS.prototype,"onPointerMove",null),xS([ed],MS.prototype,"onPointerUp",null);class TS{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}}xS([ed],TS.prototype,"onPointerMove",null),xS([ed],TS.prototype,"onPointerUp",null);const RS="pointer-events-disabled";class AS extends Ae.jG{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",0===e),this.el.classList.toggle("minimum",1===e),this.el.classList.toggle("maximum",2===e),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=t=>{this.orthogonalStartDragHandleDisposables.clear(),0!==t&&(this._orthogonalStartDragHandle=Gt(this.el,ei(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add((0,Ae.s)((()=>this._orthogonalStartDragHandle.remove()))),this.orthogonalStartDragHandleDisposables.add(new Vr(this._orthogonalStartDragHandle,"mouseenter")).event((()=>AS.onMouseEnter(e)),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new Vr(this._orthogonalStartDragHandle,"mouseleave")).event((()=>AS.onMouseLeave(e)),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=t=>{this.orthogonalEndDragHandleDisposables.clear(),0!==t&&(this._orthogonalEndDragHandle=Gt(this.el,ei(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add((0,Ae.s)((()=>this._orthogonalEndDragHandle.remove()))),this.orthogonalEndDragHandleDisposables.add(new Vr(this._orthogonalEndDragHandle,"mouseenter")).event((()=>AS.onMouseEnter(e)),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new Vr(this._orthogonalEndDragHandle,"mouseleave")).event((()=>AS.onMouseLeave(e)),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,i){super(),this.hoverDelay=300,this.hoverDelayer=this._register(new A.ve(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new P.vl),this._onDidStart=this._register(new P.vl),this._onDidChange=this._register(new P.vl),this._onDidReset=this._register(new P.vl),this._onDidEnd=this._register(new P.vl),this.orthogonalStartSashDisposables=this._register(new Ae.Cm),this.orthogonalStartDragHandleDisposables=this._register(new Ae.Cm),this.orthogonalEndSashDisposables=this._register(new Ae.Cm),this.orthogonalEndDragHandleDisposables=this._register(new Ae.Cm),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=Gt(e,ei(".monaco-sash")),i.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${i.orthogonalEdge}`),f.zx&&this.el.classList.add("mac");const n=this._register(new Vr(this.el,"mousedown")).event;this._register(n((t=>this.onPointerStart(t,new ES(e))),this));const s=this._register(new Vr(this.el,"dblclick")).event;this._register(s(this.onPointerDoublePress,this));const o=this._register(new Vr(this.el,"mouseenter")).event;this._register(o((()=>AS.onMouseEnter(this))));const r=this._register(new Vr(this.el,"mouseleave")).event;this._register(r((()=>AS.onMouseLeave(this)))),this._register(nd.addTarget(this.el));const a=this._register(new Vr(this.el,td.Start)).event;this._register(a((e=>this.onPointerStart(e,new MS(this.el))),this));const l=this._register(new Vr(this.el,td.Tap)).event;let h;this._register(l((e=>{if(h)return clearTimeout(h),h=void 0,void this.onPointerDoublePress(e);clearTimeout(h),h=setTimeout((()=>h=void 0),250)}),this)),"number"==typeof i.size?(this.size=i.size,0===i.orientation?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=4,this._register(NS.event((e=>{this.size=e,this.layout()})))),this._register(IS.event((e=>this.hoverDelay=e))),this.layoutProvider=t,this.orthogonalStartSash=i.orthogonalStartSash,this.orthogonalEndSash=i.orthogonalEndSash,this.orientation=i.orientation||0,1===this.orientation?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",false),this.layout()}onPointerStart(e,t){jt(e);let i=!1;if(!e.__orthogonalSashEvent){const n=this.getOrthogonalSash(e);n&&(i=!0,e.__orthogonalSashEvent=!0,n.onPointerStart(e,new TS(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new TS(t))),!this.state)return;const n=this.el.ownerDocument.getElementsByTagName("iframe");for(const c of n)c.classList.add(RS);const s=e.pageX,o=e.pageY,r=e.altKey,a={startX:s,currentX:s,startY:o,currentY:o,altKey:r};this.el.classList.add("active"),this._onDidStart.fire(a);const l=Et(this.el),h=()=>{let e="";e=i?"all-scroll":1===this.orientation?1===this.state?"s-resize":2===this.state?"n-resize":f.zx?"row-resize":"ns-resize":1===this.state?"e-resize":2===this.state?"w-resize":f.zx?"col-resize":"ew-resize",l.textContent=`* { cursor: ${e} !important; }`},d=new Ae.Cm;h(),i||this.onDidEnablementChange.event(h,null,d);t.onPointerMove((e=>{jt(e,!1);const t={startX:s,currentX:e.pageX,startY:o,currentY:e.pageY,altKey:r};this._onDidChange.fire(t)}),null,d),t.onPointerUp((e=>{jt(e,!1),l.remove(),this.el.classList.remove("active"),this._onDidEnd.fire(),d.dispose();for(const t of n)t.classList.remove(RS)}),null,d),d.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger((()=>e.el.classList.add("hover")),e.hoverDelay).then(void 0,(()=>{})),!t&&e.linkedSash&&AS.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&AS.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){AS.onMouseLeave(this)}layout(){if(0===this.orientation){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){const t=e.initialTarget??e.target;if(t&&Bt(t))return t.classList.contains("orthogonal-drag-handle")?t.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash:void 0}dispose(){super.dispose(),this.el.remove()}}class PS{constructor(){let e;this._onDidWillResize=new P.vl,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new P.vl,this.onDidResize=this._onDidResize.event,this._sashListener=new Ae.Cm,this._size=new ht(0,0),this._minSize=new ht(0,0),this._maxSize=new ht(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new AS(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new AS(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new AS(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:DS.North}),this._southSash=new AS(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:DS.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let t=0,i=0;this._sashListener.add(P.Jh.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{void 0===e&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)}))),this._sashListener.add(P.Jh.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{void 0!==e&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(this._eastSash.onDidChange((n=>{e&&(i=n.currentX-n.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))}))),this._sashListener.add(this._westSash.onDidChange((n=>{e&&(i=-(n.currentX-n.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))}))),this._sashListener.add(this._northSash.onDidChange((n=>{e&&(t=-(n.currentY-n.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}))),this._sashListener.add(this._southSash.onDidChange((n=>{e&&(t=n.currentY-n.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))}))),this._sashListener.add(P.Jh.any(this._eastSash.onDidReset,this._westSash.onDidReset)((e=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(P.Jh.any(this._northSash.onDidReset,this._southSash.onDidReset)((e=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))})))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,n){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=n?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:n}=this._minSize,{height:s,width:o}=this._maxSize;e=Math.max(i,Math.min(s,e)),t=Math.max(n,Math.min(o,t));const r=new ht(t,e);ht.equals(r,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=r,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}class OS extends Ae.jG{constructor(e,t=new ht(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new PS),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=ht.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((e=>{this._resize(new ht(e.dimension.width,e.dimension.height)),e.done&&(this._isResizing=!1)}))),this._register(this._resizableNode.onDidWillResize((()=>{this._isResizing=!0})))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){return this._contentPosition?.position?Gn.y.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;return ct(t).top+i.top-30}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=ct(t),s=at(t.ownerDocument.body),o=n.top+i.top+i.height;return s.height-o-24}_findPositionPreference(e,t){const i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),n=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),s=Math.min(Math.max(n,i),e),o=Math.min(e,s);let r;return r=this._editor.getOption(60).above?o<=n?1:2:o<=i?2:1,1===r?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),r}_resize(e){this._resizableNode.layout(e.height,e.width)}}const FS=ei;class WS extends Ae.jG{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",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 Ju(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class BS extends Ae.jG{static render(e,t,i){return new BS(e,t,i)}constructor(e,t,i){super(),this.actionLabel=t.label,this.actionKeybindingLabel=i,this.actionContainer=Gt(e,FS("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=Gt(this.actionContainer,FS("a.action")),this.action.setAttribute("role","button"),t.iconClass&&Gt(this.action,FS(`span.icon.${t.iconClass}`));Gt(this.action,FS("span")).textContent=i?`${t.label} (${i})`:t.label,this._store.add(new VS(this.actionContainer,t.run)),this._store.add(new zS(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 HS(e,t){return e&&t?(0,jn.kg)("acessibleViewHint","Inspect this in the accessible view with {0}.",t):e?(0,jn.kg)("acessibleViewHintNoKbOpen","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}class VS extends Ae.jG{constructor(e,t){super(),this._register(Ye(e,Ut.CLICK,(i=>{i.stopPropagation(),i.preventDefault(),t(e)})))}}class zS extends Ae.jG{constructor(e,t,i){super(),this._register(Ye(e,Ut.KEY_DOWN,(n=>{const s=new N(n);i.some((e=>s.equals(e)))&&(n.stopPropagation(),n.preventDefault(),t(e))})))}}var US,KS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},jS=function(e,t){return function(i,n){t(i,n,e)}};let $S=class extends OS{static{US=this}static{this.ID="editor.contrib.resizableContentHoverWidget"}static{this._lastDimensions=new ht(0,0)}get isVisibleFromKeyboard(){return 1===this._renderedHover?.source}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,n,s){const o=e.getOption(67)+8,r=new ht(150,o);super(e,r),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new WS),this._onDidResize=this._register(new P.vl),this.onDidResize=this._onDidResize.event,this._minimumSize=r,this._hoverVisibleKey=js.hoverVisible.bindTo(t),this._hoverFocusedKey=js.hoverFocused.bindTo(t),Gt(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange((()=>{this.isVisible&&this._updateMaxDimensions()}))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()})));const a=this._register(qt(this._resizableNode.domNode));this._register(a.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(a.onDidBlur((()=>{this._hoverFocusedKey.set(!1)}))),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return US.ID}static _applyDimensions(e,t,i){const n="number"==typeof t?`${t}px`:t,s="number"==typeof i?`${i}px`:i;e.style.width=n,e.style.height=s}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return US._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return US._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const n="number"==typeof t?`${t}px`:t,s="number"==typeof i?`${i}px`:i;e.style.maxWidth=n,e.style.maxHeight=s}_setHoverWidgetMaxDimensions(e,t){US._applyMaxDimensions(this._hover.contentsDomNode,e,t),US._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof e?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i)}_updateResizableNodeMaxDimensions(){const e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new ht(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){US._lastDimensions=new ht(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){const e=this._renderedHover?.showAtPosition;if(e)return 1===this._positionPreference?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=6;return Array.from(this._hover.contentsDomNode.children).forEach((e=>{t+=e.clientHeight})),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some((e=>e.scrollWidth>e.clientWidth));return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=void 0===this._contentWidth?0:this._contentWidth-2;if(e||this._hover.containerDomNode.clientWidththis._renderedHover.closestMouseDistance+4)&&(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,n),!0)}_setRenderedHover(e){this._renderedHover?.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=""+t/e;Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,US._lastDimensions.height),t=Math.max(.66*this._editor.getLayoutInfo().width,500,US._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){if(!this._editor||!this._editor.hasModel())return;this._render(e);const t=ft(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,i)??1,this.onContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const n=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&HS(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel()??"");n&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+n)}hide(){if(!this._renderedHover)return;const e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new ht(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}setMinimumDimensions(e){this._minimumSize=new ht(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new ht(e,this._minimumSize.height)}onContentsChanged(){this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=ft(e),i=gt(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=ft(e),i=gt(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),this._renderedHover?.showAtPosition){const e=ft(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(e,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-30})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+30})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};function qS(e,t,i,n,s,o){const r=i+s/2,a=n+o/2,l=Math.max(Math.abs(e-r)-s/2,0),h=Math.max(Math.abs(t-a)-o/2,0);return Math.sqrt(l*l+h*h)}$S=US=KS([jS(1,ls.fN),jS(2,Fp.pG),jS(3,jr),jS(4,bd)],$S);class GS{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(1!==t.type&&!t.supportsMarkerHover)return[];const i=e.getModel(),n=t.range.startLineNumber;if(n>i.getLineCount())return[];const s=i.getLineMaxColumn(n);return e.getLineDecorations(n).filter((e=>{if(e.options.isWholeLine)return!0;const i=e.range.startLineNumber===n?e.range.startColumn:1,o=e.range.endLineNumber===n?e.range.endColumn:s;if(e.options.showIfCollapsed){if(i>t.range.startColumn+1||t.range.endColumn-1>o)return!1}else if(i>t.range.startColumn||t.range.endColumn>o)return!1;return!0}))}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return A.AE.EMPTY;const i=GS._getLineDecorations(this._editor,t);return A.AE.merge(this._participants.map((n=>n.computeAsync?n.computeAsync(t,i,e):A.AE.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=GS._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return(0,ia.Yc)(t)}}class QS{constructor(e,t,i){this.anchor=e,this.hoverParts=t,this.isComplete=i}filter(e){const t=this.hoverParts.filter((t=>t.isValidForHoverAnchor(e)));return t.length===this.hoverParts.length?this:new YS(this,this.anchor,t,this.isComplete)}}class YS extends QS{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var ZS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},XS=function(e,t){return function(i,n){t(i,n,e)}};const JS=ei;let ek=class extends Ae.jG{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=JS("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=Gt(this.hoverElement,JS("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(BS.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=Gt(this.actionsElement,e);return this._hasContent=!0,t}};ek=ZS([XS(0,bd)],ek);var tk=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ik=function(e,t){return function(i,n){t(i,n,e)}};const nk=(0,$n.u1)("hoverService");let sk=class extends Ae.jG{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,i={},n,s){super(),this.placement=e,this.instantHover=t,this.overrideOptions=i,this.configurationService=n,this.hoverService=s,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new Ae.Cm),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){const i="function"==typeof this.overrideOptions?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const n=Bt(e.target)?[e.target]:e.target.targetElements;for(const o of n)this.hoverDisposables.add(Xe(o,"keydown",(e=>{e.equals(9)&&this.hoverService.hideHover()})));const s=Bt(e.content)?void 0:e.content.toString();return this.hoverService.showHover({...e,...i,persistence:{hideOnKeyDown:!0,...i.persistence},id:s,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...i.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTimeasync function(e,t,i,n,s){const o=await Promise.resolve(e.provideHover(i,n,s)).catch(b.M_);if(o&&function(e){const t=void 0!==e.range,i=void 0!==e.contents&&e.contents&&e.contents.length>0;return t&&i}(o))return new ok(e,o,t)}(e,s,t,i,n)));return A.AE.fromPromises(o).coalesce()}function ak(e,t,i,n,s=!1){return rk(e,t,i,n,s).map((e=>e.hover)).toPromise()}Ps("_executeHoverProvider",((e,t,i)=>ak(e.get(La.ILanguageFeaturesService).hoverProvider,t,i,na.XO.None))),Ps("_executeHoverProvider_recursive",((e,t,i)=>ak(e.get(La.ILanguageFeaturesService).hoverProvider,t,i,na.XO.None,!0)));var lk=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},hk=function(e,t){return function(i,n){t(i,n,e)}};const dk=ei,ck=mu("hover-increase-verbosity",vl.W.add,jn.kg("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),uk=mu("hover-decrease-verbosity",vl.W.remove,jn.kg("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class gk{constructor(e,t,i,n,s,o=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=n,this.ordinal=s,this.source=o}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}class pk{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case ka.M$.Increase:return this.hover.canIncreaseVerbosity??!1;case ka.M$.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let mk=class{constructor(e,t,i,n,s,o,r,a){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=o,this._hoverService=r,this._commandService=a,this.hoverOrdinal=3}createLoadingMessage(e){return new gk(this,e.range,[(new Hn).appendText(jn.kg("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),o=[];let r=1e3;const a=i.getLineLength(n),l=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),h=this._editor.getOption(118),d=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:l});let c=!1;h>=0&&a>h&&e.range.startColumn>=h&&(c=!0,o.push(new gk(this,e.range,[{value:jn.kg("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,r++))),!c&&"number"==typeof d&&a>=d&&o.push(new gk(this,e.range,[{value:jn.kg("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,r++));let u=!1;for(const g of t){const t=g.range.startLineNumber===n?g.range.startColumn:1,i=g.range.endLineNumber===n?g.range.endColumn:s,a=g.options.hoverMessage;if(!a||Vn(a))continue;g.options.beforeContentClassName&&(u=!0);const l=new Xs.Q(e.range.startLineNumber,t,e.range.startLineNumber,i);o.push(new gk(this,l,(0,ia._j)(a),u,r++))}return o}computeAsync(e,t,i){if(!this._editor.hasModel()||1!==e.type)return A.AE.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;if(!s.has(n))return A.AE.EMPTY;return this._getMarkdownHovers(s,n,e,i)}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition(),o=rk(e,t,s,n).filter((e=>!Vn(e.hover.contents))).map((e=>{const t=e.hover.range?Xs.Q.lift(e.hover.range):i.range,n=new pk(e.hover,e.provider,s);return new gk(this,t,e.hover.contents,!1,e.ordinal,n)}));return o}renderHoverParts(e,t){return this._renderedHoverParts=new _k(t,e.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(e,t,i){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(e,t,i))}};mk=lk([hk(1,xh.L),hk(2,Th),hk(3,Fp.pG),hk(4,La.ILanguageFeaturesService),hk(5,bd),hk(6,nk),hk(7,rs)],mk);class fk{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class _k{constructor(e,t,i,n,s,o,r,a,l,h,d){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=o,this._commandService=r,this._keybindingService=a,this._hoverService=l,this._configurationService=h,this._onFinishedRendering=d,this._ongoingHoverOperations=new Map,this._disposables=new Ae.Cm,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add((0,Ae.s)((()=>{this.renderedHoverParts.forEach((e=>{e.dispose()})),this._ongoingHoverOperations.forEach((e=>{e.tokenSource.dispose(!0)}))})))}_renderHoverParts(e,t,i){return e.sort((0,ia.VE)((e=>e.ordinal),ia.U9)),e.map((e=>{const n=this._renderHoverPart(e,i);return t.appendChild(n.hoverElement),n}))}_renderHoverPart(e,t){const i=this._renderMarkdownHover(e,t),n=i.hoverElement,s=e.source,o=new Ae.Cm;if(o.add(i),!s)return new fk(e,n,o);const r=s.supportsVerbosityAction(ka.M$.Increase),a=s.supportsVerbosityAction(ka.M$.Decrease);if(!r&&!a)return new fk(e,n,o);const l=dk("div.verbosity-actions");return n.prepend(l),o.add(this._renderHoverExpansionAction(l,ka.M$.Increase,r)),o.add(this._renderHoverExpansionAction(l,ka.M$.Decrease,a)),new fk(e,n,o)}_renderMarkdownHover(e,t){return vk(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new Ae.Cm,s=t===ka.M$.Increase,o=Gt(e,dk(In.L.asCSSSelector(s?ck:uk)));o.tabIndex=0;const r=new sk("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(r,o,function(e,t){switch(t){case ka.M$.Increase:{const t=e.lookupKeybinding(Ny);return t?jn.kg("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):jn.kg("increaseVerbosity","Increase Hover Verbosity")}case ka.M$.Decrease:{const t=e.lookupKeybinding(Ey);return t?jn.kg("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):jn.kg("decreaseVerbosity","Decrease Hover Verbosity")}}}(this._keybindingService,t))),!i)return o.classList.add("disabled"),n;o.classList.add("enabled");const a=()=>this._commandService.executeCommand(t===ka.M$.Increase?Ny:Ey);return n.add(new VS(o,a)),n.add(new zS(o,a,[3,10])),n}async updateMarkdownHoverPartVerbosityLevel(e,t,i=!0){const n=this._editor.getModel();if(!n)return;const s=this._getRenderedHoverPartAtIndex(t),o=s?.hoverPart.source;if(!s||!o?.supportsVerbosityAction(e))return;const r=await this._fetchHover(o,n,e);if(!r)return;const a=new pk(r,o.hoverProvider,o.hoverPosition),l=s.hoverPart,h=new gk(this._hoverParticipant,l.range,r.contents,l.isBeforeContent,l.ordinal,a),d=this._renderHoverPart(h,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,d,h),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:h,hoverElement:d.hoverElement}}async _fetchHover(e,t,i){let n=i===ka.M$.Increase?1:-1;const s=e.hoverProvider,o=this._ongoingHoverOperations.get(s);o&&(o.tokenSource.cancel(),n+=o.verbosityDelta);const r=new na.Qi;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:r});const a={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let l;try{l=await Promise.resolve(s.provideHover(t,e.hoverPosition,r.token,a))}catch(h){(0,b.M_)(h)}return r.dispose(),this._ongoingHoverOperations.delete(s),l}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const n=this.renderedHoverParts[e],s=n.hoverElement,o=t.hoverElement,r=Array.from(o.children);s.replaceChildren(...r);const a=new fk(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=a}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function vk(e,t,i,n,s){const o=new Ae.Cm,r=dk("div.hover-row"),a=dk("div.hover-row-contents");r.appendChild(a);const l=t.contents;for(const h of l){if(Vn(h))continue;const t=dk("div.markdown-hover"),r=Gt(t,dk("div.hover-contents")),l=o.add(new Oh({editor:e},i,n));o.add(l.onDidRenderAsync((()=>{r.className="hover-contents code-hover-contents",s()})));const d=o.add(l.render(h));r.appendChild(d.element),a.appendChild(t)}return{hoverPart:t,hoverElement:r,dispose(){o.dispose()}}}class bk{static insert(e,t){return{range:new Xs.Q(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}function Ck(e,t){return!!e[t]}class wk{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=Ck(e.event,t.triggerModifier),this.hasSideBySideModifier=Ck(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class yk{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=Ck(e,t.triggerModifier)}}class Sk{constructor(e,t,i,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=n}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function kk(e){return"altKey"===e?f.zx?new Sk(57,"metaKey",6,"altKey"):new Sk(5,"ctrlKey",6,"altKey"):f.zx?new Sk(6,"altKey",57,"metaKey"):new Sk(6,"altKey",5,"ctrlKey")}class Lk extends Ae.jG{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new P.vl),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new P.vl),this.onExecute=this._onExecute.event,this._onCancel=this._register(new P.vl),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(e=>e.target.position?e.target.position.lineNumber:0),this._opts=kk(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(78)){const e=kk(this._editor.getOption(78));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((e=>this._onEditorMouseMove(new wk(e,this._opts))))),this._register(this._editor.onMouseDown((e=>this._onEditorMouseDown(new wk(e,this._opts))))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(new wk(e,this._opts))))),this._register(this._editor.onKeyDown((e=>this._onEditorKeyDown(new yk(e,this._opts))))),this._register(this._editor.onKeyUp((e=>this._onEditorKeyUp(new yk(e,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((e=>this._onDidChangeCursorSelection(e)))),this._register(this._editor.onDidChangeModel((e=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((e=>{(e.scrollTopChanged||e.scrollLeftChanged)&&this._resetHandler()})))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class xk{constructor(e,t){this.range=e,this.direction=t}}class Dk{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new Dk(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,e.isCancellationRequested)return;return this.resolve(e)}this._isResolved||(this._currentResolve=this._doResolve(e).finally((()=>this._currentResolve=void 0))),await this._currentResolve}}async _doResolve(e){try{const t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=t?.tooltip??this.hint.tooltip,this.hint.label=t?.label??this.hint.label,this.hint.textEdits=t?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(t){(0,b.M_)(t),this._isResolved=!1}}}class Nk{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(e,t,i,n){const s=[],o=e.ordered(t).reverse().map((e=>i.map((async i=>{try{const o=await e.provideInlayHints(t,i,n);(o?.hints.length||e.onDidChangeInlayHints)&&s.push([o??Nk._emptyInlayHintList,e])}catch(o){(0,b.M_)(o)}}))));if(await Promise.all(o.flat()),n.isCancellationRequested||t.isDisposed())throw new b.AL;return new Nk(i,s,t)}constructor(e,t,i){this._disposables=new Ae.Cm,this.ranges=e,this.provider=new Set;const n=[];for(const[s,o]of t){this._disposables.add(s),this.provider.add(o);for(const e of s.hints){const t=i.validatePosition(e.position);let s="before";const r=Nk._getRangeAtPosition(i,t);let a;r.getStartPosition().isBefore(t)?(a=Xs.Q.fromPositions(r.getStartPosition(),t),s="after"):(a=Xs.Q.fromPositions(t,r.getEndPosition()),s="before"),n.push(new Dk(e,new xk(a,s),o))}}this.items=n.sort(((e,t)=>Gn.y.compare(e.hint.position,t.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,n=e.getWordAtPosition(t);if(n)return new Xs.Q(i,n.startColumn,i,n.endColumn);e.tokenization.tokenizeIfCheap(i);const s=e.tokenization.getLineTokens(i),o=t.column-1,r=s.findTokenIndexAtOffset(o);let a=s.getStartOffset(r),l=s.getEndOffset(r);return l-a==1&&(a===o&&r>1?(a=s.getStartOffset(r-1),l=s.getEndOffset(r-1)):l===o&&r=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Rk=function(e,t){return function(i,n){t(i,n,e)}};let Ak=class extends YC{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,o,r,a,l,h,d,c,u),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration((e=>this._onParentConfigurationChanged(e))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){$l.co(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Ak=Tk([Rk(4,$n._Y),Rk(5,qn),Rk(6,rs),Rk(7,ls.fN),Rk(8,io.Gy),Rk(9,yd),Rk(10,jr),Rk(11,Fo.JZ),Rk(12,La.ILanguageFeaturesService)],Ak);const Pk=new hd.Q1(new hd.bU(0,122,204)),Ok={showArrow:!0,showFrame:!0,className:"",frameColor:Pk,arrowColor:Pk,keepEditorSelection:!1};class Fk{constructor(e,t,i,n,s,o,r,a){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=r,this.ordinal=a,this._onDomNodeTop=s,this._onComputedHeight=o}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class Wk{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class Bk{static{this._IdGenerator=new Rl(".arrow-decoration-")}constructor(e){this._editor=e,this._ruleName=Bk._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),Ft(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){Ft(this._ruleName),Ot(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){1===e.column&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:Xs.Q.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}class Hk{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Ae.Cm,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=$l.Go(t),$l.co(this.options,Ok,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange((e=>{const t=this._getWidth(e);this.domNode.style.width=t+"px",this.domNode.style.left=this._getLeft(e)+"px",this._onWidth(t)})))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null})),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new Bk(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){if(this.domNode.style.height=`${e}px`,this.container){const t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;const i=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(i))}this._resizeSash?.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=Xs.Q.isIRange(e)?Xs.Q.lift(e):Xs.Q.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:eo.kI.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow?.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){t+=2*Math.round(e/3)}if(this.options.showFrame){t+=2*Math.round(e/9)}return t}_showImpl(e,t){const i=e.getStartPosition(),n=this.editor.getLayoutInfo(),s=this._getWidth(n);this.domNode.style.width=`${s}px`,this.domNode.style.left=this._getLeft(n)+"px";const o=document.createElement("div");o.style.overflow="hidden";const r=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const e=Math.max(12,this.editor.getLayoutInfo().height/r*.8);t=Math.min(t,e)}let a=0,l=0;if(this._arrow&&this.options.showArrow&&(a=Math.round(r/3),this._arrow.height=a,this._arrow.show(i)),this.options.showFrame&&(l=Math.round(r/9)),this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new Fk(o,i.lineNumber,i.column,t,(e=>this._onViewZoneTop(e)),(e=>this._onViewZoneHeight(e)),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new Wk("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const e=this.options.frameWidth?this.options.frameWidth:l;this.container.style.borderTopWidth=e+"px",this.container.style.borderBottomWidth=e+"px"}const h=t*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=a+"px",this.container.style.height=h+"px",this.container.style.overflow="hidden"),this._doLayout(h,s),this.options.keepEditorSelection||this.editor.setSelection(e);const d=this.editor.getModel();if(d){const t=d.validateRange(new Xs.Q(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(t,t.startLineNumber===d.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones((t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))}))}_initSash(){if(this._resizeSash)return;let e;this._resizeSash=this._disposables.add(new AS(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart((t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})}))),this._disposables.add(this._resizeSash.onDidEnd((()=>{e=void 0}))),this._disposables.add(this._resizeSash.onDidChange((t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),n=i<0?Math.ceil(i):Math.floor(i),s=e.heightInLines+n;s>5&&s<35&&this._relayout(s)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var Vk=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},zk=function(e,t){return function(i,n){t(i,n,e)}};const Uk=(0,$n.u1)("IPeekViewService");var Kk;(0,cl.v)(Uk,class{constructor(){this._widgets=new Map}addExclusiveWidget(e,t){const i=this._widgets.get(e);i&&(i.listener.dispose(),i.widget.dispose());this._widgets.set(e,{widget:t,listener:t.onDidClose((()=>{const i=this._widgets.get(e);i&&i.widget===t&&(i.listener.dispose(),this._widgets.delete(e))}))})}},1),function(e){e.inPeekEditor=new ls.N1("inReferenceSearchEditor",!0,jn.kg("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),e.notInPeekEditor=e.inPeekEditor.toNegated()}(Kk||(Kk={}));let jk=class{static{this.ID="editor.contrib.referenceController"}constructor(e,t){e instanceof Ak&&Kk.inPeekEditor.bindTo(t)}dispose(){}};jk=Vk([zk(1,ls.fN)],jk),Bs(jk.ID,jk,0);const $k={headerBackgroundColor:hd.Q1.white,primaryHeadingColor:hd.Q1.fromHex("#333333"),secondaryHeadingColor:hd.Q1.fromHex("#6c6c6cb3")};let qk=class extends Hk{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new P.vl,this.onDidClose=this._onDidClose.event,$l.co(this.options,$k,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=ei(".head"),this._bodyElement=ei(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=ei(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Xe(this._titleElement,"click",(e=>this._onTitleClick(e)))),Gt(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=ei("span.filename"),this._secondaryHeading=ei("span.dirname"),this._metaHeading=ei("span.meta"),Gt(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=ei(".peekview-actions");Gt(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Jg(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Zn("peekview.close",jn.kg("label.close","Close"),In.L.asClassName(vl.W.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:Gy.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:Ge(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,ti(this._metaHeading)):ii(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0)return void this.dispose();const i=Math.ceil(1.2*this.editor.getOption(67)),n=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(n,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};qk=Vk([zk(2,$n._Y)],qk);const Gk=(0,to.x1A)("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:hd.Q1.black,hcLight:hd.Q1.white},jn.kg("peekViewTitleBackground","Background color of the peek view title area.")),Qk=(0,to.x1A)("peekViewTitleLabel.foreground",{dark:hd.Q1.white,light:hd.Q1.black,hcDark:hd.Q1.white,hcLight:to.By2},jn.kg("peekViewTitleForeground","Color of the peek view title.")),Yk=(0,to.x1A)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},jn.kg("peekViewTitleInfoForeground","Color of the peek view title info.")),Zk=(0,to.x1A)("peekView.border",{dark:to.pOz,light:to.pOz,hcDark:to.b1q,hcLight:to.b1q},jn.kg("peekViewBorder","Color of the peek view borders and arrow.")),Xk=(0,to.x1A)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:hd.Q1.black,hcLight:hd.Q1.white},jn.kg("peekViewResultsBackground","Background color of the peek view result list.")),Jk=((0,to.x1A)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:hd.Q1.white,hcLight:to.By2},jn.kg("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),(0,to.x1A)("peekViewResult.fileForeground",{dark:hd.Q1.white,light:"#1E1E1E",hcDark:hd.Q1.white,hcLight:to.By2},jn.kg("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),(0,to.x1A)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},jn.kg("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),(0,to.x1A)("peekViewResult.selectionForeground",{dark:hd.Q1.white,light:"#6C6C6C",hcDark:hd.Q1.white,hcLight:to.By2},jn.kg("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),(0,to.x1A)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:hd.Q1.black,hcLight:hd.Q1.white},jn.kg("peekViewEditorBackground","Background color of the peek view editor.")));(0,to.x1A)("peekViewEditorGutter.background",Jk,jn.kg("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),(0,to.x1A)("peekViewEditorStickyScroll.background",Jk,jn.kg("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor.")),(0,to.x1A)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},jn.kg("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),(0,to.x1A)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},jn.kg("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),(0,to.x1A)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:to.buw,hcLight:to.buw},jn.kg("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class eL{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:Ae.jG.None}}renderElement(e,t,i,n){if(i.disposable?.dispose(),!i.data)return;const s=this.modelProvider();if(s.isResolved(e))return this.renderer.renderElement(s.get(e),e,i.data,n);const o=new na.Qi,r=s.resolve(e,o.token);i.disposable={dispose:()=>o.cancel()},this.renderer.renderPlaceholder(e,i.data),r.then((t=>this.renderer.renderElement(t,e,i.data,n)))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class tL{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}class iL{constructor(e,t,i,n,s={}){const o=()=>this.model,r=n.map((e=>new eL(e,o)));this.list=new Ug(e,t,i,r,function(e,t){return{...t,accessibilityProvider:t.accessibilityProvider&&new tL(e,t.accessibilityProvider)}}(o,s))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return P.Jh.map(this.list.onMouseDblClick,(({element:e,index:t,browserEvent:i})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:i})))}get onPointer(){return P.Jh.map(this.list.onPointer,(({element:e,index:t,browserEvent:i})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:i})))}get onDidChangeSelection(){return P.Jh.map(this.list.onDidChangeSelection,(({elements:e,indexes:t,browserEvent:i})=>({elements:e.map((e=>this._model.get(e))),indexes:t,browserEvent:i})))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,(0,ia.y1)(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((e=>this.model.get(e)))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}const nL={separatorBorder:hd.Q1.transparent};class sL{set size(e){this._size=e}get size(){return this._size}get visible(){return void 0===this._cachedVisibleSize}setVisible(e,t){if(e!==this.visible){e?(this.size=(0,Tu.qE)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof t?t:this.size,this.size=0),this.container.classList.toggle("visible",e);try{this.view.setVisible?.(e)}catch(i){console.error("Splitview: Failed to set visible view"),console.error(i)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){return this.view.proportionalLayout??!0}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,i,n){this.container=e,this.view=t,this.disposable=n,this._cachedVisibleSize=void 0,"number"==typeof i?(this._size=i,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=i.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch(i){console.error("Splitview: Failed to layout view"),console.error(i)}}dispose(){this.disposable.dispose()}}class oL extends sL{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}}class rL extends sL{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}}var aL,lL;!function(e){e[e.Idle=0]="Idle",e[e.Busy=1]="Busy"}(aL||(aL={})),function(e){e.Distribute={type:"distribute"},e.Split=function(e){return{type:"split",index:e}},e.Auto=function(e){return{type:"auto",index:e}},e.Invisible=function(e){return{type:"invisible",cachedVisibleSize:e}}}(lL||(lL={}));class hL extends Ae.jG{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=aL.Idle,this._onDidSashChange=this._register(new P.vl),this._onDidSashReset=this._register(new P.vl),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=t.orientation??0,this.inverseAltBehavior=t.inverseAltBehavior??!1,this.proportionalLayout=t.proportionalLayout??!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(0===this.orientation?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=Gt(this.el,ei(".sash-container")),this.viewContainer=ei(".split-view-container"),this.scrollable=this._register(new Ku({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:e=>nt(We(this.el),e)})),this.scrollableElement=this._register(new Xu(this.viewContainer,{vertical:0===this.orientation?t.scrollbarVisibility??1:2,horizontal:1===this.orientation?t.scrollbarVisibility??1:2},this.scrollable));const i=this._register(new Vr(this.viewContainer,"scroll")).event;this._register(i((e=>{const t=this.scrollableElement.getScrollPosition(),i=Math.abs(this.viewContainer.scrollLeft-t.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,n=Math.abs(this.viewContainer.scrollTop-t.scrollTop)<=1?void 0:this.viewContainer.scrollTop;void 0===i&&void 0===n||this.scrollableElement.setScrollPosition({scrollLeft:i,scrollTop:n})}))),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll((e=>{e.scrollTopChanged&&(this.viewContainer.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this.viewContainer.scrollLeft=e.scrollLeft)}))),Gt(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||nL),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach(((e,t)=>{const i=os.b0(e.visible)||e.visible?e.size:{type:"invisible",cachedVisibleSize:e.size},n=e.view;this.doAddView(n,i,t,!0)})),this._contentSize=this.viewItems.reduce(((e,t)=>e+t.size),0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,i=this.viewItems.length,n){this.doAddView(e,t,i,n)}layout(e,t){const i=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let t=0;for(let i=0;i0&&(n.size=(0,Tu.qE)(Math.round(s*e/t),n.minimumSize,n.maximumSize))}}else{const t=(0,ia.y1)(this.viewItems.length),n=t.filter((e=>1===this.viewItems[e].priority)),s=t.filter((e=>2===this.viewItems[e].priority));this.resize(this.viewItems.length-1,e-i,void 0,n,s)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map((e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0)))}onSashStart({sash:e,start:t,alt:i}){for(const r of this.viewItems)r.enabled=!1;const n=this.sashItems.findIndex((t=>t.sash===e)),s=(0,Ae.qE)(Ye(this.el.ownerDocument.body,"keydown",(e=>o(this.sashDragState.current,e.altKey))),Ye(this.el.ownerDocument.body,"keyup",(()=>o(this.sashDragState.current,!1)))),o=(e,t)=>{const i=this.viewItems.map((e=>e.size));let o,r,a=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(t=!t),t){if(n===this.sashItems.length-1){const e=this.viewItems[n];a=(e.minimumSize-e.size)/2,l=(e.maximumSize-e.size)/2}else{const e=this.viewItems[n+1];a=(e.size-e.maximumSize)/2,l=(e.size-e.minimumSize)/2}}if(!t){const e=(0,ia.y1)(n,-1),t=(0,ia.y1)(n+1,this.viewItems.length),s=e.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-i[t])),0),a=e.reduce(((e,t)=>e+(this.viewItems[t].viewMaximumSize-i[t])),0),l=0===t.length?Number.POSITIVE_INFINITY:t.reduce(((e,t)=>e+(i[t]-this.viewItems[t].minimumSize)),0),h=0===t.length?Number.NEGATIVE_INFINITY:t.reduce(((e,t)=>e+(i[t]-this.viewItems[t].viewMaximumSize)),0),d=Math.max(s,h),c=Math.min(l,a),u=this.findFirstSnapIndex(e),g=this.findFirstSnapIndex(t);if("number"==typeof u){const e=this.viewItems[u],t=Math.floor(e.viewMinimumSize/2);o={index:u,limitDelta:e.visible?d-t:d+t,size:e.size}}if("number"==typeof g){const e=this.viewItems[g],t=Math.floor(e.viewMinimumSize/2);r={index:g,limitDelta:e.visible?c+t:c-t,size:e.size}}}this.sashDragState={start:e,current:e,index:n,sizes:i,minDelta:a,maxDelta:l,alt:t,snapBefore:o,snapAfter:r,disposable:s}};o(t,i)}onSashChange({current:e}){const{index:t,start:i,sizes:n,alt:s,minDelta:o,maxDelta:r,snapBefore:a,snapAfter:l}=this.sashDragState;this.sashDragState.current=e;const h=e-i,d=this.resize(t,h,n,void 0,void 0,o,r,a,l);if(s){const e=t===this.sashItems.length-1,i=this.viewItems.map((e=>e.size)),n=e?t:t+1,s=this.viewItems[n],o=s.size-s.maximumSize,r=s.size-s.minimumSize,a=e?t-1:t+1;this.resize(a,-d,i,void 0,void 0,o,r)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(e,t){const i=this.viewItems.indexOf(e);i<0||i>=this.viewItems.length||(t="number"==typeof t?t:e.size,t=(0,Tu.qE)(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&i>0?(this.resize(i-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([i],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==aL.Idle)throw new Error("Cant modify splitview");this.state=aL.Busy;try{const i=(0,ia.y1)(this.viewItems.length).filter((t=>t!==e)),n=[...i.filter((e=>1===this.viewItems[e].priority)),e],s=i.filter((e=>2===this.viewItems[e].priority)),o=this.viewItems[e];t=Math.round(t),t=(0,Tu.qE)(t,o.minimumSize,Math.min(o.maximumSize,this.size)),o.size=t,this.relayout(n,s)}finally{this.state=aL.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const r of this.viewItems)r.maximumSize-r.minimumSize>0&&(e.push(r),t+=r.size);const i=Math.floor(t/e.length);for(const r of e)r.size=(0,Tu.qE)(i,r.minimumSize,r.maximumSize);const n=(0,ia.y1)(this.viewItems.length),s=n.filter((e=>1===this.viewItems[e].priority)),o=n.filter((e=>2===this.viewItems[e].priority));this.relayout(s,o)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,i=this.viewItems.length,n){if(this.state!==aL.Idle)throw new Error("Cant modify splitview");this.state=aL.Busy;try{const s=ei(".split-view-view");i===this.viewItems.length?this.viewContainer.appendChild(s):this.viewContainer.insertBefore(s,this.viewContainer.children.item(i));const o=e.onDidChange((e=>this.onViewChange(h,e))),r=(0,Ae.s)((()=>s.remove())),a=(0,Ae.qE)(o,r);let l;"number"==typeof t?l=t:("auto"===t.type&&(t=this.areViewsDistributed()?{type:"distribute"}:{type:"split",index:t.index}),l="split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize);const h=0===this.orientation?new oL(s,e,l,a):new rL(s,e,l,a);if(this.viewItems.splice(i,0,h),this.viewItems.length>1){const e={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},t=0===this.orientation?new AS(this.sashContainer,{getHorizontalSashTop:e=>this.getSashPosition(e),getHorizontalSashWidth:this.getSashOrthogonalSize},{...e,orientation:1}):new AS(this.sashContainer,{getVerticalSashLeft:e=>this.getSashPosition(e),getVerticalSashHeight:this.getSashOrthogonalSize},{...e,orientation:0}),n=0===this.orientation?e=>({sash:t,start:e.startY,current:e.currentY,alt:e.altKey}):e=>({sash:t,start:e.startX,current:e.currentX,alt:e.altKey}),s=P.Jh.map(t.onDidStart,n)(this.onSashStart,this),o=P.Jh.map(t.onDidChange,n)(this.onSashChange,this),r=P.Jh.map(t.onDidEnd,(()=>this.sashItems.findIndex((e=>e.sash===t)))),a=r(this.onSashEnd,this),l=t.onDidReset((()=>{const e=this.sashItems.findIndex((e=>e.sash===t)),i=(0,ia.y1)(e,-1),n=(0,ia.y1)(e+1,this.viewItems.length),s=this.findFirstSnapIndex(i),o=this.findFirstSnapIndex(n);("number"!=typeof s||this.viewItems[s].visible)&&("number"!=typeof o||this.viewItems[o].visible)&&this._onDidSashReset.fire(e)})),h=(0,Ae.qE)(s,o,a,l,t),d={sash:t,disposable:h};this.sashItems.splice(i-1,0,d)}let d;s.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(d=[t.index]),n||this.relayout([i],d),n||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()}finally{this.state=aL.Idle}}relayout(e,t){const i=this.viewItems.reduce(((e,t)=>e+t.size),0);this.resize(this.viewItems.length-1,this.size-i,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,i=this.viewItems.map((e=>e.size)),n,s,o=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY,a,l){if(e<0||e>=this.viewItems.length)return 0;const h=(0,ia.y1)(e,-1),d=(0,ia.y1)(e+1,this.viewItems.length);if(s)for(const y of s)(0,ia._A)(h,y),(0,ia._A)(d,y);if(n)for(const y of n)(0,ia.r7)(h,y),(0,ia.r7)(d,y);const c=h.map((e=>this.viewItems[e])),u=h.map((e=>i[e])),g=d.map((e=>this.viewItems[e])),p=d.map((e=>i[e])),m=h.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-i[t])),0),f=h.reduce(((e,t)=>e+(this.viewItems[t].maximumSize-i[t])),0),_=0===d.length?Number.POSITIVE_INFINITY:d.reduce(((e,t)=>e+(i[t]-this.viewItems[t].minimumSize)),0),v=0===d.length?Number.NEGATIVE_INFINITY:d.reduce(((e,t)=>e+(i[t]-this.viewItems[t].maximumSize)),0),b=Math.max(m,v,o),C=Math.min(_,f,r);let w=!1;if(a){const e=this.viewItems[a.index],i=t>=a.limitDelta;w=i!==e.visible,e.setVisible(i,a.size)}if(!w&&l){const e=this.viewItems[l.index],i=te+t.size),0);let i=this.size-t;const n=(0,ia.y1)(this.viewItems.length-1,-1),s=n.filter((e=>1===this.viewItems[e].priority)),o=n.filter((e=>2===this.viewItems[e].priority));for(const r of o)(0,ia._A)(n,r);for(const r of s)(0,ia.r7)(n,r);"number"==typeof e&&(0,ia.r7)(n,e);for(let r=0;0!==i&&re+t.size),0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach((e=>e.sash.layout())),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){0===this.orientation?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map((t=>e=t.size-t.minimumSize>0||e));e=!1;const i=this.viewItems.map((t=>e=t.maximumSize-t.size>0||e)),n=[...this.viewItems].reverse();e=!1;const s=n.map((t=>e=t.size-t.minimumSize>0||e)).reverse();e=!1;const o=n.map((t=>e=t.maximumSize-t.size>0||e)).reverse();let r=0;for(let a=0;a0||this.startSnappingEnabled)?e.state=1:d&&t[a]&&(r0)return;if(!e.visible&&e.snap)return t}}areViewsDistributed(){let e,t;for(const i of this.viewItems)if(e=void 0===e?i.size:Math.min(e,i.size),t=void 0===t?i.size:Math.max(t,i.size),t-e>2)return!1;return!0}dispose(){this.sashDragState?.disposable.dispose(),(0,Ae.AS)(this.viewItems),this.viewItems=[],this.sashItems.forEach((e=>e.disposable.dispose())),this.sashItems=[],super.dispose()}}class dL{static{this.TemplateId="row"}constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=dL.TemplateId,this.renderedTemplates=new Set;const n=new Map(t.map((e=>[e.templateId,e])));this.renderers=[];for(const s of e){const e=n.get(s.templateId);if(!e)throw new Error(`Table cell renderer for template id ${s.templateId} not found.`);this.renderers.push(e)}}renderTemplate(e){const t=Gt(e,ei(".monaco-table-tr")),i=[],n=[];for(let o=0;othis.disposables.add(new cL(e,t)))),a={size:r.reduce(((e,t)=>e+t.column.weight),0),views:r.map((e=>({size:e.column.weight,view:e})))};this.splitview=this.disposables.add(new hL(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:a})),this.splitview.el.style.height=`${i.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${i.headerRowHeight}px`;const l=new dL(n,s,(e=>this.splitview.getViewSize(e)));var h;this.list=this.disposables.add(new Ug(e,this.domNode,(h=i,{getHeight:e=>h.getHeight(e),getTemplateId:()=>dL.TemplateId}),[l],o)),P.Jh.any(...r.map((e=>e.onDidLayout)))((([e,t])=>l.layoutColumn(e,t)),null,this.disposables),this.splitview.onDidSashReset((e=>{const t=n.reduce(((e,t)=>e+t.weight),0),i=n[e].weight/t*this.cachedWidth;this.splitview.resizeView(e,i)}),null,this.disposables),this.styleElement=Et(this.domNode),this.style(Og)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,i=[]){this.list.splice(e,t,i)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=t.join("\n"),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}class gL extends Pu{constructor(e){super(),this._onChange=this._register(new P.vl),this.onChange=this._onChange.event,this._onKeyDown=this._register(new P.vl),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const t=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,t.push(...In.L.asClassNameArray(this._icon))),this._opts.actionClassName&&t.push(...this._opts.actionClassName.split(" ")),this._checked&&t.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(cd().setupManagedHover(e.hoverDelegate??ad("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...t),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,(e=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),e.preventDefault())})),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,(e=>{if(10===e.keyCode||3===e.keyCode)return this.checked=!this._checked,this._onChange.fire(!0),e.preventDefault(),void e.stopPropagation();this._onKeyDown.fire(e)}))}get enabled(){return"true"!==this.domNode.getAttribute("aria-disabled")}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}const pL=jn.kg("caseDescription","Match Case"),mL=jn.kg("wordsDescription","Match Whole Word"),fL=jn.kg("regexDescription","Use Regular Expression");class _L extends gL{constructor(e){super({icon:vl.W.caseSensitive,title:pL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ad("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class vL extends gL{constructor(e){super({icon:vl.W.wholeWord,title:mL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ad("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class bL extends gL{constructor(e){super({icon:vl.W.regex,title:fL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ad("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class CL{constructor(e,t=0,i=e.length,n=t-1){this.items=e,this.start=t,this.end=i,this.index=n}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class wL{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return 0!==this._currentPosition()?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return null===this._navigator.current()}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new CL(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach((t=>e.push(t))),e}}const yL=ei;class SL extends Pu{constructor(e,t,i){super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new P.vl),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=i,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=this.options.tooltip??(this.placeholder||""),this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=Gt(e,yL(".monaco-inputbox.idle"));const n=this.options.flexibleHeight?"textarea":"input",s=Gt(this.element,yL(".ibwrapper"));if(this.input=Gt(s,yL(n+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,(()=>this.element.classList.add("synthetic-focus"))),this.onblur(this.input,(()=>this.element.classList.remove("synthetic-focus"))),this.options.flexibleHeight){this.maxHeight="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=Gt(s,yL("div.mirror")),this.mirror.innerText="\xa0",this.scrollableElement=new Zu(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),Gt(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll((e=>this.input.scrollTop=e.scrollTop)));const t=this._register(new Vr(e.ownerDocument,"selectionchange")),i=P.Jh.filter(t.event,(()=>{const t=e.ownerDocument.getSelection();return t?.anchorNode===s}));this._register(i(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,(()=>this.onValueChange())),this.onblur(this.input,(()=>this.onBlur())),this.onfocus(this.input,(()=>this.onFocus())),this._register(this.ignoreGesture(this.input)),setTimeout((()=>this.updateMirror()),0),this.options.actions&&(this.actionbar=this._register(new Jg(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(cd().setupManagedHover(ad("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:ft(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return St(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){const e=this.input.selectionStart;if(null===e)return null;return{start:e,end:this.input.selectionEnd??e}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,i=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:i})}showMessage(e,t){if("open"===this.state&&(0,$l.aI)(this.message,e))return;this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const i=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${ai(i.border,"transparent")}`,this.message.content&&(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),e?.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=gt(this.element)+"px";let i;this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:i=>{if(!this.message)return null;e=Gt(i,yL(".monaco-inputbox-container")),t();const n={inline:!0,className:"monaco-inputbox-message"},s=this.message.formatContent?kl(this.message.content,n):function(e,t={}){const i=Ll(t);return i.textContent=e,i}(this.message.content,n);s.classList.add(this.classForType(this.message.type));const o=this.stylesForType(this.message.type);return s.style.backgroundColor=o.background??"",s.style.color=o.foreground??"",s.style.border=o.border?`1px solid ${o.border}`:"",Gt(e,s),null},onHide:()=>{this.state="closed"},layout:t}),i=3===this.message.type?jn.kg("alertErrorMessage","Error: {0}",this.message.content):2===this.message.type?jn.kg("alertWarningMessage","Warning: {0}",this.message.content):jn.kg("alertInfoMessage","Info: {0}",this.message.content),Ci(i),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,t=10===e.charCodeAt(e.length-1)?" ":"";(e+t).replace(/\u000c/g,"")?this.mirror.textContent=e+t:this.mirror.innerText="\xa0",this.layout()}applyStyles(){const e=this.options.inputBoxStyles,t=e.inputBackground??"",i=e.inputForeground??"",n=e.inputBorder??"";this.element.style.backgroundColor=t,this.element.style.color=i,this.input.style.backgroundColor="inherit",this.input.style.color=i,this.element.style.border=`1px solid ${ai(n,"transparent")}`}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=ft(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,i=t.selectionStart,n=t.selectionEnd,s=t.value;null!==i&&null!==n&&(this.value=s.substr(0,i)+e+s.substr(n),t.setSelectionRange(i+1,i+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar?.dispose(),super.dispose()}}class kL extends SL{constructor(e,t,i){const n=jn.kg({key:"history.inputbox.hint.suffix.noparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis ")", for example "Filter (e.g. text, !exclude)". The character inserted into the final string is \u21c5 to represent the up and down arrow keys.']}," or {0} for history","\u21c5"),s=jn.kg({key:"history.inputbox.hint.suffix.inparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. "Find"). The character inserted into the final string is \u21c5 to represent the up and down arrow keys.']}," ({0} for history)","\u21c5");super(e,t,i),this._onDidFocus=this._register(new P.vl),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new P.vl),this.onDidBlur=this._onDidBlur.event,this.history=new wL(i.history,100);const o=()=>{if(i.showHistoryHint&&i.showHistoryHint()&&!this.placeholder.endsWith(n)&&!this.placeholder.endsWith(s)&&this.history.getHistory().length){const e=this.placeholder.endsWith(")")?n:s,t=this.placeholder+e;i.showPlaceholderOnFocus&&!St(this.input)?this.placeholder=t:this.setPlaceHolder(t)}};this.observer=new MutationObserver(((e,t)=>{e.forEach((e=>{e.target.textContent||o()}))})),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,(()=>o())),this.onblur(this.input,(()=>{const e=e=>{if(this.placeholder.endsWith(e)){const t=this.placeholder.slice(0,this.placeholder.length-e.length);return i.showPlaceholderOnFocus?this.placeholder=t:this.setPlaceHolder(t),!0}return!1};e(s)||e(n)}))}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=e??"",wi(this.value?this.value:jn.kg("clearedInput","Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,wi(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const LL=jn.kg("defaultLabel","input");class xL extends Pu{constructor(e,t,i){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new Ae.HE),this.additionalToggles=[],this._onDidOptionChange=this._register(new P.vl),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new P.vl),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new P.vl),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new P.vl),this._onKeyUp=this._register(new P.vl),this._onCaseSensitiveKeyDown=this._register(new P.vl),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new P.vl),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||LL,this.showCommonFindToggles=!!i.showCommonFindToggles;const n=i.appendCaseSensitiveLabel||"",s=i.appendWholeWordsLabel||"",o=i.appendRegexLabel||"",r=i.history||[],a=!!i.flexibleHeight,l=!!i.flexibleWidth,h=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new kL(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:i.showHistoryHint,flexibleHeight:a,flexibleWidth:l,flexibleMaxHeight:h,inputBoxStyles:i.inputBoxStyles}));const d=this._register(ld());if(this.showCommonFindToggles){this.regex=this._register(new bL({appendTitle:o,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.regex.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.regex.onKeyDown((e=>{this._onRegexKeyDown.fire(e)}))),this.wholeWords=this._register(new vL({appendTitle:s,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.wholeWords.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this.caseSensitive=this._register(new _L({appendTitle:n,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.caseSensitive.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.caseSensitive.onKeyDown((e=>{this._onCaseSensitiveKeyDown.fire(e)})));const e=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const i=e.indexOf(this.domNode.ownerDocument.activeElement);if(i>=0){let n=-1;t.equals(17)?n=(i+1)%e.length:t.equals(15)&&(n=0===i?e.length-1:i-1),t.equals(9)?(e[i].blur(),this.inputBox.focus()):n>=0&&e[n].focus(),jt(t,!0)}}}))}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(i?.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),e?.appendChild(this.domNode),this._register(Ye(this.inputBox.inputElement,"compositionstart",(e=>{this.imeSessionInProgress=!0}))),this._register(Ye(this.inputBox.inputElement,"compositionend",(e=>{this.imeSessionInProgress=!1,this._onInput.fire()}))),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex?.enable(),this.wholeWords?.enable(),this.caseSensitive?.enable();for(const e of this.additionalToggles)e.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex?.disable(),this.wholeWords?.disable(),this.caseSensitive?.disable();for(const e of this.additionalToggles)e.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new Ae.Cm;for(const t of e??[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()}))),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){this.inputBox.paddingRight=e?0:(this.caseSensitive?.width()??0)+(this.wholeWords?.width()??0)+(this.regex?.width()??0)+this.additionalToggles.reduce(((e,t)=>e+t.width()),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive?.checked??!1}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){return this.wholeWords?.checked??!1}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){return this.regex?.checked??!1}setRegex(e){this.regex&&(this.regex.checked=e,this.validate())}focusOnCaseSensitive(){this.caseSensitive?.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}}var DL,NL;!function(e){e[e.Expanded=0]="Expanded",e[e.Collapsed=1]="Collapsed",e[e.PreserveOrExpanded=2]="PreserveOrExpanded",e[e.PreserveOrCollapsed=3]="PreserveOrCollapsed"}(DL||(DL={})),function(e){e[e.Unknown=0]="Unknown",e[e.Twistie=1]="Twistie",e[e.Element=2]="Element",e[e.Filter=3]="Filter"}(NL||(NL={}));class IL extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class EL{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}var ML,TL=i(51055),RL=i(47531);function AL(e){return"object"==typeof e&&"visibility"in e&&"data"in e}function PL(e){switch(e){case!0:return 1;case!1:return 0;default:return e}}function OL(e){return"boolean"==typeof e.collapsible}class FL{constructor(e,t,i,n={}){this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new P.at,this._onDidChangeCollapseState=new P.vl,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new P.vl,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new P.vl,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new A.ve(TL.h),this.collapseByDefault=void 0!==n.collapseByDefault&&n.collapseByDefault,this.allowNonCollapsibleParents=n.allowNonCollapsibleParents??!1,this.filter=n.filter,this.autoExpandSingleChildren=void 0!==n.autoExpandSingleChildren&&n.autoExpandSingleChildren,this.root={parent:void 0,element:i,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,i=ss.f.empty(),n={}){if(0===e.length)throw new IL(this.user,"Invalid tree location");n.diffIdentityProvider?this.spliceSmart(n.diffIdentityProvider,e,t,i,n):this.spliceSimple(e,t,i,n)}spliceSmart(e,t,i,n=ss.f.empty(),s,o=s.diffDepth??0){const{parentNode:r}=this.getParentNodeWithListIndex(t);if(!r.lastDiffIds)return this.spliceSimple(t,i,n,s);const a=[...n],l=t[t.length-1],h=new RL.uP({getElements:()=>r.lastDiffIds},{getElements:()=>[...r.children.slice(0,l),...a,...r.children.slice(l+i)].map((t=>e.getId(t.element).toString()))}).ComputeDiff(!1);if(h.quitEarly)return r.lastDiffIds=void 0,this.spliceSimple(t,i,a,s);const d=t.slice(0,-1),c=(t,i,n)=>{if(o>0)for(let r=0;rt.originalStart-e.originalStart)))c(u,g,u-(p.originalStart+p.originalLength)),u=p.originalStart,g=p.modifiedStart-l,this.spliceSimple([...d,u],p.originalLength,ss.f.slice(a,g,g+p.modifiedLength),s);c(u,g,u)}spliceSimple(e,t,i=ss.f.empty(),{onDidCreateNode:n,onDidDeleteNode:s,diffIdentityProvider:o}){const{parentNode:r,listIndex:a,revealed:l,visible:h}=this.getParentNodeWithListIndex(e),d=[],c=ss.f.map(i,(e=>this.createTreeNode(e,r,r.visible?1:0,l,d,n))),u=e[e.length-1];let g=0;for(let C=u;C>=0&&Co.getId(e.element).toString()))):r.lastDiffIds=r.children.map((e=>o.getId(e.element).toString())):r.lastDiffIds=void 0;let v=0;for(const C of _)C.visible&&v++;if(0!==v)for(let C=u+p.length;Ce+(t.visible?t.renderNodeCount:0)),0);this._updateAncestorsRenderNodeCount(r,f-e),this.list.splice(a,e,d)}if(_.length>0&&s){const e=t=>{s(t),t.children.forEach(e)};_.forEach(e)}this._onDidSplice.fire({insertedNodes:p,deletedNodes:_});let b=r;for(;b;){if(2===b.visibility){this.refilterDelayer.trigger((()=>this.refilter()));break}b=b.parent}}rerender(e){if(0===e.length)throw new IL(this.user,"Invalid tree location");const{node:t,listIndex:i,revealed:n}=this.getTreeNodeWithListIndex(e);t.visible&&n&&this.list.splice(i,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:i,revealed:n}=this.getTreeNodeWithListIndex(e);return i&&n?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const i=this.getTreeNode(e);void 0===t&&(t=!i.collapsible);const n={collapsible:t};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,n)))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,i){const n=this.getTreeNode(e);void 0===t&&(t=!n.collapsed);const s={collapsed:t,recursive:i||!1};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,s)))}_setCollapseState(e,t){const{node:i,listIndex:n,revealed:s}=this.getTreeNodeWithListIndex(e),o=this._setListNodeCollapseState(i,n,s,t);if(i!==this.root&&this.autoExpandSingleChildren&&o&&!OL(t)&&i.collapsible&&!i.collapsed&&!t.recursive){let n=-1;for(let e=0;e-1){n=-1;break}n=e}}n>-1&&this._setCollapseState([...e,n],t)}return o}_setListNodeCollapseState(e,t,i,n){const s=this._setNodeCollapseState(e,n,!1);if(!i||!e.visible||!s)return s;const o=e.renderNodeCount,r=this.updateNodeAfterCollapseChange(e),a=o-(-1===t?0:1);return this.list.splice(t+1,a,r.slice(1)),s}_setNodeCollapseState(e,t,i){let n;if(e===this.root?n=!1:(OL(t)?(n=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(n=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):n=!1,n&&this._onDidChangeCollapseState.fire({node:e,deep:i})),!OL(t)&&t.recursive)for(const s of e.children)n=this._setNodeCollapseState(s,t,!0)||n;return n}expandTo(e){this.eventBufferer.bufferEvents((()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})}))}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,i,n,s,o){const r={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:"boolean"==typeof e.collapsible?e.collapsible:void 0!==e.collapsed,collapsed:void 0===e.collapsed?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},a=this._filterNode(r,i);r.visibility=a,n&&s.push(r);const l=e.children||ss.f.empty(),h=n&&0!==a&&!r.collapsed;let d=0,c=1;for(const u of l){const e=this.createTreeNode(u,r,a,h,s,o);r.children.push(e),c+=e.renderNodeCount,e.visible&&(e.visibleChildIndex=d++)}return this.allowNonCollapsibleParents||(r.collapsible=r.collapsible||r.children.length>0),r.visibleChildrenCount=d,r.visible=2===a?d>0:1===a,r.visible?r.collapsed||(r.renderNodeCount=c):(r.renderNodeCount=0,n&&s.pop()),o?.(r),r}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterCollapseChange(e,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterCollapseChange(e,t){if(!1===e.visible)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const i of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(i,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterFilterChange(e,t,i,n=!0){let s;if(e!==this.root){if(s=this._filterNode(e,t),0===s)return e.visible=!1,e.renderNodeCount=0,!1;n&&i.push(e)}const o=i.length;e.renderNodeCount=e===this.root?0:1;let r=!1;if(e.collapsed&&0===s)e.visibleChildrenCount=0;else{let t=0;for(const o of e.children)r=this._updateNodeAfterFilterChange(o,s,i,n&&!e.collapsed)||r,o.visible&&(o.visibleChildIndex=t++);e.visibleChildrenCount=t}return e!==this.root&&(e.visible=2===s?r:1===s,e.visibility=s),e.visible?e.collapsed||(e.renderNodeCount+=i.length-o):(e.renderNodeCount=0,n&&i.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(0!==t)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const i=this.filter?this.filter.filter(e.element,t):1;return"boolean"==typeof i?(e.filterData=void 0,i?1:0):AL(i)?(e.filterData=i.data,PL(i.visibility)):(e.filterData=void 0,PL(i))}hasTreeNode(e,t=this.root){if(!e||0===e.length)return!0;const[i,...n]=e;return!(i<0||i>t.children.length)&&this.hasTreeNode(n,t.children[i])}getTreeNode(e,t=this.root){if(!e||0===e.length)return t;const[i,...n]=e;if(i<0||i>t.children.length)throw new IL(this.user,"Invalid tree location");return this.getTreeNode(n,t.children[i])}getTreeNodeWithListIndex(e){if(0===e.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:i,revealed:n,visible:s}=this.getParentNodeWithListIndex(e),o=e[e.length-1];if(o<0||o>t.children.length)throw new IL(this.user,"Invalid tree location");const r=t.children[o];return{node:r,listIndex:i,revealed:n,visible:s&&r.visible}}getParentNodeWithListIndex(e,t=this.root,i=0,n=!0,s=!0){const[o,...r]=e;if(o<0||o>t.children.length)throw new IL(this.user,"Invalid tree location");for(let a=0;ae.element))),this.data=e}}function BL(e){return e instanceof lg?new WL(e):e}class HL{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=Ae.jG.None,this.disposables=new Ae.Cm}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){this.dnd.onDragStart?.(BL(e),t)}onDragOver(e,t,i,n,s,o=!0){const r=this.dnd.onDragOver(BL(e),t&&t.element,i,n,s),a=this.autoExpandNode!==t;if(a&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),void 0===t)return r;if(a&&"boolean"!=typeof r&&r.autoExpand&&(this.autoExpandDisposable=(0,A.EQ)((()=>{const e=this.modelProvider(),i=e.getNodeLocation(t);e.isCollapsed(i)&&e.setCollapsed(i,!1),this.autoExpandNode=void 0}),500,this.disposables)),"boolean"==typeof r||!r.accept||void 0===r.bubble||r.feedback){if(!o){return{accept:"boolean"==typeof r?r:r.accept,effect:"boolean"==typeof r?void 0:r.effect,feedback:[i]}}return r}if(1===r.bubble){const i=this.modelProvider(),o=i.getNodeLocation(t),r=i.getParentNodeLocation(o),a=i.getNode(r),l=r&&i.getListIndex(r);return this.onDragOver(e,a,l,n,s,!1)}const l=this.modelProvider(),h=l.getNodeLocation(t),d=l.getListIndex(h),c=l.getListRenderCount(h);return{...r,feedback:(0,ia.y1)(d,d+c)}}drop(e,t,i,n,s){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(BL(e),t&&t.element,i,n,s)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function VL(e,t){return t&&{...t,identityProvider:t.identityProvider&&{getId:e=>t.identityProvider.getId(e.element)},dnd:t.dnd&&new HL(e,t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent:e=>t.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element}),isSelectionRangeChangeEvent:e=>t.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})},accessibilityProvider:t.accessibilityProvider&&{...t.accessibilityProvider,getSetSize(t){const i=e(),n=i.getNodeLocation(t),s=i.getParentNodeLocation(n);return i.getNode(s).visibleChildrenCount},getPosInSet:e=>e.visibleChildIndex+1,isChecked:t.accessibilityProvider&&t.accessibilityProvider.isChecked?e=>t.accessibilityProvider.isChecked(e.element):void 0,getRole:t.accessibilityProvider&&t.accessibilityProvider.getRole?e=>t.accessibilityProvider.getRole(e.element):()=>"treeitem",getAriaLabel:e=>t.accessibilityProvider.getAriaLabel(e.element),getWidgetAriaLabel:()=>t.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:t.accessibilityProvider&&t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:t.accessibilityProvider&&t.accessibilityProvider.getAriaLevel?e=>t.accessibilityProvider.getAriaLevel(e.element):e=>e.depth,getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(e=>t.accessibilityProvider.getActiveDescendantId(e.element))},keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:e=>t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}}class zL{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){this.delegate.setDynamicHeight?.(e.element,t)}}!function(e){e.None="none",e.OnHover="onHover",e.Always="always"}(ML||(ML={}));class UL{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new Ae.Cm,this.onDidChange=P.Jh.forEach(e,(e=>this._elements=e),this.disposables)}dispose(){this.disposables.dispose()}}class KL{static{this.DefaultIndent=8}constructor(e,t,i,n,s,o={}){this.renderer=e,this.modelProvider=t,this.activeNodes=n,this.renderedIndentGuides=s,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=KL.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=Ae.jG.None,this.disposables=new Ae.Cm,this.templateId=e.templateId,this.updateOptions(o),P.Jh.map(i,(e=>e.node))(this.onDidChangeNodeTwistieState,this,this.disposables),e.onDidChangeTwistieState?.(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(void 0!==e.indent){const t=(0,Tu.qE)(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[e,t]of this.renderedNodes)this.renderTreeElement(e,t)}}if(void 0!==e.renderIndentGuides){const t=e.renderIndentGuides!==ML.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[e,t]of this.renderedNodes)this._renderIndentGuides(e,t);if(this.indentGuidesDisposable.dispose(),t){const e=new Ae.Cm;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,e),this.indentGuidesDisposable=e,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}void 0!==e.hideTwistiesOfChildlessElements&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=Gt(e,ei(".monaco-tl-row")),i=Gt(t,ei(".monaco-tl-indent")),n=Gt(t,ei(".monaco-tl-twistie")),s=Gt(t,ei(".monaco-tl-contents")),o=this.renderer.renderTemplate(s);return{container:e,indent:i,twistie:n,indentGuidesDisposable:Ae.jG.None,templateData:o}}renderElement(e,t,i,n){this.renderedNodes.set(e,i),this.renderedElements.set(e.element,e),this.renderTreeElement(e,i),this.renderer.renderElement(e,t,i.templateData,n)}disposeElement(e,t,i,n){i.indentGuidesDisposable.dispose(),this.renderer.disposeElement?.(e,t,i.templateData,n),"number"==typeof n&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const i=KL.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft=`${i}px`,t.indent.style.width=i+this.indent-16+"px",e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...In.L.asClassNameArray(vl.W.treeItemExpanded));let n=!1;this.renderer.renderTwistie&&(n=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(n||t.twistie.classList.add(...In.L.asClassNameArray(vl.W.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(Ge(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const i=new Ae.Cm,n=this.modelProvider();for(;;){const s=n.getNodeLocation(e),o=n.getParentNodeLocation(s);if(!o)break;const r=n.getNode(o),a=ei(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(r)&&a.classList.add("active"),0===t.indent.childElementCount?t.indent.appendChild(a):t.indent.insertBefore(a,t.indent.firstElementChild),this.renderedIndentGuides.add(r,a),i.add((0,Ae.s)((()=>this.renderedIndentGuides.delete(r,a)))),e=r}t.indentGuidesDisposable=i}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,i=this.modelProvider();e.forEach((e=>{const n=i.getNodeLocation(e);try{const s=i.getParentNodeLocation(n);e.collapsible&&e.children.length>0&&!e.collapsed?t.add(e):s&&t.add(i.getNode(s))}catch{}})),this.activeIndentNodes.forEach((e=>{t.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.remove("active")))})),t.forEach((e=>{this.activeIndentNodes.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.add("active")))})),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),(0,Ae.AS)(this.disposables)}}class jL{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new Ae.Cm,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let i=1;if(this._filter){const n=this._filter.filter(e,t);if(i="boolean"==typeof n?n?1:0:AL(n)?PL(n.visibility):n,0===i)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:Sn.Default,visibility:i};const n=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),s=Array.isArray(n)?n:[n];for(const o of s){const e=o&&o.toString();if(void 0===e)return{data:Sn.Default,visibility:i};let t;if(this.tree.findMatchType===qL.Contiguous){const i=e.toLowerCase().indexOf(this._lowercasePattern);if(i>-1){t=[Number.MAX_SAFE_INTEGER,0];for(let e=this._lowercasePattern.length;e>0;e--)t.push(i+e-1)}}else t=Ln(this._pattern,this._lowercasePattern,0,e,e.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(t)return this._matchCount++,1===s.length?{data:t,visibility:i}:{data:{label:e,score:t},visibility:i}}return this.tree.findMode===$L.Filter?"number"==typeof this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:Sn.Default,visibility:i}}reset(){this._totalCount=0,this._matchCount=0}dispose(){(0,Ae.AS)(this.disposables)}}var $L,qL;!function(e){e[e.Highlight=0]="Highlight",e[e.Filter=1]="Filter"}($L||($L={})),function(e){e[e.Fuzzy=0]="Fuzzy",e[e.Contiguous=1]="Contiguous"}(qL||(qL={}));Ae.jG;class GL{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,i,n,s,o={}){this.tree=e,this.view=i,this.filter=n,this.contextViewProvider=s,this.options=o,this._pattern="",this.width=0,this._onDidChangeMode=new P.vl,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new P.vl,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new P.vl,this._onDidChangeOpenState=new P.vl,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new Ae.Cm,this.disposables=new Ae.Cm,this._mode=e.options.defaultFindMode??$L.Highlight,this._matchType=e.options.defaultFindMatchType??qL.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){void 0!==e.defaultFindMode&&(this.mode=e.defaultFindMode),void 0!==e.defaultFindMatchType&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){this.widget&&0!==this.pattern.length&&(this.tree.refilter(),this.render())}render(){const e=this.filter.totalCount>0&&0===this.filter.matchCount;this.pattern&&e?(Ci((0,jn.kg)("replFindNoResults","No results")),this.tree.options.showNotFoundMessage??1?this.widget?.showMessage({type:2,content:(0,jn.kg)("not found","No elements found.")}):this.widget?.showMessage({type:2})):(this.widget?.clearMessage(),this.pattern&&Ci((0,jn.kg)("replFindResults","{0} results",this.filter.matchCount)))}shouldAllowFocus(e){return!this.widget||!this.pattern||(this.filter.totalCount>0&&this.filter.matchCount<=1||!Sn.isDefault(e.filterData))}layout(e){this.width=e,this.widget?.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function QL(e,t){return e.position===t.position&&YL(e,t)}function YL(e,t){return e.node.element===t.node.element&&e.startIndex===t.startIndex&&e.height===t.height&&e.endIndex===t.endIndex}class ZL{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return(0,ia.aI)(this.stickyNodes,e.stickyNodes,QL)}lastNodePartiallyVisible(){if(0===this.count)return!1;const e=this.stickyNodes[this.count-1];if(1===this.count)return 0!==e.position;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!(0,ia.aI)(this.stickyNodes,e.stickyNodes,YL))return!1;if(0===this.count)return!1;const t=this.stickyNodes[this.count-1],i=e.stickyNodes[e.count-1];return t.position!==i.position}}class XL{constrainStickyScrollNodes(e,t,i){for(let n=0;ni||n>=t)return e.slice(0,n)}return e}}class JL extends Ae.jG{constructor(e,t,i,n,s,o={}){super(),this.tree=e,this.model=t,this.view=i,this.treeDelegate=s,this.maxWidgetViewRatio=.4;const r=this.validateStickySettings(o);this.stickyScrollMaxItemCount=r.stickyScrollMaxItemCount,this.stickyScrollDelegate=o.stickyScrollDelegate??new XL,this._widget=this._register(new ex(i.getScrollableElement(),i,e,n,s,o.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(i.onDidScroll((()=>this.update()))),this._register(i.onDidChangeContentHeight((()=>this.update()))),this._register(e.onDidChangeCollapseState((()=>this.update()))),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(t=0===e?this.view.firstVisibleIndex:this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||0===this.tree.scrollTop)return void this._widget.setState(void 0);const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let i=e,n=0,s=this.getNextStickyNode(i,void 0,n);for(;s&&(t.push(s),n+=s.height,!(t.length<=this.stickyScrollMaxItemCount)||(i=this.getNextVisibleNode(s),i));)s=this.getNextStickyNode(i,s.node,n);const o=this.constrainStickyNodes(t);return o.length?new ZL(o):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,i){const n=this.getAncestorUnderPrevious(e,t);if(n){if(n===e){if(!this.nodeIsUncollapsedParent(e))return;if(this.nodeTopAlignsWithStickyNodesBottom(e,i))return}return this.createStickyScrollNode(n,i)}}nodeTopAlignsWithStickyNodesBottom(e,t){const i=this.getNodeIndex(e),n=this.view.getElementTop(i),s=t;return this.view.scrollTop===n-s}createStickyScrollNode(e,t){const i=this.treeDelegate.getHeight(e),{startIndex:n,endIndex:s}=this.getNodeRange(e);return{node:e,position:this.calculateStickyNodePosition(s,t,i),height:i,startIndex:n,endIndex:s}}getAncestorUnderPrevious(e,t=void 0){let i=e,n=this.getParentNode(i);for(;n;){if(n===t)return i;i=n,n=this.getParentNode(i)}if(void 0===t)return i}calculateStickyNodePosition(e,t,i){let n=this.view.getRelativeTop(e);if(null===n&&this.view.firstVisibleIndex===e&&e+1r&&t<=r?r-i:t}constrainStickyNodes(e){if(0===e.length)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,i=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&i.position+i.height<=t)return e;const n=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!n.length)return[];const s=n[n.length-1];if(n.length>this.stickyScrollMaxItemCount||s.position+s.height>t)throw new Error("stickyScrollDelegate violates constraints");return n}getParentNode(e){const t=this.model.getNodeLocation(e),i=this.model.getParentNodeLocation(t);return i?this.model.getNode(i):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),i=this.model.getListIndex(t);if(i<0)throw new Error("Node not found in tree");return{startIndex:i,endIndex:i+this.model.getListRenderCount(t)-1}}nodePositionTopBelowWidget(e){const t=[];let i=this.getParentNode(e);for(;i;)t.push(i),i=this.getParentNode(i);let n=0;for(let s=0;s0,i=!!e&&e.count>0;if(!t&&!i||t&&i&&this._previousState.equal(e))return;if(t!==i&&this.setVisible(i),!i)return this._previousState=void 0,this._previousElements=[],void this._previousStateDisposables.clear();const n=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${n.position}px`;else{this._previousStateDisposables.clear();const t=Array(e.count);for(let i=e.count-1;i>=0;i--){const n=e.stickyNodes[i],{element:s,disposable:o}=this.createElement(n,i,e.count);t[i]=s,this._rootDomNode.appendChild(s),this._previousStateDisposables.add(o)}this.stickyScrollFocus.updateElements(t,e),this._previousElements=t}this._previousState=e,this._rootDomNode.style.height=`${n.position+n.height}px`}createElement(e,t,i){const n=e.startIndex,s=document.createElement("div");s.style.top=`${e.position}px`,!1!==this.tree.options.setRowHeight&&(s.style.height=`${e.height}px`),!1!==this.tree.options.setRowLineHeight&&(s.style.lineHeight=`${e.height}px`),s.classList.add("monaco-tree-sticky-row"),s.classList.add("monaco-list-row"),s.setAttribute("data-index",`${n}`),s.setAttribute("data-parity",n%2==0?"even":"odd"),s.setAttribute("id",this.view.getElementID(n));const o=this.setAccessibilityAttributes(s,e.node.element,t,i),r=this.treeDelegate.getTemplateId(e.node),a=this.treeRenderers.find((e=>e.templateId===r));if(!a)throw new Error(`No renderer found for template id ${r}`);let l=e.node;l===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(l=new Proxy(e.node,{}));const h=a.renderTemplate(s);a.renderElement(l,e.startIndex,h,e.height);const d=(0,Ae.s)((()=>{o.dispose(),a.disposeElement(l,e.startIndex,h,e.height),a.disposeTemplate(h),s.remove()}));return{element:s,disposable:d}}setAccessibilityAttributes(e,t,i,n){if(!this.accessibilityProvider)return Ae.jG.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,i,n))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,i))),this.accessibilityProvider.getRole&&e.setAttribute("role",this.accessibilityProvider.getRole(t)??"treeitem");const s=this.accessibilityProvider.getAriaLabel(t),o=s&&"string"!=typeof s?s:(0,mg.lk)(s),r=(0,mg.fm)((t=>{const i=t.readObservable(o);i?e.setAttribute("aria-label",i):e.removeAttribute("aria-label")}));"string"==typeof s||s&&e.setAttribute("aria-label",s.get());const a=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return"number"==typeof a&&e.setAttribute("aria-level",`${a}`),e.setAttribute("aria-selected",String(!1)),r}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}}class tx extends Ae.jG{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new P.vl,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new P.vl,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register(Ye(this.container,"focus",(()=>this.onFocus()))),this._register(Ye(this.container,"blur",(()=>this.onBlur()))),this._register(this.view.onDidFocus((()=>this.toggleStickyScrollFocused(!1)))),this._register(this.view.onKeyDown((e=>this.onKeyDown(e)))),this._register(this.view.onMouseDown((e=>this.onMouseDown(e)))),this._register(this.view.onContextMenu((e=>this.handleContextMenu(e))))}handleContextMenu(e){const t=e.browserEvent.target;if(!Lg(t)&&!kg(t))return void(this.focusedLast()&&this.view.domFocus());if(!zt(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const t=this.state.stickyNodes.findIndex((t=>t.node.element===e.element?.element));if(-1===t)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");return this.container.focus(),void this.setFocus(t)}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const i=this.state.stickyNodes[this.focusedIndex].node.element,n=this.elements[this.focusedIndex];this._onContextMenu.fire({element:i,anchor:n,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state)if("ArrowUp"===e.key)this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if("ArrowDown"===e.key||"ArrowRight"===e.key){if(this.focusedIndex>=this.state.count-1){const e=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([e]),this.scrollNodeUnderWidget(e,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}onMouseDown(e){const t=e.browserEvent.target;(Lg(t)||kg(t))&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&0===t.count)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const i=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const e=(0,Tu.qE)(i,0,t.count-1);this.setFocus(e)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,s=this.view.getElementTop(e),o=n?n.position+n.height+i.height:i.height;this.view.scrollTop=s-o}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return!!this.state&&this.view.getHTMLElement().classList.contains("sticky-scroll-focused")}removeFocus(){-1!==this.focusedIndex&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){-1!==this.focusedIndex&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||0===this.elements.length)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),-1===this.focusedIndex&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function ix(e){let t=NL.Unknown;return vt(e.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?t=NL.Twistie:vt(e.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?t=NL.Element:vt(e.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(t=NL.Filter),{browserEvent:e.browserEvent,element:e.element?e.element.element:null,target:t}}function nx(e){const t=Lg(e.browserEvent.target);return{element:e.element?e.element.element:null,browserEvent:e.browserEvent,anchor:e.anchor,isStickyScroll:t}}function sx(e,t){t(e),e.children.forEach((e=>sx(e,t)))}class ox{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event}set(e,t){!t?.__forceEvent&&(0,ia.aI)(this.nodes,e)||this._set(e,!1,t)}_set(e,t,i){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const e=this;this._onDidChange.fire({get elements(){return e.get()},browserEvent:i})}}get(){return this.elements||(this.elements=this.nodes.map((e=>e.element))),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const e=this.createNodeSet(),i=t=>e.delete(t);return t.forEach((e=>sx(e,i))),void this.set([...e.values()])}const i=new Set,n=e=>i.add(this.identityProvider.getId(e.element).toString());t.forEach((e=>sx(e,n)));const s=new Map,o=e=>s.set(this.identityProvider.getId(e.element).toString(),e);e.forEach((e=>sx(e,o)));const r=[];for(const a of this.nodes){const e=this.identityProvider.getId(a.element).toString();if(i.has(e)){const t=s.get(e);t&&t.visible&&r.push(t)}else r.push(a)}if(this.nodes.length>0&&0===r.length){const e=this.getFirstViewElementWithTrait();e&&r.push(e)}this._set(r,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class rx extends Ag{constructor(e,t,i){super(e),this.tree=t,this.stickyScrollProvider=i}onViewPointer(e){if(xg(e.browserEvent.target)||wg(e.browserEvent.target)||Sg(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const i=e.browserEvent.target,n=i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,s=kg(e.browserEvent.target);let o=!1;if(o=!!s||("function"==typeof this.tree.expandOnlyOnTwistieClick?this.tree.expandOnlyOnTwistieClick(t.element):!!this.tree.expandOnlyOnTwistieClick),s)this.handleStickyScrollMouseEvent(e,t);else{if(o&&!n&&2!==e.browserEvent.detail)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&2===e.browserEvent.detail)return super.onViewPointer(e)}if(t.collapsible&&(!s||n)){const i=this.tree.getNodeLocation(t),s=e.browserEvent.altKey;if(this.tree.setFocus([i]),this.tree.toggleCollapsed(i,s),n)return void(e.browserEvent.isHandledByList=!0)}s||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(function(e){return yg(e,"monaco-custom-toggle")}(e.browserEvent.target)||function(e){return yg(e,"action-item")}(e.browserEvent.target))return;const i=this.stickyScrollProvider();if(!i)throw new Error("Sticky scroll controller not found");const n=this.list.indexOf(t),s=this.list.getElementTop(n),o=i.nodePositionTopBelowWidget(t);this.tree.scrollTop=s-o,this.list.domFocus(),this.list.setFocus([n]),this.list.setSelection([n])}onDoubleClick(e){!e.browserEvent.target.classList.contains("monaco-tl-twistie")&&this.tree.expandOnDoubleClick&&(e.browserEvent.isHandledByList||super.onDoubleClick(e))}onMouseDown(e){const t=e.browserEvent.target;Lg(t)||kg(t)||super.onMouseDown(e)}onContextMenu(e){const t=e.browserEvent.target;Lg(t)||kg(t)||super.onContextMenu(e)}}class ax extends Ug{constructor(e,t,i,n,s,o,r,a){super(e,t,i,n,a),this.focusTrait=s,this.selectionTrait=o,this.anchorTrait=r}createMouseController(e){return new rx(this,e.tree,e.stickyScrollProvider)}splice(e,t,i=[]){if(super.splice(e,t,i),0===i.length)return;const n=[],s=[];let o;i.forEach(((t,i)=>{this.focusTrait.has(t)&&n.push(e+i),this.selectionTrait.has(t)&&s.push(e+i),this.anchorTrait.has(t)&&(o=e+i)})),n.length>0&&super.setFocus((0,ia.dM)([...super.getFocus(),...n])),s.length>0&&super.setSelection((0,ia.dM)([...super.getSelection(),...s])),"number"==typeof o&&super.setAnchor(o)}setFocus(e,t,i=!1){super.setFocus(e,t),i||this.focusTrait.set(e.map((e=>this.element(e))),t)}setSelection(e,t,i=!1){super.setSelection(e,t),i||this.selectionTrait.set(e.map((e=>this.element(e))),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(void 0===e?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class lx{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return P.Jh.filter(P.Jh.map(this.view.onMouseDblClick,ix),(e=>e.target!==NL.Filter))}get onMouseOver(){return P.Jh.map(this.view.onMouseOver,ix)}get onMouseOut(){return P.Jh.map(this.view.onMouseOut,ix)}get onContextMenu(){return P.Jh.any(P.Jh.filter(P.Jh.map(this.view.onContextMenu,nx),(e=>!e.isStickyScroll)),this.stickyScrollController?.onContextMenu??P.Jh.None)}get onPointer(){return P.Jh.map(this.view.onPointer,ix)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return P.Jh.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){return this.findController?.mode??$L.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){return this.findController?.matchType??qL.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return void 0===this._options.expandOnDoubleClick||this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return void 0===this._options.expandOnlyOnTwistieClick||this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,i,n,s={}){this._user=e,this._options=s,this.eventBufferer=new P.at,this.onDidChangeFindOpenState=P.Jh.None,this.onDidChangeStickyScrollFocused=P.Jh.None,this.disposables=new Ae.Cm,this._onWillRefilter=new P.vl,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new P.vl,this.treeDelegate=new zL(i);const o=new P.Wj,r=new P.Wj,a=this.disposables.add(new UL(r.event)),l=new Si.db;this.renderers=n.map((e=>new KL(e,(()=>this.model),o.event,a,l,s)));for(const g of this.renderers)this.disposables.add(g);let h;s.keyboardNavigationLabelProvider&&(h=new jL(this,s.keyboardNavigationLabelProvider,s.filter),s={...s,filter:h},this.disposables.add(h)),this.focus=new ox((()=>this.view.getFocusedElements()[0]),s.identityProvider),this.selection=new ox((()=>this.view.getSelectedElements()[0]),s.identityProvider),this.anchor=new ox((()=>this.view.getAnchorElement()),s.identityProvider),this.view=new ax(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...VL((()=>this.model),s),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,s),o.input=this.model.onDidChangeCollapseState;const d=P.Jh.forEach(this.model.onDidSplice,(e=>{this.eventBufferer.bufferEvents((()=>{this.focus.onDidModelSplice(e),this.selection.onDidModelSplice(e)}))}),this.disposables);d((()=>null),null,this.disposables);const c=this.disposables.add(new P.vl),u=this.disposables.add(new A.ve(0));if(this.disposables.add(P.Jh.any(d,this.focus.onDidChange,this.selection.onDidChange)((()=>{u.trigger((()=>{const e=new Set;for(const t of this.focus.getNodes())e.add(t);for(const t of this.selection.getNodes())e.add(t);c.fire([...e.values()])}))}))),r.input=c.event,!1!==s.keyboardSupport){const e=P.Jh.chain(this.view.onKeyDown,(e=>e.filter((e=>!wg(e.target))).map((e=>new N(e)))));P.Jh.chain(e,(e=>e.filter((e=>15===e.keyCode))))(this.onLeftArrow,this,this.disposables),P.Jh.chain(e,(e=>e.filter((e=>17===e.keyCode))))(this.onRightArrow,this,this.disposables),P.Jh.chain(e,(e=>e.filter((e=>10===e.keyCode))))(this.onSpace,this,this.disposables)}if((s.findWidgetEnabled??1)&&s.keyboardNavigationLabelProvider&&s.contextViewProvider){const e=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new GL(this,this.model,this.view,h,s.contextViewProvider,e),this.focusNavigationFilter=e=>this.findController.shouldAllowFocus(e),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=P.Jh.None,this.onDidChangeFindMatchType=P.Jh.None;s.enableStickyScroll&&(this.stickyScrollController=new JL(this,this.model,this.view,this.renderers,this.treeDelegate,s),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=Et(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===ML.Always)}updateOptions(e={}){this._options={...this._options,...e};for(const t of this.renderers)t.updateOptions(e);this.view.updateOptions(this._options),this.findController?.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===ML.Always)}get options(){return this._options}updateStickyScroll(e){!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new JL(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=P.Jh.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),this.stickyScrollController?.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){this.stickyScrollController?.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){this.view.layout(e,t),(0,os.Et)(t)&&this.findController?.layout(t)}style(e){const t=`.${this.view.domId}`,i=[];e.treeIndentGuidesStroke&&(i.push(`.monaco-list${t}:hover .monaco-tl-indent > .indent-guide, .monaco-list${t}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeInactiveIndentGuidesStroke}; }`),i.push(`.monaco-list${t} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`));const n=e.treeStickyScrollBackground??e.listBackground;n&&(i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${n}; }`),i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${n}; }`)),e.treeStickyScrollBorder&&i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${e.treeStickyScrollBorder}; }`),e.treeStickyScrollShadow&&i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${e.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`),e.listFocusForeground&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const s=ai(e.listFocusAndSelectionOutline,ai(e.listSelectionOutline,e.listFocusOutline??""));s&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${s}; outline-offset: -1px;}`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),e.listFocusOutline&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=i.join("\n"),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents((()=>{const i=e.map((e=>this.model.getNode(e)));this.selection.set(i,t);const n=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setSelection(n,t,!0)}))}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents((()=>{const i=e.map((e=>this.model.getNode(e)));this.focus.set(i,t);const n=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setFocus(n,t,!0)}))}focusNext(e=1,t=!1,i,n=(zt(i)&&i.altKey?void 0:this.focusNavigationFilter)){this.view.focusNext(e,t,i,n)}focusPrevious(e=1,t=!1,i,n=(zt(i)&&i.altKey?void 0:this.focusNavigationFilter)){this.view.focusPrevious(e,t,i,n)}focusNextPage(e,t=(zt(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=(zt(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusPreviousPage(e,t,(()=>this.stickyScrollController?.height??0))}focusLast(e,t=(zt(e)&&e.altKey?void 0:this.focusNavigationFilter)){this.view.focusLast(e,t)}focusFirst(e,t=(zt(e)&&e.altKey?void 0:this.focusNavigationFilter)){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(-1!==i)if(this.stickyScrollController){const n=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,n)}else this.view.reveal(i,t)}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!0)){const e=this.model.getParentNodeLocation(n);if(!e)return;const t=this.model.getListIndex(e);this.view.reveal(t),this.view.setFocus([t])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!1)){if(!i.children.some((e=>e.visible)))return;const[e]=this.view.getFocus(),t=e+1;this.view.reveal(t),this.view.setFocus([t])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],n=this.model.getNodeLocation(i),s=e.browserEvent.altKey;this.model.setCollapsed(n,void 0,s)}dispose(){(0,Ae.AS)(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose()}}class hx{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new FL(e,t,null,i),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,i.sorter&&(this.sorter={compare:(e,t)=>i.sorter.compare(e.element,t.element)}),this.identityProvider=i.identityProvider}setChildren(e,t=ss.f.empty(),i={}){const n=this.getElementLocation(e);this._setChildren(n,this.preserveCollapseState(t),i)}_setChildren(e,t=ss.f.empty(),i){const n=new Set,s=new Set;this.model.splice([...e,0],Number.MAX_VALUE,t,{...i,onDidCreateNode:e=>{if(null===e.element)return;const t=e;if(n.add(t.element),this.nodes.set(t.element,t),this.identityProvider){const e=this.identityProvider.getId(t.element).toString();s.add(e),this.nodesByIdentity.set(e,t)}i.onDidCreateNode?.(t)},onDidDeleteNode:e=>{if(null===e.element)return;const t=e;if(n.has(t.element)||this.nodes.delete(t.element),this.identityProvider){const e=this.identityProvider.getId(t.element).toString();s.has(e)||this.nodesByIdentity.delete(e)}i.onDidDeleteNode?.(t)}})}preserveCollapseState(e=ss.f.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),ss.f.map(e,(e=>{let t=this.nodes.get(e.element);if(!t&&this.identityProvider){const i=this.identityProvider.getId(e.element).toString();t=this.nodesByIdentity.get(i)}if(!t){let t;return t=void 0===e.collapsed?void 0:e.collapsed===DL.Collapsed||e.collapsed===DL.PreserveOrCollapsed||e.collapsed!==DL.Expanded&&e.collapsed!==DL.PreserveOrExpanded&&Boolean(e.collapsed),{...e,children:this.preserveCollapseState(e.children),collapsed:t}}const i="boolean"==typeof e.collapsible?e.collapsible:t.collapsible;let n;return n=void 0===e.collapsed||e.collapsed===DL.PreserveOrCollapsed||e.collapsed===DL.PreserveOrExpanded?t.collapsed:e.collapsed===DL.Collapsed||e.collapsed!==DL.Expanded&&Boolean(e.collapsed),{...e,collapsible:i,collapsed:n,children:this.preserveCollapseState(e.children)}}))}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getElementLocation(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const n=this.getElementLocation(e);return this.model.setCollapsed(n,t,i)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(null===e)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new IL(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(null===e)throw new IL(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new IL(this.user,`Tree element not found: ${e}`);const i=this.model.getNodeLocation(t),n=this.model.getParentNodeLocation(i);return this.model.getNode(n).element}getElementLocation(e){if(null===e)return[];const t=this.nodes.get(e);if(!t)throw new IL(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}}function dx(e){return{element:{elements:[e.element],incompressible:e.incompressible||!1},children:ss.f.map(ss.f.from(e.children),dx),collapsible:e.collapsible,collapsed:e.collapsed}}function cx(e){const t=[e.element],i=e.incompressible||!1;let n,s;for(;[s,n]=ss.f.consume(ss.f.from(e.children),2),1===s.length&&!s[0].incompressible;)e=s[0],t.push(e.element);return{element:{elements:t,incompressible:i},children:ss.f.map(ss.f.concat(s,n),cx),collapsible:e.collapsible,collapsed:e.collapsed}}function ux(e,t=0){let i;return i=tux(e,0))),0===t&&e.element.incompressible?{element:e.element.elements[t],children:i,incompressible:!0,collapsible:e.collapsible,collapsed:e.collapsed}:{element:e.element.elements[t],children:i,collapsible:e.collapsible,collapsed:e.collapsed}}function gx(e){return ux(e,0)}function px(e,t,i){return e.element===t?{...e,children:i}:{...e,children:ss.f.map(ss.f.from(e.children),(e=>px(e,t,i)))}}class mx{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new hx(e,t,i),this.enabled=void 0===i.compressionEnabled||i.compressionEnabled,this.identityProvider=i.identityProvider}setChildren(e,t=ss.f.empty(),i){const n=i.diffIdentityProvider&&(e=>({getId:t=>t.elements.map((t=>e.getId(t).toString())).join("\0")}))(i.diffIdentityProvider);if(null===e){const e=ss.f.map(t,this.enabled?cx:dx);return void this._setChildren(null,e,{diffIdentityProvider:n,diffDepth:1/0})}const s=this.nodes.get(e);if(!s)throw new IL(this.user,"Unknown compressed tree node");const o=this.model.getNode(s),r=this.model.getParentNodeLocation(s),a=this.model.getNode(r),l=px(gx(o),e,t),h=(this.enabled?cx:dx)(l),d=i.diffIdentityProvider?(e,t)=>i.diffIdentityProvider.getId(e)===i.diffIdentityProvider.getId(t):void 0;if((0,ia.aI)(h.element.elements,o.element.elements,d))return void this._setChildren(s,h.children||ss.f.empty(),{diffIdentityProvider:n,diffDepth:1});const c=a.children.map((e=>e===o?h:e));this._setChildren(a.element,c,{diffIdentityProvider:n,diffDepth:o.depth-a.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const t=this.model.getNode().children,i=ss.f.map(t,gx),n=ss.f.map(i,e?cx:dx);this._setChildren(null,n,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,i){const n=new Set;this.model.setChildren(e,t,{...i,onDidCreateNode:e=>{for(const t of e.element.elements)n.add(t),this.nodes.set(t,e.element)},onDidDeleteNode:e=>{for(const t of e.element.elements)n.has(t)||this.nodes.delete(t)}})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(void 0===e)return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return null===t?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),i=this.model.getParentNodeLocation(t);return null===i?null:i.elements[i.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getCompressedNode(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const n=this.getCompressedNode(e);return this.model.setCollapsed(n,t,i)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(null===e)return null;const t=this.nodes.get(e);if(!t)throw new IL(this.user,`Tree element not found: ${e}`);return t}}const fx=e=>e[e.length-1];class _x{get element(){return null===this.node.element?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((e=>new _x(this.unwrapper,e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}}class vx{get onDidSplice(){return P.Jh.map(this.model.onDidSplice,(({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map((e=>this.nodeMapper.map(e))),deletedNodes:t.map((e=>this.nodeMapper.map(e)))})))}get onDidChangeCollapseState(){return P.Jh.map(this.model.onDidChangeCollapseState,(({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t})))}get onDidChangeRenderNodeCount(){return P.Jh.map(this.model.onDidChangeRenderNodeCount,(e=>this.nodeMapper.map(e)))}constructor(e,t,i={}){this.rootRef=null,this.elementMapper=i.elementMapper||fx;const n=e=>this.elementMapper(e.elements);this.nodeMapper=new EL((e=>new _x(n,e))),this.model=new mx(e,function(e,t){return{splice(i,n,s){t.splice(i,n,s.map((t=>e.map(t))))},updateElementHeight(e,i){t.updateElementHeight(e,i)}}}(this.nodeMapper,t),function(e,t){return{...t,identityProvider:t.identityProvider&&{getId:i=>t.identityProvider.getId(e(i))},sorter:t.sorter&&{compare:(e,i)=>t.sorter.compare(e.elements[0],i.elements[0])},filter:t.filter&&{filter:(i,n)=>t.filter.filter(e(i),n)}}}(n,i))}setChildren(e,t=ss.f.empty(),i={}){this.model.setChildren(e,t,i)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return null==t?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,i){return this.model.setCollapsed(e,t,i)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}var bx=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};class Cx extends lx{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,i,n,s={}){super(e,t,i,n,s),this.user=e}setChildren(e,t=ss.f.empty(),i){this.model.setChildren(e,t,i)}rerender(e){void 0!==e?this.model.rerender(e):this.view.rerender()}hasElement(e){return this.model.has(e)}createModel(e,t,i){return new hx(e,t,i)}}class wx{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,i){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){let s=this.stickyScrollDelegate.getCompressedNode(e);s||(s=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),1===s.element.elements.length?(i.compressedTreeNode=void 0,this.renderer.renderElement(e,t,i.data,n)):(i.compressedTreeNode=s,this.renderer.renderCompressedElements(s,t,i.data,n))}disposeElement(e,t,i,n){i.compressedTreeNode?this.renderer.disposeCompressedElements?.(i.compressedTreeNode,t,i.data,n):this.renderer.disposeElement?.(e,t,i.data,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return!!this.renderer.renderTwistie&&this.renderer.renderTwistie(e,t)}}bx([ed],wx.prototype,"compressedTreeNodeProvider",null);class yx{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,i){if(this.compressedStickyNodes.clear(),0===e.length)return[];for(let n=0;ni||n>=t-1&&tthis,r=new yx((()=>this.model));super(e,t,i,n.map((e=>new wx(o,r,e))),{...Sx(o,s),stickyScrollDelegate:r})}setChildren(e,t=ss.f.empty(),i){this.model.setChildren(e,t,i)}createModel(e,t,i){return new vx(e,t,i)}updateOptions(e={}){super.updateOptions(e),void 0!==e.compressionEnabled&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}function Lx(e){return{...e,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function xx(e,t){return!!t.parent&&(t.parent===e||xx(e,t.parent))}class Dx{get element(){return this.node.element.element}get children(){return this.node.children.map((e=>new Dx(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Nx{constructor(e,t,i){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,n)}renderTwistie(e,t){return e.slow?(t.classList.add(...In.L.asClassNameArray(vl.W.treeItemLoading)),!0):(t.classList.remove(...In.L.asClassNameArray(vl.W.treeItemLoading)),!1)}disposeElement(e,t,i,n){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,i.templateData,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function Ix(e){return{browserEvent:e.browserEvent,elements:e.elements.map((e=>e.element))}}function Ex(e){return{browserEvent:e.browserEvent,element:e.element&&e.element.element,target:e.target}}class Mx extends lg{constructor(e){super(e.elements.map((e=>e.element))),this.data=e}}function Tx(e){return e instanceof lg?new Mx(e):e}class Rx{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){this.dnd.onDragStart?.(Tx(e),t)}onDragOver(e,t,i,n,s,o=!0){return this.dnd.onDragOver(Tx(e),t&&t.element,i,n,s)}drop(e,t,i,n,s){this.dnd.drop(Tx(e),t&&t.element,i,n,s)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.dnd.dispose()}}function Ax(e){return e&&{...e,collapseByDefault:!0,identityProvider:e.identityProvider&&{getId:t=>e.identityProvider.getId(t.element)},dnd:e.dnd&&new Rx(e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent:t=>e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element}),isSelectionRangeChangeEvent:t=>e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",isChecked:e.accessibilityProvider.isChecked?t=>!!e.accessibilityProvider?.isChecked(t.element):void 0,getAriaLabel:t=>e.accessibilityProvider.getAriaLabel(t.element),getWidgetAriaLabel:()=>e.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider.getAriaLevel&&(t=>e.accessibilityProvider.getAriaLevel(t.element)),getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},filter:e.filter&&{filter:(t,i)=>e.filter.filter(t.element,i)},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)},sorter:void 0,expandOnlyOnTwistieClick:void 0===e.expandOnlyOnTwistieClick?void 0:"function"!=typeof e.expandOnlyOnTwistieClick?e.expandOnlyOnTwistieClick:t=>e.expandOnlyOnTwistieClick(t.element),defaultFindVisibility:t=>t.hasChildren&&t.stale?1:"number"==typeof e.defaultFindVisibility?e.defaultFindVisibility:void 0===e.defaultFindVisibility?2:e.defaultFindVisibility(t.element)}}function Px(e,t){t(e),e.children.forEach((e=>Px(e,t)))}class Ox{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return P.Jh.map(this.tree.onDidChangeFocus,Ix)}get onDidChangeSelection(){return P.Jh.map(this.tree.onDidChangeSelection,Ix)}get onMouseDblClick(){return P.Jh.map(this.tree.onMouseDblClick,Ex)}get onPointer(){return P.Jh.map(this.tree.onPointer,Ex)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,i,n,s,o={}){this.user=e,this.dataSource=s,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new P.vl,this._onDidChangeNodeSlowState=new P.vl,this.nodeMapper=new EL((e=>new Dx(e))),this.disposables=new Ae.Cm,this.identityProvider=o.identityProvider,this.autoExpandSingleChildren=void 0!==o.autoExpandSingleChildren&&o.autoExpandSingleChildren,this.sorter=o.sorter,this.getDefaultCollapseState=e=>o.collapseByDefault?o.collapseByDefault(e)?DL.PreserveOrCollapsed:DL.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,i,n,o),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=Lx({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(e,t,i,n,s){const o=new zL(i),r=n.map((e=>new Nx(e,this.nodeMapper,this._onDidChangeNodeSlowState.event))),a=Ax(s)||{};return new Cx(e,t,o,r,a)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach((e=>e.cancel())),this.refreshPromises.clear(),this.root.element=e;const i=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,i),i&&(this.tree.setFocus(i.focus),this.tree.setSelection(i.selection)),t&&"number"==typeof t.scrollTop&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,i=!1,n,s){if(void 0===this.root.element)throw new IL(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await P.Jh.toPromise(this._onDidRender.event));const o=this.getDataNode(e);if(await this.refreshAndRenderNode(o,t,n,s),i)try{this.tree.rerender(o)}catch{}}rerender(e){if(void 0===e||e===this.root.element)return void this.tree.rerender();const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(i)}collapse(e,t=!1){const i=this.getDataNode(e);return this.tree.collapse(i===this.root?null:i,t)}async expand(e,t=!1){if(void 0===this.root.element)throw new IL(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await P.Jh.toPromise(this._onDidRender.event));const i=this.getDataNode(e);if(this.tree.hasElement(i)&&!this.tree.isCollapsible(i))return!1;if(i.refreshPromise&&(await this.root.refreshPromise,await P.Jh.toPromise(this._onDidRender.event)),i!==this.root&&!i.refreshPromise&&!this.tree.isCollapsed(i))return!1;const n=this.tree.expand(i===this.root?null:i,t);return i.refreshPromise&&(await this.root.refreshPromise,await P.Jh.toPromise(this._onDidRender.event)),n}setSelection(e,t){const i=e.map((e=>this.getDataNode(e)));this.tree.setSelection(i,t)}getSelection(){return this.tree.getSelection().map((e=>e.element))}setFocus(e,t){const i=e.map((e=>this.getDataNode(e)));this.tree.setFocus(i,t)}getFocus(){return this.tree.getFocus().map((e=>e.element))}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getFirstElementChild(t===this.root?null:t);return i&&i.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new IL(this.user,`Data tree node not found: ${e}`);return t}async refreshAndRenderNode(e,t,i,n){await this.refreshNode(e,t,i),this.disposables.isDisposed||this.render(e,i,n)}async refreshNode(e,t,i){let n;if(this.subTreeRefreshPromises.forEach(((s,o)=>{!n&&function(e,t){return e===t||xx(e,t)||xx(t,e)}(o,e)&&(n=s.then((()=>this.refreshNode(e,t,i))))})),n)return n;if(e!==this.root){if(this.tree.getNode(e).collapsed)return e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,void this.setChildren(e,[],t,i)}return this.doRefreshSubTree(e,t,i)}async doRefreshSubTree(e,t,i){let n;e.refreshPromise=new Promise((e=>n=e)),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally((()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)}));try{const n=await this.doRefreshNode(e,t,i);e.stale=!1,await A.HC.settled(n.map((e=>this.doRefreshSubTree(e,t,i))))}finally{n()}}async doRefreshNode(e,t,i){let n;if(e.hasChildren=!!this.dataSource.hasChildren(e.element),e.hasChildren){const t=this.doGetChildren(e);if((0,os.xZ)(t))n=Promise.resolve(t);else{const i=(0,A.wR)(800);i.then((()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)}),(e=>null)),n=t.finally((()=>i.cancel()))}}else n=Promise.resolve(ss.f.empty());try{const s=await n;return this.setChildren(e,s,t,i)}catch(s){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),(0,b.MB)(s))return[];throw s}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const i=this.dataSource.getChildren(e.element);return(0,os.xZ)(i)?this.processChildren(i):(t=(0,A.SS)((async()=>this.processChildren(await i))),this.refreshPromises.set(e,t),t.finally((()=>{this.refreshPromises.delete(e)})))}_onDidChangeCollapseState({node:e,deep:t}){null!==e.element&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(b.dz))}setChildren(e,t,i,n){const s=[...t];if(0===e.children.length&&0===s.length)return[];const o=new Map,r=new Map;for(const h of e.children)o.set(h.element,h),this.identityProvider&&r.set(h.id,{node:h,collapsed:this.tree.hasElement(h)&&this.tree.isCollapsed(h)});const a=[],l=s.map((t=>{const s=!!this.dataSource.hasChildren(t);if(!this.identityProvider){const i=Lx({element:t,parent:e,hasChildren:s,defaultCollapseState:this.getDefaultCollapseState(t)});return s&&i.defaultCollapseState===DL.PreserveOrExpanded&&a.push(i),i}const l=this.identityProvider.getId(t).toString(),h=r.get(l);if(h){const e=h.node;return o.delete(e.element),this.nodes.delete(e.element),this.nodes.set(t,e),e.element=t,e.hasChildren=s,i?h.collapsed?(e.children.forEach((e=>Px(e,(e=>this.nodes.delete(e.element))))),e.children.splice(0,e.children.length),e.stale=!0):a.push(e):s&&!h.collapsed&&a.push(e),e}const d=Lx({element:t,parent:e,id:l,hasChildren:s,defaultCollapseState:this.getDefaultCollapseState(t)});return n&&n.viewState.focus&&n.viewState.focus.indexOf(l)>-1&&n.focus.push(d),n&&n.viewState.selection&&n.viewState.selection.indexOf(l)>-1&&n.selection.push(d),(n&&n.viewState.expanded&&n.viewState.expanded.indexOf(l)>-1||s&&d.defaultCollapseState===DL.PreserveOrExpanded)&&a.push(d),d}));for(const h of o.values())Px(h,(e=>this.nodes.delete(e.element)));for(const h of l)this.nodes.set(h.element,h);return e.children.splice(0,e.children.length,...l),e!==this.root&&this.autoExpandSingleChildren&&1===l.length&&0===a.length&&(l[0].forceExpanded=!0,a.push(l[0])),a}render(e,t,i){const n=e.children.map((e=>this.asTreeElement(e,t))),s=i&&{...i,diffIdentityProvider:i.diffIdentityProvider&&{getId:e=>i.diffIdentityProvider.getId(e.element)}};this.tree.setChildren(e===this.root?null:e,n,s),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let i;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?i=!1:e.forceExpanded?(i=!1,e.forceExpanded=!1):i=e.defaultCollapseState,{element:e,children:e.hasChildren?ss.f.map(e.children,(e=>this.asTreeElement(e,t))):[],collapsible:e.hasChildren,collapsed:i}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}}class Fx{get element(){return{elements:this.node.element.elements.map((e=>e.element)),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((e=>new Fx(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Wx{constructor(e,t,i,n){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=i,this.onDidChangeTwistieState=n,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,n)}renderCompressedElements(e,t,i,n){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,n)}renderTwistie(e,t){return e.slow?(t.classList.add(...In.L.asClassNameArray(vl.W.treeItemLoading)),!0):(t.classList.remove(...In.L.asClassNameArray(vl.W.treeItemLoading)),!1)}disposeElement(e,t,i,n){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,i.templateData,n)}disposeCompressedElements(e,t,i,n){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(e),t,i.templateData,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=(0,Ae.AS)(this.disposables)}}class Bx extends Ox{constructor(e,t,i,n,s,o,r={}){super(e,t,i,s,o,r),this.compressionDelegate=n,this.compressibleNodeMapper=new EL((e=>new Fx(e))),this.filter=r.filter}createTree(e,t,i,n,s){const o=new zL(i),r=n.map((e=>new Wx(e,this.nodeMapper,(()=>this.compressibleNodeMapper),this._onDidChangeNodeSlowState.event))),a=function(e){const t=e&&Ax(e);return t&&{...t,keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map((e=>e.element)))}}}(s)||{};return new kx(e,t,o,r,a)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,i){if(!this.identityProvider)return super.render(e,t);const n=e=>this.identityProvider.getId(e).toString(),s=e=>{const t=new Set;for(const i of e){const e=this.tree.getCompressedTreeNode(i===this.root?null:i);if(e.element)for(const i of e.element.elements)t.add(n(i.element))}return t},o=s(this.tree.getSelection()),r=s(this.tree.getFocus());super.render(e,t,i);const a=this.getSelection();let l=!1;const h=this.getFocus();let d=!1;const c=e=>{const t=e.element;if(t)for(let i=0;i{const t=this.filter.filter(e,1),i="boolean"==typeof(n=t)?n?1:0:AL(n)?PL(n.visibility):PL(n);var n;if(2===i)throw new Error("Recursive tree visibility not supported in async data compressed trees");return 1===i}))),super.processChildren(e)}}class Hx extends lx{constructor(e,t,i,n,s,o={}){super(e,t,i,n,o),this.user=e,this.dataSource=s,this.identityProvider=o.identityProvider}createModel(e,t,i){return new hx(e,t,i)}}new ls.N1("isMac",f.zx,(0,jn.kg)("isMac","Whether the operating system is macOS")),new ls.N1("isLinux",f.j9,(0,jn.kg)("isLinux","Whether the operating system is Linux"));const Vx=new ls.N1("isWindows",f.uF,(0,jn.kg)("isWindows","Whether the operating system is Windows")),zx=new ls.N1("isWeb",f.HZ,(0,jn.kg)("isWeb","Whether the platform is a web browser")),Ux=(new ls.N1("isMacNative",f.zx&&!f.HZ,(0,jn.kg)("isMacNative","Whether the operating system is macOS on a non-browser platform")),new ls.N1("isIOS",f.un,(0,jn.kg)("isIOS","Whether the operating system is iOS")),new ls.N1("isMobile",f.Fr,(0,jn.kg)("isMobile","Whether the platform is a mobile web browser")),new ls.N1("isDevelopment",!1,!0),new ls.N1("productQualityType","",(0,jn.kg)("productQualityType","Quality type of VS Code")),"inputFocus"),Kx=new ls.N1(Ux,!1,(0,jn.kg)("inputFocus","Whether keyboard focus is inside an input box"));var jx=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},$x=function(e,t){return function(i,n){t(i,n,e)}};const qx=(0,$n.u1)("listService");const Gx=new ls.N1("listScrollAtBoundary","none"),Qx=(ls.M$.or(Gx.isEqualTo("top"),Gx.isEqualTo("both")),ls.M$.or(Gx.isEqualTo("bottom"),Gx.isEqualTo("both")),new ls.N1("listFocus",!0)),Yx=new ls.N1("treestickyScrollFocused",!1),Zx=new ls.N1("listSupportsMultiselect",!0),Xx=ls.M$.and(Qx,ls.M$.not(Ux),Yx.negate()),Jx=new ls.N1("listHasSelectionOrFocus",!1),eD=new ls.N1("listDoubleSelection",!1),tD=new ls.N1("listMultiSelection",!1),iD=new ls.N1("listSelectionNavigation",!1),nD=new ls.N1("listSupportsFind",!0),sD=new ls.N1("treeElementCanCollapse",!1),oD=new ls.N1("treeElementHasParent",!1),rD=new ls.N1("treeElementCanExpand",!1),aD=new ls.N1("treeElementHasChild",!1),lD=new ls.N1("treeFindOpen",!1),hD="listTypeNavigationMode",dD="listAutomaticKeyboardNavigation";function cD(e,t){const i=e.createScoped(t.getHTMLElement());return Qx.bindTo(i),i}function uD(e,t){const i=Gx.bindTo(e),n=()=>{const e=0===t.scrollTop,n=t.scrollHeight-t.renderHeight-t.scrollTop<1;e&&n?i.set("both"):e?i.set("top"):n?i.set("bottom"):i.set("none")};return n(),t.onDidScroll(n)}const gD="workbench.list.multiSelectModifier",pD="workbench.list.openMode",mD="workbench.list.horizontalScrolling",fD="workbench.list.defaultFindMode",_D="workbench.list.typeNavigationMode",vD="workbench.list.keyboardNavigation",bD="workbench.list.scrollByPage",CD="workbench.list.defaultFindMatchType",wD="workbench.tree.indent",yD="workbench.tree.renderIndentGuides",SD="workbench.list.smoothScrolling",kD="workbench.list.mouseWheelScrollSensitivity",LD="workbench.list.fastScrollSensitivity",xD="workbench.tree.expandMode",DD="workbench.tree.enableStickyScroll",ND="workbench.tree.stickyScrollMaxItemCount";function ID(e){return"alt"===e.getValue(gD)}class ED extends Ae.jG{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=ID(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(gD)&&(this.useAltAsMultipleSelectionModifier=ID(this.configurationService))})))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:Mg(e)}isSelectionRangeChangeEvent(e){return Tg(e)}}function MD(e,t){const i=e.get(Fp.pG),n=e.get(bd),s=new Ae.Cm;return[{...t,keyboardNavigationDelegate:{mightProducePrintableCharacter:e=>n.mightProducePrintableCharacter(e)},smoothScrolling:Boolean(i.getValue(SD)),mouseWheelScrollSensitivity:i.getValue(kD),fastScrollSensitivity:i.getValue(LD),multipleSelectionController:t.multipleSelectionController??s.add(new ED(i)),keyboardNavigationEventFilter:BD(n),scrollByPage:Boolean(i.getValue(bD))},s]}let TD=class extends Ug{constructor(e,t,i,n,s,o,r,a,l){const h=void 0!==s.horizontalScrolling?s.horizontalScrolling:Boolean(a.getValue(mD)),[d,c]=l.invokeFunction(MD,s);super(e,t,i,n,{keyboardSupport:!1,...d,horizontalScrolling:h}),this.disposables.add(c),this.contextKeyService=cD(o,this),this.disposables.add(uD(this.contextKeyService,this)),this.listSupportsMultiSelect=Zx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==s.multipleSelectionSupport);iD.bindTo(this.contextKeyService).set(Boolean(s.selectionNavigation)),this.listHasSelectionOrFocus=Jx.bindTo(this.contextKeyService),this.listDoubleSelection=eD.bindTo(this.contextKeyService),this.listMultiSelection=tD.bindTo(this.contextKeyService),this.horizontalScrolling=s.horizontalScrolling,this._useAltAsMultipleSelectionModifier=ID(a),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(s.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(a.onDidChangeConfiguration((e=>{e.affectsConfiguration(gD)&&(this._useAltAsMultipleSelectionModifier=ID(a));let t={};if(e.affectsConfiguration(mD)&&void 0===this.horizontalScrolling){const e=Boolean(a.getValue(mD));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(bD)){const e=Boolean(a.getValue(bD));t={...t,scrollByPage:e}}if(e.affectsConfiguration(SD)){const e=Boolean(a.getValue(SD));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(kD)){const e=a.getValue(kD);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(LD)){const e=a.getValue(LD);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new OD(this,{configurationService:a,...s}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?_p(e):fp)}};TD=jx([$x(5,ls.fN),$x(6,qx),$x(7,Fp.pG),$x(8,$n._Y)],TD);let RD=class extends iL{constructor(e,t,i,n,s,o,r,a,l){const h=void 0!==s.horizontalScrolling?s.horizontalScrolling:Boolean(a.getValue(mD)),[d,c]=l.invokeFunction(MD,s);super(e,t,i,n,{keyboardSupport:!1,...d,horizontalScrolling:h}),this.disposables=new Ae.Cm,this.disposables.add(c),this.contextKeyService=cD(o,this),this.disposables.add(uD(this.contextKeyService,this.widget)),this.horizontalScrolling=s.horizontalScrolling,this.listSupportsMultiSelect=Zx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==s.multipleSelectionSupport);iD.bindTo(this.contextKeyService).set(Boolean(s.selectionNavigation)),this._useAltAsMultipleSelectionModifier=ID(a),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(s.overrideStyles),this.disposables.add(a.onDidChangeConfiguration((e=>{e.affectsConfiguration(gD)&&(this._useAltAsMultipleSelectionModifier=ID(a));let t={};if(e.affectsConfiguration(mD)&&void 0===this.horizontalScrolling){const e=Boolean(a.getValue(mD));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(bD)){const e=Boolean(a.getValue(bD));t={...t,scrollByPage:e}}if(e.affectsConfiguration(SD)){const e=Boolean(a.getValue(SD));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(kD)){const e=a.getValue(kD);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(LD)){const e=a.getValue(LD);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new OD(this,{configurationService:a,...s}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?_p(e):fp)}dispose(){this.disposables.dispose(),super.dispose()}};RD=jx([$x(5,ls.fN),$x(6,qx),$x(7,Fp.pG),$x(8,$n._Y)],RD);let AD=class extends uL{constructor(e,t,i,n,s,o,r,a,l,h){const d=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(l.getValue(mD)),[c,u]=h.invokeFunction(MD,o);super(e,t,i,n,s,{keyboardSupport:!1,...c,horizontalScrolling:d}),this.disposables.add(u),this.contextKeyService=cD(r,this),this.disposables.add(uD(this.contextKeyService,this)),this.listSupportsMultiSelect=Zx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport);iD.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this.listHasSelectionOrFocus=Jx.bindTo(this.contextKeyService),this.listDoubleSelection=eD.bindTo(this.contextKeyService),this.listMultiSelection=tD.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=ID(l),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(l.onDidChangeConfiguration((e=>{e.affectsConfiguration(gD)&&(this._useAltAsMultipleSelectionModifier=ID(l));let t={};if(e.affectsConfiguration(mD)&&void 0===this.horizontalScrolling){const e=Boolean(l.getValue(mD));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(bD)){const e=Boolean(l.getValue(bD));t={...t,scrollByPage:e}}if(e.affectsConfiguration(SD)){const e=Boolean(l.getValue(SD));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(kD)){const e=l.getValue(kD);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(LD)){const e=l.getValue(LD);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new FD(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?_p(e):fp)}dispose(){this.disposables.dispose(),super.dispose()}};AD=jx([$x(6,ls.fN),$x(7,qx),$x(8,Fp.pG),$x(9,$n._Y)],AD);class PD extends Ae.jG{constructor(e,t){super(),this.widget=e,this._onDidOpen=this._register(new P.vl),this.onDidOpen=this._onDidOpen.event,this._register(P.Jh.filter(this.widget.onDidChangeSelection,(e=>zt(e.browserEvent)))((e=>this.onSelectionFromKeyboard(e)))),this._register(this.widget.onPointer((e=>this.onPointer(e.element,e.browserEvent)))),this._register(this.widget.onMouseDblClick((e=>this.onMouseDblClick(e.element,e.browserEvent)))),"boolean"!=typeof t?.openOnSingleClick&&t?.configurationService?(this.openOnSingleClick="doubleClick"!==t?.configurationService.getValue(pD),this._register(t?.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(pD)&&(this.openOnSingleClick="doubleClick"!==t?.configurationService.getValue(pD))})))):this.openOnSingleClick=t?.openOnSingleClick??!0}onSelectionFromKeyboard(e){if(1!==e.elements.length)return;const t=e.browserEvent,i="boolean"!=typeof t.preserveFocus||t.preserveFocus,n="boolean"==typeof t.pinned?t.pinned:!i;this._open(this.getSelectedElement(),i,n,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick)return;if(2===t.detail)return;const i=1===t.button,n=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!0,i,n,t)}onMouseDblClick(e,t){if(!t)return;const i=t.target;if(i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&t.offsetX<16)return;const n=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!1,!0,n,t)}_open(e,t,i,n,s){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:i,revealIfVisible:!0},sideBySide:n,element:e,browserEvent:s})}}class OD extends PD{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class FD extends PD{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class WD extends PD{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}}function BD(e){let t=!1;return i=>{if(i.toKeyCodeChord().isModifierKey())return!1;if(t)return t=!1,!1;const n=e.softDispatch(i,i.target);return 1===n.kind?(t=!0,!1):(t=!1,0===n.kind)}}let HD=class extends Cx{constructor(e,t,i,n,s,o,r,a,l){const{options:h,getTypeNavigationMode:d,disposable:c}=o.invokeFunction(qD,s);super(e,t,i,n,h),this.disposables.add(c),this.internals=new GD(this,s,d,s.overrideStyles,r,a,l),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};HD=jx([$x(5,$n._Y),$x(6,ls.fN),$x(7,qx),$x(8,Fp.pG)],HD);let VD=class extends kx{constructor(e,t,i,n,s,o,r,a,l){const{options:h,getTypeNavigationMode:d,disposable:c}=o.invokeFunction(qD,s);super(e,t,i,n,h),this.disposables.add(c),this.internals=new GD(this,s,d,s.overrideStyles,r,a,l),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};VD=jx([$x(5,$n._Y),$x(6,ls.fN),$x(7,qx),$x(8,Fp.pG)],VD);let zD=class extends Hx{constructor(e,t,i,n,s,o,r,a,l,h){const{options:d,getTypeNavigationMode:c,disposable:u}=r.invokeFunction(qD,o);super(e,t,i,n,s,d),this.disposables.add(u),this.internals=new GD(this,o,c,o.overrideStyles,a,l,h),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),void 0!==e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};zD=jx([$x(6,$n._Y),$x(7,ls.fN),$x(8,qx),$x(9,Fp.pG)],zD);let UD=class extends Ox{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,i,n,s,o,r,a,l,h){const{options:d,getTypeNavigationMode:c,disposable:u}=r.invokeFunction(qD,o);super(e,t,i,n,s,d),this.disposables.add(u),this.internals=new GD(this,o,c,o.overrideStyles,a,l,h),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};UD=jx([$x(6,$n._Y),$x(7,ls.fN),$x(8,qx),$x(9,Fp.pG)],UD);let KD=class extends Bx{constructor(e,t,i,n,s,o,r,a,l,h,d){const{options:c,getTypeNavigationMode:u,disposable:g}=a.invokeFunction(qD,r);super(e,t,i,n,s,o,c),this.disposables.add(g),this.internals=new GD(this,r,u,r.overrideStyles,l,h,d),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};function jD(e){const t=e.getValue(fD);if("highlight"===t)return $L.Highlight;if("filter"===t)return $L.Filter;const i=e.getValue(vD);return"simple"===i||"highlight"===i?$L.Highlight:"filter"===i?$L.Filter:void 0}function $D(e){const t=e.getValue(CD);return"fuzzy"===t?qL.Fuzzy:"contiguous"===t?qL.Contiguous:void 0}function qD(e,t){const i=e.get(Fp.pG),n=e.get(_d),s=e.get(ls.fN),o=e.get($n._Y),r=void 0!==t.horizontalScrolling?t.horizontalScrolling:Boolean(i.getValue(mD)),[a,l]=o.invokeFunction(MD,t),h=t.paddingBottom,d=void 0!==t.renderIndentGuides?t.renderIndentGuides:i.getValue(yD);return{getTypeNavigationMode:()=>{const e=s.getContextKeyValue(hD);if("automatic"===e)return gg.Automatic;if("trigger"===e)return gg.Trigger;if(!1===s.getContextKeyValue(dD))return gg.Trigger;const t=i.getValue(_D);return"automatic"===t?gg.Automatic:"trigger"===t?gg.Trigger:void 0},disposable:l,options:{keyboardSupport:!1,...a,indent:"number"==typeof i.getValue(wD)?i.getValue(wD):void 0,renderIndentGuides:d,smoothScrolling:Boolean(i.getValue(SD)),defaultFindMode:jD(i),defaultFindMatchType:$D(i),horizontalScrolling:r,scrollByPage:Boolean(i.getValue(bD)),paddingBottom:h,hideTwistiesOfChildlessElements:t.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:t.expandOnlyOnTwistieClick??"doubleClick"===i.getValue(xD),contextViewProvider:n,findWidgetStyles:pp,enableStickyScroll:Boolean(i.getValue(DD)),stickyScrollMaxItemCount:Number(i.getValue(ND))}}}KD=jx([$x(7,$n._Y),$x(8,ls.fN),$x(9,qx),$x(10,Fp.pG)],KD);let GD=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,i,n,s,o,r){this.tree=e,this.disposables=[],this.contextKeyService=cD(s,e),this.disposables.push(uD(this.contextKeyService,e)),this.listSupportsMultiSelect=Zx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==t.multipleSelectionSupport);iD.bindTo(this.contextKeyService).set(Boolean(t.selectionNavigation)),this.listSupportFindWidget=nD.bindTo(this.contextKeyService),this.listSupportFindWidget.set(t.findWidgetEnabled??!0),this.hasSelectionOrFocus=Jx.bindTo(this.contextKeyService),this.hasDoubleSelection=eD.bindTo(this.contextKeyService),this.hasMultiSelection=tD.bindTo(this.contextKeyService),this.treeElementCanCollapse=sD.bindTo(this.contextKeyService),this.treeElementHasParent=oD.bindTo(this.contextKeyService),this.treeElementCanExpand=rD.bindTo(this.contextKeyService),this.treeElementHasChild=aD.bindTo(this.contextKeyService),this.treeFindOpen=lD.bindTo(this.contextKeyService),this.treeStickyScrollFocused=Yx.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=ID(r),this.updateStyleOverrides(n);const a=()=>{const t=e.getFocus()[0];if(!t)return;const i=e.getNode(t);this.treeElementCanCollapse.set(i.collapsible&&!i.collapsed),this.treeElementHasParent.set(!!e.getParentElement(t)),this.treeElementCanExpand.set(i.collapsible&&i.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(t))},l=new Set;l.add(hD),l.add(dD),this.disposables.push(this.contextKeyService,o.register(e),e.onDidChangeSelection((()=>{const t=e.getSelection(),i=e.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.hasSelectionOrFocus.set(t.length>0||i.length>0),this.hasMultiSelection.set(t.length>1),this.hasDoubleSelection.set(2===t.length)}))})),e.onDidChangeFocus((()=>{const t=e.getSelection(),i=e.getFocus();this.hasSelectionOrFocus.set(t.length>0||i.length>0),a()})),e.onDidChangeCollapseState(a),e.onDidChangeModel(a),e.onDidChangeFindOpenState((e=>this.treeFindOpen.set(e))),e.onDidChangeStickyScrollFocused((e=>this.treeStickyScrollFocused.set(e))),r.onDidChangeConfiguration((n=>{let s={};if(n.affectsConfiguration(gD)&&(this._useAltAsMultipleSelectionModifier=ID(r)),n.affectsConfiguration(wD)){const e=r.getValue(wD);s={...s,indent:e}}if(n.affectsConfiguration(yD)&&void 0===t.renderIndentGuides){const e=r.getValue(yD);s={...s,renderIndentGuides:e}}if(n.affectsConfiguration(SD)){const e=Boolean(r.getValue(SD));s={...s,smoothScrolling:e}}if(n.affectsConfiguration(fD)||n.affectsConfiguration(vD)){const e=jD(r);s={...s,defaultFindMode:e}}if(n.affectsConfiguration(_D)||n.affectsConfiguration(vD)){const e=i();s={...s,typeNavigationMode:e}}if(n.affectsConfiguration(CD)){const e=$D(r);s={...s,defaultFindMatchType:e}}if(n.affectsConfiguration(mD)&&void 0===t.horizontalScrolling){const e=Boolean(r.getValue(mD));s={...s,horizontalScrolling:e}}if(n.affectsConfiguration(bD)){const e=Boolean(r.getValue(bD));s={...s,scrollByPage:e}}if(n.affectsConfiguration(xD)&&void 0===t.expandOnlyOnTwistieClick&&(s={...s,expandOnlyOnTwistieClick:"doubleClick"===r.getValue(xD)}),n.affectsConfiguration(DD)){const e=r.getValue(DD);s={...s,enableStickyScroll:e}}if(n.affectsConfiguration(ND)){const e=Math.max(1,r.getValue(ND));s={...s,stickyScrollMaxItemCount:e}}if(n.affectsConfiguration(kD)){const e=r.getValue(kD);s={...s,mouseWheelScrollSensitivity:e}}if(n.affectsConfiguration(LD)){const e=r.getValue(LD);s={...s,fastScrollSensitivity:e}}Object.keys(s).length>0&&e.updateOptions(s)})),this.contextKeyService.onDidChangeContext((t=>{t.affectsSome(l)&&e.updateOptions({typeNavigationMode:i()})}))),this.navigator=new WD(e,{configurationService:r,...t}),this.disposables.push(this.navigator)}updateOptions(e){void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?_p(e):fp)}dispose(){this.disposables=(0,Ae.AS)(this.disposables)}};GD=jx([$x(4,ls.fN),$x(5,qx),$x(6,Fp.pG)],GD);hs.O.as(Rc.Fd.Configuration).registerConfiguration({id:"workbench",order:7,title:(0,jn.kg)("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[gD]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[(0,jn.kg)("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),(0,jn.kg)("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:(0,jn.kg)({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[pD]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,jn.kg)({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[mD]:{type:"boolean",default:!1,description:(0,jn.kg)("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[bD]:{type:"boolean",default:!1,description:(0,jn.kg)("list.scrollByPage","Controls whether clicks in the scrollbar scroll page by page.")},[wD]:{type:"number",default:8,minimum:4,maximum:40,description:(0,jn.kg)("tree indent setting","Controls tree indentation in pixels.")},[yD]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:(0,jn.kg)("render tree indent guides","Controls whether the tree should render indent guides.")},[SD]:{type:"boolean",default:!1,description:(0,jn.kg)("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[kD]:{type:"number",default:1,markdownDescription:(0,jn.kg)("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[LD]:{type:"number",default:5,markdownDescription:(0,jn.kg)("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[fD]:{type:"string",enum:["highlight","filter"],enumDescriptions:[(0,jn.kg)("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),(0,jn.kg)("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:(0,jn.kg)("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[vD]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[(0,jn.kg)("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),(0,jn.kg)("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),(0,jn.kg)("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:(0,jn.kg)("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:(0,jn.kg)("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.")},[CD]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[(0,jn.kg)("defaultFindMatchTypeSettingKey.fuzzy","Use fuzzy matching when searching."),(0,jn.kg)("defaultFindMatchTypeSettingKey.contiguous","Use contiguous matching when searching.")],default:"fuzzy",description:(0,jn.kg)("defaultFindMatchTypeSettingKey","Controls the type of matching used when searching lists and trees in the workbench.")},[xD]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,jn.kg)("expand mode","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[DD]:{type:"boolean",default:!0,description:(0,jn.kg)("sticky scroll","Controls whether sticky scrolling is enabled in trees.")},[ND]:{type:"number",minimum:1,default:7,markdownDescription:(0,jn.kg)("sticky scroll maximum items","Controls the number of sticky elements displayed in the tree when {0} is enabled.","`#workbench.tree.enableStickyScroll#`")},[_D]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:(0,jn.kg)("typeNavigationMode2","Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});class QD{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=Al.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){const e=this.parent.getPreview(this)?.preview(this.range);return e?(0,jn.kg)({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",e.value,(0,Wn.P8)(this.uri),this.range.startLineNumber,this.range.startColumn):(0,jn.kg)("aria.oneReference","in {0} on line {1} at column {2}",(0,Wn.P8)(this.uri),this.range.startLineNumber,this.range.startColumn)}}class YD{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:n,startColumn:s,endLineNumber:o,endColumn:r}=e,a=i.getWordUntilPosition({lineNumber:n,column:s-t}),l=new Xs.Q(n,a.startColumn,n,s),h=new Xs.Q(o,r,o,1073741824),d=i.getValueInRange(l).replace(/^\s+/,""),c=i.getValueInRange(e);return{value:d+c+i.getValueInRange(h).replace(/\s+$/,""),highlight:{start:d.length,end:d.length+c.length}}}}class ZD{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Si.fT}dispose(){(0,Ae.AS)(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return 1===e?(0,jn.kg)("aria.fileReferences.1","1 symbol in {0}, full path {1}",(0,Wn.P8)(this.uri),this.uri.fsPath):(0,jn.kg)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,(0,Wn.P8)(this.uri),this.uri.fsPath)}async resolve(e){if(0!==this._previews.size)return this;for(const i of this.children)if(!this._previews.has(i.uri))try{const t=await e.createModelReference(i.uri);this._previews.set(i.uri,new YD(t))}catch(t){(0,b.dz)(t)}return this}}class XD{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new P.vl,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;let n;e.sort(XD._compareReferences);for(const s of e)if(n&&Wn.er.isEqual(n.uri,s.uri,!0)||(n=new ZD(this,s.uri),this.groups.push(n)),0===n.children.length||0!==XD._compareReferences(s,n.children[n.children.length-1])){const e=new QD(i===s,n,s,(e=>this._onDidChangeReferenceRange.fire(e)));this.references.push(e),n.children.push(e)}}dispose(){(0,Ae.AS)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new XD(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?(0,jn.kg)("aria.result.0","No results found"):1===this.references.length?(0,jn.kg)("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?(0,jn.kg)("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):(0,jn.kg)("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let n=i.children.indexOf(e);const s=i.children.length,o=i.parent.groups.length;return 1===o||t&&n+10?(n=t?(n+1)%s:(n+s-1)%s,i.children[n]):(n=i.parent.groups.indexOf(i),t?(n=(n+1)%o,i.parent.groups[n].children[0]):(n=(n+o-1)%o,i.parent.groups[n].children[i.parent.groups[n].children.length-1]))}nearestReference(e,t){const i=this.references.map(((i,n)=>({idx:n,prefixLen:Ti.Qp(i.uri.toString(),e.toString()),offsetDist:100*Math.abs(i.range.startLineNumber-t.lineNumber)+Math.abs(i.range.startColumn-t.column)}))).sort(((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0))[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&Xs.Q.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return Wn.er.compare(e.uri,t.uri)||Xs.Q.compareRangesUsingStarts(e.range,t.range)}}class JD{constructor(e,t,i){this.options=t,this.styles=i,this.count=0,this.element=Gt(e,ei(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){this.element.textContent=(0,Ti.GP)(this.countFormat,this.count),this.element.title=(0,Ti.GP)(this.titleFormat,this.count),this.element.style.backgroundColor=this.styles.badgeBackground??"",this.element.style.color=this.styles.badgeForeground??"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}class eN extends Ae.jG{constructor(e,t){super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=t?.supportIcons??!1,this.domNode=Gt(e,ei("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],i="",n){e||(e=""),n&&(e=eN.escapeNewLines(e,t)),this.didEverRender&&this.text===e&&this.title===i&&$l.aI(this.highlights,t)||(this.text=e,this.title=i,this.highlights=t,this.render())}render(){const e=[];let t=0;for(const i of this.highlights){if(i.end===i.start)continue;if(t{n="\r\n"===e?-1:0,s+=i;for(const i of t)i.end<=s||(i.start>=s&&(i.start+=n),i.end>=s&&(i.end+=n));return i+=n,"\u23ce"}))}}class tN{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set classNames(e){this.disposed||(0,$l.aI)(e,this._classNames)||(this._classNames=e,this._element.classList.value="",this._element.classList.add(...e))}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class iN extends Ae.jG{constructor(e,t){super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new tN(Gt(e,ei(".monaco-icon-label")))),this.labelContainer=Gt(this.domNode.element,ei(".monaco-icon-label-container")),this.nameContainer=Gt(this.labelContainer,ei("span.monaco-icon-name-container")),this.nameNode=t?.supportHighlights||t?.supportIcons?this._register(new sN(this.nameContainer,!!t.supportIcons)):new nN(this.nameContainer),this.hoverDelegate=t?.hoverDelegate??ad("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){const n=["monaco-icon-label"],s=["monaco-icon-label-container"];let o="";i&&(i.extraClasses&&n.push(...i.extraClasses),i.italic&&n.push("italic"),i.strikethrough&&n.push("strikethrough"),i.disabledCommand&&s.push("disabled"),i.title&&("string"==typeof i.title?o+=i.title:o+=e));const r=this.domNode.element.querySelector(".monaco-icon-label-iconpath");if(i?.iconPath){let e;r&&Bt(r)?e=r:(e=ei(".monaco-icon-label-iconpath"),this.domNode.element.prepend(e)),e.style.backgroundImage=oi(i?.iconPath)}else r&&r.remove();if(this.domNode.classNames=n,this.domNode.element.setAttribute("aria-label",o),this.labelContainer.classList.value="",this.labelContainer.classList.add(...s),this.setupHover(i?.descriptionTitle?this.labelContainer:this.element,i?.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const e=this.getOrCreateDescriptionNode();e instanceof eN?(e.set(t||"",i?i.descriptionMatches:void 0,void 0,i?.labelEscapeNewLines),this.setupHover(e.element,i?.descriptionTitle)):(e.textContent=t&&i?.labelEscapeNewLines?eN.escapeNewLines(t,[]):t||"",this.setupHover(e.element,i?.descriptionTitle||""),e.empty=!t)}if(i?.suffix||this.suffixNode){this.getOrCreateSuffixNode().textContent=i?.suffix??""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),t)if(this.hoverDelegate.showNativeHover){function n(e,t){(0,os.Kg)(t)?e.title=An(t):t?.markdownNotSupportedFallback?e.title=t.markdownNotSupportedFallback:e.removeAttribute("title")}n(e,t)}else{const s=cd().setupManagedHover(this.hoverDelegate,e,t);s&&this.customHovers.set(e,s)}else e.removeAttribute("title")}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const i=this._register(new tN((e=this.nameContainer,t=ei("span.monaco-icon-suffix-container"),e.after(t),t)));this.suffixNode=this._register(new tN(Gt(i.element,ei("span.label-suffix"))))}var e,t;return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){const e=this._register(new tN(Gt(this.labelContainer,ei("span.monaco-icon-description-container"))));this.creationOptions?.supportDescriptionHighlights?this.descriptionNode=this._register(new eN(Gt(e.element,ei("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new tN(Gt(e.element,ei("span.label-description"))))}return this.descriptionNode}}class nN{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(this.label!==e||!(0,$l.aI)(this.options,t))if(this.label=e,this.options=t,"string"==typeof e)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=Gt(this.container,ei("a.label-name",{id:t?.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i{const s={start:n,end:n+e.length},o=i.map((e=>eg.intersect(s,e))).filter((e=>!eg.isEmpty(e))).map((({start:e,end:t})=>({start:e-n,end:t-n})));return n=s.end+t.length,o}))}(e,i,t?.matches);for(let s=0;s=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},lN=function(e,t){return function(i,n){t(i,n,e)}};let hN=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof XD||e instanceof ZD}getChildren(e){if(e instanceof XD)return e.groups;if(e instanceof ZD)return e.resolve(this._resolverService).then((e=>e.children));throw new Error("bad tree")}};hN=aN([lN(0,Yn.ITextModelService)],hN);class dN{getHeight(){return 23}getTemplateId(e){return e instanceof ZD?pN.id:fN.id}}let cN=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){if(e instanceof QD){const t=e.parent.getPreview(e)?.preview(e.range);if(t)return t.value}return(0,Wn.P8)(e.uri)}};cN=aN([lN(0,bd)],cN);class uN{getId(e){return e instanceof QD?e.id:e.uri}}let gN=class extends Ae.jG{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new iN(i,{supportHighlights:!0})),this.badge=new JD(Gt(i,ei(".count")),{},mp),e.appendChild(i)}set(e,t){const i=(0,Wn.pD)(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat((0,jn.kg)("referencesCount","{0} references",n)):this.badge.setTitleFormat((0,jn.kg)("referenceCount","{0} reference",n))}};gN=aN([lN(1,oN)],gN);let pN=class{static{rN=this}static{this.id="FileReferencesRenderer"}constructor(e){this._instantiationService=e,this.templateId=rN.id}renderTemplate(e){return this._instantiationService.createInstance(gN,e)}renderElement(e,t,i){i.set(e.element,hn(e.filterData))}disposeTemplate(e){e.dispose()}};pN=rN=aN([lN(0,$n._Y)],pN);class mN extends Ae.jG{constructor(e){super(),this.label=this._register(new eN(e))}set(e,t){const i=e.parent.getPreview(e)?.preview(e.range);if(i&&i.value){const{value:e,highlight:n}=i;t&&!Sn.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(e,hn(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(e,[n]))}else this.label.set(`${(0,Wn.P8)(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`)}}class fN{constructor(){this.templateId=fN.id}static{this.id="OneReferenceRenderer"}renderTemplate(e){return new mN(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}}class _N{getWidgetAriaLabel(){return(0,jn.kg)("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var vN=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},bN=function(e,t){return function(i,n){t(i,n,e)}};class CN{static{this.DecorationOptions=eo.kI.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"})}constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Ae.Cm,this._callOnModelChange=new Ae.Cm,this._callOnDispose.add(this._editor.onDidChangeModel((()=>this._onModelChanged()))),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e)for(const t of this._model.references)if(t.uri.toString()===e.uri.toString())return void this._addDecorations(t.parent)}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const t=[],i=[];for(let n=0,s=e.children.length;n{const s=n.deltaDecorations([],t);for(let t=0;t{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(yN,"ReferencesWidget",this._treeContainer,new dN,[this._instantiationService.createInstance(pN),this._instantiationService.createInstance(fN)],this._instantiationService.createInstance(hN),t),this._splitView.addView({onDidChange:P.Jh.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},lL.Distribute),this._splitView.addView({onDidChange:P.Jh.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},lL.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const i=(e,t)=>{e instanceof QD&&("show"===t&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:"tree"}))};this._disposables.add(this._tree.onDidOpen((e=>{e.sideBySide?i(e.element,"side"):e.editorOptions.pinned?i(e.element,"goto"):i(e.element,"show")}))),ii(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new ht(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then((()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))}))}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=jn.kg("noResults","No results"),ti(this._messageContainer),Promise.resolve(void 0)):(ii(this._messageContainer),this._decorationsManager=new CN(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((e=>this._tree.rerender(e)))),this._disposeOnNewModel.add(this._preview.onMouseDown((e=>{const{event:t,target:i}=e;if(2!==t.detail)return;const n=this._getFocusedReference();n&&this._onDidSelectReference.fire({element:{uri:n.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),ti(this._treeContainer),ti(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();return e instanceof QD?e:e instanceof ZD&&e.children.length>0?e.children[0]:void 0}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==Pe.ny.inMemory?this.setTitle((0,Wn.Pi)(e.uri),this._uriLabel.getUriLabel((0,Wn.pD)(e.uri))):this.setTitle(jn.kg("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent||(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent)),this._tree.reveal(e);const n=await i;if(!this._model)return void n.dispose();(0,Ae.AS)(this._previewModelReference);const s=n.object;if(s){const t=this._preview.getModel()===s.textEditorModel?0:1,i=Xs.Q.lift(e.range).collapseToStart();this._previewModelReference=n,this._preview.setModel(s.textEditorModel),this._preview.setSelection(i),this._preview.revealRangeInCenter(i,t)}else this._preview.setModel(this._previewNotAvailableMessage),n.dispose()}};SN=vN([bN(3,io.Gy),bN(4,Yn.ITextModelService),bN(5,$n._Y),bN(6,Uk),bN(7,oN),bN(8,bd)],SN);var kN,LN=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},xN=function(e,t){return function(i,n){t(i,n,e)}};const DN=new ls.N1("referenceSearchVisible",!1,jn.kg("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let NN=class{static{kN=this}static{this.ID="editor.contrib.referencesController"}static get(e){return e.getContribution(kN.ID)}constructor(e,t,i,n,s,o,r,a){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=o,this._storageService=r,this._configurationService=a,this._disposables=new Ae.Cm,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=DN.bindTo(i)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let n;if(this._widget&&(n=this._widget.position),this.closeWidget(),n&&e.containsPosition(n))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const s="peekViewLayout",o=wN.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(SN,this._editor,this._defaultTreeKeyboardSupport,o),this._widget.setTitle(jn.kg("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose((()=>{t.cancel(),this._widget?(this._storageService.store(s,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((e=>{const{element:t,kind:n}=e;if(t)switch(n){case"open":"editor"===e.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(t,!1,!1);break;case"side":this.openReference(t,!0,!1);break;case"goto":i?this._gotoReference(t,!0):this.openReference(t,!1,!0)}})));const r=++this._requestIdPool;t.then((t=>{if(r===this._requestIdPool&&this._widget)return this._model?.dispose(),this._model=t,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(jn.kg("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const t=this._editor.getModel().uri,i=new Gn.y(e.startLineNumber,e.startColumn),n=this._model.nearestReference(t,i);if(n)return this._widget.setSelection(n).then((()=>{this._widget&&"editor"===this._editor.getOption(87)&&this._widget.focusOnPreviewEditor()}))}}));t.dispose()}),(e=>{this._notificationService.error(e)}))}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),s=this._editor.hasTextFocus(),o=this._widget.isPreviewEditorFocused();await this._widget.setSelection(n),await this._gotoReference(n,!1),s?this._editor.focus():this._widget&&o&&this._widget.focusOnPreviewEditor()}async revealReference(e){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(e)}closeWidget(e=!0){this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){this._widget?.hide(),this._ignoreModelChangeEvent=!0;const i=Xs.Q.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then((e=>{if(this._ignoreModelChangeEvent=!1,e&&this._widget)if(this._editor===e)this._widget.show(i),this._widget.focusOnReferenceTree();else{const t=kN.get(e),n=this._model.clone();this.closeWidget(),e.focus(),t?.toggleWidget(i,(0,A.SS)((e=>Promise.resolve(n))),this._peekMode??!1)}else this.closeWidget()}),(e=>{this._ignoreModelChangeEvent=!1,(0,b.dz)(e)}))}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:s}=e;this._editorService.openCodeEditor({resource:n,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor,t)}};function IN(e,t){const i=function(e){const t=e.get(qn).getFocusedCodeEditor();return t instanceof Ak?t.getParentEditor():t}(e);if(!i)return;const n=NN.get(i);n&&t(n)}NN=kN=LN([xN(2,ls.fN),xN(3,qn),xN(4,yd),xN(5,$n._Y),xN(6,vw),xN(7,Fp.pG)],NN),cs.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:(0,v.m5)(2089,60),when:ls.M$.or(DN,Kk.inPeekEditor),handler(e){IN(e,(e=>{e.changeFocusBetweenPreviewAndReferences()}))}}),cs.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:ls.M$.or(DN,Kk.inPeekEditor),handler(e){IN(e,(e=>{e.goToNextOrPreviousReference(!0)}))}}),cs.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:ls.M$.or(DN,Kk.inPeekEditor),handler(e){IN(e,(e=>{e.goToNextOrPreviousReference(!1)}))}}),as.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),as.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),as.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),as.registerCommand("closeReferenceSearch",(e=>IN(e,(e=>e.closeWidget())))),cs.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:ls.M$.and(Kk.inPeekEditor,ls.M$.not("config.editor.stablePeek"))}),cs.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:ls.M$.and(DN,ls.M$.not("config.editor.stablePeek"),ls.M$.or(js.editorTextFocus,Kx.negate()))}),cs.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:ls.M$.and(DN,Xx,sD.negate(),rD.negate()),handler(e){const t=e.get(qx),i=t.lastFocusedList?.getFocus();Array.isArray(i)&&i[0]instanceof QD&&IN(e,(e=>e.revealReference(i[0])))}}),cs.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ls.M$.and(DN,Xx,sD.negate(),rD.negate()),handler(e){const t=e.get(qx),i=t.lastFocusedList?.getFocus();Array.isArray(i)&&i[0]instanceof QD&&IN(e,(e=>e.openReference(i[0],!0,!0)))}}),as.registerCommand("openReference",(e=>{const t=e.get(qx),i=t.lastFocusedList?.getFocus();Array.isArray(i)&&i[0]instanceof QD&&IN(e,(e=>e.openReference(i[0],!1,!0)))}));var EN=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},MN=function(e,t){return function(i,n){t(i,n,e)}};const TN=new ls.N1("hasSymbols",!1,(0,jn.kg)("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),RN=(0,$n.u1)("ISymbolNavigationService");let AN=class{constructor(e,t,i,n){this._editorService=t,this._notificationService=i,this._keybindingService=n,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=TN.bindTo(e)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1)return void this.reset();this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new PN(this._editorService),n=i.onDidChange((e=>{if(this._ignoreEditorChange)return;const i=this._editorService.getActiveCodeEditor();if(!i)return;const n=i.getModel(),s=i.getPosition();if(!n||!s)return;let o=!1,r=!1;for(const a of t.references)if((0,Wn.n4)(a.uri,n.uri))o=!0,r=r||Xs.Q.containsPosition(a.range,s);else if(o)break;o&&r||this.reset()}));this._currentState=(0,Ae.qE)(i,n)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:Xs.Q.collapseToStart(t.range),selectionRevealType:3}},e).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){this._currentMessage?.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?(0,jn.kg)("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):(0,jn.kg)("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};AN=EN([MN(0,ls.fN),MN(1,qn),MN(2,yd),MN(3,bd)],AN),(0,cl.v)(RN,AN,1),Os(new class extends Ms{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:TN,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(RN).revealNext(t)}}),cs.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:TN,primary:9,handler(e){e.get(RN).reset()}});let PN=class{constructor(e){this._listener=new Map,this._disposables=new Ae.Cm,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),(0,Ae.AS)(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,(0,Ae.qE)(e.onDidChangeCursorPosition((t=>this._onDidChange.fire({editor:e}))),e.onDidChangeModelContent((t=>this._onDidChange.fire({editor:e})))))}_onDidRemoveEditor(e){this._listener.get(e)?.dispose(),this._listener.delete(e)}};function ON(e,t){return t.uri.scheme===e.uri.scheme||!(0,Pe.fV)(t.uri,Pe.ny.walkThroughSnippet,Pe.ny.vscodeChatCodeBlock,Pe.ny.vscodeChatCodeCompareBlock)}async function FN(e,t,i,n,s){const o=i.ordered(e,n).map((i=>Promise.resolve(s(i,e,t)).then(void 0,(e=>{(0,b.M_)(e)})))),r=await Promise.all(o);return(0,ia.Yc)(r.flat()).filter((t=>ON(e,t)))}function WN(e,t,i,n,s){return FN(t,i,e,n,((e,t,i)=>e.provideDefinition(t,i,s)))}function BN(e,t,i,n,s){return FN(t,i,e,n,((e,t,i)=>e.provideDeclaration(t,i,s)))}function HN(e,t,i,n,s){return FN(t,i,e,n,((e,t,i)=>e.provideImplementation(t,i,s)))}function VN(e,t,i,n,s){return FN(t,i,e,n,((e,t,i)=>e.provideTypeDefinition(t,i,s)))}function zN(e,t,i,n,s,o){return FN(t,i,e,s,(async(e,t,i)=>{const s=(await e.provideReferences(t,i,{includeDeclaration:!0},o))?.filter((e=>ON(t,e)));if(!n||!s||2!==s.length)return s;const r=(await e.provideReferences(t,i,{includeDeclaration:!1},o))?.filter((e=>ON(t,e)));return r&&1===r.length?r:s}))}async function UN(e){const t=await e(),i=new XD(t,""),n=i.references.map((e=>e.link));return i.dispose(),n}PN=EN([MN(0,qn)],PN),Ps("_executeDefinitionProvider",((e,t,i)=>{const n=WN(e.get(La.ILanguageFeaturesService).definitionProvider,t,i,!1,na.XO.None);return UN((()=>n))})),Ps("_executeDefinitionProvider_recursive",((e,t,i)=>{const n=WN(e.get(La.ILanguageFeaturesService).definitionProvider,t,i,!0,na.XO.None);return UN((()=>n))})),Ps("_executeTypeDefinitionProvider",((e,t,i)=>{const n=VN(e.get(La.ILanguageFeaturesService).typeDefinitionProvider,t,i,!1,na.XO.None);return UN((()=>n))})),Ps("_executeTypeDefinitionProvider_recursive",((e,t,i)=>{const n=VN(e.get(La.ILanguageFeaturesService).typeDefinitionProvider,t,i,!0,na.XO.None);return UN((()=>n))})),Ps("_executeDeclarationProvider",((e,t,i)=>{const n=BN(e.get(La.ILanguageFeaturesService).declarationProvider,t,i,!1,na.XO.None);return UN((()=>n))})),Ps("_executeDeclarationProvider_recursive",((e,t,i)=>{const n=BN(e.get(La.ILanguageFeaturesService).declarationProvider,t,i,!0,na.XO.None);return UN((()=>n))})),Ps("_executeReferenceProvider",((e,t,i)=>{const n=zN(e.get(La.ILanguageFeaturesService).referenceProvider,t,i,!1,!1,na.XO.None);return UN((()=>n))})),Ps("_executeReferenceProvider_recursive",((e,t,i)=>{const n=zN(e.get(La.ILanguageFeaturesService).referenceProvider,t,i,!1,!0,na.XO.None);return UN((()=>n))})),Ps("_executeImplementationProvider",((e,t,i)=>{const n=HN(e.get(La.ILanguageFeaturesService).implementationProvider,t,i,!1,na.XO.None);return UN((()=>n))})),Ps("_executeImplementationProvider_recursive",((e,t,i)=>{const n=HN(e.get(La.ILanguageFeaturesService).implementationProvider,t,i,!0,na.XO.None);return UN((()=>n))})),Cs.appendMenuItem(_s.EditorContext,{submenu:_s.EditorContextPeek,title:jn.kg("peek.submenu","Peek"),group:"navigation",order:100});class KN{static is(e){return!(!e||"object"!=typeof e)&&(e instanceof KN||!(!Gn.y.isIPosition(e.position)||!e.model))}constructor(e,t){this.model=e,this.position=t}}class jN extends As{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return jN._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of ss.f.wrap(t.menu))i.id!==_s.EditorContext&&i.id!==_s.EditorContextPeek||(i.when=ls.M$.and(e.precondition,i.when));return t}constructor(e,t){super(jN._patchConfig(t)),this.configuration=e,jN._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(yd),o=e.get(qn),r=e.get(qh),a=e.get(RN),l=e.get(La.ILanguageFeaturesService),h=e.get($n._Y),d=t.getModel(),c=t.getPosition(),u=KN.is(i)?i:new KN(d,c),g=new fl(t,5),p=(0,A.PK)(this._getLocationModel(l,u.model,u.position,g.token),g.token).then((async e=>{if(!e||g.token.isCancellationRequested)return;let s;if(Ci(e.ariaMessage),e.referenceAt(d.uri,c)){const e=this._getAlternativeCommand(t);!jN._activeAlternativeCommands.has(e)&&jN._allSymbolNavigationCommands.has(e)&&(s=jN._allSymbolNavigationCommands.get(e))}const r=e.references.length;if(0===r){if(!this.configuration.muteMessage){const e=d.getWordAtPosition(c);zh.get(t)?.showMessage(this._getNoResultFoundMessage(e),c)}}else{if(1!==r||!s)return this._onResult(o,a,t,e,n);jN._activeAlternativeCommands.add(this.desc.id),h.invokeFunction((e=>s.runEditorCommand(e,t,i,n).finally((()=>{jN._activeAlternativeCommands.delete(this.desc.id)}))))}}),(e=>{s.error(e)})).finally((()=>{g.dispose()}));return r.showWhile(p,250),p}async _onResult(e,t,i,n,s){const o=this._getGoToPreference(i);if(i instanceof Ak||!(this.configuration.openInPeek||"peek"===o&&n.references.length>1)){const r=n.firstReference(),a=n.references.length>1&&"gotoAndPeek"===o,l=await this._openReference(i,e,r,this.configuration.openToSide,!a);a&&l?this._openInPeek(l,n,s):n.dispose(),"goto"===o&&t.put(r)}else this._openInPeek(i,n,s)}async _openReference(e,t,i,n,s){let o;if((0,ka.Iu)(i)&&(o=i.targetSelectionRange),o||(o=i.range),!o)return;const r=await t.openCodeEditor({resource:i.uri,options:{selection:Xs.Q.collapseToStart(o),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(r){if(s){const e=r.getModel(),t=r.createDecorationsCollection([{range:o,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{r.getModel()===e&&t.clear()}),350)}return r}}_openInPeek(e,t,i){const n=NN.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),(0,A.SS)((e=>Promise.resolve(t))),this.configuration.openInPeek):t.dispose()}}class $N extends jN{async _getLocationModel(e,t,i,n){return new XD(await WN(e.definitionProvider,t,i,!1,n),jn.kg("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?jn.kg("noResultWord","No definition found for '{0}'",e.word):jn.kg("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}ks(class e extends $N{static{this.id="editor.action.revealDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...jn.aS("actions.goToDecl.label","Go to Definition"),mnemonicTitle:jn.kg({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:js.hasDefinitionProvider,keybinding:[{when:js.editorTextFocus,primary:70,weight:100},{when:ls.M$.and(js.editorTextFocus,zx),primary:2118,weight:100}],menu:[{id:_s.EditorContext,group:"navigation",order:1.1},{id:_s.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),as.registerCommandAlias("editor.action.goToDeclaration",e.id)}}),ks(class e extends $N{static{this.id="editor.action.revealDefinitionAside"}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:e.id,title:jn.aS("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:ls.M$.and(js.hasDefinitionProvider,js.isInEmbeddedEditor.toNegated()),keybinding:[{when:js.editorTextFocus,primary:(0,v.m5)(2089,70),weight:100},{when:ls.M$.and(js.editorTextFocus,zx),primary:(0,v.m5)(2089,2118),weight:100}]}),as.registerCommandAlias("editor.action.openDeclarationToTheSide",e.id)}}),ks(class e extends $N{static{this.id="editor.action.peekDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.id,title:jn.aS("actions.previewDecl.label","Peek Definition"),precondition:ls.M$.and(js.hasDefinitionProvider,Kk.notInPeekEditor,js.isInEmbeddedEditor.toNegated()),keybinding:{when:js.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:_s.EditorContextPeek,group:"peek",order:2}}),as.registerCommandAlias("editor.action.previewDeclaration",e.id)}});class qN extends jN{async _getLocationModel(e,t,i,n){return new XD(await BN(e.declarationProvider,t,i,!1,n),jn.kg("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?jn.kg("decl.noResultWord","No declaration found for '{0}'",e.word):jn.kg("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}ks(class e extends qN{static{this.id="editor.action.revealDeclaration"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...jn.aS("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:jn.kg({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:ls.M$.and(js.hasDeclarationProvider,js.isInEmbeddedEditor.toNegated()),menu:[{id:_s.EditorContext,group:"navigation",order:1.3},{id:_s.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?jn.kg("decl.noResultWord","No declaration found for '{0}'",e.word):jn.kg("decl.generic.noResults","No declaration found")}}),ks(class extends qN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:jn.aS("actions.peekDecl.label","Peek Declaration"),precondition:ls.M$.and(js.hasDeclarationProvider,Kk.notInPeekEditor,js.isInEmbeddedEditor.toNegated()),menu:{id:_s.EditorContextPeek,group:"peek",order:3}})}});class GN extends jN{async _getLocationModel(e,t,i,n){return new XD(await VN(e.typeDefinitionProvider,t,i,!1,n),jn.kg("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?jn.kg("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):jn.kg("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}ks(class e extends GN{static{this.ID="editor.action.goToTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...jn.aS("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:jn.kg({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:js.hasTypeDefinitionProvider,keybinding:{when:js.editorTextFocus,primary:0,weight:100},menu:[{id:_s.EditorContext,group:"navigation",order:1.4},{id:_s.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}),ks(class e extends GN{static{this.ID="editor.action.peekTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:jn.aS("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:ls.M$.and(js.hasTypeDefinitionProvider,Kk.notInPeekEditor,js.isInEmbeddedEditor.toNegated()),menu:{id:_s.EditorContextPeek,group:"peek",order:4}})}});class QN extends jN{async _getLocationModel(e,t,i,n){return new XD(await HN(e.implementationProvider,t,i,!1,n),jn.kg("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?jn.kg("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):jn.kg("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}ks(class e extends QN{static{this.ID="editor.action.goToImplementation"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...jn.aS("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:jn.kg({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:js.hasImplementationProvider,keybinding:{when:js.editorTextFocus,primary:2118,weight:100},menu:[{id:_s.EditorContext,group:"navigation",order:1.45},{id:_s.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}),ks(class e extends QN{static{this.ID="editor.action.peekImplementation"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:jn.aS("actions.peekImplementation.label","Peek Implementations"),precondition:ls.M$.and(js.hasImplementationProvider,Kk.notInPeekEditor,js.isInEmbeddedEditor.toNegated()),keybinding:{when:js.editorTextFocus,primary:3142,weight:100},menu:{id:_s.EditorContextPeek,group:"peek",order:5}})}});class YN extends jN{_getNoResultFoundMessage(e){return e?jn.kg("references.no","No references found for '{0}'",e.word):jn.kg("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}ks(class extends YN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...jn.aS("goToReferences.label","Go to References"),mnemonicTitle:jn.kg({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:ls.M$.and(js.hasReferenceProvider,Kk.notInPeekEditor,js.isInEmbeddedEditor.toNegated()),keybinding:{when:js.editorTextFocus,primary:1094,weight:100},menu:[{id:_s.EditorContext,group:"navigation",order:1.45},{id:_s.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new XD(await zN(e.referenceProvider,t,i,!0,!1,n),jn.kg("ref.title","References"))}}),ks(class extends YN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:jn.aS("references.action.label","Peek References"),precondition:ls.M$.and(js.hasReferenceProvider,Kk.notInPeekEditor,js.isInEmbeddedEditor.toNegated()),menu:{id:_s.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new XD(await zN(e.referenceProvider,t,i,!1,!1,n),jn.kg("ref.title","References"))}});class ZN extends jN{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:jn.aS("label.generic","Go to Any Symbol"),precondition:ls.M$.and(Kk.notInPeekEditor,js.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new XD(this._references,jn.kg("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&jn.kg("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}async function XN(e,t,i,n){const s=e.get(Yn.ITextModelService),o=e.get(vd),r=e.get(rs),a=e.get($n._Y),l=e.get(yd);if(await n.item.resolve(na.XO.None),!n.part.location)return;const h=n.part.location,d=[],c=new Set(Cs.getMenuItems(_s.EditorContext).map((e=>fs(e)?e.command.id:sa())));for(const g of jN.all())c.has(g.desc.id)&&d.push(new Zn(g.desc.id,ys.label(g.desc,{renderShortTitle:!0}),void 0,!0,(async()=>{const e=await s.createModelReference(h.uri);try{const i=new KN(e.object.textEditorModel,Xs.Q.getStartPosition(h.range)),s=n.item.anchor.range;await a.invokeFunction(g.runEditorCommand.bind(g),t,i,s)}finally{e.dispose()}})));if(n.part.command){const{command:e}=n.part;d.push(new Jn),d.push(new Zn(e.id,e.title,void 0,!0,(async()=>{try{await r.executeCommand(e.id,...e.arguments??[])}catch(t){l.notify({severity:wd.Error,source:n.item.provider.displayName,message:t})}})))}const u=t.getOption(128);o.showContextMenu({domForShadowRoot:u?t.getDomNode()??void 0:void 0,getAnchor:()=>{const e=ct(i);return{x:e.left,y:e.top+e.height+8}},getActions:()=>d,onHide:()=>{t.focus()},autoSelectFirstItem:!0})}async function JN(e,t,i,n){const s=e.get(Yn.ITextModelService),o=await s.createModelReference(n.uri);await i.invokeWithinContext((async e=>{const s=t.hasSideBySideModifier,r=e.get(ls.fN),a=Kk.inPeekEditor.getValue(r),l=!s&&i.getOption(89)&&!a;return new $N({openToSide:s,openInPeek:l,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e,new KN(o.object.textEditorModel,Xs.Q.getStartPosition(n.range)),Xs.Q.lift(n.range))})),o.dispose()}as.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:Bn.r},{name:"position",description:"The position at which to start",constraint:Gn.y.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(e,t,i,n,s,o,r)=>{(0,os.j)(Bn.r.isUri(t)),(0,os.j)(Gn.y.isIPosition(i)),(0,os.j)(Array.isArray(n)),(0,os.j)(void 0===s||"string"==typeof s),(0,os.j)(void 0===r||"boolean"==typeof r);const a=e.get(qn),l=await a.openCodeEditor({resource:t},a.getFocusedCodeEditor());if(Ik(l))return l.setPosition(i),l.revealPositionInCenterIfOutsideViewport(i,0),l.invokeWithinContext((e=>{const t=new class extends ZN{_getNoResultFoundMessage(e){return o||super._getNoResultFoundMessage(e)}}({muteMessage:!Boolean(o),openInPeek:Boolean(r),openToSide:!1},n,s);e.get($n._Y).invokeFunction(t.run.bind(t),l)}))}}),as.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:Bn.r},{name:"position",description:"The position at which to start",constraint:Gn.y.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(e,t,i,n,s)=>{e.get(rs).executeCommand("editor.action.goToLocations",t,i,n,s,void 0,!0)}}),as.registerCommand({id:"editor.action.findReferences",handler:(e,t,i)=>{(0,os.j)(Bn.r.isUri(t)),(0,os.j)(Gn.y.isIPosition(i));const n=e.get(La.ILanguageFeaturesService),s=e.get(qn);return s.openCodeEditor({resource:t},s.getFocusedCodeEditor()).then((e=>{if(!Ik(e)||!e.hasModel())return;const t=NN.get(e);if(!t)return;const s=(0,A.SS)((t=>zN(n.referenceProvider,e.getModel(),Gn.y.lift(i),!1,!1,t).then((e=>new XD(e,jn.kg("ref.title","References")))))),o=new Xs.Q(i.lineNumber,i.column,i.lineNumber,i.column);return Promise.resolve(t.toggleWidget(o,s,!1))}))}}),as.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var eI,tI=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},iI=function(e,t){return function(i,n){t(i,n,e)}};class nI{constructor(){this._entries=new Si.qK(50)}get(e){const t=nI._key(e);return this._entries.get(t)}set(e,t){const i=nI._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const sI=(0,$n.u1)("IInlayHintsCache");(0,cl.v)(sI,nI,1);class oI{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return"string"==typeof e?{label:e}:e[this.index]}}class rI{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let aI=class{static{eI=this}static{this.ID="editor.contrib.InlayHints"}static{this._MAX_DECORATORS=1500}static{this._MAX_LABEL_LEN=43}static get(e){return e.getContribution(eI.ID)??void 0}constructor(e,t,i,n,s,o,r){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=n,this._commandService=s,this._notificationService=o,this._instaService=r,this._disposables=new Ae.Cm,this._sessionDisposables=new Ae.Cm,this._decorationsMetadata=new Map,this._ruleFactory=new Hm(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange((()=>this._update()))),this._disposables.add(e.onDidChangeModel((()=>this._update()))),this._disposables.add(e.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(e.onDidChangeConfiguration((e=>{e.hasChanged(142)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(142);if("off"===e.enabled)return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if("on"===e.enabled)this._activeRenderMode=0;else{let t,i;"onUnlessPressed"===e.enabled?(t=0,i=1):(t=1,i=0),this._activeRenderMode=t,this._sessionDisposables.add(hi.getInstance().event((e=>{if(!this._editor.hasModel())return;const n=e.altKey&&e.ctrlKey&&!e.shiftKey&&!e.metaKey?i:t;if(n!==this._activeRenderMode){this._activeRenderMode=n;const e=this._editor.getModel(),t=this._copyInlayHintsWithCurrentAnchor(e);this._updateHintsDecorators([e.getFullModelRange()],t),o.schedule(0)}})))}const i=this._inlayHintsCache.get(t);let n;i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add((0,Ae.s)((()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)})));const s=new Set,o=new A.uC((async()=>{const e=Date.now();n?.dispose(!0),n=new na.Qi;const i=t.onWillDispose((()=>n?.cancel()));try{const i=n.token,r=await Nk.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),i);if(o.delay=this._debounceInfo.update(t,Date.now()-e),i.isCancellationRequested)return void r.dispose();for(const e of r.provider)"function"!=typeof e.onDidChangeInlayHints||s.has(e)||(s.add(e),this._sessionDisposables.add(e.onDidChangeInlayHints((()=>{o.isScheduled()||o.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(t)}catch(r){(0,b.dz)(r)}finally{n.dispose(),i.dispose()}}),this._debounceInfo.get(t));this._sessionDisposables.add(o),this._sessionDisposables.add((0,Ae.s)((()=>n?.dispose(!0)))),o.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((e=>{!e.scrollTopChanged&&o.isScheduled()||o.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((e=>{n?.cancel();const t=Math.max(o.delay,1250);o.schedule(t)}))),this._sessionDisposables.add(this._installDblClickGesture((()=>o.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new Ae.Cm,t=e.add(new Lk(this._editor)),i=new Ae.Cm;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown((e=>{const[t]=e,n=this._getInlayHintLabelPart(t),s=this._editor.getModel();if(!n||!s)return void i.clear();const o=new na.Qi;i.add((0,Ae.s)((()=>o.dispose(!0)))),n.item.resolve(o.token),this._activeInlayHintPart=n.part.command||n.part.location?new rI(n,t.hasTriggerModifier):void 0;const r=s.validatePosition(n.item.hint.position).lineNumber,a=new Xs.Q(r,1,r,s.getLineMaxColumn(r)),l=this._getInlineHintsForRange(a);this._updateHintsDecorators([a],l),i.add((0,Ae.s)((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([a],l)})))}))),e.add(t.onCancel((()=>i.clear()))),e.add(t.onExecute((async e=>{const t=this._getInlayHintLabelPart(e);if(t){const i=t.part;i.location?this._instaService.invokeFunction(JN,e,this._editor,i.location):ka.uB.is(i.command)&&await this._invokeCommand(i.command,t.item)}}))),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp((async t=>{if(2!==t.event.detail)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(na.XO.None),(0,ia.EI)(i.item.hint.textEdits))){const t=i.item.hint.textEdits.map((e=>bk.replace(Xs.Q.lift(e.range),e.text)));this._editor.executeEdits("inlayHint.default",t),e()}}))}_installContextMenu(){return this._editor.onContextMenu((async e=>{if(!Bt(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(XN,this._editor,e.event.target,t)}))}_getInlayHintLabelPart(e){if(6!==e.target.type)return;const t=e.target.detail.injectedText?.options;return t instanceof eo.Ho&&t?.attachedData instanceof oI?t.attachedData:void 0}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:wd.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,n]of this._decorationsMetadata){if(t.has(n.item))continue;const s=e.getDecorationRange(i);if(s){const e=new xk(s,n.item.anchor.direction),i=n.item.with({anchor:e});t.set(n.item,i)}}return Array.from(t.values())}_getHintsRanges(){const e=this._editor.getModel(),t=this._editor.getVisibleRangesPlusViewportAboveBelow(),i=[];for(const n of t.sort(Xs.Q.compareRangesUsingStarts)){const t=e.validateRange(new Xs.Q(n.startLineNumber-30,n.startColumn,n.endLineNumber+30,n.endColumn));0!==i.length&&Xs.Q.areIntersectingOrTouching(i[i.length-1],t)?i[i.length-1]=Xs.Q.plusRange(i[i.length-1],t):i.push(t)}return i}_updateHintsDecorators(e,t){const i=[],n=(e,t,n,s,o)=>{const r={content:n,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:t.className,cursorStops:s,attachedData:o};i.push({item:e,classNameRef:t,decoration:{range:e.anchor.range,options:{description:"InlayHint",showIfCollapsed:e.anchor.range.isEmpty(),collapseOnReplaceEdit:!e.anchor.range.isEmpty(),stickiness:0,[e.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},s=(e,t)=>{const i=this._ruleFactory.createClassNameRef({width:(o/3|0)+"px",display:"inline-block"});n(e,i,"\u200a",t?Js.VW.Right:Js.VW.None)},{fontSize:o,fontFamily:r,padding:a,isUniform:l}=this._getLayoutInfo(),h="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(h,r);let d={line:0,totalLen:0};for(const g of t){if(d.line!==g.anchor.range.startLineNumber&&(d={line:g.anchor.range.startLineNumber,totalLen:0}),d.totalLen>eI._MAX_LABEL_LEN)continue;g.hint.paddingLeft&&s(g,!1);const e="string"==typeof g.hint.label?[{label:g.hint.label}]:g.hint.label;for(let t=0;t0&&(u=u.slice(0,-m)+"\u2026",p=!0),n(g,this._ruleFactory.createClassNameRef(c),lI(u),r&&!g.hint.paddingRight?Js.VW.Right:Js.VW.None,new oI(g,t)),p)break}if(g.hint.paddingRight&&s(g,!0),i.length>eI._MAX_DECORATORS)break}const c=[];for(const[g,p]of this._decorationsMetadata){const t=this._editor.getModel()?.getDecorationRange(g);t&&e.some((e=>e.containsRange(t)))&&(c.push(g),p.classNameRef.dispose(),this._decorationsMetadata.delete(g))}const u=dw.capture(this._editor);this._editor.changeDecorations((e=>{const t=e.deltaDecorations(c,i.map((e=>e.decoration)));for(let n=0;ni)&&(s=i);const o=e.fontFamily||n;return{fontSize:s,fontFamily:o,padding:t,isUniform:!t&&o===n&&s===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};function lI(e){return e.replace(/[ \t]/g,"\xa0")}aI=eI=tI([iI(1,La.ILanguageFeaturesService),iI(2,Mw.ILanguageFeatureDebounceService),iI(3,sI),iI(4,rs),iI(5,yd),iI(6,$n._Y)],aI),as.registerCommand("_executeInlayHintProvider",(async(e,...t)=>{const[i,n]=t;(0,os.j)(Bn.r.isUri(i)),(0,os.j)(Xs.Q.isIRange(n));const{inlayHintsProvider:s}=e.get(La.ILanguageFeaturesService),o=await e.get(Yn.ITextModelService).createModelReference(i);try{const e=await Nk.create(s,o.object.textEditorModel,[Xs.Q.lift(n)],na.XO.None),t=e.items.map((e=>e.hint));return setTimeout((()=>e.dispose()),0),t}finally{o.dispose()}}));var hI=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},dI=function(e,t){return function(i,n){t(i,n,e)}};class cI extends py{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let uI=class extends mk{constructor(e,t,i,n,s,o,r,a,l){super(e,t,i,o,a,n,s,l),this._resolverService=r,this.hoverOrdinal=6}suggestHoverAnchor(e){if(!aI.get(this._editor))return null;if(6!==e.target.type)return null;const t=e.target.detail.injectedText?.options;return t instanceof eo.Ho&&t.attachedData instanceof oI?new cI(t.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof cI?new A.AE((async t=>{const{part:n}=e;if(await n.item.resolve(i),i.isCancellationRequested)return;let s,o;if("string"==typeof n.item.hint.tooltip?s=(new Hn).appendText(n.item.hint.tooltip):n.item.hint.tooltip&&(s=n.item.hint.tooltip),s&&t.emitOne(new gk(this,e.range,[s],!1,0)),(0,ia.EI)(n.item.hint.textEdits)&&t.emitOne(new gk(this,e.range,[(new Hn).appendText((0,jn.kg)("hint.dbl","Double-click to insert"))],!1,10001)),"string"==typeof n.part.tooltip?o=(new Hn).appendText(n.part.tooltip):n.part.tooltip&&(o=n.part.tooltip),o&&t.emitOne(new gk(this,e.range,[o],!1,1)),n.part.location||n.part.command){let i;const s="altKey"===this._editor.getOption(78)?f.zx?(0,jn.kg)("links.navigate.kb.meta.mac","cmd + click"):(0,jn.kg)("links.navigate.kb.meta","ctrl + click"):f.zx?(0,jn.kg)("links.navigate.kb.alt.mac","option + click"):(0,jn.kg)("links.navigate.kb.alt","alt + click");n.part.location&&n.part.command?i=(new Hn).appendText((0,jn.kg)("hint.defAndCommand","Go to Definition ({0}), right click for more",s)):n.part.location?i=(new Hn).appendText((0,jn.kg)("hint.def","Go to Definition ({0})",s)):n.part.command&&(i=new Hn(`[${(0,jn.kg)("hint.cmd","Execute Command")}](${r=n.part.command,Bn.r.from({scheme:Pe.ny.command,path:r.id,query:r.arguments&&encodeURIComponent(JSON.stringify(r.arguments))}).toString()} "${n.part.command.title}") (${s})`,{isTrusted:!0})),i&&t.emitOne(new gk(this,e.range,[i],!1,1e4))}var r;const a=await this._resolveInlayHintLabelPartHover(n,i);for await(const e of a)t.emitOne(e)})):A.AE.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return A.AE.EMPTY;const{uri:i,range:n}=e.part.location,s=await this._resolverService.createModelReference(i);try{const i=s.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(i)?rk(this._languageFeaturesService.hoverProvider,i,new Gn.y(n.startLineNumber,n.startColumn),t).filter((e=>!Vn(e.hover.contents))).map((t=>new gk(this,e.item.anchor.range,t.hover.contents,!1,2+t.ordinal))):A.AE.EMPTY}finally{s.dispose()}}};uI=hI([dI(1,xh.L),dI(2,Th),dI(3,bd),dI(4,nk),dI(5,Fp.pG),dI(6,Yn.ITextModelService),dI(7,La.ILanguageFeaturesService),dI(8,rs)],uI);class gI extends Ae.jG{constructor(e,t,i,n,s,o){super();const r=t.anchor,a=t.hoverParts;this._renderedHoverParts=this._register(new mI(e,i,a,o,s));const{showAtPosition:l,showAtSecondaryPosition:h}=gI.computeHoverPositions(e,r.range,a);this.shouldAppearBeforeContent=a.some((e=>e.isBeforeContent)),this.showAtPosition=l,this.showAtSecondaryPosition=h,this.initialMousePosX=r.initialMousePosX,this.initialMousePosY=r.initialMousePosY,this.shouldFocus=n.shouldFocus,this.source=n.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let n=1;if(e.hasModel()){const i=e._getViewModel(),s=i.coordinatesConverter,o=s.convertModelRangeToViewRange(t),r=i.getLineMinColumn(o.startLineNumber),a=new Gn.y(o.startLineNumber,r);n=s.convertViewPositionToModelPosition(a).column}const s=t.startLineNumber;let o,r,a,l=t.startColumn;for(const h of i){const e=h.range,t=e.startLineNumber===s,i=e.endLineNumber===s;if(t&&i){const t=e.startColumn,i=Math.min(l,t);l=Math.max(i,n)}h.forceShowAtRange&&(o=e)}if(o){const e=o.getStartPosition();r=e,a=e}else r=t.getStartPosition(),a=new Gn.y(s,l);return{showAtPosition:r,showAtSecondaryPosition:a}}}class pI{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}class mI extends Ae.jG{static{this._DECORATION_OPTIONS=eo.kI.register({description:"content-hover-highlight",className:"hoverHighlight"})}constructor(e,t,i,n,s){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=s,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,s,n)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(0===t.length)return Ae.jG.None;let i=t[0].range;for(const s of t){const e=s.range;i=Xs.Q.plusRange(i,e)}const n=e.createDecorationsCollection();return n.set([{range:i,options:mI._DECORATION_OPTIONS}]),(0,Ae.s)((()=>{n.clear()}))}_renderParts(e,t,i,n){const s=new ek(n),o={fragment:this._fragment,statusBar:s,...i},r=new Ae.Cm;for(const l of e){const e=this._renderHoverPartsForParticipant(t,l,o);r.add(e);for(const t of e.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:l,hoverPart:t.hoverPart,hoverElement:t.hoverElement})}const a=this._renderStatusBar(this._fragment,s);return a&&(r.add(a),this._renderedParts.push({type:"statusBar",hoverElement:a.hoverElement,actions:a.actions})),(0,Ae.s)((()=>{r.dispose()}))}_renderHoverPartsForParticipant(e,t,i){const n=e.filter((e=>e.owner===t));return n.length>0?t.renderHoverParts(i,n):new my([])}_renderStatusBar(e,t){if(t.hasContent)return new pI(e,t)}_registerListenersOnRenderedParts(){const e=new Ae.Cm;return this._renderedParts.forEach(((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Ye(n,Ut.FOCUS_IN,(e=>{e.stopPropagation(),this._focusedHoverPartIndex=i}))),e.add(Ye(n,Ut.FOCUS_OUT,(e=>{e.stopPropagation(),this._focusedHoverPartIndex=-1})))})),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find((e=>e instanceof mk&&!(e instanceof uI)));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find((e=>e instanceof Cy))}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;const n=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(void 0===n)return;const s=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,n,i);s&&(this._renderedParts[t]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:s.hoverPart,hoverElement:s.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){const i=this._renderedParts[t];if(!i||"hoverPart"!==i.type)return;if(!(i.participant===e))return;const n=this._renderedParts.findIndex((t=>"hoverPart"===t.type&&t.participant===e));if(-1===n)throw new b.D7;return t-n}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}}var fI=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},_I=function(e,t){return function(i,n){t(i,n,e)}};let vI=class extends Ae.jG{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new P.vl),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance($S,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new GS(this._editor,this._participants),this._hoverOperation=this._register(new LS(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of fy.getAll()){const i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort(((e,t)=>e.hoverOrdinal-t.hoverOrdinal)),this._register(this._contentHoverWidget.onDidResize((()=>{this._participants.forEach((e=>e.handleResize?.()))}))),e}_registerListeners(){this._register(this._hoverOperation.onResult((e=>{if(!this._computer.anchor)return;const t=e.hasLoadingMessage?this._addLoadingMessage(e.value):e.value;this._withResult(new QS(this._computer.anchor,t,e.isComplete))})));const e=this._contentHoverWidget.getDomNode();this._register(Xe(e,"keydown",(e=>{e.equals(9)&&this.hide()}))),this._register(Xe(e,"mouseleave",(e=>{this._onMouseLeave(e)}))),this._register(ka.dG.onDidChange((()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})))}_startShowingOrUpdateHover(e,t,i,n,s){if(!(this._contentHoverWidget.position&&this._currentResult))return!!e&&(this._startHoverOperationIfNecessary(e,t,i,n,!1),!0);const o=this._editor.getOption(60).sticky,r=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);if(o&&r)return e&&this._startHoverOperationIfNecessary(e,t,i,n,!0),!0;if(!e)return this._setCurrentResult(null),!1;if(this._currentResult.anchor.equals(e))return!0;return e.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0)}_startHoverOperationIfNecessary(e,t,i,n,s){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=n,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=s,this._hoverOperation.start(t))}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&0===t.hoverParts.length&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){if(!this._computer.anchor)return e;for(const t of this._participants){if(!t.createLoadingMessage)continue;const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e){this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e);if(!e.isComplete)return;const t=0===e.hoverParts.length,i=this._computer.insistOnKeepingHoverVisible;t&&i||this._setCurrentResult(e)}_showHover(e){const t=this._getHoverContext();this._renderedContentHover=new gI(this._editor,e,this._participants,this._computer,t,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:e=>{this._contentHoverWidget.setMinimumDimensions(e)}}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;const t=this._findHoverAnchorCandidates(e);if(!(t.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);const i=t[0];return this._startShowingOrUpdateHover(i,0,0,!1,e)}_findHoverAnchorCandidates(e){const t=[];for(const n of this._participants){if(!n.suggestHoverAnchor)continue;const i=n.suggestHoverAnchor(e);i&&t.push(i)}const i=e.target;switch(i.type){case 6:t.push(new gy(0,i.range,e.event.posx,e.event.posy));break;case 7:{const n=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&"number"==typeof i.detail.horizontalDistanceToText&&i.detail.horizontalDistanceToTextt.priority-e.priority)),t}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!SS(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new gy(0,e,void 0,void 0),t,i,n,null)}async updateHoverVerbosityLevel(e,t,i){this._renderedContentHover?.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){return this._renderedContentHover?.focusedHoverPartIndex??-1}containsNode(e){return!!e&&this._contentHoverWidget.getDomNode().contains(e)}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){return this._renderedContentHover?.isColorPickerVisible()??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};vI=fI([_I(1,$n._Y),_I(2,bd)],vI);var bI,CI=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},wI=function(e,t){return function(i,n){t(i,n,e)}};let yI=class extends Ae.jG{static{bI=this}static{this.ID="editor.contrib.contentHover"}constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new P.vl),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Ae.Cm,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new A.uC((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())})))}static get(e){return e.getContribution(bI.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown((e=>this._onEditorMouseDown(e)))),this._listenersStore.add(this._editor.onMouseUp((()=>this._onEditorMouseUp()))),this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))):(this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))),this._listenersStore.add(this._editor.onMouseLeave((e=>this._onEditorMouseLeave(e)))),this._listenersStore.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._listenersStore.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._listenersStore.add(this._editor.onDidScrollChange((e=>this._onEditorScrollChanged(e))))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0;this._shouldNotHideCurrentHoverWidget(e)||this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(e){const t=this._contentWidget?.getDomNode();return!!t&&SS(t,e.event.posx,e.event.posy)}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;this._cancelScheduler();this._shouldNotHideCurrentHoverWidget(e)||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky;return((e,t)=>{const i=this._isMouseOnContentHoverWidget(e);return t&&i})(e,t)||(e=>{const t=this._isMouseOnContentHoverWidget(e),i=this._contentWidget?.isColorPickerVisible??!1;return t&&i})(e)||((e,t)=>(t&&this._contentWidget?.containsNode(e.event.browserEvent.view?.document.activeElement)&&!e.event.browserEvent.view?.getSelection()?.isCollapsed)??!1)(e,t)}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=e,this._contentWidget?.isFocused||this._contentWidget?.isResizing)return;const t=this._hoverSettings.sticky;if(t&&this._contentWidget?.isVisibleFromKeyboard)return;if(this._shouldNotRecomputeCurrentHoverWidget(e))return void this._reactToEditorMouseMoveRunner.cancel();const i=this._hoverSettings.hidingDelay,n=this._contentWidget?.isVisible;n&&t&&i>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(i):this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){if(!e)return;const t=e.target,i=t.element?.classList.contains("colorpicker-color-decoration"),n=this._editor.getOption(149),s=this._hoverSettings.enabled,o=this._hoverState.activatedByDecoratorClick;if(i&&("click"===n&&!o||"hover"===n&&!s||"clickAndHover"===n&&!s&&!o)||!i&&!s&&!o)return void this._hideWidgets();this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateContentWidget().showsOrWillShow(e)}_onKeyDown(e){if(!this._editor.hasModel())return;const t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=1===t.kind||2===t.kind&&(t.commandId===Dy||t.commandId===Ny||t.commandId===Ey)&&this._contentWidget?.isVisible;5===e.keyCode||6===e.keyCode||57===e.keyCode||4===e.keyCode||i||this._hideWidgets()}_hideWidgets(){this._hoverState.mouseDown&&this._contentWidget?.isColorPickerVisible||bS.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._contentWidget?.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(vI,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged((()=>this._onHoverContentsChanged.fire())))),this._contentWidget}showContentHover(e,t,i,n,s=!1){this._hoverState.activatedByDecoratorClick=s,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,n)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){this._contentWidget?.focus()}scrollUp(){this._contentWidget?.scrollUp()}scrollDown(){this._contentWidget?.scrollDown()}scrollLeft(){this._contentWidget?.scrollLeft()}scrollRight(){this._contentWidget?.scrollRight()}pageUp(){this._contentWidget?.pageUp()}pageDown(){this._contentWidget?.pageDown()}goToTop(){this._contentWidget?.goToTop()}goToBottom(){this._contentWidget?.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._contentWidget?.dispose()}};yI=bI=CI([wI(1,$n._Y),wI(2,bd)],yI);class SI extends Ae.jG{static{this.ID="editor.contrib.colorContribution"}constructor(e){super(),this._editor=e,this._register(e.onMouseDown((e=>this.onMouseDown(e))))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(149);if("click"!==t&&"clickAndHover"!==t)return;const i=e.target;if(6!==i.type)return;if(!i.detail.injectedText)return;if(i.detail.injectedText.options.attachedData!==Jw)return;if(!i.range)return;const n=this._editor.getContribution(yI.ID);if(n&&!n.isColorPickerVisible){const e=new Xs.Q(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(e,1,0,!1,!0)}}}Bs(SI.ID,SI,2),fy.register(Cy);var kI,LI,xI=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},DI=function(e,t){return function(i,n){t(i,n,e)}};let NI=class extends Ae.jG{static{kI=this}static{this.ID="editor.contrib.standaloneColorPickerController"}constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=js.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=js.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(II,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerWidget?.hide(),this._editor.focus()}insertColor(){this._standaloneColorPickerWidget?.updateEditor(),this.hide()}static get(e){return e.getContribution(kI.ID)}};NI=kI=xI([DI(1,ls.fN),DI(2,$n._Y)],NI),Bs(NI.ID,NI,1);let II=class extends Ae.jG{static{LI=this}static{this.ID="editor.contrib.standaloneColorPickerWidget"}constructor(e,t,i,n,s,o,r){super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=s,this._languageFeaturesService=o,this._editorWorkerService=r,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new P.vl),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(yy,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;const a=this._editor.getSelection(),l=a?{startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},h=this._register(qt(this._body));this._register(h.onDidBlur((e=>{this.hide()}))),this._register(h.onDidFocus((e=>{this.focus()}))),this._register(this._editor.onDidChangeCursorPosition((()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()}))),this._register(this._editor.onMouseMove((e=>{const t=e.target.element?.classList;t&&t.contains("colorpicker-color-decoration")&&this.hide()}))),this._register(this.onResult((e=>{this._render(e.value,e.foundInEditor)}))),this._start(l),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return LI.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new EI(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new Vw(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),n={fragment:i,statusBar:this._register(new ek(this._keybindingService)),onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=e;const s=this._standaloneColorPickerParticipant.renderHoverParts(n,[e]);if(!s)return;this._register(s.disposables);const o=s.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),o.layout();const r=o.body,a=r.saturationBox.domNode.clientWidth,l=r.domNode.clientWidth-a-22-8,h=o.body.enterButton;h?.onClicked((()=>{this.updateEditor(),this.hide()}));const d=o.header;d.pickedColorNode.style.width=a+8+"px";d.originalColorNode.style.width=l+"px";const c=o.header.closeButton;c?.onClicked((()=>{this.hide()})),t&&(h&&(h.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};II=LI=xI([DI(3,$n._Y),DI(4,bd),DI(5,La.ILanguageFeaturesService),DI(6,Ww.IEditorWorkerService)],II);class EI{constructor(e,t){this.value=e,this.foundInEditor=t}}Fs(class extends Ts{constructor(){super({id:"editor.action.hideColorPicker",label:(0,jn.kg)({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:js.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:(0,jn.aS)("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){NI.get(t)?.hide()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:(0,jn.kg)({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:js.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:(0,jn.aS)("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){NI.get(t)?.insertColor()}}),ks(class extends As{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...(0,jn.aS)("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:(0,jn.kg)({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:_s.CommandPalette}],metadata:{description:(0,jn.aS)("showOrFocusStandaloneColorPickerDescription","Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){NI.get(t)?.showOrFocus()}});class MI{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length;if(i+n>e.length)return!1;for(let s=0;s=65&&n<=90&&n+32===o||o>=65&&o<=90&&o+32===n))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,o){const r=e.startLineNumber,a=e.startColumn,l=e.endLineNumber,h=e.endColumn,d=s.getLineContent(r),c=s.getLineContent(l);let u,g=d.lastIndexOf(t,a-1+t.length),p=c.indexOf(i,h-1-i.length);if(-1!==g&&-1!==p)if(r===l){d.substring(g+t.length,p).indexOf(i)>=0&&(g=-1,p=-1)}else{const e=d.substring(g+t.length),n=c.substring(0,p);(e.indexOf(i)>=0||n.indexOf(i)>=0)&&(g=-1,p=-1)}-1!==g&&-1!==p?(n&&g+t.length0&&32===c.charCodeAt(p-1)&&(i=" "+i,p-=1),u=MI._createRemoveBlockCommentOperations(new Xs.Q(r,g+t.length+1,l,p+1),t,i)):(u=MI._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=1===u.length?i:null);for(const m of u)o.addTrackedEditOperation(m.range,m.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return Xs.Q.isEmpty(e)?n.push(bk.delete(new Xs.Q(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(bk.delete(new Xs.Q(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(bk.delete(new Xs.Q(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return Xs.Q.isEmpty(e)?s.push(bk.replace(new Xs.Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(bk.insert(new Gn.y(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(bk.insert(new Gn.y(e.endLineNumber,e.endColumn),(n?" ":"")+i))),s}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const s=e.getLanguageIdAtPosition(i,n),o=this.languageConfigurationService.getLanguageConfiguration(s).comments;o&&o.blockCommentStartToken&&o.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,o.blockCommentStartToken,o.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(2===i.length){const e=i[0],t=i[1];return new $s.L(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{const e=i[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new $s.L(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}}class TI{constructor(e,t,i,n,s,o,r){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=n,this._insertSpace=s,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=o,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const s=e.getLanguageIdAtPosition(t,1),o=n.getLanguageConfiguration(s).comments,r=o?o.lineCommentToken:null;if(!r)return null;const a=[];for(let l=0,h=i-t+1;lr?s-1:s}}}class RI extends Ts{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Fo.JZ);if(!t.hasModel())return;const n=[],s=t.getModel().getOptions(),o=t.getOption(23),r=t.getSelections().map(((e,t)=>({selection:e,index:t,ignoreFirstLine:!1})));r.sort(((e,t)=>Xs.Q.compareRangesUsingStarts(e.selection,t.selection)));let a=r[0];for(let l=1;l=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},OI=function(e,t){return function(i,n){t(i,n,e)}};let FI=class{static{AI=this}static{this.ID="editor.contrib.contextmenu"}static get(e){return e.getContribution(AI.ID)}constructor(e,t,i,n,s,o,r,a){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=o,this._configurationService=r,this._workspaceContextService=a,this._toDispose=new Ae.Cm,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu((e=>this._onContextMenu(e)))),this._toDispose.add(this._editor.onMouseWheel((e=>{if(this._contextMenuIsBeingShownCount>0){const t=this._contextViewService.getContextViewElement(),i=e.srcElement;i.shadowRoot&&wt(t)===i.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((e=>{this._editor.getOption(24)&&58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),this.showContextMenu())})))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));if(12===e.target.type)return;if(6===e.target.type&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),11===e.target.type)return this._showScrollbarContextMenu(e.event);if(6!==e.target.type&&7!==e.target.type&&1!==e.target.type)return;if(this._editor.focus(),e.target.position){let t=!1;for(const i of this._editor.getSelections())if(i.containsPosition(e.target.position)){t=!0;break}t||this._editor.setPosition(e.target.position)}let t=null;1!==e.target.type&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const s of n){const[,t]=s;let n=0;for(const s of t)if(s instanceof ws){const t=this._getMenuActions(e,s.item.submenu);t.length>0&&(i.push(new es(s.id,s.label,t)),n++)}else i.push(s),n++;n&&i.push(new Jn)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let n=t;if(!n){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),t=ct(this._editor.getDomNode()),i=t.left+e.left,s=t.top+e.top+e.height;n={x:i,y:s}}const s=this._editor.getOption(128)&&!f.un;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>n,getActions:()=>e,getActionViewItem:e=>{const t=this._keybindingFor(e);if(t)return new Zg(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});const i=e;return"function"==typeof i.getActionViewItem?i.getActionViewItem():new Zg(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel())return;if(this._workspaceContextService.getWorkspace().id===Ha)return;const t=this._editor.getOption(73);let i=0;const n=e=>({id:"menu-action-"+ ++i,label:e.label,tooltip:"",class:void 0,enabled:void 0===e.enabled||e.enabled,checked:e.checked,run:e.run}),s=(e,t,s,o,r)=>{if(!t)return n({label:e,enabled:t,run:()=>{}});const a=e=>()=>{this._configurationService.updateValue(s,e)},l=[];for(const i of r)l.push(n({label:i.label,checked:o===i.value,run:a(i.value)}));return((e,t)=>new es("menu-action-"+ ++i,e,t,void 0))(e,l)},o=[];o.push(n({label:jn.kg("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),o.push(new Jn),o.push(n({label:jn.kg("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),o.push(s(jn.kg("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:jn.kg("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:jn.kg("context.minimap.size.fill","Fill"),value:"fill"},{label:jn.kg("context.minimap.size.fit","Fit"),value:"fit"}])),o.push(s(jn.kg("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:jn.kg("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:jn.kg("context.minimap.slider.always","Always"),value:"always"}]));const r=this._editor.getOption(128)&&!f.un;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>o,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};FI=AI=PI([OI(1,vd),OI(2,_d),OI(3,ls.fN),OI(4,bd),OI(5,vs),OI(6,Fp.pG),OI(7,Ra)],FI);Bs(FI.ID,FI,2),Fs(class extends Ts{constructor(){super({id:"editor.action.showContextMenu",label:jn.kg("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:js.textInputFocus,primary:1092,weight:100}})}run(e,t){FI.get(t)?.showContextMenu()}});class WI{constructor(e){this.selections=e}equals(e){const t=this.selections.length;if(t!==e.selections.length)return!1;for(let i=0;i{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeModelContent((e=>{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeCursorSelection((t=>{if(this._isCursorUndoRedo)return;if(!t.oldSelections)return;if(t.oldModelVersionId!==t.modelVersionId)return;const i=new WI(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new BI(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new BI(new WI(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new BI(new WI(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}}Bs(HI.ID,HI,0),Fs(class extends Ts{constructor(){super({id:"cursorUndo",label:jn.kg("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:js.textInputFocus,primary:2099,weight:100}})}run(e,t,i){HI.get(t)?.cursorUndo()}}),Fs(class extends Ts{constructor(){super({id:"cursorRedo",label:jn.kg("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){HI.get(t)?.cursorRedo()}});var VI=i(58357);function zI(e,t){const i=new Ae.Cm,n=e.createDecorationsCollection();return i.add((0,mg.zL)({debugName:()=>`Apply decorations from ${t.debugName}`},(e=>{const i=t.read(e);n.set(i)}))),i.add({dispose:()=>{n.clear()}}),i}function UI(e,t){return e.appendChild(t),(0,Ae.s)((()=>{t.remove()}))}class KI extends Ae.jG{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(e,t){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new sm(e,t)),this._width=(0,mg.FY)(this,this.elementSizeObserver.getWidth()),this._height=(0,mg.FY)(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange((e=>(0,mg.Rn)((e=>{this._width.set(this.elementSizeObserver.getWidth(),e),this._height.set(this.elementSizeObserver.getHeight(),e)})))))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){this._automaticLayout=e,e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function jI(e,t,i){let n=t.get(),s=n,o=n;const r=(0,mg.FY)("animatedValue",n);let a=-1;let l;function h(){const t=Date.now()-a;var i,d,c,u;o=Math.floor((d=s,c=n-s,(i=t)===(u=300)?d+c:c*(1-Math.pow(2,-10*i/u))+d)),t<300?l=e.requestAnimationFrame(h):o=n,r.set(o,void 0)}return i.add((0,mg.Y)({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(e,i)=>(e.didChange(t)&&(i.animate=i.animate||e.change),!0)},((i,r)=>{void 0!==l&&(e.cancelAnimationFrame(l),l=void 0),s=o,n=t.read(i),a=Date.now()-(r.animate?0:300),h()}))),r}class $I extends Ae.jG{constructor(e,t,i){super(),this._register(new GI(e,i)),this._register(QI(i,{height:t.actualHeight,top:t.actualTop}))}}class qI{get afterLineNumber(){return this._afterLineNumber.get()}constructor(e,t){this._afterLineNumber=e,this.heightInPx=t,this.domNode=document.createElement("div"),this._actualTop=(0,mg.FY)(this,void 0),this._actualHeight=(0,mg.FY)(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=e=>{this._actualTop.set(e,void 0)},this.onComputedHeight=e=>{this._actualHeight.set(e,void 0)}}}class GI{static{this._counter=0}constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId="managedOverlayWidget-"+GI._counter++,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function QI(e,t){return(0,mg.fm)((i=>{for(let[n,s]of Object.entries(t))s&&"object"==typeof s&&"read"in s&&(s=s.read(i)),"number"==typeof s&&(s=`${s}px`),n=n.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase())),e.style[n]=s}))}function YI(e,t,i,n){const s=new Ae.Cm,o=[];return s.add((0,mg.yC)(((s,r)=>{const a=t.read(s),l=new Map,h=new Map;i&&i(!0),e.changeViewZones((e=>{for(const t of o)e.removeZone(t),n?.delete(t);o.length=0;for(const t of a){const i=e.addZone(t);t.setZoneId&&t.setZoneId(i),o.push(i),n?.add(i),l.set(t,i)}})),i&&i(!1),r.add((0,mg.Y)({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(e,t){const i=h.get(e.changedObservable);return void 0!==i&&t.zoneIds.push(i),!0}},((t,n)=>{for(const e of a)e.onChange&&(h.set(e.onChange,l.get(e)),e.onChange.read(t));i&&i(!0),e.changeViewZones((e=>{for(const t of n.zoneIds)e.layoutZone(t)})),i&&i(!1)})))}))),s.add({dispose(){i&&i(!0),e.changeViewZones((e=>{for(const t of o)e.removeZone(t)})),n?.clear(),i&&i(!1)}}),s}class ZI extends na.Qi{dispose(){super.dispose(!0)}}function XI(e,t){const i=(0,kb.Uk)(t,(t=>t.original.startLineNumber<=e.lineNumber));if(!i)return Xs.Q.fromPositions(e);if(i.original.endLineNumberExclusive<=e.lineNumber){const t=e.lineNumber-i.original.endLineNumberExclusive+i.modified.endLineNumberExclusive;return Xs.Q.fromPositions(new Gn.y(t,e.column))}if(!i.innerChanges)return Xs.Q.fromPositions(new Gn.y(i.modified.startLineNumber,1));const n=(0,kb.Uk)(i.innerChanges,(t=>t.originalRange.getStartPosition().isBeforeOrEqual(e)));if(!n){const t=e.lineNumber-i.original.startLineNumber+i.modified.startLineNumber;return Xs.Q.fromPositions(new Gn.y(t,e.column))}if(n.originalRange.containsPosition(e))return n.modifiedRange;{const t=(s=n.originalRange.getEndPosition(),o=e,s.lineNumber===o.lineNumber?new VI.W(0,o.column-s.column):new VI.W(o.lineNumber-s.lineNumber,o.column-1));return Xs.Q.fromPositions(t.addToPosition(n.modifiedRange.getEndPosition()))}var s,o}class JI{static create(e,t=void 0){return new eE(e,e,t)}static createWithDisposable(e,t,i=void 0){const n=new Ae.Cm;return n.add(t),n.add(e),new eE(e,n,i)}}class eE extends JI{constructor(e,t,i){super(),this.object=e,this._disposable=t,this._debugOwner=i,this._refCount=1,this._isDisposed=!1,this._owners=[],i&&this._addOwner(i)}_addOwner(e){e&&this._owners.push(e)}createNewRef(e){return this._refCount++,e&&this._addOwner(e),new tE(this,e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(e){if(this._refCount--,0===this._refCount&&this._disposable.dispose(),e){const t=this._owners.indexOf(e);-1!==t&&this._owners.splice(t,1)}}}class tE extends JI{constructor(e,t){super(),this._base=e,this._debugOwner=t,this._isDisposed=!1}get object(){return this._base.object}createNewRef(e){return this._base.createNewRef(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}var iE=i(79955),nE=i(72532),sE=i(39331);const oE=(0,$n.u1)("accessibilitySignalService");Symbol("AcknowledgeDocCommentsToken");class rE{static register(e){return new rE(e.fileName)}static{this.error=rE.register({fileName:"error.mp3"})}static{this.warning=rE.register({fileName:"warning.mp3"})}static{this.success=rE.register({fileName:"success.mp3"})}static{this.foldedArea=rE.register({fileName:"foldedAreas.mp3"})}static{this.break=rE.register({fileName:"break.mp3"})}static{this.quickFixes=rE.register({fileName:"quickFixes.mp3"})}static{this.taskCompleted=rE.register({fileName:"taskCompleted.mp3"})}static{this.taskFailed=rE.register({fileName:"taskFailed.mp3"})}static{this.terminalBell=rE.register({fileName:"terminalBell.mp3"})}static{this.diffLineInserted=rE.register({fileName:"diffLineInserted.mp3"})}static{this.diffLineDeleted=rE.register({fileName:"diffLineDeleted.mp3"})}static{this.diffLineModified=rE.register({fileName:"diffLineModified.mp3"})}static{this.chatRequestSent=rE.register({fileName:"chatRequestSent.mp3"})}static{this.chatResponseReceived1=rE.register({fileName:"chatResponseReceived1.mp3"})}static{this.chatResponseReceived2=rE.register({fileName:"chatResponseReceived2.mp3"})}static{this.chatResponseReceived3=rE.register({fileName:"chatResponseReceived3.mp3"})}static{this.chatResponseReceived4=rE.register({fileName:"chatResponseReceived4.mp3"})}static{this.clear=rE.register({fileName:"clear.mp3"})}static{this.save=rE.register({fileName:"save.mp3"})}static{this.format=rE.register({fileName:"format.mp3"})}static{this.voiceRecordingStarted=rE.register({fileName:"voiceRecordingStarted.mp3"})}static{this.voiceRecordingStopped=rE.register({fileName:"voiceRecordingStopped.mp3"})}static{this.progress=rE.register({fileName:"progress.mp3"})}constructor(e){this.fileName=e}}class aE{constructor(e){this.randomOneOf=e}}class lE{constructor(e,t,i,n,s,o){this.sound=e,this.name=t,this.legacySoundSettingsKey=i,this.settingsKey=n,this.legacyAnnouncementSettingsKey=s,this.announcementMessage=o}static{this._signals=new Set}static register(e){const t=new aE("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),i=new lE(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return lE._signals.add(i),i}static{this.errorAtPosition=lE.register({name:(0,jn.kg)("accessibilitySignals.positionHasError.name","Error at Position"),sound:rE.error,announcementMessage:(0,jn.kg)("accessibility.signals.positionHasError","Error"),settingsKey:"accessibility.signals.positionHasError",delaySettingsKey:"accessibility.signalOptions.delays.errorAtPosition"})}static{this.warningAtPosition=lE.register({name:(0,jn.kg)("accessibilitySignals.positionHasWarning.name","Warning at Position"),sound:rE.warning,announcementMessage:(0,jn.kg)("accessibility.signals.positionHasWarning","Warning"),settingsKey:"accessibility.signals.positionHasWarning",delaySettingsKey:"accessibility.signalOptions.delays.warningAtPosition"})}static{this.errorOnLine=lE.register({name:(0,jn.kg)("accessibilitySignals.lineHasError.name","Error on Line"),sound:rE.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:(0,jn.kg)("accessibility.signals.lineHasError","Error on Line"),settingsKey:"accessibility.signals.lineHasError"})}static{this.warningOnLine=lE.register({name:(0,jn.kg)("accessibilitySignals.lineHasWarning.name","Warning on Line"),sound:rE.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:(0,jn.kg)("accessibility.signals.lineHasWarning","Warning on Line"),settingsKey:"accessibility.signals.lineHasWarning"})}static{this.foldedArea=lE.register({name:(0,jn.kg)("accessibilitySignals.lineHasFoldedArea.name","Folded Area on Line"),sound:rE.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:(0,jn.kg)("accessibility.signals.lineHasFoldedArea","Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"})}static{this.break=lE.register({name:(0,jn.kg)("accessibilitySignals.lineHasBreakpoint.name","Breakpoint on Line"),sound:rE.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:(0,jn.kg)("accessibility.signals.lineHasBreakpoint","Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"})}static{this.inlineSuggestion=lE.register({name:(0,jn.kg)("accessibilitySignals.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:rE.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"})}static{this.terminalQuickFix=lE.register({name:(0,jn.kg)("accessibilitySignals.terminalQuickFix.name","Terminal Quick Fix"),sound:rE.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:(0,jn.kg)("accessibility.signals.terminalQuickFix","Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"})}static{this.onDebugBreak=lE.register({name:(0,jn.kg)("accessibilitySignals.onDebugBreak.name","Debugger Stopped on Breakpoint"),sound:rE.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:(0,jn.kg)("accessibility.signals.onDebugBreak","Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"})}static{this.noInlayHints=lE.register({name:(0,jn.kg)("accessibilitySignals.noInlayHints","No Inlay Hints on Line"),sound:rE.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:(0,jn.kg)("accessibility.signals.noInlayHints","No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"})}static{this.taskCompleted=lE.register({name:(0,jn.kg)("accessibilitySignals.taskCompleted","Task Completed"),sound:rE.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:(0,jn.kg)("accessibility.signals.taskCompleted","Task Completed"),settingsKey:"accessibility.signals.taskCompleted"})}static{this.taskFailed=lE.register({name:(0,jn.kg)("accessibilitySignals.taskFailed","Task Failed"),sound:rE.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:(0,jn.kg)("accessibility.signals.taskFailed","Task Failed"),settingsKey:"accessibility.signals.taskFailed"})}static{this.terminalCommandFailed=lE.register({name:(0,jn.kg)("accessibilitySignals.terminalCommandFailed","Terminal Command Failed"),sound:rE.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:(0,jn.kg)("accessibility.signals.terminalCommandFailed","Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"})}static{this.terminalCommandSucceeded=lE.register({name:(0,jn.kg)("accessibilitySignals.terminalCommandSucceeded","Terminal Command Succeeded"),sound:rE.success,announcementMessage:(0,jn.kg)("accessibility.signals.terminalCommandSucceeded","Command Succeeded"),settingsKey:"accessibility.signals.terminalCommandSucceeded"})}static{this.terminalBell=lE.register({name:(0,jn.kg)("accessibilitySignals.terminalBell","Terminal Bell"),sound:rE.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:(0,jn.kg)("accessibility.signals.terminalBell","Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"})}static{this.notebookCellCompleted=lE.register({name:(0,jn.kg)("accessibilitySignals.notebookCellCompleted","Notebook Cell Completed"),sound:rE.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:(0,jn.kg)("accessibility.signals.notebookCellCompleted","Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"})}static{this.notebookCellFailed=lE.register({name:(0,jn.kg)("accessibilitySignals.notebookCellFailed","Notebook Cell Failed"),sound:rE.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:(0,jn.kg)("accessibility.signals.notebookCellFailed","Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"})}static{this.diffLineInserted=lE.register({name:(0,jn.kg)("accessibilitySignals.diffLineInserted","Diff Line Inserted"),sound:rE.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"})}static{this.diffLineDeleted=lE.register({name:(0,jn.kg)("accessibilitySignals.diffLineDeleted","Diff Line Deleted"),sound:rE.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"})}static{this.diffLineModified=lE.register({name:(0,jn.kg)("accessibilitySignals.diffLineModified","Diff Line Modified"),sound:rE.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"})}static{this.chatRequestSent=lE.register({name:(0,jn.kg)("accessibilitySignals.chatRequestSent","Chat Request Sent"),sound:rE.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:(0,jn.kg)("accessibility.signals.chatRequestSent","Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"})}static{this.chatResponseReceived=lE.register({name:(0,jn.kg)("accessibilitySignals.chatResponseReceived","Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[rE.chatResponseReceived1,rE.chatResponseReceived2,rE.chatResponseReceived3,rE.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"})}static{this.progress=lE.register({name:(0,jn.kg)("accessibilitySignals.progress","Progress"),sound:rE.progress,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.progress",announcementMessage:(0,jn.kg)("accessibility.signals.progress","Progress"),settingsKey:"accessibility.signals.progress"})}static{this.clear=lE.register({name:(0,jn.kg)("accessibilitySignals.clear","Clear"),sound:rE.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:(0,jn.kg)("accessibility.signals.clear","Clear"),settingsKey:"accessibility.signals.clear"})}static{this.save=lE.register({name:(0,jn.kg)("accessibilitySignals.save","Save"),sound:rE.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:(0,jn.kg)("accessibility.signals.save","Save"),settingsKey:"accessibility.signals.save"})}static{this.format=lE.register({name:(0,jn.kg)("accessibilitySignals.format","Format"),sound:rE.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:(0,jn.kg)("accessibility.signals.format","Format"),settingsKey:"accessibility.signals.format"})}static{this.voiceRecordingStarted=lE.register({name:(0,jn.kg)("accessibilitySignals.voiceRecordingStarted","Voice Recording Started"),sound:rE.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"})}static{this.voiceRecordingStopped=lE.register({name:(0,jn.kg)("accessibilitySignals.voiceRecordingStopped","Voice Recording Stopped"),sound:rE.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"})}}var hE=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},dE=function(e,t){return function(i,n){t(i,n,e)}};const cE=mu("diff-review-insert",vl.W.add,(0,jn.kg)("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),uE=mu("diff-review-remove",vl.W.remove,(0,jn.kg)("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),gE=mu("diff-review-close",vl.W.close,(0,jn.kg)("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer."));let pE=class extends Ae.jG{static{this._ttPolicy=wh("diffReview",{createHTML:e=>e})}constructor(e,t,i,n,s,o,r,a,l){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=n,this._width=s,this._height=o,this._diffs=r,this._models=a,this._instantiationService=l,this._state=(0,mg.rm)(this,((e,t)=>{const i=this._visible.read(e);if(this._parentNode.style.visibility=i?"visible":"hidden",!i)return null;const n=t.add(this._instantiationService.createInstance(mE,this._diffs,this._models,this._setVisible,this._canClose));return{model:n,view:t.add(this._instantiationService.createInstance(SE,this._parentNode,n,this._width,this._height,this._models))}})).recomputeInitiallyAndOnChange(this._store)}next(){(0,mg.Rn)((e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)}))}prev(){(0,mg.Rn)((e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)}))}close(){(0,mg.Rn)((e=>{this._setVisible(!1,e)}))}};pE=hE([dE(8,$n._Y)],pE);let mE=class extends Ae.jG{constructor(e,t,i,n,s){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=n,this._accessibilitySignalService=s,this._groups=(0,mg.FY)(this,[]),this._currentGroupIdx=(0,mg.FY)(this,0),this._currentElementIdx=(0,mg.FY)(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map(((e,t)=>this._groups.read(t)[e])),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map(((e,t)=>this.currentGroup.read(t)?.lines[e])),this._register((0,mg.fm)((e=>{const t=this._diffs.read(e);if(!t)return void this._groups.set([],void 0);const i=function(e,t,i){const n=[];for(const s of(0,ia.n)(e,((e,t)=>t.modified.startLineNumber-e.modified.endLineNumberExclusive<2*fE))){const e=[];e.push(new bE);const o=new iE.M(Math.max(1,s[0].original.startLineNumber-fE),Math.min(s[s.length-1].original.endLineNumberExclusive+fE,t+1)),r=new iE.M(Math.max(1,s[0].modified.startLineNumber-fE),Math.min(s[s.length-1].modified.endLineNumberExclusive+fE,i+1));(0,ia.pN)(s,((t,i)=>{const n=new iE.M(t?t.original.endLineNumberExclusive:o.startLineNumber,i?i.original.startLineNumber:o.endLineNumberExclusive),s=new iE.M(t?t.modified.endLineNumberExclusive:r.startLineNumber,i?i.modified.startLineNumber:r.endLineNumberExclusive);n.forEach((t=>{e.push(new yE(t,s.startLineNumber+(t-n.startLineNumber)))})),i&&(i.original.forEach((t=>{e.push(new CE(i,t))})),i.modified.forEach((t=>{e.push(new wE(i,t))})))}));const a=s[0].modified.join(s[s.length-1].modified),l=s[0].original.join(s[s.length-1].original);n.push(new vE(new sE.WL(a,l),e))}return n}(t,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());(0,mg.Rn)((e=>{const t=this._models.getModifiedPosition();if(t){const n=i.findIndex((e=>t?.lineNumber{const t=this.currentElement.read(e);t?.type===_E.Deleted?this._accessibilitySignalService.playSignal(lE.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):t?.type===_E.Added&&this._accessibilitySignalService.playSignal(lE.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})}))),this._register((0,mg.fm)((e=>{const t=this.currentElement.read(e);if(t&&t.type!==_E.Header){const e=t.modifiedLineNumber??t.diff.modified.startLineNumber;this._models.modifiedSetSelection(Xs.Q.fromPositions(new Gn.y(e,1)))}})))}_goToGroupDelta(e,t){const i=this.groups.get();!i||i.length<=1||(0,mg.PO)(t,(t=>{this._currentGroupIdx.set(nE.L.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),t),this._currentElementIdx.set(0,t)}))}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||(0,mg.Rn)((i=>{this._currentElementIdx.set(nE.L.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)}))}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const i=t.lines.indexOf(e);-1!==i&&(0,mg.Rn)((e=>{this._currentElementIdx.set(i,e)}))}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===_E.Deleted?this._models.originalReveal(Xs.Q.fromPositions(new Gn.y(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==_E.Header?Xs.Q.fromPositions(new Gn.y(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};mE=hE([dE(4,oE)],mE);const fE=3;var _E;!function(e){e[e.Header=0]="Header",e[e.Unchanged=1]="Unchanged",e[e.Deleted=2]="Deleted",e[e.Added=3]="Added"}(_E||(_E={}));class vE{constructor(e,t){this.range=e,this.lines=t}}class bE{constructor(){this.type=_E.Header}}class CE{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=_E.Deleted,this.modifiedLineNumber=void 0}}class wE{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=_E.Added,this.originalLineNumber=void 0}}class yE{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=_E.Unchanged}}let SE=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._element=e,this._model=t,this._width=i,this._height=n,this._models=s,this._languageService=o,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new Jg(r)),this._register((0,mg.fm)((e=>{this._actionBar.clear(),this._model.canClose.read(e)&&this._actionBar.push(new Zn("diffreview.close",(0,jn.kg)("label.close","Close"),"close-diff-review "+In.L.asClassName(gE),!0,(async()=>t.close())),{label:!1,icon:!0})}))),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new Ju(this._content,{})),Yt(this.domNode,this._scrollbar.getDomNode(),r),this._register((0,mg.fm)((e=>{this._height.read(e),this._width.read(e),this._scrollbar.scanDomNode()}))),this._register((0,Ae.s)((()=>{Yt(this.domNode)}))),this._register(QI(this.domNode,{width:this._width,height:this._height})),this._register(QI(this._content,{width:this._width,height:this._height})),this._register((0,mg.yC)(((e,t)=>{this._model.currentGroup.read(e),this._render(t)}))),this._register(Xe(this.domNode,"keydown",(e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._model.goToNextLine()),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._model.goToPreviousLine()),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this._model.close()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this._model.revealCurrentElementInEditor())})))}_render(e){const t=this._models.getOriginalOptions(),i=this._models.getModifiedOptions(),n=document.createElement("div");n.className="diff-review-table",n.setAttribute("role","list"),n.setAttribute("aria-label",(0,jn.kg)("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),Lh(n,i.get(50)),Yt(this._content,n);const s=this._models.getOriginalModel(),o=this._models.getModifiedModel();if(!s||!o)return;const r=s.getOptions(),a=o.getOptions(),l=i.get(67),h=this._model.currentGroup.get();for(const d of h?.lines||[]){if(!h)break;let c;if(d.type===_E.Header){const e=document.createElement("div");e.className="diff-review-row",e.setAttribute("role","listitem");const t=h.range,i=this._model.currentGroupIndex.get(),n=this._model.groups.get().length,s=e=>0===e?(0,jn.kg)("no_lines_changed","no lines changed"):1===e?(0,jn.kg)("one_line_changed","1 line changed"):(0,jn.kg)("more_lines_changed","{0} lines changed",e),o=s(t.original.length),r=s(t.modified.length);e.setAttribute("aria-label",(0,jn.kg)({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",i+1,n,t.original.startLineNumber,o,t.modified.startLineNumber,r));const a=document.createElement("div");a.className="diff-review-cell diff-review-summary",a.appendChild(document.createTextNode(`${i+1}/${n}: @@ -${t.original.startLineNumber},${t.original.length} +${t.modified.startLineNumber},${t.modified.length} @@`)),e.appendChild(a),c=e}else c=this._createRow(d,l,this._width.get(),t,s,r,i,o,a);n.appendChild(c);const u=(0,mg.un)((e=>this._model.currentElement.read(e)===d));e.add((0,mg.fm)((e=>{const t=u.read(e);c.tabIndex=t?0:-1,t&&c.focus()}))),e.add(Ye(c,"focus",(()=>{this._model.goToLine(d)})))}this._scrollbar.scanDomNode()}_createRow(e,t,i,n,s,o,r,a,l){const h=n.get(146),d=h.glyphMarginWidth+h.lineNumbersWidth,c=r.get(146),u=10+c.glyphMarginWidth+c.lineNumbersWidth;let g="diff-review-row",p="";let m=null;switch(e.type){case _E.Added:g="diff-review-row line-insert",p=" char-insert",m=cE;break;case _E.Deleted:g="diff-review-row line-delete",p=" char-delete",m=uE}const f=document.createElement("div");f.style.minWidth=i+"px",f.className=g,f.setAttribute("role","listitem"),f.ariaLevel="";const _=document.createElement("div");_.className="diff-review-cell",_.style.height=`${t}px`,f.appendChild(_);const v=document.createElement("span");v.style.width=d+"px",v.style.minWidth=d+"px",v.className="diff-review-line-number"+p,void 0!==e.originalLineNumber?v.appendChild(document.createTextNode(String(e.originalLineNumber))):v.innerText="\xa0",_.appendChild(v);const b=document.createElement("span");b.style.width=u+"px",b.style.minWidth=u+"px",b.style.paddingRight="10px",b.className="diff-review-line-number"+p,void 0!==e.modifiedLineNumber?b.appendChild(document.createTextNode(String(e.modifiedLineNumber))):b.innerText="\xa0",_.appendChild(b);const C=document.createElement("span");if(C.className="diff-review-spacer",m){const e=document.createElement("span");e.className=In.L.asClassName(m),e.innerText="\xa0\xa0",C.appendChild(e)}else C.innerText="\xa0\xa0";let w;if(_.appendChild(C),void 0!==e.modifiedLineNumber){let t=this._getLineHtml(a,r,l.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);pE._ttPolicy&&(t=pE._ttPolicy.createHTML(t)),_.insertAdjacentHTML("beforeend",t),w=a.getLineContent(e.modifiedLineNumber)}else{let t=this._getLineHtml(s,n,o.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);pE._ttPolicy&&(t=pE._ttPolicy.createHTML(t)),_.insertAdjacentHTML("beforeend",t),w=s.getLineContent(e.originalLineNumber)}0===w.length&&(w=(0,jn.kg)("blankLine","blank"));let y="";switch(e.type){case _E.Unchanged:y=e.originalLineNumber===e.modifiedLineNumber?(0,jn.kg)({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",w,e.originalLineNumber):(0,jn.kg)("equalLine","{0} original line {1} modified line {2}",w,e.originalLineNumber,e.modifiedLineNumber);break;case _E.Added:y=(0,jn.kg)("insertLine","+ {0} modified line {1}",w,e.modifiedLineNumber);break;case _E.Deleted:y=(0,jn.kg)("deleteLine","- {0} original line {1}",w,e.originalLineNumber)}return f.setAttribute("aria-label",y),f}_getLineHtml(e,t,i,n,s){const o=e.getLineContent(n),r=t.get(50),a=Wo.f.createEmpty(o,s),l=X_.isBasicASCII(o,e.mightContainNonBasicASCII()),h=X_.containsRTL(o,l,e.mightContainRTL());return pf(new lf(r.isMonospace&&!t.get(33),r.canUseHalfwidthRightwardsArrow,o,!1,l,h,0,a,[],i,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,t.get(118),t.get(100),t.get(95),t.get(51)!==pc.OFF,null)).html}};SE=hE([dE(5,xh.L)],SE);class kE{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}(0,to.x1A)("diffEditor.move.border","#8b8b8b9c",(0,jn.kg)("diffEditor.move.border","The border color for text that got moved in the diff editor.")),(0,to.x1A)("diffEditor.moveActive.border","#FFA500",(0,jn.kg)("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor.")),(0,to.x1A)("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},(0,jn.kg)("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));const LE=mu("diff-insert",vl.W.add,(0,jn.kg)("diffInsertIcon","Line decoration for inserts in the diff editor.")),xE=mu("diff-remove",vl.W.remove,(0,jn.kg)("diffRemoveIcon","Line decoration for removals in the diff editor.")),DE=eo.kI.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+In.L.asClassName(LE),marginClassName:"gutter-insert"}),NE=eo.kI.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+In.L.asClassName(xE),marginClassName:"gutter-delete"}),IE=eo.kI.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),EE=eo.kI.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),ME=eo.kI.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),TE=eo.kI.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),RE=eo.kI.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),AE=eo.kI.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),PE=eo.kI.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),OE=eo.kI.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});var FE,WE=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},BE=function(e,t){return function(i,n){t(i,n,e)}};const HE=(0,$n.u1)("diffProviderFactoryService");let VE=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(zE,e)}};VE=WE([BE(0,$n._Y)],VE),(0,cl.v)(HE,VE,1);let zE=class{static{FE=this}static{this.diffCache=new Map}constructor(e,t,i){this.editorWorkerService=t,this.telemetryService=i,this.onDidChangeEventEmitter=new P.vl,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(e,t,i,n){if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(e,t,i,n);if(e.isDisposed()||t.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return 1===t.getLineCount()&&1===t.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new sE.wm(new iE.M(1,2),new iE.M(1,t.getLineCount()+1),[new sE.q6(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const s=JSON.stringify([e.uri.toString(),t.uri.toString()]),o=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(i)]),r=FE.diffCache.get(s);if(r&&r.context===o)return r.result;const a=Hp.W.create(),l=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),h=a.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:h,timedOut:l?.quitEarly??!0,detectedMoves:i.computeMoves?l?.moves.length??0:-1}),n.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!l)throw new Error("no diff result available");return FE.diffCache.size>10&&FE.diffCache.delete(FE.diffCache.keys().next().value),FE.diffCache.set(s,{result:l,context:o}),l}setOptions(e){let t=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,"string"!=typeof e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange((()=>this.onDidChangeEventEmitter.fire()))),t=!0),t&&this.onDidChangeEventEmitter.fire()}};zE=FE=WE([BE(1,Ww.IEditorWorkerService),BE(2,Ls)],zE);var UE=i(9871);function KE(){return UE._K&&!!UE._K.VSCODE_DEV}function jE(e){if(KE()){const t=function(){$E||($E=new Set);const e=globalThis;e.$hotReload_applyNewExports||(e.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e},i=[];for(const n of $E){const e=n(t);e&&i.push(e)}if(i.length>0)return e=>{let t=!1;for(const n of i)n(e)&&(t=!0);return t}});return $E}();return t.add(e),{dispose(){t.delete(e)}}}return{dispose(){}}}let $E;function qE(e,t){return function(e,t){if(KE()){(0,mg.yQ)("reload",(t=>jE((({oldExports:i})=>{if([...Object.values(i)].some((t=>e.includes(t))))return e=>(t(void 0),!0)})))).read(t)}}([e],t),e}KE()&&jE((({oldExports:e,newSrc:t,config:i})=>{if("patch-prototype"===i.mode)return t=>{for(const i in t){const n=t[i];if(console.log(`[hot-reload] Patching prototype methods of '${i}'`,{exportedItem:n}),"function"==typeof n&&n.prototype){const s=e[i];if(s){for(const e of Object.getOwnPropertyNames(n.prototype)){const t=Object.getOwnPropertyDescriptor(n.prototype,e),o=Object.getOwnPropertyDescriptor(s.prototype,e);t?.value?.toString()!==o?.value?.toString()&&console.log(`[hot-reload] Patching prototype method '${i}.${e}'`),Object.defineProperty(s.prototype,e,t)}t[i]=s}}}return!0}}));var GE=i(81429),QE=i(22994),YE=i(47132),ZE=i(52542),XE=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},JE=function(e,t){return function(i,n){t(i,n,e)}};let eM=class extends Ae.jG{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=(0,mg.FY)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,mg.FY)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,mg.FY)(this,void 0),this.unchangedRegions=(0,mg.un)(this,(e=>this._options.hideUnchangedRegions.read(e)?this._unchangedRegions.read(e)?.regions??[]:((0,mg.Rn)((e=>{for(const t of this._unchangedRegions.get()?.regions||[])t.collapseAll(e)})),[]))),this.movedTextToCompare=(0,mg.FY)(this,void 0),this._activeMovedText=(0,mg.FY)(this,void 0),this._hoveredMovedText=(0,mg.FY)(this,void 0),this.activeMovedText=(0,mg.un)(this,(e=>this.movedTextToCompare.read(e)??this._hoveredMovedText.read(e)??this._activeMovedText.read(e))),this._cancellationTokenSource=new na.Qi,this._diffProvider=(0,mg.un)(this,(e=>{const t=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(e)});return{diffProvider:t,onChangeSignal:(0,mg.yQ)("onDidChange",t.onDidChange)}})),this._register((0,Ae.s)((()=>this._cancellationTokenSource.cancel())));const n=(0,mg.Yd)("contentChangedSignal"),s=this._register(new A.uC((()=>n.trigger(void 0)),200));this._register((0,mg.fm)((t=>{const i=this._unchangedRegions.read(t);if(!i||i.regions.some((e=>e.isDragged.read(t))))return;const n=i.originalDecorationIds.map((t=>e.original.getDecorationRange(t))).map((e=>e?iE.M.fromRangeInclusive(e):void 0)),s=i.modifiedDecorationIds.map((t=>e.modified.getDecorationRange(t))).map((e=>e?iE.M.fromRangeInclusive(e):void 0)),o=i.regions.map(((e,i)=>n[i]&&s[i]?new nM(n[i].startLineNumber,s[i].startLineNumber,n[i].length,e.visibleLineCountTop.read(t),e.visibleLineCountBottom.read(t)):void 0)).filter(os.O9),r=[];let a=!1;for(const e of(0,ia.n)(o,((e,i)=>e.getHiddenModifiedRange(t).endLineNumberExclusive===i.getHiddenModifiedRange(t).startLineNumber)))if(e.length>1){a=!0;const t=e.reduce(((e,t)=>e+t.lineCount),0),i=new nM(e[0].originalLineNumber,e[0].modifiedLineNumber,t,e[0].visibleLineCountTop.get(),e[e.length-1].visibleLineCountBottom.get());r.push(i)}else r.push(e[0]);if(a){const t=e.original.deltaDecorations(i.originalDecorationIds,r.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),n=e.modified.deltaDecorations(i.modifiedDecorationIds,r.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));(0,mg.Rn)((e=>{this._unchangedRegions.set({regions:r,originalDecorationIds:t,modifiedDecorationIds:n},e)}))}})));const o=(t,i,n)=>{const s=nM.fromDiffs(t.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(n),this._options.hideUnchangedRegionsContextLineCount.read(n));let o;const r=this._unchangedRegions.get();if(r){const t=r.originalDecorationIds.map((t=>e.original.getDecorationRange(t))).map((e=>e?iE.M.fromRangeInclusive(e):void 0)),i=r.modifiedDecorationIds.map((t=>e.modified.getDecorationRange(t))).map((e=>e?iE.M.fromRangeInclusive(e):void 0)),s=function(e,t){let i;return e.filter((e=>{const n=t(e,i);return i=e,n}))}(r.regions.map(((e,n)=>{if(!t[n]||!i[n])return;const s=t[n].length;return new nM(t[n].startLineNumber,i[n].startLineNumber,s,Math.min(e.visibleLineCountTop.get(),s),Math.min(e.visibleLineCountBottom.get(),s-e.visibleLineCountTop.get()))})).filter(os.O9),((e,t)=>!t||e.modifiedLineNumber>=t.modifiedLineNumber+t.lineCount&&e.originalLineNumber>=t.originalLineNumber+t.lineCount));let a=s.map((e=>new sE.WL(e.getHiddenOriginalRange(n),e.getHiddenModifiedRange(n))));a=sE.WL.clip(a,iE.M.ofLength(1,e.original.getLineCount()),iE.M.ofLength(1,e.modified.getLineCount())),o=sE.WL.inverse(a,e.original.getLineCount(),e.modified.getLineCount())}const a=[];if(o)for(const e of s){const t=o.filter((t=>t.original.intersectsStrict(e.originalUnchangedRange)&&t.modified.intersectsStrict(e.modifiedUnchangedRange)));a.push(...e.setVisibleRanges(t,i))}else a.push(...s);const l=e.original.deltaDecorations(r?.originalDecorationIds||[],a.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),h=e.modified.deltaDecorations(r?.modifiedDecorationIds||[],a.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));this._unchangedRegions.set({regions:a,originalDecorationIds:l,modifiedDecorationIds:h},i)};this._register(e.modified.onDidChangeContent((t=>{if(this._diff.get()){const i=QE.c.fromModelContentChanges(t.changes),n=oM(this._lastDiff,i,e.original,e.modified);n&&(this._lastDiff=n,(0,mg.Rn)((e=>{this._diff.set(tM.fromDiffResult(this._lastDiff),e),o(n,e);const t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified))):void 0,e)})))}this._isDiffUpToDate.set(!1,void 0),s.schedule()}))),this._register(e.original.onDidChangeContent((t=>{if(this._diff.get()){const i=QE.c.fromModelContentChanges(t.changes),n=sM(this._lastDiff,i,e.original,e.modified);n&&(this._lastDiff=n,(0,mg.Rn)((e=>{this._diff.set(tM.fromDiffResult(this._lastDiff),e),o(n,e);const t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified))):void 0,e)})))}this._isDiffUpToDate.set(!1,void 0),s.schedule()}))),this._register((0,mg.yC)((async(t,i)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(t),this._options.hideUnchangedRegionsContextLineCount.read(t),s.cancel(),n.read(t);const r=this._diffProvider.read(t);r.onChangeSignal.read(t),qE(GE.D8,t),qE(ZE.NC,t),this._isDiffUpToDate.set(!1,void 0);let a=[];i.add(e.original.onDidChangeContent((e=>{const t=QE.c.fromModelContentChanges(e.changes);a=(0,YE.M)(a,t)})));let l=[];i.add(e.modified.onDidChangeContent((e=>{const t=QE.c.fromModelContentChanges(e.changes);l=(0,YE.M)(l,t)})));let h=await r.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(t),maxComputationTimeMs:this._options.maxComputationTimeMs.read(t),computeMoves:this._options.showMoves.read(t)},this._cancellationTokenSource.token);var d,c,u;this._cancellationTokenSource.token.isCancellationRequested||(e.original.isDisposed()||e.modified.isDisposed()||(d=h,c=e.original,u=e.modified,h={changes:d.changes.map((e=>new sE.wm(e.original,e.modified,e.innerChanges?e.innerChanges.map((e=>function(e,t,i){let n=e.originalRange,s=e.modifiedRange;return 1===n.startColumn&&1===s.startColumn&&(1!==n.endColumn||1!==s.endColumn)&&n.endColumn===t.getLineMaxColumn(n.endLineNumber)&&s.endColumn===i.getLineMaxColumn(s.endLineNumber)&&n.endLineNumber{o(h,e),this._lastDiff=h;const t=tM.fromDiffResult(h);this._diff.set(t,e),this._isDiffUpToDate.set(!0,e);const i=this.movedTextToCompare.get();this.movedTextToCompare.set(i?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(i.lineRangeMapping.modified))):void 0,e)}))))})))}ensureModifiedLineIsVisible(e,t,i){if(0===this.diff.get()?.mappings.length)return;const n=this._unchangedRegions.get()?.regions||[];for(const s of n)if(s.getHiddenModifiedRange(void 0).contains(e))return void s.showModifiedLine(e,t,i)}ensureOriginalLineIsVisible(e,t,i){if(0===this.diff.get()?.mappings.length)return;const n=this._unchangedRegions.get()?.regions||[];for(const s of n)if(s.getHiddenOriginalRange(void 0).contains(e))return void s.showOriginalLine(e,t,i)}async waitForDiff(){await(0,mg.oJ)(this.isDiffUpToDate,(e=>e))}serializeState(){const e=this._unchangedRegions.get();return{collapsedRegions:e?.regions.map((e=>({range:e.getHiddenModifiedRange(void 0).serialize()})))}}restoreSerializedState(e){const t=e.collapsedRegions?.map((e=>iE.M.deserialize(e.range))),i=this._unchangedRegions.get();i&&t&&(0,mg.Rn)((e=>{for(const n of i.regions)for(const i of t)if(n.modifiedUnchangedRange.intersect(i)){n.setHiddenModifiedRange(i,e);break}}))}};eM=XE([JE(2,HE)],eM);class tM{static fromDiffResult(e){return new tM(e.changes.map((e=>new iM(e))),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,i,n){this.mappings=e,this.movedTexts=t,this.identical=i,this.quitEarly=n}}class iM{constructor(e){this.lineRangeMapping=e}}class nM{static fromDiffs(e,t,i,n,s){const o=sE.wm.inverse(e,t,i),r=[];for(const a of o){let e=a.original.startLineNumber,o=a.modified.startLineNumber,l=a.original.length;const h=1===e&&1===o,d=e+l===t+1&&o+l===i+1;(h||d)&&l>=s+n?(h&&!d&&(l-=s),d&&!h&&(e+=s,o+=s,l-=s),r.push(new nM(e,o,l,0,0))):l>=2*s+n&&(e+=s,o+=s,l-=2*s,r.push(new nM(e,o,l,0,0)))}return r}get originalUnchangedRange(){return iE.M.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return iE.M.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,i,n,s){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=i,this._visibleLineCountTop=(0,mg.FY)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,mg.FY)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,mg.un)(this,(e=>this.visibleLineCountTop.read(e)+this.visibleLineCountBottom.read(e)===this.lineCount&&!this.isDragged.read(e))),this.isDragged=(0,mg.FY)(this,void 0);const o=Math.max(Math.min(n,this.lineCount),0),r=Math.max(Math.min(s,this.lineCount-n),0);(0,Xv.V7)(n===o),(0,Xv.V7)(s===r),this._visibleLineCountTop.set(o,void 0),this._visibleLineCountBottom.set(r,void 0)}setVisibleRanges(e,t){const i=[],n=new iE.S(e.map((e=>e.modified))).subtractFrom(this.modifiedUnchangedRange);let s=this.originalLineNumber,o=this.modifiedLineNumber;const r=this.modifiedLineNumber+this.lineCount;if(0===n.ranges.length)this.showAll(t),i.push(this);else{let e=0;for(const a of n.ranges){const l=e===n.ranges.length-1;e++;const h=(l?r:a.endLineNumberExclusive)-o,d=new nM(s,o,h,0,0);d.setHiddenModifiedRange(a,t),i.push(d),s=d.originalUnchangedRange.endLineNumberExclusive,o=d.modifiedUnchangedRange.endLineNumberExclusive}}return i}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return iE.M.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return iE.M.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const i=e.startLineNumber-this.modifiedLineNumber,n=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(i,n,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const i=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,i),t)}showMoreBelow(e=10,t){const i=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,i),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,i){const n=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),s=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;0===t&&n{this._contextMenuService.showContextMenu({domForShadowRoot:c?i.getDomNode()??void 0:void 0,getAnchor:()=>({x:e,y:t}),getActions:()=>{const e=[],t=n.modified.isEmpty;e.push(new Zn("diff.clipboard.copyDeletedContent",t?n.original.length>1?(0,jn.kg)("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):(0,jn.kg)("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):n.original.length>1?(0,jn.kg)("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):(0,jn.kg)("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,(async()=>{const e=this._originalTextModel.getValueInRange(n.original.toExclusiveRange());await this._clipboardService.writeText(e)}))),n.original.length>1&&e.push(new Zn("diff.clipboard.copyDeletedLineContent",t?(0,jn.kg)("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",n.original.startLineNumber+d):(0,jn.kg)("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",n.original.startLineNumber+d),void 0,!0,(async()=>{let e=this._originalTextModel.getLineContent(n.original.startLineNumber+d);if(""===e){e=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"}await this._clipboardService.writeText(e)})));return i.getOption(92)||e.push(new Zn("diff.inline.revertChange",(0,jn.kg)("diff.inline.revertChange.label","Revert this change"),void 0,!0,(async()=>{this._editor.revert(this._diff)}))),e},autoSelectFirstItem:!0})};this._register(Xe(this._diffActions,"mousedown",(e=>{if(!e.leftButton)return;const{top:t,height:i}=ct(this._diffActions),n=Math.floor(h/3);e.preventDefault(),u(e.posx,t+i+n)}))),this._register(i.onMouseMove((e=>{8!==e.target.type&&5!==e.target.type||e.target.detail.viewZoneId!==this._getViewZoneId()?this.visibility=!1:(d=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,h),this.visibility=!0)}))),this._register(i.onMouseDown((e=>{if(e.event.leftButton&&(8===e.target.type||5===e.target.type)){e.target.detail.viewZoneId===this._getViewZoneId()&&(e.event.preventDefault(),d=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,h),u(e.event.posx,e.event.posy+h))}})))}_updateLightBulbPosition(e,t,i){const{top:n}=ct(e),s=t-n,o=Math.floor(s/i),r=o*i;if(this._diffActions.style.top=`${r}px`,this._viewLineCounts){let e=0;for(let t=0;te});function lM(e,t,i,n){Lh(n,t.fontInfo);const s=i.length>0,o=new of.fe(1e4);let r=0,a=0;const l=[];for(let c=0;c');const l=t.getLineContent(),h=X_.isBasicASCII(l,s),d=X_.containsRTL(l,h,o),c=uf(new lf(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,l,!1,h,d,0,t,i,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==pc.OFF,null),a);return a.appendString("
    "),c.characterMapping.getHorizontalOffset(c.characterMapping.length)}var uM=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},gM=function(e,t){return function(i,n){t(i,n,e)}};let pM=class extends Ae.jG{constructor(e,t,i,n,s,o,r,a,l,h){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=n,this._diffEditorWidget=s,this._canIgnoreViewZoneUpdateEvent=o,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=a,this._clipboardService=l,this._contextMenuService=h,this._originalTopPadding=(0,mg.FY)(this,0),this._originalScrollOffset=(0,mg.FY)(this,0),this._originalScrollOffsetAnimated=jI(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=(0,mg.FY)(this,0),this._modifiedScrollOffset=(0,mg.FY)(this,0),this._modifiedScrollOffsetAnimated=jI(this._targetWindow,this._modifiedScrollOffset,this._store);const d=(0,mg.FY)("invalidateAlignmentsState",0),c=this._register(new A.uC((()=>{d.set(d.get()+1,void 0)}),0));this._register(this._editors.original.onDidChangeViewZones((e=>{this._canIgnoreViewZoneUpdateEvent()||c.schedule()}))),this._register(this._editors.modified.onDidChangeViewZones((e=>{this._canIgnoreViewZoneUpdateEvent()||c.schedule()}))),this._register(this._editors.original.onDidChangeConfiguration((e=>{(e.hasChanged(147)||e.hasChanged(67))&&c.schedule()}))),this._register(this._editors.modified.onDidChangeConfiguration((e=>{(e.hasChanged(147)||e.hasChanged(67))&&c.schedule()})));const u=this._diffModel.map((e=>e?(0,mg.y0)(this,e.model.original.onDidChangeTokens,(()=>2===e.model.original.tokenization.backgroundTokenizationState)):void 0)).map(((e,t)=>e?.read(t))),g=(0,mg.un)((e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!t||!i)return null;d.read(e);const n=this._options.renderSideBySide.read(e);return mM(this._editors.original,this._editors.modified,i.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,n)})),p=(0,mg.un)((e=>{const t=this._diffModel.read(e)?.movedTextToCompare.read(e);if(!t)return null;d.read(e);const i=t.changes.map((e=>new iM(e)));return mM(this._editors.original,this._editors.modified,i,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)}));function m(){const e=document.createElement("div");return e.className="diagonal-fill",e}const f=this._register(new Ae.Cm);this.viewZones=(0,mg.rm)(this,((e,t)=>{f.clear();const i=g.read(e)||[],n=[],o=[],r=this._modifiedTopPadding.read(e);r>0&&o.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:r,showInHiddenAreas:!0,suppressMouseDown:!0});const a=this._originalTopPadding.read(e);a>0&&n.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:a,showInHiddenAreas:!0,suppressMouseDown:!0});const l=this._options.renderSideBySide.read(e),h=l?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer();if(h){const y=this._editors.original.getModel();for(const S of i)if(S.diff)for(let k=S.originalRange.startLineNumber;ky.getLineCount())return{orig:n,mod:o};h?.addRequest(y.getLineContent(k),null,null)}}const d=h?.finalize()??[];let c=0;const _=this._editors.modified.getOption(67),v=this._diffModel.read(e)?.movedTextToCompare.read(e),b=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,C=this._editors.original.getModel()?.mightContainRTL()??!1,w=dM.fromEditor(this._editors.modified);for(const L of i)if(!L.diff||l||this._options.useTrueInlineDiffRendering.read(e)&&_M(L.diff)){const x=L.modifiedHeightInPx-L.originalHeightInPx;if(x>0){if(v?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(L.originalRange.endLineNumberExclusive-1))continue;n.push({afterLineNumber:L.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:x,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(v?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(L.modifiedRange.endLineNumberExclusive-1))continue;function D(){const e=document.createElement("div");return e.className="arrow-revert-change "+In.L.asClassName(vl.W.arrowRight),t.add(Ye(e,"mousedown",(e=>e.stopPropagation()))),t.add(Ye(e,"click",(e=>{e.stopPropagation(),s.revert(L.diff)}))),ei("div",{},e)}let N;L.diff&&L.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(N=D()),o.push({afterLineNumber:L.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-x,marginDomNode:N,showInHiddenAreas:!0,suppressMouseDown:!0})}}else{if(!L.originalRange.isEmpty){u.read(e);const E=document.createElement("div");E.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const M=this._editors.original.getModel();if(L.originalRange.endLineNumberExclusive-1>M.getLineCount())return{orig:n,mod:o};const T=new hM(L.originalRange.mapToLineArray((e=>M.tokenization.getLineTokens(e))),L.originalRange.mapToLineArray((e=>d[c++])),b,C),R=[];for(const F of L.diff.innerChanges||[])R.push(new J_(F.originalRange.delta(-(L.diff.original.startLineNumber-1)),AE.className,0));const A=lM(T,w,R,E),P=document.createElement("div");if(P.className="inline-deleted-margin-view-zone",Lh(P,w.fontInfo),this._options.renderIndicators.read(e))for(let W=0;W(0,os.eU)(O)),P,this._editors.modified,L.diff,this._diffEditorWidget,A.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let H=0;H1&&n.push({afterLineNumber:L.originalRange.startLineNumber+H,domNode:m(),heightInPx:(V-1)*_,showInHiddenAreas:!0,suppressMouseDown:!0})}o.push({afterLineNumber:L.modifiedRange.startLineNumber-1,domNode:E,heightInPx:A.heightInLines*_,minWidthInPx:A.minWidthInPx,marginDomNode:P,setZoneId(e){O=e},showInHiddenAreas:!0,suppressMouseDown:!0})}const I=document.createElement("div");I.className="gutter-delete",n.push({afterLineNumber:L.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:L.modifiedHeightInPx,marginDomNode:I,showInHiddenAreas:!0,suppressMouseDown:!0})}for(const z of p.read(e)??[]){if(!v?.lineRangeMapping.original.intersect(z.originalRange)||!v?.lineRangeMapping.modified.intersect(z.modifiedRange))continue;const U=z.modifiedHeightInPx-z.originalHeightInPx;U>0?n.push({afterLineNumber:z.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:U,showInHiddenAreas:!0,suppressMouseDown:!0}):o.push({afterLineNumber:z.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-U,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:n,mod:o}}));let _=!1;this._register(this._editors.original.onDidScrollChange((e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.modified.setScrollLeft(e.scrollLeft),_=!1)}))),this._register(this._editors.modified.onDidScrollChange((e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.original.setScrollLeft(e.scrollLeft),_=!1)}))),this._originalScrollTop=(0,mg.y0)(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=(0,mg.y0)(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._register((0,mg.fm)((e=>{const t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)}))),this._register((0,mg.fm)((e=>{const t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)}))),this._register((0,mg.fm)((e=>{const t=this._diffModel.read(e)?.movedTextToCompare.read(e);let i=0;if(t){const e=this._editors.original.getTopForLineNumber(t.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();i=this._editors.modified.getTopForLineNumber(t.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-e}i>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(i,void 0)):i<0?(this._modifiedTopPadding.set(-i,void 0),this._originalTopPadding.set(0,void 0)):setTimeout((()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)}),400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-i,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+i,void 0,!0)})))}};function mM(e,t,i,n,s,o){const r=new ia.j3(fM(e,n)),a=new ia.j3(fM(t,s)),l=e.getOption(67),h=t.getOption(67),d=[];let c=0,u=0;function g(e,t){for(;;){let i=r.peek(),n=a.peek();if(i&&i.lineNumber>=e&&(i=void 0),n&&n.lineNumber>=t&&(n=void 0),!i&&!n)break;const s=i?i.lineNumber-c:Number.MAX_VALUE,o=n?n.lineNumber-u:Number.MAX_VALUE;so?(a.dequeue(),i={lineNumber:n.lineNumber-u+c,heightInPx:0}):(r.dequeue(),a.dequeue()),d.push({originalRange:iE.M.ofLength(i.lineNumber,1),modifiedRange:iE.M.ofLength(n.lineNumber,1),originalHeightInPx:l+i.heightInPx,modifiedHeightInPx:h+n.heightInPx,diff:void 0})}}for(const p of i){const m=p.lineRangeMapping;g(m.original.startLineNumber,m.modified.startLineNumber);let f=!0,_=m.modified.startLineNumber,v=m.original.startLineNumber;function b(e,t,i=!1){if(et.lineNumbere+t.heightInPx),0)??0,c=a.takeWhile((e=>e.lineNumbere+t.heightInPx),0)??0;d.push({originalRange:n,modifiedRange:s,originalHeightInPx:n.length*l+o,modifiedHeightInPx:s.length*h+c,diff:p.lineRangeMapping}),v=e,_=t}if(o)for(const C of m.innerChanges||[]){C.originalRange.startColumn>1&&C.modifiedRange.startColumn>1&&b(C.originalRange.startLineNumber,C.modifiedRange.startLineNumber);const w=e.getModel(),y=C.originalRange.endLineNumber<=w.getLineCount()?w.getLineMaxColumn(C.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;C.originalRange.endColumn1&&n.push({lineNumber:a,heightInPx:r*(e-1)})}for(const a of e.getWhitespaces()){if(t.has(a.id))continue;const e=0===a.afterLineNumber?0:o.convertViewPositionToModelPosition(new Gn.y(a.afterLineNumber,1)).lineNumber;i.push({lineNumber:e,heightInPx:a.height})}return function(e,t,i,n){if(0===e.length)return t;if(0===t.length)return e;const s=[];let o=0,r=0;for(;od?(s.push(l),r++):(s.push(n(a,l)),o++,r++)}for(;oe.lineNumber),((e,t)=>({lineNumber:e.lineNumber,heightInPx:e.heightInPx+t.heightInPx})))}function _M(e){return!!e.innerChanges&&e.innerChanges.every((e=>vM(e.modifiedRange)&&vM(e.originalRange)||e.originalRange.equalsRange(new Xs.Q(1,1,1,1))))}function vM(e){return e.startLineNumber===e.endLineNumber}pM=uM([gM(8,Kh),gM(9,vd)],pM);class bM extends Ae.jG{static{this.movedCodeBlockPadding=4}constructor(e,t,i,n,s){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=n,this._editors=s,this._originalScrollTop=(0,mg.y0)(this,this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=(0,mg.y0)(this,this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._viewZonesChanged=(0,mg.yQ)("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=(0,mg.FY)(this,0),this._modifiedViewZonesChangedSignal=(0,mg.yQ)("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=(0,mg.yQ)("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=(0,mg.rm)(this,((e,t)=>{this._element.replaceChildren();const i=this._diffModel.read(e),n=i?.diff.read(e)?.movedTexts;if(!n||0===n.length)return void this.width.set(0,void 0);this._viewZonesChanged.read(e);const s=this._originalEditorLayoutInfo.read(e),o=this._modifiedEditorLayoutInfo.read(e);if(!s||!o)return void this.width.set(0,void 0);this._modifiedViewZonesChangedSignal.read(e),this._originalViewZonesChangedSignal.read(e);const r=n.map((t=>{function i(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}const n=i(t.lineRangeMapping.original,this._editors.original),s=this._originalScrollTop.read(e),o=i(t.lineRangeMapping.modified,this._editors.modified),r=n-s,a=o-this._modifiedScrollTop.read(e),l=Math.min(n,o),h=Math.max(n,o);return{range:new nE.L(l,h),from:r,to:a,fromWithoutScroll:n,toWithoutScroll:o,move:t}}));r.sort((0,ia.nH)((0,ia.VE)((e=>e.fromWithoutScroll>e.toWithoutScroll),ia.TS),(0,ia.VE)((e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll),ia.U9)));const a=CM.compute(r.map((e=>e.range))),l=s.verticalScrollbarWidth,h=10*(a.getTrackCount()-1)+20,d=l+h+(o.contentLeft-bM.movedCodeBlockPadding);let c=0;for(const u of r){const e=l+10+10*a.getTrack(c),n=15,s=15,r=d,h=o.glyphMarginWidth+o.lineNumbersWidth,g=18,p=document.createElementNS("http://www.w3.org/2000/svg","rect");p.classList.add("arrow-rectangle"),p.setAttribute("x",""+(r-h)),p.setAttribute("y",""+(u.to-g/2)),p.setAttribute("width",`${h}`),p.setAttribute("height",`${g}`),this._element.appendChild(p);const m=document.createElementNS("http://www.w3.org/2000/svg","g"),f=document.createElementNS("http://www.w3.org/2000/svg","path");f.setAttribute("d",`M 0 ${u.from} L ${e} ${u.from} L ${e} ${u.to} L ${r-s} ${u.to}`),f.setAttribute("fill","none"),m.appendChild(f);const _=document.createElementNS("http://www.w3.org/2000/svg","polygon");_.classList.add("arrow"),t.add((0,mg.fm)((e=>{f.classList.toggle("currentMove",u.move===i.activeMovedText.read(e)),_.classList.toggle("currentMove",u.move===i.activeMovedText.read(e))}))),_.setAttribute("points",`${r-s},${u.to-n/2} ${r},${u.to} ${r-s},${u.to+n/2}`),m.appendChild(_),this._element.appendChild(m),c++}this.width.set(h,void 0)})),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register((0,Ae.s)((()=>this._element.remove()))),this._register((0,mg.fm)((e=>{const t=this._originalEditorLayoutInfo.read(e),i=this._modifiedEditorLayoutInfo.read(e);t&&i&&(this._element.style.left=t.width-t.verticalScrollbarWidth+"px",this._element.style.height=`${t.height}px`,this._element.style.width=`${t.verticalScrollbarWidth+t.contentLeft-bM.movedCodeBlockPadding+this.width.read(e)}px`)}))),this._register((0,mg.OI)(this._state));const o=(0,mg.un)((e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);return i?i.movedTexts.map((e=>({move:e,original:new qI((0,mg.lk)(e.lineRangeMapping.original.startLineNumber-1),18),modified:new qI((0,mg.lk)(e.lineRangeMapping.modified.startLineNumber-1),18)}))):[]}));this._register(YI(this._editors.original,o.map((e=>e.map((e=>e.original)))))),this._register(YI(this._editors.modified,o.map((e=>e.map((e=>e.modified)))))),this._register((0,mg.yC)(((e,t)=>{const i=o.read(e);for(const n of i)t.add(new wM(this._editors.original,n.original,n.move,"original",this._diffModel.get())),t.add(new wM(this._editors.modified,n.modified,n.move,"modified",this._diffModel.get()))})));const r=(0,mg.yQ)("original.onDidFocusEditorWidget",(e=>this._editors.original.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0))))),a=(0,mg.yQ)("modified.onDidFocusEditorWidget",(e=>this._editors.modified.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0)))));let l="modified";this._register((0,mg.Y)({createEmptyChangeSummary:()=>{},handleChange:(e,t)=>(e.didChange(r)&&(l="original"),e.didChange(a)&&(l="modified"),!0)},(e=>{r.read(e),a.read(e);const t=this._diffModel.read(e);if(!t)return;const i=t.diff.read(e);let n;if(i&&"original"===l){const t=this._editors.originalCursor.read(e);t&&(n=i.movedTexts.find((e=>e.lineRangeMapping.original.contains(t.lineNumber))))}if(i&&"modified"===l){const t=this._editors.modifiedCursor.read(e);t&&(n=i.movedTexts.find((e=>e.lineRangeMapping.modified.contains(t.lineNumber))))}n!==t.movedTextToCompare.get()&&t.movedTextToCompare.set(void 0,void 0),t.setActiveMovedText(n)})))}}class CM{static compute(e){const t=[],i=[];for(const n of e){let e=t.findIndex((e=>!e.intersectsStrict(n)));if(-1===e){const i=6;t.length>=i?e=(0,kb.TM)(t,(0,ia.VE)((e=>e.intersectWithRangeLength(n)),ia.U9)):(e=t.length,t.push(new nE.h))}t[e].addRange(n),i.push(e)}return new CM(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class wM extends $I{constructor(e,t,i,n,s){const o=ui("div.diff-hidden-lines-widget");super(e,t,o.root),this._editor=e,this._move=i,this._kind=n,this._diffModel=s,this._nodes=ui("div.diff-moved-code-block",{style:{marginRight:"4px"}},[ui("div.text-content@textContent"),ui("div.action-bar@actionBar")]),o.root.appendChild(this._nodes.root);const r=(0,mg.y0)(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));let a;this._register(QI(this._nodes.root,{paddingRight:r.map((e=>e.verticalScrollbarWidth))})),a=i.changes.length>0?"original"===this._kind?(0,jn.kg)("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,jn.kg)("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?(0,jn.kg)("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,jn.kg)("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const l=this._register(new Jg(this._nodes.actionBar,{highlightToggledItems:!0})),h=new Zn("",a,"",!1);l.push(h,{icon:!1,label:!0});const d=new Zn("","Compare",In.L.asClassName(vl.W.compareChanges),!0,(()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)}));this._register((0,mg.fm)((e=>{const t=this._diffModel.movedTextToCompare.read(e)===i;d.checked=t}))),l.push(d,{icon:!1,label:!0})}}class yM extends Ae.jG{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=(0,mg.un)(this,(e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!i)return null;const n=this._diffModel.read(e).movedTextToCompare.read(e),s=this._options.renderIndicators.read(e),o=this._options.showEmptyDecorations.read(e),r=[],a=[];if(!n)for(const h of i.mappings)if(h.lineRangeMapping.original.isEmpty||r.push({range:h.lineRangeMapping.original.toInclusiveRange(),options:s?NE:EE}),h.lineRangeMapping.modified.isEmpty||a.push({range:h.lineRangeMapping.modified.toInclusiveRange(),options:s?DE:IE}),h.lineRangeMapping.modified.isEmpty||h.lineRangeMapping.original.isEmpty)h.lineRangeMapping.original.isEmpty||r.push({range:h.lineRangeMapping.original.toInclusiveRange(),options:PE}),h.lineRangeMapping.modified.isEmpty||a.push({range:h.lineRangeMapping.modified.toInclusiveRange(),options:TE});else{const i=this._options.useTrueInlineDiffRendering.read(e)&&_M(h.lineRangeMapping);for(const e of h.lineRangeMapping.innerChanges||[])if(h.lineRangeMapping.original.contains(e.originalRange.startLineNumber)&&r.push({range:e.originalRange,options:e.originalRange.isEmpty()&&o?OE:AE}),h.lineRangeMapping.modified.contains(e.modifiedRange.startLineNumber)&&a.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()&&o&&!i?RE:ME}),i){const i=t.model.original.getValueInRange(e.originalRange);a.push({range:e.modifiedRange,options:{description:"deleted-text",before:{content:i,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(n)for(const h of n.changes){const e=h.original.toInclusiveRange();e&&r.push({range:e,options:s?NE:EE});const t=h.modified.toInclusiveRange();t&&a.push({range:t,options:s?DE:IE});for(const i of h.innerChanges||[])r.push({range:i.originalRange,options:AE}),a.push({range:i.modifiedRange,options:ME})}const l=this._diffModel.read(e).activeMovedText.read(e);for(const h of i.movedTexts)r.push({range:h.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(h===l?" currentMove":""),blockPadding:[bM.movedCodeBlockPadding,0,bM.movedCodeBlockPadding,bM.movedCodeBlockPadding]}}),a.push({range:h.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(h===l?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:a}})),this._register(zI(this._editors.original,this._decorations.map((e=>e?.originalDecorations||[])))),this._register(zI(this._editors.modified,this._decorations.map((e=>e?.modifiedDecorations||[]))))}}class SM{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=(0,Ty.dQ)(this,(e=>{const t=this._sashRatio.read(e)??this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(t,e)}),((e,t)=>{const i=this.dimensions.width.get();this._sashRatio.set(e/i,t)})),this._sashRatio=(0,mg.FY)(this,void 0)}_computeSashLeft(e,t){const i=this.dimensions.width.read(t),n=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),s=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):n,o=100;return i<=200?n:si-o?i-o:s}}class kM extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._domNode=e,this._dimensions=t,this._enabled=i,this._boundarySashes=n,this.sashLeft=s,this._resetSash=o,this._sash=this._register(new AS(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart((()=>{this._startSashPosition=this.sashLeft.get()}))),this._register(this._sash.onDidChange((e=>{this.sashLeft.set(this._startSashPosition+(e.currentX-e.startX),void 0)}))),this._register(this._sash.onDidEnd((()=>this._sash.layout()))),this._register(this._sash.onDidReset((()=>this._resetSash()))),this._register((0,mg.fm)((e=>{const t=this._boundarySashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)}))),this._register((0,mg.fm)((e=>{const t=this._enabled.read(e);this._sash.state=t?3:0,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()})))}}class LM extends Ae.jG{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=(0,mg.y0)(this,this._editor.onDidScrollChange,(e=>this._editor.getScrollTop())),this.isScrollTopZero=this.scrollTop.map((e=>0===e)),this.modelAttached=(0,mg.y0)(this,this._editor.onDidChangeModel,(e=>this._editor.hasModel())),this.editorOnDidChangeViewZones=(0,mg.yQ)("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=(0,mg.yQ)("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=(0,mg.Yd)("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const n=this._domNode.appendChild(ui("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),s=new ResizeObserver((()=>{(0,mg.Rn)((e=>{this.domNodeSizeChanged.trigger(e)}))}));s.observe(this._domNode),this._register((0,Ae.s)((()=>s.disconnect()))),this._register((0,mg.fm)((e=>{n.className=this.isScrollTopZero.read(e)?"":"scroll-decoration"}))),this._register((0,mg.fm)((e=>this.render(e))))}dispose(){super.dispose(),Yt(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),n=new Set(this.views.keys()),s=nE.L.ofStartAndLength(0,this._domNode.clientHeight);if(!s.isEmpty)for(const o of i){const i=new iE.M(o.startLineNumber,o.endLineNumber+1),r=this.itemProvider.getIntersectingGutterItems(i,e);(0,mg.Rn)((e=>{for(const o of r){if(!o.range.intersect(i))continue;n.delete(o.id);let r=this.views.get(o.id);if(r)r.item.set(o,e);else{const e=document.createElement("div");this._domNode.appendChild(e);const t=(0,mg.FY)("item",o),i=this.itemProvider.createView(t,e);r=new xM(t,i,e),this.views.set(o.id,r)}const a=o.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(o.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(o.range.startLineNumber-1,!1)-t,l=(1===o.range.endLineNumberExclusive?Math.max(a,this._editor.getTopForLineNumber(o.range.startLineNumber,!1)-t):Math.max(a,this._editor.getBottomForLineNumber(o.range.endLineNumberExclusive-1,!0)-t))-a;r.domNode.style.top=`${a}px`,r.domNode.style.height=`${l}px`,r.gutterItemView.layout(nE.L.ofStartAndLength(a,l),s)}}))}for(const o of n){const e=this.views.get(o);e.gutterItemView.dispose(),e.domNode.remove(),this.views.delete(o)}}}class xM{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}class DM extends Xn{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}}var NM=i(6292);class IM extends NM.CO{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new VI.W(e-1,t)}}var EM=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},MM=function(e,t){return function(i,n){t(i,n,e)}};const TM=[];let RM=class extends Ae.jG{constructor(e,t,i,n,s,o,r,a,l){var h,d;super(),this._diffModel=t,this._editors=i,this._options=n,this._sashLayout=s,this._boundarySashes=o,this._instantiationService=r,this._contextKeyService=a,this._menuService=l,this._menu=this._register(this._menuService.createMenu(_s.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=(0,mg.y0)(this,this._menu.onDidChange,(()=>this._menu.getActions())),this._hasActions=this._actions.map((e=>e.length>0)),this._showSash=(0,mg.un)(this,(e=>this._options.renderSideBySide.read(e)&&this._hasActions.read(e))),this.width=(0,mg.un)(this,(e=>this._hasActions.read(e)?35:0)),this.elements=ui("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:"35px"}},[]),this._currentDiff=(0,mg.un)(this,(e=>{const t=this._diffModel.read(e);if(!t)return;const i=t.diff.read(e)?.mappings,n=this._editors.modifiedCursor.read(e);return n?i?.find((e=>e.lineRangeMapping.modified.contains(n.lineNumber))):void 0})),this._selectedDiffs=(0,mg.un)(this,(e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!i)return TM;const n=this._editors.modifiedSelections.read(e);if(n.every((e=>e.isEmpty())))return TM;const s=new iE.S(n.map((e=>iE.M.fromRangeInclusive(e)))),o=i.mappings.filter((e=>e.lineRangeMapping.innerChanges&&s.intersects(e.lineRangeMapping.modified))).map((e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter((e=>n.some((t=>Xs.Q.areIntersecting(e.modifiedRange,t)))))})));return 0===o.length||o.every((e=>0===e.rangeMappings.length))?TM:o})),this._register((h=e,d=this.elements.root,h.prepend(d),(0,Ae.s)((()=>{d.remove()})))),this._register(Ye(this.elements.root,"click",(()=>{this._editors.modified.focus()}))),this._register(QI(this.elements.root,{display:this._hasActions.map((e=>e?"block":"none"))})),(0,Ty.a0)(this,(t=>this._showSash.read(t)?new kM(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,(0,Ty.dQ)(this,(e=>this._sashLayout.sashLeft.read(e)-35),((e,t)=>this._sashLayout.sashLeft.set(e+35,t))),(()=>this._sashLayout.resetSash())):void 0)).recomputeInitiallyAndOnChange(this._store),this._register(new LM(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>{const i=this._diffModel.read(t);if(!i)return[];const n=i.diff.read(t);if(!n)return[];const s=this._selectedDiffs.read(t);if(s.length>0){const e=sE.wm.fromRangeMappings(s.flatMap((e=>e.rangeMappings)));return[new AM(e,!0,_s.DiffEditorSelectionToolbar,void 0,i.model.original.uri,i.model.modified.uri)]}const o=this._currentDiff.read(t);return n.mappings.map((e=>new AM(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===o?.lineRangeMapping,_s.DiffEditorHunkToolbar,void 0,i.model.original.uri,i.model.modified.uri)))},createView:(e,t)=>this._instantiationService.createInstance(PM,e,t,this)})),this._register(Ye(this.elements.gutter,Ut.MOUSE_WHEEL,(e=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)}),{passive:!1}))}computeStagedValue(e){const t=e.innerChanges??[],i=new IM(this._editors.modifiedModel.get()),n=new IM(this._editors.original.getModel()),s=new NM.mF(t.map((e=>e.toTextEdit(i))));return s.apply(n)}layout(e){this.elements.gutter.style.left=e+"px"}};RM=EM([MM(6,$n._Y),MM(7,ls.fN),MM(8,vs)],RM);class AM{constructor(e,t,i,n,s,o){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=n,this.originalUri=s,this.modifiedUri=o}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let PM=class extends Ae.jG{constructor(e,t,i,n){super(),this._item=e,this._elements=ui("div.gutterItem",{style:{height:"20px",width:"34px"}},[ui("div.background@background",{},[]),ui("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,(e=>e.showAlways)),this._menuId=this._item.map(this,(e=>e.menuId)),this._isSmall=(0,mg.FY)(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const s=this._register(n.createInstance(sk,"element",!0,{position:{hoverPosition:1}}));this._register(UI(t,this._elements.root)),this._register((0,mg.fm)((e=>{const t=this._showAlways.read(e);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",t),setTimeout((()=>{this._elements.root.classList.toggle("noTransition",!1)}),0)}))),this._register((0,mg.yC)(((e,t)=>{this._elements.buttons.replaceChildren();const o=t.add(n.createInstance(uS,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:s,toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:new DM((()=>{const e=this._item.get(),t=e.mapping;return{mapping:t,originalWithModifiedChanges:i.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}})),menuOptions:{shouldForwardArgs:!0}}));t.add(o.onDidChangeMenuItems((()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)})))})))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(1===this._item.get().mapping.original.startLineNumber&&e.length<30,void 0),i=this._elements.buttons.clientHeight;const n=e.length/2-i/2,s=i;let o=e.start+n;const r=nE.L.tryCreate(s,t.endExclusive-s-i),a=nE.L.tryCreate(e.start+s,e.endExclusive-i-s);a&&r&&a.start{const t=BM._map.get(e);t&&(BM._map.delete(e),t.dispose(),i.dispose())}))}return t}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&(this._currentTransaction=new FM.XL((()=>{})))}_endUpdate(){if(this._updateCounter--,0===this._updateCounter){const e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=(0,mg.FY)(this,this.editor.getModel()),this.model=this._model,this.isReadonly=(0,mg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(92))),this._versionId=(0,mg.Zh)({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=(0,mg.Zh)({owner:this,equalsFn:(0,OM.KC)((0,OM.S3)($s.L.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.isFocused=(0,mg.y0)(this,(e=>{const t=this.editor.onDidFocusEditorWidget(e),i=this.editor.onDidBlurEditorWidget(e);return{dispose(){t.dispose(),i.dispose()}}}),(()=>this.editor.hasWidgetFocus())),this.value=(0,Ty.dQ)(this,(e=>(this.versionId.read(e),this.model.read(e)?.getValue()??"")),((e,t)=>{const i=this.model.get();null!==i&&e!==i.getValue()&&i.setValue(e)})),this.valueIsEmpty=(0,mg.un)(this,(e=>(this.versionId.read(e),0===this.editor.getModel()?.getValueLength()))),this.cursorSelection=(0,mg.C)({owner:this,equalsFn:(0,OM.KC)($s.L.selectionsEqual)},(e=>this.selections.read(e)?.[0]??null)),this.onDidType=(0,mg.Yd)(this),this.scrollTop=(0,mg.y0)(this.editor.onDidScrollChange,(()=>this.editor.getScrollTop())),this.scrollLeft=(0,mg.y0)(this.editor.onDidScrollChange,(()=>this.editor.getScrollLeft())),this.layoutInfo=(0,mg.y0)(this.editor.onDidLayoutChange,(()=>this.editor.getLayoutInfo())),this.layoutInfoContentLeft=this.layoutInfo.map((e=>e.contentLeft)),this.layoutInfoDecorationsLeft=this.layoutInfo.map((e=>e.decorationsLeft)),this.contentWidth=(0,mg.y0)(this.editor.onDidContentSizeChange,(()=>this.editor.getContentWidth())),this._overlayWidgetCounter=0,this._register(this.editor.onBeginUpdate((()=>this._beginUpdate()))),this._register(this.editor.onEndUpdate((()=>this._endUpdate()))),this._register(this.editor.onDidChangeModel((()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}}))),this._register(this.editor.onDidType((e=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,e)}finally{this._endUpdate()}}))),this._register(this.editor.onDidChangeModelContent((e=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}}))),this._register(this.editor.onDidChangeCursorSelection((e=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}})))}forceUpdate(e){this._beginUpdate();try{if(this._forceUpdate(),!e)return;return e(this._currentTransaction)}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e){return(0,mg.y0)(this,(t=>this.editor.onDidChangeConfiguration((i=>{i.hasChanged(e)&&t(void 0)}))),(()=>this.editor.getOption(e)))}setDecorations(e){const t=new Ae.Cm,i=this.editor.createDecorationsCollection();return t.add((0,mg.zL)({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},(t=>{const n=e.read(t);i.set(n)}))),t.add({dispose:()=>{i.clear()}}),t}createOverlayWidget(e){const t="observableOverlayWidget"+this._overlayWidgetCounter++,i={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(i);const n=(0,mg.fm)((t=>{e.position.read(t),e.minContentWidthInPx.read(t),this.editor.layoutOverlayWidget(i)}));return(0,Ae.s)((()=>{n.dispose(),this.editor.removeOverlayWidget(i)}))}}function HM(e,t){return(0,mg.ht)({createEmptyChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(t,i)=>{if(t.didChange(e)){const e=t.change;void 0!==e&&i.deltas.push(e),i.didChange=!0}return!0}},((i,n)=>{const s=e.read(i);n.didChange&&t(s,n.deltas)}))}var VM,zM=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},UM=function(e,t){return function(i,n){t(i,n,e)}};let KM=class extends Ae.jG{static{VM=this}static{this._breadcrumbsSourceFactory=(0,mg.FY)(VM,(()=>({dispose(){},getBreadcrumbItems:(e,t)=>[]})))}static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=n,this._modifiedOutlineSource=(0,Ty.a0)(this,(e=>{const t=this._editors.modifiedModel.read(e),i=VM._breadcrumbsSourceFactory.read(e);return t&&i?i(t,this._instantiationService):void 0})),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition((e=>{if(1===e.reason)return;const t=this._diffModel.get();(0,mg.Rn)((e=>{for(const i of this._editors.original.getSelections()||[])t?.ensureOriginalLineIsVisible(i.getStartPosition().lineNumber,0,e),t?.ensureOriginalLineIsVisible(i.getEndPosition().lineNumber,0,e)}))}))),this._register(this._editors.modified.onDidChangeCursorPosition((e=>{if(1===e.reason)return;const t=this._diffModel.get();(0,mg.Rn)((e=>{for(const i of this._editors.modified.getSelections()||[])t?.ensureModifiedLineIsVisible(i.getStartPosition().lineNumber,0,e),t?.ensureModifiedLineIsVisible(i.getEndPosition().lineNumber,0,e)}))})));const s=this._diffModel.map(((e,t)=>{const i=e?.unchangedRegions.read(t)??[];return 1===i.length&&1===i[0].modifiedLineNumber&&i[0].lineCount===this._editors.modifiedModel.read(t)?.getLineCount()?[]:i}));this.viewZones=(0,mg.rm)(this,((e,t)=>{const i=this._modifiedOutlineSource.read(e);if(!i)return{origViewZones:[],modViewZones:[]};const n=[],o=[],r=this._options.renderSideBySide.read(e),a=this._options.compactMode.read(e),l=s.read(e);for(let s=0;sh.getHiddenOriginalRange(e).startLineNumber-1)),i=new qI(e,12);n.push(i),t.add(new jM(this._editors.original,i,h,!r))}{const e=(0,mg.un)(this,(e=>h.getHiddenModifiedRange(e).startLineNumber-1)),i=new qI(e,12);o.push(i),t.add(new jM(this._editors.modified,i,h))}}else{{const e=(0,mg.un)(this,(e=>h.getHiddenOriginalRange(e).startLineNumber-1)),s=new qI(e,24);n.push(s),t.add(new $M(this._editors.original,s,h,h.originalUnchangedRange,!r,i,(e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0)),this._options))}{const e=(0,mg.un)(this,(e=>h.getHiddenModifiedRange(e).startLineNumber-1)),n=new qI(e,24);o.push(n),t.add(new $M(this._editors.modified,n,h,h.modifiedUnchangedRange,!1,i,(e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0)),this._options))}}}return{origViewZones:n,modViewZones:o}}));const o={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},r={description:"Fold Unchanged",glyphMarginHoverMessage:new Hn(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,jn.kg)("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+In.L.asClassName(vl.W.fold),zIndex:10001};this._register(zI(this._editors.original,(0,mg.un)(this,(e=>{const t=s.read(e),i=t.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:o})));for(const n of t)n.shouldHideControls(e)&&i.push({range:Xs.Q.fromPositions(new Gn.y(n.originalLineNumber,1)),options:r});return i})))),this._register(zI(this._editors.modified,(0,mg.un)(this,(e=>{const t=s.read(e),i=t.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:o})));for(const n of t)n.shouldHideControls(e)&&i.push({range:iE.M.ofLength(n.modifiedLineNumber,1).toInclusiveRange(),options:r});return i})))),this._register((0,mg.fm)((e=>{const t=s.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map((t=>t.getHiddenOriginalRange(e).toInclusiveRange())).filter(os.O9)),this._editors.modified.setHiddenAreas(t.map((t=>t.getHiddenModifiedRange(e).toInclusiveRange())).filter(os.O9))}finally{this._isUpdatingHiddenAreas=!1}}))),this._register(this._editors.modified.onMouseUp((e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){const t=e.target.position.lineNumber,i=this._diffModel.get();if(!i)return;const n=i.unchangedRegions.get().find((e=>e.modifiedUnchangedRange.includes(t)));if(!n)return;n.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}}))),this._register(this._editors.original.onMouseUp((e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){const t=e.target.position.lineNumber,i=this._diffModel.get();if(!i)return;const n=i.unchangedRegions.get().find((e=>e.originalUnchangedRange.includes(t)));if(!n)return;n.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}})))}};KM=VM=zM([UM(3,$n._Y)],KM);class jM extends $I{constructor(e,t,i,n=!1){const s=ui("div.diff-hidden-lines-widget");super(e,t,s.root),this._unchangedRegion=i,this._hide=n,this._nodes=ui("div.diff-hidden-lines-compact",[ui("div.line-left",[]),ui("div.text@text",[]),ui("div.line-right",[])]),s.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register((0,mg.fm)((e=>{if(!this._hide){const t=this._unchangedRegion.getHiddenModifiedRange(e).length,i=(0,jn.kg)("hiddenLines","{0} hidden lines",t);this._nodes.text.innerText=i}})))}}class $M extends $I{constructor(e,t,i,n,s,o,r,a){const l=ui("div.diff-hidden-lines-widget");super(e,t,l.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=n,this._hide=s,this._modifiedOutlineSource=o,this._revealModifiedHiddenLine=r,this._options=a,this._nodes=ui("div.diff-hidden-lines",[ui("div.top@top",{title:(0,jn.kg)("diff.hiddenLines.top","Click or drag to show more above")}),ui("div.center@content",{style:{display:"flex"}},[ui("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[ei("a",{title:(0,jn.kg)("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...Ml("$(unfold)"))]),ui("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),ui("div.bottom@bottom",{title:(0,jn.kg)("diff.bottom","Click or drag to show more below"),role:"button"})]),l.root.appendChild(this._nodes.root),this._hide?Yt(this._nodes.first):this._register(QI(this._nodes.first,{width:WM(this._editor).layoutInfoContentLeft})),this._register((0,mg.fm)((e=>{const t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!t),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle("canMoveBottom",!t);const i=this._unchangedRegion.isDragged.read(e),n=this._editor.getDomNode();n&&(n.classList.toggle("draggingUnchangedRegion",!!i),"top"===i?(n.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),n.classList.toggle("canMoveBottom",!t)):"bottom"===i?(n.classList.toggle("canMoveTop",!t),n.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(n.classList.toggle("canMoveTop",!1),n.classList.toggle("canMoveBottom",!1)))})));const h=this._editor;this._register(Ye(this._nodes.top,"mousedown",(e=>{if(0!==e.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let i=!1;const n=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const s=We(this._nodes.top),o=Ye(s,"mousemove",(e=>{const s=e.clientY-t;i=i||Math.abs(s)>2;const o=Math.round(s/h.getOption(67)),r=Math.max(0,Math.min(n+o,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(r,void 0)})),r=Ye(s,"mouseup",(e=>{i||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),o.dispose(),r.dispose()}))}))),this._register(Ye(this._nodes.bottom,"mousedown",(e=>{if(0!==e.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let i=!1;const n=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const s=We(this._nodes.bottom),o=Ye(s,"mousemove",(e=>{const s=e.clientY-t;i=i||Math.abs(s)>2;const o=Math.round(s/h.getOption(67)),r=Math.max(0,Math.min(n-o,this._unchangedRegion.getMaxVisibleLineCountBottom())),a=this._unchangedRegionRange.endLineNumberExclusive>h.getModel().getLineCount()?h.getContentHeight():h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(r,void 0);const l=this._unchangedRegionRange.endLineNumberExclusive>h.getModel().getLineCount()?h.getContentHeight():h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);h.setScrollTop(h.getScrollTop()+(l-a))})),r=Ye(s,"mouseup",(e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!i){const e=h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const t=h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);h.setScrollTop(h.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),o.dispose(),r.dispose()}))}))),this._register((0,mg.fm)((e=>{const t=[];if(!this._hide){const n=i.getHiddenModifiedRange(e).length,s=(0,jn.kg)("hiddenLines","{0} hidden lines",n),o=ei("span",{title:(0,jn.kg)("diff.hiddenLines.expandAll","Double click to unfold")},s);o.addEventListener("dblclick",(e=>{0===e.button&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))})),t.push(o);const r=this._unchangedRegion.getHiddenModifiedRange(e),a=this._modifiedOutlineSource.getBreadcrumbItems(r,e);if(a.length>0){t.push(ei("span",void 0,"\xa0\xa0|\xa0\xa0"));for(let e=0;e{this._revealModifiedHiddenLine(i.startLineNumber)}}}}Yt(this._nodes.others,...t)})))}}var qM,GM=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},QM=function(e,t){return function(i,n){t(i,n,e)}};let YM=class extends Ae.jG{static{qM=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=2*this.ONE_OVERVIEW_WIDTH}constructor(e,t,i,n,s,o,r){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=n,this._rootHeight=s,this._modifiedEditorLayoutInfo=o,this._themeService=r,this.width=qM.ENTIRE_DIFF_OVERVIEW_WIDTH;const a=(0,mg.y0)(this._themeService.onDidColorThemeChange,(()=>this._themeService.getColorTheme())),l=(0,mg.un)((e=>{const t=a.read(e);return{insertColor:t.getColor(to.ld8)||(t.getColor(to.Gj6)||to.EY1).transparent(2),removeColor:t.getColor(to.$BZ)||(t.getColor(to.GNm)||to.ZEf).transparent(2)}})),h=kh(document.createElement("div"));h.setClassName("diffViewport"),h.setPosition("absolute");const d=ui("div.diffOverview",{style:{position:"absolute",top:"0px",width:qM.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(UI(d,h.domNode)),this._register(Xe(d,Ut.POINTER_DOWN,(e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)}))),this._register(Ye(d,Ut.MOUSE_WHEEL,(e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)}),{passive:!1})),this._register(UI(this._rootElement,d)),this._register((0,mg.yC)(((e,t)=>{const i=this._diffModel.read(e),n=this._editors.original.createOverviewRuler("original diffOverviewRuler");n&&(t.add(n),t.add(UI(d,n.getDomNode())));const s=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(s&&(t.add(s),t.add(UI(d,s.getDomNode()))),!n||!s)return;const o=(0,mg.yQ)("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=(0,mg.yQ)("viewZoneChanged",this._editors.modified.onDidChangeViewZones),a=(0,mg.yQ)("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),c=(0,mg.yQ)("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);t.add((0,mg.fm)((e=>{o.read(e),r.read(e),a.read(e),c.read(e);const t=l.read(e),h=i?.diff.read(e)?.mappings;function d(e,t,i){const n=i._getViewModel();return n?e.filter((e=>e.length>0)).map((e=>{const i=n.coordinatesConverter.convertModelPositionToViewPosition(new Gn.y(e.startLineNumber,1)),s=n.coordinatesConverter.convertModelPositionToViewPosition(new Gn.y(e.endLineNumberExclusive,1)),o=s.lineNumber-i.lineNumber;return new Lv(i.lineNumber,s.lineNumber,o,t.toString())})):[]}const u=d((h||[]).map((e=>e.lineRangeMapping.original)),t.removeColor,this._editors.original),g=d((h||[]).map((e=>e.lineRangeMapping.modified)),t.insertColor,this._editors.modified);n?.setZones(u),s?.setZones(g)}))),t.add((0,mg.fm)((e=>{const t=this._rootHeight.read(e),i=this._rootWidth.read(e),o=this._modifiedEditorLayoutInfo.read(e);if(o){const i=qM.ENTIRE_DIFF_OVERVIEW_WIDTH-2*qM.ONE_OVERVIEW_WIDTH;n.setLayout({top:0,height:t,right:i+qM.ONE_OVERVIEW_WIDTH,width:qM.ONE_OVERVIEW_WIDTH}),s.setLayout({top:0,height:t,right:0,width:qM.ONE_OVERVIEW_WIDTH});const r=this._editors.modifiedScrollTop.read(e),a=this._editors.modifiedScrollHeight.read(e),l=this._editors.modified.getOption(104),d=new Hu(l.verticalHasArrows?l.arrowSize:0,l.verticalScrollbarSize,0,o.height,a,r);h.setTop(d.getSliderPosition()),h.setHeight(d.getSliderSize())}else h.setTop(0),h.setHeight(0);d.style.height=t+"px",d.style.left=i-qM.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",h.setWidth(qM.ENTIRE_DIFF_OVERVIEW_WIDTH)})))})))}};YM=qM=GM([QM(6,io.Gy)],YM);const ZM=[];class XM extends Ae.jG{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=n,this._selectedDiffs=(0,mg.un)(this,(e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!i)return ZM;const n=this._editors.modifiedSelections.read(e);if(n.every((e=>e.isEmpty())))return ZM;const s=new iE.S(n.map((e=>iE.M.fromRangeInclusive(e)))),o=i.mappings.filter((e=>e.lineRangeMapping.innerChanges&&s.intersects(e.lineRangeMapping.modified))).map((e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter((e=>n.some((t=>Xs.Q.areIntersecting(e.modifiedRange,t)))))})));return 0===o.length||o.every((e=>0===e.rangeMappings.length))?ZM:o})),this._register((0,mg.yC)(((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;const i=this._diffModel.read(e),n=i?.diff.read(e);if(!i||!n)return;if(i.movedTextToCompare.read(e))return;const s=[],o=this._selectedDiffs.read(e),r=new Set(o.map((e=>e.mapping)));if(o.length>0){const i=this._editors.modifiedSelections.read(e),n=t.add(new JM(i[i.length-1].positionLineNumber,this._widget,o.flatMap((e=>e.rangeMappings)),!0));this._editors.modified.addGlyphMarginWidget(n),s.push(n)}for(const a of n.mappings)if(!r.has(a)&&!a.lineRangeMapping.modified.isEmpty&&a.lineRangeMapping.innerChanges){const e=t.add(new JM(a.lineRangeMapping.modified.startLineNumber,this._widget,a.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(e),s.push(e)}t.add((0,Ae.s)((()=>{for(const e of s)this._editors.modified.removeGlyphMarginWidget(e)})))})))}}class JM extends Ae.jG{static{this.counter=0}getId(){return this._id}constructor(e,t,i,n){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=n,this._id="revertButton"+JM.counter++,this._domNode=ui("div.revertButton",{title:this._revertSelection?(0,jn.kg)("revertSelectedChanges","Revert Selected Changes"):(0,jn.kg)("revertChange","Revert Change")},[Tl(vl.W.arrowRight)]).root,this._register(Ye(this._domNode,Ut.MOUSE_DOWN,(e=>{2!==e.button&&(e.stopPropagation(),e.preventDefault())}))),this._register(Ye(this._domNode,Ut.MOUSE_UP,(e=>{e.stopPropagation(),e.preventDefault()}))),this._register(Ye(this._domNode,Ut.CLICK,(e=>{this._diffs instanceof sE.WL?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()})))}getDomNode(){return this._domNode}getPosition(){return{lane:Js.ZS.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}var eT=i(12146);function tT(e,t,i){const n=e.bindTo(t);return(0,mg.zL)({debugName:()=>`Set Context Key "${e.key}"`},(e=>{n.set(i(e))}))}var iT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},nT=function(e,t){return function(i,n){t(i,n,e)}};let sT=class extends Ae.jG{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,n,s,o,r){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=n,this._createInnerEditor=s,this._instantiationService=o,this._keybindingService=r,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new P.vl),this.modifiedScrollTop=(0,mg.y0)(this,this.modified.onDidScrollChange,(()=>this.modified.getScrollTop())),this.modifiedScrollHeight=(0,mg.y0)(this,this.modified.onDidScrollChange,(()=>this.modified.getScrollHeight())),this.modifiedObs=WM(this.modified),this.originalObs=WM(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=(0,mg.y0)(this,this.modified.onDidChangeCursorSelection,(()=>this.modified.getSelections()??[])),this.modifiedCursor=(0,mg.C)({owner:this,equalsFn:Gn.y.equals},(e=>this.modifiedSelections.read(e)[0]?.getPosition()??new Gn.y(1,1))),this.originalCursor=(0,mg.y0)(this,this.original.onDidChangeCursorPosition,(()=>this.original.getPosition()??new Gn.y(1,1))),this._argCodeEditorWidgetOptions=null,this._register((0,mg.Y)({createEmptyChangeSummary:()=>({}),handleChange:(e,t)=>(e.didChange(i.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)},((e,t)=>{i.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))})))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return n.setContextValue("isInDiffLeftEditor",!0),n}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return n.setContextValue("isInDiffRightEditor",!0),n}_constructInnerEditor(e,t,i,n){const s=this._createInnerEditor(e,t,i,n);return this._register(s.onDidContentSizeChange((e=>{const t=this.original.getContentWidth()+this.modified.getContentWidth()+YM.ENTIRE_DIFF_OVERVIEW_WIDTH,i=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:i,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})}))),s}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=Tc.revealHorizontalRightPadding.defaultValue+YM.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){e||(e="");const t=(0,jn.kg)("diff-aria-navigation-tip"," use {0} to open the accessibility help.",this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,""):""}};sT=iT([nT(5,$n._Y),nT(6,bd)],sT);class oT extends Ae.jG{constructor(){super(...arguments),this._id=++oT.idCounter,this._onDidDispose=this._register(new P.vl),this.onDidDispose=this._onDidDispose.event}static{this.idCounter=0}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,n=!0){this._targetEditor.revealRange(e,t,i,n)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}var rT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},aT=function(e,t){return function(i,n){t(i,n,e)}};let lT=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=(0,mg.FY)(this,0),this._screenReaderMode=(0,mg.y0)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>this._accessibilityService.isScreenReaderOptimized())),this.couldShowInlineViewBecauseOfSize=(0,mg.un)(this,(e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint)),this.renderOverviewRuler=(0,mg.un)(this,(e=>this._options.read(e).renderOverviewRuler)),this.renderSideBySide=(0,mg.un)(this,(e=>(!this.compactMode.read(e)||!this.shouldRenderInlineViewInSmartMode.read(e))&&(this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e))))),this.readOnly=(0,mg.un)(this,(e=>this._options.read(e).readOnly)),this.shouldRenderOldRevertArrows=(0,mg.un)(this,(e=>!!this._options.read(e).renderMarginRevertIcon&&(!!this.renderSideBySide.read(e)&&(!this.readOnly.read(e)&&!this.shouldRenderGutterMenu.read(e))))),this.shouldRenderGutterMenu=(0,mg.un)(this,(e=>this._options.read(e).renderGutterMenu)),this.renderIndicators=(0,mg.un)(this,(e=>this._options.read(e).renderIndicators)),this.enableSplitViewResizing=(0,mg.un)(this,(e=>this._options.read(e).enableSplitViewResizing)),this.splitViewDefaultRatio=(0,mg.un)(this,(e=>this._options.read(e).splitViewDefaultRatio)),this.ignoreTrimWhitespace=(0,mg.un)(this,(e=>this._options.read(e).ignoreTrimWhitespace)),this.maxComputationTimeMs=(0,mg.un)(this,(e=>this._options.read(e).maxComputationTime)),this.showMoves=(0,mg.un)(this,(e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e))),this.isInEmbeddedEditor=(0,mg.un)(this,(e=>this._options.read(e).isInEmbeddedEditor)),this.diffWordWrap=(0,mg.un)(this,(e=>this._options.read(e).diffWordWrap)),this.originalEditable=(0,mg.un)(this,(e=>this._options.read(e).originalEditable)),this.diffCodeLens=(0,mg.un)(this,(e=>this._options.read(e).diffCodeLens)),this.accessibilityVerbose=(0,mg.un)(this,(e=>this._options.read(e).accessibilityVerbose)),this.diffAlgorithm=(0,mg.un)(this,(e=>this._options.read(e).diffAlgorithm)),this.showEmptyDecorations=(0,mg.un)(this,(e=>this._options.read(e).experimental.showEmptyDecorations)),this.onlyShowAccessibleDiffViewer=(0,mg.un)(this,(e=>this._options.read(e).onlyShowAccessibleDiffViewer)),this.compactMode=(0,mg.un)(this,(e=>this._options.read(e).compactMode)),this.trueInlineDiffRenderingEnabled=(0,mg.un)(this,(e=>this._options.read(e).experimental.useTrueInlineView)),this.useTrueInlineDiffRendering=(0,mg.un)(this,(e=>!this.renderSideBySide.read(e)&&this.trueInlineDiffRenderingEnabled.read(e))),this.hideUnchangedRegions=(0,mg.un)(this,(e=>this._options.read(e).hideUnchangedRegions.enabled)),this.hideUnchangedRegionsRevealLineCount=(0,mg.un)(this,(e=>this._options.read(e).hideUnchangedRegions.revealLineCount)),this.hideUnchangedRegionsContextLineCount=(0,mg.un)(this,(e=>this._options.read(e).hideUnchangedRegions.contextLineCount)),this.hideUnchangedRegionsMinimumLineCount=(0,mg.un)(this,(e=>this._options.read(e).hideUnchangedRegions.minimumLineCount)),this._model=(0,mg.FY)(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,(e=>(0,eT.t)(this,(t=>{const i=e?.diff.read(t);return i?(n=i,s=this.trueInlineDiffRenderingEnabled.read(t),n.mappings.every((e=>0===e.lineRangeMapping.original.length||function(e){return 0===e.modified.length}(e.lineRangeMapping)||s&&_M(e.lineRangeMapping)))):void 0;var n,s})))).flatten().map(this,(e=>!!e)),this.inlineViewHideOriginalLineNumbers=this.compactMode;const i={...e,...hT(e,$d)};this._options=(0,mg.FY)(this,i)}updateOptions(e){const t=hT(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};function hT(e,t){return{enableSplitViewResizing:ic(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:rc(e.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:ic(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:ic(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:sc(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:sc(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:ic(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:ic(e.renderIndicators,t.renderIndicators),originalEditable:ic(e.originalEditable,t.originalEditable),diffCodeLens:ic(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:ic(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:hc(e.diffWordWrap,t.diffWordWrap,["off","on","inherit"]),diffAlgorithm:hc(e.diffAlgorithm,t.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:ic(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:ic(e.experimental?.showMoves,t.experimental.showMoves),showEmptyDecorations:ic(e.experimental?.showEmptyDecorations,t.experimental.showEmptyDecorations),useTrueInlineView:ic(e.experimental?.useTrueInlineView,t.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:ic(e.hideUnchangedRegions?.enabled??e.experimental?.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:sc(e.hideUnchangedRegions?.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:sc(e.hideUnchangedRegions?.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:sc(e.hideUnchangedRegions?.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:ic(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:ic(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:sc(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:ic(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:ic(e.renderGutterMenu,t.renderGutterMenu),compactMode:ic(e.compactMode,t.compactMode)}}lT=rT([aT(1,jr)],lT);var dT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},cT=function(e,t){return function(i,n){t(i,n,e)}};let uT=class extends oT{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,n,s,o,r,a){super(),this._domElement=e,this._parentContextKeyService=n,this._parentInstantiationService=s,this._accessibilitySignalService=r,this._editorProgressService=a,this.elements=ui("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[ui("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),ui("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),ui("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register((0,mg.X2)(this,void 0)),this._diffModel=(0,mg.un)(this,(e=>this._diffModelSrc.read(e)?.object)),this.onDidChangeModel=P.Jh.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new $C([ls.fN,this._contextKeyService]))),this._boundarySashes=(0,mg.FY)(this,void 0),this._accessibleDiffViewerShouldBeVisible=(0,mg.FY)(this,!1),this._accessibleDiffViewerVisible=(0,mg.un)(this,(e=>!!this._options.onlyShowAccessibleDiffViewer.read(e)||this._accessibleDiffViewerShouldBeVisible.read(e))),this._movedBlocksLinesPart=(0,mg.FY)(this,void 0),this._layoutInfo=(0,mg.un)(this,(e=>{const t=this._rootSizeObserver.width.read(e),i=this._rootSizeObserver.height.read(e);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=i+"px";const n=this._sash.read(e),s=this._gutter.read(e),o=s?.width.read(e)??0,r=this._overviewRulerPart.read(e)?.width??0;let a,l,h,d,c;if(!!n){const i=n.sashLeft.read(e);a=0,l=i-o-(this._movedBlocksLinesPart.read(e)?.width.read(e)??0),c=i-o,h=i,d=t-h-r}else{c=0;a=o,l=this._options.inlineViewHideOriginalLineNumbers.read(e)?0:Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(e)),h=o+l,d=t-h-r}return this.elements.original.style.left=a+"px",this.elements.original.style.width=l+"px",this._editors.original.layout({width:l,height:i},!0),s?.layout(c),this.elements.modified.style.left=h+"px",this.elements.modified.style.width=d+"px",this._editors.modified.layout({width:d,height:i},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}})),this._diffValue=this._diffModel.map(((e,t)=>e?.diff.read(t))),this.onDidUpdateDiff=P.Jh.fromObservableLight(this._diffValue),o.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register((0,Ae.s)((()=>this.elements.root.remove()))),this._rootSizeObserver=this._register(new KI(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(t.automaticLayout??!1),this._options=this._instantiationService.createInstance(lT,t),this._register((0,mg.fm)((e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))}))),this._contextKeyService.createKey(js.isEmbeddedDiffEditor.key,!1),this._register(tT(js.isEmbeddedDiffEditor,this._contextKeyService,(e=>this._options.isInEmbeddedEditor.read(e)))),this._register(tT(js.comparingMovedCode,this._contextKeyService,(e=>!!this._diffModel.read(e)?.movedTextToCompare.read(e)))),this._register(tT(js.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,(e=>this._options.couldShowInlineViewBecauseOfSize.read(e)))),this._register(tT(js.diffEditorInlineMode,this._contextKeyService,(e=>!this._options.renderSideBySide.read(e)))),this._register(tT(js.hasChanges,this._contextKeyService,(e=>(this._diffModel.read(e)?.diff.read(e)?.mappings.length??0)>0))),this._editors=this._register(this._instantiationService.createInstance(sT,this.elements.original,this.elements.modified,this._options,i,((e,t,i,n)=>this._createInnerEditor(e,t,i,n)))),this._register(tT(js.diffEditorOriginalWritable,this._contextKeyService,(e=>this._options.originalEditable.read(e)))),this._register(tT(js.diffEditorModifiedWritable,this._contextKeyService,(e=>!this._options.readOnly.read(e)))),this._register(tT(js.diffEditorOriginalUri,this._contextKeyService,(e=>this._diffModel.read(e)?.model.original.uri.toString()??""))),this._register(tT(js.diffEditorModifiedUri,this._contextKeyService,(e=>this._diffModel.read(e)?.model.modified.uri.toString()??""))),this._overviewRulerPart=(0,Ty.a0)(this,(e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance(qE(YM,e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map((e=>e.modifiedEditor))):void 0)).recomputeInitiallyAndOnChange(this._store);const l={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(((e,t)=>e-(this._overviewRulerPart.read(t)?.width??0)))};this._sashLayout=new SM(this._options,l),this._sash=(0,Ty.a0)(this,(e=>{const t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle("side-by-side",t),t?new kM(this.elements.root,l,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,(()=>this._sashLayout.resetSash())):void 0})).recomputeInitiallyAndOnChange(this._store);const h=(0,Ty.a0)(this,(e=>this._instantiationService.createInstance(qE(KM,e),this._editors,this._diffModel,this._options))).recomputeInitiallyAndOnChange(this._store);(0,Ty.a0)(this,(e=>this._instantiationService.createInstance(qE(yM,e),this._editors,this._diffModel,this._options,this))).recomputeInitiallyAndOnChange(this._store);const d=new Set,c=new Set;let u=!1;const g=(0,Ty.a0)(this,(e=>this._instantiationService.createInstance(qE(pM,e),We(this._domElement),this._editors,this._diffModel,this._options,this,(()=>u||h.get().isUpdatingHiddenAreas),d,c))).recomputeInitiallyAndOnChange(this._store),p=(0,mg.un)(this,(e=>{const t=g.read(e).viewZones.read(e).orig,i=h.read(e).viewZones.read(e).origViewZones;return t.concat(i)})),m=(0,mg.un)(this,(e=>{const t=g.read(e).viewZones.read(e).mod,i=h.read(e).viewZones.read(e).modViewZones;return t.concat(i)}));let f;this._register(YI(this._editors.original,p,(e=>{u=e}),d)),this._register(YI(this._editors.modified,m,(e=>{u=e,u?f=dw.capture(this._editors.modified):(f?.restore(this._editors.modified),f=void 0)}),c)),this._accessibleDiffViewer=(0,Ty.a0)(this,(e=>this._instantiationService.createInstance(qE(pE,e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,((e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t)),this._options.onlyShowAccessibleDiffViewer.map((e=>!e)),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map(((e,t)=>e?.diff.read(t)?.mappings.map((e=>e.lineRangeMapping)))),new kE(this._editors)))).recomputeInitiallyAndOnChange(this._store);const _=this._accessibleDiffViewerVisible.map((e=>e?"hidden":"visible"));this._register(QI(this.elements.modified,{visibility:_})),this._register(QI(this.elements.original,{visibility:_})),this._createDiffEditorContributions(),o.addDiffEditor(this),this._gutter=(0,Ty.a0)(this,(e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance(qE(RM,e),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0)),this._register((0,mg.OI)(this._layoutInfo)),(0,Ty.a0)(this,(e=>new(qE(bM,e))(this.elements.root,this._diffModel,this._layoutInfo.map((e=>e.originalEditor)),this._layoutInfo.map((e=>e.modifiedEditor)),this._editors))).recomputeInitiallyAndOnChange(this._store,(e=>{this._movedBlocksLinesPart.set(e,void 0)})),this._register(P.Jh.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,(e=>this._handleCursorPositionChange(e,!0)))),this._register(P.Jh.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,(e=>this._handleCursorPositionChange(e,!1))));const v=this._diffModel.map(this,((e,t)=>{if(e)return void 0===e.diff.read(t)&&!e.isDiffUpToDate.read(t)}));this._register((0,mg.yC)(((e,t)=>{if(!0===v.read(e)){const e=this._editorProgressService.show(!0,1e3);t.add((0,Ae.s)((()=>e.done())))}}))),this._register((0,mg.yC)(((e,t)=>{t.add(new(qE(XM,e))(this._editors,this._diffModel,this._options,this))}))),this._register((0,mg.yC)(((e,t)=>{const i=this._diffModel.read(e);if(i)for(const n of[i.model.original,i.model.modified])t.add(n.onWillDispose((e=>{(0,b.dz)(new b.D7("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)})))}))),this._register((0,mg.fm)((e=>{this._options.setModel(this._diffModel.read(e))})))}_createInnerEditor(e,t,i,n){return e.createInstance(YC,t,i,n)}_createDiffEditorContributions(){const e=xs.getDiffEditorContributions();for(const i of e)try{this._register(this._instantiationService.createInstance(i.ctor,this))}catch(t){(0,b.dz)(t)}}get _targetEditor(){return this._editors.modified}getEditorType(){return ub.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:this._diffModel.get()?.serializeState()}}restoreViewState(e){if(e&&e.original&&e.modified){const t=e;this._editors.original.restoreViewState(t.original),this._editors.modified.restoreViewState(t.modified),t.modelState&&this._diffModel.get()?.restoreSerializedState(t.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(eM,e,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(e){const t=e?"model"in e?JI.create(e).createNewRef(this):JI.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){const i=this._diffModel.get();!e&&i&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==e?.object&&(0,mg.PO)(t,(t=>{const i=e?.object;mg.y0.batchEventsGlobally(t,(()=>{this._editors.original.setModel(i?i.model.original:null),this._editors.modified.setModel(i?i.model.modified:null)}));const n=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(e?.createNewRef(this),t),setTimeout((()=>{n?.dispose()}),0)}))}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){const e=this._diffModel.get()?.diff.get();return e?e.mappings.map((e=>{const t=e.lineRangeMapping;let i,n,s,o,r=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,n=0,r=void 0):(i=t.original.startLineNumber,n=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(s=t.modified.startLineNumber-1,o=0,r=void 0):(s=t.modified.startLineNumber,o=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:n,modifiedStartLineNumber:s,modifiedEndLineNumber:o,charChanges:r?.map((e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn})))}})):null}revert(e){const t=this._diffModel.get();t&&t.isDiffUpToDate.get()&&this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map((e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)})));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new Gn.y(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){const t=this._diffModel.get()?.diff.get()?.mappings;if(!t||0===t.length)return;const i=this._editors.modified.getPosition().lineNumber;let n;n="next"===e?t.find((e=>e.lineRangeMapping.modified.startLineNumber>i))??t[0]:(0,kb.Uk)(t,(e=>e.lineRangeMapping.modified.startLineNumber{const t=e.diff.get()?.mappings;t&&0!==t.length&&this._goTo(t[0])}))}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){const e=this._editors.modified.hasWidgetFocus(),t=e?this._editors.modified:this._editors.original,i=e?this._editors.original:this._editors.modified;let n;const s=t.getSelection();if(s){const t=this._diffModel.get()?.diff.get()?.mappings.map((t=>e?t.lineRangeMapping.flip():t.lineRangeMapping));if(t){const e=XI(s.getStartPosition(),t),i=XI(s.getEndPosition(),t);n=Xs.Q.plusRange(e,i)}}return{destination:i,destinationSelection:n}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){const e=this._diffModel.get()?.unchangedRegions.get();e&&(0,mg.Rn)((t=>{for(const i of e)i.collapseAll(t)}))}showAllUnchangedRegions(){const e=this._diffModel.get()?.unchangedRegions.get();e&&(0,mg.Rn)((t=>{for(const i of e)i.showAll(t)}))}_handleCursorPositionChange(e,t){if(3===e?.reason){const i=this._diffModel.get()?.diff.get()?.mappings.find((i=>t?i.lineRangeMapping.modified.contains(e.position.lineNumber):i.lineRangeMapping.original.contains(e.position.lineNumber)));i?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(lE.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):i?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(lE.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):i&&this._accessibilitySignalService.playSignal(lE.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};uT=dT([cT(3,ls.fN),cT(4,$n._Y),cT(5,qn),cT(6,oE),cT(7,qh)],uT);class gT extends Ss{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:(0,jn.aS)("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:ls.M$.has("isInDiffEditor")})}run(e,...t){const i=e.get(Fp.pG),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class pT extends Ss{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:(0,jn.aS)("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:ls.M$.has("isInDiffEditor")})}run(e,...t){const i=e.get(Fp.pG),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const mT=(0,jn.aS)("diffEditor","Diff Editor");class fT extends Ss{constructor(){super({id:"diffEditor.revert",title:(0,jn.aS)("revert","Revert"),f1:!1,category:mT})}run(e,t){const i=function(e,t,i){const n=e.get(qn);return n.listDiffEditors().find((e=>{const n=e.getModifiedEditor(),s=e.getOriginalEditor();return n&&n.getModel()?.uri.toString()===i.toString()&&s&&s.getModel()?.uri.toString()===t.toString()}))||null}(e,t.originalUri,t.modifiedUri);i instanceof uT&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const _T=(0,jn.aS)("accessibleDiffViewer","Accessible Diff Viewer");class vT extends Ss{static{this.id="editor.action.accessibleDiffViewer.next"}constructor(){super({id:vT.id,title:(0,jn.aS)("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:_T,precondition:ls.M$.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=CT(e);t?.accessibleDiffViewerNext()}}class bT extends Ss{static{this.id="editor.action.accessibleDiffViewer.prev"}constructor(){super({id:bT.id,title:(0,jn.aS)("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:_T,precondition:ls.M$.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=CT(e);t?.accessibleDiffViewerPrev()}}function CT(e){const t=e.get(qn).listDiffEditors(),i=yt();if(i)for(const n of t){if(wT(n.getContainerDomNode(),i))return n}return null}function wT(e,t){let i=t;for(;i;){if(i===e)return!0;i=i.parentElement}return!1}ks(class extends Ss{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:(0,jn.aS)("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:vl.W.map,toggled:ls.M$.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:ls.M$.has("isInDiffEditor"),menu:{when:ls.M$.has("isInDiffEditor"),id:_s.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Fp.pG),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}),ks(gT),ks(pT),Cs.appendMenuItem(_s.EditorTitle,{command:{id:(new pT).desc.id,title:(0,jn.kg)("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:ls.M$.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:ls.M$.has("isInDiffEditor")},order:11,group:"1_diff",when:ls.M$.and(js.diffEditorRenderSideBySideInlineBreakpointReached,ls.M$.has("isInDiffEditor"))}),Cs.appendMenuItem(_s.EditorTitle,{command:{id:(new gT).desc.id,title:(0,jn.kg)("showMoves","Show Moved Code Blocks"),icon:vl.W.move,toggled:ls.f1.create("config.diffEditor.experimental.showMoves",!0),precondition:ls.M$.has("isInDiffEditor")},order:10,group:"1_diff",when:ls.M$.has("isInDiffEditor")}),ks(fT);for(const ZJ of[{icon:vl.W.arrowRight,key:js.diffEditorInlineMode.toNegated()},{icon:vl.W.discard,key:js.diffEditorInlineMode}])Cs.appendMenuItem(_s.DiffEditorHunkToolbar,{command:{id:(new fT).desc.id,title:(0,jn.kg)("revertHunk","Revert Block"),icon:ZJ.icon},when:ls.M$.and(js.diffEditorModifiedWritable,ZJ.key),order:5,group:"primary"}),Cs.appendMenuItem(_s.DiffEditorSelectionToolbar,{command:{id:(new fT).desc.id,title:(0,jn.kg)("revertSelection","Revert Selection"),icon:ZJ.icon},when:ls.M$.and(js.diffEditorModifiedWritable,ZJ.key),order:5,group:"primary"});ks(class extends As{constructor(){super({id:"diffEditor.switchSide",title:(0,jn.aS)("switchSide","Switch Side"),icon:vl.W.arrowSwap,precondition:ls.M$.has("isInDiffEditor"),f1:!0,category:mT})}runEditorCommand(e,t,i){const n=CT(e);if(n instanceof uT){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}),ks(class extends As{constructor(){super({id:"diffEditor.exitCompareMove",title:(0,jn.aS)("exitCompareMove","Exit Compare Move"),icon:vl.W.close,precondition:js.comparingMovedCode,f1:!1,category:mT,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=CT(e);n instanceof uT&&n.exitCompareMove()}}),ks(class extends As{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:(0,jn.aS)("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:vl.W.fold,precondition:ls.M$.has("isInDiffEditor"),f1:!0,category:mT})}runEditorCommand(e,t,...i){const n=CT(e);n instanceof uT&&n.collapseAllUnchangedRegions()}}),ks(class extends As{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:(0,jn.aS)("showAllUnchangedRegions","Show All Unchanged Regions"),icon:vl.W.unfold,precondition:ls.M$.has("isInDiffEditor"),f1:!0,category:mT})}runEditorCommand(e,t,...i){const n=CT(e);n instanceof uT&&n.showAllUnchangedRegions()}}),Cs.appendMenuItem(_s.EditorTitle,{command:{id:vT.id,title:(0,jn.kg)("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:ls.M$.has("isInDiffEditor")},order:10,group:"2_diff",when:ls.M$.and(js.accessibleDiffViewerVisible.negate(),ls.M$.has("isInDiffEditor"))}),as.registerCommandAlias("editor.action.diffReview.next",vT.id),ks(vT),as.registerCommandAlias("editor.action.diffReview.prev",bT.id),ks(bT);var yT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ST=function(e,t){return function(i,n){t(i,n,e)}};class kT{remove(){this.parent?.children.delete(this.id)}static findId(e,t){let i;"string"==typeof e?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,void 0!==t.children.get(i)&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let n=i;for(let s=0;void 0!==t.children.get(n);s++)n=`${i}_${s}`;return n}static empty(e){return 0===e.children.size}}class LT extends kT{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class xT extends kT{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class DT extends kT{static create(e,t,i){const n=new na.Qi(i),s=new DT(t.uri),o=e.ordered(t),r=o.map(((e,i)=>{const o=kT.findId(`provider_${i}`,s),r=new xT(o,s,e.displayName??"Unknown Outline Provider",i);return Promise.resolve(e.provideDocumentSymbols(t,n.token)).then((e=>{for(const t of e||[])DT._makeOutlineElement(t,r);return r}),(e=>((0,b.M_)(e),r))).then((e=>{kT.empty(e)?e.remove():s._groups.set(o,e)}))})),a=e.onDidChange((()=>{const i=e.ordered(t);(0,ia.aI)(i,o)||n.cancel()}));return Promise.all(r).then((()=>n.token.isCancellationRequested&&!i.isCancellationRequested?DT.create(e,t,i):s._compact())).finally((()=>{n.dispose(),a.dispose(),n.dispose()}))}static _makeOutlineElement(e,t){const i=kT.findId(e,t),n=new LT(i,t,e);if(e.children)for(const s of e.children)DT._makeOutlineElement(s,n);t.children.set(n.id,n)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)0===i.children.size?this._groups.delete(t):e+=1;if(1!==e)this.children=this._groups;else{const e=ss.f.first(this._groups.values());for(const[,t]of e.children)t.parent=this,this.children.set(t.id,t)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof LT?e.push(t.symbol):e.push(...ss.f.map(t.children.values(),(e=>e.symbol)));return e.sort(((e,t)=>Xs.Q.compareRangesUsingStarts(e.range,t.range)))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return DT._flattenDocumentSymbols(t,e,""),t.sort(((e,t)=>Gn.y.compare(Xs.Q.getStartPosition(e.range),Xs.Q.getStartPosition(t.range))||Gn.y.compare(Xs.Q.getEndPosition(t.range),Xs.Q.getEndPosition(e.range))))}static _flattenDocumentSymbols(e,t,i){for(const n of t)e.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&DT._flattenDocumentSymbols(e,n.children,n.name)}}const NT=(0,$n.u1)("IOutlineModelService");let IT=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Ae.Cm,this._cache=new Si.qK(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved((e=>{this._cache.delete(e.id)})))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,n=i.ordered(e);let s=this._cache.get(e.id);if(!s||s.versionId!==e.getVersionId()||!(0,ia.aI)(s.provider,n)){const t=new na.Qi;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:t,promise:DT.create(i,e,t.token),model:void 0},this._cache.set(e.id,s);const o=Date.now();s.promise.then((t=>{s.model=t,this._debounceInformation.update(e,Date.now()-o)})).catch((t=>{this._cache.delete(e.id)}))}if(s.model)return s.model;s.promiseCnt+=1;const o=t.onCancellationRequested((()=>{0==--s.promiseCnt&&(s.source.cancel(),this._cache.delete(e.id))}));try{return await s.promise}finally{o.dispose()}}};IT=yT([ST(0,La.ILanguageFeaturesService),ST(1,Mw.ILanguageFeatureDebounceService),ST(2,Qn.IModelService)],IT),(0,cl.v)(NT,IT,1);var ET=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},MT=function(e,t){return function(i,n){t(i,n,e)}};let TT=class extends Ae.jG{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=(0,mg.FY)(this,void 0);const n=(0,mg.yQ)("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=(0,mg.yQ)("_textModel.onDidChangeContent",P.Jh.debounce((e=>this._textModel.onDidChangeContent(e)),(()=>{}),100));this._register((0,mg.yC)((async(e,t)=>{n.read(e),s.read(e);const i=t.add(new ZI),o=await this._outlineModelService.getOrCreate(this._textModel,i.token);t.isDisposed||this._currentModel.set(o,void 0)})))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter((t=>e.contains(t.range.startLineNumber)&&!e.contains(t.range.endLineNumber)));return n.sort((0,ia.Hw)((0,ia.VE)((e=>e.range.endLineNumber-e.range.startLineNumber),ia.U9))),n.map((e=>({name:e.name,kind:e.kind,startLineNumber:e.range.startLineNumber})))}};TT=ET([MT(1,La.ILanguageFeaturesService),MT(2,NT)],TT),KM.setBreadcrumbsSourceFactory(((e,t)=>t.createInstance(TT,e)));class RT{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new Xs.Q(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new $s.L(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new $s.L(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumberthis._onEditorMouseDown(e)))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(e)))),this._register(this._editor.onMouseDrag((e=>this._onEditorMouseDrag(e)))),this._register(this._editor.onMouseDrop((e=>this._onEditorMouseDrop(e)))),this._register(this._editor.onMouseDropCanceled((()=>this._onEditorMouseDropCanceled()))),this._register(this._editor.onKeyDown((e=>this.onEditorKeyDown(e)))),this._register(this._editor.onKeyUp((e=>this.onEditorKeyUp(e)))),this._register(this._editor.onDidBlurEditorWidget((()=>this.onEditorBlur()))),this._register(this._editor.onDidBlurEditorText((()=>this.onEditorBlur()))),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){this._editor.getOption(35)&&!this._editor.getOption(22)&&(AT(e)&&(this._modifierPressed=!0),this._mouseDown&&AT(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){this._editor.getOption(35)&&!this._editor.getOption(22)&&(AT(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===PT.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(null===this._dragSelection){const e=(this._editor.getSelections()||[]).filter((e=>t.position&&e.containsPosition(t.position)));if(1!==e.length)return;this._dragSelection=e[0]}AT(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new Gn.y(e.target.position.lineNumber,e.target.position.column);if(null===this._dragSelection){let i=null;if(e.event.shiftKey){const e=this._editor.getSelection();if(e){const{selectionStartLineNumber:n,selectionStartColumn:s}=e;i=[new $s.L(n,s,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map((e=>e.containsPosition(t)?new $s.L(t.lineNumber,t.column,t.lineNumber,t.column):e));this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(AT(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(PT.ID,new RT(this._dragSelection,t,AT(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}static{this._DECORATION_OPTIONS=eo.kI.register({description:"dnd-target",className:"dnd-target"})}showAt(e){this._dndDecorationIds.set([{range:new Xs.Q(e.lineNumber,e.column,e.lineNumber,e.column),options:PT._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return 6===e.type||7===e.type}_hitMargin(e){return 2===e.type||3===e.type||4===e.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}Bs(PT.ID,PT,2),as.registerCommand("_executeDocumentSymbolProvider",(async function(e,...t){const[i]=t;(0,os.j)(Bn.r.isUri(i));const n=e.get(NT),s=e.get(Yn.ITextModelService),o=await s.createModelReference(i);try{return(await n.getOrCreate(o.object.textEditorModel,na.XO.None)).getTopLevelSymbols()}finally{o.dispose()}})),Bs(Pd.ID,Pd,0),Ow(Ya),Os(new class extends Ms{constructor(){super({id:Td,precondition:Rd,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t){return Pd.get(t)?.changePasteType()}}),Os(new class extends Ms{constructor(){super({id:"editor.hidePasteWidget",precondition:Rd,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t){Pd.get(t)?.clearWidgets()}}),Fs(class e extends Ts{static{this.argsSchema={type:"object",properties:{kind:{type:"string",description:jn.kg("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}}}constructor(){super({id:"editor.action.pasteAs",label:jn.kg("pasteAs","Paste As..."),alias:"Paste As...",precondition:js.writable,metadata:{description:"Paste as",args:[{name:"args",schema:e.argsSchema}]}})}run(e,t,i){let n="string"==typeof i?.kind?i.kind:void 0;return!n&&i&&(n="string"==typeof i.id?i.id:void 0),Pd.get(t)?.pasteAs(n?new ca(n):void 0)}}),Fs(class extends Ts{constructor(){super({id:"editor.action.pasteAsText",label:jn.kg("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:js.writable})}run(e,t){return Pd.get(t)?.pasteAs({providerId:Ka.id})}});var OT,FT=i(2603),WT=i(26756),BT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},HT=function(e,t){return function(i,n){t(i,n,e)}};const VT="editor.experimental.dropIntoEditor.defaultProvider",zT="editor.changeDropType",UT=new ls.N1("dropWidgetVisible",!1,(0,jn.kg)("dropWidgetVisible","Whether the drop widget is showing"));let KT=class extends Ae.jG{static{OT=this}static{this.ID="editor.contrib.dropIntoEditorController"}static get(e){return e.getContribution(OT.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=ma.getInstance(),this._dropProgressManager=this._register(t.createInstance(Sl,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(Nd,"dropIntoEditor",e,UT,{id:zT,label:(0,jn.kg)("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor((t=>this.onDropIntoEditor(e,t.position,t.event))))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){if(!i.dataTransfer||!e.hasModel())return;this._currentOperation?.cancel(),e.focus(),e.setPosition(t);const n=(0,A.SS)((async s=>{const o=new Ae.Cm,r=o.add(new fl(e,1,void 0,s));try{const n=await this.extractDataTransferData(i);if(0===n.size||r.token.isCancellationRequested)return;const a=e.getModel();if(!a)return;const l=this._languageFeaturesService.documentDropEditProvider.ordered(a).filter((e=>!e.dropMimeTypes||e.dropMimeTypes.some((e=>n.matches(e))))),h=o.add(await this.getDropEdits(l,a,t,n,r));if(r.token.isCancellationRequested)return;if(h.edits.length){const i=this.getInitialActiveEditIndex(a,h.edits),n="afterDrop"===e.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([Xs.Q.fromPositions(t)],{activeEditIndex:i,allEdits:h.edits},n,(async e=>e),s)}}finally{o.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}}));this._dropProgressManager.showWhile(t,(0,jn.kg)("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const o=new Ae.Cm,r=await(0,A.PK)(Promise.all(e.map((async e=>{try{const r=await e.provideDocumentDropEdits(t,i,n,s.token);return r&&o.add(r),r?.edits.map((t=>({...t,providerId:e.id})))}catch(r){console.error(r)}}))),s.token);return{edits:dl((0,ia.Yc)(r??[]).flat()),dispose:()=>o.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(VT,{resource:e.uri});for(const[n,s]of Object.entries(i)){const e=new ca(s),i=t.findIndex((t=>e.value===t.providerId&&t.handledMimeType&&la(n,[t.handledMimeType])));if(i>=0)return i}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new ra;const t=ba(e.dataTransfer);if(this.treeItemsTransfer.hasData(FT.DraggedTreeItemsIdentifier.prototype)){const e=this.treeItemsTransfer.getData(FT.DraggedTreeItemsIdentifier.prototype);if(Array.isArray(e))for(const i of e){const e=await this._treeViewsDragAndDropService.removeDragOperationTransfer(i.identifier);if(e)for(const[i,n]of e)t.replace(i,n)}}return t}};KT=OT=BT([HT(1,$n._Y),HT(2,Fp.pG),HT(3,La.ILanguageFeaturesService),HT(4,WT.ITreeViewsDnDService)],KT),Bs(KT.ID,KT,2),Ow(Qa),Os(new class extends Ms{constructor(){super({id:zT,precondition:UT,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t,i){KT.get(t)?.changeDropType()}}),Os(new class extends Ms{constructor(){super({id:"editor.hideDropWidget",precondition:UT,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t,i){KT.get(t)?.clearWidgets()}}),hs.O.as(Rc.Fd.Configuration).registerConfiguration({...Ac,properties:{[VT]:{type:"object",scope:5,description:jn.kg("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});var jT=i(104);class $T{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map((e=>this._editor.getModel().getDecorationRange(e))).filter((e=>!!e));if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e{if(null!==this._highlightedDecorationId&&(e.changeDecorationOptions(this._highlightedDecorationId,$T._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==t&&(this._highlightedDecorationId=t,e.changeDecorationOptions(this._highlightedDecorationId,$T._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(e.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==t){let i=this._editor.getModel().getDecorationRange(t);if(i.startLineNumber!==i.endLineNumber&&1===i.endColumn){const e=i.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);i=new Xs.Q(i.startLineNumber,i.startColumn,e,t)}this._rangeHighlightDecorationId=e.addDecoration(i,$T._RANGE_HIGHLIGHT_DECORATION)}})),i}set(e,t){this._editor.changeDecorations((i=>{let n=$T._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=$T._FIND_MATCH_NO_OVERVIEW_DECORATION;const t=this._editor.getModel().getLineCount(),i=this._editor.getLayoutInfo().height/t,o=Math.max(2,Math.ceil(3/i));let r=e[0].range.startLineNumber,a=e[0].range.endLineNumber;for(let n=1,l=e.length;n=t.startLineNumber?t.endLineNumber>a&&(a=t.endLineNumber):(s.push({range:new Xs.Q(r,1,a,1),options:$T._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=t.startLineNumber,a=t.endLineNumber)}s.push({range:new Xs.Q(r,1,a,1),options:$T._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const o=new Array(e.length);for(let t=0,r=e.length;ti.removeDecoration(e))),this._findScopeDecorationIds=[]),t?.length&&(this._findScopeDecorationIds=t.map((e=>i.addDecoration(e,$T._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(e){if(0===this._decorations.length)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(n&&!(n.endLineNumber>e.lineNumber)){if(n.endLineNumbere.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(0===this._decorations.length)return null;for(let t=0,i=this._decorations.length;te.lineNumber)return n;if(!(n.startColumn0){const e=[];for(let t=0;tXs.Q.compareRangesUsingStarts(e.range,t.range)));const i=[];let n=e[0];for(let t=1;t0?t[0].toUpperCase()+t.substr(1):e[0][0].toUpperCase()!==e[0][0]&&t.length>0?t[0].toLowerCase()+t.substr(1):t}return t}function QT(e,t,i){return-1!==e[0].indexOf(i)&&-1!==t.indexOf(i)&&e[0].split(i).length===t.split(i).length}function YT(e,t,i){const n=t.split(i),s=e[0].split(i);let o="";return n.forEach(((e,t)=>{o+=GT([s[t]],e)+i})),o.slice(0,-1)}class ZT{constructor(e){this.staticValue=e,this.kind=0}}class XT{constructor(e){this.pieces=e,this.kind=1}}class JT{static fromStaticValue(e){return new JT([eR.staticValue(e)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(e){e&&0!==e.length?1===e.length&&null!==e[0].staticValue?this._state=new ZT(e[0].staticValue):this._state=new XT(e):this._state=new ZT("")}buildReplaceString(e,t){if(0===this._state.kind)return t?GT(e,this._state.staticValue):this._state.staticValue;let i="";for(let n=0,s=this._state.pieces.length;n0){const e=[],i=t.caseOps.length;let n=0;for(let o=0,r=s.length;o=i){e.push(s.slice(o));break}switch(t.caseOps[n]){case"U":e.push(s[o].toUpperCase());break;case"u":e.push(s[o].toUpperCase()),n++;break;case"L":e.push(s[o].toLowerCase());break;case"l":e.push(s[o].toLowerCase()),n++;break;default:e.push(s[o])}}s=e.join("")}i+=s}return i}static _substitute(e,t){if(null===t)return"";if(0===e)return t[0];let i="";for(;e>0;){if(e{if(this._editor.hasModel())return this.research(!1)}),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((e=>{3!==e.reason&&5!==e.reason&&6!==e.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,Ae.AS)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){if(!this._isDisposed&&this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)){this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)}),240)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)}}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;void 0!==t?null!==t&&(i=Array.isArray(t)?t:[t]):i=this._decorations.getFindScopes(),null!==i&&(i=i.map((e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return 1===e.endColumn&&(t-=1),new Xs.Q(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e})));const n=this._findMatches(i,!1,NR);this._decorations.set(n,i);const s=this._editor.getSelection();let o=this._decorations.getCurrentMatchesPosition(s);if(0===o&&n.length>0){const e=(0,kb.hw)(n.map((e=>e.range)),(e=>Xs.Q.compareRangesUsingStarts(e,s)>=0));o=e>0?e-1+1:o}this._state.changeMatchInfo(o,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||1===n?(1===i?i=s.getLineCount():i--,n=s.getLineMaxColumn(i)):n--,new Gn.y(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const t=this._decorations.matchAfterPosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===s.getLineMaxColumn(i)?(i===s.getLineCount()?i=1:i++,n=1):n++,new Gn.y(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const t=this._decorations.matchBeforePosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=s)break;const o=e.charCodeAt(n);if(36===o){i.emitUnchanged(n-1),i.emitStatic("$",n+1);continue}if(48===o||38===o){i.emitUnchanged(n-1),i.emitMatchIndex(0,n+1,t),t.length=0;continue}if(49<=o&&o<=57){let r=o-48;if(n+1=s)break;const o=e.charCodeAt(n);switch(o){case 92:i.emitUnchanged(n-1),i.emitStatic("\\",n+1);break;case 110:i.emitUnchanged(n-1),i.emitStatic("\n",n+1);break;case 116:i.emitUnchanged(n-1),i.emitStatic("\t",n+1);break;case 117:case 85:case 108:case 76:i.emitUnchanged(n-1),i.emitStatic("",n+1),t.push(String.fromCharCode(o))}}}return i.finalize()}(this._state.replaceString):JT.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){const n=e.buildReplaceString(i.matches,this._state.preserveCase),s=new wo(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Gn.y(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const n=(e||[null]).map((e=>IR._getSearchRange(this._editor.getModel(),e)));return this._editor.getModel().findMatches(this._state.searchString,n,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();null===e&&this._state.matchesCount>=NR?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const e=new jT.lt(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e="mu";t.ignoreCase&&(e+="i"),t.global&&(e+="g"),t=new RegExp(t.source,e)}const i=this._editor.getModel(),n=i.getValue(1),s=i.getFullModelRange(),o=this._getReplacePattern();let r;const a=this._state.preserveCase;r=o.hasReplacementPatterns||a?n.replace(t,(function(){return o.buildReplaceString(arguments,a)})):n.replace(t,o.buildReplaceString(null,a));const l=new Lo(s,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",l)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let o=0,r=i.length;oe.range)),n);this._executeEditorCommand("replaceAll",s)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let t=this._findMatches(e,!1,1073741824).map((e=>new $s.L(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)));const i=this._editor.getSelection();for(let n=0,s=t.length;nthis._hide()),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const n={inputActiveOptionBorder:(0,to.GuP)(to.uNK),inputActiveOptionForeground:(0,to.GuP)(to.$$0),inputActiveOptionBackground:(0,to.GuP)(to.c1f)},s=this._register(ld());this.caseSensitive=this._register(new _L({appendTitle:this._keybindingLabelFor(CR),isChecked:this._state.matchCase,hoverDelegate:s,...n})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new vL({appendTitle:this._keybindingLabelFor(wR),isChecked:this._state.wholeWord,hoverDelegate:s,...n})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new bL({appendTitle:this._keybindingLabelFor(yR),isChecked:this._state.isRegex,hoverDelegate:s,...n})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange((()=>{this._state.change({isRegex:this.regex.checked},!1)}))),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange((e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()}))),this._register(Ye(this._domNode,Ut.MOUSE_LEAVE,(e=>this._onMouseLeave()))),this._register(Ye(this._domNode,"mouseover",(e=>this._onMouseOver())))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return ER.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}function MR(e,t){return 1===e||2!==e&&t}class TR extends Ae.jG{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return MR(this._isRegexOverride,this._isRegex)}get wholeWord(){return MR(this._wholeWordOverride,this._wholeWord)}get matchCase(){return MR(this._matchCaseOverride,this._matchCase)}get preserveCase(){return MR(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new P.vl),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,s=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,s=!0),void 0!==i&&(Xs.Q.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){const n={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const o=this.isRegex,r=this.wholeWord,a=this.matchCase,l=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,s=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,s=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,s=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,s=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase),void 0!==e.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&(e.searchScope?.every((e=>this._searchScope?.some((t=>!Xs.Q.equalsRange(t,e)))))||(this._searchScope=e.searchScope,n.searchScope=!0,s=!0)),void 0!==e.loop&&this._loop!==e.loop&&(this._loop=e.loop,n.loop=!0,s=!0),void 0!==e.isSearching&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,n.isSearching=!0,s=!0),void 0!==e.filters&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,n.filters=!0,s=!0),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,o!==this.isRegex&&(s=!0,n.isRegex=!0),r!==this.wholeWord&&(s=!0,n.wholeWord=!0),a!==this.matchCase&&(s=!0,n.matchCase=!0),l!==this.preserveCase&&(s=!0,n.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=NR}}const RR=jn.kg("defaultLabel","input"),AR=jn.kg("label.preserveCaseToggle","Preserve Case");class PR extends gL{constructor(e){super({icon:vl.W.preserveCase,title:AR+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ad("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class OR extends Pu{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new P.vl),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new P.vl),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new P.vl),this._onInput=this._register(new P.vl),this._onKeyUp=this._register(new P.vl),this._onPreserveCaseKeyDown=this._register(new P.vl),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||RR;const s=n.appendPreserveCaseLabel||"",o=n.history||[],r=!!n.flexibleHeight,a=!!n.flexibleWidth,l=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new kL(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:o,showHistoryHint:n.showHistoryHint,flexibleHeight:r,flexibleWidth:a,flexibleMaxHeight:l,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new PR({appendTitle:s,isChecked:!1,...n.toggleStyles})),this._register(this.preserveCase.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((e=>{this._onPreserveCaseKeyDown.fire(e)}))),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const h=[this.preserveCase.domNode];this.onkeydown(this.domNode,(e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){const t=h.indexOf(this.domNode.ownerDocument.activeElement);if(t>=0){let i=-1;e.equals(17)?i=(t+1)%h.length:e.equals(15)&&(i=0===t?h.length-1:t-1),e.equals(9)?(h[t].blur(),this.inputBox.focus()):i>=0&&h[i].focus(),jt(e,!0)}}}));const d=document.createElement("div");d.className="controls",d.style.display=this._showOptionButtons?"block":"none",d.appendChild(this.preserveCase.domNode),this.domNode.appendChild(d),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var FR=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},WR=function(e,t){return function(i,n){t(i,n,e)}};const BR=new ls.N1("suggestWidgetVisible",!1,(0,jn.kg)("suggestWidgetVisible","Whether suggestion are visible")),HR="historyNavigationWidgetFocus",VR="historyNavigationForwardsEnabled",zR="historyNavigationBackwardsEnabled";let UR;const KR=[];function jR(e,t){if(KR.includes(t))throw new Error("Cannot register the same widget multiple times");KR.push(t);const i=new Ae.Cm,n=new ls.N1(HR,!1).bindTo(e),s=new ls.N1(VR,!0).bindTo(e),o=new ls.N1(zR,!0).bindTo(e),r=()=>{n.set(!0),UR=t},a=()=>{n.set(!1),UR===t&&(UR=void 0)};return St(t.element)&&r(),i.add(t.onDidFocus((()=>r()))),i.add(t.onDidBlur((()=>a()))),i.add((0,Ae.s)((()=>{KR.splice(KR.indexOf(t),1),a()}))),{historyNavigationForwardsEnablement:s,historyNavigationBackwardsEnablement:o,dispose(){i.dispose()}}}let $R=class extends xL{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(jR(s,this.inputBox))}};$R=FR([WR(3,ls.fN)],$R);let qR=class extends OR{constructor(e,t,i,n,s=!1){super(e,t,s,i);const o=this._register(n.createScoped(this.inputBox.element));this._register(jR(o,this.inputBox))}};function GR(e){return"Up"===e.lookupKeybinding("history.showPrevious")?.getElectronAccelerator()&&"Down"===e.lookupKeybinding("history.showNext")?.getElectronAccelerator()}qR=FR([WR(3,ls.fN)],qR),cs.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ls.M$.and(ls.M$.has(HR),ls.M$.equals(zR,!0),ls.M$.not("isComposing"),BR.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{UR?.showPreviousValue()}}),cs.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ls.M$.and(ls.M$.has(HR),ls.M$.equals(VR,!0),ls.M$.not("isComposing"),BR.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{UR?.showNextValue()}});const QR=mu("find-collapsed",vl.W.chevronRight,jn.kg("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),YR=mu("find-expanded",vl.W.chevronDown,jn.kg("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),ZR=mu("find-selection",vl.W.selection,jn.kg("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),XR=mu("find-replace",vl.W.replace,jn.kg("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),JR=mu("find-replace-all",vl.W.replaceAll,jn.kg("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),eA=mu("find-previous-match",vl.W.arrowUp,jn.kg("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),tA=mu("find-next-match",vl.W.arrowDown,jn.kg("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),iA=jn.kg("label.findDialog","Find / Replace"),nA=jn.kg("label.find","Find"),sA=jn.kg("placeholder.find","Find"),oA=jn.kg("label.previousMatchButton","Previous Match"),rA=jn.kg("label.nextMatchButton","Next Match"),aA=jn.kg("label.toggleSelectionFind","Find in Selection"),lA=jn.kg("label.closeButton","Close"),hA=jn.kg("label.replace","Replace"),dA=jn.kg("placeholder.replace","Replace"),cA=jn.kg("label.replaceButton","Replace"),uA=jn.kg("label.replaceAllButton","Replace All"),gA=jn.kg("label.toggleReplaceButton","Toggle Replace"),pA=jn.kg("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",NR),mA=jn.kg("label.matchesLocation","{0} of {1}"),fA=jn.kg("label.noResults","No results"),_A=419;let vA=69;const bA="ctrlEnterReplaceAll.windows.donotask",CA=f.zx?256:2048;class wA{constructor(e){this.afterLineNumber=e,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function yA(e,t,i){const n=!!t.match(/\n/);i&&n&&i.selectionStart>0&&e.stopPropagation()}function SA(e,t,i){const n=!!t.match(/\n/);i&&n&&i.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((e=>{if(e.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(146)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(41)){const e=this._codeEditor.getOption(41).loop;this._state.change({loop:e},!1);const t=this._codeEditor.getOption(41).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new wA(0),this._showViewZone()),!t&&this._viewZone&&this._removeViewZone()}}))),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection((()=>{this._isVisible&&this._updateToggleSelectionFindButton()}))),this._register(this._codeEditor.onDidFocusEditorWidget((async()=>{if(this._isVisible){const e=await this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}}))),this._findInputFocused=nR.bindTo(o),this._findFocusTracker=this._register(qt(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus((()=>{this._findInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._findFocusTracker.onDidBlur((()=>{this._findInputFocused.set(!1)}))),this._replaceInputFocused=sR.bindTo(o),this._replaceFocusTracker=this._register(qt(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus((()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._replaceFocusTracker.onDidBlur((()=>{this._replaceInputFocused.set(!1)}))),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new wA(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((e=>{e.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return kA.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(92)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=gt(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const e=this._state.searchString.length>0&&0===this._state.matchesCount;this._domNode.classList.toggle("no-results",e),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,b.dz)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let e;if(this._matchesCount.style.minWidth=vA+"px",this._state.matchesCount>=NR?this._matchesCount.title=pA:this._matchesCount.title="",this._matchesCount.firstChild?.remove(),this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=NR&&(t+="+");let i=String(this._state.matchesPosition);"0"===i&&(i="?"),e=Ti.GP(mA,i,t)}else e=fA;this._matchesCount.appendChild(document.createTextNode(e)),Ci(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),vA=Math.max(vA,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===fA)return""===i?jn.kg("ariaSearchNoResultEmpty","{0} found",e):jn.kg("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=jn.kg("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),s=this._codeEditor.getModel();if(s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1){return`${s.getLineContent(t.startLineNumber)}, ${n}`}return n}return jn.kg("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach((e=>{clearTimeout(e)})),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout((()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")}),0)),this._revealTimeouts.push(setTimeout((()=>{this._findInput.validate()}),200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=ct(i),s=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),o=n.left+(s?s.left:0),r=s?s.top:0;if(this._viewZone&&re.startLineNumber&&(t=!1);const i=dt(this._domNode).left;o>i&&(t=!1);const s=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(s?s.left:0)>i&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach((e=>{clearTimeout(e)})),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones((i=>{t.heightInPx=this._getHeight(),this._viewZoneId=i.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)}))}_showViewZone(e=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new wA(0));const t=this._viewZone;this._codeEditor.changeViewZones((i=>{if(void 0!==this._viewZoneId){const n=this._getHeight();if(n===t.heightInPx)return;const s=n-t.heightInPx;return t.heightInPx=n,i.layoutZone(this._viewZoneId),void(e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s))}{let n=this._getHeight();if(n-=this._codeEditor.getOption(84).top,n<=0)return;t.heightInPx=n,this._viewZoneId=i.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n)}}))}_removeViewZone(){this._codeEditor.changeViewZones((e=>{void 0!==this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))}))}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const t=e.width,i=e.minimap.minimapWidth;let n=!1,s=!1,o=!1;if(this._resized){if(gt(this._domNode)>_A)return this._domNode.style.maxWidth=t-28-i-15+"px",void(this._replaceInput.width=gt(this._findInput.domNode))}if(447+i>=t&&(s=!0),447+i-vA>=t&&(o=!0),447+i-vA>=t+50&&(n=!0),this._domNode.classList.toggle("collapsed-find-widget",n),this._domNode.classList.toggle("narrow-find-widget",o),this._domNode.classList.toggle("reduced-find-widget",s),o||n||(this._domNode.style.maxWidth=t-28-i-15+"px"),this._findInput.layout({collapsedFindWidget:n,narrowFindWidget:o,reducedFindWidget:s}),this._resized){const e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=gt(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==e)&&(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map((e=>{1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));const t=this._state.currentMatch;return e.startLineNumber===e.endLineNumber||Xs.Q.equalsRange(e,t)?null:e})).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){return e.equals(3|CA)?(this._keybindingService.dispatchEvent(e,e.target)||this._findInput.inputBox.insertAtCursor("\n"),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?yA(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?SA(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(e){return e.equals(3|CA)?(this._keybindingService.dispatchEvent(e,e.target)||(f.uF&&f.ib&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(jn.kg("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(bA,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?yA(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?SA(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){const e=!0,t=!0;this._findInput=this._register(new $R(null,this._contextViewProvider,{width:221,label:nA,placeholder:sA,appendCaseSensitiveLabel:this._keybindingLabelFor(CR),appendWholeWordsLabel:this._keybindingLabelFor(wR),appendRegexLabel:this._keybindingLabelFor(yR),validation:e=>{if(0===e.length||!this._findInput.getRegex())return null;try{return new RegExp(e,"gu"),null}catch(t){return{content:t.message}}},flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>GR(this._keybindingService),inputBoxStyles:gp,toggleStyles:up},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((e=>this._onFindInputKeyDown(e)))),this._register(this._findInput.inputBox.onDidChange((()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)}))),this._register(this._findInput.onDidOptionChange((()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)}))),this._register(this._findInput.onCaseSensitiveKeyDown((e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((e=>{this._tryUpdateHeight()&&this._showViewZone()}))),f.j9&&this._register(this._findInput.onMouseDown((e=>this._onFindInputMouseDown(e)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(ld());this._prevBtn=this._register(new LA({label:oA+this._keybindingLabelFor(pR),icon:eA,hoverDelegate:i,onTrigger:()=>{(0,os.eU)(this._codeEditor.getAction(pR)).run().then(void 0,b.dz)}},this._hoverService)),this._nextBtn=this._register(new LA({label:rA+this._keybindingLabelFor(gR),icon:tA,hoverDelegate:i,onTrigger:()=>{(0,os.eU)(this._codeEditor.getAction(gR)).run().then(void 0,b.dz)}},this._hoverService));const n=document.createElement("div");n.className="find-part",n.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",n.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new gL({icon:ZR,title:aA+this._keybindingLabelFor(SR),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:(0,to.GuP)(to.c1f),inputActiveOptionBorder:(0,to.GuP)(to.uNK),inputActiveOptionForeground:(0,to.GuP)(to.$$0)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let e=this._codeEditor.getSelections();e=e.map((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)}))),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new LA({label:lA+this._keybindingLabelFor(bR),icon:Cu,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new qR(null,void 0,{label:hA,placeholder:dA,appendPreserveCaseLabel:this._keybindingLabelFor(kR),history:[],flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showHistoryHint:()=>GR(this._keybindingService),inputBoxStyles:gp,toggleStyles:up},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((e=>this._onReplaceInputKeyDown(e)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((e=>{e.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),e.preventDefault())})));const o=this._register(ld());this._replaceBtn=this._register(new LA({label:cA+this._keybindingLabelFor(LR),icon:XR,hoverDelegate:o,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new LA({label:uA+this._keybindingLabelFor(xR),icon:JR,hoverDelegate:o,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const r=document.createElement("div");r.className="replace-part",r.appendChild(this._replaceInput.domNode);const a=document.createElement("div");a.className="replace-actions",r.appendChild(a),a.appendChild(this._replaceBtn.domNode),a.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new LA({label:gA,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=gt(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=iA,this._domNode.role="dialog",this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(n),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(r),this._resizeSash=this._register(new AS(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let l=_A;this._register(this._resizeSash.onDidStart((()=>{l=gt(this._domNode)}))),this._register(this._resizeSash.onDidChange((e=>{this._resized=!0;const t=l+e.startX-e.currentX;if(t<_A)return;t>(parseFloat(rt(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=gt(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const e=gt(this._domNode);if(e<_A)return;let t=_A;if(!this._resized||e===_A){const e=this._codeEditor.getLayoutInfo();t=e.width-28-e.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=gt(this._findInput.domNode)),this._findInput.inputBox.layout()})))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(2!==e)}}class LA extends Pu{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+In.L.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=i,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(t.setupManagedHover(e.hoverDelegate??ad("element"),this._domNode,this._opts.label)),this.onclick(this._domNode,(e=>{this._opts.onTrigger(),e.preventDefault()})),this.onkeydown(this._domNode,(e=>{if(e.equals(10)||e.equals(3))return this._opts.onTrigger(),void e.preventDefault();this._opts.onKeyDown?.(e)}))}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...In.L.asClassNameArray(QR)),this._domNode.classList.add(...In.L.asClassNameArray(YR))):(this._domNode.classList.remove(...In.L.asClassNameArray(YR)),this._domNode.classList.add(...In.L.asClassNameArray(QR)))}}(0,io.zy)(((e,t)=>{const i=e.getColor(to.ECk);i&&t.addRule(`.monaco-editor .findMatch { border: 1px ${(0,Bp.Bb)(e.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`);const n=e.getColor(to.S5J);n&&t.addRule(`.monaco-editor .findScope { border: 1px ${(0,Bp.Bb)(e.type)?"dashed":"solid"} ${n}; }`);const s=e.getColor(to.b1q);s&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${s}; }`);const o=e.getColor(to.f3U);o&&t.addRule(`.monaco-editor .findMatchInline { color: ${o}; }`);const r=e.getColor(to.p8Y);r&&t.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)}));var xA,DA=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},NA=function(e,t){return function(i,n){t(i,n,e)}};function IA(e,t="single",i=!1){if(!e.hasModel())return null;const n=e.getSelection();if("single"===t&&n.startLineNumber===n.endLineNumber||"multiple"===t)if(n.isEmpty()){const t=e.getConfiguredWordAtPosition(n.getStartPosition());if(t&&!1===i)return t.word}else if(e.getModel().getValueLengthInRange(n)<524288)return e.getModel().getValueInRange(n);return null}let EA=class extends Ae.jG{static{xA=this}static{this.ID="editor.contrib.findController"}get editor(){return this._editor}static get(e){return e.getContribution(xA.ID)}constructor(e,t,i,n,s,o){super(),this._editor=e,this._findWidgetVisible=iR.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=o,this._updateHistoryDelayer=new A.ve(500),this._state=this._register(new TR),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const e=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),e&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})})))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!nR.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=Ti.bm(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if("single"===e.seedSearchStringFromSelection){const t=IA(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(this._state.isRegex?i.searchString=Ti.bm(t):i.searchString=t)}else if("multiple"===e.seedSearchStringFromSelection&&!e.updateSearchScope){const t=IA(this._editor,e.seedSearchStringFromSelection);t&&(i.searchString=t)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const e=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(i.searchString=e)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const e=this._editor.getSelections();e.some((e=>!e.isEmpty()))&&(i.searchScope=e)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new IR(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(e){return!!this._model&&(this._model.moveToMatch(e),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){return!!this._model&&(this._editor.getModel()?.isTooLargeForHeapOperation()?(this._notificationService.warn(jn.kg("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};EA=xA=DA([NA(1,ls.fN),NA(2,vw),NA(3,Kh),NA(4,yd),NA(5,nk)],EA);let MA=class extends EA{constructor(e,t,i,n,s,o,r,a,l){super(e,i,r,a,o,l),this._contextViewService=t,this._keybindingService=n,this._themeService=s,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let n=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":n=!0;break;case"never":n=!1;break;case"multiline":n=!!i&&i.startLineNumber!==i.endLineNumber;break}e.updateSearchScope=e.updateSearchScope||n,await super._start(e,t),this._widget&&(2===e.shouldFocus?this._widget.focusReplaceInput():1===e.shouldFocus&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new kA(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new ER(this._editor,this._state,this._keybindingService))}};MA=DA([NA(1,_d),NA(2,ls.fN),NA(3,bd),NA(4,io.Gy),NA(5,yd),NA(6,vw),NA(7,Kh),NA(8,nk)],MA);Ws(new Rs({id:dR,label:jn.kg("startFindAction","Find"),alias:"Find",precondition:ls.M$.or(js.focus,ls.M$.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:_s.MenubarEditMenu,group:"3_find",title:jn.kg({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})).addImplementation(0,((e,t,i)=>{const n=EA.get(t);return!!n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})}));const TA={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class RA extends Ts{async run(e,t){const i=EA.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===i.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class AA extends Ts{async run(e,t){const i=EA.get(t);if(!i)return;const n=IA(t,"single",!1);n&&i.setSearchString(n),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}Ws(new Rs({id:vR,label:jn.kg("startReplace","Replace"),alias:"Replace",precondition:ls.M$.or(js.focus,ls.M$.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:_s.MenubarEditMenu,group:"3_find",title:jn.kg({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})).addImplementation(0,((e,t,i)=>{if(!t.hasModel()||t.getOption(92))return!1;const n=EA.get(t);if(!n)return!1;const s=t.getSelection(),o=n.isFindInputFocused(),r=!s.isEmpty()&&s.startLineNumber===s.endLineNumber&&"never"!==t.getOption(41).seedSearchStringFromSelection&&!o,a=o||r?2:1;return n.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==t.getOption(41).seedSearchStringFromSelection,shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})})),Bs(EA.ID,MA,0),Fs(class extends Ts{constructor(){super({id:uR,label:jn.kg("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:TA})}async run(e,t,i){const n=EA.get(t);if(n){const e=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:void 0!==i.replaceString,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:i?.findInSelection||!1,loop:t.getOption(41).loop},e),n.setGlobalBufferTerm(n.getState().searchString)}}}),Fs(class extends Ts{constructor(){super({id:cR,label:jn.kg("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=EA.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}),Fs(class extends RA{constructor(){super({id:gR,label:jn.kg("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:js.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:ls.M$.and(js.focus,nR),primary:3,weight:100}]})}_run(e){return!!e.moveToNextMatch()&&(e.editor.pushUndoStop(),!0)}}),Fs(class extends RA{constructor(){super({id:pR,label:jn.kg("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:js.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:ls.M$.and(js.focus,nR),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}),Fs(class extends Ts{constructor(){super({id:mR,label:jn.kg("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:iR}),this._highlightDecorations=[]}run(e,t,i){const n=EA.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){return void e.get(yd).notify({severity:wd.Warning,message:jn.kg("findMatchAction.noResults","No matches. Try searching for something else.")})}const o=e.get(Jh),r=new Ae.Cm,a=r.add(o.createInputBox());a.placeholder=jn.kg("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const l=e=>{const t=parseInt(e);if(isNaN(t))return;const i=n.getState().matchesCount;return t>0&&t<=i?t-1:t<0&&t>=-i?i+t:void 0},h=e=>{const i=l(e);if("number"==typeof i){a.validationMessage=void 0,n.goToMatch(i);const e=n.getState().currentMatch;e&&this.addDecorations(t,e)}else a.validationMessage=jn.kg("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};r.add(a.onDidChangeValue((e=>{h(e)}))),r.add(a.onDidAccept((()=>{const e=l(a.value);"number"==typeof e?(n.goToMatch(e),a.hide()):a.validationMessage=jn.kg("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)}))),r.add(a.onDidHide((()=>{this.clearDecorations(t),r.dispose()}))),a.show()}clearDecorations(e){e.changeDecorations((e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(e,t){e.changeDecorations((e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:(0,io.Yf)(Zf.vp),position:Js.A5.Full}}}])}))}}),Fs(class extends AA{constructor(){super({id:fR,label:jn.kg("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}),Fs(class extends AA{constructor(){super({id:_R,label:jn.kg("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}});const PA=Ms.bindToContribution(EA.get);Os(new PA({id:bR,precondition:iR,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:ls.M$.and(js.focus,ls.M$.not("isComposing")),primary:9,secondary:[1033]}})),Os(new PA({id:CR,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:js.focus,primary:oR.primary,mac:oR.mac,win:oR.win,linux:oR.linux}})),Os(new PA({id:wR,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:js.focus,primary:rR.primary,mac:rR.mac,win:rR.win,linux:rR.linux}})),Os(new PA({id:yR,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:js.focus,primary:aR.primary,mac:aR.mac,win:aR.win,linux:aR.linux}})),Os(new PA({id:SR,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:js.focus,primary:lR.primary,mac:lR.mac,win:lR.win,linux:lR.linux}})),Os(new PA({id:kR,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:js.focus,primary:hR.primary,mac:hR.mac,win:hR.win,linux:hR.linux}})),Os(new PA({id:LR,precondition:iR,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:js.focus,primary:3094}})),Os(new PA({id:LR,precondition:iR,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:ls.M$.and(js.focus,sR),primary:3}})),Os(new PA({id:xR,precondition:iR,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:js.focus,primary:2563}})),Os(new PA({id:xR,precondition:iR,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:ls.M$.and(js.focus,sR),primary:void 0,mac:{primary:2051}}})),Os(new PA({id:DR,precondition:iR,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:js.focus,primary:515}}));const OA={0:" ",1:"u",2:"r"},FA=16777215,WA=4278190080;class BA{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return!!(this._states[t]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new BA(e.length),this._userDefinedStates=new BA(e.length),this._recoveredStates=new BA(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(t,i)=>{const n=e[e.length-1];return this.getStartLineNumber(n)<=t&&this.getEndLineNumber(n)>=i};for(let i=0,n=this._startIndexes.length;iFA||s>FA)throw new Error("startLineNumber or endLineNumber must not exceed "+FA);for(;e.length>0&&!t(n,s);)e.pop();const o=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=n+((255&o)<<24),this._endIndexes[i]=s+((65280&o)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&FA}getEndLineNumber(e){return this._endIndexes[e]&FA}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){1===t?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):2===t?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let n=0;n>>24)+((this._endIndexes[e]&WA)>>>16);return 65535===t?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(0===i)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(e)?i=>ii=d.startLineNumber))h&&h.startLineNumber===d.startLineNumber?(1===d.source?e=d:(e=h,e.isCollapsed=d.isCollapsed&&(h.endLineNumber===d.endLineNumber||!n?.startsInside(h.startLineNumber+1,h.endLineNumber+1)),e.source=0),h=o(++a)):(e=d,d.isCollapsed&&0===d.source&&(e.source=2)),d=r(++l);else{let t=l,i=d;for(;;){if(!i||i.startLineNumber>h.endLineNumber){e=h;break}if(1===i.source&&i.endLineNumber>h.endLineNumber)break;i=r(++t)}h=o(++a)}if(e){for(;u&&u.endLineNumbere.startLineNumber&&e.startLineNumber>g&&e.endLineNumber<=i&&(!u||u.endLineNumber>=e.endLineNumber)&&(p.push(e),g=e.startLineNumber,u&&c.push(u),u=e)}}return p}}class VA{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class zA{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new P.vl,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new HA(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort(((e,t)=>e.regionIndex-t.regionIndex));const t={};this._decorationProvider.changeDecorations((i=>{let n=0,s=-1,o=-1;const r=e=>{for(;no&&(o=e),n++}};for(const a of e){const e=a.regionIndex,i=this._editorDecorationIds[e];if(i&&!t[i]){t[i]=!0,r(e);const n=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,n),s=Math.max(s,this._regions.getEndLineNumber(e))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=t=>{for(const i of e)if(!(i.startLineNumber>t.endLineNumber||t.startLineNumber>i.endLineNumber))return!0;return!1};for(let n=0;ni&&(i=o)}this._decorationProvider.changeDecorations((e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t))),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){const t=[];for(let i=0,n=this._regions.length;i=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const o=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,isCollapsed:s.isCollapsed,source:s.source,checksum:o})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const e=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);s.checksum&&e!==s.checksum||t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:s.isCollapsed??!0,source:s.source??0})}const n=HA.sanitizeAndMerge(this._regions,t,i);this.updatePost(HA.fromFoldRanges(n))}_getLinesChecksum(e,t){return(0,Oe.tW)(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let n=this._regions.findRange(e),s=1;for(;n>=0;){const e=this._regions.toRegion(n);t&&!t(e,s)||i.push(e),s++,n=e.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],n=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length){const e=[];for(let o=n,r=this._regions.length;o0&&!n.containedBy(e[e.length-1]);)e.pop();e.push(n),t(n,e.length)&&i.push(n)}}else for(let o=n,r=this._regions.length;o1){const o=e.getRegionsInside(i,((e,i)=>e.isCollapsed!==s&&i0)for(const o of n){const n=e.getRegionAtLine(o);if(n&&(n.isCollapsed!==t&&s.push(n),i>1)){const o=e.getRegionsInside(n,((e,n)=>e.isCollapsed!==t&&ne.isCollapsed!==t&&ne.isCollapsed!==t&&n<=i));s.push(...n)}e.toggleCollapseState(s)}function $A(e,t,i){const n=[];for(const o of i){const t=e.getAllRegionsAtLine(o,void 0);t.length>0&&n.push(t[0])}const s=e.getRegionsInside(null,(e=>n.every((t=>!t.containedBy(e)&&!e.containedBy(t)))&&e.isCollapsed!==t));e.toggleCollapseState(s)}function qA(e,t,i){const n=e.textModel,s=e.regions,o=[];for(let r=s.length-1;r>=0;r--)if(i!==s.isCollapsed(r)){const e=s.getStartLineNumber(r);t.test(n.getLineContent(e))&&o.push(s.toRegion(r))}e.toggleCollapseState(o)}function GA(e,t,i){const n=e.regions,s=[];for(let o=n.length-1;o>=0;o--)i!==n.isCollapsed(o)&&t===n.getType(o)&&s.push(n.toRegion(o));e.toggleCollapseState(s)}var QA=i(3902);class YA{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new P.vl,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange((e=>this.updateHiddenRanges())),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some((e=>e.range.endLineNumber!==e.range.startLineNumber||0!==(0,QA.W)(e.text)[0])))}updateHiddenRanges(){let e=!1;const t=[];let i=0,n=0,s=Number.MAX_VALUE,o=-1;const r=this._foldingModel.regions;for(;i0}isHidden(e){return null!==ZA(this._hiddenRanges,e)}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=e=>(n&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,n)||(n=ZA(this._hiddenRanges,e)),n?n.startLineNumber-1:null);for(let o=0,r=e.length;o0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function ZA(e,t){const i=(0,kb.hw)(e,(e=>t=0&&e[i].endLineNumber>=t?e[i]:null}class XA{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id="indent"}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(function(e,t,i,n=eP){const s=e.getOptions().tabSize,o=new JA(n);let r;i&&(r=new RegExp(`(${i.start.source})|(?:${i.end.source})`));const a=[],l=e.getLineCount()+1;a.push({indent:-1,endAbove:l,line:l});for(let h=e.getLineCount();h>0;h--){const i=e.getLineContent(h),n=(0,hu.G)(i,s);let l,d=a[a.length-1];if(-1!==n){if(r&&(l=i.match(r))){if(!l[1]){a.push({indent:-2,endAbove:h,line:h});continue}{let e=a.length-1;for(;e>0&&-2!==a[e].indent;)e--;if(e>0){a.length=e+1,d=a[e],o.insertFirst(h,d.line,n),d.line=h,d.indent=n,d.endAbove=h;continue}}}if(d.indent>n){do{a.pop(),d=a[a.length-1]}while(d.indent>n);const e=d.endAbove-1;e-h>=1&&o.insertFirst(h,e,n)}d.indent===n?d.endAbove=h:a.push({indent:n,endAbove:h,line:h})}else t&&(d.endAbove=h)}return o.toIndentRanges(e)}(this.editorModel,i,n,this.foldingRangesLimit))}}class JA{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>FA||t>FA)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=this._length-1,n=0;i>=0;i--,n++)e[n]=this._startIndexes[i],t[n]=this._endIndexes[i];return new HA(e,t)}{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let e=0;et){n=e;break}i+=s}}const s=e.getOptions().tabSize,o=new Uint32Array(t),r=new Uint32Array(t);for(let a=this._length-1,l=0;a>=0;a--){const h=this._startIndexes[a],d=e.getLineContent(h),c=(0,hu.G)(d,s);(c{}};const tP=(0,to.x1A)("editor.foldBackground",{light:(0,to.JO0)(to.seu,.3),dark:(0,to.JO0)(to.seu,.3),hcDark:null,hcLight:null},(0,jn.kg)("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);(0,to.x1A)("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},(0,jn.kg)("collapsedTextColor","Color of the collapsed text after the first line of a folded range.")),(0,to.x1A)("editorGutter.foldingControlForeground",to.t4B,(0,jn.kg)("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const iP=mu("folding-expanded",vl.W.chevronDown,(0,jn.kg)("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),nP=mu("folding-collapsed",vl.W.chevronRight,(0,jn.kg)("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),sP=mu("folding-manual-collapsed",nP,(0,jn.kg)("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),oP=mu("folding-manual-expanded",iP,(0,jn.kg)("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),rP={color:(0,io.Yf)(tP),position:1},aP=(0,jn.kg)("linesCollapsed","Click to expand the range."),lP=(0,jn.kg)("linesExpanded","Click to collapse the range.");class hP{static{this.COLLAPSED_VISUAL_DECORATION=eo.kI.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:aP,firstLineDecorationClassName:In.L.asClassName(nP)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=eo.kI.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:rP,isWholeLine:!0,linesDecorationsTooltip:aP,firstLineDecorationClassName:In.L.asClassName(nP)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=eo.kI.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:aP,firstLineDecorationClassName:In.L.asClassName(sP)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=eo.kI.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:rP,isWholeLine:!0,linesDecorationsTooltip:aP,firstLineDecorationClassName:In.L.asClassName(sP)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=eo.kI.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:aP})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=eo.kI.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:rP,isWholeLine:!0,linesDecorationsTooltip:aP})}static{this.EXPANDED_VISUAL_DECORATION=eo.kI.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+In.L.asClassName(iP),linesDecorationsTooltip:lP})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=eo.kI.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:In.L.asClassName(iP),linesDecorationsTooltip:lP})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=eo.kI.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+In.L.asClassName(oP),linesDecorationsTooltip:lP})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=eo.kI.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:In.L.asClassName(oP),linesDecorationsTooltip:lP})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=eo.kI.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=eo.kI.register({description:"folding-hidden-range-decoration",stickiness:1})}constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?hP.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?e?this.showFoldingHighlights?hP.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:hP.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:hP.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?hP.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:hP.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?hP.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:hP.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?i?hP.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:hP.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?hP.MANUALLY_EXPANDED_VISUAL_DECORATION:hP.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}const dP={};class cP{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id="syntax",this.disposables=new Ae.Cm,s&&this.disposables.add(s);for(const o of t)"function"==typeof o.onDidChange&&this.disposables.add(o.onDidChange(i))}compute(e){return function(e,t,i){let n=null;const s=e.map(((e,s)=>Promise.resolve(e.provideFoldingRanges(t,dP,i)).then((e=>{if(!i.isCancellationRequested&&Array.isArray(e)){Array.isArray(n)||(n=[]);const i=t.getLineCount();for(const t of e)t.start>0&&t.end>t.start&&t.end<=i&&n.push({start:t.start,end:t.end,rank:s,kind:t.kind})}}),b.M_)));return Promise.all(s).then((e=>n))}(this.providers,this.editorModel,e).then((t=>{if(t){return function(e,t){const i=e.sort(((e,t)=>{let i=e.start-t.start;return 0===i&&(i=e.rank-t.rank),i})),n=new uP(t);let s;const o=[];for(const r of i)if(s){if(r.start>s.start)if(r.end<=s.end)o.push(s),s=r,n.add(r.start,r.end,r.kind&&r.kind.value,o.length);else{if(r.start>s.end){do{s=o.pop()}while(s&&r.start>s.end);s&&o.push(s),s=r}n.add(r.start,r.end,r.kind&&r.kind.value,o.length)}}else s=r,n.add(r.start,r.end,r.kind&&r.kind.value,o.length);return n.toIndentRanges()}(t,this.foldingRangesLimit)}return this.fallbackRangeProvider?.compute(e)??null}))}dispose(){this.disposables.dispose()}}class uP{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,n){if(e>FA||t>FA)return;const s=this._length;this._startIndexes[s]=e,this._endIndexes[s]=t,this._nestingLevels[s]=n,this._types[s]=i,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=0;ie){i=r;break}t+=n}}const n=new Uint32Array(e),s=new Uint32Array(e),o=[];for(let r=0,a=0;r=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},mP=function(e,t){return function(i,n){t(i,n,e)}};const fP=new ls.N1("foldingEnabled",!1);let _P=class extends Ae.jG{static{gP=this}static{this.ID="editor.contrib.folding"}static get(e){return e.getContribution(gP.ID)}static getFoldingRangeProviders(e,t){const i=e.foldingRangeProvider.ordered(t);return gP._foldingRangeSelector?.(i,t)??i}constructor(e,t,i,n,s,o){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=o,this.localToDispose=this._register(new Ae.Cm),this.editor=e,this._foldingLimitReporter=new vP(e);const r=this.editor.getOptions();this._isEnabled=r.get(43),this._useFoldingProviders="indentation"!==r.get(44),this._unfoldOnClickAfterEndOfLine=r.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=r.get(46),this.updateDebounceInfo=s.for(o.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new hP(e),this.foldingDecorationProvider.showFoldingControls=r.get(111),this.foldingDecorationProvider.showFoldingHighlights=r.get(45),this.foldingEnabled=fP.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((e=>{if(e.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(47)&&this.onModelChanged(),e.hasChanged(111)||e.hasChanged(45)){const e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(111),this.foldingDecorationProvider.showFoldingHighlights=e.get(45),this.triggerFoldingModelChanged()}e.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),e.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),e.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))}))),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();this._isEnabled&&e&&!e.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new zA(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new YA(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((e=>this.onHiddenRangesChanges(e)))),this.updateScheduler=new A.ve(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new A.uC((()=>this.revealCursor()),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelContent((e=>this.onDidChangeModelContent(e)))),this.localToDispose.add(this.editor.onDidChangeCursorPosition((()=>this.onCursorPositionChanged()))),this.localToDispose.add(this.editor.onMouseDown((e=>this.onEditorMouseDown(e)))),this.localToDispose.add(this.editor.onMouseUp((e=>this.onEditorMouseUp(e)))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler?.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider?.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider?.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new XA(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=gP.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new cP(e,i,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){this.hiddenRangeModel?.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((()=>{const e=this.foldingModel;if(!e)return null;const t=new Hp.W,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=(0,A.SS)((e=>i.compute(e)));return n.then((i=>{if(i&&n===this.foldingRegionPromise){let n;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const e=i.setCollapsedAllOfType(ka.lO.Imports.value,!0);e&&(n=dw.capture(this.editor),this._currentModelHasFoldedImports=e)}const s=this.editor.getSelections();e.update(i,function(e){if(!e||0===e.length)return{startsInside:()=>!1};return{startsInside(t,i){for(const n of e){const e=n.startLineNumber;if(e>=t&&e<=i)return!0}return!1}}}(s)),n?.restore(this.editor);const o=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=o)}return e}))})).then(void 0,(e=>((0,b.dz)(e),null))))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then((e=>{if(e){const t=this.editor.getSelections();if(t&&t.length>0){const i=[];for(const n of t){const t=n.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&i.push(...e.getAllRegionsAtLine(t,(e=>e.isCollapsed&&t>e.startLineNumber)))}i.length&&(e.toggleCollapseState(i),this.reveal(t[0].getPosition()))}}})).then(void 0,b.dz)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range)return;if(!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const t=e.target.detail,n=e.target.element.offsetLeft;if(t.offsetX-n<4)return;i=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){if(!e.target.detail.isAfterLines)break}return;case 6:if(this.hiddenRangeModel.hasRanges()){const e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,s=e.target.range;if(!s||s.startLineNumber!==i)return;if(n){if(4!==e.target.type)return}else{const e=this.editor.getModel();if(!e||s.startColumn!==e.getLineMaxColumn(i))return}const o=t.getRegionAtLine(i);if(o&&o.startLineNumber===i){const s=o.isCollapsed;if(n||s){let n=[];if(e.event.altKey){const e=e=>!e.containedBy(o)&&!o.containedBy(e),i=t.getRegionsInside(null,e);for(const t of i)t.isCollapsed&&n.push(t);0===n.length&&(n=i)}else{const i=e.event.middleButton||e.event.shiftKey;if(i)for(const e of t.getRegionsInside(o))e.isCollapsed===s&&n.push(e);!s&&i&&0!==n.length||n.push(o)}t.toggleCollapseState(n),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};_P=gP=pP([mP(1,ls.fN),mP(2,Fo.JZ),mP(3,yd),mP(4,Mw.ILanguageFeatureDebounceService),mP(5,La.ILanguageFeaturesService)],_P);class vP{constructor(e){this.editor=e,this._onDidChange=new P.vl,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}class bP extends Ts{runEditorCommand(e,t,i){const n=e.get(Fo.JZ),s=_P.get(t);if(!s)return;const o=s.getFoldingModel();return o?(this.reportTelemetry(e,t),o.then((e=>{if(e){this.invoke(s,e,t,i,n);const o=t.getSelection();o&&s.reveal(o.getStartPosition())}}))):void 0}getSelectedLines(e){const t=e.getSelections();return t?t.map((e=>e.startLineNumber)):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map((e=>e+1)):this.getSelectedLines(t)}run(e,t){}}function CP(e){if(!os.b0(e)){if(!os.Gv(e))return!1;const t=e;if(!os.b0(t.levels)&&!os.Et(t.levels))return!1;if(!os.b0(t.direction)&&!os.Kg(t.direction))return!1;if(!(os.b0(t.selectionLines)||Array.isArray(t.selectionLines)&&t.selectionLines.every(os.Et)))return!1}return!0}class wP extends bP{static{this.ID_PREFIX="editor.foldLevel"}static{this.ID=e=>wP.ID_PREFIX+e}getFoldingLevel(){return parseInt(this.id.substr(wP.ID_PREFIX.length))}invoke(e,t,i){!function(e,t,i,n){const s=e.getRegionsInside(null,((e,s)=>s===t&&e.isCollapsed!==i&&!n.some((t=>e.containsLine(t)))));e.toggleCollapseState(s)}(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}Bs(_P.ID,_P,0),Fs(class extends bP{constructor(){super({id:"editor.unfold",label:jn.kg("unfoldAction.label","Unfold"),alias:"Unfold",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:CP,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=n&&n.levels||1,o=this.getLineNumbers(n,i);n&&"up"===n.direction?jA(t,!1,s,o):KA(t,!1,s,o)}}),Fs(class extends bP{constructor(){super({id:"editor.unfoldRecursively",label:jn.kg("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2142),weight:100}})}invoke(e,t,i,n){KA(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}),Fs(class extends bP{constructor(){super({id:"editor.fold",label:jn.kg("foldAction.label","Fold"),alias:"Fold",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:CP,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=this.getLineNumbers(n,i),o=n&&n.levels,r=n&&n.direction;"number"!=typeof o&&"string"!=typeof r?function(e,t,i){const n=[];for(const s of i){const i=e.getAllRegionsAtLine(s,(e=>e.isCollapsed!==t));i.length>0&&n.push(i[0])}e.toggleCollapseState(n)}(t,!0,s):"up"===r?jA(t,!0,o||1,s):KA(t,!0,o||1,s)}}),Fs(class extends bP{constructor(){super({id:"editor.foldRecursively",label:jn.kg("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);KA(t,!0,Number.MAX_VALUE,n)}}),Fs(class extends bP{constructor(){super({id:"editor.toggleFoldRecursively",label:jn.kg("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);UA(t,Number.MAX_VALUE,n)}}),Fs(class extends bP{constructor(){super({id:"editor.foldAll",label:jn.kg("foldAllAction.label","Fold All"),alias:"Fold All",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2069),weight:100}})}invoke(e,t,i){KA(t,!0)}}),Fs(class extends bP{constructor(){super({id:"editor.unfoldAll",label:jn.kg("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2088),weight:100}})}invoke(e,t,i){KA(t,!1)}}),Fs(class extends bP{constructor(){super({id:"editor.foldAllBlockComments",label:jn.kg("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())GA(t,ka.lO.Comment.value,!0);else{const e=i.getModel();if(!e)return;const n=s.getLanguageConfiguration(e.getLanguageId()).comments;if(n&&n.blockCommentStartToken){qA(t,new RegExp("^\\s*"+(0,Ti.bm)(n.blockCommentStartToken)),!0)}}}}),Fs(class extends bP{constructor(){super({id:"editor.foldAllMarkerRegions",label:jn.kg("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())GA(t,ka.lO.Region.value,!0);else{const e=i.getModel();if(!e)return;const n=s.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(n&&n.markers&&n.markers.start){qA(t,new RegExp(n.markers.start),!0)}}}}),Fs(class extends bP{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:jn.kg("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())GA(t,ka.lO.Region.value,!1);else{const e=i.getModel();if(!e)return;const n=s.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(n&&n.markers&&n.markers.start){qA(t,new RegExp(n.markers.start),!1)}}}}),Fs(class extends bP{constructor(){super({id:"editor.foldAllExcept",label:jn.kg("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2136),weight:100}})}invoke(e,t,i){$A(t,!0,this.getSelectedLines(i))}}),Fs(class extends bP{constructor(){super({id:"editor.unfoldAllExcept",label:jn.kg("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2134),weight:100}})}invoke(e,t,i){$A(t,!1,this.getSelectedLines(i))}}),Fs(class extends bP{constructor(){super({id:"editor.toggleFold",label:jn.kg("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2090),weight:100}})}invoke(e,t,i){UA(t,1,this.getSelectedLines(i))}}),Fs(class extends bP{constructor(){super({id:"editor.gotoParentFold",label:jn.kg("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=null;const n=t.getRegionAtLine(e);if(null!==n&&(i=n.startLineNumber,e===i)){const e=n.parentIndex;i=-1!==e?t.regions.getStartLineNumber(e):null}return i}(n[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),Fs(class extends bP{constructor(){super({id:"editor.gotoPreviousFold",label:jn.kg("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){if(e!==i.startLineNumber)return i.startLineNumber;{const e=i.parentIndex;let n=0;for(-1!==e&&(n=t.regions.getStartLineNumber(i.parentIndex));null!==i;){if(!(i.regionIndex>0))return null;if(i=t.regions.toRegion(i.regionIndex-1),i.startLineNumber<=n)return null;if(i.parentIndex===e)return i.startLineNumber}}}else if(t.regions.length>0)for(i=t.regions.toRegion(t.regions.length-1);null!==i;){if(i.startLineNumber0?t.regions.toRegion(i.regionIndex-1):null}return null}(n[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),Fs(class extends bP{constructor(){super({id:"editor.gotoNextFold",label:jn.kg("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){const e=i.parentIndex;let n=0;if(-1!==e)n=t.regions.getEndLineNumber(i.parentIndex);else{if(0===t.regions.length)return null;n=t.regions.getEndLineNumber(t.regions.length-1)}for(;null!==i;){if(!(i.regionIndex=n)return null;if(i.parentIndex===e)return i.startLineNumber}}else if(t.regions.length>0)for(i=t.regions.toRegion(0);null!==i;){if(i.startLineNumber>e)return i.startLineNumber;i=i.regionIndexe.startLineNumber&&(n.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(n.length>0){n.sort(((e,t)=>e.startLineNumber-t.startLineNumber));const e=HA.sanitizeAndMerge(t.regions,n,i.getModel()?.getLineCount());t.updatePost(HA.fromFoldRanges(e))}}}}),Fs(class extends bP{constructor(){super({id:"editor.removeManualFoldingRanges",label:jn.kg("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const i=[];for(const e of n){const{startLineNumber:t,endLineNumber:n}=e;i.push(n>=t?{startLineNumber:t,endLineNumber:n}:{endLineNumber:n,startLineNumber:t})}t.removeManualRanges(i),e.triggerFoldingModelChanged()}}});for(let ZJ=1;ZJ<=7;ZJ++)yP=new wP({id:wP.ID(ZJ),label:jn.kg("foldLevelAction.label","Fold Level {0}",ZJ),alias:`Fold Level ${ZJ}`,precondition:fP,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2048|21+ZJ),weight:100}}),Hs.INSTANCE.registerEditorAction(yP);var yP;as.registerCommand("_executeFoldingRangeProvider",(async function(e,...t){const[i]=t;if(!(i instanceof Bn.r))throw(0,b.Qg)();const n=e.get(La.ILanguageFeaturesService),s=e.get(Qn.IModelService).getModel(i);if(!s)throw(0,b.Qg)();const o=e.get(Fp.pG);if(!o.getValue("editor.folding",{resource:i}))return[];const r=e.get(Fo.JZ),a=o.getValue("editor.foldingStrategy",{resource:i}),l={get limit(){return o.getValue("editor.foldingMaximumRegions",{resource:i})},update:(e,t)=>{}},h=new XA(s,r,l);let d=h;if("indentation"!==a){const e=_P.getFoldingRangeProviders(n,s);e.length&&(d=new cP(s,e,(()=>{}),l,h))}const c=await d.compute(na.XO.None),u=[];try{if(c)for(let e=0;ebk.replace(Xs.Q.lift(e.range),e.text)))):e.executeEdits("formatEditsCommand",s.map((e=>bk.replaceMove(Xs.Q.lift(e.range),e.text)))),i&&e.pushUndoStop(),n.restoreRelativeVerticalPositionOfCursor(e)}}class kP{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return"string"==typeof e?e.toLowerCase():e._lower}}class LP{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(kP.toKey(e))}has(e){return this._set.has(kP.toKey(e))}}function xP(e,t,i){const n=[],s=new LP,o=e.ordered(i);for(const a of o)n.push(a),a.extensionId&&s.add(a.extensionId);const r=t.ordered(i);for(const a of r){if(a.extensionId){if(s.has(a.extensionId))continue;s.add(a.extensionId)}n.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits:(e,t,i)=>a.provideDocumentRangeFormattingEdits(e,e.getFullModelRange(),t,i)})}return n}class DP{static{this._selectors=new ns.w}static setFormatterSelector(e){return{dispose:DP._selectors.unshift(e)}}static async select(e,t,i,n){if(0===e.length)return;const s=ss.f.first(DP._selectors);return s?await s(e,t,i,n):void 0}}async function NP(e,t,i,n,s,o,r){const a=e.get($n._Y),{documentRangeFormattingEditProvider:l}=e.get(La.ILanguageFeaturesService),h=Ik(t)?t.getModel():t,d=l.ordered(h),c=await DP.select(d,h,n,2);c&&(s.report(c),await a.invokeFunction(IP,c,t,i,o,r))}async function IP(e,t,i,n,s,o){const r=e.get(Ww.IEditorWorkerService),a=e.get(Ds.rr),l=e.get(oE);let h,d;Ik(i)?(h=i.getModel(),d=new fl(i,5,void 0,s)):(h=i,d=new _l(i,s));const c=[];let u=0;for(const _ of(0,ia._j)(n).sort(Xs.Q.compareRangesUsingStarts))u>0&&Xs.Q.areIntersectingOrTouching(c[u-1],_)?c[u-1]=Xs.Q.fromPositions(c[u-1].getStartPosition(),_.getEndPosition()):u=c.push(_);const g=async e=>{a.trace("[format][provideDocumentRangeFormattingEdits] (request)",t.extensionId?.value,e);const i=await t.provideDocumentRangeFormattingEdits(h,e,h.getFormattingOptions(),d.token)||[];return a.trace("[format][provideDocumentRangeFormattingEdits] (response)",t.extensionId?.value,i),i},p=(e,t)=>{if(!e.length||!t.length)return!1;const i=e.reduce(((e,t)=>Xs.Q.plusRange(e,t.range)),e[0].range);if(!t.some((e=>Xs.Q.intersectRanges(i,e.range))))return!1;for(const n of e)for(const e of t)if(Xs.Q.intersectRanges(n.range,e.range))return!0;return!1},m=[],f=[];try{if("function"==typeof t.provideDocumentRangesFormattingEdits){a.trace("[format][provideDocumentRangeFormattingEdits] (request)",t.extensionId?.value,c);const e=await t.provideDocumentRangesFormattingEdits(h,c,h.getFormattingOptions(),d.token)||[];a.trace("[format][provideDocumentRangeFormattingEdits] (response)",t.extensionId?.value,e),f.push(e)}else{for(const e of c){if(d.token.isCancellationRequested)return!0;f.push(await g(e))}for(let e=0;e({text:e.text,range:Xs.Q.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:i}of e)if(Xs.Q.areIntersectingOrTouching(i,t))return[new $s.L(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null}))}return l.playSignal(lE.format,{userGesture:o}),!0}async function EP(e,t,i,n,s,o){const r=e.get($n._Y),a=e.get(La.ILanguageFeaturesService),l=Ik(t)?t.getModel():t,h=xP(a.documentFormattingEditProvider,a.documentRangeFormattingEditProvider,l),d=await DP.select(h,l,i,1);d&&(n.report(d),await r.invokeFunction(MP,d,t,i,s,o))}async function MP(e,t,i,n,s,o){const r=e.get(Ww.IEditorWorkerService),a=e.get(oE);let l,h,d;Ik(i)?(l=i.getModel(),h=new fl(i,5,void 0,s)):(l=i,h=new _l(i,s));try{const e=await t.provideDocumentFormattingEdits(l,l.getFormattingOptions(),h.token);if(d=await r.computeMoreMinimalEdits(l.uri,e),h.token.isCancellationRequested)return!0}finally{h.dispose()}if(!d||0===d.length)return!1;if(Ik(i))SP.execute(i,d,2!==n),2!==n&&i.revealPositionInCenterIfOutsideViewport(i.getPosition(),1);else{const[{range:e}]=d,t=new $s.L(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);l.pushEditOperations([t],d.map((e=>({text:e.text,range:Xs.Q.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:i}of e)if(Xs.Q.areIntersectingOrTouching(i,t))return[new $s.L(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null}))}return a.playSignal(lE.format,{userGesture:o}),!0}function TP(e,t,i,n,s,o,r){const a=t.onTypeFormattingEditProvider.ordered(i);return 0===a.length||a[0].autoFormatTriggerCharacters.indexOf(s)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(i,n,s,o,r)).catch(b.M_).then((t=>e.computeMoreMinimalEdits(i.uri,t)))}as.registerCommand("_executeFormatRangeProvider",(async function(e,...t){const[i,n,s]=t;(0,os.j)(Bn.r.isUri(i)),(0,os.j)(Xs.Q.isIRange(n));const o=e.get(Yn.ITextModelService),r=e.get(Ww.IEditorWorkerService),a=e.get(La.ILanguageFeaturesService),l=await o.createModelReference(i);try{return async function(e,t,i,n,s,o){const r=t.documentRangeFormattingEditProvider.ordered(i);for(const a of r){const t=await Promise.resolve(a.provideDocumentRangeFormattingEdits(i,n,s,o)).catch(b.M_);if((0,ia.EI)(t))return await e.computeMoreMinimalEdits(i.uri,t)}}(r,a,l.object.textEditorModel,Xs.Q.lift(n),s,na.XO.None)}finally{l.dispose()}})),as.registerCommand("_executeFormatDocumentProvider",(async function(e,...t){const[i,n]=t;(0,os.j)(Bn.r.isUri(i));const s=e.get(Yn.ITextModelService),o=e.get(Ww.IEditorWorkerService),r=e.get(La.ILanguageFeaturesService),a=await s.createModelReference(i);try{return async function(e,t,i,n,s){const o=xP(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,i);for(const r of o){const t=await Promise.resolve(r.provideDocumentFormattingEdits(i,n,s)).catch(b.M_);if((0,ia.EI)(t))return await e.computeMoreMinimalEdits(i.uri,t)}}(o,r,a.object.textEditorModel,n,na.XO.None)}finally{a.dispose()}})),as.registerCommand("_executeFormatOnTypeProvider",(async function(e,...t){const[i,n,s,o]=t;(0,os.j)(Bn.r.isUri(i)),(0,os.j)(Gn.y.isIPosition(n)),(0,os.j)("string"==typeof s);const r=e.get(Yn.ITextModelService),a=e.get(Ww.IEditorWorkerService),l=e.get(La.ILanguageFeaturesService),h=await r.createModelReference(i);try{return TP(a,l,h.object.textEditorModel,Gn.y.lift(n),s,o,na.XO.None)}finally{h.dispose()}}));var RP=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},AP=function(e,t){return function(i,n){t(i,n,e)}};let PP=class{static{this.ID="editor.contrib.autoFormat"}constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new Ae.Cm,this._sessionDisposables=new Ae.Cm,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel((()=>this._update()))),this._disposables.add(e.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(e.onDidChangeConfiguration((e=>{e.hasChanged(56)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new gb.y;for(const n of t.autoFormatTriggerCharacters)i.add(n.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((e=>{const t=e.charCodeAt(e.length-1);i.has(t)&&this._trigger(String.fromCharCode(t))})))}_trigger(e){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=new na.Qi,s=this._editor.onDidChangeModelContent((e=>{if(e.isFlush)return n.cancel(),void s.dispose();for(let t=0,o=e.changes.length;t{n.token.isCancellationRequested||(0,ia.EI)(e)&&(this._accessibilitySignalService.playSignal(lE.format,{userGesture:!1}),SP.execute(this._editor,e,!0))})).finally((()=>{s.dispose()}))}};PP=RP([AP(1,La.ILanguageFeaturesService),AP(2,Ww.IEditorWorkerService),AP(3,oE)],PP);let OP=class{static{this.ID="editor.contrib.formatOnPaste"}constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Ae.Cm,this._callOnModel=new Ae.Cm,this._callOnDispose.add(e.onDidChangeConfiguration((()=>this._update()))),this._callOnDispose.add(e.onDidChangeModel((()=>this._update()))),this._callOnDispose.add(e.onDidChangeModelLanguage((()=>this._update()))),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste((({range:e})=>this._trigger(e))))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(NP,this.editor,e,2,$h.None,na.XO.None,!1).catch(b.dz))}};OP=RP([AP(1,La.ILanguageFeaturesService),AP(2,$n._Y)],OP);Bs(PP.ID,PP,2),Bs(OP.ID,OP,2),Fs(class extends Ts{constructor(){super({id:"editor.action.formatDocument",label:jn.kg("formatDocument.label","Format Document"),alias:"Format Document",precondition:ls.M$.and(js.notInCompositeEditor,js.writable,js.hasDocumentFormattingProvider),kbOpts:{kbExpr:js.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get($n._Y),n=e.get(qh);await n.showWhile(i.invokeFunction(EP,t,1,$h.None,na.XO.None,!0),250)}}}),Fs(class extends Ts{constructor(){super({id:"editor.action.formatSelection",label:jn.kg("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ls.M$.and(js.writable,js.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2084),weight:100},contextMenuOpts:{when:js.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get($n._Y),n=t.getModel(),s=t.getSelections().map((e=>e.isEmpty()?new Xs.Q(e.startLineNumber,1,e.startLineNumber,n.getLineMaxColumn(e.startLineNumber)):e)),o=e.get(qh);await o.showWhile(i.invokeFunction(NP,t,s,1,$h.None,na.XO.None,!0),250)}}),as.registerCommand("editor.action.format",(async e=>{const t=e.get(qn).getFocusedCodeEditor();if(!t||!t.hasModel())return;const i=e.get(rs);t.getSelection().isEmpty()?await i.executeCommand("editor.action.formatDocument"):await i.executeCommand("editor.action.formatSelection")}));var FP=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},WP=function(e,t){return function(i,n){t(i,n,e)}};class BP{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let HP=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._dispoables=new Ae.Cm,this._markers=[],this._nextIdx=-1,Bn.r.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(e,t)=>{let i=(0,Ti.UD)(e.resource.toString(),t.resource.toString());return 0===i&&(i="position"===n?Xs.Q.compareRangesUsingStarts(e,t)||Wp.cj.compare(e.severity,t.severity):Wp.cj.compare(e.severity,t.severity)||Xs.Q.compareRangesUsingStarts(e,t)),i},o=()=>{this._markers=this._markerService.read({resource:Bn.r.isUri(e)?e:void 0,severities:Wp.cj.Error|Wp.cj.Warning|Wp.cj.Info}),"function"==typeof e&&(this._markers=this._markers.filter((e=>this._resourceFilter(e.resource)))),this._markers.sort(s)};o(),this._dispoables.add(t.onMarkerChanged((e=>{this._resourceFilter&&!e.some((e=>this._resourceFilter(e)))||(o(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e||!(!this._resourceFilter||!e)&&this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new BP(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let n=!1,s=this._markers.findIndex((t=>t.resource.toString()===e.uri.toString()));s<0&&(s=(0,ia.El)(this._markers,{resource:e.uri},((e,t)=>(0,Ti.UD)(e.resource.toString(),t.resource.toString()))),s<0&&(s=~s));for(let o=s;ot.resource.toString()===e.toString()));if(!(i<0))for(;i=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},$P=function(e,t){return function(i,n){t(i,n,e)}};class qP{constructor(e,t,i,n,s){this._openerService=n,this._labelService=s,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new Ae.Cm,this._editor=t;const o=document.createElement("div");o.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),o.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),o.appendChild(this._relatedBlock),this._disposables.add(Xe(this._relatedBlock,"click",(e=>{e.preventDefault();const t=this._relatedDiagnostics.get(e.target);t&&i(t)}))),this._scrollable=new Zu(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((e=>{o.style.left=`-${e.scrollLeft}px`,o.style.top=`-${e.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){(0,Ae.AS)(this._disposables)}update(e){const{source:t,message:i,relatedInformation:n,code:s}=e;let o=(t?.length||0)+2;s&&(o+="string"==typeof s?s.length:s.value.length);const r=(0,Ti.uz)(i);this._lines=r.length,this._longestLineLength=0;for(const c of r)this._longestLineLength=Math.max(c.length+o,this._longestLineLength);Ge(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let a=this._messageBlock;for(const c of r)a=document.createElement("div"),a.innerText=c,""===c&&(a.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(a);if(t||s){const e=document.createElement("span");if(e.classList.add("details"),a.appendChild(e),t){const i=document.createElement("span");i.innerText=t,i.classList.add("source"),e.appendChild(i)}if(s)if("string"==typeof s){const t=document.createElement("span");t.innerText=`(${s})`,t.classList.add("code"),e.appendChild(t)}else{this._codeLink=ei("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(s.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()};Gt(this._codeLink,ei("span")).innerText=s.value,e.appendChild(this._codeLink)}}if(Ge(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,ia.EI)(n)){const e=this._relatedBlock.appendChild(document.createElement("div"));e.style.paddingTop=`${Math.floor(.66*this._editor.getOption(67))}px`,this._lines+=1;for(const t of n){const i=document.createElement("div"),n=document.createElement("a");n.classList.add("filename"),n.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,n.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(n,t);const s=document.createElement("span");s.innerText=t.message,i.appendChild(n),i.appendChild(s),this._lines+=1,e.appendChild(i)}}const l=this._editor.getOption(50),h=Math.ceil(l.typicalFullwidthCharacterWidth*this._longestLineLength*.75),d=l.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:h,scrollHeight:d})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Wp.cj.Error:t=jn.kg("Error","Error");break;case Wp.cj.Warning:t=jn.kg("Warning","Warning");break;case Wp.cj.Info:t=jn.kg("Info","Info");break;case Wp.cj.Hint:t=jn.kg("Hint","Hint")}let i=jn.kg("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const n=this._editor.getModel();if(n&&e.startLineNumber<=n.getLineCount()&&e.startLineNumber>=1){i=`${n.getLineContent(e.startLineNumber)}, ${i}`}return i}}let GP=class extends qk{static{KP=this}static{this.TitleMenu=new _s("gotoErrorTitleMenu")}constructor(e,t,i,n,s,o,r){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},s),this._themeService=t,this._openerService=i,this._menuService=n,this._contextKeyService=o,this._labelService=r,this._callOnDispose=new Ae.Cm,this._onDidSelectRelatedInformation=new P.vl,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Wp.cj.Warning,this._backgroundColor=hd.Q1.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(sO);let t=XP,i=JP;this._severity===Wp.cj.Warning?(t=eO,i=tO):this._severity===Wp.cj.Info&&(t=iO,i=nO);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(Qk),secondaryHeadingColor:e.getColor(Yk)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((e=>this.editor.focus())));const t=[];Vy(this._menuService.getMenuActions(KP.TitleMenu,this._contextKeyService),t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=Gt(e,ei(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new qP(this._container,this.editor,(e=>this._onDidSelectRelatedInformation.fire(e)),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const n=Xs.Q.lift(e),s=this.editor.getPosition(),o=s&&n.containsPosition(s)?s:n.getStartPosition();super.show(o,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const e=i>1?jn.kg("problems","{0} of {1} problems",t,i):jn.kg("change","{0} of {1} problem",t,i);this.setTitle((0,Wn.P8)(r.uri),e)}this._icon.className=`codicon ${UP.className(Wp.cj.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(o,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};GP=KP=jP([$P(1,io.Gy),$P(2,Th),$P(3,vs),$P(4,$n._Y),$P(5,ls.fN),$P(6,oN)],GP);const QP=(0,to.yLr)(to.Rbi,to.AN$),YP=(0,to.yLr)(to.Hng,to.Stt),ZP=(0,to.yLr)(to.pOz,to.IIb),XP=(0,to.x1A)("editorMarkerNavigationError.background",{dark:QP,light:QP,hcDark:to.b1q,hcLight:to.b1q},jn.kg("editorMarkerNavigationError","Editor marker navigation widget error color.")),JP=(0,to.x1A)("editorMarkerNavigationError.headerBackground",{dark:(0,to.JO0)(XP,.1),light:(0,to.JO0)(XP,.1),hcDark:null,hcLight:null},jn.kg("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),eO=(0,to.x1A)("editorMarkerNavigationWarning.background",{dark:YP,light:YP,hcDark:to.b1q,hcLight:to.b1q},jn.kg("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),tO=(0,to.x1A)("editorMarkerNavigationWarning.headerBackground",{dark:(0,to.JO0)(eO,.1),light:(0,to.JO0)(eO,.1),hcDark:"#0C141F",hcLight:(0,to.JO0)(eO,.2)},jn.kg("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),iO=(0,to.x1A)("editorMarkerNavigationInfo.background",{dark:ZP,light:ZP,hcDark:to.b1q,hcLight:to.b1q},jn.kg("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),nO=(0,to.x1A)("editorMarkerNavigationInfo.headerBackground",{dark:(0,to.JO0)(iO,.1),light:(0,to.JO0)(iO,.1),hcDark:null,hcLight:null},jn.kg("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),sO=(0,to.x1A)("editorMarkerNavigation.background",to.YtV,jn.kg("editorMarkerNavigationBackground","Editor marker navigation widget background."));var oO,rO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},aO=function(e,t){return function(i,n){t(i,n,e)}};let lO=class{static{oO=this}static{this.ID="editor.contrib.markerController"}static get(e){return e.getContribution(oO.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new Ae.Cm,this._editor=e,this._widgetVisible=uO.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(GP,this._editor),this._widget.onDidClose((()=>this.close()),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition((e=>{this._model?.selected&&Xs.Q.containsPosition(this._model?.selected.marker,e.position)||this._model?.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:Xs.Q.lift(e).collapseToStart()}},this._editor),this.close(!1)}))),this._sessionDispoables.add(this._editor.onDidChangeModel((()=>this._cleanUp()))),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new Gn.y(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){if(this._editor.hasModel()){const i=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(i.move(e,this._editor.getModel(),this._editor.getPosition()),!i.selected)return;if(i.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const n=await this._editorService.openCodeEditor({resource:i.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:i.selected.marker}},this._editor);n&&(oO.get(n)?.close(),oO.get(n)?.nagivate(e,t))}else this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}}};lO=oO=rO([aO(1,VP),aO(2,ls.fN),aO(3,qn),aO(4,$n._Y)],lO);class hO extends Ts{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){t.hasModel()&&lO.get(t)?.nagivate(this._next,this._multiFile)}}class dO extends hO{static{this.ID="editor.action.marker.next"}static{this.LABEL=jn.kg("markerAction.next.label","Go to Next Problem (Error, Warning, Info)")}constructor(){super(!0,!1,{id:dO.ID,label:dO.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:578,weight:100},menuOpts:{menuId:GP.TitleMenu,title:dO.LABEL,icon:mu("marker-navigation-next",vl.W.arrowDown,jn.kg("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}class cO extends hO{static{this.ID="editor.action.marker.prev"}static{this.LABEL=jn.kg("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)")}constructor(){super(!1,!1,{id:cO.ID,label:cO.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:1602,weight:100},menuOpts:{menuId:GP.TitleMenu,title:cO.LABEL,icon:mu("marker-navigation-previous",vl.W.arrowUp,jn.kg("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}Bs(lO.ID,lO,4),Fs(dO),Fs(cO),Fs(class extends hO{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:jn.kg("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:66,weight:100},menuOpts:{menuId:_s.MenubarGoMenu,title:jn.kg({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}),Fs(class extends hO{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:jn.kg("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:1090,weight:100},menuOpts:{menuId:_s.MenubarGoMenu,title:jn.kg({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const uO=new ls.N1("markersNavigationVisible",!1);Os(new(Ms.bindToContribution(lO.get))({id:"closeMarkersNavigation",precondition:uO,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:js.focus,primary:9,secondary:[1033]}}));class gO{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){const n=new Ae.Cm;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Ae.HE);return s.value=this.doProvide(e,t,i),n.add(this.onDidActiveTextEditorControlChange((()=>{s.value=void 0,s.value=this.doProvide(e,t)}))),n}doProvide(e,t,i){const n=new Ae.Cm,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const o={editor:s},r=Mk(s);if(r){let e=s.saveViewState()??void 0;n.add(r.onDidChangeCursorPosition((()=>{e=s.saveViewState()??void 0}))),o.restoreViewState=()=>{e&&s===this.activeTextEditorControl&&s.restoreViewState(e)},n.add((0,rv.P)(t.onCancellationRequested)((()=>o.restoreViewState?.())))}n.add((0,Ae.s)((()=>this.clearDecorations(s)))),n.add(this.provideWithTextEditor(o,e,t,i))}else n.add(this.provideWithoutTextEditor(e,t));return n}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&wi(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){return Ek(e)?e.getModel()?.modified:e.getModel()}addDecorations(e,t){e.changeDecorations((e=>{const i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),i.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const n=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:(0,io.Yf)(Zf.vp),position:Js.A5.Full}}}],[s,o]=e.deltaDecorations(i,n);this.rangeHighlightDecorationId={rangeHighlightId:s,overviewRulerDecorationId:o}}))}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations((e=>{e.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}class pO extends gO{static{this.PREFIX=":"}constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=(0,jn.kg)("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Ae.jG.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new Ae.Cm;s.add(t.onDidAccept((i=>{const[s]=t.selectedItems;if(s){if(!this.isValidLineNumber(n,s.lineNumber))return;this.gotoLocation(e,{range:this.toRange(s.lineNumber,s.column),keyMods:t.keyMods,preserveFocus:i.inBackground}),i.inBackground||t.hide()}})));const o=()=>{const e=this.parsePosition(n,t.value.trim().substr(pO.PREFIX.length)),i=this.getPickLabel(n,e.lineNumber,e.column);if(t.items=[{lineNumber:e.lineNumber,column:e.column,label:i}],t.ariaLabel=i,!this.isValidLineNumber(n,e.lineNumber))return void this.clearDecorations(n);const s=this.toRange(e.lineNumber,e.column);n.revealRangeInCenter(s,0),this.addDecorations(n,s)};o(),s.add(t.onDidChangeValue((()=>o())));const r=Mk(n);if(r){2===r.getOptions().get(68).renderType&&(r.updateOptions({lineNumbers:"on"}),s.add((0,Ae.s)((()=>r.updateOptions({lineNumbers:"relative"})))))}return s}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map((e=>parseInt(e,10))).filter((e=>!isNaN(e))),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?(0,jn.kg)("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):(0,jn.kg)("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?(0,jn.kg)("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):(0,jn.kg)("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!(!t||"number"!=typeof t)&&(t>0&&t<=this.lineCount(e))}isValidColumn(e,t,i){if(!i||"number"!=typeof i)return!1;const n=this.getModel(e);if(!n)return!1;const s={lineNumber:t,column:i};return n.validatePosition(s).equals(s)}lineCount(e){return this.getModel(e)?.getLineCount()??0}}var mO;!function(e){e[e.PRESERVE=0]="PRESERVE",e[e.LAST=1]="LAST"}(mO||(mO={}));const fO="workbench.contributions.quickaccess";var _O,vO,bO,CO,wO,yO,SO,kO;hs.O.add(fO,new class{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return 0===e.prefix.length?this.defaultProvider=e:this.providers.push(e),this.providers.sort(((e,t)=>t.prefix.length-e.prefix.length)),(0,Ae.s)((()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)}))}getQuickAccessProviders(){return(0,ia.Yc)([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find((t=>e.startsWith(t.prefix)))||void 0||this.defaultProvider}}),function(e){e.inspectTokensAction=jn.kg("inspectTokens","Developer: Inspect Tokens")}(_O||(_O={})),function(e){e.gotoLineActionLabel=jn.kg("gotoLineActionLabel","Go to Line/Column...")}(vO||(vO={})),function(e){e.helpQuickAccessActionLabel=jn.kg("helpQuickAccess","Show all Quick Access Providers")}(bO||(bO={})),function(e){e.quickCommandActionLabel=jn.kg("quickCommandActionLabel","Command Palette"),e.quickCommandHelp=jn.kg("quickCommandActionHelp","Show And Run Commands")}(CO||(CO={})),function(e){e.quickOutlineActionLabel=jn.kg("quickOutlineActionLabel","Go to Symbol..."),e.quickOutlineByCategoryActionLabel=jn.kg("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")}(wO||(wO={})),function(e){e.editorViewAccessibleLabel=jn.kg("editorViewAccessibleLabel","Editor content")}(yO||(yO={})),function(e){e.toggleHighContrast=jn.kg("toggleHighContrast","Toggle High Contrast Theme")}(SO||(SO={})),function(e){e.bulkEditServiceSummary=jn.kg("bulkEditServiceSummary","Made {0} edits in {1} files")}(kO||(kO={}));var LO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},xO=function(e,t){return function(i,n){t(i,n,e)}};let DO=class extends pO{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=P.Jh.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};DO=LO([xO(0,qn)],DO);class NO extends Ts{static{this.ID="editor.action.gotoLine"}constructor(){super({id:NO.ID,label:vO.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Jh).quickAccess.show(DO.PREFIX)}}Fs(NO),hs.O.as(fO).registerQuickAccessProvider({ctor:DO,prefix:DO.PREFIX,helpEntries:[{description:vO.gotoLineActionLabel,commandId:NO.ID}]});var IO,EO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},MO=function(e,t){return function(i,n){t(i,n,e)}};let TO=class{static{IO=this}static{this.ID="editor.contrib.gotodefinitionatposition"}static{this.MAX_SOURCE_PREVIEW_LINES=8}constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new Ae.Cm,this.toUnhookForKeyboard=new Ae.Cm,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new Lk(e);this.toUnhook.add(s),this.toUnhook.add(s.onMouseMoveOrRelevantKeyDown((([e,t])=>{this.startFindDefinitionFromMouse(e,t??void 0)}))),this.toUnhook.add(s.onExecute((e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).catch((e=>{(0,b.dz)(e)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(s.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(e){return e.getContribution(IO.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition((()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()}))),this.toUnhookForKeyboard.add(this.editor.onKeyDown((e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())})))}startFindDefinitionFromMouse(e,t){if(9===e.target.type&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordAtPosition=null,void this.removeLinkDecorations();const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){this.toUnhookForKeyboard.clear();const t=e?this.editor.getModel()?.getWordAtPosition(e):null;if(!t)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;const i=new ml(this.editor,15);let n;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,A.SS)((t=>this.findDefinition(e,t)));try{n=await this.previousPromise}catch(o){return void(0,b.dz)(o)}if(!n||!n.length||!i.validate(this.editor))return void this.removeLinkDecorations();const s=n[0].originSelectionRange?Xs.Q.lift(n[0].originSelectionRange):new Xs.Q(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let e=s;for(const{originSelectionRange:t}of n)t&&(e=Xs.Q.plusRange(e,t));this.addDecoration(e,(new Hn).appendText(jn.kg("multipleResults","Click to show {0} definitions.",n.length)))}else{const e=n[0];if(!e.uri)return;this.textModelResolverService.createModelReference(e.uri).then((t=>{if(!t.object||!t.object.textEditorModel)return void t.dispose();const{object:{textEditorModel:i}}=t,{startLineNumber:n}=e.range;if(n<1||n>i.getLineCount())return void t.dispose();const o=this.getPreviewValue(i,n,e),r=this.languageService.guessLanguageIdByFilepathOrFirstLine(i.uri);this.addDecoration(s,o?(new Hn).appendCodeblock(r||"",o):void 0),t.dispose()}))}}getPreviewValue(e,t,i){let n=i.range;n.endLineNumber-n.startLineNumber>=IO.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(e,t));return this.stripIndentationFromPreviewRange(e,t,n)}stripIndentationFromPreviewRange(e,t,i){let n=e.getLineFirstNonWhitespaceColumn(t);for(let s=t+1;s{const i=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(e);return new $N({openToSide:t,openInPeek:i,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e)}))}isInPeekEditor(e){const t=e.get(ls.fN);return Kk.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};var RO;TO=IO=EO([MO(1,Yn.ITextModelService),MO(2,xh.L),MO(3,La.ILanguageFeaturesService)],TO),Bs(TO.ID,TO,2),function(e){e.NoAutoFocus="noAutoFocus",e.FocusIfVisible="focusIfVisible",e.AutoFocusImmediately="autoFocusImmediately"}(RO||(RO={}));var AO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},PO=function(e,t){return function(i,n){t(i,n,e)}};const OO=ei;class FO{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const WO={type:1,filter:{include:Bc.QuickFix},triggerAction:Hc.QuickFixHover};let BO=class{constructor(e,t,i,n){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=n,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),o=[];for(const r of t){const t=r.range.startLineNumber===n?r.range.startColumn:1,a=r.range.endLineNumber===n?r.range.endColumn:s,l=this._markerDecorationsService.getMarker(i.uri,r);if(!l)continue;const h=new Xs.Q(e.range.startLineNumber,t,e.range.startLineNumber,a);o.push(new FO(this,h,l))}return o}renderHoverParts(e,t){if(!t.length)return new my([]);const i=new Ae.Cm,n=[];t.forEach((t=>{const i=this._renderMarkerHover(t);e.fragment.appendChild(i.hoverElement),n.push(i)}));const s=1===t.length?t[0]:t.sort(((e,t)=>Wp.cj.compare(e.marker.severity,t.marker.severity)))[0];return this.renderMarkerStatusbar(e,s,i),new my(n)}_renderMarkerHover(e){const t=new Ae.Cm,i=OO("div.hover-row"),n=Gt(i,OO("div.marker.hover-contents")),{source:s,message:o,code:r,relatedInformation:a}=e.marker;this._editor.applyFontInfo(n);const l=Gt(n,OO("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=o,s||r)if(r&&"string"!=typeof r){const e=OO("span");if(s){Gt(e,OO("span")).innerText=s}const i=Gt(e,OO("a.code-link"));i.setAttribute("href",r.target.toString()),t.add(Ye(i,"click",(e=>{this._openerService.open(r.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()})));Gt(i,OO("span")).innerText=r.value;const o=Gt(n,e);o.style.opacity="0.6",o.style.paddingLeft="6px"}else{const e=Gt(n,OO("span"));e.style.opacity="0.6",e.style.paddingLeft="6px",e.innerText=s&&r?`${s}(${r})`:s||`(${r})`}if((0,ia.EI)(a))for(const{message:h,resource:d,startLineNumber:c,startColumn:u}of a){const e=Gt(n,OO("div"));e.style.marginTop="8px";const i=Gt(e,OO("a"));i.innerText=`${(0,Wn.P8)(d)}(${c}, ${u}): `,i.style.cursor="pointer",t.add(Ye(i,"click",(e=>{if(e.stopPropagation(),e.preventDefault(),this._openerService){const e={selection:{startLineNumber:c,startColumn:u}};this._openerService.open(d,{fromUserGesture:!0,editorOptions:e}).catch(b.dz)}})));const s=Gt(e,OO("span"));s.innerText=h,this._editor.applyFontInfo(s)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Wp.cj.Error||t.marker.severity===Wp.cj.Warning||t.marker.severity===Wp.cj.Info){const i=lO.get(this._editor);i&&e.statusBar.addAction({label:jn.kg("view problem","View Problem"),commandId:dO.ID,run:()=>{e.hide(),i.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(OO("div"));this.recentMarkerCodeActionsInfo&&(Wp.oc.makeKey(this.recentMarkerCodeActionsInfo.marker)===Wp.oc.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=jn.kg("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Ae.jG.None:(0,A.EQ)((()=>n.textContent=jn.kg("checkingForQuickFixes","Checking for quick fixes...")),200,i);n.textContent||(n.textContent=String.fromCharCode(160));const o=this.getCodeActions(t.marker);i.add((0,Ae.s)((()=>o.cancel()))),o.then((o=>{if(s.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:o.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return o.dispose(),void(n.textContent=jn.kg("noQuickFixes","No quick fixes available"));n.style.display="none";let r=!1;i.add((0,Ae.s)((()=>{r||o.dispose()}))),e.statusBar.addAction({label:jn.kg("quick fixes","Quick Fix..."),commandId:jc,run:t=>{r=!0;const i=Yp.get(this._editor),n=ct(t);e.hide(),i?.showCodeActions(WO,o,{x:n.left,y:n.top,width:n.width,height:n.height})}})}),b.dz)}}getCodeActions(e){return(0,A.SS)((t=>Jc(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Xs.Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),WO,$h.None,t)))}};BO=AO([PO(1,em.IMarkerDecorationsService),PO(2,Th),PO(3,La.ILanguageFeaturesService)],BO);class HO{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=Js.ZS.Center}computeSync(){const e=e=>({value:e}),t=this._editor.getLineDecorations(this._lineNumber),i=[],n="lineNo"===this._laneOrLine;if(!t)return i;for(const s of t){const t=s.options.glyphMargin?.position??Js.ZS.Center;if(!n&&t!==this._laneOrLine)continue;const o=n?s.options.lineNumberHoverMessage:s.options.glyphMarginHoverMessage;o&&!Vn(o)&&i.push(...(0,ia._j)(o).map(e))}return i}}var VO,zO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},UO=function(e,t){return function(i,n){t(i,n,e)}};const KO=ei;let jO=class extends Ae.jG{static{VO=this}static{this.ID="editor.contrib.modesGlyphHoverWidget"}constructor(e,t,i){super(),this._renderDisposeables=this._register(new Ae.Cm),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new WS),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Oh({editor:this._editor},t,i)),this._computer=new HO(this._editor),this._hoverOperation=this._register(new LS(this._editor,this._computer)),this._register(this._hoverOperation.onResult((e=>{this._withResult(e.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()}))),this._register(Xe(this._hover.containerDomNode,"mouseleave",(e=>{this._onMouseLeave(e)}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return VO.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){const t=e.target;return 2===t.type&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):3===t.type&&(this._startShowingAt(t.position.lineNumber,"lineNo"),!0)}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const n of t){const e=KO("div.hover-row.markdown-hover"),t=Gt(e,KO("div.hover-contents")),s=this._renderDisposeables.add(this._markdownRenderer.render(n.value));t.appendChild(s.element),i.appendChild(e)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),s=this._editor.getOption(67),o=i-n-(this._hover.containerDomNode.clientHeight-s)/2,r=t.glyphMarginLeft+t.glyphMarginWidth+("lineNo"===this._computer.lane?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${r}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(o),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!SS(t,e.x,e.y))&&this.hide()}};jO=VO=zO([UO(1,xh.L),UO(2,Th)],jO);var $O=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},qO=function(e,t){return function(i,n){t(i,n,e)}};let GO=class extends Ae.jG{static{this.ID="editor.contrib.marginHover"}constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Ae.Cm,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new A.uC((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())})))}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown((e=>this._onEditorMouseDown(e)))),this._listenersStore.add(this._editor.onMouseUp((()=>this._onEditorMouseUp()))),this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))):(this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))),this._listenersStore.add(this._editor.onMouseLeave((e=>this._onEditorMouseLeave(e)))),this._listenersStore.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._listenersStore.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._listenersStore.add(this._editor.onDidScrollChange((e=>this._onEditorScrollChanged(e))))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0;this._isMouseOnMarginHoverWidget(e)||this._hideWidgets()}_isMouseOnMarginHoverWidget(e){const t=this._glyphWidget?.getDomNode();return!!t&&SS(t,e.event.posx,e.event.posy)}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;this._cancelScheduler();this._isMouseOnMarginHoverWidget(e)||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=this._isMouseOnMarginHoverWidget(e);return t&&i}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;this._mouseMoveEvent=e;this._shouldNotRecomputeCurrentHoverWidget(e)?this._reactToEditorMouseMoveRunner.cancel():this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){if(!e)return;this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){this._editor.hasModel()&&5!==e.keyCode&&6!==e.keyCode&&57!==e.keyCode&&4!==e.keyCode&&this._hideWidgets()}_hideWidgets(){this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(jO,this._editor)),this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}};GO=$O([qO(1,$n._Y)],GO);const QO=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{const t=this._implementations.indexOf(e);-1!==t&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}};Bs(yI.ID,yI,2),Bs(GO.ID,GO,2),Fs(class extends Ts{constructor(){super({id:Dy,label:jn.kg({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:jn.aS("showOrFocusHoverDescription","Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[RO.NoAutoFocus,RO.FocusIfVisible,RO.AutoFocusImmediately],enumDescriptions:[jn.kg("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),jn.kg("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),jn.kg("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:RO.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:js.editorTextFocus,primary:(0,v.m5)(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=yI.get(t);if(!n)return;const s=i?.focus;let o=RO.FocusIfVisible;Object.values(RO).includes(s)?o=s:"boolean"==typeof s&&s&&(o=RO.AutoFocusImmediately);const r=e=>{const i=t.getPosition(),s=new Xs.Q(i.lineNumber,i.column,i.lineNumber,i.column);n.showContentHover(s,1,1,e)},a=2===t.getOption(2);n.isHoverVisible?o!==RO.NoAutoFocus?n.focus():r(a):r(a||o===RO.AutoFocusImmediately)}}),Fs(class extends Ts{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:jn.kg({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:jn.aS("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=yI.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new Xs.Q(n.lineNumber,n.column,n.lineNumber,n.column),o=TO.get(t);if(!o)return;o.startFindDefinitionFromCursor(n).then((()=>{i.showContentHover(s,1,1,!0)}))}}),Fs(class extends Ts{constructor(){super({id:"editor.action.scrollUpHover",label:jn.kg({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:js.hoverFocused,kbOpts:{kbExpr:js.hoverFocused,primary:16,weight:100},metadata:{description:jn.aS("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=yI.get(t);i&&i.scrollUp()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.scrollDownHover",label:jn.kg({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:js.hoverFocused,kbOpts:{kbExpr:js.hoverFocused,primary:18,weight:100},metadata:{description:jn.aS("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=yI.get(t);i&&i.scrollDown()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.scrollLeftHover",label:jn.kg({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:js.hoverFocused,kbOpts:{kbExpr:js.hoverFocused,primary:15,weight:100},metadata:{description:jn.aS("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=yI.get(t);i&&i.scrollLeft()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.scrollRightHover",label:jn.kg({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:js.hoverFocused,kbOpts:{kbExpr:js.hoverFocused,primary:17,weight:100},metadata:{description:jn.aS("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=yI.get(t);i&&i.scrollRight()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.pageUpHover",label:jn.kg({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:js.hoverFocused,kbOpts:{kbExpr:js.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:jn.aS("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=yI.get(t);i&&i.pageUp()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.pageDownHover",label:jn.kg({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:js.hoverFocused,kbOpts:{kbExpr:js.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:jn.aS("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=yI.get(t);i&&i.pageDown()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.goToTopHover",label:jn.kg({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:js.hoverFocused,kbOpts:{kbExpr:js.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:jn.aS("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=yI.get(t);i&&i.goToTop()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.goToBottomHover",label:jn.kg({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:js.hoverFocused,kbOpts:{kbExpr:js.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:jn.aS("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=yI.get(t);i&&i.goToBottom()}}),Fs(class extends Ts{constructor(){super({id:Ny,label:Iy,alias:"Increase Hover Verbosity Level",precondition:js.hoverVisible})}run(e,t,i){const n=yI.get(t);if(!n)return;const s=void 0!==i?.index?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(ka.M$.Increase,s,i?.focus)}}),Fs(class extends Ts{constructor(){super({id:Ey,label:My,alias:"Decrease Hover Verbosity Level",precondition:js.hoverVisible})}run(e,t,i){const n=yI.get(t);if(!n)return;const s=void 0!==i?.index?i.index:n.focusedHoverPartIndex();yI.get(t)?.updateHoverVerbosityLevel(ka.M$.Decrease,s,i?.focus)}}),fy.register(mk),fy.register(BO),(0,io.zy)(((e,t)=>{const i=e.getColor(to.oZ8);i&&(t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${i.transparent(.5)}; }`))})),QO.register(new class{}),QO.register(new class{}),QO.register(new class{});class YO extends Ae.jG{static{this.ID="editor.contrib.iPadShowKeyboard"}constructor(e){super(),this.editor=e,this.widget=null,f.un&&(this._register(e.onDidChangeConfiguration((()=>this.update()))),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new ZO(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}class ZO extends Ae.jG{static{this.ID="editor.contrib.ShowKeyboardWidget"}constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Ye(this._domNode,"touchstart",(e=>{this.editor.focus()}))),this._register(Ye(this._domNode,"focus",(e=>{this.editor.focus()}))),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return ZO.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}Bs(YO.ID,YO,3);class XO{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const i=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new $s.L(i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn),i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn)):new $s.L(i.endLineNumber,i.endColumn-this._text.length,i.endLineNumber,i.endColumn)}}var JO,eF=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},tF=function(e,t){return function(i,n){t(i,n,e)}};let iF=class{static{JO=this}static{this.ID="editor.contrib.inPlaceReplaceController"}static get(e){return e.getContribution(JO.ID)}static{this.DECORATION=eo.kI.register({description:"in-place-replace",className:"valueSetReplacement"})}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){this.currentRequest?.cancel();const i=this.editor.getSelection(),n=this.editor.getModel();if(!n||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const o=new ml(this.editor,5),r=n.uri;return this.editorWorkerService.canNavigateValueSet(r)?(this.currentRequest=(0,A.SS)((e=>this.editorWorkerService.navigateValueSet(r,s,t))),this.currentRequest.then((t=>{if(!t||!t.range||!t.value)return;if(!o.validate(this.editor))return;const i=Xs.Q.lift(t.range);let n=t.range;const r=t.value.length-(s.endColumn-s.startColumn);n={startLineNumber:n.startLineNumber,startColumn:n.startColumn,endLineNumber:n.endLineNumber,endColumn:n.startColumn+t.value.length},r>1&&(s=new $s.L(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+r-1));const a=new XO(i,s,t.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,a),this.editor.pushUndoStop(),this.decorations.set([{range:n,options:JO.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=(0,A.wR)(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(b.dz)})).catch(b.dz)):Promise.resolve(void 0)}};iF=JO=eF([tF(1,Ww.IEditorWorkerService)],iF);function nF(e,t){let i=0;for(let n=0;nn-1)return[];const{tabSize:r,indentSize:a,insertSpaces:l}=e.getOptions(),h=(e,t)=>(t=t||1,Qo.shiftIndent(e,e.length+t,r,a,l)),d=(e,t)=>(t=t||1,Qo.unshiftIndent(e,e.length+t,r,a,l)),c=[],u=e.getLineContent(i);let g=Ti.UU(u),p=g;o.shouldIncrease(i)?(p=h(p),g=h(g)):o.shouldIndentNextLine(i)&&(p=h(p));for(let m=++i;m<=n;m++){if(rF(e,m))continue;const t=e.getLineContent(m),i=Ti.UU(t),n=p;o.shouldDecrease(m,n)&&(p=d(p),g=d(g)),i!==p&&c.push(bk.replaceMove(new $s.L(m,1,m,i.length+1),(0,lo.P)(p,a,l))),o.shouldIgnore(m)||(o.shouldIncrease(m,n)?(g=h(g),p=g):p=o.shouldIndentNextLine(m,n)?h(p):g)}return c}function rF(e,t){if(!e.tokenization.isCheapToTokenize(t))return!1;return 2===e.tokenization.getLineTokens(t).getStandardTokenType(0)}Bs(iF.ID,iF,4),Fs(class extends Ts{constructor(){super({id:"editor.action.inPlaceReplace.up",label:jn.kg("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=iF.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}),Fs(class extends Ts{constructor(){super({id:"editor.action.inPlaceReplace.down",label:jn.kg("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=iF.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}});var aF=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},lF=function(e,t){return function(i,n){t(i,n,e)}};class hF extends Ts{static{this.ID="editor.action.indentationToSpaces"}constructor(){super({id:hF.ID,label:jn.kg("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:js.writable,metadata:{description:jn.aS("indentationToSpacesDescription","Convert the tab indentation to spaces.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const o=new bF(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[o]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}class dF extends Ts{static{this.ID="editor.action.indentationToTabs"}constructor(){super({id:dF.ID,label:jn.kg("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:js.writable,metadata:{description:jn.aS("indentationToTabsDescription","Convert the spaces indentation to tabs.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const o=new CF(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[o]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}class cF extends Ts{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Jh),n=e.get(Qn.IModelService),s=t.getModel();if(!s)return;const o=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),r=s.getOptions(),a=[1,2,3,4,5,6,7,8].map((e=>({id:e.toString(),label:e.toString(),description:e===o.tabSize&&e===r.tabSize?jn.kg("configuredTabSize","Configured Tab Size"):e===o.tabSize?jn.kg("defaultTabSize","Default Tab Size"):e===r.tabSize?jn.kg("currentTabSize","Current Tab Size"):void 0}))),l=Math.min(s.getOptions().tabSize-1,7);setTimeout((()=>{i.pick(a,{placeHolder:jn.kg({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:a[l]}).then((e=>{if(e&&s&&!s.isDisposed()){const t=parseInt(e.label,10);this.displaySizeOnly?s.updateOptions({tabSize:t}):s.updateOptions({tabSize:t,indentSize:t,insertSpaces:this.insertSpaces})}}))}),50)}}class uF extends cF{static{this.ID="editor.action.indentUsingTabs"}constructor(){super(!1,!1,{id:uF.ID,label:jn.kg("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:jn.aS("indentUsingTabsDescription","Use indentation with tabs.")}})}}class gF extends cF{static{this.ID="editor.action.indentUsingSpaces"}constructor(){super(!0,!1,{id:gF.ID,label:jn.kg("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:jn.aS("indentUsingSpacesDescription","Use indentation with spaces.")}})}}class pF extends cF{static{this.ID="editor.action.changeTabDisplaySize"}constructor(){super(!0,!0,{id:pF.ID,label:jn.kg("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:jn.aS("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}}class mF extends Ts{static{this.ID="editor.action.detectIndentation"}constructor(){super({id:mF.ID,label:jn.kg("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:jn.aS("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(Qn.IModelService),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}}class fF{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&"string"==typeof i.text&&this._edits.push(i)}getEditOperations(e,t){for(const n of this._edits)t.addEditOperation(Xs.Q.lift(n.range),n.text);let i=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let _F=class{static{this.ID="editor.contrib.autoIndentOnPaste"}constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Ae.Cm,this.callOnModel=new Ae.Cm,this.callOnDispose.add(e.onDidChangeConfiguration((()=>this.update()))),this.callOnDispose.add(e.onDidChangeModel((()=>this.update()))),this.callOnDispose.add(e.onDidChangeModelLanguage((()=>this.update())))}update(){this.callOnModel.clear(),this.editor.getOption(12)<4||this.editor.getOption(55)||this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste((({range:e})=>{this.trigger(e)})))}trigger(e){const t=this.editor.getSelections();if(null===t||t.length>1)return;const i=this.editor.getModel();if(!i)return;if(this.rangeContainsOnlyWhitespaceCharacters(i,e))return;if(function(e,t){const i=t=>2===(0,Wo.T)(e,t);return i(t.getStartPosition())||i(t.getEndPosition())}(i,e))return;if(!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const n=this.editor.getOption(12),{tabSize:s,indentSize:o,insertSpaces:r}=i.getOptions(),a=[],l={shiftIndent:e=>Qo.shiftIndent(e,e.length+1,s,o,r),unshiftIndent:e=>Qo.unshiftIndent(e,e.length+1,s,o,r)};let h=e.startLineNumber;for(;h<=e.endLineNumber&&this.shouldIgnoreLine(i,h);)h++;if(h>e.endLineNumber)return;let d=i.getLineContent(h);if(!/\S/.test(d.substring(0,e.startColumn-1))){const e=Jo(n,i,i.getLanguageId(),h,l,this._languageConfigurationService);if(null!==e){const t=Ti.UU(d),n=nF(e,s);if(n!==nF(t,s)){const e=sF(n,s,r);a.push({range:new Xs.Q(h,1,h,t.length+1),text:e}),d=e+d.substring(t.length)}else{const e=er(i,h,this._languageConfigurationService);if(0===e||8===e)return}}}const c=h;for(;hi.tokenization.getLineTokens(e),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(e,t)=>i.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===c?d:i.getLineContent(e)},i.getLanguageId(),h+1,l,this._languageConfigurationService);if(null!==t){const n=nF(t,s),o=nF(Ti.UU(i.getLineContent(h+1)),s);if(n!==o){const t=n-o;for(let n=h+1;n<=e.endLineNumber;n++){const e=i.getLineContent(n),o=Ti.UU(e),l=sF(nF(o,s)+t,s,r);l!==o&&a.push({range:new Xs.Q(n,1,n,o.length+1),text:l})}}}}if(a.length>0){this.editor.pushUndoStop();const e=new fF(a,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",e),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){const i=e=>0===e.trim().length;let n=!0;if(t.startLineNumber===t.endLineNumber){n=i(e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1))}else for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const o=e.getLineContent(s);if(s===t.startLineNumber){n=i(o.substring(t.startColumn-1))}else if(s===t.endLineNumber){n=i(o.substring(0,t.endColumn-1))}else n=0===e.getLineFirstNonWhitespaceColumn(s);if(!n)break}return n}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(0===i)return!0;const n=e.tokenization.getLineTokens(t);if(n.getCount()>0){const e=n.findTokenIndexAtOffset(i);if(e>=0&&1===n.getStandardTokenType(e))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function vF(e,t,i,n){if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;let s="";for(let r=0;r0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}),Fs(class extends Ts{constructor(){super({id:"editor.action.reindentselectedlines",label:jn.kg("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:js.writable,metadata:{description:jn.aS("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(Fo.JZ),n=t.getModel();if(!n)return;const s=t.getSelections();if(null===s)return;const o=[];for(const r of s){let e=r.startLineNumber,t=r.endLineNumber;if(e!==t&&1===r.endColumn&&t--,1===e){if(e===t)continue}else e--;const s=oF(n,i,e,t);o.push(...s)}o.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop())}}),Bs(aI.ID,aI,1),fy.register(uI);class wF extends Ae.jG{static{this.inlineSuggestionVisible=new ls.N1("inlineSuggestionVisible",!1,(0,jn.kg)("inlineSuggestionVisible","Whether an inline suggestion is visible"))}static{this.inlineSuggestionHasIndentation=new ls.N1("inlineSuggestionHasIndentation",!1,(0,jn.kg)("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace"))}static{this.inlineSuggestionHasIndentationLessThanTabSize=new ls.N1("inlineSuggestionHasIndentationLessThanTabSize",!0,(0,jn.kg)("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab"))}static{this.suppressSuggestions=new ls.N1("inlineSuggestionSuppressSuggestions",void 0,(0,jn.kg)("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"))}constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=wF.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=wF.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=wF.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=wF.suppressSuggestions.bindTo(this.contextKeyService),this._register((0,mg.fm)((e=>{const t=this.model.read(e),i=t?.state.read(e),n=!!i?.inlineCompletion&&void 0!==i?.primaryGhostText&&!i?.primaryGhostText.isEmpty();this.inlineCompletionVisible.set(n),i?.primaryGhostText&&i?.inlineCompletion&&this.suppressSuggestions.set(i.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}))),this._register((0,mg.fm)((e=>{const t=this.model.read(e);let i=!1,n=!0;const s=t?.primaryGhostText.read(e);if(t?.selectedSuggestItem&&s&&s.parts.length>0){const{column:e,lines:o}=s.parts[0],r=o[0];if(e<=t.textModel.getLineIndentColumn(s.lineNumber)){let e=(0,Ti.HG)(r);-1===e&&(e=r.length-1),i=e>0;const s=t.textModel.getOptions().tabSize;n=ao.A.visibleColumnFromColumn(r,e+1,s)t.equals(e.parts[i])))}renderForScreenReader(e){if(0===this.parts.length)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new NM.mF([...this.parts.map((e=>new NM.WR(Xs.Q.fromPositions(new Gn.y(1,e.column)),e.lines.join("\n"))))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((e=>0===e.lines.length))}get lineCount(){return 1+this.parts.reduce(((e,t)=>e+t.lines.length-1),0)}}class SF{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=(0,Ti.uz)(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every(((t,i)=>t===e.lines[i]))}}class kF{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new SF(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=(0,Ti.uz)(this.text)}renderForScreenReader(e){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((e=>0===e.lines.length))}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every(((t,i)=>t===e.newLines[i]))&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function LF(e,t){return(0,ia.aI)(e,t,xF)}function xF(e,t){return e===t||!(!e||!t)&&((e instanceof yF&&t instanceof yF||e instanceof kF&&t instanceof kF)&&e.equals(t))}const DF=[];class NF{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new b.D7(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new Xs.Q(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function IF(e,t){const i=new Ae.Cm,n=e.createDecorationsCollection();return i.add((0,mg.zL)({debugName:()=>`Apply decorations from ${t.debugName}`},(e=>{const i=t.read(e);n.set(i)}))),i.add({dispose:()=>{n.clear()}}),i}function EF(e,t){return new Gn.y(e.lineNumber-t.lineNumber+1,e.lineNumber-t.lineNumber==0?e.column-t.column+1:e.column)}var MF=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},TF=function(e,t){return function(i,n){t(i,n,e)}};const RF="ghost-text";let AF=class extends Ae.jG{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=(0,mg.FY)(this,!1),this.currentTextModel=(0,mg.y0)(this,this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=(0,mg.un)(this,(e=>{if(this.isDisposed.read(e))return;const t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;const i=this.model.ghostText.read(e);if(!i)return;const n=i instanceof kF?i.columnRange:void 0,s=[],o=[];function r(e,t){if(o.length>0){const i=o[o.length-1];t&&i.decorations.push(new ef(i.content.length+1,i.content.length+1+e[0].length,t,0)),i.content+=e[0],e=e.slice(1)}for(const i of e)o.push({content:i,decorations:t?[new ef(1,i.length+1,t,0)]:[]})}const a=t.getLineContent(i.lineNumber);let l,h=0;for(const c of i.parts){let e=c.lines;void 0===l?(s.push({column:c.column,text:e[0],preview:c.preview}),e=e.slice(1)):r([a.substring(h,c.column-1)],void 0),e.length>0&&(r(e,RF),void 0===l&&c.column<=a.length&&(l=c.column)),h=c.column-1}void 0!==l&&r([a.substring(h)],void 0);const d=void 0!==l?new NF(l,a.length+1):void 0;return{replacedRange:n,inlineTexts:s,additionalLines:o,hiddenRange:d,lineNumber:i.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t}})),this.decorations=(0,mg.un)(this,(e=>{const t=this.uiState.read(e);if(!t)return[];const i=[];t.replacedRange&&i.push({range:t.replacedRange.toRange(t.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),t.hiddenRange&&i.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const n of t.inlineTexts)i.push({range:Xs.Q.fromPositions(new Gn.y(t.lineNumber,n.column)),options:{description:RF,after:{content:n.text,inlineClassName:n.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Js.VW.Left},showIfCollapsed:!0}});return i})),this.additionalLinesWidget=this._register(new PF(this.editor,this.languageService.languageIdCodec,(0,mg.un)((e=>{const t=this.uiState.read(e);return t?{lineNumber:t.lineNumber,additionalLines:t.additionalLines,minReservedLineCount:t.additionalReservedLineCount,targetTextModel:t.targetTextModel}:void 0})))),this._register((0,Ae.s)((()=>{this.isDisposed.set(!0,void 0)}))),this._register(IF(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};AF=MF([TF(2,xh.L)],AF);class PF extends Ae.jG{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=(0,mg.yQ)("editorOptionChanged",P.Jh.filter(this.editor.onDidChangeConfiguration,(e=>e.hasChanged(33)||e.hasChanged(118)||e.hasChanged(100)||e.hasChanged(95)||e.hasChanged(51)||e.hasChanged(50)||e.hasChanged(67)))),this._register((0,mg.fm)((e=>{const t=this.lines.read(e);this.editorOptionsChanged.read(e),t?this.updateLines(t.lineNumber,t.additionalLines,t.minReservedLineCount):this.clear()})))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones((e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)}))}updateLines(e,t,i){const n=this.editor.getModel();if(!n)return;const{tabSize:s}=n.getOptions();this.editor.changeViewZones((n=>{this._viewZoneId&&(n.removeZone(this._viewZoneId),this._viewZoneId=void 0);const o=Math.max(t.length,i);if(o>0){const i=document.createElement("div");!function(e,t,i,n,s){const o=n.get(33),r=n.get(118),a="none",l=n.get(95),h=n.get(51),d=n.get(50),c=n.get(67),u=new of.fe(1e4);u.appendString('
    ');for(let m=0,f=i.length;m');const g=Ti.aC(n),p=Ti.E_(n),f=Wo.f.createEmpty(n,s);uf(new lf(d.isMonospace&&!o,d.canUseHalfwidthRightwardsArrow,n,!1,g,p,0,f,e.decorations,t,0,d.spaceWidth,d.middotWidth,d.wsmiddotWidth,r,a,l,h!==pc.OFF,null),u),u.appendString("
    ")}u.appendString("
    "),Lh(e,d);const g=u.build(),p=OF?OF.createHTML(g):g;e.innerHTML=p}(i,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=n.addZone({afterLineNumber:e,heightInLines:o,domNode:i,afterColumnAffinity:1})}}))}}const OF=wh("editorGhostText",{createHTML:e=>e});var FF=i(85702),WF=i(34883),BF=i(96961),HF=i(60756),VF=i(33206);class zF{constructor(e){this.lines=e,this.tokenization={getLineTokens:e=>this.lines[e-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function UF(e,t,i,n,s=na.XO.None,o){const r=t instanceof Gn.y?function(e,t){const i=t.getWordAtPosition(e),n=t.getLineMaxColumn(e.lineNumber);return i?new Xs.Q(e.lineNumber,i.startColumn,e.lineNumber,n):Xs.Q.fromPositions(e,e.with(void 0,n))}(t,i):t,a=e.all(i),l=new Si.db;for(const _ of a)_.groupId&&l.add(_.groupId,_);function h(e){if(!e.yieldsToGroupIds)return[];const t=[];for(const i of e.yieldsToGroupIds||[]){const e=l.get(i);for(const i of e)t.push(i)}return t}const d=new Map,c=new Set;function u(e,t){if(t=[...t,e],c.has(e))return t;c.add(e);try{const i=h(e);for(const e of i){const i=u(e,t);if(i)return i}}finally{c.delete(e)}}function g(e){const o=d.get(e);if(o)return o;const r=u(e,[]);r&&(0,b.M_)(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${r.map((e=>e.toString?e.toString():""+e)).join(" -> ")}`));const a=new A.Zv;return d.set(e,a.p),(async()=>{if(!r){const t=h(e);for(const e of t){const t=await g(e);if(t&&t.items.length>0)return}}try{if(t instanceof Gn.y){return await e.provideInlineCompletions(i,t,n,s)}return await(e.provideInlineEdits?.(i,t,n,s))}catch(o){return void(0,b.M_)(o)}})().then((e=>a.complete(e)),(e=>a.error(e))),a.p}const p=await Promise.all(a.map((async e=>({provider:e,completions:await g(e)})))),m=new Map,f=[];for(const _ of p){const e=_.completions;if(!e)continue;const t=new jF(e,_.provider);f.push(t);for(const n of e.items){const e=$F.from(n,t,r,i,o);m.set(e.hash(),e)}}return new KF(Array.from(m.values()),new Set(m.keys()),f)}class KF{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class jF{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class $F{static from(e,t,i,n,s){let o,r,a=e.range?Xs.Q.lift(e.range):i;if("string"==typeof e.insertText){if(o=e.insertText,s&&e.completeBracketPairs){o=qF(o,a.getStartPosition(),n,s);const t=o.length-e.insertText.length;0!==t&&(a=new Xs.Q(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn+t))}r=void 0}else if("snippet"in e.insertText){const t=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=qF(e.insertText.snippet,a.getStartPosition(),n,s);const i=e.insertText.snippet.length-t;0!==i&&(a=new Xs.Q(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn+i))}const i=(new ll).parse(e.insertText.snippet);1===i.children.length&&i.children[0]instanceof Ja?(o=i.children[0].value,r=void 0):(o=i.toString(),r={snippet:e.insertText.snippet,range:a})}else(0,Xv.xb)(e.insertText);return new $F(o,e.command,a,o,r,e.additionalTextEdits||DF,e,t)}constructor(e,t,i,n,s,o,r,a){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=o,this.sourceInlineCompletion=r,this.source=a,n=(e=e.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(e){return new $F(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new NM.WR(this.range,this.insertText)}}function qF(e,t,i,n){const s=i.getLineContent(t.lineNumber).substring(0,t.column-1)+e,o=i.tokenization.tokenizeLineWithEdit(t,s.length-(t.column-1),e),r=o?.sliceAndInflate(t.column-1,s.length,0);if(!r)return e;const a=function(e,t){const i=new HF.Mg,n=new FF.Z(i,(e=>t.getLanguageConfiguration(e))),s=new VF.tk(new zF([e]),n),o=(0,BF.T)(s,[],void 0,!0);let r="";const a=e.getLineContent();return function e(t,i){if(2===t.kind)if(e(t.openingBracket,i),i=(0,WF.QB)(i,t.openingBracket.length),t.child&&(e(t.child,i),i=(0,WF.QB)(i,t.child.length)),t.closingBracket)e(t.closingBracket,i),i=(0,WF.QB)(i,t.closingBracket.length);else{const e=n.getSingleLanguageBracketTokens(t.openingBracket.languageId).findClosingTokenText(t.openingBracket.bracketIds);r+=e}else if(3===t.kind);else if(0===t.kind||1===t.kind)r+=a.substring((0,WF.sS)(i),(0,WF.sS)((0,WF.QB)(i,t.length)));else if(4===t.kind)for(const n of t.children)e(n,i),i=(0,WF.QB)(i,n.length)}(o,WF.Vp),r}(r,n);return a}function GF(e,t,i){const n=i?e.range.intersectRanges(i):e.range;if(!n)return e;const s=t.getValueInRange(n,1),o=(0,Ti.Qp)(s,e.text),r=VI.W.ofText(s.substring(0,o)).addToPosition(e.range.getStartPosition()),a=e.text.substring(o),l=Xs.Q.fromPositions(r,e.range.getEndPosition());return new NM.WR(l,a)}function QF(e,t){return e.text.startsWith(t.text)&&(i=e.range,(n=t.range).getStartPosition().equals(i.getStartPosition())&&n.getEndPosition().isBeforeOrEqual(i.getEndPosition()));var i,n}function YF(e,t,i,n,s=0){let o=GF(e,t);if(o.range.endLineNumber!==o.range.startLineNumber)return;const r=t.getLineContent(o.range.startLineNumber),a=(0,Ti.UU)(r).length;if(o.range.startColumn-1<=a){const e=(0,Ti.UU)(o.text).length,t=r.substring(o.range.startColumn-1,a),[i,n]=[o.range.getStartPosition(),o.range.getEndPosition()],s=i.column+t.length<=n.column?i.delta(0,t.length):n,l=Xs.Q.fromPositions(s,n),h=o.text.startsWith(t)?o.text.substring(t.length):o.text.substring(e);o=new NM.WR(l,h)}const l=t.getValueInRange(o.range),h=function(e,t){if(ZF?.originalValue===e&&ZF?.newValue===t)return ZF?.changes;{let i=JF(e,t,!0);if(i){const n=XF(i);if(n>0){const s=JF(e,t,!1);s&&XF(s)0===e.originalLength));if(e.length>1||1===e.length&&e[0].originalStart!==l.length)return}const u=o.text.length-s;for(const g of h){const e=o.range.startColumn+g.originalStart+g.originalLength;if("subwordSmart"===i&&n&&n.lineNumber===o.range.startLineNumber&&e0)return;if(0===g.modifiedLength)continue;const t=g.modifiedStart+g.modifiedLength,s=Math.max(g.modifiedStart,Math.min(t,u)),r=o.text.substring(g.modifiedStart,s),a=o.text.substring(s,Math.max(g.modifiedStart,t));r.length>0&&c.push(new SF(e,r,!1)),a.length>0&&c.push(new SF(e,a,!0))}return new yF(d,c)}let ZF;function XF(e){let t=0;for(const i of e)t+=i.originalLength;return t}function JF(e,t,i){if(e.length>5e3||t.length>5e3)return;function n(e){let t=0;for(let i=0,n=e.length;it&&(t=n)}return t}const s=Math.max(n(e),n(t));function o(e){if(e<0)throw new Error("unexpected");return s+e+1}function r(e){let t=0,n=0;const s=new Int32Array(e.length);for(let r=0,a=e.length;ra},{getElements:()=>l}).ComputeDiff(!1).changes}var eW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},tW=function(e,t){return function(i,n){t(i,n,e)}};let iW=class extends Ae.jG{constructor(e,t,i,n,s){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=n,this.languageConfigurationService=s,this._updateOperation=this._register(new Ae.HE),this.inlineCompletions=(0,mg.X2)("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=(0,mg.X2)("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(e,t,i){const n=new nW(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(this._updateOperation.value?.request.satisfies(n))return this._updateOperation.value.promise;if(s.get()?.request.satisfies(n))return Promise.resolve(!0);const o=!!this._updateOperation.value;this._updateOperation.clear();const r=new na.Qi,a=(async()=>{var a,l;if((o||t.triggerKind===ka.qw.Automatic)&&await(a=this._debounceValue.get(this.textModel),l=r.token,new Promise((e=>{let t;const i=setTimeout((()=>{t&&t.dispose(),e()}),a);l&&(t=l.onCancellationRequested((()=>{clearTimeout(i),t&&t.dispose(),e()})))}))),r.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const h=new Date,d=await UF(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,r.token,this.languageConfigurationService);if(r.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const c=new Date;this._debounceValue.update(this.textModel,c.getTime()-h.getTime());const u=new oW(d,n,this.textModel,this.versionId);if(i){const t=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!d.has(t)&&u.prepend(i.inlineCompletion,t.range,!0)}return this._updateOperation.clear(),(0,mg.Rn)((e=>{s.set(u,e)})),!0})(),l=new sW(n,r,a);return this._updateOperation.value=l,a}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};iW=eW([tW(3,La.ILanguageFeaturesService),tW(4,Fo.JZ)],iW);class nW{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&(0,OM.KC)(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,(0,OM.r)())&&(e.context.triggerKind===ka.qw.Automatic||this.context.triggerKind===ka.qw.Explicit)&&this.versionId===e.versionId}}class sW{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class oW{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,n){this.inlineCompletionProviderResult=e,this.request=t,this._textModel=i,this._versionId=n,this._refCount=1,this._prependedInlineCompletionItems=[];const s=i.deltaDecorations([],e.completions.map((e=>({range:e.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=e.completions.map(((e,t)=>new rW(e,s[t],this._textModel,this._versionId)))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){setTimeout((()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map((e=>e.decorationId)),[])}),0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const n=this._textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new rW(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class rW{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(e,t,i,n){this.inlineCompletion=e,this.decorationId=t,this._textModel=i,this._modelVersion=n,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=(0,mg.C)({owner:this,equalsFn:Xs.Q.equalsRange},(e=>(this._modelVersion.read(e),this._textModel.getDecorationRange(this.decorationId))))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??aW)}toSingleTextEdit(e){return new NM.WR(this._updatedRange.read(e)??aW,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=GF(this._toFilterTextReplacement(i),e),s=this._updatedRange.read(i);if(!s||!this.inlineCompletion.range.getStartPosition().equals(s.getStartPosition())||t.lineNumber!==n.range.startLineNumber)return!1;const o=e.getValueInRange(n.range,1),r=n.text,a=Math.max(0,t.column-n.range.startColumn);let l=r.substring(0,a),h=r.substring(a),d=o.substring(0,a),c=o.substring(a);const u=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=u&&(d=d.trimStart(),0===d.length&&(c=c.trimStart()),l=l.trimStart(),0===l.length&&(h=h.trimStart())),l.startsWith(d)&&!!Fi(c,h)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&VI.W.ofRange(i).isGreaterThanOrEqualTo(VI.W.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new NM.WR(this._updatedRange.read(e)??aW,this.inlineCompletion.filterText)}}const aW=new Xs.Q(1,1,1,1),lW={Visible:BR,HasFocusedSuggestion:new ls.N1("suggestWidgetHasFocusedSuggestion",!1,(0,jn.kg)("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new ls.N1("suggestWidgetDetailsVisible",!1,(0,jn.kg)("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new ls.N1("suggestWidgetMultipleSuggestions",!1,(0,jn.kg)("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new ls.N1("suggestionMakesTextEdit",!0,(0,jn.kg)("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new ls.N1("acceptSuggestionOnEnter",!0,(0,jn.kg)("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new ls.N1("suggestionHasInsertAndReplaceRange",!1,(0,jn.kg)("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new ls.N1("suggestionInsertMode",void 0,{type:"string",description:(0,jn.kg)("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new ls.N1("suggestionCanResolve",!1,(0,jn.kg)("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},hW=new _s("suggestWidgetStatusBar");class dW{constructor(e,t,i,n){this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Sn.Default,this.distance=0,this.textLabel="string"==typeof t.label?t.label:t.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,Xs.Q.isIRange(t.range)?(this.editStart=new Gn.y(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Gn.y(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Gn.y(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||Xs.Q.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Gn.y(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Gn.y(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Gn.y(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||Xs.Q.spansMultipleLines(t.range.insert)||Xs.Q.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),"function"!=typeof n.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested((()=>{this._resolveCache=void 0,this._resolveDuration=void 0})),i=new Hp.W(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then((e=>{Object.assign(this.completion,e),this._resolveDuration=i.elapsed()}),(e=>{(0,b.MB)(e)&&(this._resolveCache=void 0,this._resolveDuration=void 0)})).finally((()=>{t.dispose()}))}return this._resolveCache}}class cW{static{this.default=new cW}constructor(e=2,t=new Set,i=new Set,n=new Map,s=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=n,this.showDeprecated=s}}let uW;class gW{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function pW(e,t,i,n=cW.default,s={triggerKind:0},o=na.XO.None){const r=new Hp.W;i=i.clone();const a=t.getWordAtPosition(i),l=a?new Xs.Q(i.lineNumber,a.startColumn,i.lineNumber,a.endColumn):Xs.Q.fromPositions(i),h={replace:l,insert:l.setEndPosition(i.lineNumber,i.column)},d=[],c=new Ae.Cm,u=[];let g=!1;const p=(e,t,s)=>{let o=!1;if(!t)return o;for(const r of t.suggestions)if(!n.kindFilter.has(r.kind)){if(!n.showDeprecated&&r?.tags?.includes(1))continue;r.range||(r.range=h),r.sortText||(r.sortText="string"==typeof r.label?r.label:r.label.label),!g&&r.insertTextRules&&4&r.insertTextRules&&(g=ll.guessNeedsClipboard(r.insertText)),d.push(new dW(i,r,t,e)),o=!0}return(0,Ae.Xm)(t)&&c.add(t),u.push({providerName:e._debugDisplayName??"unknown_provider",elapsedProvider:t.duration??-1,elapsedOverall:s.elapsed()}),o},m=(async()=>{})();for(const _ of e.orderedGroups(t)){let e=!1;if(await Promise.all(_.map((async r=>{if(n.providerItemsToReuse.has(r)){const t=n.providerItemsToReuse.get(r);return t.forEach((e=>d.push(e))),void(e=e||t.length>0)}if(!(n.providerFilter.size>0)||n.providerFilter.has(r))try{const n=new Hp.W,a=await r.provideCompletionItems(t,i,s,o);e=p(r,a,n)||e}catch(a){(0,b.M_)(a)}}))),e||o.isCancellationRequested)break}return await m,o.isCancellationRequested?(c.dispose(),Promise.reject(new b.AL)):new gW(d.sort((f=n.snippetSortOrder,fW.get(f))),g,{entries:u,elapsed:r.elapsed()},c);var f}function mW(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLowt.sortTextLow)return 1}return e.textLabelt.textLabel?1:e.completion.kind-t.completion.kind}const fW=new Map;fW.set(0,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return mW(e,t)})),fW.set(2,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return mW(e,t)})),fW.set(1,mW),as.registerCommand("_executeCompletionItemProvider",(async(e,...t)=>{const[i,n,s,o]=t;(0,os.j)(Bn.r.isUri(i)),(0,os.j)(Gn.y.isIPosition(n)),(0,os.j)("string"==typeof s||!s),(0,os.j)("number"==typeof o||!o);const{completionProvider:r}=e.get(La.ILanguageFeaturesService),a=await e.get(Yn.ITextModelService).createModelReference(i);try{const e={incomplete:!1,suggestions:[]},t=[],i=a.object.textEditorModel.validatePosition(n),l=await pW(r,a.object.textEditorModel,i,void 0,{triggerCharacter:s??void 0,triggerKind:s?1:0});for(const n of l.items)t.length<(o??0)&&t.push(n.resolve(na.XO.None)),e.incomplete=e.incomplete||n.container.incomplete,e.suggestions.push(n.completion);try{return await Promise.all(t),e}finally{setTimeout((()=>l.disposable.dispose()),100)}}finally{a.dispose()}}));class _W{static isAllOff(e){return"off"===e.other&&"off"===e.comments&&"off"===e.strings}static isAllOn(e){return"on"===e.other&&"on"===e.comments&&"on"===e.strings}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}var vW=i(78518);function bW(e,t=f.uF){return(0,vW.No)(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}Object.create(null);var CW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},wW=function(e,t){return function(i,n){t(i,n,e)}};Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class yW{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(void 0!==i)return i}}}class SW{constructor(e,t,i,n){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=n}resolve(e){const{name:t}=e;if("SELECTION"===t||"TM_SELECTED_TEXT"===t){let t=this._model.getValueInRange(this._selection)||void 0,i=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){const e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,i=e.multiline)}if(t&&i&&e.snippet){const i=this._model.getLineContent(this._selection.startLineNumber),n=(0,Ti.UU)(i,0,this._selection.startColumn-1);let s=n;e.snippet.walk((t=>t!==e&&(t instanceof Ja&&(s=(0,Ti.UU)((0,Ti.uz)(t.value).pop())),!0)));const o=(0,Ti.Qp)(s,n);t=t.replace(/(\r\n|\r|\n)(.*)/g,((e,t,i)=>`${t}${s.substr(o)}${i}`))}return t}if("TM_CURRENT_LINE"===t)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===t){const e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}return"TM_LINE_INDEX"===t?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===t?String(this._selection.positionLineNumber):"CURSOR_INDEX"===t?String(this._selectionIdx):"CURSOR_NUMBER"===t?String(this._selectionIdx+1):void 0}}class kW{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if("TM_FILENAME"===t)return xa.P8(this._model.uri.fsPath);if("TM_FILENAME_BASE"===t){const e=xa.P8(this._model.uri.fsPath),t=e.lastIndexOf(".");return t<=0?e:e.slice(0,t)}return"TM_DIRECTORY"===t?"."===xa.pD(this._model.uri.fsPath)?"":this._labelService.getUriLabel((0,Wn.pD)(this._model.uri)):"TM_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class LW{constructor(e,t,i,n){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=n}resolve(e){if("CLIPBOARD"!==e.name)return;const t=this._readClipboardText();if(t){if(this._spread){const e=t.split(/\r\n|\n|\r/).filter((e=>!(0,Ti.AV)(e)));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}}let xW=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),n=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(n)return"LINE_COMMENT"===t?n.lineCommentToken||void 0:"BLOCK_COMMENT_START"===t?n.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===t&&n.blockCommentEndToken||void 0}};xW=CW([wW(2,Fo.JZ)],xW);class DW{constructor(){this._date=new Date}static{this.dayNames=[jn.kg("Sunday","Sunday"),jn.kg("Monday","Monday"),jn.kg("Tuesday","Tuesday"),jn.kg("Wednesday","Wednesday"),jn.kg("Thursday","Thursday"),jn.kg("Friday","Friday"),jn.kg("Saturday","Saturday")]}static{this.dayNamesShort=[jn.kg("SundayShort","Sun"),jn.kg("MondayShort","Mon"),jn.kg("TuesdayShort","Tue"),jn.kg("WednesdayShort","Wed"),jn.kg("ThursdayShort","Thu"),jn.kg("FridayShort","Fri"),jn.kg("SaturdayShort","Sat")]}static{this.monthNames=[jn.kg("January","January"),jn.kg("February","February"),jn.kg("March","March"),jn.kg("April","April"),jn.kg("May","May"),jn.kg("June","June"),jn.kg("July","July"),jn.kg("August","August"),jn.kg("September","September"),jn.kg("October","October"),jn.kg("November","November"),jn.kg("December","December")]}static{this.monthNamesShort=[jn.kg("JanuaryShort","Jan"),jn.kg("FebruaryShort","Feb"),jn.kg("MarchShort","Mar"),jn.kg("AprilShort","Apr"),jn.kg("MayShort","May"),jn.kg("JuneShort","Jun"),jn.kg("JulyShort","Jul"),jn.kg("AugustShort","Aug"),jn.kg("SeptemberShort","Sep"),jn.kg("OctoberShort","Oct"),jn.kg("NovemberShort","Nov"),jn.kg("DecemberShort","Dec")]}resolve(e){const{name:t}=e;if("CURRENT_YEAR"===t)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===t)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===t)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===t)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===t)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===t)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===t)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===t)return DW.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===t)return DW.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===t)return DW.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===t)return DW.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===t)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===t){const e=this._date.getTimezoneOffset(),t=e>0?"-":"+",i=Math.trunc(Math.abs(e/60)),n=i<10?"0"+i:i,s=Math.abs(e)-60*i;return t+n+":"+(s<10?"0"+s:s)}}}class NW{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=function(e,t){if("string"==typeof e||void 0===e)return"string"==typeof e?{id:(0,xa.P8)(e)}:t?Oa:Fa;const i=e;return i.configuration?{id:i.id,configPath:i.configuration}:1===i.folders.length?{id:i.id,uri:i.folders[0].uri}:{id:i.id}}(this._workspaceService.getWorkspace());return Pa(t)?void 0:"WORKSPACE_NAME"===e.name?this._resolveWorkspaceName(t):"WORKSPACE_FOLDER"===e.name?this._resoveWorkspacePath(t):void 0}_resolveWorkspaceName(e){if(Aa(e))return xa.P8(e.uri.path);let t=xa.P8(e.configPath.path);return t.endsWith(Ba)&&(t=t.substr(0,t.length-14-1)),t}_resoveWorkspacePath(e){if(Aa(e))return bW(e.uri.fsPath);const t=xa.P8(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?bW(i):"/"}}class IW{resolve(e){const{name:t}=e;return"RANDOM"===t?Math.random().toString().slice(-6):"RANDOM_HEX"===t?Math.random().toString(16).slice(-6):"UUID"===t?sa():void 0}}var EW,MW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},TW=function(e,t){return function(i,n){t(i,n,e)}};class RW{static{this._decor={active:eo.kI.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:eo.kI.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:eo.kI.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:eo.kI.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})}}constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=(0,ia.$z)(t.placeholders,tl.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(-1===this._offset)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations((t=>{for(const i of this._snippet.placeholders){const n=this._snippet.offset(i),s=this._snippet.fullLen(i),o=Xs.Q.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),r=i.isFinalTabstop?RW._decor.inactiveFinal:RW._decor.inactive,a=t.addDecoration(o,r);this._placeholderDecorations.set(i,a)}}))}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const e=[];for(const t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){const i=this._placeholderDecorations.get(t),n=this._editor.getModel().getDecorationRange(i),s=this._editor.getModel().getValueInRange(n),o=t.transform.resolve(s).split(/\r\n|\r|\n/);for(let e=1;e0&&this._editor.executeEdits("snippet.placeholderTransform",e)}let t=!1;!0===e&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations((e=>{const i=new Set,n=[];for(const s of this._placeholderGroups[this._placeholderGroupsIdx]){const o=this._placeholderDecorations.get(s),r=this._editor.getModel().getDecorationRange(o);n.push(new $s.L(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(s),e.changeDecorationOptions(o,s.isFinalTabstop?RW._decor.activeFinal:RW._decor.active),i.add(s);for(const t of this._snippet.enclosingPlaceholders(s)){const n=this._placeholderDecorations.get(t);e.changeDecorationOptions(n,t.isFinalTabstop?RW._decor.activeFinal:RW._decor.active),i.add(t)}}for(const[t,s]of this._placeholderDecorations)i.has(t)||e.changeDecorationOptions(s,t.isFinalTabstop?RW._decor.inactiveFinal:RW._decor.inactive);return n}));return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof tl){const e=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(e).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const n of t){if(n.isFinalTabstop)break;i||(i=[],e.set(n.index,i));const t=this._placeholderDecorations.get(n),s=this._editor.getModel().getDecorationRange(t);if(!s){e.delete(n.index);break}i.push(s)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!e?.choice)return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);return i?{range:i,choice:e.choice}:void 0}get hasChoice(){let e=!1;return this._snippet.walk((t=>(e=t instanceof il,!e))),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((i=>{for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const s=e.shift();console.assert(-1!==s._offset),console.assert(!s._placeholderDecorations);const o=s._snippet.placeholderInfo.last.index;for(const e of s._snippet.placeholderInfo.all)e.isFinalTabstop?e.index=n.index+(o+1)/this._nestingLevel:e.index=n.index+e.index/this._nestingLevel;this._snippet.replace(n,s._snippet.children);const r=this._placeholderDecorations.get(n);i.removeDecoration(r),this._placeholderDecorations.delete(n);for(const e of s._snippet.placeholders){const n=s._snippet.offset(e),o=s._snippet.fullLen(e),r=Xs.Q.fromPositions(t.getPositionAt(s._offset+n),t.getPositionAt(s._offset+n+o)),a=i.addDecoration(r,RW._decor.inactive);this._placeholderDecorations.set(e,a)}}this._placeholderGroups=(0,ia.$z)(this._snippet.placeholders,tl.compareByIndex)}))}}const AW={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let PW=EW=class{static adjustWhitespace(e,t,i,n,s){const o=e.getLineContent(t.lineNumber),r=(0,Ti.UU)(o,0,t.column-1);let a;return n.walk((t=>{if(!(t instanceof Ja)||t.parent instanceof il)return!0;if(s&&!s.has(t))return!0;const o=t.value.split(/\r\n|\r|\n/);if(i){const i=n.offset(t);if(0===i)o[0]=e.normalizeIndentation(o[0]);else{a=a??n.toString();const t=a.charCodeAt(i-1);10!==t&&13!==t||(o[0]=e.normalizeIndentation(r+o[0]))}for(let t=1;te.get(Ra))),g=e.invokeWithinContext((e=>new kW(e.get(oN),c))),p=()=>r,m=c.getValueInRange(EW.adjustSelection(c,e.getSelection(),i,0)),f=c.getValueInRange(EW.adjustSelection(c,e.getSelection(),0,n)),_=c.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),v=e.getSelections().map(((e,t)=>({selection:e,idx:t}))).sort(((e,t)=>Xs.Q.compareRangesUsingStarts(e.selection,t.selection)));for(const{selection:b,idx:C}of v){let r=EW.adjustSelection(c,b,i,0),w=EW.adjustSelection(c,b,0,n);m!==c.getValueInRange(r)&&(r=b),f!==c.getValueInRange(w)&&(w=b);const y=b.setStartPosition(r.startLineNumber,r.startColumn).setEndPosition(w.endLineNumber,w.endColumn),S=(new ll).parse(t,!0,s),k=y.getStartPosition(),L=EW.adjustWhitespace(c,k,o||C>0&&_!==c.getLineFirstNonWhitespaceColumn(b.positionLineNumber),S);S.resolveVariables(new yW([g,new LW(p,C,v.length,"spread"===e.getOption(79)),new SW(c,b,C,a),new xW(c,b,l),new DW,new NW(u),new IW])),h[C]=bk.replace(y,S.toString()),h[C].identifier={major:C,minor:0},h[C]._isTracked=!0,d[C]=new RW(e,S,L)}return{edits:h,snippets:d}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,o,r){if(!e.hasModel()||0===t.length)return{edits:[],snippets:[]};const a=[],l=e.getModel(),h=new ll,d=new al,c=new yW([e.invokeWithinContext((e=>new kW(e.get(oN),l))),new LW((()=>s),0,e.getSelections().length,"spread"===e.getOption(79)),new SW(l,e.getSelection(),0,o),new xW(l,e.getSelection(),r),new DW,new NW(e.invokeWithinContext((e=>e.get(Ra)))),new IW]);t=t.sort(((e,t)=>Xs.Q.compareRangesUsingStarts(e.range,t.range)));let u=0;for(let g=0;g0){const i=t[g-1].range,n=Xs.Q.fromPositions(i.getEndPosition(),e.getStartPosition()),s=new Ja(l.getValueInRange(n));d.appendChild(s),u+=s.value.length}const n=h.parseFragment(i,d);EW.adjustWhitespace(l,e.getStartPosition(),!0,d,new Set(n)),d.resolveVariables(c);const s=d.toString(),o=s.slice(u);u=s.length;const r=bk.replace(e,o);r.identifier={major:g,minor:0},r._isTracked=!0,a.push(r)}return h.ensureFinalTabstop(d,i,!0),{edits:a,snippets:[new RW(e,d,"")]}}constructor(e,t,i=AW,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){(0,Ae.AS)(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}="string"==typeof this._template?EW.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):EW.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,(e=>{const i=e.filter((e=>!!e.identifier));for(let n=0;n$s.L.fromPositions(e.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=AW){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=EW.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,(e=>{const t=e.filter((e=>!!e.identifier));for(let s=0;s$s.L.fromPositions(e.range.getEndPosition())))}))}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const n=i.move(e);t.push(...n)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length{e.push(...n.get(t))}))}e.sort(Xs.Q.compareRangesUsingStarts);for(const[i,n]of t)if(n.length===e.length){n.sort(Xs.Q.compareRangesUsingStarts);for(let s=0;s0}};PW=EW=MW([TW(3,Fo.JZ)],PW);var OW,FW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},WW=function(e,t){return function(i,n){t(i,n,e)}};const BW={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let HW=class{static{OW=this}static{this.ID="snippetController2"}static get(e){return e.getContribution(OW.ID)}static{this.InSnippetMode=new ls.N1("inSnippetMode",!1,(0,jn.kg)("inSnippetMode","Whether the editor in current in snippet mode"))}static{this.HasNextTabstop=new ls.N1("hasNextTabstop",!1,(0,jn.kg)("hasNextTabstop","Whether there is a next tab stop when in snippet mode"))}static{this.HasPrevTabstop=new ls.N1("hasPrevTabstop",!1,(0,jn.kg)("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode"))}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new Ae.Cm,this._modelVersionId=-1,this._inSnippet=OW.InSnippetMode.bindTo(n),this._hasNextTabstop=OW.HasNextTabstop.bindTo(n),this._hasPrevTabstop=OW.HasPrevTabstop.bindTo(n)}dispose(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,void 0===t?BW:{...BW,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof e&&this.cancel(),this._session?((0,os.j)("string"==typeof e),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new PW(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){const e={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!Gn.y.equals(this._editor.getPosition(),t))return;const{activeChoice:i}=this._session;if(!i||0===i.choice.options.length)return;const n=e.getValueInRange(i.range),s=Boolean(i.choice.options.find((e=>e.value===n))),o=[];for(let r=0;r{i?.dispose(),n=!1},o=()=>{n||(i=this._languageFeaturesService.completionProvider.register({language:t.getLanguageId(),pattern:t.uri.fsPath,scheme:t.uri.scheme,exclusive:!0},e),this._snippetListener.add(i),n=!0)};this._choiceCompletions={provider:e,enable:o,disable:s}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((e=>e.isFlush&&this.cancel()))),this._snippetListener.add(this._editor.onDidChangeModel((()=>this.cancel()))),this._snippetListener.add(this._editor.onDidChangeCursorSelection((()=>this._updateState())))}}_updateState(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel())return void(this._currentChoice=void 0);const{activeChoice:e}=this._session;if(!e||!this._choiceCompletions)return this._choiceCompletions?.disable(),void(this._currentChoice=void 0);this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask((()=>{!function(e,t){e.getContribution("editor.contrib.suggestController")?.triggerSuggest((new Set).add(t),void 0,!0)}(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,this._session?.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};HW=OW=FW([WW(1,Ds.rr),WW(2,La.ILanguageFeaturesService),WW(3,ls.fN),WW(4,Fo.JZ)],HW),Bs(HW.ID,HW,4);const VW=Ms.bindToContribution(HW.get);Os(new VW({id:"jumpToNextSnippetPlaceholder",precondition:ls.M$.and(HW.InSnippetMode,HW.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:js.textInputFocus,primary:2}})),Os(new VW({id:"jumpToPrevSnippetPlaceholder",precondition:ls.M$.and(HW.InSnippetMode,HW.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:js.textInputFocus,primary:1026}})),Os(new VW({id:"leaveSnippet",precondition:HW.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:js.textInputFocus,primary:9,secondary:[1033]}})),Os(new VW({id:"acceptSnippet",precondition:HW.InSnippetMode,handler:e=>e.finish()}));var zW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},UW=function(e,t){return function(i,n){t(i,n,e)}};let KW=class extends Ae.jG{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,o,r,a,l,h,d,c){let u;super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=n,this._debounceValue=s,this._suggestPreviewEnabled=o,this._suggestPreviewMode=r,this._inlineSuggestMode=a,this._enabled=l,this._instantiationService=h,this._commandService=d,this._languageConfigurationService=c,this._source=this._register(this._instantiationService.createInstance(iW,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=(0,mg.FY)(this,!1),this._forceUpdateExplicitlySignal=(0,mg.Yd)(this),this._selectedInlineCompletionId=(0,mg.FY)(this,void 0),this._primaryPosition=(0,mg.un)(this,(e=>this._positions.read(e)[0]??new Gn.y(1,1))),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([jW.Redo,jW.Undo,jW.AcceptWord]),this._fetchInlineCompletionsPromise=(0,mg.nb)({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:ka.qw.Automatic}),handleChange:(e,t)=>(e.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(e.change))?t.preserveCurrentCompletion=!0:e.didChange(this._forceUpdateExplicitlySignal)&&(t.inlineCompletionTriggerKind=ka.qw.Explicit),!0)},((e,t)=>{this._forceUpdateExplicitlySignal.read(e);if(!(this._enabled.read(e)&&this.selectedSuggestItem.read(e)||this._isActive.read(e)))return void this._source.cancelUpdate();this._textModelVersionId.read(e);const i=this._source.suggestWidgetInlineCompletions.get(),n=this.selectedSuggestItem.read(e);if(i&&!n){const e=this._source.inlineCompletions.get();(0,mg.Rn)((t=>{(!e||i.request.versionId>e.request.versionId)&&this._source.inlineCompletions.set(i.clone(),t),this._source.clearSuggestWidgetInlineCompletions(t)}))}const s=this._primaryPosition.read(e),o={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:n?.toSelectedSuggestionInfo()},r=this.selectedInlineCompletion.get(),a=t.preserveCurrentCompletion||r?.forwardStable?r:void 0;return this._source.fetch(s,o,a)})),this._filteredInlineCompletionItems=(0,mg.C)({owner:this,equalsFn:(0,OM.S3)()},(e=>{const t=this._source.inlineCompletions.read(e);if(!t)return[];const i=this._primaryPosition.read(e),n=t.inlineCompletions.filter((t=>t.isVisible(this.textModel,i,e)));return n})),this.selectedInlineCompletionIndex=(0,mg.un)(this,(e=>{const t=this._selectedInlineCompletionId.read(e),i=this._filteredInlineCompletionItems.read(e),n=void 0===this._selectedInlineCompletionId?-1:i.findIndex((e=>e.semanticId===t));return-1===n?(this._selectedInlineCompletionId.set(void 0,void 0),0):n})),this.selectedInlineCompletion=(0,mg.un)(this,(e=>this._filteredInlineCompletionItems.read(e)[this.selectedInlineCompletionIndex.read(e)])),this.activeCommands=(0,mg.C)({owner:this,equalsFn:(0,OM.S3)()},(e=>this.selectedInlineCompletion.read(e)?.inlineCompletion.source.inlineCompletions.commands??[])),this.lastTriggerKind=this._source.inlineCompletions.map(this,(e=>e?.request.context.triggerKind)),this.inlineCompletionsCount=(0,mg.un)(this,(e=>this.lastTriggerKind.read(e)===ka.qw.Explicit?this._filteredInlineCompletionItems.read(e).length:void 0)),this.state=(0,mg.C)({owner:this,equalsFn:(e,t)=>e&&t?LF(e.ghostTexts,t.ghostTexts)&&e.inlineCompletion===t.inlineCompletion&&e.suggestItem===t.suggestItem:e===t},(e=>{const t=this.textModel,i=this.selectedSuggestItem.read(e);if(i){const n=GF(i.toSingleTextEdit(),t),s=this._computeAugmentation(n,e);if(!this._suggestPreviewEnabled.read(e)&&!s)return;const o=s?.edit??n,r=s?s.edit.text.length-n.text.length:0,a=this._suggestPreviewMode.read(e),l=this._positions.read(e),h=[o,...$W(this.textModel,l,o)],d=h.map(((e,i)=>YF(e,t,a,l[i],r))).filter(os.O9);return{edits:h,primaryGhostText:d[0]??new yF(o.range.endLineNumber,[]),ghostTexts:d,inlineCompletion:s?.completion,suggestItem:i}}{if(!this._isActive.read(e))return;const i=this.selectedInlineCompletion.read(e);if(!i)return;const n=i.toSingleTextEdit(e),s=this._inlineSuggestMode.read(e),o=this._positions.read(e),r=[n,...$W(this.textModel,o,n)],a=r.map(((e,i)=>YF(e,t,s,o[i],0))).filter(os.O9);if(!a[0])return;return{edits:r,primaryGhostText:a[0],ghostTexts:a,inlineCompletion:i,suggestItem:void 0}}})),this.ghostTexts=(0,mg.C)({owner:this,equalsFn:LF},(e=>{const t=this.state.read(e);if(t)return t.ghostTexts})),this.primaryGhostText=(0,mg.C)({owner:this,equalsFn:xF},(e=>{const t=this.state.read(e);if(t)return t?.primaryGhostText})),this._register((0,mg.OI)(this._fetchInlineCompletionsPromise)),this._register((0,mg.fm)((e=>{const t=this.state.read(e),i=t?.inlineCompletion;if(i?.semanticId!==u?.semanticId&&(u=i,i)){const e=i.inlineCompletion,t=e.source;t.provider.handleItemDidShow?.(t.inlineCompletions,e.sourceInlineCompletion,e.insertText)}})))}_getReason(e){return e?.isUndoing?jW.Undo:e?.isRedoing?jW.Redo:this.isAcceptingPartially?jW.AcceptWord:jW.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){(0,mg.PO)(e,(e=>{this._isActive.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)})),await this._fetchInlineCompletionsPromise.get()}stop(e){(0,mg.PO)(e,(e=>{this._isActive.set(!1,e),this._source.clear(e)}))}_computeAugmentation(e,t){const i=this.textModel,n=this._source.suggestWidgetInlineCompletions.read(t),s=n?n.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(os.O9);return(0,kb.oH)(s,(n=>{let s=n.toSingleTextEdit(t);return s=GF(s,i,Xs.Q.fromPositions(s.range.getStartPosition(),e.range.getEndPosition())),QF(s,e)?{completion:n,edit:s}:void 0}))}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new b.D7;const t=this.state.get();if(!t||t.primaryGhostText.isEmpty()||!t.inlineCompletion)return;const i=t.inlineCompletion.toInlineCompletion(void 0);if(i.command&&i.source.addRef(),e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[bk.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),HW.get(e)?.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const n=t.edits,s=qW(n).map((e=>$s.L.fromPositions(e)));e.executeEdits("inlineSuggestion.accept",[...n.map((e=>bk.replace(e.range,e.text))),...i.additionalTextEdits]),e.setSelections(s,"inlineCompletionAccept")}this.stop(),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,b.M_),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,((e,t)=>{const i=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),n=this._languageConfigurationService.getLanguageConfiguration(i),s=new RegExp(n.wordDefinition.source,n.wordDefinition.flags.replace("g","")),o=t.match(s);let r=0;r=o&&void 0!==o.index?0===o.index?o[0].length:o.index:t.length;const a=/\s+/g.exec(t);return a&&void 0!==a.index&&a.index+a[0].length{const i=t.match(/\n/);return i&&void 0!==i.index?i.index+1:t.length}),1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new b.D7;const n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;const s=n.primaryGhostText,o=n.inlineCompletion.toInlineCompletion(void 0);if(o.snippetInfo||o.filterText!==o.insertText)return void await this.accept(e);const r=s.parts[0],a=new Gn.y(s.lineNumber,r.column),l=r.text,h=t(a,l);if(h===l.length&&1===s.parts.length)return void this.accept(e);const d=l.substring(0,h),c=this._positions.get(),u=c[0];o.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const t=Xs.Q.fromPositions(u,a),i=e.getModel().getValueInRange(t)+d,n=new NM.WR(t,i),s=[n,...$W(this.textModel,c,n)],o=qW(s).map((e=>$s.L.fromPositions(e)));e.executeEdits("inlineSuggestion.accept",s.map((e=>bk.replace(e.range,e.text)))),e.setSelections(o,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(o.source.provider.handlePartialAccept){const t=Xs.Q.fromPositions(o.range.getStartPosition(),VI.W.ofText(d).addToPosition(a)),n=e.getModel().getValueInRange(t,1);o.source.provider.handlePartialAccept(o.source.inlineCompletions,o.sourceInlineCompletion,n.length,{kind:i})}}finally{o.source.removeRef()}}handleSuggestAccepted(e){const t=GF(e.toSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;const n=i.completion.inlineCompletion;n.source.provider.handlePartialAccept?.(n.source.inlineCompletions,n.sourceInlineCompletion,t.text.length,{kind:2})}};var jW;function $W(e,t,i){if(1===t.length)return[];const n=t[0],s=t.slice(1),o=i.range.getStartPosition(),r=i.range.getEndPosition(),a=e.getValueInRange(Xs.Q.fromPositions(n,r)),l=EF(n,o);if(l.lineNumber<1)return(0,b.dz)(new b.D7(`positionWithinTextEdit line number should be bigger than 0.\n\t\t\tInvalid subtraction between ${n.toString()} and ${o.toString()}`)),[];const h=function(e,t){let i="";const n=(0,Ti.en)(e);for(let s=t.lineNumber-1;s{const i=(n=EF(t,o),s=r,new Gn.y(n.lineNumber+s.lineNumber-1,1===s.lineNumber?n.column+s.column-1:s.column));var n,s;const l=e.getValueInRange(Xs.Q.fromPositions(t,i)),d=(0,Ti.Qp)(a,l),c=Xs.Q.fromPositions(t,t.delta(0,d));return new NM.WR(c,h)}))}function qW(e){const t=ia.t9.createSortPermutation(e,(0,ia.VE)((e=>e.range),Xs.Q.compareRangesUsingStarts)),i=new NM.mF(t.apply(e)).getNewRanges();return t.inverse().apply(i).map((e=>e.getEndPosition()))}KW=zW([UW(9,$n._Y),UW(10,rs),UW(11,Fo.JZ)],KW),function(e){e[e.Undo=0]="Undo",e[e.Redo=1]="Redo",e[e.AcceptWord=2]="AcceptWord",e[e.Other=3]="Other"}(jW||(jW={}));var GW,QW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},YW=function(e,t){return function(i,n){t(i,n,e)}};class ZW{constructor(e){this.name=e}select(e,t,i){if(0===i.length)return 0;const n=i[0].score[0];for(let s=0;sa&&n.type===i[l].completion.kind&&n.insertText===i[l].completion.insertText&&(a=n.touch,r=l),i[l].completion.preselect&&-1===o)return l}return-1!==r?r:-1!==o?o:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(const[t,i]of e)i.touch=0,i.type="number"==typeof i.type?i.type:ka.HC.fromString(i.type),this._cache.set(t,i);this._seq=this._cache.size}}class eB extends ZW{constructor(){super("recentlyUsedByPrefix"),this._trie=Ta.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),s=`${e.getLanguageId()}/${n}`;this._trie.set(s,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const s=`${e.getLanguageId()}/${n}`;let o=this._trie.get(s);if(o||(o=this._trie.findSubstr(s)),o)for(let r=0;re.push([i,t]))),e.sort(((e,t)=>-(e[1].touch-t[1].touch))).forEach(((e,t)=>e[1].touch=t)),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type="number"==typeof i.type?i.type:ka.HC.fromString(i.type),this._trie.set(t,i)}}}let tB=class{static{GW=this}static{this._strategyCtors=new Map([["recentlyUsedByPrefix",eB],["recentlyUsed",JW],["first",XW]])}static{this._storagePrefix="suggest/memories"}constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Ae.Cm,this._persistSoon=new A.uC((()=>this._saveState()),500),this._disposables.add(e.onWillSaveState((e=>{e.reason===bw.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(this._strategy?.name!==i){this._saveState();const e=GW._strategyCtors.get(i)||XW;this._strategy=new e;try{const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=this._storageService.get(`${GW._storagePrefix}/${i}`,e);t&&this._strategy.fromJSON(JSON.parse(t))}catch(n){}}return this._strategy}_saveState(){if(this._strategy){const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=JSON.stringify(this._strategy);this._storageService.store(`${GW._storagePrefix}/${this._strategy.name}`,t,e,1)}}};tB=GW=QW([YW(0,vw),YW(1,Fp.pG)],tB);const iB=(0,$n.u1)("ISuggestMemories");(0,cl.v)(iB,tB,1);var nB,sB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},oB=function(e,t){return function(i,n){t(i,n,e)}};let rB=class{static{nB=this}static{this.AtEnd=new ls.N1("atEndOfWord",!1)}constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=nB.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration((e=>e.hasChanged(124)&&this._update())),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){const e="on"===this._editor.getOption(124);if(this._enabled!==e)if(this._enabled=e,this._enabled){const e=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const e=this._editor.getModel(),t=this._editor.getSelection(),i=e.getWordAtPosition(t.getStartPosition());i?this._ckAtEnd.set(i.endColumn===t.getStartPosition().column):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};rB=nB=sB([oB(1,ls.fN)],rB);var aB,lB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},hB=function(e,t){return function(i,n){t(i,n,e)}};let dB=class{static{aB=this}static{this.OtherSuggestions=new ls.N1("hasOtherSuggestions",!1)}constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=aB.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(0===e.items.length)return void this.reset();aB._moveIndex(!0,e,t)!==t?(this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(e,t,i){let n=i;for(let s=t.items.length;s>0&&(n=(n+t.items.length+(e?1:-1))%t.items.length,n!==i)&&t.items[n].completion.additionalTextEdits;s--);return n}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=aB._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};dB=aB=lB([hB(1,ls.fN)],dB);class cB{constructor(e,t,i,n){this._disposables=new Ae.Cm,this._disposables.add(i.onDidSuggest((e=>{0===e.completionModel.items.length&&this.reset()}))),this._disposables.add(i.onDidCancel((e=>{this.reset()}))),this._disposables.add(t.onDidShow((()=>this._onItem(t.getFocusedItem())))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType((s=>{if(this._active&&!t.isFrozen()&&0!==i.state){const t=s.charCodeAt(s.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&n(this._active.item)}})))}_onItem(e){if(!e||!(0,ia.EI)(e.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===e.item)return;const t=new gb.y;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class uB{async provideSelectionRanges(e,t){const i=[];for(const n of t){const t=[];i.push(t);const s=new Map;await new Promise((t=>uB._bracketsRightYield(t,0,e,n,s))),await new Promise((i=>uB._bracketsLeftYield(i,0,e,n,s,t)))}return i}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(e,t,i,n,s){const o=new Map,r=Date.now();for(;;){if(t>=uB._maxRounds){e();break}if(!n){e();break}const a=i.bracketPairs.findNextBracket(n);if(!a){e();break}if(Date.now()-r>uB._maxDuration){setTimeout((()=>uB._bracketsRightYield(e,t+1,i,n,s)));break}if(a.bracketInfo.isOpeningBracket){const e=a.bracketInfo.bracketText,t=o.has(e)?o.get(e):0;o.set(e,t+1)}else{const e=a.bracketInfo.getOpeningBrackets()[0].bracketText;let t=o.has(e)?o.get(e):0;if(t-=1,o.set(e,Math.max(0,t)),t<0){let t=s.get(e);t||(t=new ns.w,s.set(e,t)),t.push(a.range)}}n=a.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,o){const r=new Map,a=Date.now();for(;;){if(t>=uB._maxRounds&&0===s.size){e();break}if(!n){e();break}const l=i.bracketPairs.findPrevBracket(n);if(!l){e();break}if(Date.now()-a>uB._maxDuration){setTimeout((()=>uB._bracketsLeftYield(e,t+1,i,n,s,o)));break}if(l.bracketInfo.isOpeningBracket){const e=l.bracketInfo.bracketText;let t=r.has(e)?r.get(e):0;if(t-=1,r.set(e,Math.max(0,t)),t<0){const t=s.get(e);if(t){const n=t.shift();0===t.size&&s.delete(e);const r=Xs.Q.fromPositions(l.range.getEndPosition(),n.getStartPosition()),a=Xs.Q.fromPositions(l.range.getStartPosition(),n.getEndPosition());o.push({range:r}),o.push({range:a}),uB._addBracketLeading(i,a,o)}}}else{const e=l.bracketInfo.getOpeningBrackets()[0].bracketText,t=r.has(e)?r.get(e):0;r.set(e,t+1)}n=l.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const n=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(n);0!==s&&s!==t.startColumn&&(i.push({range:Xs.Q.fromPositions(new Gn.y(n,s),t.getEndPosition())}),i.push({range:Xs.Q.fromPositions(new Gn.y(n,1),t.getEndPosition())}));const o=n-1;if(o>0){const n=e.getLineFirstNonWhitespaceColumn(o);n===t.startColumn&&n!==e.getLineLastNonWhitespaceColumn(o)&&(i.push({range:Xs.Q.fromPositions(new Gn.y(o,n),t.getEndPosition())}),i.push({range:Xs.Q.fromPositions(new Gn.y(o,1),t.getEndPosition())}))}}}class gB{static{this.None=new class extends gB{distance(){return 0}}}static async create(e,t){if(!t.getOption(119).localityBonus)return gB.None;if(!t.hasModel())return gB.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return gB.None;const[s]=await(new uB).provideSelectionRanges(i,[n]);if(0===s.length)return gB.None;const o=await e.computeWordRanges(i.uri,s[0].range);if(!o)return gB.None;const r=i.getWordUntilPosition(n);return delete o[r.word],new class extends gB{distance(e,i){if(!n.equals(t.getPosition()))return 0;if(17===i.kind)return 2<<20;const r="string"==typeof i.label?i.label:i.label.label,a=o[r];if((0,ia.Ct)(a))return 2<<20;const l=(0,ia.El)(a,Xs.Q.fromPositions(e),Xs.Q.compareRangesUsingStarts),h=l>=0?a[l]:a[Math.max(0,~l-1)];let d=s.length;for(const t of s){if(!Xs.Q.containsRange(t.range,h))break;d-=1}return d}}}}class pB{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}}class mB{constructor(e,t,i,n,s,o,r=kn.default,a=void 0){this.clipboardText=a,this._snippetCompareFn=mB._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=n,this._options=s,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=r,"top"===o?this._snippetCompareFn=mB._compareCompletionItemsSnippetsUp:"bottom"===o&&(this._snippetCompareFn=mB._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let n="",s="";const o=1===this._refilterKind?this._items:this._filteredItems,r=[],a=!this._options.filterGraceful||o.length>2e3?Ln:Dn;for(let l=0;l=u)h.score=Sn.Default;else if("string"==typeof h.completion.filterText){const t=a(n,s,e,h.completion.filterText,h.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;0===(0,Ti.W1)(h.completion.filterText,h.textLabel)?h.score=t:(h.score=ln(n,s,e,h.textLabel,h.labelLow,0),h.score[0]=t[0])}else{const t=a(n,s,e,h.textLabel,h.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;h.score=t}}h.idx=l,h.distance=this._wordDistance.distance(h.position,h.completion),r.push(h),e.push(h.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?(0,ia.SO)(e.length-.85,e,((e,t)=>e-t)):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return mB._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return mB._compareCompletionItems(e,t)}}var fB,_B=i(88195),vB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},bB=function(e,t){return function(i,n){t(i,n,e)}};class CB{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const n=t.getWordAtPosition(i);return!!n&&((n.endColumn===i.column||n.startColumn+1===i.column)&&!!isNaN(Number(n.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}let wB=fB=class{constructor(e,t,i,n,s,o,r,a,l){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=o,this._configurationService=r,this._languageFeaturesService=a,this._envService=l,this._toDispose=new Ae.Cm,this._triggerCharacterListener=new Ae.Cm,this._triggerQuickSuggest=new A.pc,this._triggerState=void 0,this._completionDisposables=new Ae.Cm,this._onDidCancel=new P.vl,this._onDidTrigger=new P.vl,this._onDidSuggest=new P.vl,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new $s.L(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeModelLanguage((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeConfiguration((()=>{this._updateTriggerCharacters()}))),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange((()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()})));let h=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{h=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{h=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((e=>{h||this._onCursorChange(e)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{h||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){(0,Ae.AS)(this._triggerCharacterListener),(0,Ae.AS)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const t of i.triggerCharacters||[]){let n=e.get(t);if(!n){n=new Set;const i=uW;i&&n.add(i),e.set(t,n)}n.add(i)}const t=t=>{if(!function(e,t){if(!Boolean(t.getContextKeyValue("inlineSuggestionVisible")))return!0;const i=t.getContextKeyValue(wF.suppressSuggestions.key);return void 0!==i?!i:!e.getOption(62).suppressSuggestions}(this._editor,this._contextKeyService,this._configurationService))return;if(CB.shouldAutoTrigger(this._editor))return;if(!t){const e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let i="";(0,Ti.LJ)(t.charCodeAt(t.length-1))?(0,Ti.pc)(t.charCodeAt(t.length-2))&&(i=t.substr(t.length-2)):i=t.charAt(t.length-1);const n=e.get(i);if(n){const e=new Map;if(this._completionModel)for(const[t,i]of this._completionModel.getItemsByProvider())n.has(t)||e.set(t,i);this.trigger({auto:!0,triggerKind:1,triggerCharacter:i,retrigger:Boolean(this._completionModel),clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:n,providerItemsToReuse:e}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd((()=>t())))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),this._requestToken?.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||0!==e.reason&&3!==e.reason||"keyboard"!==e.source&&"deleteLeft"!==e.source?this.cancel():void 0===this._triggerState&&0===e.reason?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===e.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){_W.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&HW.get(this._editor)?.isInSnippet()||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!CB.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const e=this._editor.getModel(),t=this._editor.getPosition(),i=this._editor.getOption(90);if(!_W.isAllOff(i)){if(!_W.isAllOn(i)){e.tokenization.tokenizeIfCheap(t.lineNumber);const n=e.tokenization.getLineTokens(t.lineNumber),s=n.getStandardTokenType(n.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("on"!==_W.valueFor(i,s))return}(function(e,t){if(!Boolean(t.getContextKeyValue(wF.inlineSuggestionVisible.key)))return!0;const i=t.getContextKeyValue(wF.suppressSuggestions.key);return void 0!==i?!i:!e.getOption(62).suppressSuggestions})(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&this.trigger({auto:!0})}}),this._editor.getOption(91)))}_refilterCompletionItems(){(0,os.j)(this._editor.hasModel()),(0,os.j)(void 0!==this._triggerState);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new CB(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new CB(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=i;let n={triggerKind:e.triggerKind??0};e.triggerCharacter&&(n={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new na.Qi;let s=1;switch(this._editor.getOption(113)){case"top":s=0;break;case"bottom":s=2}const{itemKind:o,showDeprecated:r}=fB.createSuggestFilter(this._editor),a=new cW(s,e.completionOptions?.kindFilter??o,e.completionOptions?.providerFilter,e.completionOptions?.providerItemsToReuse,r),l=gB.create(this._editorWorkerService,this._editor),h=pW(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),a,n,this._requestToken.token);Promise.all([h,l]).then((async([t,i])=>{if(this._requestToken?.dispose(),!this._editor.hasModel())return;let n=e?.clipboardText;if(!n&&t.needsClipboard&&(n=await this._clipboardService.readText()),void 0===this._triggerState)return;const s=this._editor.getModel(),o=new CB(s,this._editor.getPosition(),e),r={...kn.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new mB(t.items,this._context.column,{leadingLineContent:o.leadingLineContent,characterCountDelta:o.column-this._context.column},i,this._editor.getOption(119),this._editor.getOption(113),r,n),this._completionDisposables.add(t.disposable),this._onNewContext(o),this._reportDurationsTelemetry(t.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const e of t.items)e.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${e.provider._debugDisplayName}`,e.completion)})).catch(b.dz)}_reportDurationsTelemetry(e){this._telemetryGate++%230==0&&setTimeout((()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)}))}static createSuggestFilter(e){const t=new Set;"none"===e.getOption(113)&&t.add(27);const i=e.getOption(119);return i.showMethods||t.add(0),i.showFunctions||t.add(1),i.showConstructors||t.add(2),i.showFields||t.add(3),i.showVariables||t.add(4),i.showClasses||t.add(5),i.showStructs||t.add(6),i.showInterfaces||t.add(7),i.showModules||t.add(8),i.showProperties||t.add(9),i.showEvents||t.add(10),i.showOperators||t.add(11),i.showUnits||t.add(12),i.showValues||t.add(13),i.showConstants||t.add(14),i.showEnums||t.add(15),i.showEnumMembers||t.add(16),i.showKeywords||t.add(17),i.showWords||t.add(18),i.showColors||t.add(19),i.showFiles||t.add(20),i.showReferences||t.add(21),i.showColors||t.add(22),i.showFolders||t.add(23),i.showTypeParameters||t.add(24),i.showSnippets||t.add(27),i.showUsers||t.add(25),i.showIssues||t.add(26),{itemKind:t,showDeprecated:i.showDeprecated}}_onNewContext(e){if(this._context)if(e.lineNumber===this._context.lineNumber)if((0,Ti.UU)(e.leadingLineContent)===(0,Ti.UU)(this._context.leadingLineContent)){if(e.columnthis._context.leadingWord.startColumn){if(CB.shouldAutoTrigger(this._editor)&&this._context){const e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}}else if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==e.leadingWord.word.length){const e=new Map,t=new Set;for(const[i,n]of this._completionModel.getItemsByProvider())n.length>0&&n[0].container.incomplete?t.add(i):e.set(i,n);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){const n=CB.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(n&&this._context.leadingWord.endColumn0,i&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}else this.cancel();else this.cancel()}};wB=fB=vB([bB(1,Ww.IEditorWorkerService),bB(2,Kh),bB(3,Ls),bB(4,Ds.rr),bB(5,ls.fN),bB(6,Fp.pG),bB(7,La.ILanguageFeaturesService),bB(8,_B.k)],wB);class yB{static{this._maxSelectionLength=51200}constructor(e,t){this._disposables=new Ae.Cm,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType((()=>{if(this._locked||!e.hasModel())return;const t=e.getSelections(),i=t.length;let n=!1;for(let e=0;eyB._maxSelectionLength)return;this._lastOvertyped[e]={value:s.getValueInRange(i),multiline:i.startLineNumber!==i.endLineNumber}}}))),this._disposables.add(t.onDidTrigger((e=>{this._locked=!0}))),this._disposables.add(t.onDidCancel((e=>{this._locked=!1})))}getLastOvertypedInfo(e){if(e>=0&&e=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},kB=function(e,t){return function(i,n){t(i,n,e)}};let LB=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new Ae.Cm,this.element=Gt(e,ei(".suggest-status-bar"));const o=e=>e instanceof ys?i.createInstance(Ky,e,{useComma:!0}):void 0;this._leftActions=new Jg(this.element,{actionViewItemProvider:o}),this._rightActions=new Jg(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const t=[],i=[];for(const[n,s]of e.getActions())"left"===n?t.push(...s):i.push(...s);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(i)};this._menuDisposables.add(e.onDidChange((()=>t()))),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};LB=SB([kB(2,$n._Y),kB(3,vs),kB(4,ls.fN)],LB);var xB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},DB=function(e,t){return function(i,n){t(i,n,e)}};function NB(e){return!!e&&Boolean(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}let IB=class{constructor(e,t){this._editor=e,this._onDidClose=new P.vl,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new P.vl,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Ae.Cm,this._renderDisposeable=new Ae.Cm,this._borderWidth=1,this._size=new ht(330,0),this.domNode=ei(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Oh,{editor:e}),this._body=ei(".body"),this._scrollbar=new Ju(this._body,{alwaysConsumeMouseWheel:!0}),Gt(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Gt(this._body,ei(".header")),this._close=Gt(this._header,ei("span"+In.L.asCSSSelector(vl.W.close))),this._close.title=jn.kg("details.close","Close"),this._type=Gt(this._header,ei("p.type")),this._docs=Gt(this._body,ei("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),n=e.get(120)||t.fontSize,s=e.get(121)||t.lineHeight,o=t.fontWeight,r=`${n}px`,a=`${s}px`;this.domNode.style.fontSize=r,this.domNode.style.lineHeight=""+s/n,this.domNode.style.fontWeight=o,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=a,this._close.style.width=a}getLayoutInfo(){const e=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,t=this._borderWidth;return{lineHeight:e,borderWidth:t,borderHeight:2*t,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=jn.kg("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(e,t){this._renderDisposeable.clear();let{detail:i,documentation:n}=e.completion;if(t){let t="";t+=`score: ${e.score[0]}\n`,t+=`prefix: ${e.word??"(no prefix)"}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}\n`,t+=`commit_chars: ${e.completion.commitCharacters?.join("")}\n`,n=(new Hn).appendCodeblock("empty",t),i=`Provider: ${e.provider._debugDisplayName}`}if(t||NB(e)){if(this.domNode.classList.remove("no-docs","no-type"),i){const e=i.length>1e5?`${i.substr(0,1e5)}\u2026`:i;this._type.textContent=e,this._type.title=e,ti(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(e))}else Ge(this._type),this._type.title="",ii(this._type),this.domNode.classList.add("no-type");if(Ge(this._docs),"string"==typeof n)this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Ge(this._docs);const e=this._markdownRenderer.render(n);this._docs.appendChild(e.element),this._renderDisposeable.add(e),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync((()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)})))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new ht(e,t);ht.equals(i,this._size)||(this._size=i,function(e,t,i){"number"==typeof t&&(e.style.width=`${t}px`),"number"==typeof i&&(e.style.height=`${i}px`)}(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};IB=xB([DB(1,$n._Y)],IB);class EB{constructor(e,t){let i,n;this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Ae.Cm,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new PS,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let s=0,o=0;this._disposables.add(this._resizable.onDidWillResize((()=>{i=this._topLeft,n=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((e=>{if(i&&n){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(o=n.width-e.dimension.width,t=!0),e.north&&(s=n.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:i.top+s,left:i.left+o})}e.done&&(i=void 0,n=void 0,s=0,o=0,this._userSize=e.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)})))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){const n=at(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),o=new ht(220,2*s.lineHeight),r=e.top,a=function(){const i=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),a=-s.borderWidth+e.left+e.width,l=new ht(i,n.height-e.top-s.borderHeight-s.verticalPadding),h=l.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:r,left:a,fit:i-t.width,maxSizeTop:l,maxSizeBottom:h,minSize:o.with(Math.min(i,o.width))}}(),l=function(){const i=e.left-s.borderWidth-s.horizontalPadding,a=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),l=new ht(i,n.height-e.top-s.borderHeight-s.verticalPadding),h=l.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:r,left:a,fit:i-t.width,maxSizeTop:l,maxSizeBottom:h,minSize:o.with(Math.min(i,o.width))}}(),h=function(){const i=e.left,r=-s.borderWidth+e.top+e.height,a=new ht(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:r,left:i,fit:a.height-t.height,maxSizeBottom:a,maxSizeTop:a,minSize:o.with(a.width)}}(),d=[a,l,h],c=d.find((e=>e.fit>=0))??d.sort(((e,t)=>t.fit-e.fit))[0],u=e.top+e.height-s.borderHeight;let g,p=t.height;const m=Math.max(c.maxSizeTop.height,c.maxSizeBottom.height);let f;p>m&&(p=m),i?p<=c.maxSizeTop.height?(g=!0,f=c.maxSizeTop):(g=!1,f=c.maxSizeBottom):p<=c.maxSizeBottom.height?(g=!1,f=c.maxSizeBottom):(g=!0,f=c.maxSizeTop);let{top:_,left:v}=c;!g&&p>e.height&&(_=u-p);const b=this._editor.getDomNode();if(b){const e=b.getBoundingClientRect();_-=e.top,v-=e.left}this._applyTopLeft({left:v,top:_}),this._resizable.enableSashes(!g,c===a,g,c!==a),this._resizable.minSize=c.minSize,this._resizable.maxSize=f,this._resizable.layout(p,Math.min(f.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var MB=i(78148),TB=i(89971),RB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},AB=function(e,t){return function(i,n){t(i,n,e)}};function PB(e){return`suggest-aria-id:${e}`}const OB=mu("suggest-more-info",vl.W.chevronRight,jn.kg("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),FB=new class e{static{this._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/}static{this._regexStrict=new RegExp(`^${e._regexRelaxed.source}$`,"i")}extract(t,i){if(t.textLabel.match(e._regexStrict))return i[0]=t.textLabel,!0;if(t.completion.detail&&t.completion.detail.match(e._regexStrict))return i[0]=t.completion.detail,!0;if(t.completion.documentation){const n="string"==typeof t.completion.documentation?t.completion.documentation:t.completion.documentation.value,s=e._regexRelaxed.exec(n);if(s&&(0===s.index||s.index+s[0].length===n.length))return i[0]=s[0],!0}return!1}};let WB=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new P.vl,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Ae.Cm,i=e;i.classList.add("show-file-icons");const n=Gt(e,ei(".icon")),s=Gt(n,ei("span.colorspan")),o=Gt(e,ei(".contents")),r=Gt(o,ei(".main")),a=Gt(r,ei(".icon-label.codicon")),l=Gt(r,ei("span.left")),h=Gt(r,ei("span.right")),d=new iN(l,{supportHighlights:!0,supportIcons:!0});t.add(d);const c=Gt(l,ei("span.signature-label")),u=Gt(l,ei("span.qualifier-label")),g=Gt(h,ei("span.details-label")),p=Gt(h,ei("span.readMore"+In.L.asCSSSelector(OB)));p.title=jn.kg("readMore","Read More");return{root:i,left:l,right:h,icon:n,colorspan:s,iconLabel:d,iconContainer:a,parametersLabel:c,qualifierLabel:u,detailsLabel:g,readMore:p,disposables:t,configureFont:()=>{const e=this._editor.getOptions(),t=e.get(50),s=t.getMassagedFontFamily(),o=t.fontFeatureSettings,a=e.get(120)||t.fontSize,l=e.get(121)||t.lineHeight,h=t.fontWeight,d=`${a}px`,c=`${l}px`,u=`${t.letterSpacing}px`;i.style.fontSize=d,i.style.fontWeight=h,i.style.letterSpacing=u,r.style.fontFamily=s,r.style.fontFeatureSettings=o,r.style.lineHeight=c,n.style.height=c,n.style.width=c,p.style.height=c,p.style.width=c}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=PB(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:hn(e.score)},o=[];if(19===n.kind&&FB.extract(e,o))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=o[0];else if(20===n.kind&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const t=(0,MB.getIconClasses)(this._modelService,this._languageService,Bn.r.from({scheme:"fake",path:e.textLabel}),TB.p.FILE),o=(0,MB.getIconClasses)(this._modelService,this._languageService,Bn.r.from({scheme:"fake",path:n.detail}),TB.p.FILE);s.extraClasses=t.length>o.length?t:o}else 23===n.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[(0,MB.getIconClasses)(this._modelService,this._languageService,Bn.r.from({scheme:"fake",path:e.textLabel}),TB.p.FOLDER),(0,MB.getIconClasses)(this._modelService,this._languageService,Bn.r.from({scheme:"fake",path:n.detail}),TB.p.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...In.L.asClassNameArray(ka.HC.toIcon(n.kind))));n.tags&&n.tags.indexOf(1)>=0&&(s.extraClasses=(s.extraClasses||[]).concat(["deprecated"]),s.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,s),"string"==typeof n.label?(i.parametersLabel.textContent="",i.detailsLabel.textContent=BB(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=BB(n.label.detail||""),i.detailsLabel.textContent=BB(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?ti(i.detailsLabel):ii(i.detailsLabel),NB(e)?(i.right.classList.add("can-expand-details"),ti(i.readMore),i.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},i.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),ii(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};function BB(e){return e.replace(/\r\n|\r|\n/g,"")}WB=RB([AB(1,Qn.IModelService),AB(2,xh.L),AB(3,io.Gy)],WB);var HB,VB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},zB=function(e,t){return function(i,n){t(i,n,e)}};(0,to.x1A)("editorSuggestWidget.background",to.CgL,jn.kg("editorSuggestWidgetBackground","Background color of the suggest widget.")),(0,to.x1A)("editorSuggestWidget.border",to.sIe,jn.kg("editorSuggestWidgetBorder","Border color of the suggest widget."));const UB=(0,to.x1A)("editorSuggestWidget.foreground",to.By2,jn.kg("editorSuggestWidgetForeground","Foreground color of the suggest widget."));(0,to.x1A)("editorSuggestWidget.selectedForeground",to.nH,jn.kg("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget.")),(0,to.x1A)("editorSuggestWidget.selectedIconForeground",to.c7i,jn.kg("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const KB=(0,to.x1A)("editorSuggestWidget.selectedBackground",to.AlL,jn.kg("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));(0,to.x1A)("editorSuggestWidget.highlightForeground",to.QI5,jn.kg("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),(0,to.x1A)("editorSuggestWidget.focusHighlightForeground",to.eMz,jn.kg("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused.")),(0,to.x1A)("editorSuggestWidgetStatus.foreground",(0,to.JO0)(UB,.5),jn.kg("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class jB{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Ak}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(ht.is(t))return ht.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let $B=class{static{HB=this}static{this.LOADING_MESSAGE=jn.kg("suggestWidget.loading","Loading...")}static{this.NO_SUGGESTIONS_MESSAGE=jn.kg("suggestWidget.noSuggestions","No suggestions.")}constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Ae.HE,this._pendingShowDetails=new Ae.HE,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new A.pc,this._disposables=new Ae.Cm,this._onDidSelect=new P.fV,this._onDidFocus=new P.fV,this._onDidHide=new P.vl,this._onDidShow=new P.vl,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new P.vl,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new PS,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new qB(this,e),this._persistedSize=new jB(t,e);class o{constructor(e,t,i=!1,n=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=i,this.persistWidth=n}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new o(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((e=>{if(this._resize(e.dimension.width,e.dimension.height),r&&(r.persistHeight=r.persistHeight||!!e.north||!!e.south,r.persistWidth=r.persistWidth||!!e.east||!!e.west),e.done){if(r){const{itemHeight:e,defaultSize:t}=this.getLayoutInfo(),i=Math.round(e/2);let{width:n,height:s}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-s)<=i)&&(s=r.persistedSize?.height??t.height),(!r.persistWidth||Math.abs(r.currentSize.width-n)<=i)&&(n=r.persistedSize?.width??t.width),this._persistedSize.store(new ht(n,s))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=Gt(this.element.domNode,ei(".message")),this._listElement=Gt(this.element.domNode,ei(".tree"));const a=this._disposables.add(s.createInstance(IB,this.editor));a.onDidClose(this.toggleDetails,this,this._disposables),this._details=new EB(a,this.editor);const l=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);l();const h=s.createInstance(WB,this.editor);this._disposables.add(h),this._disposables.add(h.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new Ug("SuggestWidget",this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>"suggestion"},[h],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>jn.kg("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:e=>{let t=e.textLabel;if("string"!=typeof e.completion.label){const{detail:i,description:n}=e.completion.label;i&&n?t=jn.kg("label.full","{0} {1}, {2}",t,i,n):i?t=jn.kg("label.detail","{0} {1}",t,i):n&&(t=jn.kg("label.desc","{0}, {1}",t,n))}if(!e.isResolved||!this._isDetailsVisible())return t;const{documentation:i,detail:n}=e.completion,s=Ti.GP("{0}{1}",n||"",i?"string"==typeof i?i:i.value:"");return jn.kg("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",t,s)}}}),this._list.style(_p({listInactiveFocusBackground:KB,listInactiveFocusOutline:to.buw})),this._status=s.createInstance(LB,this.element.domNode,hW);const d=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);d(),this._disposables.add(n.onDidColorThemeChange((e=>this._onThemeChange(e)))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onTap((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onDidChangeSelection((e=>this._onListSelection(e)))),this._disposables.add(this._list.onDidChangeFocus((e=>this._onListFocus(e)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((e=>{e.hasChanged(119)&&(d(),l()),this._completionModel&&(e.hasChanged(50)||e.hasChanged(120)||e.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)}))),this._ctxSuggestWidgetVisible=lW.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=lW.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=lW.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=lW.HasFocusedSuggestion.bindTo(i),this._disposables.add(Xe(this._details.widget.domNode,"keydown",(e=>{this._onDetailsKeydown.fire(e)}))),this._disposables.add(this.editor.onMouseDown((e=>this._onEditorMouseDown(e))))}dispose(){this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),this._loadingTimeout?.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=(0,Bp.Bb)(e.type)?2:1}_onListFocus(e){if(this._ignoreFocusEvents)return;if(!e.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const t=e.elements[0],i=e.indexes[0];t!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(i),this._currentSuggestionDetails=(0,A.SS)((async e=>{const i=(0,A.EQ)((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),n=e.onCancellationRequested((()=>i.dispose()));try{return await t.resolve(e)}finally{i.dispose(),n.dispose()}})),this._currentSuggestionDetails.then((()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:PB(i)}))})).catch(b.dz)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",4===e),this.element.domNode.classList.remove("message"),e){case 0:ii(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=HB.LOADING_MESSAGE,ii(this._listElement,this._status.element),ti(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,wi(HB.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=HB.NO_SUGGESTIONS_MESSAGE,ii(this._listElement,this._status.element),ti(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,wi(HB.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:ii(this._messageElement),ti(this._listElement,this._status.element),this._show();break;case 5:ii(this._messageElement),ti(this._listElement,this._status.element),this._details.show(),this._show()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet((()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)}),100)}showTriggered(e,t){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=(0,A.EQ)((()=>this._setState(1)),t)))}showSuggestions(e,t,i,n,s){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout?.dispose(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&2!==this._state&&0!==this._state)return void this._setState(4);const o=this._completionModel.items.length,r=0===o;if(this._ctxSuggestWidgetMultipleSuggestions.set(o>1),r)return this._setState(n?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(s?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=it(We(this.element.domNode),(()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")}))}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):!NB(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=it(We(this.element.domNode),(()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()}))}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){this._pendingLayout.clear(),this._pendingShowDetails.clear(),this._loadingTimeout?.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const e=this._persistedSize.restore(),t=Math.ceil(4.3*this.getLayoutInfo().itemHeight);e&&e.heighto&&(s=o);const r=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,a=i.statusBarHeight+this._list.contentHeight+i.borderHeight,l=i.itemHeight+i.statusBarHeight,h=ct(this.editor.getDomNode()),d=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),c=h.top+d.top+d.height,u=Math.min(t.height-c-i.verticalPadding,a),g=h.top+d.top-i.verticalPadding,p=Math.min(g,a);let m=Math.min(Math.max(p,u)+i.borderHeight,a);n===this._cappedHeight?.capped&&(n=this._cappedHeight.wanted),nm&&(n=m);const f=150;n>u||this._forceRenderingAbove&&g>f?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),m=p):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),m=u),this.element.preferredSize=new ht(r,i.defaultSize.height),this.element.maxSize=new ht(o,m),this.element.minSize=new ht(220,l),this._cappedHeight=n===a?{wanted:this._cappedHeight?.wanted??e.height,capped:n}:void 0}this._resize(s,n)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:s}=this.getLayoutInfo();this._list.layout(t-s,e),this._listElement.style.height=t-s+"px",this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===this._contentWidget.getPosition()?.preference[0])}getLayoutInfo(){const e=this.editor.getOption(50),t=(0,Tu.qE)(this.editor.getOption(121)||e.lineHeight,8,1e3),i=this.editor.getOption(119).showStatusBar&&2!==this._state&&1!==this._state?t:0,n=this._details.widget.borderWidth,s=2*n;return{itemHeight:t,statusBarHeight:i,borderWidth:n,borderHeight:s,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new ht(430,i+12*t+s)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};$B=HB=VB([zB(1,vw),zB(2,ls.fN),zB(3,io.Gy),zB(4,$n._Y)],$B);class qB{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return!this._hidden&&this._position&&this._preference?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:n}=this._widget.getLayoutInfo();return new ht(t+2*i+n,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var GB,QB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},YB=function(e,t){return function(i,n){t(i,n,e)}};class ZB{constructor(e,t){this._model=e,this._position=t,this._decorationOptions=eo.kI.register({description:"suggest-line-suffix",stickiness:1});if(e.getLineMaxColumn(t.lineNumber)!==t.column){const i=e.getOffsetAt(t),n=e.getPositionAt(i+1);e.changeDecorations((e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(Xs.Q.fromPositions(t,n),this._decorationOptions)}))}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations((e=>{e.removeDecoration(this._marker),this._marker=void 0}))}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let XB=class{static{GB=this}static{this.ID="editor.contrib.suggestController"}static get(e){return e.getContribution(GB.ID)}constructor(e,t,i,n,s,o,r){this._memoryService=t,this._commandService=i,this._contextKeyService=n,this._instantiationService=s,this._logService=o,this._telemetryService=r,this._lineSuffix=new Ae.HE,this._toDispose=new Ae.Cm,this._selectors=new JB((e=>e.priority)),this._onWillInsertSuggestItem=new P.vl,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(wB,this.editor),this._selectors.register({priority:0,select:(e,t,i)=>this._memoryService.select(e,t,i)});const a=lW.InsertMode.bindTo(n);a.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger((()=>a.set(e.getOption(119).insertMode)))),this.widget=this._toDispose.add(new tt(We(e.getDomNode()),(()=>{const e=this._instantiationService.createInstance($B,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect((e=>this._insertSuggestion(e,0)),this));const t=new cB(this.editor,e,this.model,(e=>this._insertSuggestion(e,2)));this._toDispose.add(t);const i=lW.MakesTextEdit.bindTo(this._contextKeyService),n=lW.HasInsertAndReplaceRange.bindTo(this._contextKeyService),s=lW.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add((0,Ae.s)((()=>{i.reset(),n.reset(),s.reset()}))),this._toDispose.add(e.onDidFocus((({item:e})=>{const t=this.editor.getPosition(),o=e.editStart.column,r=t.column;let a=!0;if(!("smart"!==this.editor.getOption(1)||2!==this.model.state||e.completion.additionalTextEdits||4&e.completion.insertTextRules||r-o!==e.completion.insertText.length)){a=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:o,endLineNumber:t.lineNumber,endColumn:r})!==e.completion.insertText}i.set(a),n.set(!Gn.y.equals(e.editInsertEnd,e.editReplaceEnd)),s.set(Boolean(e.provider.resolveCompletionItem)||Boolean(e.completion.documentation)||e.completion.detail!==e.completion.label)}))),this._toDispose.add(e.onDetailsKeyDown((e=>{e.toKeyCodeChord().equals(new y(!0,!1,!1,!1,33))||f.zx&&e.toKeyCodeChord().equals(new y(!1,!1,!1,!0,33))?e.stopPropagation():e.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),e}))),this._overtypingCapturer=this._toDispose.add(new tt(We(e.getDomNode()),(()=>this._toDispose.add(new yB(this.editor,this.model))))),this._alternatives=this._toDispose.add(new tt(We(e.getDomNode()),(()=>this._toDispose.add(new dB(this.editor,this._contextKeyService))))),this._toDispose.add(s.createInstance(rB,e)),this._toDispose.add(this.model.onDidTrigger((e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new ZB(this.editor.getModel(),e.position)}))),this._toDispose.add(this.model.onDidSuggest((e=>{if(e.triggerOptions.shy)return;let t=-1;for(const n of this._selectors.itemsOrderedByPriorityDesc)if(t=n.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),-1!==t)break;if(-1===t&&(t=0),0===this.model.state)return;let i=!1;if(e.triggerOptions.auto){const t=this.editor.getOption(119);"never"===t.selectionMode||"always"===t.selectionMode?i="never"===t.selectionMode:"whenTriggerCharacter"===t.selectionMode?i=1!==e.triggerOptions.triggerKind:"whenQuickSuggestion"===t.selectionMode&&(i=1===e.triggerOptions.triggerKind&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.triggerOptions.auto,i)}))),this._toDispose.add(this.model.onDidCancel((e=>{e.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const l=lW.AcceptSuggestionsOnEnter.bindTo(n),h=()=>{const e=this.editor.getOption(1);l.set("on"===e||"smart"===e)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>h()))),h()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const i=HW.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:o}=e,r=[],a=new na.Qi;1&t||this.editor.pushUndoStop();const l=this.getOverwriteInfo(o,Boolean(8&t));this._memoryService.memorize(n,this.editor.getPosition(),o);const h=o.isResolved;let d=-1,c=-1;if(Array.isArray(o.completion.additionalTextEdits)){this.model.cancel();const e=dw.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",o.completion.additionalTextEdits.map((e=>{let t=Xs.Q.lift(e.range);if(t.startLineNumber===o.position.lineNumber&&t.startColumn>o.position.column){const e=this.editor.getPosition().column-o.position.column,i=e,n=Xs.Q.spansMultipleLines(t)?0:e;t=new Xs.Q(t.startLineNumber,t.startColumn+i,t.endLineNumber,t.endColumn+n)}return bk.replaceMove(t,e.text)}))),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!h){const e=new Hp.W;let i;const s=n.onDidChangeContent((e=>{if(e.isFlush)return a.cancel(),void s.dispose();for(const t of e.changes){const e=Xs.Q.getEndPosition(t.range);i&&!Gn.y.isBefore(e,i)||(i=e)}})),l=t;t|=2;let h=!1;const d=this.editor.onWillType((()=>{d.dispose(),h=!0,2&l||this.editor.pushUndoStop()}));r.push(o.resolve(a.token).then((()=>{if(!o.completion.additionalTextEdits||a.token.isCancellationRequested)return;if(i&&o.completion.additionalTextEdits.some((e=>Gn.y.isBefore(i,Xs.Q.getStartPosition(e.range)))))return!1;h&&this.editor.pushUndoStop();const e=dw.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",o.completion.additionalTextEdits.map((e=>bk.replaceMove(Xs.Q.lift(e.range),e.text)))),e.restoreRelativeVerticalPositionOfCursor(this.editor),!h&&2&l||this.editor.pushUndoStop(),!0})).then((t=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",e.elapsed(),t),c=!0===t?1:!1===t?0:-2})).finally((()=>{s.dispose(),d.dispose()})))}let{insertText:u}=o.completion;if(4&o.completion.insertTextRules||(u=ll.escape(u)),this.model.cancel(),i.insert(u,{overwriteBefore:l.overwriteBefore,overwriteAfter:l.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&o.completion.insertTextRules),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&t||this.editor.pushUndoStop(),o.completion.command)if(o.completion.command.id===eH.id)this.model.trigger({auto:!0,retrigger:!0});else{const e=new Hp.W;r.push(this._commandService.executeCommand(o.completion.command.id,...o.completion.command.arguments?[...o.completion.command.arguments]:[]).catch((e=>{o.completion.extensionId?(0,b.M_)(e):(0,b.dz)(e)})).finally((()=>{d=e.elapsed()})))}4&t&&this._alternatives.value.set(e,(e=>{for(a.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(e,3|(8&t?8:0));break}})),this._alertCompletionItem(o),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(o,n,h,d,c,e.index,e.model.items),this.model.clear(),a.dispose()}))}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,o,r){if(0===Math.floor(100*Math.random()))return;const a=new Map;for(let d=0;d1?l[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:e.extensionId?.value??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:(0,Oe.tW)((0,Wn.P8)(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:(0,Wn.LC)(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:o,firstIndex:h})}getOverwriteInfo(e,t){(0,os.j)(this.editor.hasModel());let i="replace"===this.editor.getOption(119).insertMode;t&&(i=!i);const n=e.position.column-e.editStart.column,s=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column;return{overwriteBefore:n+(this.editor.getPosition().column-e.position.column),overwriteAfter:s+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(e){if((0,ia.EI)(e.completion.additionalTextEdits)){Ci(jn.kg("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length))}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},n=e=>{if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;const t=this.editor.getPosition(),i=e.editStart.column,n=t.column;if(n-i!==e.completion.insertText.length)return!0;return this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:i,endLineNumber:t.lineNumber,endColumn:n})!==e.completion.insertText};P.Jh.once(this.model.onDidTrigger)((e=>{const t=[];P.Jh.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{(0,Ae.AS)(t),i()}),void 0,t),this.model.onDidSuggest((({completionModel:e})=>{if((0,Ae.AS)(t),0===e.items.length)return void i();const s=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),o=e.items[s];n(o)?(this.editor.pushUndoStop(),this._insertSuggestion({index:s,item:o,model:e},7)):i()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}};XB=GB=QB([YB(1,iB),YB(2,rs),YB(3,ls.fN),YB(4,$n._Y),YB(5,Ds.rr),YB(6,Ls)],XB);class JB{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(-1!==this._items.indexOf(e))throw new Error("Value is already registered");return this._items.push(e),this._items.sort(((e,t)=>this.prioritySelector(t)-this.prioritySelector(e))),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class eH extends Ts{static{this.id="editor.action.triggerSuggest"}constructor(){super({id:eH.id,label:jn.kg("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:ls.M$.and(js.writable,js.hasCompletionItemProvider,lW.Visible.toNegated()),kbOpts:{kbExpr:js.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=XB.get(t);if(!n)return;let s;i&&"object"==typeof i&&!0===i.auto&&(s=!0),n.triggerSuggest(void 0,s,void 0)}}Bs(XB.ID,XB,2),Fs(eH);const tH=190,iH=Ms.bindToContribution(XB.get);Os(new iH({id:"acceptSelectedSuggestion",precondition:ls.M$.and(lW.Visible,lW.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:ls.M$.and(lW.Visible,js.textInputFocus),weight:tH},{primary:3,kbExpr:ls.M$.and(lW.Visible,js.textInputFocus,lW.AcceptSuggestionsOnEnter,lW.MakesTextEdit),weight:tH}],menuOpts:[{menuId:hW,title:jn.kg("accept.insert","Insert"),group:"left",order:1,when:lW.HasInsertAndReplaceRange.toNegated()},{menuId:hW,title:jn.kg("accept.insert","Insert"),group:"left",order:1,when:ls.M$.and(lW.HasInsertAndReplaceRange,lW.InsertMode.isEqualTo("insert"))},{menuId:hW,title:jn.kg("accept.replace","Replace"),group:"left",order:1,when:ls.M$.and(lW.HasInsertAndReplaceRange,lW.InsertMode.isEqualTo("replace"))}]})),Os(new iH({id:"acceptAlternativeSelectedSuggestion",precondition:ls.M$.and(lW.Visible,js.textInputFocus,lW.HasFocusedSuggestion),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:hW,group:"left",order:2,when:ls.M$.and(lW.HasInsertAndReplaceRange,lW.InsertMode.isEqualTo("insert")),title:jn.kg("accept.replace","Replace")},{menuId:hW,group:"left",order:2,when:ls.M$.and(lW.HasInsertAndReplaceRange,lW.InsertMode.isEqualTo("replace")),title:jn.kg("accept.insert","Insert")}]})),as.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),Os(new iH({id:"hideSuggestWidget",precondition:lW.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:9,secondary:[1033]}})),Os(new iH({id:"selectNextSuggestion",precondition:ls.M$.and(lW.Visible,ls.M$.or(lW.MultipleSuggestions,lW.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Os(new iH({id:"selectNextPageSuggestion",precondition:ls.M$.and(lW.Visible,ls.M$.or(lW.MultipleSuggestions,lW.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:12,secondary:[2060]}})),Os(new iH({id:"selectLastSuggestion",precondition:ls.M$.and(lW.Visible,ls.M$.or(lW.MultipleSuggestions,lW.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),Os(new iH({id:"selectPrevSuggestion",precondition:ls.M$.and(lW.Visible,ls.M$.or(lW.MultipleSuggestions,lW.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Os(new iH({id:"selectPrevPageSuggestion",precondition:ls.M$.and(lW.Visible,ls.M$.or(lW.MultipleSuggestions,lW.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:11,secondary:[2059]}})),Os(new iH({id:"selectFirstSuggestion",precondition:ls.M$.and(lW.Visible,ls.M$.or(lW.MultipleSuggestions,lW.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),Os(new iH({id:"focusSuggestion",precondition:ls.M$.and(lW.Visible,lW.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),Os(new iH({id:"focusAndAcceptSuggestion",precondition:ls.M$.and(lW.Visible,lW.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),Os(new iH({id:"toggleSuggestionDetails",precondition:ls.M$.and(lW.Visible,lW.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:hW,group:"right",order:1,when:ls.M$.and(lW.DetailsVisible,lW.CanResolve),title:jn.kg("detail.more","Show Less")},{menuId:hW,group:"right",order:1,when:ls.M$.and(lW.DetailsVisible.toNegated(),lW.CanResolve),title:jn.kg("detail.less","Show More")}]})),Os(new iH({id:"toggleExplainMode",precondition:lW.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),Os(new iH({id:"toggleSuggestionFocus",precondition:lW.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:2570,mac:{primary:778}}})),Os(new iH({id:"insertBestCompletion",precondition:ls.M$.and(js.textInputFocus,ls.M$.equals("config.editor.tabCompletion","on"),rB.AtEnd,lW.Visible.toNegated(),dB.OtherSuggestions.toNegated(),HW.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest((0,os.Gv)(t)?{fallback:"tab",...t}:{fallback:"tab"})},kbOpts:{weight:tH,primary:2}})),Os(new iH({id:"insertNextSuggestion",precondition:ls.M$.and(js.textInputFocus,ls.M$.equals("config.editor.tabCompletion","on"),dB.OtherSuggestions,lW.Visible.toNegated(),HW.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:2}})),Os(new iH({id:"insertPrevSuggestion",precondition:ls.M$.and(js.textInputFocus,ls.M$.equals("config.editor.tabCompletion","on"),dB.OtherSuggestions,lW.Visible.toNegated(),HW.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:tH,kbExpr:js.textInputFocus,primary:1026}})),Fs(class extends Ts{constructor(){super({id:"editor.action.resetSuggestSize",label:jn.kg("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(e,t){XB.get(t)?.resetWidgetSize()}});class nH extends Ae.jG{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new P.vl),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown((e=>{e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(e.onKeyUp((e=>{e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const n=XB.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(e,t,i)=>{const s=this.editor.getModel();if(!s)return-1;const o=this.suggestControllerPreselector(),r=o?GF(o,s):void 0;if(!r)return-1;const a=Gn.y.lift(t),l=i.map(((e,t)=>{const i=GF(sH.fromSuggestion(n,s,a,e,this.isShiftKeyPressed).toSingleTextEdit(),s);return{index:t,valid:QF(r,i),prefixLength:i.text.length,suggestItem:e}})).filter((e=>e&&e.valid&&e.prefixLength>0)),h=(0,kb.Cn)(l,(0,ia.VE)((e=>e.prefixLength),ia.U9));return h?h.index:-1}}));let e=!1;const t=()=>{e||(e=!0,this._register(n.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(n.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(n.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(P.Jh.once(n.model.onDidTrigger)((e=>{t()}))),this._register(n.onWillInsertSuggestItem((e=>{const t=this.editor.getPosition(),i=this.editor.getModel();if(!t||!i)return;const s=sH.fromSuggestion(n,i,t,e.item,this.isShiftKeyPressed);this.onWillAccept(s)})))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();this._isActive===e&&function(e,t){if(e===t)return!0;if(!e||!t)return!1;return e.equals(t)}(this._currentSuggestItemInfo,t)||(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=XB.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),n=this.editor.getModel();return t&&i&&n?sH.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const e=XB.get(this.editor);e?.stopForceRenderingAbove()}forceRenderingAbove(){const e=XB.get(this.editor);e?.forceRenderingAbove()}}class sH{static fromSuggestion(e,t,i,n,s){let{insertText:o}=n.completion,r=!1;if(4&n.completion.insertTextRules){const e=(new ll).parse(o);e.children.length<100&&PW.adjustWhitespace(t,i,!0,e),o=e.toString(),r=!0}const a=e.getOverwriteInfo(n,s);return new sH(Xs.Q.fromPositions(i.delta(0,-a.overwriteBefore),i.delta(0,Math.max(a.overwriteAfter,0))),o,n.completion.kind,r)}constructor(e,t,i,n){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=n}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new ka.GE(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new NM.WR(this.range,this.insertText)}}var oH,rH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},aH=function(e,t){return function(i,n){t(i,n,e)}};let lH=class extends Ae.jG{static{oH=this}static{this.ID="editor.contrib.inlineCompletionsController"}static get(e){return e.getContribution(oH.ID)}constructor(e,t,i,n,s,o,r,a,l,h){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=o,this._languageFeaturesService=r,this._accessibilitySignalService=a,this._keybindingService=l,this._accessibilityService=h,this._editorObs=WM(this.editor),this._positions=(0,mg.un)(this,(e=>this._editorObs.selections.read(e)?.map((e=>e.getEndPosition()))??[new Gn.y(1,1)])),this._suggestWidgetAdaptor=this._register(new nH(this.editor,(()=>(this._editorObs.forceUpdate(),this.model.get()?.selectedInlineCompletion.get()?.toSingleTextEdit(void 0))),(e=>this._editorObs.forceUpdate((t=>{this.model.get()?.handleSuggestAccepted(e)}))))),this._suggestWidgetSelectedItem=(0,mg.y0)(this,(e=>this._suggestWidgetAdaptor.onDidSelectedItemChange((()=>{this._editorObs.forceUpdate((t=>e(void 0)))}))),(()=>this._suggestWidgetAdaptor.selectedItem)),this._enabledInConfig=(0,mg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).enabled)),this._isScreenReaderEnabled=(0,mg.y0)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>this._accessibilityService.isScreenReaderOptimized())),this._editorDictationInProgress=(0,mg.y0)(this,this._contextKeyService.onDidChangeContext,(()=>!0===this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress"))),this._enabled=(0,mg.un)(this,(e=>this._enabledInConfig.read(e)&&(!this._isScreenReaderEnabled.read(e)||!this._editorDictationInProgress.read(e)))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model=(0,Ty.a0)(this,(e=>{if(this._editorObs.isReadonly.read(e))return;const t=this._editorObs.model.read(e);if(!t)return;return this._instantiationService.createInstance(KW,t,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,(0,mg.y0)(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(119).preview)),(0,mg.y0)(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(119).previewMode)),(0,mg.y0)(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).mode)),this._enabled)})).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=(0,mg.un)(this,(e=>{const t=this.model.read(e);return t?.ghostTexts.read(e)??[]})),this._stablizedGhostTexts=function(e,t){const i=(0,mg.FY)("result",[]),n=[];return t.add((0,mg.fm)((t=>{const s=e.read(t);(0,mg.Rn)((e=>{if(s.length!==n.length){n.length=s.length;for(let e=0;et.set(s[i],e)))}))}))),i}(this._ghostTexts,this._store),this._ghostTextWidgets=(0,eT.Rl)(this,this._stablizedGhostTexts,((e,t)=>t.add(this._instantiationService.createInstance(AF,this.editor,{ghostText:e,minReservedLineCount:(0,mg.lk)(0),targetTextModel:this.model.map((e=>e?.textModel))})))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=(0,mg.Yd)(this),this._fontFamily=(0,mg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).fontFamily)),this._register(new wF(this._contextKeyService,this.model)),this._register(HM(this._editorObs.onDidType,((e,t)=>{this._enabled.get()&&this.model.get()?.trigger()}))),this._register(this._commandService.onDidExecuteCommand((t=>{new Set([Pr.Tab.id,Pr.DeleteLeft.id,Pr.DeleteRight.id,Ry,"acceptSelectedSuggestion"]).has(t.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate((e=>{this.model.get()?.trigger(e)}))}))),this._register(HM(this._editorObs.selections,((e,t)=>{t.some((e=>3===e.reason||"api"===e.source))&&this.model.get()?.stop()}))),this._register(this.editor.onDidBlurEditorWidget((()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||bS.dropDownVisible||(0,mg.Rn)((e=>{this.model.get()?.stop(e)}))}))),this._register((0,mg.fm)((e=>{const t=this.model.read(e)?.state.read(e);t?.suggestItem?t.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register((0,Ae.s)((()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()})));const d=(0,eT.ZX)(this,((e,t)=>{const i=this.model.read(e),n=i?.state.read(e);return this._suggestWidgetSelectedItem.get()?t:n?.inlineCompletion?.semanticId}));this._register(function(e,t){const i=new Ae.Cm,n=HM(e,((e,n)=>{i.clear(),t(e,n,i)}));return{dispose(){n.dispose(),i.dispose()}}}((0,mg.un)((e=>(this._playAccessibilitySignal.read(e),d.read(e),{}))),(async(e,t,i)=>{const n=this.model.get(),s=n?.state.get();if(!s||!n)return;const o=n.textModel.getLineContent(s.primaryGhostText.lineNumber);await(0,A.wR)(50,(0,na.bs)(i)),await(0,mg.oJ)(this._suggestWidgetSelectedItem,os.b0,(()=>!1),(0,na.bs)(i)),await this._accessibilitySignalService.playSignal(lE.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(s.primaryGhostText.renderForScreenReader(o))}))),this._register(new fS(this.editor,this.model,this._instantiationService)),this._register(function(e){const t=new Ae.Cm,i=t.add(Nt());return t.add((0,mg.fm)((t=>{i.setStyle(e.read(t))}))),t}((0,mg.un)((e=>{const t=this._fontFamily.read(e);return""===t||"default"===t?"":`\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .ghost-text {\n\tfont-family: ${t};\n}`})))),this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}))),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let n;!t&&i&&this.editor.getOption(150)&&(n=(0,jn.kg)("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Ci(n?e+", "+n:e)}shouldShowHoverAt(e){const t=this.model.get()?.primaryGhostText.get();return!!t&&t.parts.some((i=>e.containsPosition(new Gn.y(t.lineNumber,i.column))))}shouldShowHoverAtViewZone(e){return this._ghostTextWidgets.get()[0]?.ownsViewZone(e)??!1}};lH=oH=rH([aH(1,$n._Y),aH(2,ls.fN),aH(3,Fp.pG),aH(4,rs),aH(5,Mw.ILanguageFeatureDebounceService),aH(6,La.ILanguageFeaturesService),aH(7,oE),aH(8,bd),aH(9,jr)],lH);class hH extends Ts{static{this.ID=Py}constructor(){super({id:hH.ID,label:jn.kg("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ls.M$.and(js.writable,wF.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){const i=lH.get(t);i?.model.get()?.next()}}class dH extends Ts{static{this.ID=Ay}constructor(){super({id:dH.ID,label:jn.kg("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ls.M$.and(js.writable,wF.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){const i=lH.get(t);i?.model.get()?.previous()}}class cH extends Ts{static{this.ID="editor.action.inlineSuggest.hide"}constructor(){super({id:cH.ID,label:jn.kg("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:wF.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=lH.get(t);(0,mg.Rn)((e=>{i?.model.get()?.stop(e)}))}}class uH extends Ss{static{this.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar"}constructor(){super({id:uH.ID,title:jn.kg("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:_s.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ls.M$.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Fp.pG),n="always"===i.getValue("editor.inlineSuggest.showToolbar")?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",n)}}var gH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},pH=function(e,t){return function(i,n){t(i,n,e)}};class mH{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let fH=class{constructor(e,t,i,n,s,o){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=n,this._instantiationService=s,this._telemetryService=o,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=lH.get(this._editor);if(!t)return null;const i=e.target;if(8===i.type){const n=i.detail;if(t.shouldShowHoverAtViewZone(n.viewZoneId))return new py(1e3,this,Xs.Q.fromPositions(this._editor.getModel().validatePosition(n.positionBefore||n.position)),e.event.posx,e.event.posy,!1)}if(7===i.type&&t.shouldShowHoverAt(i.range))return new py(1e3,this,i.range,e.event.posx,e.event.posy,!1);if(6===i.type){if(i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range))return new py(1e3,this,i.range,e.event.posx,e.event.posy,!1)}return null}computeSync(e,t){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const i=lH.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new mH(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Ae.Cm,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,n));const s=n.controller.model.get(),o=this._instantiationService.createInstance(bS,this._editor,!1,(0,mg.lk)(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),r=o.getDomNode();e.fragment.appendChild(r),s.triggerExplicitly(),i.add(o);return new my([{hoverPart:n,hoverElement:r,dispose(){i.dispose()}}])}renderScreenReaderText(e,t){const i=new Ae.Cm,n=ei,s=n("div.hover-row.markdown-hover"),o=Gt(s,n("div.hover-contents",{"aria-live":"assertive"})),r=i.add(new Oh({editor:this._editor},this._languageService,this._openerService));return i.add((0,mg.fm)((n=>{const s=t.controller.model.read(n)?.primaryGhostText.read(n);if(s){const t=this._editor.getModel().getLineContent(s.lineNumber);(t=>{i.add(r.onDidRenderAsync((()=>{o.className="hover-contents code-hover-contents",e.onContentsChanged()})));const n=jn.kg("inlineSuggestionFollows","Suggestion:"),s=i.add(r.render((new Hn).appendText(n).appendCodeblock("text",t)));o.replaceChildren(s.element)})(s.renderForScreenReader(t))}else Yt(o)}))),e.fragment.appendChild(s),i}};fH=gH([pH(1,xh.L),pH(2,Th),pH(3,jr),pH(4,$n._Y),pH(5,Ls)],fH);Bs(lH.ID,lH,3),Fs(class extends Ts{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:jn.kg("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:js.writable})}async run(e,t){const i=lH.get(t);await(0,FM.fL)((async e=>{await(i?.model.get()?.triggerExplicitly(e)),i?.playAccessibilitySignal(e)}))}}),Fs(hH),Fs(dH),Fs(class extends Ts{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:jn.kg("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:ls.M$.and(js.writable,wF.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:ls.M$.and(js.writable,wF.inlineSuggestionVisible)},menuOpts:[{menuId:_s.InlineSuggestionToolbar,title:jn.kg("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){const i=lH.get(t);await(i?.model.get()?.acceptNextWord(i.editor))}}),Fs(class extends Ts{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:jn.kg("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:ls.M$.and(js.writable,wF.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:_s.InlineSuggestionToolbar,title:jn.kg("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){const i=lH.get(t);await(i?.model.get()?.acceptNextLine(i.editor))}}),Fs(class extends Ts{constructor(){super({id:Ry,label:jn.kg("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:wF.inlineSuggestionVisible,menuOpts:[{menuId:_s.InlineSuggestionToolbar,title:jn.kg("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ls.M$.and(wF.inlineSuggestionVisible,js.tabMovesFocus.toNegated(),wF.inlineSuggestionHasIndentationLessThanTabSize,lW.Visible.toNegated(),js.hoverFocused.toNegated())}})}async run(e,t){const i=lH.get(t);i&&(i.model.get()?.accept(i.editor),i.editor.focus())}}),Fs(cH),ks(uH),fy.register(fH),QO.register(new class{});var _H=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},vH=function(e,t){return function(i,n){t(i,n,e)}};const bH="inline-edit";let CH=class extends Ae.jG{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=(0,mg.FY)(this,!1),this.currentTextModel=(0,mg.y0)(this,this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=(0,mg.un)(this,(e=>{if(this.isDisposed.read(e))return;const t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;const i=this.model.ghostText.read(e);if(!i)return;let n=this.model.range?.read(e);n&&n.startLineNumber===n.endLineNumber&&n.startColumn===n.endColumn&&(n=void 0);const s=(!n||n.startLineNumber===n.endLineNumber)&&1===i.parts.length&&1===i.parts[0].lines.length,o=1===i.parts.length&&i.parts[0].lines.every((e=>0===e.length)),r=[],a=[];function l(e,t){if(a.length>0){const i=a[a.length-1];t&&i.decorations.push(new ef(i.content.length+1,i.content.length+1+e[0].length,t,0)),i.content+=e[0],e=e.slice(1)}for(const i of e)a.push({content:i,decorations:t?[new ef(1,i.length+1,t,0)]:[]})}const h=t.getLineContent(i.lineNumber);let d,c=0;if(!o&&(s||!n)){for(const e of i.parts){let t=e.lines;n&&!s&&(l(t,bH),t=[]),void 0===d?(r.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):l([h.substring(c,e.column-1)],void 0),t.length>0&&(l(t,bH),void 0===d&&e.column<=h.length&&(d=e.column)),c=e.column-1}void 0!==d&&l([h.substring(c)],void 0)}const u=void 0!==d?new NF(d,h.length+1):void 0,g=s||!n?i.lineNumber:n.endLineNumber-1;return{inlineTexts:r,additionalLines:a,hiddenRange:u,lineNumber:g,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t,range:n,isSingleLine:s,isPureRemove:o}})),this.decorations=(0,mg.un)(this,(e=>{const t=this.uiState.read(e);if(!t)return[];const i=[];if(t.hiddenRange&&i.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),t.range){const e=[];if(t.isSingleLine)e.push(t.range);else if(!t.isPureRemove){const i=t.range.endLineNumber-t.range.startLineNumber;for(let n=0;n{this.isDisposed.set(!0,void 0)}))),this._register(IF(this.editor,this.decorations))}};CH=_H([vH(2,xh.L)],CH);var wH,yH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},SH=function(e,t){return function(i,n){t(i,n,e)}};let kH=class extends Ae.jG{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=(0,mg.y0)(this,this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(63).showToolbar)),this.sessionPosition=void 0,this.position=(0,mg.un)(this,(e=>{const t=this.model.read(e)?.model.ghostText.read(e);if(!this.alwaysShowToolbar.read(e)||!t||0===t.parts.length)return this.sessionPosition=void 0,null;const i=t.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==t.lineNumber&&(this.sessionPosition=void 0);const n=new Gn.y(t.lineNumber,Math.min(i,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=n,n})),this._register((0,mg.yC)(((t,i)=>{if(!this.model.read(t)||!this.alwaysShowToolbar.read(t))return;const n=i.add(this.instantiationService.createInstance(LH,this.editor,!0,this.position));e.addContentWidget(n),i.add((0,Ae.s)((()=>e.removeContentWidget(n))))})))}};kH=yH([SH(2,$n._Y)],kH);let LH=class extends Ae.jG{static{wH=this}static{this._dropDownVisible=!1}static{this.id=0}constructor(e,t,i,n,s,o){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=s,this._menuService=o,this.id="InlineEditHintsContentWidget"+wH.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=ui("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[ui("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(_s.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(DH,this.nodes.toolBar,this.editor,_s.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof ys)return n.createInstance(xH,e,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility((e=>{wH._dropDownVisible=e}))),this._register((0,mg.fm)((e=>{this._position.read(e),this.editor.layoutContentWidget(this)}))),this._register((0,mg.fm)((e=>{const t=[];for(const[i,n]of this.inlineCompletionsActionsMenus.getActions())for(const e of n)e instanceof ys&&t.push(e);t.length>0&&t.unshift(new Jn),this.toolBar.setAdditionalSecondaryActions(t)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};LH=wH=yH([SH(3,$n._Y),SH(4,ls.fN),SH(5,vs)],LH);class xH extends Uy{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=ui("div.keybinding").root;this._register(new lp(t,f.OS,{disableTitle:!0,...ap})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let DH=class extends cS{constructor(e,t,i,n,s,o,r,a,l,h){super(e,{resetMenu:i,...n},s,o,r,a,l,h),this.editor=t,this.menuId=i,this.options2=n,this.menuService=s,this.contextKeyService=o,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange((()=>this.updateToolbar()))),this._store.add(this.editor.onDidChangeCursorPosition((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){const e=[],t=[];Vy(this.menu,this.options2?.menuOptions,{primary:e,secondary:t},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){(0,ia.aI)(this.additionalActions,e,((e,t)=>e===t))||(this.additionalActions=e,this.updateToolbar())}};DH=yH([SH(4,vs),SH(5,ls.fN),SH(6,vd),SH(7,bd),SH(8,rs),SH(9,Ls)],DH);var NH,IH,EH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},MH=function(e,t){return function(i,n){t(i,n,e)}};function TH(e){const t=e[0].match(/^\s*/)?.[0]??"",i=t.length;return{text:e.map((e=>e.replace(new RegExp("^"+t),""))),shift:i}}let RH=class extends Ae.jG{static{NH=this}static{this._modelId=0}static _createUniqueUri(){return Bn.r.from({scheme:"inline-edit-widget",path:(new Date).toString()+String(NH._modelId++)})}constructor(e,t,i,n,s){super(),this._editor=e,this._model=t,this._instantiationService=i,this._diffProviderFactoryService=n,this._modelService=s,this._position=(0,mg.un)(this,(e=>{const t=this._model.read(e);if(!t||0===t.text.length)return null;if(t.range.startLineNumber===t.range.endLineNumber&&(t.range.startColumn!==t.range.endColumn||1!==t.range.startColumn))return null;const i=this._editor.getModel();if(!i)return null;const n=Array.from(function*(e,t,i=1){void 0===t&&([t,e]=[e,0]);for(let n=e;ni.getLineLastNonWhitespaceColumn(e))),o=Math.max(...s),r=n[s.indexOf(o)],a=new Gn.y(r,o);return{top:t.range.startLineNumber,left:a}})),this._text=(0,mg.un)(this,(e=>{const t=this._model.read(e);if(!t)return{text:"",shift:0};const i=TH(t.text.split("\n"));return{text:i.text.join("\n"),shift:i.shift}})),this._originalModel=(0,Ty.a0)((()=>this._modelService.createModel("",null,NH._createUniqueUri()))).keepObserved(this._store),this._modifiedModel=(0,Ty.a0)((()=>this._modelService.createModel("",null,NH._createUniqueUri()))).keepObserved(this._store),this._diff=(0,mg.un)(this,(e=>this._diffPromise.read(e)?.promiseResult.read(e)?.data)),this._diffPromise=(0,mg.un)(this,(e=>{const t=this._model.read(e);if(!t)return;const i=this._editor.getModel();if(!i)return;const n=TH(i.getValueInRange(t.range).split("\n")).text.join("\n"),s=TH(t.text.split("\n")).text.join("\n");this._originalModel.get().setValue(n),this._modifiedModel.get().setValue(s);const o=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return mg.BK.fromFn((async()=>{const e=await o.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},na.XO.None);if(!e.identical)return e.changes}))})),this._register((0,mg.yC)(((t,i)=>{if(!this._model.read(t))return;if(null===this._position.get())return;const n=i.add(this._instantiationService.createInstance(AH,this._editor,this._position,this._text.map((e=>e.text)),this._text.map((e=>e.shift)),this._diff));e.addOverlayWidget(n),i.add((0,Ae.s)((()=>e.removeOverlayWidget(n))))})))}};RH=NH=EH([MH(2,$n._Y),MH(3,HE),MH(4,Qn.IModelService)],RH);let AH=class extends Ae.jG{static{IH=this}static{this.id=0}constructor(e,t,i,n,s,o){super(),this._editor=e,this._position=t,this._text=i,this._shift=n,this._diff=s,this._instantiationService=o,this.id="InlineEditSideBySideContentWidget"+IH.id++,this.allowEditorOverflow=!1,this._nodes=ei("div.inlineEditSideBySide",void 0),this._scrollChanged=(0,mg.yQ)("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Ak,this._nodes,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:"hidden",horizontal:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off",wrappingIndent:"none",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=WM(this._previewEditor),this._editorObs=WM(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(eo.Bz,"",this._editor.getModel()?.getLanguageId()??Dh.vH,eo.Bz.DEFAULT_CREATION_OPTIONS,null)),this._setText=(0,mg.un)((e=>{const t=this._text.read(e);t&&this._previewTextModel.setValue(t)})).recomputeInitiallyAndOnChange(this._store),this._decorations=(0,mg.un)(this,(e=>{this._setText.read(e);const t=this._position.read(e);if(!t)return{org:[],mod:[]};const i=this._diff.read(e);if(!i)return{org:[],mod:[]};const n=[],s=[];if(1===i.length&&i[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const o=this._shift.get(),r=e=>new Xs.Q(e.startLineNumber+t.top-1,e.startColumn+o,e.endLineNumber+t.top-1,e.endColumn+o);for(const a of i)if(a.original.isEmpty||n.push({range:r(a.original.toInclusiveRange()),options:NE}),a.modified.isEmpty||s.push({range:a.modified.toInclusiveRange(),options:DE}),a.modified.isEmpty||a.original.isEmpty)a.original.isEmpty||n.push({range:r(a.original.toInclusiveRange()),options:PE}),a.modified.isEmpty||s.push({range:a.modified.toInclusiveRange(),options:TE});else for(const e of a.innerChanges||[])a.original.contains(e.originalRange.startLineNumber)&&n.push({range:r(e.originalRange),options:e.originalRange.isEmpty()?OE:AE}),a.modified.contains(e.modifiedRange.startLineNumber)&&s.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()?RE:ME});return{org:n,mod:s}})),this._originalDecorations=(0,mg.un)(this,(e=>this._decorations.read(e).org)),this._modifiedDecorations=(0,mg.un)(this,(e=>this._decorations.read(e).mod)),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register((0,mg.fm)((e=>{const t=this._previewEditorObs.contentWidth.read(e),i=this._text.read(e).split("\n").length-1,n=this._editor.getOption(67)*i;t<=0||this._previewEditor.layout({height:n,width:t})}))),this._register((0,mg.fm)((e=>{this._position.read(e),this._editor.layoutOverlayWidget(this)}))),this._register((0,mg.fm)((e=>{this._scrollChanged.read(e);this._position.read(e)&&this._editor.layoutOverlayWidget(this)})))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const e=this._position.get();if(!e)return null;const t=this._editor.getLayoutInfo(),i=this._editor.getScrolledVisiblePosition(new Gn.y(e.top,1));if(!i)return null;const n=i.top-1,s=this._editor.getOffsetForColumn(e.left.lineNumber,e.left.column);return{preference:{left:t.contentLeft+s+10,top:n}}}};AH=IH=EH([MH(5,$n._Y)],AH);var PH,OH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},FH=function(e,t){return function(i,n){t(i,n,e)}};let WH=class extends Ae.jG{static{PH=this}static{this.ID="editor.contrib.inlineEditController"}static{this.inlineEditVisibleKey="inlineEditVisible"}static{this.inlineEditVisibleContext=new ls.N1(this.inlineEditVisibleKey,!1)}static{this.cursorAtInlineEditKey="cursorAtInlineEdit"}static{this.cursorAtInlineEditContext=new ls.N1(this.cursorAtInlineEditKey,!1)}static get(e){return e.getContribution(PH.ID)}constructor(e,t,i,n,s,o,r,a){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=o,this._diffProviderFactoryService=r,this._modelService=a,this._isVisibleContext=PH.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=PH.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=(0,mg.FY)(this,void 0),this._currentWidget=(0,Ty.a0)(this._currentEdit,(e=>{const t=this._currentEdit.read(e);if(!t)return;const i=t.range.endLineNumber,n=t.range.endColumn,s=!t.text.endsWith("\n")||t.range.startLineNumber===t.range.endLineNumber&&t.range.startColumn===t.range.endColumn?t.text:t.text.slice(0,-1),o=new yF(i,[new SF(n,s,!1)]),r=t.range.startLineNumber===t.range.endLineNumber&&1===o.parts.length&&1===o.parts[0].lines.length,a=""===t.text;if(!r&&!a)return;return this.instantiationService.createInstance(CH,this.editor,{ghostText:(0,mg.lk)(o),minReservedLineCount:(0,mg.lk)(0),targetTextModel:(0,mg.lk)(this.editor.getModel()??void 0),range:(0,mg.lk)(t.range)})})),this._isAccepting=(0,mg.FY)(this,!1),this._enabled=(0,mg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).enabled)),this._fontFamily=(0,mg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).fontFamily));const l=(0,mg.yQ)("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register((0,mg.fm)((t=>{this._enabled.read(t)&&(l.read(t),this._isAccepting.read(t)||this.getInlineEdit(e,!0))})));const h=(0,mg.y0)(this,e.onDidChangeCursorPosition,(()=>e.getPosition()));this._register((0,mg.fm)((e=>{if(!this._enabled.read(e))return;const t=h.read(e);t&&this.checkCursorPosition(t)}))),this._register((0,mg.fm)((t=>{const i=this._currentEdit.read(t);if(this._isCursorAtInlineEditContext.set(!1),!i)return void this._isVisibleContext.set(!1);this._isVisibleContext.set(!0);const n=e.getPosition();n&&this.checkCursorPosition(n)})));const d=(0,mg.yQ)("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register((0,mg.fm)((async t=>{this._enabled.read(t)&&(d.read(t),this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur||(this._currentRequestCts?.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))})));const c=(0,mg.yQ)("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register((0,mg.fm)((t=>{this._enabled.read(t)&&(c.read(t),this.getInlineEdit(e,!0))})));const u=this._register(Nt());this._register((0,mg.fm)((e=>{const t=this._fontFamily.read(e);u.setStyle(""===t||"default"===t?"":`\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .inline-edit {\n\tfont-family: ${t};\n}`)}))),this._register(new kH(this.editor,this._currentWidget,this.instantiationService)),this._register(new RH(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(e){if(!this._currentEdit)return void this._isCursorAtInlineEditContext.set(!1);const t=this._currentEdit.get();t?this._isCursorAtInlineEditContext.set(Xs.Q.containsPosition(t.range,e)):this._isCursorAtInlineEditContext.set(!1)}validateInlineEdit(e,t){if(t.text.includes("\n")&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(1!==t.range.startColumn)return!1;const i=t.range.endLineNumber;if(t.range.endColumn!==(e.getModel()?.getLineLength(i)??0)+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const n=i.getVersionId(),s=this.languageFeaturesService.inlineEditProvider.all(i);if(0===s.length)return;const o=s[0];this._currentRequestCts=new na.Qi;const r=this._currentRequestCts.token,a=t?ka.sm.Automatic:ka.sm.Invoke;var l,h;if(t&&await(l=50,h=r,new Promise((e=>{let t;const i=setTimeout((()=>{t&&t.dispose(),e()}),l);h&&(t=h.onCancellationRequested((()=>{clearTimeout(i),t&&t.dispose(),e()})))}))),r.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const d=await o.provideInlineEdit(i,{triggerKind:a},r);return d&&!r.isCancellationRequested&&!i.isDisposed()&&i.getVersionId()===n&&this.validateInlineEdit(e,d)?d:void 0}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith("\n")&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[bk.replace(Xs.Q.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,b.M_),this.freeEdit(e),(0,mg.Rn)((e=>{this._currentEdit.set(void 0,e),this._isAccepting.set(!1,e)}))}jumpToCurrent(){this._jumpBackPosition=this.editor.getSelection()?.getStartPosition();const e=this._currentEdit.get();if(!e)return;const t=Gn.y.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){const t=this._currentEdit.get();t&&t?.rejected&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,b.M_),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);0!==i.length&&i[0].freeInlineEdit(e)}};WH=PH=OH([FH(1,$n._Y),FH(2,ls.fN),FH(3,La.ILanguageFeaturesService),FH(4,rs),FH(5,Fp.pG),FH(6,HE),FH(7,Qn.IModelService)],WH);Fs(class extends Ts{constructor(){super({id:"editor.action.inlineEdit.accept",label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:ls.M$.and(js.writable,WH.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:ls.M$.and(js.writable,WH.inlineEditVisibleContext,WH.cursorAtInlineEditContext)}],menuOpts:[{menuId:_s.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=WH.get(t);await(i?.accept())}}),Fs(class extends Ts{constructor(){const e=ls.M$.and(js.writable,WH.inlineEditVisibleContext);super({id:"editor.action.inlineEdit.reject",label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:_s.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=WH.get(t);await(i?.clear())}}),Fs(class extends Ts{constructor(){const e=ls.M$.and(js.writable,WH.inlineEditVisibleContext,ls.M$.not(WH.cursorAtInlineEditKey));super({id:"editor.action.inlineEdit.jumpTo",label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:_s.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=WH.get(t);i?.jumpToCurrent()}}),Fs(class extends Ts{constructor(){const e=ls.M$.and(js.writable,WH.cursorAtInlineEditContext);super({id:"editor.action.inlineEdit.jumpBack",label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:_s.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=WH.get(t);i?.jumpBack()}}),Fs(class extends Ts{constructor(){const e=ls.M$.and(js.writable,ls.M$.not(WH.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=WH.get(t);i?.trigger()}}),Bs(WH.ID,WH,3);const BH=new ls.N1("inlineEditsVisible",!1,(0,jn.kg)("inlineEditsVisible","Whether an inline edit is visible")),HH=new ls.N1("inlineEditsIsPinned",!1,(0,jn.kg)("isPinned","Whether an inline edit is visible"));class VH extends Ae.jG{static{this.ID="editor.contrib.placeholderText"}constructor(e){var t,i;super(),this._editor=e,this._editorObs=WM(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=(0,mg.C)({owner:this,equalsFn:OM.dB},(e=>{const t=this._placeholderText.read(e);if(t&&this._editorObs.valueIsEmpty.read(e))return{placeholder:t}})),this._shouldViewBeAlive=(t=this,i=e=>void 0!==this._state.read(e)?.placeholder,(0,mg.ZX)(t,((e,t)=>!0===t||i(e)))),this._view=(0,Ty.rm)(((e,t)=>{if(!this._shouldViewBeAlive.read(e))return;const i=ui("div.editorPlaceholder");t.add((0,mg.fm)((e=>{const t=this._state.read(e),n=void 0!==t?.placeholder;i.root.style.display=n?"block":"none",i.root.innerText=t?.placeholder??""}))),t.add((0,mg.fm)((e=>{const t=this._editorObs.layoutInfo.read(e);i.root.style.left=`${t.contentLeft}px`,i.root.style.width=t.contentWidth-t.verticalScrollbarWidth+"px",i.root.style.top=`${this._editor.getTopForLineNumber(0)}px`}))),t.add((0,mg.fm)((e=>{i.root.style.fontFamily=this._editorObs.getOption(49).read(e),i.root.style.fontSize=this._editorObs.getOption(52).read(e)+"px",i.root.style.lineHeight=this._editorObs.getOption(67).read(e)+"px"}))),t.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:(0,mg.lk)(0),position:(0,mg.lk)(null),domNode:i.root}))})),this._view.recomputeInitiallyAndOnChange(this._store)}}var zH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},UH=function(e,t){return function(i,n){t(i,n,e)}};class KH{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let jH=class extends Ae.jG{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=WM(this._editor),this._elements=ui("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[ui("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[ui("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),ui("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),ui("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),gi("svg",{style:{overflow:"visible",pointerEvents:"none"}},[gi("defs",[gi("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[gi("stop",{offset:"0%",class:"gradient-stop"}),gi("stop",{offset:"100%",class:"gradient-stop"})])]),gi("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(eo.Bz,"",Dh.vH,eo.Bz.DEFAULT_CREATION_OPTIONS,null)),this._setText=(0,mg.un)((e=>{const t=this._edit.read(e);t&&this._previewTextModel.setValue(t.newLines.join("\n"))})).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(eo.Bz,"",Dh.vH,eo.Bz.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Ak,this._elements.promptEditor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,placeholder:"Describe the change you want...",fontFamily:cv},{contributions:xs.getSomeEditorContributions([XB.ID,VH.ID,FI.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Ak,this._elements.editor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=WM(this._previewEditor),this._decorations=(0,mg.un)(this,(e=>{this._setText.read(e);const t=this._edit.read(e)?.changes;if(!t)return[];const i=[],n=[];if(1===t.length&&t[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const s of t)if(s.original.isEmpty||i.push({range:s.original.toInclusiveRange(),options:NE}),s.modified.isEmpty||n.push({range:s.modified.toInclusiveRange(),options:DE}),s.modified.isEmpty||s.original.isEmpty)s.original.isEmpty||i.push({range:s.original.toInclusiveRange(),options:PE}),s.modified.isEmpty||n.push({range:s.modified.toInclusiveRange(),options:TE});else for(const e of s.innerChanges||[])s.original.contains(e.originalRange.startLineNumber)&&i.push({range:e.originalRange,options:e.originalRange.isEmpty()?OE:AE}),s.modified.contains(e.modifiedRange.startLineNumber)&&n.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()?RE:ME});return n})),this._layout1=(0,mg.un)(this,(e=>{const t=this._editor.getModel(),i=this._edit.read(e);if(!i)return null;const n=i.range;let s=0;for(let o=n.startLineNumber;o{const t=this._edit.read(e);if(!t)return null;const i=t.range,n=this._editorObs.scrollLeft.read(e),s=this._layout1.read(e).left+20-n,o=this._editor.getTopForLineNumber(i.startLineNumber)-this._editorObs.scrollTop.read(e),r=this._editor.getTopForLineNumber(i.endLineNumberExclusive)-this._editorObs.scrollTop.read(e),a=new $H(s,o),l=new $H(s,r),h=r-o,d=this._editor.getOption(67)*t.newLines.length,c=h-d;return{topCode:a,bottomCode:l,codeHeight:h,topEdit:new $H(s+50,o+c/2),bottomEdit:new $H(s+50,r-c/2),editHeight:d}}));const s=(0,mg.un)(this,(e=>void 0!==this._edit.read(e)||void 0!==this._userPrompt.read(e)));var o,r,a;this._register(QI(this._elements.root,{display:(0,mg.un)(this,(e=>s.read(e)?"block":"none"))})),this._register(UI(this._editor.getDomNode(),this._elements.root)),this._register(WM(e).createOverlayWidget({domNode:this._elements.root,position:(0,mg.lk)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,mg.un)((e=>{const t=this._layout1.read(e)?.left;if(void 0===t)return 0;return t+this._previewEditorObs.contentWidth.read(e)}))})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register((0,mg.fm)((e=>{const t=this._layout.read(e);if(!t)return;const{topCode:i,bottomCode:n,topEdit:s,bottomEdit:o,editHeight:r}=t,a=(new qH).moveTo(i).lineTo(i.deltaX(10)).curveTo(i.deltaX(50),s.deltaX(-40),s.deltaX(-0)).lineTo(s).lineTo(o).lineTo(o.deltaX(-0)).curveTo(o.deltaX(-40),n.deltaX(50),n.deltaX(10)).lineTo(n).build();this._elements.path.setAttribute("d",a),this._elements.editorContainer.style.top=`${s.y}px`,this._elements.editorContainer.style.left=`${s.x}px`,this._elements.editorContainer.style.height=`${r}px`;const l=this._previewEditorObs.contentWidth.read(e);this._previewEditor.layout({height:r,width:l})}))),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(function(e,t){const i=new Ae.Cm;return i.add((0,mg.fm)((i=>{const n=e.read(i);t.set(n,void 0)}))),i.add((0,mg.fm)((i=>{const n=t.read(i);e.set(n,void 0)}))),i}((o=this._userPrompt,r=e=>e??"",a=e=>e,(0,Ty.dQ)(void 0,(e=>r(o.read(e))),((e,t)=>o.set(a(e),t)))),WM(this._promptEditor).value)),this._register((0,mg.fm)((e=>{const t=WM(this._promptEditor).isFocused.read(e);this._elements.root.classList.toggle("focused",t)})))}};jH=zH([UH(3,$n._Y)],jH);class $H{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new $H(this.x+e,this.y)}}class qH{constructor(){this._data=""}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}curveTo(e,t,i){return this._data+=`C ${e.x} ${e.y} ${t.x} ${t.y} ${i.x} ${i.y} `,this}build(){return this._data}}var GH,QH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},YH=function(e,t){return function(i,n){t(i,n,e)}};let ZH=class extends Ae.jG{static{GH=this}static{this._modelId=0}static _createUniqueUri(){return Bn.r.from({scheme:"inline-edits",path:(new Date).toString()+String(GH._modelId++)})}constructor(e,t,i,n,s,o,r){super(),this.textModel=e,this._textModelVersionId=t,this._selection=i,this._debounceValue=n,this.languageFeaturesService=s,this._diffProviderFactoryService=o,this._modelService=r,this._forceUpdateExplicitlySignal=(0,mg.Yd)(this),this._selectedInlineCompletionId=(0,mg.FY)(this,void 0),this._isActive=(0,mg.FY)(this,!1),this._originalModel=(0,Ty.a0)((()=>this._modelService.createModel("",null,GH._createUniqueUri()))).keepObserved(this._store),this._modifiedModel=(0,Ty.a0)((()=>this._modelService.createModel("",null,GH._createUniqueUri()))).keepObserved(this._store),this._pinnedRange=new JH(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map((e=>!!e)),this.userPrompt=(0,mg.FY)(this,void 0),this.inlineEdit=(0,mg.un)(this,(e=>this._inlineEdit.read(e)?.promiseResult.read(e)?.data)),this._inlineEdit=(0,mg.un)(this,(e=>{const t=this.selectedInlineEdit.read(e);if(!t)return;const i=t.inlineCompletion.range;if(""===t.inlineCompletion.insertText.trim())return;let n=t.inlineCompletion.insertText.split(/\r\n|\r|\n/);function s(e){const t=e[0].match(/^\s*/)?.[0]??"";return e.map((e=>e.replace(new RegExp("^"+t),"")))}n=s(n);let o=this.textModel.getValueInRange(i).split(/\r\n|\r|\n/);o=s(o),this._originalModel.get().setValue(o.join("\n")),this._modifiedModel.get().setValue(n.join("\n"));const r=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return mg.BK.fromFn((async()=>{const e=await r.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},na.XO.None);if(!e.identical)return new KH(iE.M.fromRangeInclusive(i),s(n),e.changes)}))})),this._fetchStore=this._register(new Ae.Cm),this._inlineEditsFetchResult=(0,mg.X2)(this,void 0),this._inlineEdits=(0,mg.C)({owner:this,equalsFn:OM.dB},(e=>this._inlineEditsFetchResult.read(e)?.completions.map((e=>new XH(e)))??[])),this._fetchInlineEditsPromise=(0,mg.nb)({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:ka.qw.Automatic}),handleChange:(e,t)=>(e.didChange(this._forceUpdateExplicitlySignal)&&(t.inlineCompletionTriggerKind=ka.qw.Explicit),!0)},(async(e,t)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(e),this._textModelVersionId.read(e);const i=this._pinnedRange.range.read(e)??(n=this._selection.read(e),(e=>e.isEmpty()?void 0:e)(n));var n;if(!i)return this._inlineEditsFetchResult.set(void 0,void 0),void this.userPrompt.set(void 0,void 0);const s={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(e)},o=(0,na.bs)(this._fetchStore);await(0,A.wR)(200,o);const r=await UF(this.languageFeaturesService.inlineCompletionsProvider,i,this.textModel,s,o);o.isCancellationRequested||this._inlineEditsFetchResult.set(r,void 0)})),this._filteredInlineEditItems=(0,mg.C)({owner:this,equalsFn:(0,OM.S3)()},(e=>this._inlineEdits.read(e))),this.selectedInlineCompletionIndex=(0,mg.un)(this,(e=>{const t=this._selectedInlineCompletionId.read(e),i=this._filteredInlineEditItems.read(e),n=void 0===this._selectedInlineCompletionId?-1:i.findIndex((e=>e.semanticId===t));return-1===n?(this._selectedInlineCompletionId.set(void 0,void 0),0):n})),this.selectedInlineEdit=(0,mg.un)(this,(e=>this._filteredInlineEditItems.read(e)[this.selectedInlineCompletionIndex.read(e)])),this._register((0,mg.OI)(this._fetchInlineEditsPromise))}async triggerExplicitly(e){(0,mg.PO)(e,(e=>{this._isActive.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)})),await this._fetchInlineEditsPromise.get()}stop(e){(0,mg.PO)(e,(e=>{this.userPrompt.set(void 0,e),this._isActive.set(!1,e),this._inlineEditsFetchResult.set(void 0,e),this._pinnedRange.setRange(void 0,e)}))}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineEditItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new b.D7;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}};ZH=GH=QH([YH(4,La.ILanguageFeaturesService),YH(5,HE),YH(6,Qn.IModelService)],ZH);class XH{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class JH extends Ae.jG{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=(0,mg.FY)(this,[]),this.range=(0,mg.un)(this,(e=>{this._versionId.read(e);const t=this._decorations.read(e)[0];return t?this._textModel.getDecorationRange(t)??null:null})),this._register((0,Ae.s)((()=>{this._textModel.deltaDecorations(this._decorations.get(),[])})))}setRange(e,t){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),e?[{range:e,options:{description:"trackedRange"}}]:[]),t)}}var eV,tV=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},iV=function(e,t){return function(i,n){t(i,n,e)}};let nV=class extends Ae.jG{static{eV=this}static{this.ID="editor.contrib.inlineEditsController"}static get(e){return e.getContribution(eV.ID)}constructor(e,t,i,n,s,o){var r,a,l;super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._debounceService=n,this._languageFeaturesService=s,this._configurationService=o,this._enabled=(r="editor.inlineEdits.enabled",a=!1,l=this._configurationService,(0,eT.eP)({debugName:()=>`Configuration Key "${r}"`},(e=>l.onDidChangeConfiguration((t=>{t.affectsConfiguration(r)&&e(t)}))),(()=>l.getValue(r)??a))),this._editorObs=WM(this.editor),this._selection=(0,mg.un)(this,(e=>this._editorObs.cursorSelection.read(e)??new $s.L(1,1,1,1))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=(0,Ty.a0)(this,(e=>{if(!this._enabled.read(e))return;if(this._editorObs.isReadonly.read(e))return;const t=this._editorObs.model.read(e);if(!t)return;return this._instantiationService.createInstance(qE(ZH,e),t,this._editorObs.versionId,this._selection,this._debounceValue)})),this._hadInlineEdit=(0,mg.ZX)(this,((e,t)=>t||void 0!==this.model.read(e)?.inlineEdit.read(e))),this._widget=(0,Ty.a0)(this,(e=>{var t;if(this._hadInlineEdit.read(e))return this._instantiationService.createInstance(qE(jH,e),this.editor,this.model.map(((e,t)=>e?.inlineEdit.read(t))),(t=e=>this.model.read(e)?.userPrompt??(0,mg.FY)("empty",""),(0,Ty.dQ)(void 0,(e=>t(e).read(e)),((e,i)=>{t(void 0).set(e,i)}))))})),this._register(tT(BH,this._contextKeyService,(e=>!!this.model.read(e)?.inlineEdit.read(e)))),this._register(tT(HH,this._contextKeyService,(e=>!!this.model.read(e)?.isPinned.read(e)))),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}};function sV(e){return{label:e.value,alias:e.original}}nV=eV=tV([iV(1,$n._Y),iV(2,ls.fN),iV(3,Mw.ILanguageFeatureDebounceService),iV(4,La.ILanguageFeaturesService),iV(5,Fp.pG)],nV);class oV extends Ts{static{this.ID="editor.action.inlineEdits.showNext"}constructor(){super({id:oV.ID,...sV(jn.aS("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:ls.M$.and(js.writable,BH),kbOpts:{weight:100,primary:606}})}async run(e,t){const i=nV.get(t);i?.model.get()?.next()}}class rV extends Ts{static{this.ID="editor.action.inlineEdits.showPrevious"}constructor(){super({id:rV.ID,...sV(jn.aS("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:ls.M$.and(js.writable,BH),kbOpts:{weight:100,primary:604}})}async run(e,t){const i=nV.get(t);i?.model.get()?.previous()}}class aV extends Ts{static{this.ID="editor.action.inlineEdits.hide"}constructor(){super({id:aV.ID,...sV(jn.aS("action.inlineEdits.hide","Hide Inline Edit")),precondition:BH,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=nV.get(t);(0,mg.Rn)((e=>{i?.model.get()?.stop(e)}))}}Bs(nV.ID,nV,3),Fs(class extends Ts{constructor(){super({id:"editor.action.inlineEdits.trigger",...sV(jn.aS("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:js.writable})}async run(e,t){const i=nV.get(t);await(0,FM.fL)((async e=>{await(i?.model.get()?.triggerExplicitly(e))}))}}),Fs(oV),Fs(rV),Fs(class extends Ts{constructor(){super({id:"editor.action.inlineEdits.accept",...sV(jn.aS("action.inlineEdits.accept","Accept Inline Edit")),precondition:BH,menuOpts:{menuId:_s.InlineEditsActions,title:jn.kg("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:vl.W.check},kbOpts:{primary:2058,weight:2e4,kbExpr:BH}})}async run(e,t){t instanceof Ak&&(t=t.getParentEditor());const i=nV.get(t);i&&(i.model.get()?.accept(i.editor),i.editor.focus())}}),Fs(aV);var lV=i(15910);const hV=(0,$n.u1)("themeService");var dV,cV=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},uV=function(e,t){return function(i,n){t(i,n,e)}};let gV=class extends Ae.jG{static{dV=this}static{this.ID="editor.contrib.inspectTokens"}static get(e){return e.getContribution(dV.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel((e=>this.stop()))),this._register(this._editor.onDidChangeModelLanguage((e=>this.stop()))),this._register(ka.dG.onDidChange((e=>this.stop()))),this._register(this._editor.onKeyUp((e=>9===e.keyCode&&this.stop())))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new pV(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};gV=dV=cV([uV(1,hV),uV(2,xh.L)],gV);class pV extends Ae.jG{static{this._ID="editor.contrib.inspectTokensWidget"}constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=function(e,t){const i=ka.dG.get(t);if(i)return i;const n=e.encodeLanguageId(t);return{getInitialState:()=>Nh.r3,tokenize:(e,i,n)=>(0,Nh.$H)(t,n),tokenizeEncoded:(e,t,i)=>(0,Nh.Lh)(n,i)}}(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((e=>this._compute(this._editor.getPosition())))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return pV._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let a=t.tokens1.length-1;a>=0;a--){const n=t.tokens1[a];if(e.column-1>=n.offset){i=a;break}}let n=0;for(let a=t.tokens2.length>>>1;a>=0;a--)if(e.column-1>=t.tokens2[a<<1]){n=a;break}const s=this._model.getLineContent(e.lineNumber);let o="";if(ie.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber));for(let a=t.length-2;a>=0;a--)t[a].lineNumber===t[a+1].lineNumber&&t.splice(a,1);const n=[];let s=0,o=0;const r=t.length;for(let a=1,l=e.getLineCount();a<=l;a++){const l=e.getLineContent(a),h=l.length+1;let d=0;if(o=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},vV=function(e,t){return function(i,n){t(i,n,e)}};let bV=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),n=(t,i)=>e.getLanguageIdAtPosition(t,i),s=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s)return void(this._selectionId=t.trackSelection(this._selection));if(!this._isMovingDown&&1===this._selection.startLineNumber)return void(this._selectionId=t.trackSelection(this._selection));this._moveEndPositionDown=!1;let o=this._selection;o.startLineNumbert===o.startLineNumber?e.tokenization.getLineTokens(s):e.tokenization.getLineTokens(t),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:t=>t===o.startLineNumber?e.getLineContent(s):e.getLineContent(t)},c=Jo(this._autoIndent,t,e.getLanguageIdAtPosition(s,1),o.startLineNumber,h,this._languageConfigurationService);if(null!==c){const t=Ti.UU(e.getLineContent(s)),i=nF(c,r);if(i!==nF(t,r)){const e=sF(i,r,l);d=e+this.trimStart(a)}}}t.addEditOperation(new Xs.Q(o.startLineNumber,1,o.startLineNumber,1),d+"\n");const u=this.matchEnterRuleMovingDown(e,h,r,o.startLineNumber,s,d);if(null!==u)0!==u&&this.getIndentEditsOfMovingBlock(e,t,o,r,l,u);else{const a={tokenization:{getLineTokens:t=>t===o.startLineNumber?e.tokenization.getLineTokens(s):t>=o.startLineNumber+1&&t<=o.endLineNumber+1?e.tokenization.getLineTokens(t-1):e.tokenization.getLineTokens(t),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:t=>t===o.startLineNumber?d:t>=o.startLineNumber+1&&t<=o.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)},c=Jo(this._autoIndent,a,e.getLanguageIdAtPosition(s,1),o.startLineNumber+1,h,this._languageConfigurationService);if(null!==c){const i=Ti.UU(e.getLineContent(o.startLineNumber)),n=nF(c,r),s=nF(i,r);if(n!==s){const i=n-s;this.getIndentEditsOfMovingBlock(e,t,o,r,l,i)}}}}else t.addEditOperation(new Xs.Q(o.startLineNumber,1,o.startLineNumber,1),d+"\n")}else if(s=o.startLineNumber-1,a=e.getLineContent(s),t.addEditOperation(new Xs.Q(s,1,s+1,1),null),t.addEditOperation(new Xs.Q(o.endLineNumber,e.getLineMaxColumn(o.endLineNumber),o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),"\n"+a),this.shouldAutoIndent(e,o)){const a={tokenization:{getLineTokens:t=>t===s?e.tokenization.getLineTokens(o.startLineNumber):e.tokenization.getLineTokens(t),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:t=>t===s?e.getLineContent(o.startLineNumber):e.getLineContent(t)},d=this.matchEnterRule(e,h,r,o.startLineNumber,o.startLineNumber-2);if(null!==d)0!==d&&this.getIndentEditsOfMovingBlock(e,t,o,r,l,d);else{const i=Jo(this._autoIndent,a,e.getLanguageIdAtPosition(o.startLineNumber,1),s,h,this._languageConfigurationService);if(null!==i){const n=Ti.UU(e.getLineContent(o.startLineNumber)),s=nF(i,r),a=nF(n,r);if(s!==a){const i=s-a;this.getIndentEditsOfMovingBlock(e,t,o,r,l,i)}}}}}this._selectionId=t.trackSelection(o)}buildIndentConverter(e,t,i){return{shiftIndent:n=>Qo.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>Qo.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let o=s.indentation;s.indentAction===Oo.l.None||s.indentAction===Oo.l.Indent?o=s.indentation+s.appendText:s.indentAction===Oo.l.IndentOutdent?o=s.indentation:s.indentAction===Oo.l.Outdent&&(o=t.unshiftIndent(s.indentation)+s.appendText);const r=e.getLineContent(n);if(this.trimStart(r).indexOf(this.trimStart(o))>=0){const s=Ti.UU(e.getLineContent(n));let r=Ti.UU(o);const a=er(e,n,this._languageConfigurationService);null!==a&&2&a&&(r=t.unshiftIndent(r));return nF(r,i)-nF(s,i)}}return null}matchEnterRuleMovingDown(e,t,i,n,s,o){if(Ti.lT(o)>=0){const o=e.getLineMaxColumn(s),r=Uo(this._autoIndent,e,new Xs.Q(s,o,s,o),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,r)}{let s=n-1;for(;s>=1;){const t=e.getLineContent(s);if(Ti.lT(t)>=0)break;s--}if(s<1||n>e.getLineCount())return null;const o=e.getLineMaxColumn(s),r=Uo(this._autoIndent,e,new Xs.Q(s,o,s,o),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,r)}}matchEnterRule(e,t,i,n,s,o){let r=s;for(;r>=1;){let t;t=r===s&&void 0!==o?o:e.getLineContent(r);if(Ti.lT(t)>=0)break;r--}if(r<1||n>e.getLineCount())return null;const a=e.getLineMaxColumn(r),l=Uo(this._autoIndent,e,new Xs.Q(r,a,r,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,l)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4)return!1;if(!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1);return i===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport}getIndentEditsOfMovingBlock(e,t,i,n,s,o){for(let r=i.startLineNumber;r<=i.endLineNumber;r++){const a=e.getLineContent(r),l=Ti.UU(a),h=sF(nF(l,n)+o,n,s);h!==l&&(t.addEditOperation(new Xs.Q(r,1,r,l.length+1),h),r===i.endLineNumber&&i.endColumn<=l.length+1&&""===h&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=s)return null;const o=[];for(let a=n;a<=s;a++)o.push(e.getLineContent(a));let r=o.slice(0);return r.sort(CV.getCollator().compare),!0===i&&(r=r.reverse()),{startLineNumber:n,endLineNumber:s,before:o,after:r}}class yV extends Ts{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map(((e,t)=>({selection:e,index:t,ignore:!1})));i.sort(((e,t)=>Xs.Q.compareRangesUsingStarts(e.selection,t.selection)));let n=i[0];for(let o=1;onew Gn.y(e.positionLineNumber,e.positionColumn))));const s=t.getSelection();if(null===s)return;const o=e.get(Fp.pG),r=t.getModel(),a=o.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:r?.getLanguageId(),resource:r?.uri}),l=new mV(s,n,a);t.pushUndoStop(),t.executeCommands(this.id,[l]),t.pushUndoStop()}}class xV extends Ts{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let a=0,l=n.length-1;abk.replace(e,"")));t.pushUndoStop(),t.executeEdits(this.id,r,o),t.pushUndoStop()}}class DV extends Ts{run(e,t){const i=t.getSelections();if(null===i)return;const n=t.getModel();if(null===n)return;const s=t.getOption(132),o=[];for(const r of i)if(r.isEmpty()){const e=r.getStartPosition(),i=t.getConfiguredWordAtPosition(e);if(!i)continue;const a=new Xs.Q(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),l=n.getValueInRange(a);o.push(bk.replace(a,this._modifyText(l,s)))}else{const e=n.getValueInRange(r);o.push(bk.replace(r,this._modifyText(e,s)))}t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop()}}class NV{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(e){}}return this._actual}isSupported(){return null!==this.get()}}class IV extends DV{static{this.titleBoundary=new NV("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu")}constructor(){super({id:"editor.action.transformToTitlecase",label:jn.kg("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:js.writable})}_modifyText(e,t){const i=IV.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,(e=>e.toLocaleUpperCase())):e}}class EV extends DV{static{this.caseBoundary=new NV("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new NV("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu")}constructor(){super({id:"editor.action.transformToSnakecase",label:jn.kg("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:js.writable})}_modifyText(e,t){const i=EV.caseBoundary.get(),n=EV.singleLetters.get();return i&&n?e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase():e}}class MV extends DV{static{this.wordBoundary=new NV("[_\\s-]","gm")}constructor(){super({id:"editor.action.transformToCamelcase",label:jn.kg("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:js.writable})}_modifyText(e,t){const i=MV.wordBoundary.get();if(!i)return e;const n=e.split(i);return n.shift()+n.map((e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1))).join("")}}class TV extends DV{static{this.wordBoundary=new NV("[_\\s-]","gm")}static{this.wordBoundaryToMaintain=new NV("(?<=\\.)","gm")}constructor(){super({id:"editor.action.transformToPascalcase",label:jn.kg("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:js.writable})}_modifyText(e,t){const i=TV.wordBoundary.get(),n=TV.wordBoundaryToMaintain.get();if(!i||!n)return e;return e.split(n).map((e=>e.split(i))).flat().map((e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1))).join("")}}class RV extends DV{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((e=>e.isSupported()))}static{this.caseBoundary=new NV("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new NV("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu")}static{this.underscoreBoundary=new NV("(\\S)(_)(\\S)","gm")}constructor(){super({id:"editor.action.transformToKebabcase",label:jn.kg("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:js.writable})}_modifyText(e,t){const i=RV.caseBoundary.get(),n=RV.singleLetters.get(),s=RV.underscoreBoundary.get();return i&&n&&s?e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase():e}}Fs(class extends yV{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:jn.kg("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:_s.MenubarSelectionMenu,group:"2_line",title:jn.kg({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}),Fs(class extends yV{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:jn.kg("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:_s.MenubarSelectionMenu,group:"2_line",title:jn.kg({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}),Fs(class extends Ts{constructor(){super({id:"editor.action.duplicateSelection",label:jn.kg("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:js.writable,menuOpts:{menuId:_s.MenubarSelectionMenu,group:"2_line",title:jn.kg({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(e,t,i){if(!t.hasModel())return;const n=[],s=t.getSelections(),o=t.getModel();for(const r of s)if(r.isEmpty())n.push(new fV(r,!0));else{const e=new $s.L(r.endLineNumber,r.endColumn,r.endLineNumber,r.endColumn);n.push(new yo(e,o.getValueInRange(r)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}),Fs(class extends SV{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:jn.kg("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:_s.MenubarSelectionMenu,group:"2_line",title:jn.kg({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}),Fs(class extends SV{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:jn.kg("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:_s.MenubarSelectionMenu,group:"2_line",title:jn.kg({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}),Fs(class extends kV{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:jn.kg("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:js.writable})}}),Fs(class extends kV{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:jn.kg("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:js.writable})}}),Fs(class extends Ts{constructor(){super({id:"editor.action.removeDuplicateLines",label:jn.kg("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:js.writable})}run(e,t){if(!t.hasModel())return;const i=t.getModel();if(1===i.getLineCount()&&1===i.getLineMaxColumn(1))return;const n=[],s=[];let o=0,r=!0,a=t.getSelections();1===a.length&&a[0].isEmpty()&&(a=[new $s.L(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],r=!1);for(const l of a){const e=new Set,t=[];for(let n=l.startLineNumber;n<=l.endLineNumber;n++){const s=i.getLineContent(n);e.has(s)||(t.push(s),e.add(s))}const r=new $s.L(l.startLineNumber,1,l.endLineNumber,i.getLineMaxColumn(l.endLineNumber)),a=l.startLineNumber-o,h=new $s.L(a,1,a+t.length-1,t[t.length-1].length);n.push(bk.replace(r,t.join("\n"))),s.push(h),o+=l.endLineNumber-l.startLineNumber+1-t.length}t.pushUndoStop(),t.executeEdits(this.id,n,r?s:void 0),t.pushUndoStop()}}),Fs(LV),Fs(class extends Ts{constructor(){super({id:"editor.action.deleteLines",label:jn.kg("lines.delete","Delete Line"),alias:"Delete Line",precondition:js.writable,kbOpts:{kbExpr:js.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),n=t.getModel();if(1===n.getLineCount()&&1===n.getLineMaxColumn(1))return;let s=0;const o=[],r=[];for(let a=0,l=i.length;a1&&(t-=1,h=n.getLineMaxColumn(t)),o.push(bk.replace(new $s.L(t,h,l,d),"")),r.push(new $s.L(t-s,e.positionColumn,t-s,e.positionColumn)),s+=e.endLineNumber-e.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,o,r),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map((e=>{let t=e.endLineNumber;return e.startLineNumbere.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber));const i=[];let n=t[0];for(let s=1;s=t[s].startLineNumber?n.endLineNumber=t[s].endLineNumber:(i.push(n),n=t[s]);return i.push(n),i}}),Fs(class extends Ts{constructor(){super({id:"editor.action.indentLines",label:jn.kg("lines.indent","Indent Line"),alias:"Indent Line",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Lr.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}),Fs(class extends Ts{constructor(){super({id:"editor.action.outdentLines",label:jn.kg("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:2140,weight:100}})}run(e,t){Pr.Outdent.runEditorCommand(e,t,null)}}),Fs(class extends Ts{constructor(){super({id:"editor.action.insertLineBefore",label:jn.kg("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,lr.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}),Fs(class extends Ts{constructor(){super({id:"editor.action.insertLineAfter",label:jn.kg("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,lr.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}),Fs(class extends xV{constructor(){super({id:"deleteAllLeft",label:jn.kg("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:js.writable,kbOpts:{kbExpr:js.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];let s=0;return t.forEach((t=>{let o;if(1===t.endColumn&&s>0){const e=t.startLineNumber-s;o=new $s.L(e,t.startColumn,e,t.startColumn)}else o=new $s.L(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);s+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?i=o:n.push(o)})),i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getSelections();if(null===t)return[];let i=t;const n=e.getModel();return null===n?[]:(i.sort(Xs.Q.compareRangesUsingStarts),i=i.map((e=>{if(e.isEmpty()){if(1===e.startColumn){const t=Math.max(1,e.startLineNumber-1),i=1===e.startLineNumber?1:n.getLineLength(t)+1;return new Xs.Q(t,i,e.startLineNumber,1)}return new Xs.Q(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new Xs.Q(e.startLineNumber,1,e.endLineNumber,e.endColumn)})),i)}}),Fs(class extends xV{constructor(){super({id:"deleteAllRight",label:jn.kg("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:js.writable,kbOpts:{kbExpr:js.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];for(let s=0,o=t.length,r=0;s{if(e.isEmpty()){const i=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===i?new Xs.Q(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new Xs.Q(e.startLineNumber,e.startColumn,e.startLineNumber,i)}return e}));return n.sort(Xs.Q.compareRangesUsingStarts),n}}),Fs(class extends Ts{constructor(){super({id:"editor.action.joinLines",label:jn.kg("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:js.writable,kbOpts:{kbExpr:js.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(null===i)return;let n=t.getSelection();if(null===n)return;i.sort(Xs.Q.compareRangesUsingStarts);const s=[],o=i.reduce(((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(n.equalsSelection(e)&&(n=t),t):t.startLineNumber>e.endLineNumber+1?(s.push(e),t):new $s.L(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(s.push(e),t):new $s.L(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)));s.push(o);const r=t.getModel();if(null===r)return;const a=[],l=[];let h=n,d=0;for(let c=0,u=s.length;c=1){let i=!0;""===m&&(i=!1),!i||" "!==m.charAt(m.length-1)&&"\t"!==m.charAt(m.length-1)||(i=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g," "));const n=e.substr(t-1);m+=(i?" ":"")+n,g=i?n.length+1:n.length}else g=0}const f=new Xs.Q(t,i,o,u);if(!f.isEmpty()){let i;e.isEmpty()?(a.push(bk.replace(f,m)),i=new $s.L(f.startLineNumber-d,m.length-g+1,t-d,m.length-g+1)):e.startLineNumber===e.endLineNumber?(a.push(bk.replace(f,m)),i=new $s.L(e.startLineNumber-d,e.startColumn,e.endLineNumber-d,e.endColumn)):(a.push(bk.replace(f,m)),i=new $s.L(e.startLineNumber-d,e.startColumn,e.startLineNumber-d,m.length-p)),null!==Xs.Q.intersectRanges(f,n)?h=i:l.push(i)}d+=f.endLineNumber-f.startLineNumber}l.unshift(h),t.pushUndoStop(),t.executeEdits(this.id,a,l),t.pushUndoStop()}}),Fs(class extends Ts{constructor(){super({id:"editor.action.transpose",label:jn.kg("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:js.writable})}run(e,t){const i=t.getSelections();if(null===i)return;const n=t.getModel();if(null===n)return;const s=[];for(let o=0,r=i.length;o=r){if(t.lineNumber===n.getLineCount())continue;const e=new Xs.Q(t.lineNumber,Math.max(1,t.column-1),t.lineNumber+1,1),i=n.getValueInRange(e).split("").reverse().join("");s.push(new wo(new $s.L(t.lineNumber,Math.max(1,t.column-1),t.lineNumber+1,1),i))}else{const e=new Xs.Q(t.lineNumber,Math.max(1,t.column-1),t.lineNumber,t.column+1),i=n.getValueInRange(e).split("").reverse().join("");s.push(new Lo(e,i,new $s.L(t.lineNumber,t.column+1,t.lineNumber,t.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}),Fs(class extends DV{constructor(){super({id:"editor.action.transformToUppercase",label:jn.kg("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:js.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}),Fs(class extends DV{constructor(){super({id:"editor.action.transformToLowercase",label:jn.kg("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:js.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}),EV.caseBoundary.isSupported()&&EV.singleLetters.isSupported()&&Fs(EV),MV.wordBoundary.isSupported()&&Fs(MV),TV.wordBoundary.isSupported()&&Fs(TV),IV.titleBoundary.isSupported()&&Fs(IV),RV.isSupported()&&Fs(RV);var AV,PV=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},OV=function(e,t){return function(i,n){t(i,n,e)}};const FV=new ls.N1("LinkedEditingInputVisible",!1);let WV=class extends Ae.jG{static{AV=this}static{this.ID="editor.contrib.linkedEditing"}static{this.DECORATION=eo.kI.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"})}static get(e){return e.getContribution(AV.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new Ae.Cm),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=FV.bindTo(t),this._debounceInformation=s.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new Ae.Cm),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel((()=>this.reinitialize(!0)))),this._register(this._editor.onDidChangeConfiguration((e=>{(e.hasChanged(70)||e.hasChanged(94))&&this.reinitialize(!1)}))),this._register(this._providers.onDidChange((()=>this.reinitialize(!1)))),this._register(this._editor.onDidChangeModelLanguage((()=>this.reinitialize(!0)))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=null!==t&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(t);if(i===this._enabled&&!e)return;if(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||null===t)return;this._localToDispose.add(P.Jh.runAndSubscribe(t.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()})));const n=new A.ve(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger((()=>this.updateRanges()),this._debounceDuration??this._debounceInformation.get(t))},o=new A.ve(0),r=e=>{this._rangeSyncTriggerPromise=o.trigger((()=>this._syncRanges(e)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{s()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((e=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&e.changes.every((e=>t.intersectRanges(e.range))))return void r(this._syncRangesToken)}s()}))),this._localToDispose.add({dispose:()=>{n.dispose(),o.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||0===this._currentDecorations.length)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const n=t.getValueInRange(i);if(this._currentWordPattern){const e=n.match(this._currentWordPattern);if((e?e[0].length:0)!==n.length)return this.clearRanges()}const s=[];for(let o=1,r=this._currentDecorations.length;o1)return void this.clearRanges();const i=this._editor.getModel(),n=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===n){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const e=this._currentDecorations.getRange(0);if(e&&e.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=n;const s=this._currentRequestCts=new na.Qi;try{const e=new Hp.W(!1),o=await BV(this._providers,i,t,s.token);if(this._debounceInformation.update(i,e.elapsed()),s!==this._currentRequestCts)return;if(this._currentRequestCts=null,n!==i.getVersionId())return;let r=[];o?.ranges&&(r=o.ranges),this._currentWordPattern=o?.wordPattern||this._languageWordPattern;let a=!1;for(let i=0,n=r.length;i({range:e,options:AV.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(l),this._syncRangesToken++}catch(o){(0,b.MB)(o)||(0,b.dz)(o),this._currentRequestCts!==s&&this._currentRequestCts||this.clearRanges()}}};WV=AV=PV([OV(1,ls.fN),OV(2,La.ILanguageFeaturesService),OV(3,Fo.JZ),OV(4,Mw.ILanguageFeatureDebounceService)],WV);function BV(e,t,i,n){const s=e.ordered(t);return(0,A.$1)(s.map((e=>async()=>{try{return await e.provideLinkedEditingRanges(t,i,n)}catch(s){return void(0,b.M_)(s)}})),(e=>!!e&&ia.EI(e?.ranges)))}Os(new(Ms.bindToContribution(WV.get))({id:"cancelLinkedEditingInput",precondition:FV,handler:e=>e.clearRanges(),kbOpts:{kbExpr:js.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));(0,to.x1A)("editor.linkedEditingBackground",{dark:hd.Q1.fromHex("#f00").transparent(.3),light:hd.Q1.fromHex("#f00").transparent(.3),hcDark:hd.Q1.fromHex("#f00").transparent(.3),hcLight:hd.Q1.white},jn.kg("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Ps("_executeLinkedEditingProvider",((e,t,i)=>{const{linkedEditingRangeProvider:n}=e.get(La.ILanguageFeaturesService);return BV(n,t,i,na.XO.None)})),Bs(WV.ID,WV,1),Fs(class extends Ts{constructor(){super({id:"editor.action.linkedEditing",label:jn.kg("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:ls.M$.and(js.writable,js.hasRenameProvider),kbOpts:{kbExpr:js.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(qn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Bn.r.isUri(n)&&Gn.y.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(s),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),b.dz):super.runCommand(e,t)}run(e,t){const i=WV.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}});class HV{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,e)).then((t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing"))))):Promise.reject(new Error("missing"))}}class VV{constructor(e){this._disposables=new Ae.Cm;let t=[];for(const[i,n]of e){const e=i.links.map((e=>new HV(e,n)));t=VV._union(t,e),(0,Ae.Xm)(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let n,s,o,r;for(n=0,o=0,s=e.length,r=t.length;nPromise.resolve(e.provideLinks(t,i)).then((t=>{t&&(n[s]=[t,e])}),b.M_)));return Promise.all(s).then((()=>{const e=new VV((0,ia.Yc)(n));return i.isCancellationRequested?(e.dispose(),new VV([])):e}))}as.registerCommand("_executeLinkProvider",(async(e,...t)=>{let[i,n]=t;(0,os.j)(i instanceof Bn.r),"number"!=typeof n&&(n=0);const{linkProvider:s}=e.get(La.ILanguageFeaturesService),o=e.get(Qn.IModelService).getModel(i);if(!o)return[];const r=await zV(s,o,na.XO.None);if(!r)return[];for(let l=0;l=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},jV=function(e,t){return function(i,n){t(i,n,e)}};let $V=class extends Ae.jG{static{UV=this}static{this.ID="editor.linkDetector"}static get(e){return e.getContribution(UV.ID)}constructor(e,t,i,n,s){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=n,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=s.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new A.uC((()=>this.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const o=this._register(new Lk(e));this._register(o.onMouseMoveOrRelevantKeyDown((([e,t])=>{this._onEditorMouseMove(e,t)}))),this._register(o.onExecute((e=>{this.onEditorMouseUp(e)}))),this._register(o.onCancel((e=>{this.cleanUpActiveLinkDecoration()}))),this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(e.onDidChangeModelContent((e=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(e.onDidChangeModel((e=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(e.onDidChangeModelLanguage((e=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((e=>{this.stop(),this.computeLinks.schedule(0)}))),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=(0,A.SS)((t=>zV(this.providers,e,t)));try{const t=new Hp.W(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){(0,b.dz)(t)}finally{this.computePromise=null}}}updateDecorations(e){const t="altKey"===this.editor.getOption(78),i=[],n=Object.keys(this.currentOccurrences);for(const o of n){const e=this.currentOccurrences[o];i.push(e.decorationId)}const s=[];if(e)for(const o of e)s.push(QV.decoration(o,t));this.editor.changeDecorations((t=>{const n=t.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let i=0,s=n.length;i{t.activate(e,i),this.activeLinkDecorationId=t.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e="altKey"===this.editor.getOption(78);if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations((i=>{t.deactivate(i,e)})),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:n}=e;n.resolve(na.XO.None).then((e=>{if("string"==typeof e&&this.editor.hasModel()){const t=this.editor.getModel().uri;if(t.scheme===Pe.ny.file&&e.startsWith(`${Pe.ny.file}:`)){const i=Bn.r.parse(e);if(i.scheme===Pe.ny.file){const n=Wn.su(i);let s=null;n.startsWith("/./")||n.startsWith("\\.\\")?s=`.${n.substr(1)}`:(n.startsWith("//./")||n.startsWith("\\\\.\\"))&&(s=`.${n.substr(2)}`),s&&(e=Wn.uJ(t,s))}}}return this.openerService.open(e,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(e=>{const t=e instanceof Error?e.message:e;"invalid"===t?this.notificationService.warn(jn.kg("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):"missing"===t?this.notificationService.warn(jn.kg("missing.url","Failed to open this link because its target is missing.")):(0,b.dz)(e)}))}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const e=this.currentOccurrences[i.id];if(e)return e}return null}isEnabled(e,t){return Boolean(6===e.target.type&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){this.computeLinks.cancel(),this.activeLinksList&&(this.activeLinksList?.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};$V=UV=KV([jV(1,Th),jV(2,yd),jV(3,La.ILanguageFeaturesService),jV(4,Mw.ILanguageFeatureDebounceService)],$V);const qV=eo.kI.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),GV=eo.kI.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"});class QV{static decoration(e,t){return{range:e.range,options:QV._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?GV:qV};return n.hoverMessage=function(e,t){const i=e.url&&/^command:/i.test(e.url.toString()),n=e.tooltip?e.tooltip:i?jn.kg("links.navigate.executeCmd","Execute command"):jn.kg("links.navigate.follow","Follow link"),s=t?f.zx?jn.kg("links.navigate.kb.meta.mac","cmd + click"):jn.kg("links.navigate.kb.meta","ctrl + click"):f.zx?jn.kg("links.navigate.kb.alt.mac","option + click"):jn.kg("links.navigate.kb.alt","alt + click");if(e.url){let t="";if(/^command:/i.test(e.url.toString())){const i=e.url.toString().match(/^command:([^?#]+)/);if(i){const e=i[1];t=jn.kg("tooltip.explanation","Execute command {0}",e)}}return new Hn("",!0).appendLink(e.url.toString(!0).replace(/ /g,"%20"),n,t).appendMarkdown(` (${s})`)}return(new Hn).appendText(`${n} (${s})`)}(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,QV._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,QV._getOptions(this.link,t,!1))}}Bs($V.ID,$V,1),Fs(class extends Ts{constructor(){super({id:"editor.action.openLink",label:jn.kg("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=$V.get(t);if(!i)return;if(!t.hasModel())return;const n=t.getSelections();for(const s of n){const e=i.getLinkOccurrence(s.getEndPosition());e&&i.openLinkOccurrence(e,!1)}}});class YV extends Ae.jG{static{this.ID="editor.contrib.longLinesHelper"}constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown((e=>{const t=this._editor.getOption(118);t>=0&&6===e.target.type&&e.target.position.column>=t&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}Bs(YV.ID,YV,2);const ZV=(0,to.x1A)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},jn.kg("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);(0,to.x1A)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},jn.kg("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),(0,to.x1A)("editor.wordHighlightTextBackground",ZV,jn.kg("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const XV=(0,to.x1A)("editor.wordHighlightBorder",{light:null,dark:null,hcDark:to.buw,hcLight:to.buw},jn.kg("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));(0,to.x1A)("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:to.buw,hcLight:to.buw},jn.kg("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),(0,to.x1A)("editor.wordHighlightTextBorder",XV,jn.kg("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const JV=(0,to.x1A)("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",jn.kg("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),ez=(0,to.x1A)("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",jn.kg("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),tz=(0,to.x1A)("editorOverviewRuler.wordHighlightTextForeground",to.z5H,jn.kg("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),iz=eo.kI.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:(0,io.Yf)(ez),position:Js.A5.Center},minimap:{color:(0,io.Yf)(to.Xp1),position:1}}),nz=eo.kI.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:(0,io.Yf)(tz),position:Js.A5.Center},minimap:{color:(0,io.Yf)(to.Xp1),position:1}}),sz=eo.kI.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:(0,io.Yf)(to.z5H),position:Js.A5.Center},minimap:{color:(0,io.Yf)(to.Xp1),position:1}}),oz=eo.kI.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),rz=eo.kI.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:(0,io.Yf)(JV),position:Js.A5.Center},minimap:{color:(0,io.Yf)(to.Xp1),position:1}});function az(e){return e?oz:sz}(0,io.zy)(((e,t)=>{const i=e.getColor(to.QwA);i&&t.addRule(`.monaco-editor .selectionHighlight { background-color: ${i.transparent(.5)}; }`)}));var lz,hz=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},dz=function(e,t){return function(i,n){t(i,n,e)}};function cz(e,t){const i=t.filter((t=>!e.find((e=>e.equals(t)))));if(i.length>=1){const e=i.map((e=>`line ${e.viewState.position.lineNumber} column ${e.viewState.position.column}`)).join(", ");wi(1===i.length?jn.kg("cursorAdded","Cursor added: {0}",e):jn.kg("cursorsAdded","Cursors added: {0}",e))}}class uz{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class gz{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new gz(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let n,s,o=!1;const r=e.getSelections();1===r.length&&r[0].isEmpty()?(o=!0,n=!0,s=!0):(n=i.wholeWord,s=i.matchCase);const a=e.getSelection();let l,h=null;if(a.isEmpty()){const t=e.getConfiguredWordAtPosition(a.getStartPosition());if(!t)return null;l=t.word,h=new $s.L(a.startLineNumber,t.startColumn,a.startLineNumber,t.endColumn)}else l=e.getModel().getValueInRange(a).replace(/\r\n/g,"\n");return new gz(e,t,o,l,n,s,h)}constructor(e,t,i,n,s,o,r){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=s,this.matchCase=o,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new uz(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new uz(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new $s.L(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new uz(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new uz(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new $s.L(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}class pz extends Ae.jG{static{this.ID="editor.contrib.multiCursorController"}static get(e){return e.getContribution(pz.ID)}constructor(e){super(),this._sessionDispose=this._register(new Ae.Cm),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=gz.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((e=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(e.getState().onFindReplaceStateChange((e=>{(e.matchCase||e.wholeWord)&&this._endSession()})))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new $s.L(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const i=e.getState().matchCase;if(!vz(this._editor.getModel(),t,i)){const e=this._editor.getModel(),i=[];for(let n=0,s=t.length;n0&&i.isRegex){const e=this._editor.getModel();t=i.searchScope?e.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):e.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const e=this._editor.getSelection();for(let i=0,n=t.length;inew $s.L(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn))))}}}class mz extends Ts{run(e,t){const i=pz.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),o=EA.get(t);if(o)this._run(i,o);else{const n=e.get($n._Y).createInstance(EA,t);this._run(i,n),n.dispose()}cz(s,n.getCursorStates())}}}class fz{constructor(e,t,i,n,s){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=n,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,s&&this._model===s._model&&this._searchText===s._searchText&&this._matchCase===s._matchCase&&this._wordSeparators===s._wordSeparators&&this._modelVersionId===s._modelVersionId&&(this._cachedFindMatches=s._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((e=>e.range)),this._cachedFindMatches.sort(Xs.Q.compareRangesUsingStarts)),this._cachedFindMatches}}let _z=class extends Ae.jG{static{lz=this}static{this.ID="editor.contrib.selectionHighlighter"}constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new A.uC((()=>this._update()),300)),this.state=null,this._register(e.onDidChangeConfiguration((t=>{this._isEnabled=e.getOption(109)}))),this._register(e.onDidChangeCursorSelection((e=>{this._isEnabled&&(e.selection.isEmpty()?3===e.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(e.onDidChangeModel((e=>{this._setState(null)}))),this._register(e.onDidChangeModelContent((e=>{this._isEnabled&&this.updateSoon.schedule()})));const i=EA.get(e);i&&this._register(i.getState().onFindReplaceStateChange((e=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState(lz._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t)return null;if(!i.hasModel())return null;const n=i.getSelection();if(n.startLineNumber!==n.endLineNumber)return null;const s=pz.get(i);if(!s)return null;const o=EA.get(i);if(!o)return null;let r=s.getSession(o);if(!r){const e=i.getSelections();if(e.length>1){const t=o.getState().matchCase;if(!vz(i.getModel(),e,t))return null}r=gz.create(i,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const a=o.getState(),l=a.matchCase;if(a.isRevealed){let e=a.searchString;l||(e=e.toLowerCase());let t=r.searchText;if(l||(t=t.toLowerCase()),e===t&&r.matchCase===a.matchCase&&r.wholeWord===a.wholeWord&&!a.isRegex)return null}return new fz(i.getModel(),r.searchText,r.matchCase,r.wholeWord?i.getOption(132):null,e)}_setState(e){if(this.state=e,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),n=this.editor.getSelections();n.sort(Xs.Q.compareRangesUsingStarts);const s=[];for(let l=0,h=0,d=i.length,c=n.length;l=c)s.push(e),l++;else{const t=Xs.Q.compareRangesUsingStarts(e,n[h]);t<0?(!n[h].isEmpty()&&Xs.Q.areIntersecting(e,n[h])||s.push(e),l++):(t>0||l++,h++)}}const o="off"!==this.editor.getOption(81),r=this._languageFeaturesService.documentHighlightProvider.has(t)&&o,a=s.map((e=>({range:e,options:az(r)})));this._decorations.set(a)}dispose(){this._setState(null),super.dispose()}};function vz(e,t,i){const n=bz(e,t[0],!i);for(let s=1,o=t.length;s1&&i.push(new $s.L(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections(),s=t._getViewModel(),o=s.getCursorStates(),r=[];n.forEach((e=>this.getCursorsForSelection(e,i,r))),r.length>0&&t.setSelections(r),cz(o,s.getCursorStates())}}),Fs(class extends mz{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:jn.kg("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:2082,weight:100},menuOpts:{menuId:_s.MenubarSelectionMenu,group:"3_multi",title:jn.kg({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}),Fs(class extends mz{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:jn.kg("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:_s.MenubarSelectionMenu,group:"3_multi",title:jn.kg({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}),Fs(class extends mz{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:jn.kg("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:(0,v.m5)(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}),Fs(class extends mz{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:jn.kg("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}),Fs(class extends mz{constructor(){super({id:"editor.action.selectHighlights",label:jn.kg("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:3114,weight:100},menuOpts:{menuId:_s.MenubarSelectionMenu,group:"3_multi",title:jn.kg({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}),Fs(class extends mz{constructor(){super({id:"editor.action.changeAll",label:jn.kg("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:ls.M$.and(js.writable,js.editorTextFocus),kbOpts:{kbExpr:js.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}),Fs(class extends Ts{constructor(){super({id:"editor.action.addCursorsToBottom",label:jn.kg("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=t.getModel().getLineCount(),s=[];for(let a=i[0].startLineNumber;a<=n;a++)s.push(new $s.L(a,i[0].startColumn,a,i[0].endColumn));const o=t._getViewModel(),r=o.getCursorStates();s.length>0&&t.setSelections(s),cz(r,o.getCursorStates())}}),Fs(class extends Ts{constructor(){super({id:"editor.action.addCursorsToTop",label:jn.kg("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=[];for(let r=i[0].startLineNumber;r>=1;r--)n.push(new $s.L(r,i[0].startColumn,r,i[0].endColumn));const s=t._getViewModel(),o=s.getCursorStates();n.length>0&&t.setSelections(n),cz(o,s.getCursorStates())}}),Fs(class extends Ts{constructor(){super({id:"editor.action.focusNextCursor",label:jn.kg("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:jn.kg("mutlicursor.focusNextCursor.description","Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),o=s.shift();o&&(s.push(o),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),cz(s,n.getCursorStates()))}}),Fs(class extends Ts{constructor(){super({id:"editor.action.focusPreviousCursor",label:jn.kg("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:jn.kg("mutlicursor.focusPreviousCursor.description","Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),o=s.pop();o&&(s.unshift(o),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),cz(s,n.getCursorStates()))}});const Cz={Visible:new ls.N1("parameterHintsVisible",!1),MultipleSignatures:new ls.N1("parameterHintsMultipleSignatures",!1)};async function wz(e,t,i,n,s){const o=e.ordered(t);for(const a of o)try{const e=await a.provideSignatureHelp(t,i,s,n);if(e)return e}catch(r){(0,b.M_)(r)}}var yz;as.registerCommand("_executeSignatureHelpProvider",(async(e,...t)=>{const[i,n,s]=t;(0,os.j)(Bn.r.isUri(i)),(0,os.j)(Gn.y.isIPosition(n)),(0,os.j)("string"==typeof s||!s);const o=e.get(La.ILanguageFeaturesService),r=await e.get(Yn.ITextModelService).createModelReference(i);try{const e=await wz(o.signatureHelpProvider,r.object.textEditorModel,Gn.y.lift(n),{triggerKind:ka.WA.Invoke,isRetrigger:!1,triggerCharacter:s},na.XO.None);if(!e)return;return setTimeout((()=>e.dispose()),0),e.value}finally{r.dispose()}})),function(e){e.Default={type:0};e.Pending=class{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}};e.Active=class{constructor(e){this.hints=e,this.type=1}}}(yz||(yz={}));class Sz extends Ae.jG{static{this.DEFAULT_DELAY=120}constructor(e,t,i=Sz.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new P.vl),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=yz.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Ae.HE),this.triggerChars=new gb.y,this.retriggerChars=new gb.y,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new A.ve(i),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((e=>this.onCursorChange(e)))),this._register(this.editor.onDidChangeModelContent((e=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((e=>this.onDidType(e)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){2===this._state.type&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=yz.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger((()=>this.doTrigger(n)),t).catch(b.dz)}next(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e==e-1,n=this.editor.getOption(86).cycle;!(e<2||i)||n?this.updateActiveSignature(i&&n?0:t+1):this.cancel()}previous(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=0===t,n=this.editor.getOption(86).cycle;!(e<2||i)||n?this.updateActiveSignature(i&&n?e-1:t-1):this.cancel()}updateActiveSignature(e){1===this.state.type&&(this.state=new yz.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=1===this.state.type||2===this.state.type,i=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const n=this._pendingTriggers.reduce(kz);this._pendingTriggers=[];const s={triggerKind:n.triggerKind,triggerCharacter:n.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const o=this.editor.getModel(),r=this.editor.getPosition();this.state=new yz.Pending((0,A.SS)((e=>wz(this.providers,o,r,s,e))),i);try{const t=await this.state.request;return e!==this.triggerId?(t?.dispose(),!1):t&&t.value.signatures&&0!==t.value.signatures.length?(this.state=new yz.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(t?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(a){return e===this.triggerId&&(this.state=yz.Default),(0,b.dz)(a),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const e of t.signatureHelpTriggerCharacters||[])if(e.length){const t=e.charCodeAt(0);this.triggerChars.add(t),this.retriggerChars.add(t)}for(const e of t.signatureHelpRetriggerCharacters||[])e.length&&this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:ka.WA.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){"mouse"===e.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:ka.WA.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:ka.WA.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function kz(e,t){switch(t.triggerKind){case ka.WA.Invoke:return t;case ka.WA.ContentChange:return e;case ka.WA.TriggerCharacter:default:return t}}var Lz,xz=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Dz=function(e,t){return function(i,n){t(i,n,e)}};const Nz=ei,Iz=mu("parameter-hints-next",vl.W.chevronDown,jn.kg("parameterHintsNextIcon","Icon for show next parameter hint.")),Ez=mu("parameter-hints-previous",vl.W.chevronUp,jn.kg("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let Mz=class extends Ae.jG{static{Lz=this}static{this.ID="editor.widget.parameterHintsWidget"}constructor(e,t,i,n,s,o){super(),this.editor=e,this.model=t,this.telemetryService=o,this.renderDisposeables=this._register(new Ae.Cm),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Oh({editor:e},s,n)),this.keyVisible=Cz.Visible.bindTo(i),this.keyMultipleSignatures=Cz.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Nz(".editor-widget.parameter-hints-widget"),t=Gt(e,Nz(".phwrapper"));t.tabIndex=-1;const i=Gt(t,Nz(".controls")),n=Gt(i,Nz(".button"+In.L.asCSSSelector(Ez))),s=Gt(i,Nz(".overloads")),o=Gt(i,Nz(".button"+In.L.asCSSSelector(Iz)));this._register(Ye(n,"click",(e=>{jt(e),this.previous()}))),this._register(Ye(o,"click",(e=>{jt(e),this.next()})));const r=Nz(".body"),a=new Ju(r,{alwaysConsumeMouseWheel:!0});this._register(a),t.appendChild(a.getDomNode());const l=Gt(r,Nz(".signature")),h=Gt(r,Nz(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:l,overloads:s,docs:h,scrollbar:a},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((e=>{this.visible&&this.editor.layoutContentWidget(this)})));const d=()=>{if(!this.domNodes)return;const e=this.editor.getOption(50),t=this.domNodes.element;t.style.fontSize=`${e.fontSize}px`,t.style.lineHeight=""+e.lineHeight/e.fontSize,t.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",e.fontFamily),t.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",Ic.fontFamily)};d(),this._register(P.Jh.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(e=>e.filter((e=>e.hasChanged(50)))))(d)),this._register(this.editor.onDidLayoutChange((e=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{this.domNodes?.element.classList.add("visible")}),100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const n=Gt(this.domNodes.signature,Nz(".code")),s=i.parameters.length>0,o=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,o);else{Gt(n,Nz("span")).textContent=i.label}const r=i.parameters[o];if(r?.documentation){const e=Nz("span.documentation");if("string"==typeof r.documentation)e.textContent=r.documentation;else{const t=this.renderMarkdownDocs(r.documentation);e.appendChild(t.element)}Gt(this.domNodes.docs,Nz("p",{},e))}if(void 0===i.documentation);else if("string"==typeof i.documentation)Gt(this.domNodes.docs,Nz("p",{},i.documentation));else{const e=this.renderMarkdownDocs(i.documentation);Gt(this.domNodes.docs,e.element)}const a=this.hasDocs(i,r);if(this.domNodes.signature.classList.toggle("has-docs",a),this.domNodes.docs.classList.toggle("empty",!a),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,r){let e="";const t=i.parameters[o];e=Array.isArray(t.label)?i.label.substring(t.label[0],t.label[1]):t.label,t.documentation&&(e+="string"==typeof t.documentation?`, ${t.documentation}`:`, ${t.documentation.value}`),i.documentation&&(e+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==e&&(Ci(jn.kg("hint","{0}, hint",e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new Hp.W,i=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));i.element.classList.add("markdown-docs");const n=t.elapsed();return n>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:n}),i}hasDocs(e,t){return!!(t&&"string"==typeof t.documentation&&(0,os.eU)(t.documentation).length>0)||(!!(t&&"object"==typeof t.documentation&&(0,os.eU)(t.documentation).value.length>0)||(!!(e.documentation&&"string"==typeof e.documentation&&(0,os.eU)(e.documentation).length>0)||!!(e.documentation&&"object"==typeof e.documentation&&(0,os.eU)(e.documentation.value).length>0)))}renderParameters(e,t,i){const[n,s]=this.getParameterLabelOffsets(t,i),o=document.createElement("span");o.textContent=t.label.substring(0,n);const r=document.createElement("span");r.textContent=t.label.substring(n,s),r.className="parameter active";const a=document.createElement("span");a.textContent=t.label.substring(s),Gt(e,o,r,a)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const t=new RegExp(`(\\W|^)${(0,Ti.bm)(i.label)}(?=\\W|$)`,"g");t.test(e.label);const n=t.lastIndex-i.label.length;return n>=0?[n,t.lastIndex]:[0,0]}return[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Lz.ID}updateMaxHeight(){if(!this.domNodes)return;const e=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=e;const t=this.domNodes.element.getElementsByClassName("phwrapper");t.length&&(t[0].style.maxHeight=e)}};Mz=Lz=xz([Dz(2,ls.fN),Dz(3,Th),Dz(4,xh.L),Dz(5,Ls)],Mz),(0,to.x1A)("editorHoverWidget.highlightForeground",to.QI5,jn.kg("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var Tz,Rz=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Az=function(e,t){return function(i,n){t(i,n,e)}};let Pz=class extends Ae.jG{static{Tz=this}static{this.ID="editor.controller.parameterHints"}static get(e){return e.getContribution(Tz.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Sz(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints((e=>{e?(this.widget.value.show(),this.widget.value.render(e)):this.widget.rawValue?.hide()}))),this.widget=new Pl.d((()=>this._register(t.createInstance(Mz,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(e){this.model.trigger(e,0)}};Pz=Tz=Rz([Az(1,$n._Y),Az(2,La.ILanguageFeaturesService)],Pz);Bs(Pz.ID,Pz,2),Fs(class extends Ts{constructor(){super({id:"editor.action.triggerParameterHints",label:jn.kg("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:js.hasSignatureHelpProvider,kbOpts:{kbExpr:js.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Pz.get(t);i?.trigger({triggerKind:ka.WA.Invoke})}});const Oz=Ms.bindToContribution(Pz.get);Os(new Oz({id:"closeParameterHints",precondition:Cz.Visible,handler:e=>e.cancel(),kbOpts:{weight:175,kbExpr:js.focus,primary:9,secondary:[1033]}})),Os(new Oz({id:"showPrevParameterHint",precondition:ls.M$.and(Cz.Visible,Cz.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:175,kbExpr:js.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Os(new Oz({id:"showNextParameterHint",precondition:ls.M$.and(Cz.Visible,Cz.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:175,kbExpr:js.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var Fz=i(87676),Wz=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Bz=function(e,t){return function(i,n){t(i,n,e)}};class Hz{constructor(e){this.instantiationService=e}init(...e){}}let Vz=class extends Hz{constructor(e,t){super(t),this.init(e)}};var zz;Vz=Wz([Bz(1,$n._Y)],Vz),Bs(VH.ID,(zz=()=>VH,KE()?function(e,t){return class extends t{constructor(){super(...arguments),this._autorun=void 0}init(...t){this._autorun=(0,mg.yC)(((i,n)=>{const s=qE(e(),i);n.add(this.instantiationService.createInstance(s,...t))}))}dispose(){this._autorun?.dispose()}}}(zz,Vz):zz()),0),(0,Fz.x1)("editor.placeholder.foreground",Zf.Ek,(0,jn.kg)("placeholderForeground","Foreground color of the placeholder text in the editor."));class Uz{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),n=new Map,s=[];for(const[o,r]of this.documents){if(t.isCancellationRequested)return[];for(const e of r.chunks){const t=this.computeSimilarityScore(e,i,n);t>0&&s.push({key:o,score:t})}}return s}static termFrequencies(e){return function(e){const t=new Map;for(const i of e)t.set(i,(t.get(i)??0)+1);return t}(Uz.splitTerms(e))}static*splitTerms(e){const t=e=>e.toLowerCase();for(const[i]of e.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield t(i);const e=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(e.length>1)for(const i of e)i.length>2&&/\p{Letter}{3,}/gu.test(i)&&(yield t(i))}}updateDocuments(e){for(const{key:t}of e)this.deleteDocument(t);for(const t of e){const e=[];for(const i of t.textChunks){const t=Uz.termFrequencies(i);for(const e of t.keys())this.chunkOccurrences.set(e,(this.chunkOccurrences.get(e)??0)+1);e.push({text:i,tf:t})}this.chunkCount+=e.length,this.documents.set(t.key,{chunks:e})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const e of t.chunks)for(const t of e.tf.keys()){const e=this.chunkOccurrences.get(t);if("number"==typeof e){const i=e-1;i<=0?this.chunkOccurrences.delete(t):this.chunkOccurrences.set(t,i)}}}}computeSimilarityScore(e,t,i){let n=0;for(const[s,o]of Object.entries(t)){const t=e.tf.get(s);if(!t)continue;let r=i.get(s);"number"!=typeof r&&(r=this.computeIdf(s),i.set(s,r));n+=t*r*o}return n}computeEmbedding(e){const t=Uz.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){const t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,n]of e){const e=this.computeIdf(i);e>0&&(t[i]=n*e)}return t}}const Kz=(0,$n.u1)("dialogService");var jz;function $z(e){const t=e;return Array.isArray(t.items)}function qz(e){const t=e;return!!t.picks&&t.additionalPicks instanceof Promise}!function(e){e[e.NO_ACTION=0]="NO_ACTION",e[e.CLOSE_PICKER=1]="CLOSE_PICKER",e[e.REFRESH_PICKER=2]="REFRESH_PICKER",e[e.REMOVE_ITEM=3]="REMOVE_ITEM"}(jz||(jz={}));class Gz extends Ae.jG{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){const n=new Ae.Cm;let s;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const o=n.add(new Ae.HE),r=async()=>{const n=o.value=new Ae.Cm;s?.dispose(!0),e.busy=!1,s=new na.Qi(t);const r=s.token;let a=e.value.substring(this.prefix.length);this.options?.shouldSkipTrimPickFilter||(a=a.trim());const l=this._getPicks(a,n,r,i),h=(t,i)=>{let n,s;if($z(t)?(n=t.items,s=t.active):n=t,0===n.length){if(i)return!1;(a.length>0||e.hideInput)&&this.options?.noResultsPick&&(n=(0,os.Tn)(this.options.noResultsPick)?[this.options.noResultsPick(a)]:[this.options.noResultsPick])}return e.items=n,s&&(e.activeItems=[s]),!0},d=async t=>{let i=!1,n=!1;await Promise.all([(async()=>{"number"==typeof t.mergeDelay&&(await(0,A.wR)(t.mergeDelay),r.isCancellationRequested)||n||(i=h(t.picks,!0))})(),(async()=>{e.busy=!0;try{const n=await t.additionalPicks;if(r.isCancellationRequested)return;let s,o,a,l;if($z(t.picks)?(s=t.picks.items,o=t.picks.active):s=t.picks,$z(n)?(a=n.items,l=n.active):a=n,a.length>0||!i){let t;if(!o&&!l){const i=e.activeItems[0];i&&-1!==s.indexOf(i)&&(t=i)}h({items:[...s,...a],active:o||l||t})}}finally{r.isCancellationRequested||(e.busy=!1),n=!0}})()])};if(null===l);else if(qz(l))await d(l);else if(l instanceof Promise){e.busy=!0;try{const e=await l;if(r.isCancellationRequested)return;qz(e)?await d(e):h(e)}finally{r.isCancellationRequested||(e.busy=!1)}}else h(l)};n.add(e.onDidChangeValue((()=>r()))),r(),n.add(e.onDidAccept((t=>{if(i?.handleAccept)return t.inBackground||e.hide(),void i.handleAccept?.(e.activeItems[0]);const[n]=e.selectedItems;"function"==typeof n?.accept&&(t.inBackground||e.hide(),n.accept(e.keyMods,t))})));const a=async(i,n)=>{if("function"!=typeof n.trigger)return;const s=n.buttons?.indexOf(i)??-1;if(s>=0){const i=n.trigger(s,e.keyMods),o="number"==typeof i?i:await i;if(t.isCancellationRequested)return;switch(o){case jz.NO_ACTION:break;case jz.CLOSE_PICKER:e.hide();break;case jz.REFRESH_PICKER:r();break;case jz.REMOVE_ITEM:{const t=e.items.indexOf(n);if(-1!==t){const i=e.items.slice(),n=i.splice(t,1),s=e.activeItems.filter((e=>e!==n[0])),o=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=i,s&&(e.activeItems=s),e.keepScrollPosition=o}break}}}};return n.add(e.onDidTriggerItemButton((({button:e,item:t})=>a(e,t)))),n.add(e.onDidTriggerSeparatorButton((({button:e,separator:t})=>a(e,t)))),n}}var Qz,Yz,Zz=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Xz=function(e,t){return function(i,n){t(i,n,e)}};let Jz=class extends Gz{static{Qz=this}static{this.PREFIX=">"}static{this.TFIDF_THRESHOLD=.5}static{this.TFIDF_MAX_RESULTS=5}static{this.WORD_FILTER=Ri(Ai,Ji,Oi)}constructor(e,t,i,n,s,o){super(Qz.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=o,this.commandsHistory=this._register(this.instantiationService.createInstance(eU)),this.options=e}async _getPicks(e,t,i,n){const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const o=(0,rv.P)((()=>{const t=new Uz;t.updateDocuments(s.map((e=>({key:e.commandId,textChunks:[this.getTfIdfChunk(e)]}))));return function(e){const t=e.slice(0);t.sort(((e,t)=>t.score-e.score));const i=t[0]?.score??0;if(i>0)for(const n of t)n.score/=i;return t}(t.calculateScores(e,i)).filter((e=>e.score>Qz.TFIDF_THRESHOLD)).slice(0,Qz.TFIDF_MAX_RESULTS)})),r=[];for(const u of s){const t=Qz.WORD_FILTER(e,u.label)??void 0,n=u.commandAlias?Qz.WORD_FILTER(e,u.commandAlias)??void 0:void 0;if(t||n)u.highlights={label:t,detail:this.options.showAlias?n:void 0},r.push(u);else if(e===u.commandId)r.push(u);else if(e.length>=3){const e=o();if(i.isCancellationRequested)return[];const t=e.find((e=>e.key===u.commandId));t&&(u.tfIdfScore=t.score,r.push(u))}}const a=new Map;for(const u of r){const e=a.get(u.label);e?(u.description=u.commandId,e.description=e.commandId):a.set(u.label,u)}r.sort(((e,t)=>{if(e.tfIdfScore&&t.tfIdfScore)return e.tfIdfScore===t.tfIdfScore?e.label.localeCompare(t.label):t.tfIdfScore-e.tfIdfScore;if(e.tfIdfScore)return 1;if(t.tfIdfScore)return-1;const i=this.commandsHistory.peek(e.commandId),n=this.commandsHistory.peek(t.commandId);if(i&&n)return i>n?-1:1;if(i)return-1;if(n)return 1;if(this.options.suggestedCommandIds){const i=this.options.suggestedCommandIds.has(e.commandId),n=this.options.suggestedCommandIds.has(t.commandId);if(i&&n)return 0;if(i)return-1;if(n)return 1}return e.label.localeCompare(t.label)}));const l=[];let h=!1,d=!0,c=!!this.options.suggestedCommandIds;for(let u=0;u{const t=await this.getAdditionalCommandPicks(s,r,e,i);if(i.isCancellationRequested)return[];const o=t.map((e=>this.toCommandPick(e,n)));return d&&"separator"!==o[0]?.type&&o.unshift({type:"separator",label:(0,jn.kg)("suggested","similar commands")}),o})()}:l}toCommandPick(e,t){if("separator"===e.type)return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?(0,jn.kg)("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:n,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:t?.from??"quick open"});try{e.args?.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(i){(0,b.MB)(i)||this.dialogService.error((0,jn.kg)("canNotRun","Command '{0}' resulted in an error",e.label),fd(i))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let n=e;return t&&t!==e&&(n+=` - ${t}`),i&&i.value!==e&&(n+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),n}};Jz=Qz=Zz([Xz(1,$n._Y),Xz(2,bd),Xz(3,rs),Xz(4,Ls),Xz(5,Kz)],Jz);let eU=class extends Ae.jG{static{Yz=this}static{this.DEFAULT_COMMANDS_HISTORY_LENGTH=50}static{this.PREF_KEY_CACHE="commandPalette.mru.cache"}static{this.PREF_KEY_COUNTER="commandPalette.mru.counter"}static{this.counter=1}static{this.hasChanges=!1}constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((e=>this.updateConfiguration(e)))),this._register(this.storageService.onWillSaveState((e=>{e.reason===bw.SHUTDOWN&&this.saveState()})))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Yz.getConfiguredCommandHistoryLength(this.configurationService),Yz.cache&&Yz.cache.limit!==this.configuredCommandsHistoryLength&&(Yz.cache.limit=this.configuredCommandsHistoryLength,Yz.hasChanges=!0))}load(){const e=this.storageService.get(Yz.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Yz.cache=new Si.qK(this.configuredCommandsHistoryLength,1);if(t){let e;e=t.usesLRU?t.entries:t.entries.sort(((e,t)=>e.value-t.value)),e.forEach((e=>i.set(e.key,e.value)))}Yz.counter=this.storageService.getNumber(Yz.PREF_KEY_COUNTER,0,Yz.counter)}push(e){Yz.cache&&(Yz.cache.set(e,Yz.counter++),Yz.hasChanges=!0)}peek(e){return Yz.cache?.peek(e)}saveState(){if(!Yz.cache)return;if(!Yz.hasChanges)return;const e={usesLRU:!0,entries:[]};Yz.cache.forEach(((t,i)=>e.entries.push({key:i,value:t}))),this.storageService.store(Yz.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Yz.PREF_KEY_COUNTER,Yz.counter,0,0),Yz.hasChanges=!1}static getConfiguredCommandHistoryLength(e){const t=e.getValue(),i=t.workbench?.commandPalette?.history;return"number"==typeof i?i:Yz.DEFAULT_COMMANDS_HISTORY_LENGTH}};eU=Yz=Zz([Xz(0,vw),Xz(1,Fp.pG),Xz(2,Ds.rr)],eU);class tU extends Jz{constructor(e,t,i,n,s,o){super(e,t,i,n,s,o)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions()){let e;n.metadata?.description&&(e=(i=n.metadata.description)&&"object"==typeof i&&"string"==typeof i.original&&"string"==typeof i.value?n.metadata.description:{original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:e,label:An(n.label)||n.id})}var i;return t}}var iU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},nU=function(e,t){return function(i,n){t(i,n,e)}};let sU=class extends tU{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,n,s,o){super({showAlias:!1},e,i,n,s,o),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};sU=iU([nU(0,$n._Y),nU(1,qn),nU(2,bd),nU(3,rs),nU(4,Ls),nU(5,Kz)],sU);class oU extends Ts{static{this.ID="editor.action.quickCommand"}constructor(){super({id:oU.ID,label:CO.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:js.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Jh).quickAccess.show(sU.PREFIX)}}Fs(oU),hs.O.as(fO).registerQuickAccessProvider({ctor:sU,prefix:sU.PREFIX,helpEntries:[{description:CO.quickCommandHelp,commandId:oU.ID}]});var rU,aU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},lU=function(e,t){return function(i,n){t(i,n,e)}};let hU=class{static{rU=this}static{this.PREFIX="?"}constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=hs.O.as(fO)}provide(e){const t=new Ae.Cm;return t.add(e.onDidAccept((()=>{const[t]=e.selectedItems;t&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})}))),t.add(e.onDidChangeValue((e=>{const t=this.registry.getQuickAccessProvider(e.substr(rU.PREFIX.length));t&&t.prefix&&t.prefix!==rU.PREFIX&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})}))),e.items=this.getQuickAccessProviders().filter((e=>e.prefix!==rU.PREFIX)),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort(((e,t)=>e.prefix.localeCompare(t.prefix))).flatMap((e=>this.createPicks(e)))}createPicks(e){return e.helpEntries.map((t=>{const i=t.prefix||e.prefix,n=i||"\u2026";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:(0,jn.kg)("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}}))}};hU=rU=aU([lU(0,Jh),lU(1,bd)],hU),hs.O.as(fO).registerQuickAccessProvider({ctor:hU,prefix:"",helpEntries:[{description:bO.helpQuickAccessActionLabel}]});const dU=[void 0,[]];function cU(e,t,i=0,n=0){const s=t;return s.values&&s.values.length>1?function(e,t,i,n){let s=0;const o=[];for(const r of t){const[t,a]=uU(e,r,i,n);if("number"!=typeof t)return dU;s+=t,o.push(...a)}return[s,gU(o)]}(e,s.values,i,n):uU(e,t,i,n)}function uU(e,t,i,n){const s=Ln(t.original,t.originalLowercase,i,e,e.toLowerCase(),n,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return s?[s[0],hn(s)]:dU}Object.freeze({score:0});function gU(e){const t=e.sort(((e,t)=>e.start-t.start)),i=[];let n;for(const s of t)n&&pU(n,s)?(n.start=Math.min(n.start,s.start),n.end=Math.max(n.end,s.end)):(n=s,i.push(s));return i}function pU(e,t){return!(e.end=0,r=mU(e);let a;const l=e.split(" ");if(l.length>1)for(const h of l){const e=mU(h),{pathNormalized:t,normalized:i,normalizedLowercase:n}=_U(h);i&&(a||(a=[]),a.push({original:h,originalLowercase:h.toLowerCase(),pathNormalized:t,normalized:i,normalizedLowercase:n,expectContiguousMatch:e}))}return{original:e,originalLowercase:t,pathNormalized:i,normalized:n,normalizedLowercase:s,values:a,containsPathSeparator:o,expectContiguousMatch:r}}function _U(e){let t;t=f.uF?e.replace(/\//g,xa.Vn):e.replace(/\\/g,xa.Vn);const i=(0,Ti.wB)(t).replace(/\s|"/g,"");return{pathNormalized:t,normalized:i,normalizedLowercase:i.toLowerCase()}}function vU(e){return Array.isArray(e)?fU(e.map((e=>e.original)).join(" ")):fU(e.original)}var bU,CU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},wU=function(e,t){return function(i,n){t(i,n,e)}};let yU=class extends gO{static{bU=this}static{this.PREFIX="@"}static{this.SCOPE_PREFIX=":"}static{this.PREFIX_BY_CATEGORY=`${this.PREFIX}${this.SCOPE_PREFIX}`}constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,(0,jn.kg)("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Ae.jG.None}provideWithTextEditor(e,t,i,n){const s=e.editor,o=this.getModel(s);return o?this._languageFeaturesService.documentSymbolProvider.has(o)?this.doProvideWithEditorSymbols(e,o,t,i,n):this.doProvideWithoutEditorSymbols(e,o,t,i):Ae.jG.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new Ae.Cm;return this.provideLabelPick(i,(0,jn.kg)("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(t,s)&&!n.isCancellationRequested&&s.add(this.doProvideWithEditorSymbols(e,t,i,n))})(),s}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new A.Zv,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))})));return t.add((0,Ae.s)((()=>i.complete(!1)))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){const o=e.editor,r=new Ae.Cm;r.add(i.onDidAccept((t=>{const[n]=i.selectedItems;n&&n.range&&(this.gotoLocation(e,{range:n.range.selection,keyMods:i.keyMods,preserveFocus:t.inBackground}),s?.handleAccept?.(n),t.inBackground||i.hide())}))),r.add(i.onDidTriggerItemButton((({item:t})=>{t&&t.range&&(this.gotoLocation(e,{range:t.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())})));const a=this.getDocumentSymbols(t,n);let l;const h=async e=>{l?.dispose(!0),i.busy=!1,l=new na.Qi(n),i.busy=!0;try{const s=fU(i.value.substr(bU.PREFIX.length).trim()),o=await this.doGetSymbolPicks(a,s,void 0,l.token,t);if(n.isCancellationRequested)return;if(o.length>0){if(i.items=o,e&&0===s.original.length){const t=(0,kb.Uk)(o,(t=>Boolean("separator"!==t.type&&t.range&&Xs.Q.containsPosition(t.range.decoration,e))));t&&(i.activeItems=[t])}}else s.original.length>0?this.provideLabelPick(i,(0,jn.kg)("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,(0,jn.kg)("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return r.add(i.onDidChangeValue((()=>h(void 0)))),h(o.getSelection()?.getPosition()),r.add(i.onDidChangeActive((()=>{const[e]=i.activeItems;e&&e.range&&(o.revealRangeInCenter(e.range.selection,0),this.addDecorations(o,e.range.decoration))}))),r}async doGetSymbolPicks(e,t,i,n,s){const o=await e;if(n.isCancellationRequested)return[];const r=0===t.original.indexOf(bU.SCOPE_PREFIX),a=r?1:0;let l,h,d;t.values&&t.values.length>1?(l=vU(t.values[0]),h=vU(t.values.slice(1))):l=t;const c=this.options?.openSideBySideDirection?.();c&&(d=[{iconClass:"right"===c?In.L.asClassName(vl.W.splitHorizontal):In.L.asClassName(vl.W.splitVertical),tooltip:"right"===c?(0,jn.kg)("openToSide","Open to the Side"):(0,jn.kg)("openToBottom","Open to the Bottom")}]);const u=[];for(let m=0;ma){let x=!1;if(l!==t&&([C,w]=cU(v,{...t,values:void 0},a,b),"number"==typeof C&&(x=!0)),"number"!=typeof C&&([C,w]=cU(v,l,a,b),"number"!=typeof C))continue;if(!x&&h){if(k&&h.original.length>0&&([y,S]=cU(k,h)),"number"!=typeof y)continue;"number"==typeof C&&(C+=y)}}const L=f.tags&&f.tags.indexOf(1)>=0;u.push({index:m,kind:f.kind,score:C,label:v,ariaLabel:(0,ka.PK)(f.name,f.kind),description:k,highlights:L?void 0:{label:w,description:S},range:{selection:Xs.Q.collapseToStart(f.selectionRange),decoration:f.range},uri:s.uri,symbolName:_,strikethrough:L,buttons:d})}const g=u.sort(((e,t)=>r?this.compareByKindAndScore(e,t):this.compareByScore(e,t)));let p=[];if(r){let D,N,I=0;function E(){N&&"number"==typeof D&&I>0&&(N.label=(0,Ti.GP)(kU[D]||SU,I))}for(const M of g)D!==M.kind?(E(),D=M.kind,I=1,N={type:"separator"},p.push(N)):I++,p.push(M);E()}else g.length>0&&(p=[{label:(0,jn.kg)("symbols","symbols ({0})",u.length),type:"separator"},...g]);return p}compareByScore(e,t){if("number"!=typeof e.score&&"number"==typeof t.score)return 1;if("number"==typeof e.score&&"number"!=typeof t.score)return-1;if("number"==typeof e.score&&"number"==typeof t.score){if(e.score>t.score)return-1;if(e.scoret.index?1:0}compareByKindAndScore(e,t){const i=kU[e.kind]||SU,n=kU[t.kind]||SU,s=i.localeCompare(n);return 0===s?this.compareByScore(e,t):s}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}};yU=bU=CU([wU(0,La.ILanguageFeaturesService),wU(1,NT)],yU);const SU=(0,jn.kg)("property","properties ({0})"),kU={5:(0,jn.kg)("method","methods ({0})"),11:(0,jn.kg)("function","functions ({0})"),8:(0,jn.kg)("_constructor","constructors ({0})"),12:(0,jn.kg)("variable","variables ({0})"),4:(0,jn.kg)("class","classes ({0})"),22:(0,jn.kg)("struct","structs ({0})"),23:(0,jn.kg)("event","events ({0})"),24:(0,jn.kg)("operator","operators ({0})"),10:(0,jn.kg)("interface","interfaces ({0})"),2:(0,jn.kg)("namespace","namespaces ({0})"),3:(0,jn.kg)("package","packages ({0})"),25:(0,jn.kg)("typeParameter","type parameters ({0})"),1:(0,jn.kg)("modules","modules ({0})"),6:(0,jn.kg)("property","properties ({0})"),9:(0,jn.kg)("enum","enumerations ({0})"),21:(0,jn.kg)("enumMember","enumeration members ({0})"),14:(0,jn.kg)("string","strings ({0})"),0:(0,jn.kg)("file","files ({0})"),17:(0,jn.kg)("array","arrays ({0})"),15:(0,jn.kg)("number","numbers ({0})"),16:(0,jn.kg)("boolean","booleans ({0})"),18:(0,jn.kg)("object","objects ({0})"),19:(0,jn.kg)("key","keys ({0})"),7:(0,jn.kg)("field","fields ({0})"),13:(0,jn.kg)("constant","constants ({0})")};var LU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},xU=function(e,t){return function(i,n){t(i,n,e)}};let DU=class extends yU{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=P.Jh.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};DU=LU([xU(0,qn),xU(1,La.ILanguageFeaturesService),xU(2,NT)],DU);class NU extends Ts{static{this.ID="editor.action.quickOutline"}constructor(){super({id:NU.ID,label:wO.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:js.hasDocumentSymbolProvider,kbOpts:{kbExpr:js.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Jh).quickAccess.show(yU.PREFIX,{itemActivation:Yh.NONE})}}Fs(NU),hs.O.as(fO).registerQuickAccessProvider({ctor:DU,prefix:yU.PREFIX,helpEntries:[{description:wO.quickOutlineActionLabel,prefix:yU.PREFIX,commandId:NU.ID},{description:wO.quickOutlineByCategoryActionLabel,prefix:yU.PREFIX_BY_CATEGORY}]});class IU extends Ae.jG{static{this.ID="editor.contrib.readOnlyMessageController"}constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const e=zh.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(t=this.editor.isSimpleWidget?new Hn(jn.kg("editor.simple.readonly","Cannot edit in read-only input")):new Hn(jn.kg("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}}Bs(IU.ID,IU,2);var EU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},MU=function(e,t){return function(i,n){t(i,n,e)}};let TU=class extends NN{constructor(e,t,i,n,s,o,r){super(!0,e,t,i,n,s,o,r)}};TU=EU([MU(1,ls.fN),MU(2,qn),MU(3,yd),MU(4,$n._Y),MU(5,vw),MU(6,Fp.pG)],TU),Bs(NN.ID,TU,4);var RU=i(41504),AU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},PU=function(e,t){return function(i,n){t(i,n,e)}};const OU=new ls.N1("renameInputVisible",!1,jn.kg("renameInputVisible","Whether the rename input widget is visible"));new ls.N1("renameInputFocused",!1,jn.kg("renameInputFocused","Whether the rename input widget is focused"));let FU=class{constructor(e,t,i,n,s,o){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=n,this._logService=o,this.allowEditorOverflow=!0,this._disposables=new Ae.Cm,this._visibleContextKey=OU.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Hp.W,this._inputWithButton=new BU,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()}))),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new WU(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange((()=>{void 0!==this._renameCandidateListView?.focusedCandidate&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),!1===this._renameCandidateProvidersCts?.token.isCancellationRequested&&this._renameCandidateProvidersCts.cancel(),this._renameCandidateListView?.clearFocus()}))),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){if(!this._domNode)return;const t=e.getColor(to.f9l),i=e.getColor(to.DSL);this._domNode.style.backgroundColor=String(e.getColor(to.CgL)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(to.cws)??"");const n=e.getColor(to.Zgs);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(to.L4c)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(to.L4c)??""),this._inputWithButton.domNode.style.borderWidth=n?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=n?"solid":"none",this._inputWithButton.domNode.style.borderColor=n?.toString()??"none"}_updateFont(){if(void 0===this._domNode)return;(0,os.j)(void 0!==this._label,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return.8*e}getPosition(){if(!this._visible)return null;if(!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=at(this.getDomNode().ownerDocument.body),t=ct(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const n=this._editor.getOption(67),{totalHeight:s}=HU.getLayoutInfo({lineHeight:n}),o=this._nPxAvailableBelow>6*s?[2,1]:[1,2];return{position:this._position,preference:o}}beforeRender(){const[e,t]=this._acceptKeybindings;return this._label.innerText=jn.kg({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",this._keybindingService.lookupKeybinding(e)?.getLabel(),this._keybindingService.lookupKeybinding(t)?.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(null===e)return void this.cancelInput(!0,"afterRender (because position is null)");if(!this._editor.hasModel()||!this._editor.getDomNode())return;(0,os.j)(this._renameCandidateListView),(0,os.j)(void 0!==this._nPxAvailableAbove),(0,os.j)(void 0!==this._nPxAvailableBelow);const t=ft(this._inputWithButton.domNode),i=ft(this._label);let n;n=2===e?this._nPxAvailableBelow:this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:gt(this._inputWithButton.domNode)})}acceptInput(e){this._trace("invoking acceptInput"),this._currentAcceptInput?.(e)}cancelInput(e,t){this._currentCancelInput?.(e)}focusNextRenameSuggestion(){this._renameCandidateListView?.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){this._renameCandidateListView?.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,n,s){const{start:o,end:r}=this._getSelection(e,t);this._renameCts=s;const a=new Ae.Cm;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,void 0===n?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=n,this._requestRenameCandidates(t,!1),a.add(Ye(this._inputWithButton.button,"click",(()=>this._requestRenameCandidates(t,!0)))),a.add(Ye(this._inputWithButton.button,Ut.KEY_DOWN,(e=>{const i=new N(e);(i.equals(3)||i.equals(10))&&(i.stopPropagation(),i.preventDefault(),this._requestRenameCandidates(t,!0))})))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Gn.y(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",o.toString()),this._inputWithButton.input.setAttribute("selectionEnd",r.toString()),this._inputWithButton.input.size=Math.max(1.1*(e.endColumn-e.startColumn),20),this._beforeFirstInputFieldEditSW.reset(),a.add((0,Ae.s)((()=>{this._renameCts=void 0,s.dispose(!0)}))),a.add((0,Ae.s)((()=>{void 0!==this._renameCandidateProvidersCts&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)}))),a.add((0,Ae.s)((()=>this._candidates.clear())));const l=new A.Zv;return l.p.finally((()=>{a.dispose(),this._hide()})),this._currentCancelInput=e=>(this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),l.complete(e),!0),this._currentAcceptInput=e=>{this._trace("invoking _currentAcceptInput"),(0,os.j)(void 0!==this._renameCandidateListView);const n=this._renameCandidateListView.nCandidates;let s,o;const r=this._renameCandidateListView.focusedCandidate;void 0!==r?(this._trace("using new name from renameSuggestion"),s=r,o={k:"renameSuggestion"}):(this._trace("using new name from inputField"),s=this._inputWithButton.input.value,o=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),s!==t&&0!==s.trim().length?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),l.complete({newName:s,wantsPreview:i&&e,stats:{source:o,nRenameSuggestions:n,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})):this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)")},a.add(s.token.onCancellationRequested((()=>this.cancelInput(!0,"cts.token.onCancellationRequested")))),a.add(this._editor.onDidBlurEditorWidget((()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),"editor.onDidBlurEditorWidget")))),this._show(),l.p}_requestRenameCandidates(e,t){if(void 0!==this._requestRenameCandidatesOnce&&(void 0!==this._renameCandidateProvidersCts&&this._renameCandidateProvidersCts.dispose(!0),(0,os.j)(this._renameCts),"stop"!==this._inputWithButton.buttonState)){this._renameCandidateProvidersCts=new na.Qi;const i=t?ka.YT.Invoke:ka.YT.Automatic,n=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(0===n.length)return void this._inputWithButton.setSparkleButton();t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(n,e,this._renameCts.token)}}_getSelection(e,t){(0,os.j)(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return Xs.Q.isEmpty(i)||Xs.Q.spansMultipleLines(i)||!Xs.Q.containsRange(e,i)||(n=Math.max(0,i.startColumn-e.startColumn),s=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:n,end:s}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout((()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))}),100)}async _updateRenameCandidates(e,t,i){const n=(...e)=>this._trace("_updateRenameCandidates",...e);n("start");const s=await(0,A.PK)(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),void 0===s)return void n("returning early - received updateRenameCandidates results - undefined");const o=s.flatMap((e=>"fulfilled"===e.status&&(0,os.O9)(e.value)?e.value:[]));n(`received updateRenameCandidates results - total (unfiltered) ${o.length} candidates.`);const r=ia.dM(o,(e=>e.newSymbolName));n(`distinct candidates - ${r.length} candidates.`);const a=r.filter((({newSymbolName:e})=>e.trim().length>0&&e!==this._inputWithButton.input.value&&e!==t&&!this._candidates.has(e)));n(`valid distinct candidates - ${o.length} candidates.`),a.forEach((e=>this._candidates.add(e.newSymbolName))),a.length<1?n("returning early - no valid distinct candidates"):(n("setting candidates"),this._renameCandidateListView.setCandidates(a),n("asking editor to re-layout"),this._editor.layoutContentWidget(this))}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};FU=AU([PU(2,io.Gy),PU(3,bd),PU(4,ls.fN),PU(5,Ds.rr)],FU);class WU{constructor(e,t){this._disposables=new Ae.Cm,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=WU._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus((e=>{1===e.elements.length&&t.onFocusChange(e.elements[0].newSymbolName)}),this._disposables),this._listWidget.onDidChangeSelection((e=>{1===e.elements.length&&t.onSelectionChange()}),this._disposables),this._disposables.add(this._listWidget.onDidBlur((e=>{this._listWidget.setFocus([])}))),this._listWidget.style(_p({listInactiveFocusForeground:to.nH,listInactiveFocusBackground:to.AlL}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(this._listWidget.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,wi(jn.kg("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(0===this._listWidget.length)return;const e=this._listWidget.getSelectedElements()[0];if(void 0!==e)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];return void 0!==t?t.newSymbolName:void 0}focusNext(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();if(0===e.length)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}focusPrevious(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();if(0===e.length){this._listWidget.focusLast();const e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}if(0===e[0])return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=HU.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,7*this._candidateViewHeight)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map((e=>e.newSymbolName.length)))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const n=new class{getTemplateId(e){return"candidate"}getHeight(e){return t}},s=new class{constructor(){this.templateId="candidate"}renderTemplate(e){return new HU(e,i)}renderElement(e,t,i){i.populate(e)}disposeTemplate(e){e.dispose()}};return new Ug("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class BU{constructor(){this._onDidInputChange=new P.vl,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new Ae.Cm}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",jn.kg("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=jn.kg("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=jn.kg("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=cd().setupManagedHover(ad("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Ye(this.input,Ut.INPUT,(()=>this._onDidInputChange.fire()))),this._disposables.add(Ye(this.input,Ut.KEY_DOWN,(e=>{const t=new N(e);15!==t.keyCode&&17!==t.keyCode||this._onDidInputChange.fire()}))),this._disposables.add(Ye(this.input,Ut.CLICK,(()=>this._onDidInputChange.fire()))),this._disposables.add(Ye(this.input,Ut.FOCUS,(()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"}))),this._disposables.add(Ye(this.input,Ut.BLUR,(()=>{this.domNode.style.outline="none"})))),this._domNode}get input(){return(0,os.j)(this._inputNode),this._inputNode}get button(){return(0,os.j)(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState="sparkle",this._sparkleIcon??=Tl(vl.W.sparkle),Ge(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),this._buttonHover?.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){this._buttonState="stop",this._stopIcon??=Tl(vl.W.primitiveSquare),Ge(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),this._buttonHover?.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}class HU{static{this._PADDING=2}constructor(e,t){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${t.lineHeight}px`,this._domNode.style.padding=`${HU._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=.8*t.lineHeight+"px",this._domNode.appendChild(i),this._icon=Tl(vl.W.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),Lh(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){const t=!!e.tags?.includes(ka.OV.AIGenerated);this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+2*HU._PADDING}}dispose(){}}var VU,zU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},UU=function(e,t){return function(i,n){t(i,n,e)}};class KU{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join("\n"):void 0}:{range:Xs.Q.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join("\n"):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,n){const s=this._providers[t];if(!s)return{edits:[],rejectReason:i.join("\n")};const o=await s.provideRenameEdits(this.model,this.position,e,n);return o?o.rejectReason?this._provideRenameEdits(e,t+1,i.concat(o.rejectReason),n):o:this._provideRenameEdits(e,t+1,i.concat(jn.kg("no result","No result.")),n)}}let jU=class{static{VU=this}static{this.ID="editor.contrib.renameController"}static get(e){return e.getContribution(VU.ID)}constructor(e,t,i,n,s,o,r,a,l){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=o,this._configService=r,this._languageFeaturesService=a,this._telemetryService=l,this._disposableStore=new Ae.Cm,this._cts=new na.Qi,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(FU,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new na.Qi,!this.editor.hasModel())return void e("editor has no model");const t=this.editor.getPosition(),i=new KU(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider())return void e("skeleton has no provider");const n=new fl(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const t=i.resolveRenameLocation(n.token);this._progressService.showWhile(t,250),s=await t,e("resolved rename location")}catch(u){return void(u instanceof b.AL?e("resolve rename location cancelled",JSON.stringify(u,null,"\t")):(e("resolve rename location failed",u instanceof Error?u:JSON.stringify(u,null,"\t")),("string"==typeof u||zn(u))&&zh.get(this.editor)?.showMessage(u||jn.kg("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)))}finally{n.dispose()}if(!s)return void e("returning early - no loc");if(s.rejectReason)return e(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),void zh.get(this.editor)?.showMessage(s.rejectReason,t);if(n.token.isCancellationRequested)return void e("returning early - cts1 cancelled");const o=new fl(this.editor,5,s.range,this._cts.token),r=this.editor.getModel(),a=this._languageFeaturesService.newSymbolNamesProvider.all(r),l=await Promise.all(a.map((async e=>[e,await e.supportsAutomaticNewSymbolNamesTriggerKind??!1])));e("creating rename input field and awaiting its result");const h=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),d=await this._renameWidget.getInput(s.range,s.text,h,a.length>0?(e,t)=>{let i=l.slice();return e===ka.YT.Automatic&&(i=i.filter((([e,t])=>t))),i.map((([i])=>i.provideNewSymbolNames(r,s.range,e,t)))}:void 0,o);if(e("received response from rename input field"),a.length>0&&this._reportTelemetry(a.length,r.getLanguageId(),d),"boolean"==typeof d)return e(`returning early - rename input field response - ${d}`),d&&this.editor.focus(),void o.dispose();this.editor.focus(),e("requesting rename edits");const c=(0,A.PK)(i.provideRenameEdits(d.newName,o.token),o.token).then((async t=>{if(t)if(this.editor.hasModel()){if(t.rejectReason)return e(`returning early - rejected with reason: ${t.rejectReason}`),void this._notificationService.info(t.rejectReason);this.editor.setSelection(Xs.Q.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(t,{editor:this.editor,showPreview:d.wantsPreview,label:jn.kg("label","Renaming '{0}' to '{1}'",s?.text,d.newName),code:"undoredo.rename",quotableLabel:jn.kg("quotableLabel","Renaming {0} to {1}",s?.text,d.newName),respectAutoSaveConfig:!0}).then((t=>{e("edits applied"),t.ariaSummary&&Ci(jn.kg("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,d.newName,t.ariaSummary))})).catch((t=>{e(`error when applying edits ${JSON.stringify(t,null,"\t")}`),this._notificationService.error(jn.kg("rename.failedApply","Rename failed to apply edits")),this._logService.error(t)}))}else e("returning early - no model after rename edits are provided");else e("returning early - no rename edits result")}),(t=>{e("error when providing rename edits",JSON.stringify(t,null,"\t")),this._notificationService.error(jn.kg("rename.failed","Rename failed to compute edits")),this._logService.error(t)})).finally((()=>{o.dispose()}));return e("returning rename operation"),this._progressService.showWhile(c,250),c}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n="boolean"==typeof i?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}};jU=VU=zU([UU(1,$n._Y),UU(2,yd),UU(3,Ca),UU(4,qh),UU(5,Ds.rr),UU(6,RU.ITextResourceConfigurationService),UU(7,La.ILanguageFeaturesService),UU(8,Ls)],jU);Bs(jU.ID,jU,4),Fs(class extends Ts{constructor(){super({id:"editor.action.rename",label:jn.kg("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:ls.M$.and(js.writable,js.hasRenameProvider),kbOpts:{kbExpr:js.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(qn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Bn.r.isUri(n)&&Gn.y.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(s),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),b.dz):super.runCommand(e,t)}run(e,t){const i=e.get(Ds.rr),n=jU.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}});const $U=Ms.bindToContribution(jU.get);Os(new $U({id:"acceptRenameInput",precondition:OU,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:ls.M$.and(js.focus,ls.M$.not("isComposing")),primary:3}})),Os(new $U({id:"acceptRenameInputWithPreview",precondition:ls.M$.and(OU,ls.M$.has("config.editor.rename.enablePreview")),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:ls.M$.and(js.focus,ls.M$.not("isComposing")),primary:2051}})),Os(new $U({id:"cancelRenameInput",precondition:OU,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:js.focus,primary:9,secondary:[1033]}})),ks(class extends Ss{constructor(){super({id:"focusNextRenameSuggestion",title:{...jn.aS("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:OU,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(qn).getFocusedCodeEditor();if(!t)return;const i=jU.get(t);i&&i.focusNextRenameSuggestion()}}),ks(class extends Ss{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...jn.aS("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:OU,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(qn).getFocusedCodeEditor();if(!t)return;const i=jU.get(t);i&&i.focusPreviousRenameSuggestion()}}),Ps("_executeDocumentRenameProvider",(function(e,t,i,...n){const[s]=n;(0,os.j)("string"==typeof s);const{renameProvider:o}=e.get(La.ILanguageFeaturesService);return async function(e,t,i,n){const s=new KU(t,i,e),o=await s.resolveRenameLocation(na.XO.None);return o?.rejectReason?{edits:[],rejectReason:o.rejectReason}:s.provideRenameEdits(n,na.XO.None)}(o,t,i,s)})),Ps("_executePrepareRename",(async function(e,t,i){const{renameProvider:n}=e.get(La.ILanguageFeaturesService),s=new KU(t,i,n),o=await s.resolveRenameLocation(na.XO.None);if(o?.rejectReason)throw new Error(o.rejectReason);return o})),hs.O.as(Rc.Fd.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:jn.kg("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var qU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},GU=function(e,t){return function(i,n){t(i,n,e)}};let QU=class extends Ae.jG{static{this.ID="editor.sectionHeaderDetector"}constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel((t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)}))),this._register(e.onDidChangeModelLanguage((t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)}))),this._register(t.onDidChange((t=>{const i=this.editor.getModel()?.getLanguageId();i&&t.affects(i)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))}))),this._register(e.onDidChangeConfiguration((t=>{this.options&&!t.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))}))),this._register(this.editor.onDidChangeModelContent((e=>{this.computeSectionHeaders.schedule()}))),this._register(e.onDidChangeModelTokens((e=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)}))),this.computeSectionHeaders=this._register(new A.uC((()=>{this.findSectionHeaders()}),250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;return i||n?.markers?{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}:void 0}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then((i=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(i)}))}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter((e=>{if(!e.shouldBeInComments)return!0;const i=t.validateRange(e.range),n=t.tokenization.getLineTokens(i.startLineNumber),s=n.findTokenIndexAtOffset(i.startColumn-1),o=n.getStandardTokenType(s);return n.getLanguageId(s)===t.getLanguageId()&&1===o})));const i=Object.values(this.currentOccurrences).map((e=>e.decorationId)),n=e.map((e=>function(e){return{range:e.range,options:eo.kI.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:e.hasSeparatorLine?2:1,sectionHeaderText:e.text}})}}(e)));this.editor.changeDecorations((t=>{const s=t.deltaDecorations(i,n);this.currentOccurrences={};for(let i=0,n=s.length;i0?i[0]:[]}(e,t),r=await Promise.all(o.map((async e=>{let o,r=null;try{o=await e.provideDocumentSemanticTokens(t,e===i?n:null,s)}catch(a){r=a,o=null}return o&&(XU(o)||JU(o))||(o=null),new eK(e,o,r)})));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}class nK{constructor(e,t){this.provider=e,this.tokens=t}}function sK(e,t){const i=e.orderedGroups(t);return i.length>0?i[0]:[]}async function oK(e,t,i,n){const s=sK(e,t),o=await Promise.all(s.map((async e=>{let s;try{s=await e.provideDocumentRangeSemanticTokens(t,i,n)}catch(o){(0,b.M_)(o),s=null}return s&&XU(s)||(s=null),new nK(e,s)})));for(const r of o)if(r.tokens)return r;return o.length>0?o[0]:null}as.registerCommand("_provideDocumentSemanticTokensLegend",(async(e,...t)=>{const[i]=t;(0,os.j)(i instanceof Bn.r);const n=e.get(Qn.IModelService).getModel(i);if(!n)return;const{documentSemanticTokensProvider:s}=e.get(La.ILanguageFeaturesService),o=function(e,t){const i=e.orderedGroups(t);return i.length>0?i[0]:null}(s,n);return o?o[0].getLegend():e.get(rs).executeCommand("_provideDocumentRangeSemanticTokensLegend",i)})),as.registerCommand("_provideDocumentSemanticTokens",(async(e,...t)=>{const[i]=t;(0,os.j)(i instanceof Bn.r);const n=e.get(Qn.IModelService).getModel(i);if(!n)return;const{documentSemanticTokensProvider:s}=e.get(La.ILanguageFeaturesService);if(!tK(s,n))return e.get(rs).executeCommand("_provideDocumentRangeSemanticTokens",i,n.getFullModelRange());const o=await iK(s,n,null,null,na.XO.None);if(!o)return;const{provider:r,tokens:a}=o;if(!a||!XU(a))return;const l=(0,ZU.encodeSemanticTokensDto)({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),l})),as.registerCommand("_provideDocumentRangeSemanticTokensLegend",(async(e,...t)=>{const[i,n]=t;(0,os.j)(i instanceof Bn.r);const s=e.get(Qn.IModelService).getModel(i);if(!s)return;const{documentRangeSemanticTokensProvider:o}=e.get(La.ILanguageFeaturesService),r=sK(o,s);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!n||!Xs.Q.isIRange(n))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const a=await oK(o,s,Xs.Q.lift(n),na.XO.None);return a?a.provider.getLegend():void 0})),as.registerCommand("_provideDocumentRangeSemanticTokens",(async(e,...t)=>{const[i,n]=t;(0,os.j)(i instanceof Bn.r),(0,os.j)(Xs.Q.isIRange(n));const s=e.get(Qn.IModelService).getModel(i);if(!s)return;const{documentRangeSemanticTokensProvider:o}=e.get(La.ILanguageFeaturesService),r=await oK(o,s,Xs.Q.lift(n),na.XO.None);return r&&r.tokens?(0,ZU.encodeSemanticTokensDto)({id:0,type:"full",data:r.tokens.data}):void 0}));var rK=i(82891);const aK="editor.semanticHighlighting";function lK(e,t,i){const n=i.getValue(aK,{overrideIdentifier:e.getLanguageId(),resource:e.uri})?.enabled;return"boolean"==typeof n?n:t.getColorTheme().semanticHighlighting}var hK,dK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},cK=function(e,t){return function(i,n){t(i,n,e)}};let uK=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._watchers=Object.create(null);const r=t=>{this._watchers[t.uri.toString()]=new gK(t,e,i,s,o)},a=(e,t)=>{t.dispose(),delete this._watchers[e.uri.toString()]},l=()=>{for(const e of t.getModels()){const t=this._watchers[e.uri.toString()];lK(e,i,n)?t||r(e):t&&a(e,t)}};t.getModels().forEach((e=>{lK(e,i,n)&&r(e)})),this._register(t.onModelAdded((e=>{lK(e,i,n)&&r(e)}))),this._register(t.onModelRemoved((e=>{const t=this._watchers[e.uri.toString()];t&&a(e,t)}))),this._register(n.onDidChangeConfiguration((e=>{e.affectsConfiguration(aK)&&l()}))),this._register(i.onDidColorThemeChange(l))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};uK=dK([cK(0,rK.ISemanticTokensStylingService),cK(1,Qn.IModelService),cK(2,io.Gy),cK(3,Fp.pG),cK(4,Mw.ILanguageFeatureDebounceService),cK(5,La.ILanguageFeaturesService)],uK);let gK=class extends Ae.jG{static{hK=this}static{this.REQUEST_MIN_DELAY=300}static{this.REQUEST_MAX_DELAY=2e3}constructor(e,t,i,n,s){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=s.documentSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentSemanticTokens",{min:hK.REQUEST_MIN_DELAY,max:hK.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new A.uC((()=>this._fetchDocumentSemanticTokensNow()),hK.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeAttached((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeLanguage((()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)})));const o=()=>{(0,Ae.AS)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const t of this._provider.all(e))"function"==typeof t.onDidChange&&this._documentProvidersChangeListeners.push(t.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};o(),this._register(this._provider.onDidChange((()=>{o(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(i.onDidColorThemeChange((e=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),(0,Ae.AS)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!tK(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const e=new na.Qi,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=iK(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],o=this._model.onDidChangeContent((e=>{s.push(e)})),r=new Hp.W(!1);n.then((e=>{if(this._debounceInformation.update(this._model,r.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,o.dispose(),e){const{provider:t,tokens:i}=e,n=this._semanticTokensStylingService.getStyling(t);this._setDocumentSemanticTokens(t,i||null,n,s)}else this._setDocumentSemanticTokens(null,null,null,s)}),(e=>{e&&(b.MB(e)||"string"==typeof e.message&&-1!==e.message.indexOf("busy"))||b.dz(e),this._currentDocumentRequestCancellationTokenSource=null,o.dispose(),(s.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(e,t,i,n,s){s=Math.min(s,i.length-n,e.length-t);for(let o=0;o{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed)e&&t&&e.releaseDocumentSemanticTokens(t.resultId);else if(e&&i){if(!t)return this._model.tokenization.setSemanticTokens(null,!0),void o();if(JU(t)){if(!s)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===t.edits.length)t={resultId:t.resultId,data:s.data};else{let e=0;for(const i of t.edits)e+=(i.data?i.data.length:0)-i.deleteCount;const n=s.data,o=new Uint32Array(n.length+e);let r=n.length,a=o.length;for(let l=t.edits.length-1;l>=0;l--){const e=t.edits[l];if(e.start>n.length)return i.warnInvalidEditStart(s.resultId,t.resultId,l,e.start,n.length),void this._model.tokenization.setSemanticTokens(null,!0);const h=r-(e.start+e.deleteCount);h>0&&(hK._copy(n,r-h,o,a-h,h),a-=h),e.data&&(hK._copy(e.data,0,o,a-e.data.length,e.data.length),a-=e.data.length),r=e.start}r>0&&hK._copy(n,0,o,0,r),t={resultId:t.resultId,data:o}}}if(XU(t)){this._currentDocumentResponse=new pK(e,t.resultId,t.data);const s=(0,YU.toMultilineTokens2)(t,i,this._model.getLanguageId());if(n.length>0)for(const e of n)for(const t of s)for(const i of e.changes)t.applyEdit(i.range,i.text);this._model.tokenization.setSemanticTokens(s,!0)}else this._model.tokenization.setSemanticTokens(null,!0);o()}else this._model.tokenization.setSemanticTokens(null,!1)}};gK=hK=dK([cK(1,rK.ISemanticTokensStylingService),cK(2,io.Gy),cK(3,Mw.ILanguageFeatureDebounceService),cK(4,La.ILanguageFeaturesService)],gK);class pK{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Ow(uK);var mK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},fK=function(e,t){return function(i,n){t(i,n,e)}};let _K=class extends Ae.jG{static{this.ID="editor.contrib.viewportSemanticTokens"}constructor(e,t,i,n,s,o){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=o.documentRangeSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new A.uC((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((e=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(aK)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;tthis._requestRange(e,t))))}_requestRange(e,t){const i=e.getVersionId(),n=(0,A.SS)((i=>Promise.resolve(oK(this._provider,e,t,i)))),s=new Hp.W(!1);return n.then((n=>{if(this._debounceInformation.update(e,s.elapsed()),!n||!n.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:o,tokens:r}=n,a=this._semanticTokensStylingService.getStyling(o);e.tokenization.setPartialSemanticTokens(t,(0,YU.toMultilineTokens2)(r,a,e.getLanguageId()))})).then((()=>this._removeOutstandingRequest(n)),(()=>this._removeOutstandingRequest(n))),n}};_K=mK([fK(1,rK.ISemanticTokensStylingService),fK(2,io.Gy),fK(3,Fp.pG),fK(4,Mw.ILanguageFeatureDebounceService),fK(5,La.ILanguageFeaturesService)],_K),Bs(_K.ID,_K,1);class vK{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const n of t){const t=[];i.push(t),this.selectSubwords&&this._addInWordRanges(t,e,n),this._addWordRanges(t,e,n),this._addWhitespaceLine(t,e,n),t.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:s,startColumn:o}=n,r=i.column-o;let a=r,l=r,h=0;for(;a>=0;a--){const e=s.charCodeAt(a);if(a!==r&&(95===e||45===e))break;if((0,Ti.Lv)(e)&&(0,Ti.Wv)(h))break;h=e}for(a+=1;l0&&0===t.getLineFirstNonWhitespaceColumn(i.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(i.lineNumber)&&e.push({range:new Xs.Q(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var bK,CK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},wK=function(e,t){return function(i,n){t(i,n,e)}};class yK{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new yK(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let SK=class{static{bK=this}static{this.ID="editor.contrib.smartSelectController"}static get(e){return e.getContribution(bK.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await LK(this._languageFeaturesService.selectionRangeProvider,i,t.map((e=>e.getPosition())),this._editor.getOption(114),na.XO.None).then((e=>{if(ia.EI(e)&&e.length===t.length&&this._editor.hasModel()&&ia.aI(this._editor.getSelections(),t,((e,t)=>e.equalsSelection(t)))){for(let i=0;ie.containsPosition(t[i].getStartPosition())&&e.containsPosition(t[i].getEndPosition()))),e[i].unshift(t[i]);this._state=e.map((e=>new yK(0,e))),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{this._ignoreSelection||(this._selectionListener?.dispose(),this._state=void 0)}))}})),!this._state)return;this._state=this._state.map((t=>t.mov(e)));const n=this._state.map((e=>$s.L.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}};SK=bK=CK([wK(1,La.ILanguageFeaturesService)],SK);class kK extends Ts{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=SK.get(t);i&&await i.run(this._forward)}}as.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");async function LK(e,t,i,n,s){const o=e.all(t).concat(new vK(n.selectSubwords));1===o.length&&o.unshift(new uB);const r=[],a=[];for(const l of o)r.push(Promise.resolve(l.provideSelectionRanges(t,i,s)).then((e=>{if(ia.EI(e)&&e.length===i.length)for(let t=0;t{if(0===e.length)return[];e.sort(((e,t)=>Gn.y.isBefore(e.getStartPosition(),t.getStartPosition())?1:Gn.y.isBefore(t.getStartPosition(),e.getStartPosition())||Gn.y.isBefore(e.getEndPosition(),t.getEndPosition())?-1:Gn.y.isBefore(t.getEndPosition(),e.getEndPosition())?1:0));const i=[];let s;for(const t of e)(!s||Xs.Q.containsRange(t,s)&&!Xs.Q.equalsRange(t,s))&&(i.push(t),s=t);if(!n.selectLeadingAndTrailingWhitespace)return i;const o=[i[0]];for(let n=1;ne}),IK="data-sticky-line-index",EK="data-sticky-is-line",MK="data-sticky-is-folding-icon";class TK extends Ae.jG{constructor(e){super(),this._editor=e,this._foldingIconStore=new Ae.Cm,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof Ak),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(116)&&t(),e.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))}))),this._register(this._editor.onDidScrollChange((e=>{e.scrollLeftChanged&&t(),e.scrollWidthChanged&&this._updateWidgetWidth()}))),this._register(this._editor.onDidChangeModel((()=>{t(),this._updateWidgetWidth()}))),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange((e=>{this._updateWidgetWidth()}))),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find((t=>t.lineNumber===e))}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(void 0===i&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const n=this._isWidgetHeightZero(e),s=n?void 0:e,o=n?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(s,t,o),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const t=[...e.startLineNumbers];null!==e.showEndForLine&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=t}else this._lastLineRelativePosition=0,this._lineNumbers=[];return 0===t}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(void 0!==t)return t;const i=this._previousState,n=e.startLineNumbers.findIndex((e=>!i.startLineNumbers.includes(e)));return-1===n?0:n}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",this._editor.getScrollWidth()-e.verticalScrollbarWidth+"px"),this._rootDomNode.style.width=e.width-e.verticalScrollbarWidth+"px"}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;te.scrollWidth)))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(111)&&(this._foldingIconStore.add(Ye(this._lineNumbersDomNode,Ut.MOUSE_ENTER,(()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)}))),this._foldingIconStore.add(Ye(this._lineNumbersDomNode,Ut.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))))}_renderChildNode(e,t,i,n){const s=this._editor._getViewModel();if(!s)return;const o=s.coordinatesConverter.convertModelPositionToViewPosition(new Gn.y(t,1)).lineNumber,r=s.getViewLineRenderingData(o),a=this._editor.getOption(68);let l;try{l=ef.filter(r.inlineDecorations,o,r.minColumn,r.maxColumn)}catch(b){l=[]}const h=new lf(!0,!0,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,0,r.tokens,l,r.tabSize,r.startVisibleColumn,1,1,1,500,"none",!0,!0,null),d=new of.fe(2e3),c=uf(h,d);let u;u=NK?NK.createHTML(d.build()):d.build();const g=document.createElement("span");g.setAttribute(IK,String(e)),g.setAttribute(EK,""),g.setAttribute("role","listitem"),g.tabIndex=0,g.className="sticky-line-content",g.classList.add(`stickyLine${t}`),g.style.lineHeight=`${this._lineHeight}px`,g.innerHTML=u;const p=document.createElement("span");p.setAttribute(IK,String(e)),p.setAttribute("data-sticky-is-line-number",""),p.className="sticky-line-number",p.style.lineHeight=`${this._lineHeight}px`;const m=n.contentLeft;p.style.width=`${m}px`;const f=document.createElement("span");1===a.renderType||3===a.renderType&&t%10==0?f.innerText=t.toString():2===a.renderType&&(f.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),f.className="sticky-line-number-inner",f.style.lineHeight=`${this._lineHeight}px`,f.style.width=`${n.lineNumbersWidth}px`,f.style.paddingLeft=`${n.lineNumbersLeft}px`,p.appendChild(f);const _=this._renderFoldingIconForLine(i,t);_&&p.appendChild(_.domNode),this._editor.applyFontInfo(g),this._editor.applyFontInfo(f),p.style.lineHeight=`${this._lineHeight}px`,g.style.lineHeight=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`,g.style.height=`${this._lineHeight}px`;const v=new RK(e,t,g,p,_,c.characterMapping,g.scrollWidth);return this._updateTopAndZIndexOfStickyLine(v)}_updateTopAndZIndexOfStickyLine(e){const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,s=t===this._lineNumbers.length-1;i.style.zIndex=s?"0":"1",n.style.zIndex=s?"0":"1";const o=`${t*this._lineHeight+this._lastLineRelativePosition+(e.foldingIcon?.isCollapsed?1:0)}px`,r=t*this._lineHeight+"px";return i.style.top=s?o:r,n.style.top=s?o:r,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||"never"===i)return;const n=e.regions,s=n.findRange(t),o=n.getStartLineNumber(s);if(!(t===o))return;const r=n.isCollapsed(s),a=new AK(r,o,n.getEndLineNumber(s),this._lineHeight);return a.setVisible(!!this._isOnGlyphMargin||(r||"always"===i)),a.domNode.setAttribute(MK,""),a}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=Nf(t.characterMapping,e,0);return new Gn.y(t.lineNumber,i)}getLineNumberFromChildDomNode(e){return this._getRenderedStickyLineFromChildDomNode(e)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return null===t||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,IK);return t?parseInt(t,10):null}isInStickyLine(e){return void 0!==this._getAttributeValue(e,EK)}isInFoldingIconDomNode(e){return void 0!==this._getAttributeValue(e,MK)}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(null!==i)return i;e=e.parentElement}}}class RK{constructor(e,t,i,n,s,o,r){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=n,this.foldingIcon=s,this.characterMapping=o,this.scrollWidth=r}}class AK{constructor(e,t,i,n){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=n,this.domNode=document.createElement("div"),this.domNode.style.width=`${n}px`,this.domNode.style.height=`${n}px`,this.domNode.className=In.L.asClassName(e?nP:iP)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class PK{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class OK{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class FK{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var WK,BK,HK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},VK=function(e,t){return function(i,n){t(i,n,e)}};!function(e){e.OUTLINE_MODEL="outlineModel",e.FOLDING_PROVIDER_MODEL="foldingProviderModel",e.INDENTATION_MODEL="indentationModel"}(WK||(WK={})),function(e){e[e.VALID=0]="VALID",e[e.INVALID=1]="INVALID",e[e.CANCELED=2]="CANCELED"}(BK||(BK={}));let zK=class extends Ae.jG{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new A.ve(300)),this._updateOperation=this._register(new Ae.Cm),this._editor.getOption(116).defaultModel){case WK.OUTLINE_MODEL:this._modelProviders.push(new KK(this._editor,n));case WK.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new qK(this._editor,t,n));case WK.INDENTATION_MODEL:this._modelProviders.push(new $K(this._editor,i))}}dispose(){this._modelProviders.forEach((e=>e.dispose())),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger((async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:n}=t.computeStickyModel(e);this._modelPromise=n;const s=await i;if(this._modelPromise!==n)return null;switch(s){case BK.CANCELED:return this._updateOperation.clear(),null;case BK.VALID:return t.stickyModel}}return null})).catch((e=>((0,b.dz)(e),null)))}};zK=HK([VK(2,$n._Y),VK(3,La.ILanguageFeaturesService)],zK);class UK extends Ae.jG{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,BK.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=(0,A.SS)((e=>this.createModelFromProvider(e)));return{statusPromise:t.then((t=>this.isModelValid(t)?e.isCancellationRequested?BK.CANCELED:(this._stickyModel=this.createStickyModel(e,t),BK.VALID):this._invalid())).then(void 0,(e=>((0,b.dz)(e),BK.CANCELED))),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let KK=class extends UK{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return DT.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){const{stickyOutlineElement:i,providerID:n}=this._stickyModelFromOutlineModel(t,this._stickyModel?.outlineProviderId),s=this._editor.getModel();return new FK(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(ss.f.first(e.children.values())instanceof xT){const n=ss.f.find(e.children.values(),(e=>e.id===t));if(n)i=n.children;else{let n,s="",o=-1;for(const[t,i]of e.children.entries()){const e=this._findSumOfRangesOfGroup(i);e>o&&(n=i,o=e,s=i.id)}t=s,i=n.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort(((e,t)=>{const i=new PK(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),n=new PK(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber);return this._comparator(i,n)}));for(const o of s)n.push(this._stickyModelFromOutlineElement(o,o.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new OK(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const s of e.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const e of s.children.values())i.push(this._stickyModelFromOutlineElement(e,s.symbol.selectionRange.startLineNumber));i.sort(((e,t)=>this._comparator(e.range,t.range)));const n=new PK(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new OK(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof LT?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};KK=HK([VK(1,La.ILanguageFeaturesService)],KK);class jK extends UK{constructor(e){super(e),this._foldingLimitReporter=new vP(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new FK(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return null!==e}_fromFoldingRegions(e){const t=e.length,i=[],n=new OK(void 0,[],void 0);for(let s=0;s0&&(this.provider=this._register(new cP(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return void 0!==this.provider}async createModelFromProvider(e){return this.provider?.compute(e)??null}};qK=HK([VK(2,La.ILanguageFeaturesService)],qK);var GK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},QK=function(e,t){return function(i,n){t(i,n,e)}};class YK{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let ZK=class extends Ae.jG{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new P.vl),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Ae.Cm),this._updateSoon=this._register(new A.uC((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(116)&&this.readConfiguration()}))),this.readConfiguration()}readConfiguration(){this._sessionStore.clear();this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel((()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()}))),this._sessionStore.add(this._editor.onDidChangeHiddenAreas((()=>this.update()))),this._sessionStore.add(this._editor.onDidChangeModelContent((()=>this._updateSoon.schedule()))),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>this.update()))),this._sessionStore.add((0,Ae.s)((()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null}))),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){this._stickyModelProvider?.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new zK(e,(()=>this._updateSoon.schedule()),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new na.Qi,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return-1===e?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,s){if(0===t.children.length)return;let o=s;const r=[];for(let h=0;he-t))),l=this.updateIndex((0,ia.El)(r,e.startLineNumber+n,((e,t)=>e-t)));for(let h=a;h<=l;h++){const r=t.children[h];if(!r)return;if(r.range){const t=r.range.startLineNumber,s=r.range.endLineNumber;e.startLineNumber<=s+1&&t-1<=e.endLineNumber&&t!==o&&(o=t,i.push(new YK(t,s-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,r,i,n+1,t))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,r,i,n,s)}}getCandidateStickyLinesIntersecting(e){if(!this._model?.element)return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=this._editor._getViewModel()?.getHiddenAreas();if(i)for(const n of i)t=t.filter((e=>!(e.startLineNumber>=n.startLineNumber&&e.endLineNumber<=n.endLineNumber+1)));return t}};ZK=GK([QK(1,La.ILanguageFeaturesService),QK(2,Fo.JZ)],ZK);var XK,JK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ej=function(e,t){return function(i,n){t(i,n,e)}};let tj=class extends Ae.jG{static{XK=this}static{this.ID="store.contrib.stickyScrollController"}constructor(e,t,i,n,s,o,r){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=r,this._sessionStore=new Ae.Cm,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new TK(this._editor),this._stickyLineCandidateProvider=new ZK(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=DK.Empty,this._onDidResize(),this._readConfiguration();const a=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((e=>{this._readConfigurationChange(e)}))),this._register(Ye(a,Ut.CONTEXT_MENU,(async e=>{this._onContextMenu(We(a),e)}))),this._stickyScrollFocusedContextKey=js.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=js.stickyScrollVisible.bindTo(this._contextKeyService);const l=this._register(qt(a));this._register(l.onDidBlur((e=>{!1===this._positionRevealed&&0===a.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(l.onDidFocus((e=>{this.focus()}))),this._registerMouseListeners(),this._register(Ye(a,Ut.MOUSE_DOWN,(e=>{this._onMouseDown=!0})))}static get(e){return e.getContribution(XK.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new Ae.Cm,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,(()=>this._editor.revealPosition(e)))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,(()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0)))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(Xs.Q.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new Ae.Cm),t=this._register(new Lk(this._editor,{extractLineNumberFromMouseEvent:e=>{const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);return t?t.lineNumber:0}})),i=e=>{if(!this._editor.hasModel())return null;if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return null;const t=e.target.element;if(!t||t.innerText!==t.innerHTML)return null;const i=this._stickyScrollWidget.getEditorPositionFromNode(t);return i?{range:new Xs.Q(i.lineNumber,i.column,i.lineNumber,i.column+t.innerText.length),textElement:t}:null},n=this._stickyScrollWidget.getDomNode();this._register(Xe(n,Ut.CLICK,(e=>{if(e.ctrlKey||e.altKey||e.metaKey)return;if(!e.leftButton)return;if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t)return;const i=new Gn.y(this._endLineNumbers[t],1);return void this._revealLineInCenterIfOutsideViewport(i)}if(this._stickyScrollWidget.isInFoldingIconDomNode(e.target)){const t=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);return void this._toggleFoldingRegionForLine(t)}if(!this._stickyScrollWidget.isInStickyLine(e.target))return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target);if(!t){const i=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);if(null===i)return;t=new Gn.y(i,1)}this._revealPosition(t)}))),this._register(Xe(n,Ut.MOUSE_MOVE,(e=>{if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t||null!==this._showEndForLine&&this._showEndForLine===t)return;return this._showEndForLine=t,void this._renderStickyScroll()}void 0!==this._showEndForLine&&(this._showEndForLine=void 0,this._renderStickyScroll())}))),this._register(Ye(n,Ut.MOUSE_LEAVE,(e=>{void 0!==this._showEndForLine&&(this._showEndForLine=void 0,this._renderStickyScroll())}))),this._register(t.onMouseMoveOrRelevantKeyDown((([t,n])=>{const s=i(t);if(!s||!t.hasTriggerModifier||!this._editor.hasModel())return void e.clear();const{range:o,textElement:r}=s;if(o.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===r.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=o,e.clear();const a=new na.Qi;let l;e.add((0,Ae.s)((()=>a.dispose(!0)))),WN(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Gn.y(o.startLineNumber,o.startColumn+1),!1,a.token).then((t=>{if(!a.token.isCancellationRequested)if(0!==t.length){this._candidateDefinitionsLength=t.length;const i=r;l!==i?(e.clear(),l=i,l.style.textDecoration="underline",e.add((0,Ae.s)((()=>{l.style.textDecoration="none"})))):l||(l=i,l.style.textDecoration="underline",e.add((0,Ae.s)((()=>{l.style.textDecoration="none"}))))}else e.clear()}))}))),this._register(t.onCancel((()=>{e.clear()}))),this._register(t.onExecute((async e=>{if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return;const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);t&&this._editor.hasModel()&&this._stickyRangeProjectedOnEditor&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t.lineNumber,column:1})),this._instaService.invokeFunction(JN,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))})))}_onContextMenu(e,t){const i=new T(e,t);this._contextMenuService.showContextMenu({menuId:_s.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||null===e)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t?.foldingIcon;if(!i)return;UA(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const n=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(n),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(!1===e.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((e=>{e.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())}))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((e=>this._onTokensChange(e)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=void 0,this._renderStickyScroll()}))),this._enabled=!0);2===this._editor.getOption(68).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)})))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const t of e.ranges)if(i>=t.fromLineNumber&&i<=t.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const e=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(.25*e)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization())return void this._resetState();const i=this._updateAndGetMinRebuildFromLine(e),n=this._stickyLineCandidateProvider.getVersionId();if(void 0===n||n===t.getVersionId())if(this._focused)if(-1===this._focusedStickyElementIndex)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const e=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];if(await this._updateState(i),0===this._stickyScrollWidget.lineNumberCount)this._focusedStickyElementIndex=-1;else{this._stickyScrollWidget.lineNumbers.includes(e)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}}else await this._updateState(i)}_updateAndGetMinRebuildFromLine(e){if(void 0!==e){const t=void 0!==this._minRebuildFromLine?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){this._minRebuildFromLine=void 0,this._foldingModel=await(_P.get(this._editor)?.getFoldingModel())??void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=DK.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const s=[],o=[],r=this._editor.getVisibleRanges();if(0!==r.length){const a=new PK(r[0].startLineNumber,r[r.length-1].endLineNumber),l=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(a);for(const r of l){const a=r.startLineNumber,l=r.endLineNumber,h=r.nestingDepth;if(l-a>0){const r=(h-1)*e,d=h*e,c=this._editor.getBottomForLineNumber(a)-i,u=this._editor.getTopForLineNumber(l)-i,g=this._editor.getBottomForLineNumber(l)-i;if(r>u&&r<=g){s.push(a),o.push(l+1),n=g-d;break}if(d>c&&d<=g&&(s.push(a),o.push(l+1)),s.length===t)break}}}return this._endLineNumbers=o,new DK(s,o,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};tj=XK=JK([ej(1,vd),ej(2,La.ILanguageFeaturesService),ej(3,$n._Y),ej(4,Fo.JZ),ej(5,Mw.ILanguageFeatureDebounceService),ej(6,ls.fN)],tj);const ij=100;Bs(tj.ID,tj,1),ks(class extends Ss{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...(0,jn.aS)("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:(0,jn.kg)({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:(0,jn.aS)("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:xK.View,toggled:{condition:ls.M$.equals("config.editor.stickyScroll.enabled",!0),title:(0,jn.kg)("stickyScroll","Sticky Scroll"),mnemonicTitle:(0,jn.kg)({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:_s.CommandPalette},{id:_s.MenubarAppearanceMenu,group:"4_editor",order:3},{id:_s.StickyScrollContext}]})}async run(e){const t=e.get(Fp.pG),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}),ks(class extends As{constructor(){super({id:"editor.action.focusStickyScroll",title:{...(0,jn.aS)("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:(0,jn.kg)({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:ls.M$.and(ls.M$.has("config.editor.stickyScroll.enabled"),js.stickyScrollVisible),menu:[{id:_s.CommandPalette}]})}runEditorCommand(e,t){tj.get(t)?.focus()}}),ks(class extends As{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:(0,jn.aS)("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:js.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ij,primary:16}})}runEditorCommand(e,t){tj.get(t)?.focusPrevious()}}),ks(class extends As{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:(0,jn.aS)("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:js.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ij,primary:18}})}runEditorCommand(e,t){tj.get(t)?.focusNext()}}),ks(class extends As{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:(0,jn.aS)("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:js.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ij,primary:3}})}runEditorCommand(e,t){tj.get(t)?.goToFocused()}}),ks(class extends As{constructor(){super({id:"editor.action.selectEditor",title:(0,jn.aS)("selectEditor.title","Select Editor"),precondition:js.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ij,primary:9}})}runEditorCommand(e,t){tj.get(t)?.selectEditor()}});var nj=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},sj=function(e,t){return function(i,n){t(i,n,e)}};class oj{constructor(e,t,i,n,s,o){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=n,this.command=s,this.completion=o}}let rj=class extends Ae.mp{constructor(e,t,i,n,s,o){super(s.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=n,this._suggestMemoryService=o}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn=0&&r.resolve(na.XO.None)}return e}};rj=nj([sj(5,iB)],rj);let aj=class extends Ae.jG{constructor(e,t,i,n){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=n,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,n){if(i.selectedSuggestionInfo)return;let s;for(const u of this._editorService.listCodeEditors())if(u.getModel()===e){s=u;break}if(!s)return;const o=s.getOption(90);if(_W.isAllOff(o))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const r=e.tokenization.getLineTokens(t.lineNumber),a=r.getStandardTokenType(r.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("inline"!==_W.valueFor(o,a))return;let l,h,d=e.getWordAtPosition(t);if(d?.word||(l=this._getTriggerCharacterInfo(e,t)),!d?.word&&!l)return;if(d||(d=e.getWordUntilPosition(t)),d.endColumn!==t.column)return;const c=e.getValueInRange(new Xs.Q(t.lineNumber,1,t.lineNumber,t.column));if(!l&&this._lastResult?.canBeReused(e,t.lineNumber,d)){const e=new pB(c,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=e,this._lastResult.acquire(),h=this._lastResult}else{const i=await pW(this._languageFeatureService.completionProvider,e,t,new cW(void 0,wB.createSuggestFilter(s).itemKind,l?.providers),l&&{triggerKind:1,triggerCharacter:l.ch},n);let o;i.needsClipboard&&(o=await this._clipboardService.readText());const r=new mB(i.items,t.column,new pB(c,0),gB.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},o);h=new rj(e,t.lineNumber,d,r,i,this._suggestMemoryService)}return this._lastResult=h,h}handleItemDidShow(e,t){t.completion.resolve(na.XO.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){const i=e.getValueInRange(Xs.Q.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),n=new Set;for(const s of this._languageFeatureService.completionProvider.all(e))s.triggerCharacters?.includes(i)&&n.add(s);if(0!==n.size)return{providers:n,ch:i}}};aj=nj([sj(0,La.ILanguageFeaturesService),sj(1,Kh),sj(2,iB),sj(3,qn)],aj),Ow(aj);class lj{constructor(e,t,i,n,s){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=n,this.background=s}}const hj=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class dj{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(e){if(null===e)return 0;const t=e.match(hj);if(!t)throw new Error("Illegal value for token color: "+e);e=t[1].toUpperCase();let i=this._color2id.get(e);return i||(i=++this._lastColorId,this._color2id.set(e,i),this._id2color[i]=hd.Q1.fromHex("#"+e),i)}getColorMap(){return this._id2color.slice(0)}}class cj{static createFromRawTokenTheme(e,t){return this.createFromParsedTokenTheme(function(e){if(!e||!Array.isArray(e))return[];const t=[];let i=0;for(let n=0,s=e.length;n{const i=function(e,t){return et?1:0}(e.token,t.token);return 0!==i?i:e.index-t.index}));let i=0,n="000000",s="ffffff";for(;e.length>=1&&""===e[0].token;){const t=e.shift();-1!==t.fontStyle&&(i=t.fontStyle),null!==t.foreground&&(n=t.foreground),null!==t.background&&(s=t.background)}const o=new dj;for(const d of t)o.getId(d);const r=o.getId(n),a=o.getId(s),l=new gj(i,r,a),h=new pj(l);for(let d=0,c=e.length;d>>0,this._cache.set(t,i)}return(i|e)>>>0}}const uj=/\b(comment|string|regex|regexp)\b/;class gj{constructor(e,t,i){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new gj(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==i&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class pj{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(""===e)return this._mainRule;const t=e.indexOf(".");let i,n;-1===t?(i=e,n=""):(i=e.substring(0,t),n=e.substring(t+1));const s=this._children.get(i);return void 0!==s?s.match(n):this._mainRule}insert(e,t,i,n){if(""===e)return void this._mainRule.acceptOverwrite(t,i,n);const s=e.indexOf(".");let o,r;-1===s?(o=e,r=""):(o=e.substring(0,s),r=e.substring(s+1));let a=this._children.get(o);void 0===a&&(a=new pj(this._mainRule.clone()),this._children.set(o,a)),a.insert(r,t,i,n)}}const mj={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[to.YtV]:"#FFFFFE",[to.By2]:"#000000",[to.tan]:"#E5EBF1",[Zf.vV]:"#D3D3D3",[Zf.H0]:"#939393",[to.QwA]:"#ADD6FF4D"}},fj={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[to.YtV]:"#1E1E1E",[to.By2]:"#D4D4D4",[to.tan]:"#3A3D41",[Zf.vV]:"#404040",[Zf.H0]:"#707070",[to.QwA]:"#ADD6FF26"}},_j={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[to.YtV]:"#000000",[to.By2]:"#FFFFFF",[Zf.vV]:"#FFFFFF",[Zf.H0]:"#FFFFFF"}},vj={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[to.YtV]:"#FFFFFF",[to.By2]:"#292929",[Zf.vV]:"#292929",[Zf.H0]:"#292929"}};class bj{getIcon(e){const t=fu();let i=e.defaults;for(;In.L.isThemeIcon(i);){const e=t.getIcon(i.id);if(!e)return;i=e.defaults}return i}}const Cj="vs",wj="vs-dark",yj="hc-black",Sj="hc-light",kj=hs.O.as(to.FdG.ColorContribution),Lj=hs.O.as(io.Fd.ThemingContribution);class xj{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(Dj(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,hd.Q1.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=Nj(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,hd.Q1.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);return i||(!1!==t?this.getDefault(e):void 0)}getDefault(e){let t=this.defaultColors[e];return t||(t=kj.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case Cj:return Bp.zM.LIGHT;case yj:return Bp.zM.HIGH_CONTRAST_DARK;case Sj:return Bp.zM.HIGH_CONTRAST_LIGHT;default:return Bp.zM.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const i=Nj(this.themeData.base);e=i.rules,i.encodedTokensColors&&(t=i.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],n=this.themeData.colors["editor.background"];if(i||n){const t={token:""};i&&(t.foreground=i),n&&(t.background=n),e.push(t)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=cj.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const n=this.tokenTheme._match([e].concat(t).join(".")).metadata,s=lV.x.getForeground(n),o=lV.x.getFontStyle(n);return{foreground:s,italic:Boolean(1&o),bold:Boolean(2&o),underline:Boolean(4&o),strikethrough:Boolean(8&o)}}}function Dj(e){return e===Cj||e===wj||e===yj||e===Sj}function Nj(e){switch(e){case Cj:return mj;case wj:return fj;case yj:return _j;case Sj:return vj}}function Ij(e){const t=Nj(e);return new xj(e,t)}class Ej extends Ae.jG{constructor(){super(),this._onColorThemeChange=this._register(new P.vl),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new P.vl),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new bj,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(Cj,Ij(Cj)),this._knownThemes.set(wj,Ij(wj)),this._knownThemes.set(yj,Ij(yj)),this._knownThemes.set(Sj,Ij(Sj));const e=this._register(function(e){const t=new Ae.Cm,i=t.add(new P.vl),n=fu();return t.add(n.onDidChange((()=>i.fire()))),e&&t.add(e.onDidProductIconThemeChange((()=>i.fire()))),{dispose:()=>t.dispose(),onDidChange:i.event,getCSS(){const t=e?e.getProductIconTheme():new bj,i={},s=[],o=[];for(const e of n.getIcons()){const n=t.getIcon(e);if(!n)continue;const r=n.font,a=`--vscode-icon-${e.id}-font-family`,l=`--vscode-icon-${e.id}-content`;r?(i[r.id]=r.definition,o.push(`${a}: ${ri(r.id)};`,`${l}: '${n.fontCharacter}';`),s.push(`.codicon-${e.id}:before { content: '${n.fontCharacter}'; font-family: ${ri(r.id)}; }`)):(o.push(`${l}: '${n.fontCharacter}'; ${a}: 'codicon';`),s.push(`.codicon-${e.id}:before { content: '${n.fontCharacter}'; }`))}for(const e in i){const t=i[e],n=t.weight?`font-weight: ${t.weight};`:"",o=t.style?`font-style: ${t.style};`:"",r=t.src.map((e=>`${oi(e.location)} format('${e.format}')`)).join(", ");s.push(`@font-face { src: ${r}; font-family: ${ri(e)};${n}${o} font-display: block; }`)}return s.push(`:root { ${o.join(" ")} }`),s.join("\n")}}}(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(Cj),this._onOSSchemeChanged(),this._register(e.onDidChange((()=>{this._codiconCSS=e.getCSS(),this._updateCSS()}))),a(o,"(forced-colors: active)",(()=>{this._onOSSchemeChanged()}))}registerEditorContainer(e){return Ct(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=Et(void 0,(e=>{e.className="monaco-colors",e.textContent=this._allCSS})),this._styleElements.push(this._globalStyleElement)),Ae.jG.None}_registerShadowDomContainer(e){const t=Et(e,(e=>{e.className="monaco-colors",e.textContent=this._allCSS}));return this._styleElements.push(t),{dispose:()=>{for(let e=0;e{t.base===e&&t.notifyBaseUpdated()})),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(Cj),this._updateActualTheme(t)}_updateActualTheme(e){e&&this._theme!==e&&(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=o.matchMedia("(forced-colors: active)").matches;if(e!==(0,Bp.Bb)(this._theme.type)){let t;t=(0,Bp.HD)(this._theme.type)?e?yj:wj:e?Sj:Cj,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:i=>{t[i]||(e.push(i),t[i]=!0)}};Lj.getThemingParticipants().forEach((e=>e(this._theme,i,this._environment)));const n=[];for(const o of kj.getColors()){const e=this._theme.getColor(o.id,!0);e&&n.push(`${(0,to.Bbc)(o.id)}: ${e.toString()};`)}i.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${n.join("\n")} }`);const s=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(function(e){const t=[];for(let i=1,n=e.length;ie.textContent=this._allCSS))}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}Fs(class extends Ts{constructor(){super({id:"editor.action.toggleHighContrast",label:SO.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(hV),n=i.getColorTheme();(0,Bp.Bb)(n.type)?(i.setTheme(this._originalThemeName||((0,Bp.HD)(n.type)?wj:Cj)),this._originalThemeName=null):(i.setTheme((0,Bp.HD)(n.type)?yj:Sj),this._originalThemeName=n.themeName)}});class Mj extends Ss{static{this.ID="editor.action.toggleTabFocusMode"}constructor(){super({id:Mj.ID,title:jn.aS({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:jn.aS("tabMovesFocusDescriptions","Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const e=!wm.getTabFocusMode();wm.setTabFocusMode(e),Ci(e?jn.kg("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"):jn.kg("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}ks(Mj);Fs(class extends Ts{constructor(){super({id:"editor.action.forceRetokenize",label:jn.kg("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new Hp.W;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}});var Tj=i(49887),Rj=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Aj=function(e,t){return function(i,n){t(i,n,e)}};let Pj=class extends Ae.jG{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},n,s){super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=Gt(e,ei("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??ad("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const o=this._register(new Vr(this.el,"click")),r=this._register(new Vr(this.el,"keypress")),a=P.Jh.chain(r.event,(e=>e.map((e=>new N(e))).filter((e=>3===e.keyCode)))),l=this._register(new Vr(this.el,td.Tap)).event;this._register(nd.addTarget(this.el));const h=P.Jh.any(o.event,a,l);this._register(h((e=>{this.enabled&&(jt(e,!0),i?.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))}))),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Pj=Rj([Aj(3,nk),Aj(4,Th)],Pj);var Oj=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Fj=function(e,t){return function(i,n){t(i,n,e)}};let Wj=class extends Ae.jG{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Bj))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{this.hide(),e.onClose?.()}}),this._editor.setBanner(this.banner.element,26)}};Wj=Oj([Fj(1,$n._Y)],Wj);let Bj=class extends Ae.jG{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Oh,{}),this.element=ei("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){return e.ariaLabel?e.ariaLabel:"string"==typeof e.message?e.message:void 0}getBannerMessage(e){if("string"==typeof e){const t=ei("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Ge(this.element)}show(e){Ge(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=Gt(this.element,ei("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(ei(`div${In.L.asCSSSelector(e.icon)}`));const n=Gt(this.element,ei("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=Gt(this.element,ei("div.message-actions-container")),e.actions)for(const o of e.actions)this._register(this.instantiationService.createInstance(Pj,this.messageActionsContainer,{...o,tabIndex:-1},{}));const s=Gt(this.element,ei("div.action-container"));this.actionBar=this._register(new Jg(s)),this.actionBar.push(this._register(new Zn("banner.close","Close Banner",In.L.asClassName(Cu),!0,(()=>{"function"==typeof e.onClose&&e.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Bj=Oj([Fj(0,$n._Y)],Bj);const Hj=(0,$n.u1)("workspaceTrustManagementService");var Vj=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},zj=function(e,t){return function(i,n){t(i,n,e)}};const Uj=mu("extensions-warning-message",vl.W.warning,jn.kg("warningIcon","Icon shown with a warning message in the extensions editor."));let Kj=class extends Ae.jG{static{this.ID="editor.contrib.unicodeHighlighter"}constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=e=>{if(e&&e.hasMore){if(this._bannerClosed)return;const t=Math.max(e.ambiguousCharacterCount,e.nonBasicAsciiCharacterCount,e.invisibleCharacterCount);let i;if(e.nonBasicAsciiCharacterCount>=t)i={message:jn.kg("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new n$};else if(e.ambiguousCharacterCount>=t)i={message:jn.kg("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new t$};else{if(!(e.invisibleCharacterCount>=t))throw new Error("Unreachable");i={message:jn.kg("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new i$}}this._bannerController.show({id:"unicodeHighlightBanner",message:i.message,icon:Uj,actions:[{label:i.command.shortLabel,href:`command:${i.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Wj,e)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=e.getOption(126),this._register(i.onDidChangeTrust((e=>{this._updateHighlighter()}))),this._register(e.onDidChangeConfiguration((t=>{t.hasChanged(126)&&(this._options=e.getOption(126),this._updateHighlighter())}))),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=function(e,t){return{nonBasicASCII:t.nonBasicASCII===Cc?!e:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments===Cc?!e:t.includeComments,includeStrings:t.includeStrings===Cc?!e:t.includeStrings,allowedCharacters:t.allowedCharacters,allowedLocales:t.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every((e=>!1===e)))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map((e=>e.codePointAt(0))),allowedLocales:Object.keys(e.allowedLocales).map((e=>{if("_os"===e){return(new Intl.NumberFormat).resolvedOptions().locale}return"_vscode"===e?f.BH:e}))};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new jj(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new $j(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};Kj=Vj([zj(1,Ww.IEditorWorkerService),zj(2,Hj),zj(3,$n._Y)],Kj);let jj=class extends Ae.jG{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new A.uC((()=>this._update()),250)),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((t=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const e of t.ranges)i.push({range:e,options:Xj.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)}))}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!CC(t,e))return null;return{reason:Zj(t.getValueInRange(e.range),this._options),inComment:wC(t,e),inString:yC(t,e)}}};jj=Vj([zj(3,Ww.IEditorWorkerService)],jj);class $j extends Ae.jG{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new A.uC((()=>this._update()),250)),this._register(this._editor.onDidLayoutChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidScrollChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeHiddenAreas((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const n of e){const e=Tj.UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model,this._options,n);for(const t of e.ranges)i.ranges.push(t);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||e.hasMore}if(!i.hasMore)for(const n of i.ranges)t.push({range:n,options:Xj.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return CC(t,e)?{reason:Zj(i,this._options),inComment:wC(t,e),inString:yC(t,e)}:null}}const qj=jn.kg("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let Gj=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),n=this._editor.getContribution(Kj.ID);if(!n)return[];const s=[],o=new Set;let r=300;for(const a of t){const e=n.getDecorationInfo(a);if(!e)continue;const t=i.getValueInRange(a.range).codePointAt(0),l=Yj(t);let h;switch(e.reason.kind){case 0:h=(0,Ti.aC)(e.reason.confusableWith)?jn.kg("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",l,Yj(e.reason.confusableWith.codePointAt(0))):jn.kg("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",l,Yj(e.reason.confusableWith.codePointAt(0)));break;case 1:h=jn.kg("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",l);break;case 2:h=jn.kg("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",l)}if(o.has(h))continue;o.add(h);const d={codePoint:t,reason:e.reason,inComment:e.inComment,inString:e.inString},c=jn.kg("unicodeHighlight.adjustSettings","Adjust settings"),u=`command:${s$.ID}?${encodeURIComponent(JSON.stringify(d))}`,g=new Hn("",!0).appendMarkdown(h).appendText(" ").appendLink(u,c,qj);s.push(new gk(this,a.range,[g],!1,r++))}return s}renderHoverParts(e,t){return function(e,t,i,n,s){t.sort((0,ia.VE)((e=>e.ordinal),ia.U9));const o=[];for(const r of t)o.push(vk(i,r,n,s,e.onContentsChanged));return new my(o)}(e,t,this._editor,this._languageService,this._openerService)}};function Qj(e){return`U+${e.toString(16).padStart(4,"0")}`}function Yj(e){let t=`\`${Qj(e)}\``;return Ti.y_.isInvisibleCharacter(e)||(t+=` "${function(e){if(96===e)return"`` ` ``";return"`"+String.fromCodePoint(e)+"`"}(e)}"`),t}function Zj(e,t){return Tj.UnicodeTextModelHighlighter.computeUnicodeHighlightReason(e,t)}Gj=Vj([zj(1,xh.L),zj(2,Th)],Gj);class Xj{constructor(){this.map=new Map}static{this.instance=new Xj}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=eo.kI.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}}class Jj extends Ts{constructor(){super({id:t$.ID,label:jn.kg("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=jn.kg("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e?.get(Fp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(Lc,!1,2)}}class e$ extends Ts{constructor(){super({id:t$.ID,label:jn.kg("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=jn.kg("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e?.get(Fp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(xc,!1,2)}}class t$ extends Ts{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters"}constructor(){super({id:t$.ID,label:jn.kg("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=jn.kg("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e?.get(Fp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(kc,!1,2)}}class i$ extends Ts{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters"}constructor(){super({id:i$.ID,label:jn.kg("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=jn.kg("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e?.get(Fp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(yc,!1,2)}}class n$ extends Ts{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters"}constructor(){super({id:n$.ID,label:jn.kg("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=jn.kg("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e?.get(Fp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sc,!1,2)}}class s$ extends Ts{static{this.ID="editor.action.unicodeHighlight.showExcludeOptions"}constructor(){super({id:s$.ID,label:jn.kg("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:n,reason:s,inString:o,inComment:r}=i,a=String.fromCodePoint(n),l=e.get(Jh),h=e.get(Fp.pG);const d=[];if(0===s.kind)for(const u of s.notAmbiguousInLocales)d.push({label:jn.kg("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',u),run:async()=>{o$(h,[u])}});if(d.push({label:function(e){return Ti.y_.isInvisibleCharacter(e)?jn.kg("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Qj(e)):jn.kg("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Qj(e)} "${a}"`)}(n),run:()=>async function(e,t){const i=e.getValue(wc);let n;n="object"==typeof i&&i?i:{};for(const s of t)n[String.fromCodePoint(s)]=!0;await e.updateValue(wc,n,2)}(h,[n])}),r){const e=new Jj;d.push({label:e.label,run:async()=>e.runAction(h)})}else if(o){const e=new e$;d.push({label:e.label,run:async()=>e.runAction(h)})}if(0===s.kind){const e=new t$;d.push({label:e.label,run:async()=>e.runAction(h)})}else if(1===s.kind){const e=new i$;d.push({label:e.label,run:async()=>e.runAction(h)})}else if(2===s.kind){const e=new n$;d.push({label:e.label,run:async()=>e.runAction(h)})}else!function(e){throw new Error(`Unexpected value: ${e}`)}(s);const c=await l.pick(d,{title:qj});c&&await c.run()}}async function o$(e,t){const i=e.inspect(Dc).user?.value;let n;n="object"==typeof i&&i?Object.assign({},i):{};for(const s of t)n[s]=!0;await e.updateValue(Dc,n,2)}Fs(t$),Fs(i$),Fs(n$),Fs(s$),Bs(Kj.ID,Kj,1),fy.register(Gj);var r$=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},a$=function(e,t){return function(i,n){t(i,n,e)}};const l$="ignoreUnusualLineTerminators";let h$=class extends Ae.jG{static{this.ID="editor.contrib.unusualLineTerminatorsDetector"}constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((e=>{e.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators())return;const t=function(e,t){return e.getModelProperty(t.uri,l$)}(this._codeEditorService,e);if(!0===t)return;if(this._editor.getOption(92))return;if("auto"===this._config)return void e.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:jn.kg("unusualLineTerminators.title","Unusual Line Terminators"),message:jn.kg("unusualLineTerminators.message","Detected unusual line terminators"),detail:jn.kg("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",(0,Wn.P8)(e.uri)),primaryButton:jn.kg({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:jn.kg("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}i.confirmed?e.removeUnusualLineTerminators(this._editor.getSelections()):function(e,t,i){e.setModelProperty(t.uri,l$,i)}(this._codeEditorService,e,!0)}};h$=r$([a$(1,Kz),a$(2,qn)],h$),Bs(h$.ID,h$,1);var d$=i(74403),c$=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},u$=function(e,t){return function(i,n){t(i,n,e)}};class g${constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const n=[],s=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!s)return Promise.resolve(n);if(e.isDisposed())return;return e.findMatches(s.word,!0,!1,!0,Gd.J3,!1).map((e=>({range:e.range,kind:ka.Kb.Text})))}provideMultiDocumentHighlights(e,t,i,n){const s=new Si.fT,o=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!o)return Promise.resolve(s);for(const r of[e,...i]){if(r.isDisposed())continue;const e=r.findMatches(o.word,!0,!1,!0,Gd.J3,!1).map((e=>({range:e.range,kind:ka.Kb.Text})));e&&s.set(r.uri,e)}return s}}let p$=class extends Ae.jG{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new g$)),this._register(e.multiDocumentHighlightProvider.register("*",new g$))}};p$=c$([u$(0,La.ILanguageFeaturesService)],p$);var m$,f$,_$=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},v$=function(e,t){return function(i,n){t(i,n,e)}};const b$=new ls.N1("hasWordHighlights",!1);function C$(e,t,i,n){const s=e.ordered(t);return(0,A.$1)(s.map((e=>()=>Promise.resolve(e.provideDocumentHighlights(t,i,n)).then(void 0,b.M_))),(e=>null!=e)).then((e=>{if(e){const i=new Si.fT;return i.set(t.uri,e),i}return new Si.fT}))}class w${constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=(0,A.SS)((e=>this._compute(this._model,this._selection,this._wordSeparators,e)))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new Xs.Q(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,s=t.startColumn,o=t.endColumn,r=this._getCurrentWordRange(e,t);let a=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let l=0,h=i.length;!a&&l=o&&(a=!0)}return a}cancel(){this.result.cancel()}}class y$ extends w${constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return C$(this._providers,e,t.getPosition(),n).then((e=>e||new Si.fT))}}class S$ extends w${constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return function(e,t,i,n,s,o){const r=e.ordered(t);return(0,A.$1)(r.map((e=>()=>{const n=o.filter((e=>(0,Js.vd)(e))).filter((t=>(0,d$.f)(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0));return Promise.resolve(e.provideMultiDocumentHighlights(t,i,n,s)).then(void 0,b.M_)})),(e=>null!=e))}(this._providers,e,t.getPosition(),0,n,this._otherModels).then((e=>e||new Si.fT))}}Ps("_executeDocumentHighlights",(async(e,t,i)=>{const n=e.get(La.ILanguageFeaturesService),s=await C$(n.documentHighlightProvider,t,i,na.XO.None);return s?.get(t.uri)}));let k$=class{static{m$=this}static{this.storedDecorationIDs=new Si.fT}static{this.query=null}constructor(e,t,i,n,s){this.toUnhook=new Ae.Cm,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Si.fT,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new A.ve(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=b$.bindTo(n),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition((e=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this.runDelayer.trigger((()=>{this._onPositionChanged(e)}))}))),this.toUnhook.add(e.onDidFocusEditorText((e=>{"off"!==this.occurrencesHighlight&&(this.workerRequest||this.runDelayer.trigger((()=>{this._run()})))}))),this.toUnhook.add(e.onDidChangeModelContent((e=>{(0,Pe.v$)(this.model.uri,"output")||this._stopAll()}))),this.toUnhook.add(e.onDidChangeModel((e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():m$.query&&this._run()}))),this.toUnhook.add(e.onDidChangeConfiguration((e=>{const t=this.editor.getOption(81);if(this.occurrencesHighlight!==t)switch(this.occurrencesHighlight=t,t){case"off":this._stopAll();break;case"singleFile":this._stopAll(m$.query?.modelInfo?.model);break;case"multiFile":m$.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",t)}}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,m$.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(Xs.Q.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),t=e.findIndex((e=>e.containsPosition(this.editor.getPosition()))),i=(t+1)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const t=this._getWord();if(t){Ci(`${this.editor.getModel().getLineContent(n.startLineNumber)}, ${i+1} of ${e.length} for '${t.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),t=e.findIndex((e=>e.containsPosition(this.editor.getPosition()))),i=(t-1+e.length)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const t=this._getWord();if(t){Ci(`${this.editor.getModel().getLineContent(n.startLineNumber)}, ${i+1} of ${e.length} for '${t.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=m$.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),m$.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const n of t){if(!n.hasModel()||(0,Wn.n4)(n.getModel().uri,e?.uri))continue;const t=m$.storedDecorationIDs.get(n.getModel().uri);if(!t)continue;n.removeDecorations(t),i.push(n.getModel().uri);const s=L$.get(n);s?.wordHighlighter&&(s.wordHighlighter.decorations.length>0&&(s.wordHighlighter.decorations.clear(),s.wordHighlighter.workerRequest=null,s.wordHighlighter._hasWordHighlights.set(!1)))}for(const n of i)m$.storedDecorationIDs.delete(n)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==Pe.ny.vscodeNotebookCell&&m$.query?.modelInfo?.model.uri.scheme!==Pe.ny.vscodeNotebookCell?(m$.query=null,this._run()):m$.query?.modelInfo&&(m$.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){"off"!==this.occurrencesHighlight&&(3===e.reason||this.editor.getModel()?.uri.scheme===Pe.ny.vscodeNotebookCell)?this._run():this._stopAll()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===Pe.ny.vscodeNotebookCell){const t=[],i=this.codeEditorService.listCodeEditors();for(const n of i){const i=n.getModel();i&&i!==e&&i.uri.scheme===Pe.ny.vscodeNotebookCell&&t.push(i)}return t}const t=[],i=this.codeEditorService.listCodeEditors();for(const n of i){if(!Ek(n))continue;const i=n.getModel();i&&(e===i.modified&&t.push(i.modified))}if(t.length)return t;if("singleFile"===this.occurrencesHighlight)return[];for(const n of i){const i=n.getModel();i&&i!==e&&t.push(i)}return t}_run(e){let t;if(this.editor.hasTextFocus()){const e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber)return m$.query=null,void this._stopAll();const i=e.startColumn,n=e.endColumn,s=this._getWord();if(!s||s.startColumn>i||s.endColumn{t===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations())}),b.dz)}}computeWithModel(e,t,i,n){return n.length?function(e,t,i,n,s,o){return new S$(t,i,s,e,o)}(this.multiDocumentProviders,e,t,0,this.editor.getOption(132),n):function(e,t,i,n,s){return new y$(t,i,s,e)}(this.providers,e,t,0,this.editor.getOption(132))}_beginRenderDecorations(){const e=(new Date).getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((()=>{this.renderDecorations()}),t-e)}renderDecorations(){this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const i of e){const e=L$.get(i);if(!e)continue;const n=[],s=i.getModel()?.uri;if(s&&this.workerRequestValue.has(s)){const o=m$.storedDecorationIDs.get(s),r=this.workerRequestValue.get(s);if(r)for(const e of r)e.range&&n.push({range:e.range,options:(t=e.kind,t===ka.Kb.Write?iz:t===ka.Kb.Text?nz:rz)});let a=[];i.changeDecorations((e=>{a=e.deltaDecorations(o??[],n)})),m$.storedDecorationIDs=m$.storedDecorationIDs.set(s,a),n.length>0&&(e.wordHighlighter?.decorations.set(n),e.wordHighlighter?._hasWordHighlights.set(!0))}}var t}dispose(){this._stopSingular(),this.toUnhook.dispose()}};k$=m$=_$([v$(4,qn)],k$);let L$=class extends Ae.jG{static{f$=this}static{this.ID="editor.contrib.wordHighlighter"}static get(e){return e.getContribution(f$.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new k$(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n))};this._register(e.onDidChangeModel((e=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),s()}))),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};L$=f$=_$([v$(1,ls.fN),v$(2,La.ILanguageFeaturesService),v$(3,qn)],L$);class x$ extends Ts{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=L$.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}Bs(L$.ID,L$,0),Fs(class extends x${constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:jn.kg("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:b$,kbOpts:{kbExpr:js.editorTextFocus,primary:65,weight:100}})}}),Fs(class extends x${constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:jn.kg("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:b$,kbOpts:{kbExpr:js.editorTextFocus,primary:1089,weight:100}})}}),Fs(class extends Ts{constructor(){super({id:"editor.action.wordHighlight.trigger",label:jn.kg("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:js.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=L$.get(t);n&&n.restoreViewState(!0)}}),Ow(p$);class D$ extends Ms{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=(0,Mo.i)(t.getOption(132),t.getOption(131)),s=t.getModel(),o=t.getSelections(),r=o.length>1,a=o.map((e=>{const t=new Gn.y(e.positionLineNumber,e.positionColumn),i=this._move(n,s,t,this._wordNavigationType,r);return this._moveTo(e,i,this._inSelectionMode)}));if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,a.map((e=>po.fromModelSelection(e)))),1===a.length){const e=new Gn.y(a[0].positionLineNumber,a[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,i){return i?new $s.L(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new $s.L(t.lineNumber,t.column,t.lineNumber,t.column)}}class N$ extends D${_move(e,t,i,n,s){return To.moveWordLeft(e,t,i,n,s)}}class I$ extends D${_move(e,t,i,n,s){return To.moveWordRight(e,t,i,n)}}class E$ extends Ms{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(Fo.JZ);if(!t.hasModel())return;const s=(0,Mo.i)(t.getOption(132),t.getOption(131)),o=t.getModel(),r=t.getSelections(),a=t.getOption(6),l=t.getOption(11),h=n.getLanguageConfiguration(o.getLanguageId()).getAutoClosingPairs(),d=t._getViewModel(),c=r.map((e=>{const i=this._delete({wordSeparators:s,model:o,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:a,autoClosingQuotes:l,autoClosingPairs:h,autoClosedCharacters:d.getCursorAutoClosedCharacters()},this._wordNavigationType);return new wo(i,"")}));t.pushUndoStop(),t.executeCommands(this.id,c),t.pushUndoStop()}}class M$ extends E${_delete(e,t){const i=To.deleteWordLeft(e,t);return i||new Xs.Q(1,1,1,1)}}class T$ extends E${_delete(e,t){const i=To.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new Xs.Q(n,s,n,s)}}Os(new class extends N${constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),Os(new class extends N${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),Os(new class extends N${constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ls.M$.and(js.textInputFocus,ls.M$.and($r,Vx)?.negate()),primary:2063,mac:{primary:527},weight:100}})}}),Os(new class extends N${constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),Os(new class extends N${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),Os(new class extends N${constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ls.M$.and(js.textInputFocus,ls.M$.and($r,Vx)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),Os(new class extends I${constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),Os(new class extends I${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ls.M$.and(js.textInputFocus,ls.M$.and($r,Vx)?.negate()),primary:2065,mac:{primary:529},weight:100}})}}),Os(new class extends I${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),Os(new class extends I${constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),Os(new class extends I${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ls.M$.and(js.textInputFocus,ls.M$.and($r,Vx)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),Os(new class extends I${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),Os(new class extends N${constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move((0,Mo.i)(Tc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}),Os(new class extends N${constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move((0,Mo.i)(Tc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}),Os(new class extends I${constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move((0,Mo.i)(Tc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}),Os(new class extends I${constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move((0,Mo.i)(Tc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}),Os(new class extends M${constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:js.writable})}}),Os(new class extends M${constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:js.writable})}}),Os(new class extends M${constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:js.writable,kbOpts:{kbExpr:js.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),Os(new class extends T${constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:js.writable})}}),Os(new class extends T${constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:js.writable})}}),Os(new class extends T${constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:js.writable,kbOpts:{kbExpr:js.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),Fs(class extends Ts{constructor(){super({id:"deleteInsideWord",precondition:js.writable,label:jn.kg("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=(0,Mo.i)(t.getOption(132),t.getOption(131)),s=t.getModel(),o=t.getSelections().map((e=>{const t=To.deleteInsideWord(n,s,e);return new wo(t,"")}));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}});class R$ extends D${_move(e,t,i,n,s){return Ro.moveWordPartLeft(e,t,i,s)}}as.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");as.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class A$ extends D${_move(e,t,i,n,s){return Ro.moveWordPartRight(e,t,i)}}Os(new class extends E${constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:js.writable,kbOpts:{kbExpr:js.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=Ro.deleteWordPartLeft(e);return i||new Xs.Q(1,1,1,1)}}),Os(new class extends E${constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:js.writable,kbOpts:{kbExpr:js.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=Ro.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new Xs.Q(n,s,n,s)}}),Os(new class extends R${constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:js.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),Os(new class extends R${constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:js.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),Os(new class extends A${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:js.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),Os(new class extends A${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:js.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});var P$=i(93059),O$=i(45585);let F$;function W$(e,t){const i=globalThis.MonacoEnvironment;if(i){if("function"==typeof i.getWorker)return i.getWorker("workerMain.js",t);if("function"==typeof i.getWorkerUrl){const e=i.getWorkerUrl("workerMain.js",t);return new Worker(F$?F$.createScriptURL(e):e,{name:t,type:"module"})}}if(e){const i=function(e,t,i){const n=/^((http:)|(https:)|(file:)|(vscode-file:))/.test(t);if(n&&t.substring(0,globalThis.origin.length)!==globalThis.origin);else{const i=t.lastIndexOf("?"),n=t.lastIndexOf("#",i),s=i>0?new URLSearchParams(t.substring(i+1,~n?n:void 0)):new URLSearchParams;Pe.SJ.addSearchParam(s,!0,!0);t=s.toString()?`${t}?${s.toString()}#${e}`:`${t}#${e}`}0;const s=new Blob([(0,ia.Yc)([`/*${e}*/`,i?`globalThis.MonacoEnvironment = { baseUrl: '${i}' };`:void 0,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify((0,jn.Ec)())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify((0,jn.i8)())};`,`globalThis._VSCODE_FILE_ROOT = '${globalThis._VSCODE_FILE_ROOT}';`,"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });","globalThis.workerttPolicy = ttPolicy;",`await import(ttPolicy?.createScriptURL('${t}') ?? '${t}');`,"globalThis.postMessage({ type: 'vscode-worker-ready' });",`/*${e}*/`]).join("")],{type:"application/javascript"});return URL.createObjectURL(s)}(t,e.toString(!0)),n=new Worker(F$?F$.createScriptURL(i):i,{name:t,type:"module"});return function(e){return new Promise(((t,i)=>{e.onmessage=function(i){"vscode-worker-ready"===i.data.type&&(e.onmessage=null,t(e))},e.onerror=i}))}(n)}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}F$="object"==typeof self&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name&&void 0!==globalThis.workerttPolicy?globalThis.workerttPolicy:wh("defaultWorkerFactory",{createScriptURL:e=>e});class B$ extends Ae.jG{constructor(e,t,i,n,s,o){super(),this.id=i,this.label=n;const r=W$(e,n);"function"==typeof r.then?this.worker=r:this.worker=Promise.resolve(r),this.postMessage(t,[]),this.worker.then((e=>{e.onmessage=function(e){s(e.data)},e.onmessageerror=o,"function"==typeof e.addEventListener&&e.addEventListener("error",o)})),this._register((0,Ae.s)((()=>{this.worker?.then((e=>{e.onmessage=null,e.onmessageerror=null,e.removeEventListener("error",o),e.terminate()})),this.worker=null})))}getId(){return this.id}postMessage(e,t){this.worker?.then((i=>{try{i.postMessage(e,t)}catch(n){(0,b.dz)(n),(0,b.dz)(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:n}))}}))}}class H${constructor(e,t){this.amdModuleId=e,this.label=t,this.esmModuleLocation=Pe.zl.asBrowserUri(`${e}.esm.js`)}}class V${static{this.LAST_WORKER_ID=0}constructor(){this._webWorkerFailedBeforeError=!1}create(e,t,i){const n=++V$.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new B$(e.esmModuleLocation,e.amdModuleId,n,e.label||"anonymous"+n,t,(e=>{(0,O$.logOnceWebWorkerWarning)(e),this._webWorkerFailedBeforeError=e,i(e)}))}}var z$=i(14003),U$=i(23837),K$=i(81171),j$=i(96358),$$=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},q$=function(e,t){return function(i,n){t(i,n,e)}};const G$=3e5;function Q$(e,t){const i=e.getModel(t);return!!i&&!i.isTooLargeForSyncing()}let Y$=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._languageConfigurationService=s,this._modelService=t,this._workerManager=this._register(new X$(e,this._modelService)),this._logService=n,this._register(o.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!Q$(this._modelService,e.uri))return Promise.resolve({links:[]});const i=await this._workerWithResources([e.uri]),n=await i.$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(o.completionProvider.register("*",new Z$(this._workerManager,i,this._modelService,this._languageConfigurationService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return Q$(this._modelService,e)}async computedUnicodeHighlights(e,t,i){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,i)}async computeDiff(e,t,i,n){const s=await this._workerWithResources([e,t],!0),o=await s.$computeDiff(e.toString(),t.toString(),i,n);if(!o)return null;return{identical:o.identical,quitEarly:o.quitEarly,changes:r(o.changes),moves:o.moves.map((e=>new U$.t(new sE.WL(new iE.M(e[0],e[1]),new iE.M(e[2],e[3])),r(e[4]))))};function r(e){return e.map((e=>new sE.wm(new iE.M(e[0],e[1]),new iE.M(e[2],e[3]),e[4]?.map((e=>new sE.q6(new Xs.Q(e[0],e[1],e[2],e[3]),new Xs.Q(e[4],e[5],e[6],e[7])))))))}}async computeMoreMinimalEdits(e,t,i=!1){if((0,ia.EI)(t)){if(!Q$(this._modelService,e))return Promise.resolve(t);const n=Hp.W.create(),s=this._workerWithResources([e]).then((n=>n.$computeMoreMinimalEdits(e.toString(),t,i)));return s.finally((()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),n.elapsed()))),Promise.race([s,(0,A.wR)(1e3).then((()=>t))])}return Promise.resolve(void 0)}canNavigateValueSet(e){return Q$(this._modelService,e)}async navigateValueSet(e,t,i){const n=this._modelService.getModel(e);if(!n)return null;const s=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),o=s.source,r=s.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,i,o,r)}canComputeWordRanges(e){return Q$(this._modelService,e)}async computeWordRanges(e,t){const i=this._modelService.getModel(e);if(!i)return Promise.resolve(null);const n=this._languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition(),s=n.source,o=n.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,s,o)}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){const i=await this._workerManager.withWorker();return await i.workerWithSyncedResources(e,t)}};Y$=$$([q$(1,Qn.IModelService),q$(2,RU.ITextResourceConfigurationService),q$(3,Ds.rr),q$(4,Fo.JZ),q$(5,La.ILanguageFeaturesService)],Y$);class Z${constructor(e,t,i,n){this.languageConfigurationService=n,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if("off"===i.wordBasedSuggestions)return;const n=[];if("currentDocument"===i.wordBasedSuggestions)Q$(this._modelService,e.uri)&&n.push(e.uri);else for(const d of this._modelService.getModels())Q$(this._modelService,d.uri)&&(d===e?n.unshift(d.uri):"allDocuments"!==i.wordBasedSuggestions&&d.getLanguageId()!==e.getLanguageId()||n.push(d.uri));if(0===n.length)return;const s=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),o=e.getWordAtPosition(t),r=o?new Xs.Q(t.lineNumber,o.startColumn,t.lineNumber,o.endColumn):Xs.Q.fromPositions(t),a=r.setEndPosition(t.lineNumber,t.column),l=await this._workerManager.withWorker(),h=await l.textualSuggest(n,o?.word,s);return h?{duration:h.duration,suggestions:h.words.map((e=>({kind:18,label:e,insertText:e,range:{insert:a,replace:r}})))}:void 0}}let X$=class extends Ae.jG{constructor(e,t){super(),this._workerDescriptor=e,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=(new Date).getTime();this._register(new st).cancelAndSet((()=>this._checkStopIdleWorker()),Math.round(15e4),o),this._register(this._modelService.onModelRemoved((e=>this._checkStopEmptyWorker())))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;(new Date).getTime()-this._lastWorkerUsedTime>G$&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new eq(this._workerDescriptor,!1,this._modelService)),Promise.resolve(this._editorWorkerClient)}};X$=$$([q$(1,Qn.IModelService)],X$);class J${constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw new Error("Not supported")}}let eq=class extends Ae.jG{constructor(e,t,i){super(),this._workerDescriptor=e,this._disposed=!1,this._modelService=i,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(function(e,t){const i="string"==typeof e?new H$(e,t):e;return new O$.SimpleWorkerClient(new V$,i)}(this._workerDescriptor)),j$.EditorWorkerHost.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){(0,O$.logOnceWebWorkerWarning)(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{const e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return(0,O$.logOnceWebWorkerWarning)(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new J$(new z$.EditorSimpleWorker(this._createEditorWorkerHost(),null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new K$.WorkerTextModelSyncClient(e,this._modelService,this._keepIdleModels))),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject((0,b.aD)());const i=await this._getProxy();return this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i}async textualSuggest(e,t,i){const n=await this.workerWithSyncedResources(e),s=i.source,o=i.flags;return n.$textualSuggest(e.map((e=>e.toString())),t,s,o)}dispose(){super.dispose(),this._disposed=!0}};eq=$$([q$(2,Qn.IModelService)],eq);var tq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},iq=function(e,t){return function(i,n){t(i,n,e)}};let nq=class extends Ae.jG{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new P.vl),this._onCodeEditorAdd=this._register(new P.vl),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new P.vl),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new P.vl),this._onDiffEditorAdd=this._register(new P.vl),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new P.vl),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new ns.w,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map((e=>this._codeEditors[e]))}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map((e=>this._diffEditors[e]))}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const i of t){if(i.hasTextFocus())return i;i.hasWidgetFocus()&&(e=i)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach((t=>t.removeDecorationsByType(e)))))}setModelProperty(e,t,i){const n=e.toString();let s;this._modelProperties.has(n)?s=this._modelProperties.get(n):(s=new Map,this._modelProperties.set(n,s)),s.set(t,i)}getModelProperty(e,t){const i=e.toString();if(this._modelProperties.has(i)){return this._modelProperties.get(i).get(t)}}async openCodeEditor(e,t,i){for(const n of this._codeEditorOpenHandlers){const s=await n(e,t,i);if(null!==s)return s}return null}registerCodeEditorOpenHandler(e){const t=this._codeEditorOpenHandlers.unshift(e);return(0,Ae.s)(t)}};nq=tq([iq(0,io.Gy)],nq);var sq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},oq=function(e,t){return function(i,n){t(i,n,e)}};let rq=class extends nq{constructor(e,t){super(t),this._register(this.onCodeEditorAdd((()=>this._checkContextKey()))),this._register(this.onCodeEditorRemove((()=>this._checkContextKey()))),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler((async(e,t,i)=>t?this.doOpenEditor(t,e):null)))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const i=t.resource.scheme;if(i===Pe.ny.http||i===Pe.ny.https)return si(t.resource.toString()),e}return null}const i=t.options?t.options.selection:null;if(i)if("number"==typeof i.endLineNumber&&"number"==typeof i.endColumn)e.setSelection(i),e.revealRangeInCenter(i,1);else{const t={lineNumber:i.startLineNumber,column:i.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}return e}findModel(e,t){const i=e.getModel();return i&&i.uri.toString()!==t.toString()?null:i}};rq=sq([oq(0,ls.fN),oq(1,io.Gy)],rq),(0,cl.v)(qn,rq,0);const aq=(0,$n.u1)("layoutService");var lq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},hq=function(e,t){return function(i,n){t(i,n,e)}};let dq=class{get mainContainer(){return(0,ia.Fy)(this._codeEditorService.listCodeEditors())?.getContainerDomNode()??o.document.body}get activeContainer(){const e=this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor();return e?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return at(this.mainContainer)}get activeContainerDimension(){return at(this.activeContainer)}get containers(){return(0,ia.Yc)(this._codeEditorService.listCodeEditors().map((e=>e.getContainerDomNode())))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=P.Jh.None,this.onDidLayoutActiveContainer=P.Jh.None,this.onDidLayoutContainer=P.Jh.None,this.onDidChangeActiveContainer=P.Jh.None,this.onDidAddContainer=P.Jh.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};dq=lq([hq(0,qn)],dq);let cq=class extends dq{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};cq=lq([hq(1,qn)],cq),(0,cl.v)(aq,dq,1);var uq=i(38803),gq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},pq=function(e,t){return function(i,n){t(i,n,e)}};const mq=!1;function fq(e){return e.scheme===Pe.ny.file?e.fsPath:e.path}let _q=0;class vq{constructor(e,t,i,n,s,o,r){this.id=++_q,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=i,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=n,this.groupOrder=s,this.sourceId=o,this.sourceOrder=r,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class bq{constructor(e,t){this.resourceLabel=e,this.reason=t}}class Cq{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,n]of this.elements){(0===n.reason?e:t).push(n.resourceLabel)}const i=[];return e.length>0&&i.push(jn.kg({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&i.push(jn.kg({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",t.join(", "))),i.join("\n")}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class wq{constructor(e,t,i,n,s,o,r){this.id=++_q,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=n,this.groupOrder=s,this.sourceId=o,this.sourceOrder=r,this.removedResources=null,this.invalidatedResources=null}canSplit(){return"function"==typeof this.actual.split}removeResource(e,t,i){this.removedResources||(this.removedResources=new Cq),this.removedResources.has(t)||this.removedResources.set(t,new bq(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),0===this.invalidatedResources.size&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new Cq),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new bq(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class yq{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){1===e.type?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,n=this._past.length;i=0;i--)t.push(this._future[i].id);return new uq.To(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,n=0,s=-1;for(let r=0,a=this._past.length;r=t||o.id!==e.elements[n])&&(i=!1,s=0),i||1!==o.type||o.removeResource(this.resourceLabel,this.strResource,0)}let o=-1;for(let r=this._future.length-1;r>=0;r--,n++){const s=this._future[r];i&&(n>=t||s.id!==e.elements[n])&&(i=!1,o=r),i||1!==s.type||s.removeResource(this.resourceLabel,this.strResource,0)}-1!==s&&(this._past=this._past.slice(0,s)),-1!==o&&(this._future=this._future.slice(o+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return 0===this._past.length?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return 0===this._future.length?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class Sq{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;tt.sourceOrder)&&(t=o,i=n))}return[t,i]}canUndo(e){if(e instanceof uq.Ym){const[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}const t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){return this._editStacks.get(t).hasPastElements()}return!1}_onError(e,t){(0,b.dz)(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,n,s){const o=this._acquireLocks(i);let r;try{r=t()}catch(a){return o(),n.dispose(),this._onError(a,e)}return r?r.then((()=>(o(),n.dispose(),s())),(t=>(o(),n.dispose(),this._onError(t,e)))):(o(),n.dispose(),s())}async _invokeWorkspacePrepare(e){if(void 0===e.actual.prepareUndoRedo)return Ae.jG.None;const t=e.actual.prepareUndoRedo();return void 0===t?Ae.jG.None:t}_invokeResourcePrepare(e,t){if(1!==e.actual.type||void 0===e.actual.prepareUndoRedo)return t(Ae.jG.None);const i=e.actual.prepareUndoRedo();return i?(0,Ae.Xm)(i)?t(i):i.then((e=>t(e))):t(Ae.jG.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||kq);return new Sq(t)}_tryToSplitAndUndo(e,t,i,n){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(n),new xq(this._undo(e,0,!0));for(const s of t.strResources)this.removeElements(s);return this._notificationService.warn(n),new xq}_checkWorkspaceUndo(e,t,i,n){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,jn.kg({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(n&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,jn.kg({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const s=[];for(const r of i.editStacks)r.getClosestPastElement()!==t&&s.push(r.resourceLabel);if(s.length>0)return this._tryToSplitAndUndo(e,t,null,jn.kg({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",t.label,s.join(", ")));const o=[];for(const r of i.editStacks)r.locked&&o.push(r.resourceLabel);return o.length>0?this._tryToSplitAndUndo(e,t,null,jn.kg({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,o.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,jn.kg({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,i){const n=this._getAffectedEditStacks(t),s=this._checkWorkspaceUndo(e,t,n,!1);return s?s.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,n,i)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const i=t.getClosestPastElement();if(i){if(i===e){const i=t.getSecondClosestPastElement();if(i&&i.groupId===e.groupId)return!0}if(i.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,i,n){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let s;!function(e){e[e.All=0]="All",e[e.This=1]="This",e[e.Cancel=2]="Cancel"}(s||(s={}));const{result:o}=await this._dialogService.prompt({type:Cd.A.Info,message:jn.kg("confirmWorkspace","Would you like to undo '{0}' across all files?",t.label),buttons:[{label:jn.kg({key:"ok",comment:["{0} denotes a number that is > 1, && denotes a mnemonic"]},"&&Undo in {0} Files",i.editStacks.length),run:()=>s.All},{label:jn.kg({key:"nok",comment:["&& denotes a mnemonic"]},"Undo this &&File"),run:()=>s.This}],cancelButton:{run:()=>s.Cancel}});if(o===s.Cancel)return;if(o===s.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const r=this._checkWorkspaceUndo(e,t,i,!1);if(r)return r.returnValue;n=!0}let s;try{s=await this._invokeWorkspacePrepare(t)}catch(r){return this._onError(r,t)}const o=this._checkWorkspaceUndo(e,t,i,!0);if(o)return s.dispose(),o.returnValue;for(const a of i.editStacks)a.moveBackward(t);return this._safeInvokeWithLocks(t,(()=>t.actual.undo()),i,s,(()=>this._continueUndoInGroup(t.groupId,n)))}_resourceUndo(e,t,i){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,(n=>(e.moveBackward(t),this._safeInvokeWithLocks(t,(()=>t.actual.undo()),new Sq([e]),n,(()=>this._continueUndoInGroup(t.groupId,i))))));{const e=jn.kg({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(e)}}else e.flushAllElements()}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[n,s]of this._editStacks){const o=s.getClosestPastElement();o&&(o.groupId===e&&(!t||o.groupOrder>t.groupOrder)&&(t=o,i=n))}return[t,i]}_continueUndoInGroup(e,t){if(!e)return;const[,i]=this._findClosestUndoElementInGroup(e);return i?this._undo(i,0,t):void 0}undo(e){if(e instanceof uq.Ym){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return"string"==typeof e?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,i){if(!this._editStacks.has(e))return;const n=this._editStacks.get(e),s=n.getClosestPastElement();if(!s)return;if(s.groupId){const[e,n]=this._findClosestUndoElementInGroup(s.groupId);if(s!==e&&n)return this._undo(n,t,i)}if((s.sourceId!==t||s.confirmBeforeUndo)&&!i)return this._confirmAndContinueUndo(e,t,s);try{return 1===s.type?this._workspaceUndo(e,s,i):this._resourceUndo(n,s,i)}finally{mq}}async _confirmAndContinueUndo(e,t,i){if((await this._dialogService.confirm({message:jn.kg("confirmDifferentSource","Would you like to undo '{0}'?",i.label),primaryButton:jn.kg({key:"confirmDifferentSource.yes",comment:["&& denotes a mnemonic"]},"&&Yes"),cancelButton:jn.kg("confirmDifferentSource.no","No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[n,s]of this._editStacks){const o=s.getClosestFutureElement();o&&(o.sourceId===e&&(!t||o.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,jn.kg({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",t.label,s.join(", ")));const o=[];for(const r of i.editStacks)r.locked&&o.push(r.resourceLabel);return o.length>0?this._tryToSplitAndRedo(e,t,null,jn.kg({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,o.join(", "))):i.isValid()?null:this._tryToSplitAndRedo(e,t,null,jn.kg({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const i=this._getAffectedEditStacks(t),n=this._checkWorkspaceRedo(e,t,i,!1);return n?n.returnValue:this._executeWorkspaceRedo(e,t,i)}async _executeWorkspaceRedo(e,t,i){let n;try{n=await this._invokeWorkspacePrepare(t)}catch(o){return this._onError(o,t)}const s=this._checkWorkspaceRedo(e,t,i,!0);if(s)return n.dispose(),s.returnValue;for(const r of i.editStacks)r.moveForward(t);return this._safeInvokeWithLocks(t,(()=>t.actual.redo()),i,n,(()=>this._continueRedoInGroup(t.groupId)))}_resourceRedo(e,t){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,(i=>(e.moveForward(t),this._safeInvokeWithLocks(t,(()=>t.actual.redo()),new Sq([e]),i,(()=>this._continueRedoInGroup(t.groupId))))));{const e=jn.kg({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(e)}}else e.flushAllElements()}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[n,s]of this._editStacks){const o=s.getClosestFutureElement();o&&(o.groupId===e&&(!t||o.groupOrder=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Nq=function(e,t){return function(i,n){t(i,n,e)}};const Iq=ei;let Eq=class extends Pu{get _targetWindow(){return We(this._target.targetElements[0])}get _targetDocumentElement(){return We(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return 2===this._hoverPosition?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,i,n,s,o){super(),this._keybindingService=t,this._configurationService=i,this._openerService=n,this._instantiationService=s,this._accessibilityService=o,this._messageListeners=new Ae.Cm,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new P.vl),this._onRequestLayout=this._register(new P.vl),this._linkHandler=e.linkHandler||(t=>Fh(this._openerService,t,zn(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new Tq(e.target),this._hoverPointer=e.appearance?.showPointer?Iq("div.workbench-hover-pointer"):void 0,this._hover=this._register(new WS),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),e.appearance?.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),e.appearance?.skipFadeInAnimation&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),e.position?.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=e.position?.hoverPosition??3,this.onmousedown(this._hover.containerDomNode,(e=>e.stopPropagation())),this.onkeydown(this._hover.containerDomNode,(e=>{e.equals(9)&&this.dispose()})),this._register(Ye(this._targetWindow,"blur",(()=>this.dispose())));const r=Iq("div.hover-row.markdown-hover"),a=Iq("div.hover-contents");if("string"==typeof e.content)a.textContent=e.content,a.style.whiteSpace="pre-wrap";else if(Bt(e.content))a.appendChild(e.content),a.classList.add("html-hover-contents");else{const t=e.content,i=this._instantiationService.createInstance(Oh,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||Ic.fontFamily}),{element:n}=i.render(t,{actionHandler:{callback:e=>this._linkHandler(e),disposables:this._messageListeners},asyncRenderCallback:()=>{a.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});a.appendChild(n)}if(r.appendChild(a),this._hover.contentsDomNode.appendChild(r),e.actions&&e.actions.length>0){const t=Iq("div.hover-row.status-bar"),i=Iq("div.actions");e.actions.forEach((e=>{const t=this._keybindingService.lookupKeybinding(e.commandId),n=t?t.getLabel():null;BS.render(i,{label:e.label,commandId:e.commandId,run:t=>{e.run(t),this.dispose()},iconClass:e.iconClass},n)})),t.appendChild(i),this._hover.containerDomNode.appendChild(t)}let l;if(this._hoverContainer=Iq("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode),l=!(e.actions&&e.actions.length>0)&&(void 0===e.persistence?.hideOnHover?"string"==typeof e.content||zn(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):e.persistence.hideOnHover),e.appearance?.showHoverHint){const e=Iq("div.hover-row.status-bar"),t=Iq("div.info");t.textContent=(0,jn.kg)("hoverhint","Hold {0} key to mouse over",f.zx?"Option":"Alt"),e.appendChild(t),this._hover.containerDomNode.appendChild(e)}const h=[...this._target.targetElements];l||h.push(this._hoverContainer);const d=this._register(new Mq(h));if(this._register(d.onMouseOut((()=>{this._isLocked||this.dispose()}))),l){const e=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new Mq(e)),this._register(this._lockMouseTracker.onMouseOut((()=>{this._isLocked||this.dispose()})))}else this._lockMouseTracker=d}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const i=Qt(this._hoverContainer,Iq("div")),n=Gt(this._hoverContainer,Iq("div"));i.tabIndex=0,n.tabIndex=0,this._register(Ye(n,"focus",(t=>{e.focus(),t.preventDefault()}))),this._register(Ye(i,"focus",(e=>{t.focus(),e.preventDefault()})))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return e}const n=this.findLastFocusableChild(i);if(n)return n}}render(e){e.appendChild(this._hoverContainer);const t=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&HS(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel());t&&wi(t),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=this._target.targetElements.map((e=>(e=>{const t=ut(e),i=e.getBoundingClientRect();return{top:i.top*t,bottom:i.bottom*t,right:i.right*t,left:i.left*t}})(e))),{top:t,right:i,bottom:n,left:s}=e[0],o=i-s,r=n-t,a={top:t,right:i,bottom:n,left:s,width:o,height:r,center:{x:s+o/2,y:t+r/2}};if(this.adjustHorizontalHoverPosition(a),this.adjustVerticalHoverPosition(a),this.adjustHoverMaxHeight(a),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:a.left+=3,a.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:a.left-=3,a.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:a.top+=3,a.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:a.top-=3,a.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px"}a.center.x=a.left+o/2,a.center.y=a.top+r/2}this.computeXCordinate(a),this.computeYCordinate(a),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(a)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;void 0!==this._target.x?this._x=this._target.x:1===this._hoverPosition?this._x=e.right:0===this._hoverPosition?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(void 0!==this._target.x)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const i=t+2;1===this._hoverPosition?this._hover.containerDomNode.style.maxWidth=this._targetDocumentElement.clientWidth-e.right-i+"px":0===this._hoverPosition&&(this._hover.containerDomNode.style.maxWidth=e.left-i+"px")}else if(1===this._hoverPosition){if(this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2}}else if(0===this._hoverPosition){if(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2}e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1)}}adjustVerticalHoverPosition(e){if(void 0!==this._target.y||this._forcePosition)return;const t=this._hoverPointer?3:0;3===this._hoverPosition?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):2===this._hoverPosition&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const i=2+(this._hoverPointer?3:0);3===this._hoverPosition?t=Math.min(t,e.top-i):2===this._hoverPosition&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-i))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top=e.center.y-(this._y-t)-3+"px":this._hoverPointer.style.top=Math.round(t/2)-3+"px";break}case 3:case 2:{this._hoverPointer.classList.add(3===this._hoverPosition?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let i=Math.round(t/2)-3;const n=this._x+i;(ne.right)&&(i=e.center.x-this._x-3),this._hoverPointer.style.left=`${i}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};Eq=Dq([Nq(1,bd),Nq(2,Fp.pG),Nq(3,Th),Nq(4,$n._Y),Nq(5,jr)],Eq);class Mq extends Pu{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new P.vl),this._elements.forEach((e=>this.onmouseover(e,(()=>this._onTargetMouseOver(e))))),this._elements.forEach((e=>this.onmouseleave(e,(()=>this._onTargetMouseLeave(e)))))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=We(e).setTimeout((()=>this._fireIfMouseOutside()),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(We(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class Tq{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}}var Rq;function Aq(e,t,i){const n=i.mode===Rq.ALIGN?i.offset:i.offset+i.size,s=i.mode===Rq.ALIGN?i.offset+i.size:i.offset;return 0===i.position?t<=e-n?n:t<=s?s-t:Math.max(e-t,0):t<=s?s-t:t<=e-n?n:0}!function(e){e[e.AVOID=0]="AVOID",e[e.ALIGN=1]="ALIGN"}(Rq||(Rq={}));class Pq extends Ae.jG{static{this.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"]}static{this.BUBBLE_DOWN_EVENTS=["click"]}constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=Ae.jG.None,this.toDisposeOnSetContainer=Ae.jG.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=ei(".context-view"),ii(this.view),this.setContainer(e,t),this._register((0,Ae.s)((()=>this.setContainer(null,1))))}setContainer(e,t){this.useFixedPosition=1!==t;const i=this.useShadowDOM;if(this.useShadowDOM=3===t,(e!==this.container||i!==this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.view.remove(),this.shadowRoot&&(this.shadowRoot=null,this.shadowRootHostElement?.remove(),this.shadowRootHostElement=null),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=ei(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const e=document.createElement("style");e.textContent=Oq,this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(ei("slot"))}else this.container.appendChild(this.view);const t=new Ae.Cm;Pq.BUBBLE_UP_EVENTS.forEach((e=>{t.add(Xe(this.container,e,(e=>{this.onDOMEvent(e,!1)})))})),Pq.BUBBLE_DOWN_EVENTS.forEach((e=>{t.add(Xe(this.container,e,(e=>{this.onDOMEvent(e,!0)}),!0))})),this.toDisposeOnSetContainer=t}}show(e){this.isVisible()&&this.hide(),Ge(this.view),this.view.className="context-view monaco-component",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex=`${2575+(e.layer??0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",ti(this.view),this.toDisposeOnClean=e.render(this.view)||Ae.jG.None,this.delegate=e,this.doLayout(),this.delegate.focus?.()}getViewElement(){return this.view}layout(){this.isVisible()&&(!1!==this.delegate.canRelayout||f.un&&_?(this.delegate?.layout?.(),this.doLayout()):this.hide())}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(Bt(e)){const i=ct(e),n=ut(e);t={top:i.top*n,left:i.left*n,width:i.width*n,height:i.height*n}}else t=function(e){const t=e;return!!t&&"number"==typeof t.x&&"number"==typeof t.y}(e)?{top:e.y,left:e.x,width:e.width||1,height:e.height||2}:{top:e.posy,left:e.posx,width:2,height:2};const i=gt(this.view),n=ft(this.view),s=this.delegate.anchorPosition||0,o=this.delegate.anchorAlignment||0,r=this.delegate.anchorAxisAlignment||0;let a,l;const h=xt();if(0===r){const e={offset:t.top-h.pageYOffset,size:t.height,position:0===s?0:1},r={offset:t.left,size:t.width,position:0===o?0:1,mode:Rq.ALIGN};a=Aq(h.innerHeight,n,e)+h.pageYOffset,eg.intersects({start:a,end:a+n},{start:e.offset,end:e.offset+e.size})&&(r.mode=Rq.AVOID),l=Aq(h.innerWidth,i,r)}else{const e={offset:t.left,size:t.width,position:0===o?0:1},r={offset:t.top,size:t.height,position:0===s?0:1,mode:Rq.ALIGN};l=Aq(h.innerWidth,i,e),eg.intersects({start:l,end:l+i},{start:e.offset,end:e.offset+e.size})&&(r.mode=Rq.AVOID),a=Aq(h.innerHeight,n,r)+h.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(0===s?"bottom":"top"),this.view.classList.add(0===o?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const d=ct(this.container);this.view.style.top=a-(this.useFixedPosition?ct(this.view).top:d.top)+"px",this.view.style.left=l-(this.useFixedPosition?ct(this.view).left:d.left)+"px",this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,t?.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),ii(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,We(e).document.activeElement):t&&!_t(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}const Oq='\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';var Fq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Wq=function(e,t){return function(i,n){t(i,n,e)}};let Bq=class extends Ae.jG{constructor(e){super(),this.layoutService=e,this.contextView=this._register(new Pq(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer((()=>this.layout())))}showContextView(e,t,i){let n;n=t?t===this.layoutService.getContainer(We(t))?1:i?3:2:1,this.contextView.setContainer(t??this.layoutService.activeContainer,n),this.contextView.show(e);const s={close:()=>{this.openContextView===s&&this.hideContextView()}};return this.openContextView=s,s}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e),this.openContextView=void 0}};Bq=Fq([Wq(0,aq)],Bq);class Hq extends Bq{getContextViewElement(){return this.contextView.getViewElement()}}class Vq{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let n;if(void 0===e||(0,os.Kg)(e)||Bt(e))n=e;else if((0,os.Tn)(e.markdown)){this._hoverWidget||this.show((0,jn.kg)("iconLabel.loading","Loading..."),t,i),this._cancellationTokenSource=new na.Qi;const s=this._cancellationTokenSource.token;if(n=await e.markdown(s),void 0===n&&(n=e.markdownNotSupportedFallback),this.isDisposed||s.isCancellationRequested)return}else n=e.markdown??e.markdownNotSupportedFallback;this.show(n,t,i)}show(e,t,i){const n=this._hoverWidget;if(this.hasContent(e)){const s={content:e,target:this.target,actions:i?.actions,linkHandler:i?.linkHandler,trapFocus:i?.trapFocus,appearance:{showPointer:"element"===this.hoverDelegate.placement,skipFadeInAnimation:!this.fadeInAnimation||!!n,showHoverHint:i?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(s,t)}n?.dispose()}hasContent(e){return!!e&&(!zn(e)||!!e.value)}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}var zq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Uq=function(e,t){return function(i,n){t(i,n,e)}};let Kq=class extends Ae.jG{constructor(e,t,i,n,s){super(),this._instantiationService=e,this._keybindingService=i,this._layoutService=n,this._accessibilityService=s,this._managedHovers=new Map,t.onDidShowContextMenu((()=>this.hideHover())),this._contextViewHandler=this._register(new Bq(this._layoutService))}showHover(e,t,i){if(jq(this._currentHoverOptions)===jq(e))return;if(this._currentHover&&this._currentHoverOptions?.persistence?.sticky)return;this._currentHoverOptions=e,this._lastHoverOptions=e;const n=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),s=yt();i||(n&&s?s.classList.contains("monaco-hover")||(this._lastFocusedElementBeforeOpen=s):this._lastFocusedElementBeforeOpen=void 0);const r=new Ae.Cm,a=this._instantiationService.createInstance(Eq,e);if(e.persistence?.sticky&&(a.isLocked=!0),a.onDispose((()=>{this._currentHover?.domNode&&kt(this._currentHover.domNode)&&this._lastFocusedElementBeforeOpen?.focus(),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),r.dispose()}),void 0,r),!e.container){const t=Bt(e.target)?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(We(t))}if(this._contextViewHandler.showContextView(new $q(a,t),e.container),a.onRequestLayout((()=>this._contextViewHandler.layout()),void 0,r),e.persistence?.sticky)r.add(Ye(We(e.container).document,Ut.MOUSE_DOWN,(e=>{_t(e.target,a.domNode)||this.doHideHover()})));else{if("targetElements"in e.target)for(const i of e.target.targetElements)r.add(Ye(i,Ut.CLICK,(()=>this.hideHover())));else r.add(Ye(e.target,Ut.CLICK,(()=>this.hideHover())));const t=yt();if(t){const i=We(t).document;r.add(Ye(t,Ut.KEY_DOWN,(t=>this._keyDown(t,a,!!e.persistence?.hideOnKeyDown)))),r.add(Ye(i,Ut.KEY_DOWN,(t=>this._keyDown(t,a,!!e.persistence?.hideOnKeyDown)))),r.add(Ye(t,Ut.KEY_UP,(e=>this._keyUp(e,a)))),r.add(Ye(i,Ut.KEY_UP,(e=>this._keyUp(e,a))))}}if("IntersectionObserver"in o){const t=new IntersectionObserver((e=>this._intersectionChange(e,a)),{threshold:0}),i="targetElements"in e.target?e.target.targetElements[0]:e.target;t.observe(i),r.add((0,Ae.s)((()=>t.disconnect())))}return this._currentHover=a,a}hideHover(){!this._currentHover?.isLocked&&this._currentHoverOptions&&this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showHover(this._lastHoverOptions,!0,!0)}_keyDown(e,t,i){if("Alt"===e.key)return void(t.isLocked=!0);const n=new N(e);this._keybindingService.resolveKeyboardEvent(n).getSingleModifierDispatchChords().some((e=>!!e))||0!==this._keybindingService.softDispatch(n,n.target).kind||!i||this._currentHoverOptions?.trapFocus&&"Tab"===e.key||(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus())}_keyUp(e,t){"Alt"===e.key&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus()))}setupManagedHover(e,t,i,n){let s,o;t.setAttribute("custom-hover","true"),""!==t.title&&(console.warn("HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute."),console.trace("Stack trace:",t.title),t.title="");const r=(t,i)=>{const n=void 0!==o;t&&(o?.dispose(),o=void 0),i&&(s?.dispose(),s=void 0),n&&(e.onDidHideHover?.(),o=void 0)},a=(s,r,a,l)=>new A.pc((async()=>{o&&!o.isDisposed||(o=new Vq(e,a||t,s>0),await o.update("function"==typeof i?i():i,r,{...n,trapFocus:l}))}),s);let l=!1;const h=Ye(t,Ut.MOUSE_DOWN,(()=>{l=!0,r(!0,!0)}),!0),d=Ye(t,Ut.MOUSE_UP,(()=>{l=!1}),!0),c=Ye(t,Ut.MOUSE_LEAVE,(e=>{l=!1,r(!1,e.fromElement===t)}),!0),u=Ye(t,Ut.MOUSE_OVER,(i=>{if(s)return;const n=new Ae.Cm,o={targetElements:[t],dispose:()=>{}};if(void 0===e.placement||"mouse"===e.placement){const e=e=>{o.x=e.x+10,Bt(e.target)&&qq(e.target,t)!==t&&r(!0,!0)};n.add(Ye(t,Ut.MOUSE_MOVE,e,!0))}s=n,Bt(i.target)&&qq(i.target,t)!==t||n.add(a(e.delay,!1,o))}),!0),g=()=>{if(l||s)return;const i={targetElements:[t],dispose:()=>{}},n=new Ae.Cm;n.add(Ye(t,Ut.BLUR,(()=>r(!0,!0)),!0)),n.add(a(e.delay,!1,i)),s=n};let p;const m=t.tagName.toLowerCase();"input"!==m&&"textarea"!==m&&(p=Ye(t,Ut.FOCUS,g,!0));const f={show:e=>{r(!1,!0),a(0,e,void 0,e)},hide:()=>{r(!0,!0)},update:async(e,t)=>{i=e,await(o?.update(i,void 0,t))},dispose:()=>{this._managedHovers.delete(t),u.dispose(),c.dispose(),h.dispose(),d.dispose(),p?.dispose(),r(!0,!0)}};return this._managedHovers.set(t,f),f}showManagedHover(e){const t=this._managedHovers.get(e);t&&t.show(!0)}dispose(){this._managedHovers.forEach((e=>e.dispose())),super.dispose()}};function jq(e){if(void 0!==e)return e?.id??e}Kq=zq([Uq(0,$n._Y),Uq(1,vd),Uq(2,bd),Uq(3,aq),Uq(4,jr)],Kq);class $q{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function qq(e,t){for(t=t??We(e).document.body;!e.hasAttribute("custom-hover")&&e!==t;)e=e.parentElement;return e}function Gq(e){return Object.isFrozen(e)?e:$l.ol(e)}(0,cl.v)(nk,Kq,1),(0,io.zy)(((e,t)=>{const i=e.getColor(to.oZ8);i&&(t.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${i.transparent(.5)}; }`))}));class Qq{static createEmptyModel(e){return new Qq({},[],[],void 0,e)}constructor(e,t,i,n,s){this._contents=e,this._keys=t,this._overrides=i,this.raw=n,this.logService=s,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration)if(this.raw?.length){const e=this.raw.map((e=>{if(e instanceof Qq)return e;const t=new Yq("",this.logService);return t.parseRaw(e),t.configurationModel}));this._rawConfiguration=e.reduce(((e,t)=>t===e?t:e.merge(t)),e[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length}getValue(e){return e?(0,Fp.gD)(this.contents,e):this.contents}inspect(e,t){const i=this;return{get value(){return Gq(i.rawConfiguration.getValue(e))},get override(){return t?Gq(i.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return Gq(t?i.rawConfiguration.override(t).getValue(e):i.rawConfiguration.getValue(e))},get overrides(){const t=[];for(const{contents:n,identifiers:s,keys:o}of i.rawConfiguration.overrides){const r=new Qq(n,o,[],void 0,i.logService).getValue(e);void 0!==r&&t.push({identifiers:s,value:r})}return t.length?Gq(t):void 0}}}getOverrideValue(e,t){const i=this.getContentsForOverrideIdentifer(t);return i?e?(0,Fp.gD)(i,e):i:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){const t=$l.Go(this.contents),i=$l.Go(this.overrides),n=[...this.keys],s=this.raw?.length?[...this.raw]:[this];for(const o of e)if(s.push(...o.raw?.length?o.raw:[o]),!o.isEmpty()){this.mergeContents(t,o.contents);for(const e of o.overrides){const[t]=i.filter((t=>ia.aI(t.identifiers,e.identifiers)));t?(this.mergeContents(t.contents,e.contents),t.keys.push(...e.keys),t.keys=ia.dM(t.keys)):i.push($l.Go(e))}for(const e of o.keys)-1===n.indexOf(e)&&n.push(e)}return new Qq(t,n,i,s.every((e=>e instanceof Qq))?void 0:s,this.logService)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||"object"!=typeof t||!Object.keys(t).length)return this;const i={};for(const n of ia.dM([...Object.keys(this.contents),...Object.keys(t)])){let e=this.contents[n];const s=t[n];s&&("object"==typeof e&&"object"==typeof s?(e=$l.Go(e),this.mergeContents(e,s)):e=s),i[n]=e}return new Qq(i,this.keys,this.overrides,void 0,this.logService)}mergeContents(e,t){for(const i of Object.keys(t))i in e&&os.Gv(e[i])&&os.Gv(t[i])?this.mergeContents(e[i],t[i]):e[i]=$l.Go(t[i])}getContentsForOverrideIdentifer(e){let t=null,i=null;const n=e=>{e&&(i?this.mergeContents(i,e):i=$l.Go(e))};for(const s of this.overrides)1===s.identifiers.length&&s.identifiers[0]===e?t=s.contents:s.identifiers.includes(e)&&n(s.contents);return n(t),i}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);-1!==t&&(this.keys.splice(t,1),(0,Fp.iB)(this.contents,e),Rc.rC.test(e)&&this.overrides.splice(this.overrides.findIndex((t=>ia.aI(t.identifiers,(0,Rc.Gv)(e)))),1))}updateValue(e,t,i){if((0,Fp.kW)(this.contents,e,t,(e=>this.logService.error(e))),(i=i||-1===this.keys.indexOf(e))&&this.keys.push(e),Rc.rC.test(e)){const t=(0,Rc.Gv)(e),i={identifiers:t,keys:Object.keys(this.contents[e]),contents:(0,Fp.ad)(this.contents[e],(e=>this.logService.error(e)))},n=this.overrides.findIndex((e=>ia.aI(e.identifiers,t)));-1!==n?this.overrides[n]=i:this.overrides.push(i)}}}class Yq{constructor(e,t){this._name=e,this.logService=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||Qq.createEmptyModel(this.logService)}parseRaw(e,t){this._raw=e;const{contents:i,keys:n,overrides:s,restricted:o,hasExcludedProperties:r}=this.doParseRaw(e,t);this._configurationModel=new Qq(i,n,s,r?[e]:void 0,this.logService),this._restrictedConfigurations=o||[]}doParseRaw(e,t){const i=hs.O.as(Rc.Fd.Configuration).getConfigurationProperties(),n=this.filter(e,i,!0,t);e=n.raw;return{contents:(0,Fp.ad)(e,(e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`))),keys:Object.keys(e),overrides:this.toOverrides(e,(e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`))),restricted:n.restricted,hasExcludedProperties:n.hasExcludedProperties}}filter(e,t,i,n){let s=!1;if(!n?.scopes&&!n?.skipRestricted&&!n?.exclude?.length)return{raw:e,restricted:[],hasExcludedProperties:s};const o={},r=[];for(const a in e)if(Rc.rC.test(a)&&i){const i=this.filter(e[a],t,!1,n);o[a]=i.raw,s=s||i.hasExcludedProperties,r.push(...i.restricted)}else{const i=t[a],l=i?void 0!==i.scope?i.scope:3:void 0;i?.restricted&&r.push(a),n.exclude?.includes(a)||!n.include?.includes(a)&&(void 0!==l&&void 0!==n.scopes&&!n.scopes.includes(l)||n.skipRestricted&&i?.restricted)?s=!0:o[a]=e[a]}return{raw:o,restricted:r,hasExcludedProperties:s}}toOverrides(e,t){const i=[];for(const n of Object.keys(e))if(Rc.rC.test(n)){const s={};for(const t in e[n])s[t]=e[n][t];i.push({identifiers:(0,Rc.Gv)(n),keys:Object.keys(s),contents:(0,Fp.ad)(s,t)})}return i}}class Zq{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u){this.key=e,this.overrides=t,this._value=i,this.overrideIdentifiers=n,this.defaultConfiguration=s,this.policyConfiguration=o,this.applicationConfiguration=r,this.userConfiguration=a,this.localUserConfiguration=l,this.remoteUserConfiguration=h,this.workspaceConfiguration=d,this.folderConfigurationModel=c,this.memoryConfigurationModel=u}toInspectValue(e){return void 0!==e?.value||void 0!==e?.override||void 0!==e?.overrides?e:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class Xq{constructor(e,t,i,n,s,o,r,a,l,h){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=i,this._localUserConfiguration=n,this._remoteUserConfiguration=s,this._workspaceConfiguration=o,this._folderConfigurations=r,this._memoryConfiguration=a,this._memoryConfigurationByResource=l,this.logService=h,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new Si.fT,this._userConfiguration=null}getValue(e,t,i){return this.getConsolidatedConfigurationModel(e,t,i).getValue(e)}updateValue(e,t,i={}){let n;i.resource?(n=this._memoryConfigurationByResource.get(i.resource),n||(n=Qq.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(i.resource,n))):n=this._memoryConfiguration,void 0===t?n.removeValue(e):n.setValue(e,t),i.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,i){const n=this.getConsolidatedConfigurationModel(e,t,i),s=this.getFolderConfigurationModelForResource(t.resource,i),o=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration,r=new Set;for(const a of n.overrides)for(const t of a.identifiers)void 0!==n.getOverrideValue(e,t)&&r.add(t);return new Zq(e,t,n.getValue(e),r.size?[...r]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,i?this._workspaceConfiguration:void 0,s||void 0,o)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,i){let n=this.getConsolidatedConfigurationModelForResource(t,i);return t.overrideIdentifier&&(n=n.override(t.overrideIdentifier)),this._policyConfiguration.isEmpty()||void 0===this._policyConfiguration.getValue(e)||(n=n.merge(this._policyConfiguration)),n}getConsolidatedConfigurationModelForResource({resource:e},t){let i=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const n=t.getFolder(e);n&&(i=this.getFolderConsolidatedConfiguration(n.uri)||i);const s=this._memoryConfigurationByResource.get(e);s&&(i=i.merge(s))}return i}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const i=this.getWorkspaceConsolidatedConfiguration(),n=this._folderConfigurations.get(e);n?(t=i.merge(n),this._foldersConsolidatedConfigurations.set(e,t)):t=i}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const i=t.getFolder(e);if(i)return this._folderConfigurations.get(i.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce(((e,t)=>{const{contents:i,overrides:n,keys:s}=this._folderConfigurations.get(t);return e.push([t,{contents:i,overrides:n,keys:s}]),e}),[])}}static parse(e,t){const i=this.parseConfigurationModel(e.defaults,t),n=this.parseConfigurationModel(e.policy,t),s=this.parseConfigurationModel(e.application,t),o=this.parseConfigurationModel(e.user,t),r=this.parseConfigurationModel(e.workspace,t),a=e.folders.reduce(((e,i)=>(e.set(Bn.r.revive(i[0]),this.parseConfigurationModel(i[1],t)),e)),new Si.fT);return new Xq(i,n,s,o,Qq.createEmptyModel(t),r,a,Qq.createEmptyModel(t),new Si.fT,t)}static parseConfigurationModel(e,t){return new Qq(e.contents,e.keys,e.overrides,void 0,t)}}class Jq{constructor(e,t,i,n,s){this.change=e,this.previous=t,this.currentConfiguraiton=i,this.currentWorkspace=n,this.logService=s,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=".".charCodeAt(0),this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const o of e.keys)this.affectedKeys.add(o);for(const[,o]of e.overrides)for(const e of o)this.affectedKeys.add(e);this._affectsConfigStr=this._marker;for(const o of this.affectedKeys)this._affectsConfigStr+=o+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Xq.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){const i=this._marker+e,n=this._affectsConfigStr.indexOf(i);if(n<0)return!1;const s=n+i.length;if(s>=this._affectsConfigStr.length)return!1;const o=this._affectsConfigStr.charCodeAt(s);if(o!==this._markerCode1&&o!==this._markerCode2)return!1;if(t){const i=this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,n=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!$l.aI(i,n)}return!0}}const eG={kind:0},tG={kind:1};class iG{constructor(e,t,i){this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const n of e){const e=n.command;e&&"-"!==e.charAt(0)&&this._defaultBoundCommands.set(e,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=iG.handleRemovals([].concat(e).concat(t));for(let n=0,s=this._keybindings.length;n=0;n--){const e=i[n];if(e.command===t.command)continue;let s=!0;for(let i=1;i=0;n--){const e=i[n];if(t.contextMatchesRules(e.when))return e}return i[i.length-1]}resolve(e,t,i){const n=[...t,i];this._log(`| Resolving ${n}`);const s=this._map.get(n[0]);if(void 0===s)return this._log("\\ No keybinding entries."),eG;let o=null;if(n.length<2)o=s;else{o=[];for(let e=0,t=s.length;et.chords.length)continue;let i=!0;for(let e=1;e=0;i--){const n=t[i];if(iG._contextMatchesRules(e,n.when))return n}return null}static _contextMatchesRules(e,t){return!t||t.evaluate(e)}}function nG(e){return e?`${e.serialize()}`:"no when condition"}function sG(e){return e.extensionId?e.isBuiltinExtension?`built-in extension ${e.extensionId}`:`user extension ${e.extensionId}`:e.isDefault?"built-in":"user"}const oG=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class rG extends Ae.jG{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:P.Jh.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,n,s){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=i,this._notificationService=n,this._logService=s,this._onDidUpdateKeybindings=this._register(new P.vl),this._currentChords=[],this._currentChordChecker=new A.vb,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=aG.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new A.pc,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const i=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(i)return i.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const i=this.resolveKeyboardEvent(e);if(i.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),eG;const[n]=i.getDispatchChords();if(null===n)return this._log("\\ Keyboard event cannot be dispatched"),eG;const s=this._contextKeyService.getContext(t),o=this._currentChords.map((({keypress:e})=>e));return this._getResolver().resolve(s,o,n)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet((()=>{this._documentHasFocus()?Date.now()-e>5e3&&this._leaveChordMode():this._leaveChordMode()}),500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw(0,b.iH)("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(jn.kg("first.chord","({0}) was pressed. Waiting for second key of chord...",t));break;default:{const e=this._currentChords.map((({label:e})=>e)).join(", ");this._currentChordStatusMessage=this._notificationService.status(jn.kg("next.chord","({0}) was pressed. Waiting for next key of chord...",e))}}this._scheduleLeaveChordMode(),t_.enabled&&t_.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],t_.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const i=this.resolveKeyboardEvent(e),[n]=i.getSingleModifierDispatchChords();if(n)return this._ignoreSingleModifiers.has(n)?(this._log(`+ Ignoring single modifier ${n} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=aG.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=aG.EMPTY,null===this._currentSingleModifier?(this._log(`+ Storing single modifier for possible chord ${n}.`),this._currentSingleModifier=n,this._currentSingleModifierClearTimeout.cancelAndSet((()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null}),300),!1):n===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${n} ${n}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(i,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${n}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[s]=i.getChords();return this._ignoreSingleModifiers=new aG(s),null!==this._currentSingleModifier&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,i=!1){let n=!1;if(e.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let s=null,o=null;if(i){const[t]=e.getSingleModifierDispatchChords();s=t,o=t?[t]:[]}else[s]=e.getDispatchChords(),o=this._currentChords.map((({keypress:e})=>e));if(null===s)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),n;const r=this._contextKeyService.getContext(t),a=e.getLabel(),l=this._getResolver().resolve(r,o,s);switch(l.kind){case 0:if(this._logService.trace("KeybindingService#dispatch",a,"[ No matching keybinding ]"),this.inChordMode){const e=this._currentChords.map((({label:e})=>e)).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status(jn.kg("missing.chord","The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),n=!0}return n;case 1:return this._logService.trace("KeybindingService#dispatch",a,"[ Several keybindings match - more chords needed ]"),n=!0,this._expectAnotherChord(s,a),this._log(1===this._currentChords.length?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),n;case 2:if(this._logService.trace("KeybindingService#dispatch",a,`[ Will dispatch command ${l.commandId} ]`),null===l.commandId||""===l.commandId){if(this.inChordMode){const e=this._currentChords.map((({label:e})=>e)).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status(jn.kg("missing.chord","The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),n=!0}}else{this.inChordMode&&this._leaveChordMode(),l.isBubble||(n=!0),this._log(`+ Invoking command ${l.commandId}.`),this._currentlyDispatchingCommandId=l.commandId;try{void 0===l.commandArgs?this._commandService.executeCommand(l.commandId).then(void 0,(e=>this._notificationService.warn(e))):this._commandService.executeCommand(l.commandId,l.commandArgs).then(void 0,(e=>this._notificationService.warn(e)))}finally{this._currentlyDispatchingCommandId=null}oG.test(l.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:l.commandId,from:"keybinding",detail:e.getUserSettingsLabel()??void 0})}return n}}mightProducePrintableCharacter(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)}}class aG{static{this.EMPTY=new aG(null)}constructor(e){this._ctrlKey=!!e&&e.ctrlKey,this._shiftKey=!!e&&e.shiftKey,this._altKey=!!e&&e.altKey,this._metaKey=!!e&&e.metaKey}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}class lG{constructor(e,t,i,n,s,o,r){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?hG(e.getDispatchChords()):[],e&&0===this.chords.length&&(this.chords=hG(e.getSingleModifierDispatchChords())),this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=i,this.when=n,this.isDefault=s,this.extensionId=o,this.isBuiltinExtension=r}}function hG(e){const t=[];for(let i=0,n=e.length;ithis._getLabel(e)))}getAriaLabel(){return ip.toLabel(this._os,this._chords,(e=>this._getAriaLabel(e)))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:np.toLabel(this._os,this._chords,(e=>this._getElectronAccelerator(e)))}getUserSettingsLabel(){return sp.toLabel(this._os,this._chords,(e=>this._getUserSettingsLabel(e)))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map((e=>this._getChord(e)))}_getChord(e){return new k(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map((e=>this._getChordDispatch(e)))}getSingleModifierDispatchChords(){return this._chords.map((e=>this._getSingleModifierChordDispatch(e)))}}class cG extends dG{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(2===this._os)switch(e){case 15:return"\u2190";case 16:return"\u2191";case 17:return"\u2192";case 18:return"\u2193"}return v.YM.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":v.YM.toString(e.keyCode)}_getElectronAccelerator(e){return v.YM.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=v.YM.toUserSettingsUS(e.keyCode);return t?t.toLowerCase():t}_getChordDispatch(e){return cG.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=v.YM.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return 5!==e.keyCode||e.shiftKey||e.altKey||e.metaKey?4!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey?6!==e.keyCode||e.ctrlKey||e.shiftKey||e.metaKey?57!==e.keyCode||e.ctrlKey||e.shiftKey||e.altKey?null:"meta":"alt":"shift":"ctrl"}static _scanCodeToKeyCode(e){const t=v.Fo[e];if(-1!==t)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof y)return e;const t=this._scanCodeToKeyCode(e.scanCode);return 0===t?null:new y(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const i=hG(e.chords.map((e=>this._toKeyCodeChord(e))));return i.length>0?[new cG(i,t)]:[]}}var uG=i(83930);const gG=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,pG=/(&)?(&)([^\s&])/g;var mG,fG;!function(e){e[e.Right=0]="Right",e[e.Left=1]="Left"}(mG||(mG={})),function(e){e[e.Above=0]="Above",e[e.Below=1]="Below"}(fG||(fG={}));class _G extends Jg{constructor(e,t,i,n){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const s=document.createElement("div");s.classList.add("monaco-menu"),s.setAttribute("role","presentation"),super(s,{orientation:1,actionViewItemProvider:e=>this.doGetActionViewItem(e,i,o),context:i.context,actionRunner:i.actionRunner,ariaLabel:i.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...f.zx||f.j9?[10]:[]],keyDown:!0}}),this.menuStyles=n,this.menuElement=s,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,n),this._register(nd.addTarget(s)),this._register(Ye(s,Ut.KEY_DOWN,(e=>{new N(e).equals(2)&&e.preventDefault()}))),i.enableMnemonics&&this._register(Ye(s,Ut.KEY_DOWN,(e=>{const t=e.key.toLocaleLowerCase();if(this.mnemonics.has(t)){jt(e,!0);const i=this.mnemonics.get(t);if(1===i.length&&(i[0]instanceof bG&&i[0].container&&this.focusItemByElement(i[0].container),i[0].onClick(e)),i.length>1){const e=i.shift();e&&e.container&&(this.focusItemByElement(e.container),i.push(e)),this.mnemonics.set(t,i)}}}))),f.j9&&this._register(Ye(s,Ut.KEY_DOWN,(e=>{const t=new N(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),jt(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),jt(e,!0))}))),this._register(Ye(this.domNode,Ut.MOUSE_OUT,(e=>{_t(e.relatedTarget,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())}))),this._register(Ye(this.actionsList,Ut.MOUSE_OVER,(e=>{let t=e.target;if(t&&_t(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}))),this._register(nd.addTarget(this.actionsList)),this._register(Ye(this.actionsList,td.Tap,(e=>{let t=e.initialTarget;if(t&&_t(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}})));const o={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new Ju(s,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const r=this.scrollableElement.getDomNode();r.style.position="",this.styleScrollElement(r,n),this._register(Ye(s,td.Change,(e=>{jt(e,!0);const t=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:t-e.translationY})}))),this._register(Ye(r,Ut.MOUSE_UP,(e=>{e.preventDefault()})));const a=We(e);s.style.maxHeight=`${Math.max(10,a.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter(((e,n)=>{if(i.submenuIds?.has(e.id))return console.warn(`Found submenu cycle: ${e.id}`),!1;if(e instanceof Jn){if(n===t.length-1||0===n)return!1;if(t[n-1]instanceof Jn)return!1}return!0})),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter((e=>!(e instanceof CG))).forEach(((e,t,i)=>{e.updatePositionInSet(t+1,i.length)}))}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(Ct(e)?this.styleSheet=Et(e):(_G.globalStyleSheet||(_G.globalStyleSheet=Et()),this.styleSheet=_G.globalStyleSheet)),this.styleSheet.textContent=function(e,t){let i=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${wG(vl.W.menuSelection)}\n${wG(vl.W.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n\tmax-height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(t){i+="\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t";const t=e.scrollbarShadow;t&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${t} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`);const n=e.scrollbarSliderBackground;n&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${n};\n\t\t\t\t}\n\t\t\t`);const s=e.scrollbarSliderHoverBackground;s&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${s};\n\t\t\t\t}\n\t\t\t`);const o=e.scrollbarSliderActiveBackground;o&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${o};\n\t\t\t\t}\n\t\t\t`)}return i}(t,Ct(e))}styleScrollElement(e,t){const i=t.foregroundColor??"",n=t.backgroundColor??"",s=t.borderColor?`1px solid ${t.borderColor}`:"",o=t.shadowColor?`0 2px 8px ${t.shadowColor}`:"";e.style.outline=s,e.style.borderRadius="5px",e.style.color=i,e.style.backgroundColor=n,e.style.boxShadow=o}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(Ye(this.element,Ut.MOUSE_UP,(e=>{if(jt(e,!0),h){if(new T(We(this.element),e).rightButton)return;this.onClick(e)}else setTimeout((()=>{this.onClick(e)}),0)}))),this._register(Ye(this.element,Ut.CONTEXT_MENU,(e=>{jt(e,!0)}))))}),100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=Gt(this.element,ei("a.action-menu-item")),this._action.id===Jn.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=Gt(this.item,ei("span.menu-item-check"+In.L.asCSSSelector(vl.W.menuSelection))),this.check.setAttribute("role","none"),this.label=Gt(this.item,ei("span.action-label")),this.options.label&&this.options.keybinding&&(Gt(this.item,ei("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset",`${e}`),this.item.setAttribute("aria-setsize",`${t}`))}updateLabel(){if(this.label&&this.options.label){Ge(this.label);let e=An(this.action.label);if(e){const t=function(e){const t=gG,i=t.exec(e);if(!i)return e;const n=!i[1];return e.replace(t,n?"$2$3":"").trim()}(e);this.options.enableMnemonics||(e=t),this.label.setAttribute("aria-label",t.replace(/&&/g,"&"));const i=gG.exec(e);if(i){e=Ti.ih(e),pG.lastIndex=0;let t=pG.exec(e);for(;t&&t[1];)t=pG.exec(e);const n=e=>e.replace(/&&/g,"&");t?this.label.append(Ti.NB(n(e.substr(0,t.index))," "),ei("u",{"aria-hidden":"true"},t[3]),Ti.BO(n(e.substr(t.index+t[0].length))," ")):this.label.innerText=n(e).trim(),this.item?.setAttribute("aria-keyshortcuts",(i[1]?i[1]:i[3]).toLocaleLowerCase())}else this.label.innerText=e.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const e=this.action.checked;this.item.classList.toggle("checked",!!e),void 0!==e?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,i=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,n=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",s=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=t??"",this.item.style.backgroundColor=i??"",this.item.style.outline=n,this.item.style.outlineOffset=s),this.check&&(this.check.style.color=t??"")}}class bG extends vG{constructor(e,t,i,n,s){super(e,e,n,s),this.submenuActions=t,this.parentData=i,this.submenuOptions=n,this.mysubmenu=null,this.submenuDisposables=this._register(new Ae.Cm),this.mouseOver=!1,this.expandDirection=n&&void 0!==n.expandDirection?n.expandDirection:{horizontal:mG.Right,vertical:fG.Below},this.showScheduler=new A.uC((()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))}),250),this.hideScheduler=new A.uC((()=>{this.element&&!_t(yt(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}),750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=Gt(this.item,ei("span.submenu-indicator"+In.L.asCSSSelector(vl.W.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(Ye(this.element,Ut.KEY_UP,(e=>{const t=new N(e);(t.equals(17)||t.equals(3))&&(jt(e,!0),this.createSubmenu(!0))}))),this._register(Ye(this.element,Ut.KEY_DOWN,(e=>{const t=new N(e);yt()===this.item&&(t.equals(17)||t.equals(3))&&jt(e,!0)}))),this._register(Ye(this.element,Ut.MOUSE_OVER,(e=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())}))),this._register(Ye(this.element,Ut.MOUSE_LEAVE,(e=>{this.mouseOver=!1}))),this._register(Ye(this.element,Ut.FOCUS_OUT,(e=>{this.element&&!_t(yt(),this.element)&&this.hideScheduler.schedule()}))),this._register(this.parentData.parent.onScroll((()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}))))}updateEnabled(){}onClick(e){jt(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,i,n){const s={top:0,left:0};return s.left=Aq(e.width,t.width,{position:n.horizontal===mG.Right?0:1,offset:i.left,size:i.width}),s.left>=i.left&&s.left{new N(e).equals(15)&&(jt(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))}))),this.submenuDisposables.add(Ye(this.submenuContainer,Ut.KEY_DOWN,(e=>{new N(e).equals(15)&&jt(e,!0)}))),this.submenuDisposables.add(this.parentData.submenu.onDidCancel((()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)}))),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){this.item&&this.item?.setAttribute("aria-expanded",e)}applyStyle(){super.applyStyle();const e=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=e??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class CG extends Zg{constructor(e,t,i,n){super(e,t,i),this.menuStyles=n}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function wG(e){const t=(0,du.J)()[e.id];return`.codicon-${e.id}:before { content: '\\${t.toString(16)}'; }`}class yG{constructor(e,t,i,n){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=n,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;let i;this.focusToReturn=yt();const n=Bt(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:n=>{this.lastContainer=n;const s=e.getMenuClassName?e.getMenuClassName():"";s&&(n.className+=" "+s),this.options.blockMouse&&(this.block=n.appendChild(ei(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",this.blockDisposable?.dispose(),this.blockDisposable=Ye(this.block,Ut.MOUSE_DOWN,(e=>e.stopPropagation())));const o=new Ae.Cm,r=e.actionRunner||new Xn;r.onWillRun((t=>this.onActionRun(t,!e.skipTelemetry)),this,o),r.onDidRun(this.onDidActionRun,this,o),i=new _G(n,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:r,getKeyBinding:e.getKeyBinding?e.getKeyBinding:e=>this.keybindingService.lookupKeybinding(e.id)},bp),i.onDidCancel((()=>this.contextViewService.hideContextView(!0)),null,o),i.onDidBlur((()=>this.contextViewService.hideContextView(!0)),null,o);const a=We(n);return o.add(Ye(a,Ut.BLUR,(()=>this.contextViewService.hideContextView(!0)))),o.add(Ye(a,Ut.MOUSE_DOWN,(e=>{if(e.defaultPrevented)return;const t=new T(a,e);let i=t.target;if(!t.rightButton){for(;i;){if(i===n)return;i=i.parentElement}this.contextViewService.hideContextView(!0)}}))),(0,Ae.qE)(o,i)},focus:()=>{i?.focus(!!e.autoSelectFirstItem)},onHide:t=>{e.onHide?.(!!t),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&(yt()===this.lastContainer||_t(yt(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},n,!!n)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!(0,b.MB)(e.error)&&this.notificationService.error(e.error)}}var SG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},kG=function(e,t){return function(i,n){t(i,n,e)}};let LG=class extends Ae.jG{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new yG(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,n,s,o){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=n,this.menuService=s,this.contextKeyService=o,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new P.vl),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new P.vl)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=xG.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{e.onHide?.(t),this._onDidHideContextMenu.fire()}}),hi.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};var xG,DG;LG=SG([kG(0,Ls),kG(1,yd),kG(2,_d),kG(3,bd),kG(4,vs),kG(5,ls.fN)],LG),function(e){e.transform=function(e,t,i){if(!((n=e)&&n.menuId instanceof _s))return e;var n;const{menuId:s,menuActionOptions:o,contextKeyService:r}=e;return{...e,getActions:()=>{const n=[];if(s){!function(e,t,i,n){let s,o,r;if(Array.isArray(e))r=e,s=t,o=i;else{const a=t;r=e.getActions(a),s=i,o=n}const a=hi.getInstance();zy(r,s,a.keyStatus.altKey||(f.uF||f.j9)&&a.keyStatus.shiftKey,o?e=>e===o:e=>"navigation"===e)}(t.getMenuActions(s,r??i,o),n)}return e.getActions?Jn.join(e.getActions(),n):n}}}}(xG||(xG={})),function(e){e[e.API=0]="API",e[e.USER=1]="USER"}(DG||(DG={}));var NG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},IG=function(e,t){return function(i,n){t(i,n,e)}};let EG=class{constructor(e){this._commandService=e}async open(e,t){if(!(0,Pe.v$)(e,Pe.ny.command))return!1;if(!t?.allowCommands)return!0;if("string"==typeof e&&(e=Bn.r.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path))return!0;let i=[];try{i=Ul(decodeURIComponent(e.query))}catch{try{i=Ul(e.query)}catch{}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};EG=NG([IG(0,rs)],EG);let MG=class{constructor(e){this._editorService=e}async open(e,t){"string"==typeof e&&(e=Bn.r.parse(e));const{selection:i,uri:n}=function(e){let t;const i=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(e.fragment);return i&&(t={startLineNumber:parseInt(i[1]),startColumn:i[2]?parseInt(i[2]):1,endLineNumber:i[4]?parseInt(i[4]):void 0,endColumn:i[4]?i[5]?parseInt(i[5]):1:void 0},e=e.with({fragment:""})),{selection:t,uri:e}}(e);return(e=n).scheme===Pe.ny.file&&(e=(0,Wn.Fd)(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t?.fromUserGesture?DG.USER:DG.API,...t?.editorOptions}},this._editorService.getFocusedCodeEditor(),t?.openToSide),!0}};MG=NG([IG(0,qn)],MG);let TG=class{constructor(e,t){this._openers=new ns.w,this._validators=new ns.w,this._resolvers=new ns.w,this._resolvedUriTargets=new Si.fT((e=>e.with({path:null,fragment:null,query:null}).toString())),this._externalOpeners=new ns.w,this._defaultExternalOpener={openExternal:async e=>((0,Pe.fV)(e,Pe.ny.http,Pe.ny.https)?si(e):o.location.href=e,!0)},this._openers.push({open:async(e,t)=>!(!t?.openExternal&&!(0,Pe.fV)(e,Pe.ny.mailto,Pe.ny.http,Pe.ny.https,Pe.ny.vsls))&&(await this._doOpenExternal(e,t),!0)}),this._openers.push(new EG(t)),this._openers.push(new MG(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){const i="string"==typeof e?Bn.r.parse(e):e,n=this._resolvedUriTargets.get(i)??e;for(const s of this._validators)if(!await s.shouldOpen(n,t))return!1;for(const s of this._openers){if(await s.open(e,t))return!0}return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const n=await i.resolveExternalUri(e,t);if(n)return this._resolvedUriTargets.has(n.resolved)||this._resolvedUriTargets.set(n.resolved,e),n}catch{}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i="string"==typeof e?Bn.r.parse(e):e;let n,s;try{n=(await this.resolveExternalUri(i,t)).resolved}catch{n=i}if(s="string"==typeof e&&i.toString()===n.toString()?e:encodeURI(n.toString(!0)),t?.allowContributedOpeners){const e="string"==typeof t?.allowContributedOpeners?t?.allowContributedOpeners:void 0;for(const t of this._externalOpeners){if(await t.openExternal(s,{sourceUri:i,preferredOpenerId:e},na.XO.None))return!0}}return this._defaultExternalOpener.openExternal(s,{sourceUri:i},na.XO.None)}dispose(){this._validators.clear()}};TG=NG([IG(0,qn),IG(1,rs)],TG);var RG=i(90011),AG=i(40931),PG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},OG=function(e,t){return function(i,n){t(i,n,e)}};let FG=class extends Ae.jG{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=hs.O.as(fO),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,i){const[n,s]=this.getOrInstantiateProvider(e,i?.enabledProviderPrefixes),o=this.visibleQuickAccess,r=o?.descriptor;if(o&&s&&r===s)return e===s.prefix||i?.preserveValue||(o.picker.value=e),void this.adjustValueSelection(o.picker,s,i);if(s&&!i?.preserveValue){let t;if(o&&r&&r!==s){const e=o.value.substr(r.prefix.length);e&&(t=`${s.prefix}${e}`)}if(!t){const e=n?.defaultFilterValue;e===mO.LAST?t=this.lastAcceptedPickerValues.get(s):"string"==typeof e&&(t=`${s.prefix}${e}`)}"string"==typeof t&&(e=t)}const a=o?.picker?.valueSelection,l=o?.picker?.value,h=new Ae.Cm,d=h.add(this.quickInputService.createQuickPick({useSeparators:!0}));let c;d.value=e,this.adjustValueSelection(d,s,i),d.placeholder=i?.placeholder??s?.placeholder,d.quickNavigate=i?.quickNavigateConfiguration,d.hideInput=!!d.quickNavigate&&!o,("number"==typeof i?.itemActivation||i?.quickNavigateConfiguration)&&(d.itemActivation=i?.itemActivation??Yh.SECOND),d.contextKey=s?.contextKey,d.filterValue=e=>e.substring(s?s.prefix.length:0),t&&(c=new A.Zv,h.add(P.Jh.once(d.onWillAccept)((e=>{e.veto(),d.hide()})))),h.add(this.registerPickerListeners(d,n,s,e,i));const u=h.add(new na.Qi);return n&&h.add(n.provide(d,u.token,i?.providerOptions)),P.Jh.once(d.onDidHide)((()=>{0===d.selectedItems.length&&u.cancel(),h.dispose(),c?.complete(d.selectedItems.slice(0))})),d.show(),a&&l===e&&(d.valueSelection=a),t?c?.p:void 0}adjustValueSelection(e,t,i){let n;n=i?.preserveValue?[e.value.length,e.value.length]:[t?.prefix.length??0,e.value.length],e.valueSelection=n}registerPickerListeners(e,t,i,n,s){const o=new Ae.Cm,r=this.visibleQuickAccess={picker:e,descriptor:i,value:n};return o.add((0,Ae.s)((()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)}))),o.add(e.onDidChangeValue((e=>{const[i]=this.getOrInstantiateProvider(e,s?.enabledProviderPrefixes);i!==t?this.show(e,{enabledProviderPrefixes:s?.enabledProviderPrefixes,preserveValue:!0,providerOptions:s?.providerOptions}):r.value=e}))),i&&o.add(e.onDidAccept((()=>{this.lastAcceptedPickerValues.set(i,e.value)}))),o}getOrInstantiateProvider(e,t){const i=this.registry.getQuickAccessProvider(e);if(!i||t&&!t?.includes(i.prefix))return[void 0,void 0];let n=this.mapProviderToDescriptor.get(i);return n||(n=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,n)),[n,i]}};FG=PG([OG(0,Jh),OG(1,$n._Y)],FG);var WG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};class BG{constructor(e){this.nodes=e}toString(){return this.nodes.map((e=>"string"==typeof e?e:e.label)).join("")}}WG([ed],BG.prototype,"toString",null);const HG=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;const VG={},zG=new Rl("quick-input-button-icon-");function UG(e,t,i){let n=e.iconClass||function(e){if(!e)return;let t;const i=e.dark.toString();return VG[i]?t=VG[i]:(t=zG.nextId(),Ot(`.${t}, .hc-light .${t}`,`background-image: ${oi(e.light||e.dark)}`),Ot(`.vs-dark .${t}, .hc-black .${t}`,`background-image: ${oi(e.dark)}`),VG[i]=t),t}(e.iconPath);return e.alwaysVisible&&(n=n?`${n} always-visible`:"always-visible"),{id:t,label:"",tooltip:e.tooltip||"",class:n,enabled:!0,run:i}}function KG(e,t,i){Yt(t);const n=function(e){const t=[];let i,n=0;for(;i=HG.exec(e);){i.index-n>0&&t.push(e.substring(n,i.index));const[,s,o,,r]=i;r?t.push({label:s,href:o,title:r}):t.push({label:s,href:o}),n=i.index+i[0].length}return n{Kt(e)&&jt(e,!0),i.callback(o.href)},a=i.disposables.add(new Vr(n,Ut.CLICK)).event,l=i.disposables.add(new Vr(n,Ut.KEY_DOWN)).event,h=P.Jh.chain(l,(e=>e.filter((e=>{const t=new N(e);return t.equals(10)||t.equals(3)}))));i.disposables.add(nd.addTarget(n));const d=i.disposables.add(new Vr(n,td.Tap)).event;P.Jh.any(a,d,h)(r,null,i.disposables),t.appendChild(n)}}var jG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},$G=function(e,t){return function(i,n){t(i,n,e)}};const qG="inQuickInput",GG=new ls.N1(qG,!1,(0,jn.kg)("inQuickInput","Whether keyboard focus is inside the quick input control")),QG=ls.M$.has(qG),YG="quickInputType",ZG=new ls.N1(YG,void 0,(0,jn.kg)("quickInputType","The type of the currently visible quick input")),XG="cursorAtEndOfQuickInputBox",JG=new ls.N1(XG,!1,(0,jn.kg)("cursorAtEndOfQuickInputBox","Whether the cursor in the quick input is at the end of the input box")),eQ=ls.M$.has(XG),tQ={iconClass:In.L.asClassName(vl.W.quickInputBack),tooltip:(0,jn.kg)("quickInput.back","Back"),handle:-1};class iQ extends Ae.jG{static{this.noPromptMessage=(0,jn.kg)("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel")}constructor(e){super(),this.ui=e,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=iQ.noPromptMessage,this._severity=Cd.A.Ignore,this.onDidTriggerButtonEmitter=this._register(new P.vl),this.onDidHideEmitter=this._register(new P.vl),this.onWillHideEmitter=this._register(new P.vl),this.onDisposeEmitter=this._register(new P.vl),this.visibleDisposables=this._register(new Ae.Cm),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!f.un;this._ignoreFocusOut=e&&!f.un,t&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons]}set buttons(e){this._leftButtons=e.filter((e=>e===tQ)),this._rightButtons=e.filter((e=>e!==tQ&&e.location!==Xh.Inline)),this._inlineButtons=e.filter((e=>e.location===Xh.Inline)),this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=e??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton((e=>{-1!==this.buttons.indexOf(e)&&this.onDidTriggerButtonEmitter.fire(e)}))),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=Qh.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=Qh.Other){this.onWillHideEmitter.fire({reason:e})}update(){if(!this.visible)return;const e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:e||" "===this.ui.title.innerHTML||(this.ui.title.innerText="\xa0");const t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?Yt(this.ui.widget,this._widget):Yt(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new A.pc,this.busyDelay.setIfNotSet((()=>{this.visible&&this.ui.progressBar.infinite()}),800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const e=this._leftButtons.map(((e,t)=>UG(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.leftActionBar.push(e,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const t=this._rightButtons.map(((e,t)=>UG(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.rightActionBar.push(t,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();const i=this._inlineButtons.map(((e,t)=>UG(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.inlineActionBar.push(i,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const e=this.toggles?.filter((e=>e instanceof gL))??[];this.ui.inputBox.toggles=e}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const i=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==i&&(this._lastValidationMessage=i,Yt(this.ui.message),KG(i,this.ui.message,{callback:e=>{this.ui.linkOpenerDelegate(e)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?(0,jn.kg)("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==Cd.A.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:"",this.ui.message.style.backgroundColor=t.background?`${t.background}`:"",this.ui.message.style.border=t.border?`1px solid ${t.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}class nQ extends iQ{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new P.vl),this.onWillAcceptEmitter=this._register(new P.vl),this.onDidAcceptEmitter=this._register(new P.vl),this.onDidCustomEmitter=this._register(new P.vl),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=Yh.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new P.vl),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new P.vl),this.onDidTriggerItemButtonEmitter=this._register(new P.vl),this.onDidTriggerSeparatorButtonEmitter=this._register(new P.vl),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this._focusEventBufferer=new P.at,this.type="quickPick",this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}static{this.DEFAULT_ARIA_LABEL=(0,jn.kg)("quickInputBox.ariaLabel","Type to narrow down results.")}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){if(this._value!==e){if(this._value=e,t||this.update(),this.visible){this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst()}this.onDidChangeValueEmitter.fire(this._value)}}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Gh:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(Zh.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((e=>{this.doSetValue(e,!0)}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)}))),this.visibleDisposables.add(this.ui.onDidCustom((()=>{this.onDidCustomEmitter.fire()}))),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,((e,t)=>t))((e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&(0,ia.aI)(e,this._activeItems,((e,t)=>e===t))||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))}))),this.visibleDisposables.add(this.ui.list.onDidChangeSelection((({items:e,event:t})=>{this.canSelectMany?e.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&(0,ia.aI)(e,this._selectedItems,((e,t)=>e===t))||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(Vt(t)&&1===t.button))}))),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements((e=>{this.canSelectMany&&this.visible&&(this.selectedItemsToConfirm!==this._selectedItems&&(0,ia.aI)(e,this._selectedItems,((e,t)=>e===t))||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))}))),this.visibleDisposables.add(this.ui.list.onButtonTriggered((e=>this.onDidTriggerItemButtonEmitter.fire(e)))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered((e=>this.onDidTriggerSeparatorButtonEmitter.fire(e)))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return Ye(this.ui.container,Ut.KEY_UP,(e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new N(e),i=t.keyCode;this._quickNavigate.keybindings.some((e=>{const n=e.getChords();return!(n.length>1)&&(n[0].shiftKey&&4===i?!(t.ctrlKey||t.altKey||t.metaKey):!(!n[0].altKey||6!==i)||(!(!n[0].ctrlKey||5!==i)||!(!n[0].metaKey||57!==i)))}))&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)}))}update(){if(!this.visible)return;const e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,i={title:!!this.title||!!this.step||!!this.titleButtons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(i),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let n=this.ariaLabel;!n&&i.inputBox&&(n=this.placeholder||nQ.DEFAULT_ARIA_LABEL,this.title&&(n+=` - ${this.title}`)),this.ui.list.ariaLabel!==n&&(this.ui.list.ariaLabel=n??null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents((()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case Yh.NONE:this._itemActivation=Yh.FIRST;break;case Yh.SECOND:this.ui.list.focus(Zh.Second),this._itemActivation=Yh.FIRST;break;case Yh.LAST:this.ui.list.focus(Zh.Last),this._itemActivation=Yh.FIRST;break;default:this.trySelectFirst()}}))),this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",i.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(Zh.First)),this.keepScrollPosition&&(this.scrollTop=e)}focus(e){this.ui.list.focus(e),this.canSelectMany&&this.ui.list.domFocus()}accept(e){e&&!this._canAcceptInBackground||this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(e??!1))}}class sQ extends iQ{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new P.vl),this.onDidAcceptEmitter=this._register(new P.vl),this.type="inputBox",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>this.onDidAcceptEmitter.fire()))),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}}let oQ=class extends sk{constructor(e,t){super("element",!1,(e=>this.getOverrideOptions(e)),e,t)}getOverrideOptions(e){return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(Bt(e.content)?e.content.textContent??"":"string"==typeof e.content?e.content:e.content.value).includes("\n"),skipFadeInAnimation:!0}}}};oQ=jG([$G(0,Fp.pG),$G(1,nk)],oQ);const rQ="done",aQ="active",lQ="infinite",hQ="infinite-long-running",dQ="discrete";class cQ extends Ae.jG{static{this.LONG_RUNNING_INFINITE_THRESHOLD=1e4}constructor(e,t){super(),this.progressSignal=this._register(new Ae.HE),this.workedVal=0,this.showDelayedScheduler=this._register(new A.uC((()=>ti(this.element)),0)),this.longRunningScheduler=this._register(new A.uC((()=>this.infiniteLongRunning()),cQ.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=t?.progressBarBackground||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(aQ,lQ,hQ,dQ),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(rQ),this.element.classList.contains(lQ)?(this.bit.style.opacity="0",e?setTimeout((()=>this.off()),200):this.off()):(this.bit.style.width="inherit",e?setTimeout((()=>this.off()),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(dQ,rQ,hQ),this.element.classList.add(aQ,lQ),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(hQ)}getContainer(){return this.element}}const uQ=ei;class gQ extends Ae.jG{constructor(e,t,i){super(),this.parent=e,this.onKeyDown=e=>Xe(this.findInput.inputBox.inputElement,Ut.KEY_DOWN,e),this.onDidChange=e=>this.findInput.onDidChange(e),this.container=Gt(this.parent,uQ(".quick-input-box")),this.findInput=this._register(new xL(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:i}));const n=this.findInput.inputBox.inputElement;n.role="combobox",n.ariaHasPopup="menu",n.ariaAutoComplete="list",n.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===Cd.A.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===Cd.A.Info?1:e===Cd.A.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===Cd.A.Info?1:e===Cd.A.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}const pQ=new Pl.d((()=>{const e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}}));new Pl.d((()=>({collator:new Intl.Collator(void 0,{numeric:!0})}))),new Pl.d((()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:"accent"})})));function mQ(e,t,i){const n=e.toLowerCase(),s=t.toLowerCase(),o=function(e,t,i){const n=e.toLowerCase(),s=t.toLowerCase(),o=n.startsWith(i),r=s.startsWith(i);if(o!==r)return o?-1:1;if(o&&r){if(n.lengths.length)return 1}return 0}(e,t,i);if(o)return o;const r=n.endsWith(i);if(r!==s.endsWith(i))return r?-1:1;const a=function(e,t){const i=e||"",n=t||"",s=pQ.value.collator.compare(i,n);return pQ.value.collatorIsNumeric&&0===s&&i!==n?i=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},vQ=function(e,t){return function(i,n){t(i,n,e)}};const bQ=ei;class CQ{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Pl.d((()=>{const e=i.label??"",t=On(e).text.trim(),n=i.ariaLabel||[e,this.saneDescription,this.saneDetail].map((e=>{return(t=e)?t.replace(/\$\((.*?)\)/g,((e,t)=>` ${t} `)).trim():"";var t})).filter((e=>!!e)).join(", ");return{saneLabel:e,saneSortLabel:t,saneAriaLabel:n}})),this._saneDescription=i.description,this._saneTooltip=i.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}}class wQ extends CQ{constructor(e,t,i,n,s,o){super(e,t,s),this.fireButtonTriggered=i,this._onChecked=n,this.item=s,this._separator=o,this._checked=!1,this.onChecked=t?P.Jh.map(P.Jh.filter(this._onChecked.event,(e=>e.element===this)),(e=>e.checked)):P.Jh.None,this._saneDetail=s.detail,this._labelHighlights=s.highlights?.label,this._descriptionHighlights=s.highlights?.description,this._detailHighlights=s.highlights?.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}}var yQ;!function(e){e[e.NONE=0]="NONE",e[e.MOUSE_HOVER=1]="MOUSE_HOVER",e[e.ACTIVE_ITEM=2]="ACTIVE_ITEM"}(yQ||(yQ={}));class SQ extends CQ{constructor(e,t,i){super(e,!1,i),this.fireSeparatorButtonTriggered=t,this.separator=i,this.children=new Array,this.focusInsideSeparator=yQ.NONE}}class kQ{getHeight(e){return e instanceof SQ?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof wQ?DQ.ID:NQ.ID}}class LQ{getWidgetAriaLabel(){return(0,jn.kg)("quickInput","Quick Input")}getAriaLabel(e){return e.separator?.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(e.hasCheckbox&&e instanceof wQ)return{get value(){return e.checked},onDidChange:t=>e.onChecked((()=>t()))}}}class xQ{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new Ae.Cm,t.toDisposeTemplate=new Ae.Cm,t.entry=Gt(e,bQ(".quick-input-list-entry"));const i=Gt(t.entry,bQ("label.quick-input-list-label"));t.toDisposeTemplate.add(Xe(i,Ut.CLICK,(e=>{t.checkbox.offsetParent||e.preventDefault()}))),t.checkbox=Gt(i,bQ("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const n=Gt(i,bQ(".quick-input-list-rows")),s=Gt(n,bQ(".quick-input-list-row")),o=Gt(n,bQ(".quick-input-list-row"));t.label=new iN(s,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=Qt(t.label.element,bQ(".quick-input-list-icon"));const r=Gt(s,bQ(".quick-input-list-entry-keybinding"));t.keybinding=new lp(r,f.OS),t.toDisposeTemplate.add(t.keybinding);const a=Gt(o,bQ(".quick-input-list-label-meta"));return t.detail=new iN(a,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=Gt(t.entry,bQ(".quick-input-list-separator")),t.actionBar=new Jg(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,i){i.toDisposeElement.clear(),i.actionBar.clear()}}let DQ=class extends xQ{static{fQ=this}static{this.ID="quickpickitem"}constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return fQ.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(Xe(t.checkbox,Ut.CHANGE,(e=>{t.element.checked=t.checkbox.checked}))),t}renderElement(e,t,i){const n=e.element;i.element=n,n.element=i.entry??void 0;const s=n.item;i.checkbox.checked=n.checked,i.toDisposeElement.add(n.onChecked((e=>i.checkbox.checked=e))),i.checkbox.disabled=n.checkboxDisabled;const{labelHighlights:o,descriptionHighlights:r,detailHighlights:a}=n;if(s.iconPath){const e=(0,Bp.HD)(this.themeService.getColorTheme().type)?s.iconPath.dark:s.iconPath.light??s.iconPath.dark,t=Bn.r.revive(e);i.icon.className="quick-input-list-icon",i.icon.style.backgroundImage=oi(t)}else i.icon.style.backgroundImage="",i.icon.className=s.iconClass?`quick-input-list-icon ${s.iconClass}`:"";let l;!n.saneTooltip&&n.saneDescription&&(l={markdown:{value:n.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDescription});const h={matches:o||[],descriptionTitle:l,descriptionMatches:r||[],labelEscapeNewLines:!0};if(h.extraClasses=s.iconClasses,h.italic=s.italic,h.strikethrough=s.strikethrough,i.entry.classList.remove("quick-input-list-separator-as-item"),i.label.setLabel(n.saneLabel,n.saneDescription,h),i.keybinding.set(s.keybinding),n.saneDetail){let e;n.saneTooltip||(e={markdown:{value:n.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(n.saneDetail,void 0,{matches:a,title:e,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";n.separator?.label?(i.separator.textContent=n.separator.label,i.separator.style.display="",this.addItemWithSeparator(n)):i.separator.style.display="none",i.entry.classList.toggle("quick-input-list-separator-border",!!n.separator);const d=s.buttons;d&&d.length?(i.actionBar.push(d.map(((e,t)=>UG(e,`id-${t}`,(()=>n.fireButtonTriggered({button:e,item:n.item}))))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions")}disposeElement(e,t,i){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,i)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}};DQ=fQ=_Q([vQ(1,io.Gy)],DQ);class NQ extends xQ{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}static{this.ID="quickpickseparator"}get templateId(){return NQ.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderTemplate(e){const t=super.renderTemplate(e);return t.checkbox.style.display="none",t}renderElement(e,t,i){const n=e.element;i.element=n,n.element=i.entry??void 0,n.element.classList.toggle("focus-inside",!!n.focusInsideSeparator);const s=n.separator,{labelHighlights:o,descriptionHighlights:r,detailHighlights:a}=n;let l;i.icon.style.backgroundImage="",i.icon.className="",!n.saneTooltip&&n.saneDescription&&(l={markdown:{value:n.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDescription});const h={matches:o||[],descriptionTitle:l,descriptionMatches:r||[],labelEscapeNewLines:!0};if(i.entry.classList.add("quick-input-list-separator-as-item"),i.label.setLabel(n.saneLabel,n.saneDescription,h),n.saneDetail){let e;n.saneTooltip||(e={markdown:{value:n.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(n.saneDetail,void 0,{matches:a,title:e,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";i.separator.style.display="none",i.entry.classList.add("quick-input-list-separator-border");const d=s.buttons;d&&d.length?(i.actionBar.push(d.map(((e,t)=>UG(e,`id-${t}`,(()=>n.fireSeparatorButtonTriggered({button:e,separator:n.separator}))))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions"),this.addSeparator(n)}disposeElement(e,t,i){this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||e.element.element?.classList.remove("focus-inside"),super.disposeElement(e,t,i)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}}let IQ=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=i,this.accessibilityService=o,this._onKeyDown=new P.vl,this._onLeave=new P.vl,this.onLeave=this._onLeave.event,this._visibleCountObservable=(0,mg.FY)("VisibleCount",0),this.onChangedVisibleCount=P.Jh.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=(0,mg.FY)("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=P.Jh.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=(0,mg.FY)("CheckedCount",0),this.onChangedCheckedCount=P.Jh.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=(0,mg.Zh)({equalsFn:ia.aI},new Array),this.onChangedCheckedElements=P.Jh.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new P.vl,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new P.vl,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new P.vl,this._elementCheckedEventBufferer=new P.at,this._hasCheckboxes=!1,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new Ae.Cm),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._shouldLoop=!0,this._container=Gt(this.parent,bQ(".quick-input-list")),this._separatorRenderer=new NQ(t),this._itemRenderer=s.createInstance(DQ,t),this._tree=this._register(s.createInstance(HD,"QuickInput",this._container,new kQ,[this._itemRenderer,this._separatorRenderer],{filter:{filter:e=>e.hidden?0:e instanceof SQ?2:1},sorter:{compare:(e,t)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;return function(e,t,i){const n=e.labelHighlights||[],s=t.labelHighlights||[];if(n.length&&!s.length)return-1;if(!n.length&&s.length)return 1;if(0===n.length&&0===s.length)return 0;return mQ(e.saneSortLabel,t.saneSortLabel,i)}(e,t,this._lastQueryString.toLowerCase())}},accessibilityProvider:new LQ,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:ML.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=n,this._registerListeners()}get onDidChangeFocus(){return P.Jh.map(this._tree.onDidChangeFocus,(e=>e.elements.filter((e=>e instanceof wQ)).map((e=>e.item))),this._store)}get onDidChangeSelection(){return P.Jh.map(this._tree.onDidChangeSelection,(e=>({items:e.elements.filter((e=>e instanceof wQ)).map((e=>e.item)),event:e.browserEvent})),this._store)}get displayed(){return"none"!==this._container.style.display}set displayed(e){this._container.style.display=e?"":"none"}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e??""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}get shouldLoop(){return this._shouldLoop}set shouldLoop(e){this._shouldLoop=e}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown((e=>{const t=new N(e);if(10===t.keyCode)this.toggleCheckbox();this._onKeyDown.fire(t)})))}_registerOnContainerClick(){this._register(Ye(this._container,Ut.CLICK,(e=>{(e.x||e.y)&&this._onLeave.fire()})))}_registerOnMouseMiddleClick(){this._register(Ye(this._container,Ut.AUXCLICK,(e=>{1===e.button&&this._onLeave.fire()})))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel((()=>{const e=this._itemElements.filter((e=>!e.hidden)).length;this._visibleCountObservable.set(e,void 0),this._hasCheckboxes&&this._updateCheckedObservables()})))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,((e,t)=>t))((e=>this._updateCheckedObservables())))}_registerOnContextMenu(){this._register(this._tree.onContextMenu((e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))})))}_registerHoverListeners(){const e=this._register(new A.Th(this.hoverDelegate.delay));this._register(this._tree.onMouseOver((async t=>{if(Ht(t.browserEvent.target))e.cancel();else if(Ht(t.browserEvent.relatedTarget)||!_t(t.browserEvent.relatedTarget,t.element?.element))try{await e.trigger((async()=>{t.element instanceof wQ&&this.showHover(t.element)}))}catch(t){if(!(0,b.MB)(t))throw t}}))),this._register(this._tree.onMouseOut((t=>{_t(t.browserEvent.relatedTarget,t.element?.element)||e.cancel()})))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus((e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const i of this._separatorRenderer.visibleSeparators){const e=i===t;!!(i.focusInsideSeparator&yQ.ACTIVE_ITEM)!==e&&(e?i.focusInsideSeparator|=yQ.ACTIVE_ITEM:i.focusInsideSeparator&=~yQ.ACTIVE_ITEM,this._tree.rerender(i))}}))),this._register(this._tree.onMouseOver((e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&yQ.MOUSE_HOVER)||(i.focusInsideSeparator|=yQ.MOUSE_HOVER,this._tree.rerender(i))}}))),this._register(this._tree.onMouseOut((e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&yQ.MOUSE_HOVER)&&(i.focusInsideSeparator&=~yQ.MOUSE_HOVER,this._tree.rerender(i))}})))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection((e=>{const t=e.elements.filter((e=>e instanceof wQ));t.length!==e.elements.length&&(1===e.elements.length&&e.elements[0]instanceof SQ&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))})))}setAllVisibleChecked(e){this._elementCheckedEventBufferer.bufferEvents((()=>{this._itemElements.forEach((t=>{t.hidden||t.checkboxDisabled||(t.checked=e)}))}))}setElements(e){let t;this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=e,this._hasCheckboxes=this.parent.classList.contains("show-checkboxes"),this._itemElements=new Array,this._elementTree=e.reduce(((i,n,s)=>{let o;if("separator"===n.type){if(!n.buttons)return i;t=new SQ(s,(e=>this._onSeparatorButtonTriggered.fire(e)),n),o=t}else{const r=s>0?e[s-1]:void 0;let a;r&&"separator"===r.type&&!r.buttons&&(t=void 0,a=r);const l=new wQ(s,this._hasCheckboxes,(e=>this._onButtonTriggered.fire(e)),this._elementChecked,n,a);if(this._itemElements.push(l),t)return t.children.push(l),i;o=l}return i.push(o),i}),new Array),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&setTimeout((()=>{const e=this._tree.getHTMLElement().querySelector(".monaco-list-row.focused"),t=e?.parentNode;if(e&&t){const i=e.nextSibling;e.remove(),t.insertBefore(e,i)}}),0)}setFocusedElements(e){const t=e.map((e=>this._itemElements.find((t=>t.item===e)))).filter((e=>!!e)).filter((e=>!e.hidden));if(this._tree.setFocus(t),e.length>0){const e=this._tree.getFocus()[0];e&&this._tree.reveal(e)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map((e=>this._itemElements.find((t=>t.item===e)))).filter((e=>!!e));this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter((e=>e.checked)).map((e=>e.item))}setCheckedElements(e){this._elementCheckedEventBufferer.bufferEvents((()=>{const t=new Set;for(const i of e)t.add(i);for(const e of this._itemElements)e.checked=t.has(e.item)}))}focus(e){if(this._itemElements.length)switch(e===Zh.Second&&this._itemElements.length<2&&(e=Zh.First),e){case Zh.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,(e=>e.element instanceof wQ));break;case Zh.Second:{this._tree.scrollTop=0;let e=!1;this._tree.focusFirst(void 0,(t=>t.element instanceof wQ&&(!!e||(e=!e,!1))));break}case Zh.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,(e=>e.element instanceof wQ));break;case Zh.Next:{const e=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,(e=>e.element instanceof wQ&&(this._tree.reveal(e.element),!0)));const t=this._tree.getFocus();e.length&&e[0]===t[0]&&e[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}case Zh.Previous:{const e=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,(e=>{if(!(e.element instanceof wQ))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0}));const t=this._tree.getFocus();e.length&&e[0]===t[0]&&e[0]===this._itemElements[0]&&this._onLeave.fire();break}case Zh.NextPage:this._tree.focusNextPage(void 0,(e=>e.element instanceof wQ&&(this._tree.reveal(e.element),!0)));break;case Zh.PreviousPage:this._tree.focusPreviousPage(void 0,(e=>{if(!(e.element instanceof wQ))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0}));break;case Zh.NextSeparator:{let e=!1;const t=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,(t=>{if(e)return!0;if(t.element instanceof SQ)e=!0,this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element.children[0]):this._tree.reveal(t.element,0);else if(t.element instanceof wQ){if(t.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),!0;if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0}return!1}));t===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,(e=>e.element instanceof wQ)));break}case Zh.PreviousSeparator:{let e,t=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,(i=>{if(i.element instanceof SQ)t?e||(this._separatorRenderer.isSeparatorVisible(i.element)?this._tree.reveal(i.element):this._tree.reveal(i.element,0),e=i.element.children[0]):t=!0;else if(i.element instanceof wQ&&!e)if(i.element.separator)this._itemRenderer.isItemWithSeparatorVisible(i.element)?this._tree.reveal(i.element):this._tree.reveal(i.element,0),e=i.element;else if(i.element===this._elementTree[0])return this._tree.reveal(i.element,0),!0;return!1})),e&&this._tree.setFocus([e]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?44*Math.floor(e/44)+6+"px":"",this._tree.layout()}filter(e){if(this._lastQueryString=e,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if((e=e.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let i;this._itemElements.forEach((n=>{let s;s="fuzzy"===this.matchOnLabelMode?this.matchOnLabel?Fn(e,On(n.saneLabel))??void 0:void 0:this.matchOnLabel?function(e,t){const{text:i,iconOffsets:n}=t;if(!n||0===n.length)return EQ(e,i);const s=(0,Ti.NB)(i," "),o=i.length-s.length,r=EQ(e,s);if(r)for(const a of r){const e=n[a.start+o]+o;a.start+=e,a.end+=e}return r}(t,On(n.saneLabel))??void 0:void 0;const o=this.matchOnDescription?Fn(e,On(n.saneDescription||""))??void 0:void 0,r=this.matchOnDetail?Fn(e,On(n.saneDetail||""))??void 0:void 0;if(s||o||r?(n.labelHighlights=s,n.descriptionHighlights=o,n.detailHighlights=r,n.hidden=!1):(n.labelHighlights=void 0,n.descriptionHighlights=void 0,n.detailHighlights=void 0,n.hidden=!n.item||!n.item.alwaysShow),n.item?n.separator=void 0:n.separator&&(n.hidden=!0),!this.sortByLabel){const e=n.index&&this._inputElements[n.index-1]||void 0;"separator"!==e?.type||e.buttons||(i=e),i&&!n.hidden&&(n.separator=i,i=void 0)}}))}else this._itemElements.forEach((e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;const t=e.index&&this._inputElements[e.index-1];e.item&&(e.separator=t&&"separator"===t.type&&!t.buttons?t:void 0)}));return this._setElementsToTree(this._sortByLabel&&e?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents((()=>{const e=this._tree.getFocus().filter((e=>e instanceof wQ)),t=this._allVisibleChecked(e);for(const i of e)i.checkboxDisabled||(i.checked=!t)}))}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!(e?.saneTooltip&&e instanceof wQ))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();this.showHover(e);const t=new Ae.Cm;t.add(this._tree.onDidChangeFocus((e=>{e.elements[0]instanceof wQ&&this.showHover(e.elements[0])}))),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_setElementsToTree(e){const t=new Array;for(const i of e)i instanceof SQ?t.push({element:i,collapsible:!1,collapsed:!1,children:i.children.map((e=>({element:e,collapsible:!1,collapsed:!1})))}):t.push({element:i,collapsible:!1,collapsed:!1});this._tree.setChildren(null,t)}_allVisibleChecked(e,t=!0){for(let i=0,n=e.length;i{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),e);const t=this._itemElements.filter((e=>e.checked)).length;this._checkedCountObservable.set(t,e),this._checkedElementsObservable.set(this.getCheckedElements(),e)}))}showHover(e){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),e.element&&e.saneTooltip&&(this._lastHover=this.hoverDelegate.showHover({content:e.saneTooltip,target:e.element,linkHandler:e=>{this.linkOpenerDelegate(e)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};function EQ(e,t){const i=t.toLowerCase().indexOf(e.toLowerCase());return-1!==i?[{start:i,end:i+e.length}]:null}_Q([ed],IQ.prototype,"onDidChangeFocus",null),_Q([ed],IQ.prototype,"onDidChangeSelection",null),IQ=_Q([vQ(4,$n._Y),vQ(5,jr)],IQ);const MQ={weight:200,when:ls.M$.and(ls.M$.equals(YG,"quickPick"),QG),metadata:{description:(0,jn.kg)("quickPick","Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")}};function TQ(e,t={}){cs.registerCommandAndKeybindingRule({...MQ,...e,secondary:AQ(e.primary,e.secondary??[],t)})}const RQ=f.zx?256:2048;function AQ(e,t,i={}){return i.withAltMod&&t.push(512+e),i.withCtrlMod&&(t.push(RQ+e),i.withAltMod&&t.push(512+RQ+e)),i.withCmdMod&&f.zx&&(t.push(2048+e),i.withCtrlMod&&t.push(2304+e),i.withAltMod&&(t.push(2560+e),i.withCtrlMod&&t.push(2816+e))),t}function PQ(e,t){return i=>{const n=i.get(Jh).currentQuickInput;if(n)return t&&n.quickNavigate?n.focus(t):n.focus(e)}}TQ({id:"quickInput.pageNext",primary:12,handler:PQ(Zh.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),TQ({id:"quickInput.pagePrevious",primary:11,handler:PQ(Zh.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),TQ({id:"quickInput.first",primary:RQ+14,handler:PQ(Zh.First)},{withAltMod:!0,withCmdMod:!0}),TQ({id:"quickInput.last",primary:RQ+13,handler:PQ(Zh.Last)},{withAltMod:!0,withCmdMod:!0}),TQ({id:"quickInput.next",primary:18,handler:PQ(Zh.Next)},{withCtrlMod:!0}),TQ({id:"quickInput.previous",primary:16,handler:PQ(Zh.Previous)},{withCtrlMod:!0});const OQ=(0,jn.kg)("quickInput.nextSeparatorWithQuickAccessFallback","If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator."),FQ=(0,jn.kg)("quickInput.previousSeparatorWithQuickAccessFallback","If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.");f.zx?(TQ({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:2066,handler:PQ(Zh.NextSeparator,Zh.Next),metadata:{description:OQ}}),TQ({id:"quickInput.nextSeparator",primary:2578,secondary:[2322],handler:PQ(Zh.NextSeparator)},{withCtrlMod:!0}),TQ({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:2064,handler:PQ(Zh.PreviousSeparator,Zh.Previous),metadata:{description:FQ}}),TQ({id:"quickInput.previousSeparator",primary:2576,secondary:[2320],handler:PQ(Zh.PreviousSeparator)},{withCtrlMod:!0})):(TQ({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:530,handler:PQ(Zh.NextSeparator,Zh.Next),metadata:{description:OQ}}),TQ({id:"quickInput.nextSeparator",primary:2578,handler:PQ(Zh.NextSeparator)}),TQ({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:528,handler:PQ(Zh.PreviousSeparator,Zh.Previous),metadata:{description:FQ}}),TQ({id:"quickInput.previousSeparator",primary:2576,handler:PQ(Zh.PreviousSeparator)})),TQ({id:"quickInput.acceptInBackground",when:ls.M$.and(MQ.when,ls.M$.or(Kx.negate(),eQ)),primary:17,weight:250,handler:e=>{const t=e.get(Jh).currentQuickInput;t?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});var WQ,BQ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},HQ=function(e,t){return function(i,n){t(i,n,e)}};const VQ=ei;let zQ=class extends Ae.jG{static{WQ=this}static{this.MAX_WIDTH=600}get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(e,t,i,n){super(),this.options=e,this.layoutService=t,this.instantiationService=i,this.contextKeyService=n,this.enabled=!0,this.onDidAcceptEmitter=this._register(new P.vl),this.onDidCustomEmitter=this._register(new P.vl),this.onDidTriggerButtonEmitter=this._register(new P.vl),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new P.vl),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new P.vl),this.onHide=this.onHideEmitter.event,this.inQuickInputContext=GG.bindTo(this.contextKeyService),this.quickInputTypeContext=ZG.bindTo(this.contextKeyService),this.endOfQuickInputBoxContext=JG.bindTo(this.contextKeyService),this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(P.Jh.runAndSubscribe(je,(({window:e,disposables:t})=>this.registerKeyModsListeners(e,t)),{window:o,disposables:this._store})),this._register($e((e=>{this.ui&&We(this.ui.container)===e&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))})))}registerKeyModsListeners(e,t){const i=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey};for(const n of[Ut.KEY_DOWN,Ut.KEY_UP,Ut.MOUSE_DOWN])t.add(Ye(e,n,i,!0))}getUI(e){if(this.ui)return e&&We(this._container)!==We(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=Gt(this._container,VQ(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const i=Et(t),n=Gt(t,VQ(".quick-input-titlebar")),s=this._register(new Jg(n,{hoverDelegate:this.options.hoverDelegate}));s.domNode.classList.add("quick-input-left-action-bar");const o=Gt(n,VQ(".quick-input-title")),r=this._register(new Jg(n,{hoverDelegate:this.options.hoverDelegate}));r.domNode.classList.add("quick-input-right-action-bar");const a=Gt(t,VQ(".quick-input-header")),l=Gt(a,VQ("input.quick-input-check-all"));l.type="checkbox",l.setAttribute("aria-label",(0,jn.kg)("quickInput.checkAll","Toggle all checkboxes")),this._register(Xe(l,Ut.CHANGE,(e=>{const t=l.checked;D.setAllVisibleChecked(t)}))),this._register(Ye(l,Ut.CLICK,(e=>{(e.x||e.y)&&u.setFocus()})));const h=Gt(a,VQ(".quick-input-description")),d=Gt(a,VQ(".quick-input-and-message")),c=Gt(d,VQ(".quick-input-filter")),u=this._register(new gQ(c,this.styles.inputBox,this.styles.toggle));u.setAttribute("aria-describedby",`${this.idPrefix}message`);const g=Gt(c,VQ(".quick-input-visible-count"));g.setAttribute("aria-live","polite"),g.setAttribute("aria-atomic","true");const p=new JD(g,{countFormat:(0,jn.kg)({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")},this.styles.countBadge),m=Gt(c,VQ(".quick-input-count"));m.setAttribute("aria-live","polite");const f=new JD(m,{countFormat:(0,jn.kg)({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")},this.styles.countBadge),_=this._register(new Jg(a,{hoverDelegate:this.options.hoverDelegate}));_.domNode.classList.add("quick-input-inline-action-bar");const v=Gt(a,VQ(".quick-input-action")),b=this._register(new ud(v,this.styles.button));b.label=(0,jn.kg)("ok","OK"),this._register(b.onDidClick((e=>{this.onDidAcceptEmitter.fire()})));const C=Gt(a,VQ(".quick-input-action")),w=this._register(new ud(C,{...this.styles.button,supportIcons:!0}));w.label=(0,jn.kg)("custom","Custom"),this._register(w.onDidClick((e=>{this.onDidCustomEmitter.fire()})));const y=Gt(d,VQ(`#${this.idPrefix}message.quick-input-message`)),S=this._register(new cQ(t,this.styles.progressBar));S.getContainer().classList.add("quick-input-progress");const k=Gt(t,VQ(".quick-input-html-widget"));k.tabIndex=-1;const L=Gt(t,VQ(".quick-input-description")),x=this.idPrefix+"list",D=this._register(this.instantiationService.createInstance(IQ,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,x));u.setAttribute("aria-controls",x),this._register(D.onDidChangeFocus((()=>{u.setAttribute("aria-activedescendant",D.getActiveDescendant()??"")}))),this._register(D.onChangedAllVisibleChecked((e=>{l.checked=e}))),this._register(D.onChangedVisibleCount((e=>{p.setCount(e)}))),this._register(D.onChangedCheckedCount((e=>{f.setCount(e)}))),this._register(D.onLeave((()=>{setTimeout((()=>{this.controller&&(u.setFocus(),this.controller instanceof nQ&&this.controller.canSelectMany&&D.clearFocus())}),0)})));const N=qt(t);return this._register(N),this._register(Ye(t,Ut.FOCUS,(e=>{const t=this.getUI();if(_t(e.relatedTarget,t.inputContainer)){const e=t.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==e&&this.endOfQuickInputBoxContext.set(e)}_t(e.relatedTarget,t.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=Bt(e.relatedTarget)?e.relatedTarget:void 0)}),!0)),this._register(N.onDidBlur((()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(Qh.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0}))),this._register(u.onKeyDown((e=>{const t=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==t&&this.endOfQuickInputBoxContext.set(t)}))),this._register(Ye(t,Ut.FOCUS,(e=>{u.setFocus()}))),this._register(Xe(t,Ut.KEY_DOWN,(e=>{if(!_t(e.target,k))switch(e.keyCode){case 3:jt(e,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:jt(e,!0),this.hide(Qh.Gesture);break;case 2:if(!e.altKey&&!e.ctrlKey&&!e.metaKey){const i=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?i.push("input"):i.push("input[type=text]"),this.getUI().list.displayed&&i.push(".monaco-list"),this.getUI().message&&i.push(".quick-input-message a"),this.getUI().widget){if(_t(e.target,this.getUI().widget))break;i.push(".quick-input-html-widget")}const n=t.querySelectorAll(i.join(", "));e.shiftKey&&e.target===n[0]?(jt(e,!0),D.clearFocus()):!e.shiftKey&&_t(e.target,n[n.length-1])&&(jt(e,!0),n[0].focus())}break;case 10:e.ctrlKey&&(jt(e,!0),this.getUI().list.toggleHover())}}))),this.ui={container:t,styleSheet:i,leftActionBar:s,titleBar:n,title:o,description1:L,description2:h,widget:k,rightActionBar:r,inlineActionBar:_,checkAll:l,inputContainer:d,filterContainer:c,inputBox:u,visibleCountContainer:g,visibleCount:p,countContainer:m,count:f,okContainer:v,ok:b,message:y,customButtonContainer:C,customButton:w,list:D,progressBar:S,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e),linkOpenerDelegate:e=>this.options.linkOpenerDelegate(e)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,Gt(this._container,this.ui.container))}pick(e,t={},i=na.XO.None){return new Promise(((n,s)=>{let o=e=>{o=n,t.onKeyMods?.(r.keyMods),n(e)};if(i.isCancellationRequested)return void o(void 0);const r=this.createQuickPick({useSeparators:!0});let a;const l=[r,r.onDidAccept((()=>{if(r.canSelectMany)o(r.selectedItems.slice()),r.hide();else{const e=r.activeItems[0];e&&(o(e),r.hide())}})),r.onDidChangeActive((e=>{const i=e[0];i&&t.onDidFocus&&t.onDidFocus(i)})),r.onDidChangeSelection((e=>{if(!r.canSelectMany){const t=e[0];t&&(o(t),r.hide())}})),r.onDidTriggerItemButton((e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...e,removeItem:()=>{const t=r.items.indexOf(e.item);if(-1!==t){const e=r.items.slice(),i=e.splice(t,1),n=r.activeItems.filter((e=>e!==i[0])),s=r.keepScrollPosition;r.keepScrollPosition=!0,r.items=e,n&&(r.activeItems=n),r.keepScrollPosition=s}}}))),r.onDidTriggerSeparatorButton((e=>t.onDidTriggerSeparatorButton?.(e))),r.onDidChangeValue((e=>{!a||e||1===r.activeItems.length&&r.activeItems[0]===a||(r.activeItems=[a])})),i.onCancellationRequested((()=>{r.hide()})),r.onDidHide((()=>{(0,Ae.AS)(l),o(void 0)}))];r.title=t.title,t.value&&(r.value=t.value),r.canSelectMany=!!t.canPickMany,r.placeholder=t.placeHolder,r.ignoreFocusOut=!!t.ignoreFocusLost,r.matchOnDescription=!!t.matchOnDescription,r.matchOnDetail=!!t.matchOnDetail,r.matchOnLabel=void 0===t.matchOnLabel||t.matchOnLabel,r.quickNavigate=t.quickNavigate,r.hideInput=!!t.hideInput,r.contextKey=t.contextKey,r.busy=!0,Promise.all([e,t.activeItem]).then((([e,t])=>{a=t,r.busy=!1,r.items=e,r.canSelectMany&&(r.selectedItems=e.filter((e=>"separator"!==e.type&&e.picked))),a&&(r.activeItems=[a])})),r.show(),Promise.resolve(e).then(void 0,(e=>{s(e),r.hide()}))}))}createQuickPick(e={useSeparators:!1}){const t=this.getUI(!0);return new nQ(t)}createInputBox(){const e=this.getUI(!0);return new sQ(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const i=this.controller;this.controller=e,i?.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",Yt(t.widget),t.rightActionBar.clear(),t.inlineActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(Cd.A.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),Yt(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const n=this.options.backKeybindingLabel();tQ.tooltip=n?(0,jn.kg)("quickInput.backWithKeybinding","Back ({0})",n):(0,jn.kg)("quickInput.back","Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus(),this.quickInputTypeContext.set(e.type)}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=!e.description||e.inputBox||e.checkAll?"none":"",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.displayed=!!e.list,t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){const t=this.controller;if(!t)return;t.willHide(e);const i=this.ui?.container,n=i&&!kt(i);if(this.controller=null,this.onHideEmitter.fire(),i&&(i.style.display="none"),!n){let e=this.previousFocusElement;for(;e&&!e.offsetParent;)e=e.parentElement??void 0;e?.offsetParent?(e.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}t.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const e=this.ui.container.style,t=Math.min(.62*this.dimension.width,WQ.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:i,widgetBorder:n,widgetShadow:s}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e??"",this.ui.container.style.backgroundColor=t??"",this.ui.container.style.color=i??"",this.ui.container.style.border=n?`1px solid ${n}`:"",this.ui.container.style.boxShadow=s?`0 0 8px 2px ${s}`:"",this.ui.list.style(this.styles.list);const o=[];this.styles.pickerGroup.pickerGroupBorder&&o.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(o.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&o.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&o.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&o.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&o.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&o.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),o.push("}"));const r=o.join("\n");r!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=r)}}};zQ=WQ=BQ([HQ(1,aq),HQ(2,$n._Y),HQ(3,ls.fN)],zQ);var UQ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},KQ=function(e,t){return function(i,n){t(i,n,e)}};let jQ=class extends io.lR{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(FG))),this._quickAccess}constructor(e,t,i,n,s){super(i),this.instantiationService=e,this.contextKeyService=t,this.layoutService=n,this.configurationService=s,this._onShow=this._register(new P.vl),this._onHide=this._register(new P.vl),this.contexts=new Map}createController(e=this.layoutService,t){const i={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:e=>this.setContextKey(e),linkOpenerDelegate:e=>{this.instantiationService.invokeFunction((t=>{t.get(Th).open(e,{allowCommands:!0,fromUserGesture:!0})}))},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(oQ))},n=this._register(this.instantiationService.createInstance(zQ,{...i,...t}));return n.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer((t=>{We(e.activeContainer)===We(n.container)&&n.layout(t,e.activeContainerOffset.quickPickTop)}))),this._register(e.onDidChangeActiveContainer((()=>{n.isVisible()||n.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)}))),this._register(n.onShow((()=>{this.resetContextKeys(),this._onShow.fire()}))),this._register(n.onHide((()=>{this.resetContextKeys(),this._onHide.fire()}))),n}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new ls.N1(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),t&&t.get()||(this.resetContextKeys(),t?.set(!0))}resetContextKeys(){this.contexts.forEach((e=>{e.get()&&e.reset()}))}pick(e,t,i=na.XO.None){return this.controller.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.controller.createQuickPick(e)}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:(0,to.GuP)(to.ELA),quickInputForeground:(0,to.GuP)(to.HJZ),quickInputTitleBackground:(0,to.GuP)(to.er1),widgetBorder:(0,to.GuP)(to.DSL),widgetShadow:(0,to.GuP)(to.f9l)},inputBox:gp,toggle:up,countBadge:mp,button:dp,progressBar:cp,keybindingLabel:hp,list:_p({listBackground:to.ELA,listFocusBackground:to.AlL,listFocusForeground:to.nH,listInactiveFocusForeground:to.nH,listInactiveSelectionIconForeground:to.c7i,listInactiveFocusBackground:to.AlL,listFocusOutline:to.buw,listInactiveFocusOutline:to.buw}),pickerGroup:{pickerGroupBorder:(0,to.GuP)(to.iwL),pickerGroupForeground:(0,to.GuP)(to.NBf)}}}};jQ=UQ([KQ(0,$n._Y),KQ(1,ls.fN),KQ(2,io.Gy),KQ(3,aq),KQ(4,Fp.pG)],jQ);var $Q=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},qQ=function(e,t){return function(i,n){t(i,n,e)}};let GQ=class extends jQ{constructor(e,t,i,n,s,o){super(t,i,n,new cq(e.getContainerDomNode(),s),o),this.host=void 0;const r=YQ.get(e);if(r){const t=r.widget;this.host={_serviceBrand:void 0,get mainContainer(){return t.getDomNode()},getContainer:()=>t.getDomNode(),whenContainerStylesLoaded(){},get containers(){return[t.getDomNode()]},get activeContainer(){return t.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return P.Jh.map(e.onDidLayoutChange,(e=>({container:t.getDomNode(),dimension:e})))},get onDidChangeActiveContainer(){return P.Jh.None},get onDidAddContainer(){return P.Jh.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};GQ=$Q([qQ(1,$n._Y),qQ(2,ls.fN),qQ(3,io.Gy),qQ(4,qn),qQ(5,Fp.pG)],GQ);let QQ=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const i=t=this.instantiationService.createInstance(GQ,e);this.mapEditorToService.set(e,t),(0,rv.P)(e.onDidDispose)((()=>{i.dispose(),this.mapEditorToService.delete(e)}))}return t}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t,i=na.XO.None){return this.activeService.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.activeService.createQuickPick(e)}createInputBox(){return this.activeService.createInputBox()}};QQ=$Q([qQ(0,$n._Y),qQ(1,qn)],QQ);class YQ{static{this.ID="editor.controller.quickInput"}static get(e){return e.getContribution(YQ.ID)}constructor(e){this.editor=e,this.widget=new ZQ(this.editor)}dispose(){this.widget.dispose()}}class ZQ{static{this.ID="editor.contrib.quickInputWidget"}constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return ZQ.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}Bs(YQ.ID,YQ,4);var XQ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},JQ=function(e,t){return function(i,n){t(i,n,e)}};let eY=class extends Ae.jG{constructor(e,t,i){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new P.vl,this._onDidChangeReducedMotion=new P.vl,this._onDidChangeLinkUnderline=new P.vl,this._accessibilityModeEnabledContext=$r.bindTo(this._contextKeyService);const n=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration("editor.accessibilitySupport")&&(n(),this._onDidChangeScreenReaderOptimized.fire()),e.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())}))),n(),this._register(this.onDidChangeScreenReaderOptimized((()=>n())));const s=o.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=s.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(s),this.initLinkUnderlineListeners()}initReducedMotionListeners(e){this._register(Ye(e,"change",(()=>{this._systemMotionReduced=e.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()})));const t=()=>{const e=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",e),this._layoutService.mainContainer.classList.toggle("enable-motion",!e)};t(),this._register(this.onDidChangeReducedMotion((()=>t())))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration("accessibility.underlineLinks")){const e=this._configurationService.getValue("accessibility.underlineLinks");this._linkUnderlinesEnabled=e,this._onDidChangeLinkUnderline.fire()}})));const e=()=>{const e=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle("underline-links",e)};e(),this._register(this.onDidChangeLinkUnderlines((()=>e())))}onDidChangeLinkUnderlines(e){return this._onDidChangeLinkUnderline.event(e)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return"on"===e||"auto"===e&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return"on"===e||"auto"===e&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};eY=XQ([JQ(0,ls.fN),JQ(1,aq),JQ(2,Fp.pG)],eY);var tY,iY=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},nY=function(e,t){return function(i,n){t(i,n,e)}};const sY="application/vnd.code.resources";let oY=class extends Ae.jG{static{tY=this}constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(u||g)&&this.installWebKitWriteTextWorkaround(),this._register(P.Jh.runAndSubscribe(je,(({window:e,disposables:t})=>{t.add(Ye(e.document,"copy",(()=>this.clearResourcesState())))}),{window:o,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const e=new A.Zv;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=e,xt().navigator.clipboard.write([new ClipboardItem({"text/plain":e.p})]).catch((async t=>{t instanceof Error&&"NotAllowedError"===t.name&&e.isRejected||this.logService.error(t)}))};this._register(P.Jh.runAndSubscribe(this.layoutService.onDidAddContainer,(({container:t,disposables:i})=>{i.add(Ye(t,"click",e)),i.add(Ye(t,"keydown",e))}),{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.clearResourcesState(),t)this.mapTextToType.set(t,e);else{if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await xt().navigator.clipboard.writeText(e)}catch(i){console.error(i)}this.fallbackWriteText(e)}}fallbackWriteText(e){const t=Lt(),i=t.activeElement,n=t.body.appendChild(ei("textarea",{"aria-hidden":!0}));n.style.height="1px",n.style.width="1px",n.style.position="absolute",n.value=e,n.focus(),n.select(),t.execCommand("copy"),Bt(i)&&i.focus(),n.remove()}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await xt().navigator.clipboard.readText()}catch(t){console.error(t)}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}static{this.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3}async readResources(){try{const e=await xt().navigator.clipboard.read();for(const t of e)if(t.types.includes(`web ${sY}`)){const e=await t.getType(`web ${sY}`),i=JSON.parse(await e.text()).map((e=>Bn.r.from(e)));return i}}catch(t){}const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(0===this.resources.length)return;const e=await this.readText();return(0,Oe.tW)(e.substring(0,tY.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}};oY=tY=iY([nY(0,aq),nY(1,Ds.rr)],oY);var rY=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},aY=function(e,t){return function(i,n){t(i,n,e)}};const lY="data-keybinding-context";class hY{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)}removeValue(e){return e in this._value&&(delete this._value[e],!0)}getValue(e){const t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t}}class dY extends hY{static{this.INSTANCE=new dY}constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}}class cY extends hY{static{this._keyPrefix="config."}constructor(e,t,i){super(e,null),this._configurationService=t,this._values=Ta.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration((e=>{if(7===e.source){const e=Array.from(this._values,(([e])=>e));this._values.clear(),i.fire(new pY(e))}else{const t=[];for(const i of e.affectedKeys){const e=`config.${i}`,n=this._values.findSuperstr(e);void 0!==n&&(t.push(...ss.f.map(n,(([e])=>e))),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}i.fire(new pY(t))}}))}dispose(){this._listener.dispose()}getValue(e){if(0!==e.indexOf(cY._keyPrefix))return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(cY._keyPrefix.length),i=this._configurationService.getValue(t);let n;switch(typeof i){case"number":case"boolean":case"string":n=i;break;default:n=Array.isArray(i)?JSON.stringify(i):i}return this._values.set(e,n),n}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}}class uY{constructor(e,t,i){this._service=e,this._key=t,this._defaultValue=i,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class gY{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}}class pY{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every((t=>e.has(t)))}}class mY{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every((t=>t.allKeysContainedIn(e)))}}class fY extends Ae.jG{constructor(e){super(),this._onDidChangeContext=this._register(new P.fV({merge:e=>new mY(e)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new uY(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new vY(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return!e||e.evaluate(t)}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const i=this.getContextValuesContainer(this._myContextId);i&&i.setValue(e,t)&&this._onDidChangeContext.fire(new gY(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new gY(e))}getContext(e){return this._isDisposed?dY.INSTANCE:this.getContextValuesContainer(function(e){for(;e;){if(e.hasAttribute(lY)){const t=e.getAttribute(lY);return t?parseInt(t,10):NaN}e=e.parentElement}return 0}(e))}dispose(){super.dispose(),this._isDisposed=!0}}let _Y=class extends fY{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new cY(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?dY.INSTANCE:this._contexts.get(e)||dY.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new hY(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};_Y=rY([aY(0,Fp.pG)],_Y);class vY extends fY{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new Ae.HE),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(lY)){let e="";this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute"+(e?": "+e:""))}this._domNode.setAttribute(lY,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext((e=>{const t=this._parent.getContextValuesContainer(this._myContextId).value;var i;i=t,e.allKeysContainedIn(new Set(Object.keys(i)))||this._onDidChangeContext.fire(e)}))}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(lY),super.dispose())}getContextValuesContainer(e){return this._isDisposed?dY.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}as.registerCommand("_setContext",(function(e,t,i){e.get(ls.fN).createKey(String(t),function(e){return(0,$l.PI)(e,(e=>"object"==typeof e&&1===e.$mid?Bn.r.revive(e).toString():e instanceof Bn.r?e.toString():void 0))}(i))})),as.registerCommand({id:"getContextKeyInfo",handler:()=>[...ls.N1.all()].sort(((e,t)=>e.key.localeCompare(t.key))),metadata:{description:(0,jn.kg)("getContextKeyInfo","A command that returns information about context keys"),args:[]}}),as.registerCommand("_generateContextKeyInfo",(function(){const e=[],t=new Set;for(const i of ls.N1.all())t.has(i.key)||(t.add(i.key),e.push(i));e.sort(((e,t)=>e.key.localeCompare(t.key))),console.log(JSON.stringify(e,void 0,2))}));var bY=i(83312);class CY{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}}class wY{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())0===t.outgoing.size&&e.push(t);return e}insertEdge(e,t){const i=this.lookupOrInsertNode(e),n=this.lookupOrInsertNode(t);i.outgoing.set(n.key,n),n.incoming.set(i.key,i)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const i of this._nodes.values())i.outgoing.delete(t),i.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let i=this._nodes.get(t);return i||(i=new CY(t,e),this._nodes.set(t,i)),i}isEmpty(){return 0===this._nodes.size}toString(){const e=[];for(const[t,i]of this._nodes)e.push(`${t}\n\t(-> incoming)[${[...i.incoming.keys()].join(", ")}]\n\t(outgoing ->)[${[...i.outgoing.keys()].join(",")}]\n`);return e.join("\n")}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),n=this._findCycle(t,i);if(n)return n}}_findCycle(e,t){for(const[i,n]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const e=this._findCycle(n,t);if(e)return e;t.delete(i)}}}class yY extends Error{constructor(e){super("cyclic dependency between services"),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph: \n${e.toString()}`}}class SY{constructor(e=new $C,t=!1,i,n=false){this._services=e,this._strict=t,this._parent=i,this._enableTracing=n,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set($n._Y,this),this._globalGraph=n?i?._globalGraph??new wY((e=>e)):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,(0,Ae.AS)(this._children),this._children.clear();for(const e of this._servicesToMaybeDispose)(0,Ae.Xm)(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(e,t){this._throwIfDisposed();const i=this,n=new class extends SY{dispose(){i._children.delete(n),super.dispose()}}(e,this._strict,this,this._enableTracing);return this._children.add(n),t?.add(n),n}invokeFunction(e,...t){this._throwIfDisposed();const i=kY.traceInvocation(this._enableTracing,e);let n=!1;try{return e({get:e=>{if(n)throw(0,b.iH)("service accessor is only valid during the invocation of its target method");const t=this._getOrCreateServiceInstance(e,i);if(!t)throw new Error(`[invokeFunction] unknown service '${e}'`);return t}},...t)}finally{n=!0,i.stop()}}createInstance(e,...t){let i,n;return this._throwIfDisposed(),e instanceof bY.d?(i=kY.traceCreation(this._enableTracing,e.ctor),n=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=kY.traceCreation(this._enableTracing,e),n=this._createInstance(e,t,i)),i.stop(),n}_createInstance(e,t=[],i){const n=$n._$.getServiceDependencies(e).sort(((e,t)=>e.index-t.index)),s=[];for(const r of n){const t=this._getOrCreateServiceInstance(r.id,i);t||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${r.id}.`,!1),s.push(t)}const o=n.length>0?n[0].index:t.length;if(t.length!==o){console.trace(`[createInstance] First service dependency of ${e.name} at position ${o+1} conflicts with ${t.length} static arguments`);const i=o-t.length;t=i>0?t.concat(new Array(i)):t.slice(0,o)}return Reflect.construct(e,t.concat(s))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof bY.d)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setCreatedServiceInstance(e,t)}}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof bY.d?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){const n=new wY((e=>e.id.toString()));let s=0;const o=[{id:e,desc:t,_trace:i}],r=new Set;for(;o.length;){const t=o.pop();if(!r.has(String(t.id))){if(r.add(String(t.id)),n.lookupOrInsertNode(t),s++>1e3)throw new yY(n);for(const i of $n._$.getServiceDependencies(t.desc.ctor)){const s=this._getServiceInstanceOrDescriptor(i.id);if(s||this._throwIfStrict(`[createInstance] ${e} depends on ${i.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(t.id),String(i.id)),s instanceof bY.d){const e={id:i.id,desc:s,_trace:t._trace.branch(i.id,!0)};n.insertEdge(t,e),o.push(e)}}}}for(;;){const e=n.roots();if(0===e.length){if(!n.isEmpty())throw new yY(n);break}for(const{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof bY.d){const e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setCreatedServiceInstance(t.id,e)}n.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],n,s){if(this._services.get(e)instanceof bY.d)return this._createServiceInstance(e,t,i,n,s,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,n,s);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,i=[],n,s,o){if(n){const n=new SY(void 0,this._strict,this,this._enableTracing);n._globalGraphImplicitDependency=String(e);const r=new Map,a=new A.F6((()=>{const e=n._createInstance(t,i,s);for(const[t,i]of r){const n=e[t];if("function"==typeof n)for(const t of i)t.disposable=n.apply(e,t.listener)}return r.clear(),o.add(e),e}));return new Proxy(Object.create(null),{get(e,t){if(!a.isInitialized&&"string"==typeof t&&(t.startsWith("onDid")||t.startsWith("onWill"))){let e=r.get(t);e||(e=new ns.w,r.set(t,e));return(i,n,s)=>{if(a.isInitialized)return a.value[t](i,n,s);{const t={listener:[i,n,s],disposable:void 0},o=e.push(t);return(0,Ae.s)((()=>{o(),t.disposable?.dispose()}))}}}if(t in e)return e[t];const i=a.value;let n=i[t];return"function"!=typeof n||(n=n.bind(i),e[t]=n),n},set:(e,t,i)=>(a.value[t]=i,!0),getPrototypeOf:e=>t.prototype})}{const e=this._createInstance(t,i,s);return o.add(e),e}}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw new Error(e)}}class kY{static{this.all=new Set}static{this._None=new class extends kY{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(e,t){return e?new kY(2,t.name||(new Error).stack.split("\n").slice(3,4).join("\n")):kY._None}static traceCreation(e,t){return e?new kY(1,t.name):kY._None}static{this._totals=0}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new kY(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;kY._totals+=e;let t=!1;const i=[`${1===this.type?"CREATE":"CALL"} ${this.name}`,`${function e(i,n){const s=[],o=new Array(i+1).join("\t");for(const[r,a,l]of n._dep)if(a&&l){t=!0,s.push(`${o}CREATES -> ${r}`);const n=e(i+1,l);n&&s.push(n)}else s.push(`${o}uses -> ${r}`);return s.join("\n")}(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${kY._totals.toFixed(2)}ms)`];(e>2||t)&&kY.all.add(i.join("\n"))}}const LY=new Set([Pe.ny.inMemory,Pe.ny.vscodeSourceControl,Pe.ny.walkThrough,Pe.ny.walkThroughSnippet,Pe.ny.vscodeChatCodeBlock]);class xY{constructor(){this._byResource=new Si.fT,this._byOwner=new Map}set(e,t,i){let n=this._byResource.get(e);n||(n=new Map,this._byResource.set(e,n)),n.set(t,i);let s=this._byOwner.get(t);s||(s=new Si.fT,this._byOwner.set(t,s)),s.set(e,i)}get(e,t){const i=this._byResource.get(e);return i?.get(t)}delete(e,t){let i=!1,n=!1;const s=this._byResource.get(e);s&&(i=s.delete(t));const o=this._byOwner.get(t);if(o&&(n=o.delete(e)),i!==n)throw new Error("illegal state");return i&&n}values(e){return"string"==typeof e?this._byOwner.get(e)?.values()??ss.f.empty():Bn.r.isUri(e)?this._byResource.get(e)?.values()??ss.f.empty():ss.f.map(ss.f.concat(...this._byOwner.values()),(e=>e[1]))}}class DY{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new Si.fT,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const e=this._data.get(t);e&&this._substract(e);const i=this._resourceStats(t);this._add(i),this._data.set(t,i)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(LY.has(e.scheme))return t;for(const{severity:i}of this._service.read({resource:e}))i===Wp.cj.Error?t.errors+=1:i===Wp.cj.Warning?t.warnings+=1:i===Wp.cj.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class NY{constructor(){this._onMarkerChanged=new P.uI({delay:0,merge:NY._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new xY,this._stats=new DY(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if((0,ia.Ct)(i)){this._data.delete(t,e)&&this._onMarkerChanged.fire([t])}else{const n=[];for(const s of i){const i=NY._toMarker(e,t,s);i&&n.push(i)}this._data.set(t,e,n),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:n,severity:s,message:o,source:r,startLineNumber:a,startColumn:l,endLineNumber:h,endColumn:d,relatedInformation:c,tags:u}=i;if(o)return a=a>0?a:1,l=l>0?l:1,h=h>=a?h:a,d=d>0?d:l,{resource:t,owner:e,code:n,severity:s,message:o,source:r,startLineNumber:a,startColumn:l,endLineNumber:h,endColumn:d,relatedInformation:c,tags:u}}changeAll(e,t){const i=[],n=this._data.values(e);if(n)for(const s of n){const t=ss.f.first(s);t&&(i.push(t.resource),this._data.delete(t.resource,e))}if((0,ia.EI)(t)){const n=new Si.fT;for(const{resource:s,marker:o}of t){const t=NY._toMarker(e,s,o);if(!t)continue;const r=n.get(s);r?r.push(t):(n.set(s,[t]),i.push(s))}for(const[t,i]of n)this._data.set(t,e,i)}i.length>0&&this._onMarkerChanged.fire(i)}read(e=Object.create(null)){let{owner:t,resource:i,severities:n,take:s}=e;if((!s||s<0)&&(s=-1),t&&i){const e=this._data.get(i,t);if(e){const t=[];for(const i of e)if(NY._accept(i,n)){const e=t.push(i);if(s>0&&e===s)break}return t}return[]}if(t||i){const e=this._data.values(i??t),o=[];for(const t of e)for(const e of t)if(NY._accept(e,n)){const t=o.push(e);if(s>0&&t===s)return o}return o}{const e=[];for(const t of this._data.values())for(const i of t)if(NY._accept(i,n)){const t=e.push(i);if(s>0&&t===s)return e}return e}}static _accept(e,t){return void 0===t||(t&e.severity)===e.severity}static _merge(e){const t=new Si.fT;for(const i of e)for(const e of i)t.set(e,!0);return Array.from(t.keys())}}class IY extends Ae.jG{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=Qq.createEmptyModel(this.logService)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=Qq.createEmptyModel(this.logService);const e=hs.O.as(Rc.Fd.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const n of e){const e=i[n],s=t[n];void 0!==e?this._configurationModel.setValue(n,e):s?this._configurationModel.setValue(n,s.default):this._configurationModel.removeValue(n)}}}class EY extends Ae.jG{constructor(e,t=[]){super(),this.logger=new Ds.Dk([e,...t]),this._register(e.onDidChangeLogLevel((e=>this.setLevel(e))))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}}var MY=i(35320);var TY=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},RY=function(e,t){return function(i,n){t(i,n,e)}};class AY{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new P.vl}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let PY=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new Ae.BO(new AY(t))):Promise.reject(new Error("Model not found"))}};PY=TY([RY(0,Qn.IModelService)],PY);class OY{static{this.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}}}show(){return OY.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}}class FY{static{this.NO_OP=new Sd}info(e){return this.notify({severity:Cd.A.Info,message:e})}warn(e){return this.notify({severity:Cd.A.Warning,message:e})}error(e){return this.notify({severity:Cd.A.Error,message:e})}notify(e){switch(e.severity){case Cd.A.Error:console.error(e.message);break;case Cd.A.Warning:console.warn(e.message);break;default:console.log(e.message)}return FY.NO_OP}prompt(e,t,i,n){return FY.NO_OP}status(e,t){return Ae.jG.None}}let WY=class{constructor(e){this._onWillExecuteCommand=new P.vl,this._onDidExecuteCommand=new P.vl,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=as.getCommand(e);if(!i)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const n=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}};WY=TY([RY(0,$n._Y)],WY);let BY=class extends rG{constructor(e,t,i,n,s,o){super(e,t,i,n,s),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const r=e=>{const t=new Ae.Cm;t.add(Ye(e,Ut.KEY_DOWN,(e=>{const t=new N(e);this._dispatch(t,t.target)&&(t.preventDefault(),t.stopPropagation())}))),t.add(Ye(e,Ut.KEY_UP,(e=>{const t=new N(e);this._singleModifierDispatch(t,t.target)&&t.preventDefault()}))),this._domNodeListeners.push(new HY(e,t))},a=e=>{for(let t=0;t{e.getOption(61)||r(e.getContainerDomNode())};this._register(o.onCodeEditorAdd(l)),this._register(o.onCodeEditorRemove((e=>{e.getOption(61)||a(e.getContainerDomNode())}))),o.listCodeEditors().forEach(l);const h=e=>{r(e.getContainerDomNode())};this._register(o.onDiffEditorAdd(h)),this._register(o.onDiffEditorRemove((e=>{a(e.getContainerDomNode())}))),o.listDiffEditors().forEach(h)}addDynamicKeybinding(e,t,i,n){return(0,Ae.qE)(as.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:n}]))}addDynamicKeybindings(e){const t=e.map((e=>({keybinding:C(e.keybinding,f.OS),command:e.command??null,commandArgs:e.commandArgs,when:e.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1})));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),(0,Ae.s)((()=>{for(let e=0;ethis._log(e)))}return this._cachedResolver}_documentHasFocus(){return o.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let n=0;for(const s of e){const e=s.when||void 0,o=s.keybinding;if(o){const r=cG.resolveKeybinding(o,f.OS);for(const o of r)i[n++]=new lG(o,s.command,s.commandArgs,e,t,null,!1)}else i[n++]=new lG(void 0,s.command,s.commandArgs,e,t,null,!1)}return i}resolveKeyboardEvent(e){const t=new y(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new cG([t],f.OS)}};BY=TY([RY(0,ls.fN),RY(1,rs),RY(2,Ls),RY(3,yd),RY(4,Ds.rr),RY(5,qn)],BY);class HY extends Ae.jG{constructor(e,t){super(),this.domNode=e,this._register(t)}}function VY(e){return e&&"object"==typeof e&&(!e.overrideIdentifier||"string"==typeof e.overrideIdentifier)&&(!e.resource||e.resource instanceof Bn.r)}let zY=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new P.vl,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new IY(e);this._configuration=new Xq(t.reload(),Qq.createEmptyModel(e),Qq.createEmptyModel(e),Qq.createEmptyModel(e),Qq.createEmptyModel(e),Qq.createEmptyModel(e),new Si.fT,Qq.createEmptyModel(e),new Si.fT,e),t.dispose()}getValue(e,t){const i="string"==typeof e?e:void 0,n=VY(e)?e:VY(t)?t:{};return this._configuration.getValue(i,n,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const n of e){const[e,t]=n;this.getValue(e)!==t&&(this._configuration.updateValue(e,t),i.push(e))}if(i.length>0){const e=new Jq({keys:i,overrides:[]},t,this._configuration,void 0,this.logService);e.source=8,this._onDidChangeConfiguration.fire(e)}return Promise.resolve()}updateValue(e,t,i,n){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}};zY=TY([RY(0,Ds.rr)],zY);let UY=class{constructor(e,t,i){this.configurationService=e,this.modelService=t,this.languageService=i,this._onDidChangeConfiguration=new P.vl,this.configurationService.onDidChangeConfiguration((e=>{this._onDidChangeConfiguration.fire({affectedKeys:e.affectedKeys,affectsConfiguration:(t,i)=>e.affectsConfiguration(i)})}))}getValue(e,t,i){const n=Gn.y.isIPosition(t)?t:null,s=n?"string"==typeof i?i:void 0:"string"==typeof t?t:void 0,o=e?this.getLanguage(e,n):void 0;return void 0===s?this.configurationService.getValue({resource:e,overrideIdentifier:o}):this.configurationService.getValue(s,{resource:e,overrideIdentifier:o})}getLanguage(e,t){const i=this.modelService.getModel(e);return i?t?i.getLanguageIdAtPosition(t.lineNumber,t.column):i.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};UY=TY([RY(0,Fp.pG),RY(1,Qn.IModelService),RY(2,xh.L)],UY);let KY=class{constructor(e){this.configurationService=e}getEOL(e,t){const i=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return i&&"string"==typeof i&&"auto"!==i?i:f.j9||f.zx?"\n":"\r\n"}};KY=TY([RY(0,Fp.pG)],KY);class jY{static{this.SCHEME="inmemory"}constructor(){const e=Bn.r.from({scheme:jY.SCHEME,authority:"model",path:"/"});this.workspace={id:Ha,folders:[new Wa({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===jY.SCHEME?this.workspace.folders[0]:null}}function $Y(e,t,i){if(!t)return;if(!(e instanceof zY))return;const n=[];Object.keys(t).forEach((e=>{(function(e){return Wc()[`editor.${e}`]||!1})(e)&&n.push([`editor.${e}`,t[e]]),i&&function(e){return Wc()[`diffEditor.${e}`]||!1}(e)&&n.push([`diffEditor.${e}`,t[e]])})),n.length>0&&e.updateValues(n)}let qY=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:wa.convert(e),n=new Map;for(const r of i){if(!(r instanceof ya))throw new Error("bad edit - only text edits are supported");const e=this._modelService.getModel(r.resource);if(!e)throw new Error("bad edit - model not found");if("number"==typeof r.versionId&&e.getVersionId()!==r.versionId)throw new Error("bad state - model changed in the meantime");let t=n.get(e);t||(t=[],n.set(e,t)),t.push(bk.replaceMove(Xs.Q.lift(r.textEdit.range),r.textEdit.text))}let s=0,o=0;for(const[r,a]of n)r.pushStackElement(),r.pushEditOperations([],a,(()=>[])),r.pushStackElement(),o+=1,s+=a.length;return{ariaSummary:Ti.GP(kO.bulkEditServiceSummary,s,o),isApplied:s>0}}};qY=TY([RY(0,Qn.IModelService)],qY);let GY=class extends Hq{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const e=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();e&&(t=e.getContainerDomNode())}return super.showContextView(e,t,i)}};GY=TY([RY(0,aq),RY(1,qn)],GY);class QY extends uG.LanguageService{constructor(){super()}}let YY=class extends LG{constructor(e,t,i,n,s,o){super(e,t,i,n,s,o),this.configure({blockMouse:!1})}};YY=TY([RY(0,Ls),RY(1,yd),RY(2,_d),RY(3,bd),RY(4,vs),RY(5,ls.fN)],YY);const ZY={amdModuleId:"vs/editor/common/services/editorSimpleWorker",esmModuleLocation:void 0,label:"editorWorkerService"};let XY=class extends Y${constructor(e,t,i,n,s){super(ZY,e,t,i,n,s)}};XY=TY([RY(0,Qn.IModelService),RY(1,RU.ITextResourceConfigurationService),RY(2,Ds.rr),RY(3,Fo.JZ),RY(4,La.ILanguageFeaturesService)],XY);var JY;(0,cl.v)(Ds.rr,class extends EY{constructor(){super(new Ds.Cr)}},0),(0,cl.v)(Fp.pG,zY,0),(0,cl.v)(RU.ITextResourceConfigurationService,UY,0),(0,cl.v)(RU.ITextResourcePropertiesService,KY,0),(0,cl.v)(Ra,jY,0),(0,cl.v)(oN,class{getUriLabel(e,t){return"file"===e.scheme?e.fsPath:e.path}getUriBasenameLabel(e){return(0,Wn.P8)(e)}},0),(0,cl.v)(Ls,class{publicLog2(){}},0),(0,cl.v)(Kz,class{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let i=e;return t&&(i=i+"\n\n"+t),o.confirm(i)}async prompt(e){let t;if(this.doConfirm(e.message,e.detail)){const i=[...e.buttons??[]];e.cancelButton&&"string"!=typeof e.cancelButton&&"boolean"!=typeof e.cancelButton&&i.push(e.cancelButton),t=await(i[0]?.run({checkboxChecked:!1}))}return{result:t}}async error(e,t){await this.prompt({type:Cd.A.Error,message:e,detail:t})}},0),(0,cl.v)(_B.k,class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},0),(0,cl.v)(yd,FY,0),(0,cl.v)(Wp.DR,NY,0),(0,cl.v)(xh.L,QY,0),(0,cl.v)(hV,Ej,0),(0,cl.v)(Qn.IModelService,AG.ModelService,0),(0,cl.v)(em.IMarkerDecorationsService,RG.MarkerDecorationsService,0),(0,cl.v)(ls.fN,_Y,0),(0,cl.v)(jh,class{withProgress(e,t,i){return t({report:()=>{}})}},0),(0,cl.v)(qh,OY,0),(0,cl.v)(vw,class extends Cw{constructor(){super(),this.applicationStorage=this._register(new mw(new fw,{hint:gw.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new mw(new fw,{hint:gw.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new mw(new fw,{hint:gw.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage((e=>this.emitDidChangeValue(1,e)))),this._register(this.profileStorage.onDidChangeStorage((e=>this.emitDidChangeValue(0,e)))),this._register(this.applicationStorage.onDidChangeStorage((e=>this.emitDidChangeValue(-1,e))))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}},0),(0,cl.v)(Ww.IEditorWorkerService,XY,0),(0,cl.v)(Ca,qY,0),(0,cl.v)(Hj,class{constructor(){this._neverEmitter=new P.vl,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},0),(0,cl.v)(Yn.ITextModelService,PY,0),(0,cl.v)(jr,eY,0),(0,cl.v)(qx,class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new Ae.Cm,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){e!==this._lastFocusedWidget&&(this._lastFocusedWidget?.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,this._lastFocusedWidget?.getHTMLElement().classList.add("last-focused"))}register(e,t){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=!0;new Pg(Et(),"").style(fp)}if(this.lists.some((t=>t.widget===e)))throw new Error("Cannot register the same widget multiple times");const i={widget:e,extraContextKeys:t};return this.lists.push(i),St(e.getHTMLElement())&&this.setLastFocusedList(e),(0,Ae.qE)(e.onDidFocus((()=>this.setLastFocusedList(e))),(0,Ae.s)((()=>this.lists.splice(this.lists.indexOf(i),1))),e.onDidDispose((()=>{this.lists=this.lists.filter((e=>e!==i)),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)})))}dispose(){this.disposables.dispose()}},0),(0,cl.v)(rs,WY,0),(0,cl.v)(bd,BY,0),(0,cl.v)(Jh,QQ,0),(0,cl.v)(_d,GY,0),(0,cl.v)(Th,TG,0),(0,cl.v)(Kh,oY,0),(0,cl.v)(vd,YY,0),(0,cl.v)(vs,iS,0),(0,cl.v)(oE,class{async playSignal(e,t){}},0),(0,cl.v)(MY.ITreeSitterParserService,class{getParseResult(e){}},0),function(e){const t=new $C;for(const[r,a]of(0,cl.N)())t.set(r,a);const i=new SY(t,!0);t.set($n._Y,i),e.get=function(e){n||o({});const s=t.get(e);if(!s)throw new Error("Missing service "+e);return s instanceof bY.d?i.invokeFunction((t=>t.get(e))):s};let n=!1;const s=new P.vl;function o(e){if(n)return i;n=!0;for(const[i,n]of(0,cl.N)())t.get(i)||t.set(i,n);for(const i in e)if(e.hasOwnProperty(i)){const n=(0,$n.u1)(i);t.get(n)instanceof bY.d&&t.set(n,e[i])}const o=Fw();for(const t of o)try{i.createInstance(t)}catch(r){(0,b.dz)(r)}return s.fire(),i}e.initialize=o,e.withServices=function(e){if(n)return e();const t=new Ae.Cm,i=t.add(s.event((()=>{i.dispose(),t.add(e())})));return t}}(JY||(JY={}));class eZ extends eq{constructor(e,t){super({amdModuleId:ZY.amdModuleId,esmModuleLocation:ZY.esmModuleLocation,label:t.label},t.keepIdleModels||!1,e),this._foreignModuleId=t.moduleId,this._foreignModuleCreateData=t.createData||null,this._foreignModuleHost=t.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||"function"!=typeof this._foreignModuleHost[e])return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then((e=>{const t=this._foreignModuleHost?(0,$l.V0)(this._foreignModuleHost):[];return e.$loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then((t=>{this._foreignModuleCreateData=null;const i=(t,i)=>e.$fmr(t,i),n=(e,t)=>function(){const i=Array.prototype.slice.call(arguments,0);return t(e,i)},s={};for(const e of t)s[e]=n(e,i);return s}))}))),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this.workerWithSyncedResources(e).then((e=>this.getProxy()))}}var tZ=i(42783);function iZ(e){return!function(e){return Array.isArray(e)}(e)}function nZ(e){return"string"==typeof e}function sZ(e){return!nZ(e)}function oZ(e){return!e}function rZ(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function aZ(e){return e.replace(/[&<>'"_]/g,"-")}function lZ(e,t){console.log(`${e.languageId}: ${t}`)}function hZ(e,t){return new Error(`${e.languageId}: ${t}`)}function dZ(e,t,i,n,s){let o=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(t,r,a,l,h,d,c,u,g){return oZ(a)?oZ(l)?!oZ(h)&&h0;){const t=e.tokenizer[i];if(t)return t;const n=i.lastIndexOf(".");i=n<0?null:i.substr(0,n)}return null}var uZ,gZ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},pZ=function(e,t){return function(i,n){t(i,n,e)}};class mZ{static{this._INSTANCE=new mZ(5)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==e&&e.depth>=this._maxCacheDepth)return new fZ(e,t);let i=fZ.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let n=this._entries[i];return n||(n=new fZ(e,t),this._entries[i]=n,n)}}class fZ{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;null!==e;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t}equals(e){return fZ._equals(this,e)}push(e){return mZ.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return mZ.create(this.parent,e)}}class _Z{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 _Z(this.languageId,this.state)}}class vZ{static{this._INSTANCE=new vZ(5)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==t)return new bZ(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new bZ(e,t);const i=fZ.getStackElementId(e);let n=this._entries[i];return n||(n=new bZ(e,null),this._entries[i]=n,n)}}class bZ{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:vZ.create(this.stack,this.embeddedLanguageData)}equals(e){return e instanceof bZ&&(!!this.stack.equals(e.stack)&&(null===this.embeddedLanguageData&&null===e.embeddedLanguageData||null!==this.embeddedLanguageData&&null!==e.embeddedLanguageData&&this.embeddedLanguageData.equals(e.embeddedLanguageData)))}}class CZ{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 ka.ou(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,n){const s=i.languageId,o=i.state,r=ka.dG.get(s);if(!r)return this.enterLanguage(s),this.emit(n,""),o;const a=r.tokenize(e,t,o);if(0!==n)for(const l of a.tokens)this._tokens.push(new ka.ou(l.offset+n,l.type,l.language));else this._tokens=this._tokens.concat(a.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,a.endState}finalize(e){return new ka.$M(this._tokens,e)}}class wZ{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){const i=1024|this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const n=null!==e?e.length:0,s=t.length,o=null!==i?i.length:0;if(0===n&&0===s&&0===o)return new Uint32Array(0);if(0===n&&0===s)return i;if(0===s&&0===o)return e;const r=new Uint32Array(n+s+o);null!==e&&r.set(e);for(let a=0;a{if(o)return;let t=!1;for(let i=0,n=e.changedLanguages.length;i{e.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))})))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=ka.dG.get(t);if(i){if(i instanceof uZ){const t=i.getLoadStatus();!1===t.loaded&&e.push(t.promise)}}else ka.dG.isResolved(t)||e.push(ka.dG.getOrCreate(t))}return 0===e.length?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then((e=>{}))}}getInitialState(){const e=mZ.create(null,this._lexer.start);return vZ.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return(0,Nh.$H)(this._languageId,i);const n=new CZ,s=this._tokenize(e,t,i,n);return n.finalize(s)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return(0,Nh.Lh)(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const n=new wZ(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),s=this._tokenize(e,t,i,n);return n.finalize(s)}_tokenize(e,t,i,n){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,n):this._myTokenize(e,t,i,0,n)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=cZ(this._lexer,t.stack.state),!i))throw hZ(this._lexer,"tokenizer state is not defined: "+t.stack.state);let n=-1,s=!1;for(const o of i){if(!sZ(o.action)||"@pop"!==o.action.nextEmbedded)continue;s=!0;let i=o.resolveRegex(t.stack.state);const r=i.source;if("^(?:"===r.substr(0,4)&&")"===r.substr(r.length-1,1)){const e=(i.ignoreCase?"i":"")+(i.unicode?"u":"");i=new RegExp(r.substr(4,r.length-5),e)}const a=e.search(i);-1===a||0!==a&&o.matchOnlyAtLineStart||(-1===n||a0&&s.nestedLanguageTokenize(r,!1,i.embeddedLanguageData,n);const a=e.substring(o);return this._myTokenize(a,t,i,n+o,s)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,n,s){s.enterLanguage(this._languageId);const o=e.length,r=t&&this._lexer.includeLF?e+"\n":e,a=r.length;let l=i.embeddedLanguageData,h=i.stack,d=0,c=null,u=!0;for(;u||d=a)break;u=!1;let e=this._lexer.tokenizer[m];if(!e&&(e=cZ(this._lexer,m),!e))throw hZ(this._lexer,"tokenizer state is not defined: "+m);const t=r.substr(d);for(const i of e)if((0===d||!i.matchOnlyAtLineStart)&&(f=t.match(i.resolveRegex(m)),f)){_=f[0],v=i.action;break}}if(f||(f=[""],_=""),v||(d=this._lexer.maxStack)throw hZ(this._lexer,"maximum tokenizer stack size reached: ["+h.state+","+h.parent.state+",...]");h=h.push(m)}else if("@pop"===v.next){if(h.depth<=1)throw hZ(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(b));h=h.pop()}else if("@popall"===v.next)h=h.popall();else{let e=dZ(this._lexer,v.next,_,f,m);if("@"===e[0]&&(e=e.substr(1)),!cZ(this._lexer,e))throw hZ(this._lexer,"trying to set a next state '"+e+"' that is undefined in rule: "+this._safeRuleName(b));h=h.push(e)}}v.log&&"string"==typeof v.log&&lZ(this._lexer,this._lexer.languageId+": "+dZ(this._lexer,v.log,_,f,m))}if(null===w)throw hZ(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(b));const y=i=>{const o=this._languageService.getLanguageIdByLanguageName(i)||this._languageService.getLanguageIdByMimeType(i)||i,r=this._getNestedEmbeddedLanguageData(o);if(d0)throw hZ(this._lexer,"groups cannot be nested: "+this._safeRuleName(b));if(f.length!==w.length+1)throw hZ(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(b));let e=0;for(let t=1;te});class LZ{static colorizeElement(e,t,i,n){const s=(n=n||{}).theme||"vs",o=n.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!o)return console.error("Mode not detected"),Promise.resolve();const r=t.getLanguageIdByMimeType(o)||o;e.setTheme(s);const a=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+s;return this.colorize(t,a||"",r,n).then((e=>{const t=kZ?.createHTML(e)??e;i.innerHTML=t}),(e=>console.error(e)))}static async colorize(e,t,i,n){const s=e.languageIdCodec;let o=4;n&&"number"==typeof n.tabSize&&(o=n.tabSize),Ti.LU(t)&&(t=t.substr(1));const r=Ti.uz(t);if(!e.isRegisteredLanguageId(i))return xZ(r,o,s);const a=await ka.dG.getOrCreate(i);return a?function(e,t,i,n){return new Promise(((s,o)=>{const r=()=>{const a=function(e,t,i,n){let s=[],o=i.getInitialState();for(let r=0,a=e.length;r"),o=l.endState}return s.join("")}(e,t,i,n);if(i instanceof yZ){const e=i.getLoadStatus();if(!1===e.loaded)return void e.promise.then(r,o)}s(a)};r()}))}(r,o,a,s):xZ(r,o,s)}static colorizeLine(e,t,i,n,s=4){const o=X_.isBasicASCII(e,t),r=X_.containsRTL(e,o,i);return pf(new lf(!1,!0,e,!1,o,r,0,n,[],s,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const n=e.getLineContent(t);e.tokenization.forceTokenization(t);const s=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(n,e.mightContainNonBasicASCII(),e.mightContainRTL(),s,i)}}function xZ(e,t,i){let n=[];const s=new Uint32Array(2);s[0]=0,s[1]=33587200;for(let o=0,r=e.length;o")}return n.join("")}var DZ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},NZ=function(e,t){return function(i,n){t(i,n,e)}};let IZ=0,EZ=!1;function MZ(e){if(!e){if(EZ)return;EZ=!0}!function(e){mi=document.createElement("div"),mi.className="monaco-aria-container";const t=()=>{const e=document.createElement("div");return e.className="monaco-alert",e.setAttribute("role","alert"),e.setAttribute("aria-atomic","true"),mi.appendChild(e),e};fi=t(),_i=t();const i=()=>{const e=document.createElement("div");return e.className="monaco-status",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),mi.appendChild(e),e};vi=i(),bi=i(),e.appendChild(mi)}(e||o.document.body)}let TZ=class extends YC{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u){const g={...t};g.ariaLabel=g.ariaLabel||yO.editorViewAccessibleLabel,super(e,g,{},i,n,s,o,l,h,d,c,u),this._standaloneKeybindingService=a instanceof BY?a:null,MZ(g.ariaContainerElement),sd=(e,t)=>i.createInstance(sk,e,t,{}),dd=r}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const n="DYNAMIC_"+ ++IZ,s=ls.M$.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(n,e,t,s),n}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),Ae.jG.None;const t=e.id,i=e.label,n=ls.M$.and(ls.M$.equals("editorId",this.getId()),ls.M$.deserialize(e.precondition)),s=e.keybindings,o=ls.M$.and(n,ls.M$.deserialize(e.keybindingContext)),r=e.contextMenuGroupId||null,a=e.contextMenuOrder||0,l=(t,...i)=>Promise.resolve(e.run(this,...i)),h=new Ae.Cm,d=this.getId()+":"+t;if(h.add(as.registerCommand(d,l)),r){const e={command:{id:d,title:i},when:n,group:r,order:a};h.add(Cs.appendMenuItem(_s.EditorContext,e))}if(Array.isArray(s))for(const u of s)h.add(this._standaloneKeybindingService.addDynamicKeybinding(d,u,l,o));const c=new cb(d,i,i,void 0,n,((...t)=>Promise.resolve(e.run(this,...t))),this._contextKeyService);return this._actions.set(t,c),h.add((0,Ae.s)((()=>{this._actions.delete(t)}))),h}_triggerCommand(e,t){if(this._codeEditorService instanceof rq)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};TZ=DZ([NZ(2,$n._Y),NZ(3,qn),NZ(4,rs),NZ(5,ls.fN),NZ(6,nk),NZ(7,bd),NZ(8,io.Gy),NZ(9,yd),NZ(10,jr),NZ(11,Fo.JZ),NZ(12,La.ILanguageFeaturesService)],TZ);let RZ=class extends TZ{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u,g,p,m){const f={...t};$Y(d,f,!1);const _=l.registerEditorContainer(e);"string"==typeof f.theme&&l.setTheme(f.theme),void 0!==f.autoDetectHighContrast&&l.setAutoDetectHighContrast(Boolean(f.autoDetectHighContrast));const v=f.model;let b;if(delete f.model,super(e,f,i,n,s,o,r,a,l,h,c,p,m),this._configurationService=d,this._standaloneThemeService=l,this._register(_),void 0===v){const e=g.getLanguageIdByMimeType(f.language)||f.language||Dh.vH;b=PZ(u,g,f.value||"",e,void 0),this._ownsModel=!0}else b=v,this._ownsModel=!1;if(this._attachModel(b),b){const e={oldModelUrl:null,newModelUrl:b.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){$Y(this._configurationService,e,!1),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};RZ=DZ([NZ(2,$n._Y),NZ(3,qn),NZ(4,rs),NZ(5,ls.fN),NZ(6,nk),NZ(7,bd),NZ(8,hV),NZ(9,yd),NZ(10,Fp.pG),NZ(11,jr),NZ(12,Qn.IModelService),NZ(13,xh.L),NZ(14,Fo.JZ),NZ(15,La.ILanguageFeaturesService)],RZ);let AZ=class extends uT{constructor(e,t,i,n,s,o,r,a,l,h,d,c){const u={...t};$Y(a,u,!0);const g=o.registerEditorContainer(e);"string"==typeof u.theme&&o.setTheme(u.theme),void 0!==u.autoDetectHighContrast&&o.setAutoDetectHighContrast(Boolean(u.autoDetectHighContrast)),super(e,u,{},n,i,s,c,h),this._configurationService=a,this._standaloneThemeService=o,this._register(g)}dispose(){super.dispose()}updateOptions(e){$Y(this._configurationService,e,!0),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(TZ,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};function PZ(e,t,i,n,s){if(i=i||"",!n){const n=i.indexOf("\n");let o=i;return-1!==n&&(o=i.substring(0,n)),OZ(e,i,t.createByFilepathOrFirstLine(s||null,o),s)}return OZ(e,i,t.createById(n),s)}function OZ(e,t,i,n){return e.createModel(t,i,n)}AZ=DZ([NZ(2,$n._Y),NZ(3,ls.fN),NZ(4,qn),NZ(5,hV),NZ(6,yd),NZ(7,Fp.pG),NZ(8,vd),NZ(9,qh),NZ(10,Kh),NZ(11,oE)],AZ);var FZ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},WZ=function(e,t){return function(i,n){t(i,n,e)}};class BZ{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let HZ=class extends Ae.jG{constructor(e,t,i,n,s){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=n,this._viewModel=(0,FM.FY)(this,void 0),this._collapsed=(0,mg.un)(this,(e=>this._viewModel.read(e)?.collapsed.read(e))),this._editorContentHeight=(0,FM.FY)(this,500),this.contentHeight=(0,mg.un)(this,(e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight)),this._modifiedContentWidth=(0,FM.FY)(this,0),this._modifiedWidth=(0,FM.FY)(this,0),this._originalContentWidth=(0,FM.FY)(this,0),this._originalWidth=(0,FM.FY)(this,0),this.maxScroll=(0,mg.un)(this,(e=>{const t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),i=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>i?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:i,width:this._originalWidth.read(e)}})),this._elements=ui("div.multiDiffEntry",[ui("div.header@header",[ui("div.header-content",[ui("div.collapse-button@collapseButton"),ui("div.file-path",[ui("div.title.modified.show-file-icons@primaryPath",[]),ui("div.status.deleted@status",["R"]),ui("div.title.original.show-file-icons@secondaryPath",[])]),ui("div.actions@actions")])]),ui("div.editorParent",[ui("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(uT,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=WM(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=WM(this.editor.getOriginalEditor()).isFocused,this.isFocused=(0,mg.un)(this,(e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e))),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new Ae.Cm),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const o=new ud(this._elements.collapseButton,{});this._register((0,mg.fm)((e=>{o.element.className="",o.icon=this._collapsed.read(e)?vl.W.chevronRight:vl.W.chevronDown}))),this._register(o.onDidClick((()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)}))),this._register((0,mg.fm)((e=>{this._elements.editor.style.display=this._collapsed.read(e)?"none":"block"}))),this._register(this.editor.getModifiedEditor().onDidLayoutChange((e=>{const t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)}))),this._register(this.editor.getOriginalEditor().onDidLayoutChange((e=>{const t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)}))),this._register(this.editor.onDidContentSizeChange((e=>{(0,FM.YY)((t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)}))}))),this._register(this.editor.getOriginalEditor().onDidScrollChange((e=>{if(this._isSettingScrollTop)return;if(!e.scrollTopChanged||!this._data)return;const t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)}))),this._register((0,mg.fm)((e=>{const t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle("active",t)}))),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(s.createScoped(this._elements.actions));const r=this._register(this._instantiationService.createChild(new $C([ls.fN,this._contextKeyService])));this._register(r.createInstance(uS,this._elements.actions,_s.MultiDiffEditorFileToolbar,{actionRunner:this._register(new DM((()=>this._viewModel.get()?.modifiedUri))),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("navigation")},actionViewItemProvider:(e,t)=>Gy(r,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(this._data=e,!e)return void(0,FM.YY)((e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()}));const i=e.viewModel.documentDiffItem;if((0,FM.YY)((n=>{this._resourceLabel?.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:void 0===e.viewModel.modifiedUri});let s=!1,o=!1,r=!1,a="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(a="R",s=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(a="A",r=!0):(a="D",o=!0),this._elements.status.classList.toggle("renamed",s),this._elements.status.classList.toggle("deleted",o),this._elements.status.classList.toggle("added",r),this._elements.status.innerText=a,this._resourceLabel2?.setUri(s?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,n),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,n),this.editor.updateOptions(t(i.options??{}))})),i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange((()=>{this.editor.updateOptions(t(i.options??{}))}))),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,(e=>{e||this.setData(void 0)})),e.viewModel.documentDiffItem.contextKeys)for(const[n,s]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(n,s)}render(e,t,i,n){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const s=e.length-this._headerHeight,o=Math.max(0,Math.min(n.start-e.start,s));this._elements.header.style.transform=`translateY(${o}px)`,(0,FM.YY)((i=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})}));try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",o>0||i>0),this._elements.header.classList.toggle("collapsed",o===s)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};HZ=FZ([WZ(3,$n._Y),WZ(4,ls.fN)],HZ);class VZ{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(0===this._unused.size)t=this._create(e),this._itemData.set(t,e);else{const i=[...this._unused.values()];t=i.find((t=>this._itemData.get(t).getId()===e.getId()))??i[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var zZ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},UZ=function(e,t){return function(i,n){t(i,n,e)}};let KZ=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=n,this._parentContextKeyService=s,this._parentInstantiationService=o,this._scrollableElements=ui("div.scrollContent",[ui("div@content",{style:{overflow:"hidden"}}),ui("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new Ku({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>nt(We(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new Xu(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=ui("div.monaco-component.multiDiffEditor",{},[ui("div",{},[this._scrollableElement.getDomNode()]),ui("div.placeholder@placeholder",{},[ui("div",[(0,jn.kg)("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new KI(this._element,void 0)),this._objectPool=this._register(new VZ((e=>{const t=this._instantiationService.createInstance(HZ,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t}))),this.scrollTop=(0,mg.y0)(this,this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollTop)),this.scrollLeft=(0,mg.y0)(this,this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollLeft)),this._viewItemsInfo=(0,mg.rm)(this,((e,t)=>{const i=this._viewModel.read(e);if(!i)return{items:[],getItem:e=>{throw new b.D7}};const n=i.items.read(e),s=new Map;return{items:n.map((e=>{const i=t.add(new jZ(e,this._objectPool,this.scrollLeft,(e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})}))),n=this._lastDocStates?.[i.getKey()];return n&&(0,FM.Rn)((e=>{i.setViewState(n,e)})),s.set(e,i),i})),getItem:e=>s.get(e)}})),this._viewItems=this._viewItemsInfo.map(this,(e=>e.items)),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,((e,t)=>e.reduce(((e,i)=>e+i.contentHeight.read(t)+this._spaceBetweenPx),0))),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new $C([ls.fN,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(js.inMultiDiffEditor.key,!0),this._register((0,mg.yC)(((e,t)=>{const i=this._viewModel.read(e);if(i&&i.contextKeys)for(const[n,s]of Object.entries(i.contextKeys)){const e=this._contextKeyService.createKey(n,void 0);e.set(s),t.add((0,Ae.s)((()=>e.reset())))}})));const r=this._parentContextKeyService.createKey(js.multiDiffEditorAllCollapsed.key,!1);this._register((0,mg.fm)((e=>{const t=this._viewModel.read(e);if(t){const i=t.items.read(e).every((t=>t.collapsed.read(e)));r.set(i)}}))),this._register((0,mg.fm)((e=>{const t=this._dimension.read(e);this._sizeObserver.observe(t)}))),this._register((0,mg.fm)((e=>{const t=this._viewItems.read(e);this._elements.placeholder.classList.toggle("visible",0===t.length)}))),this._scrollableElements.content.style.position="relative",this._register((0,mg.fm)((e=>{const t=this._sizeObserver.height.read(e);this._scrollableElements.root.style.height=`${t}px`;const i=this._totalHeight.read(e);this._scrollableElements.content.style.height=`${i}px`;const n=this._sizeObserver.width.read(e);let s=n;const o=this._viewItems.read(e),r=(0,kb.Cn)(o,(0,ia.VE)((t=>t.maxScroll.read(e).maxScroll),ia.U9));if(r){s=n+r.maxScroll.read(e).maxScroll}this._scrollableElement.setScrollDimensions({width:n,height:t,scrollHeight:i,scrollWidth:s})}))),e.replaceChildren(this._elements.root),this._register((0,Ae.s)((()=>{e.replaceChildren()}))),this._register(this._register((0,mg.fm)((e=>{(0,FM.YY)((t=>{this.render(e)}))}))))}render(e){const t=this.scrollTop.read(e);let i=0,n=0,s=0;const o=this._sizeObserver.height.read(e),r=nE.L.ofStartAndLength(t,o),a=this._sizeObserver.width.read(e);for(const l of this._viewItems.read(e)){const h=l.contentHeight.read(e),d=Math.min(h,o),c=nE.L.ofStartAndLength(n,d),u=nE.L.ofStartAndLength(s,h);if(u.isBefore(r))i-=h-d,l.hide();else if(u.isAfter(r))l.hide();else{const e=Math.max(0,Math.min(r.start-u.start,h-d));i-=e;const n=nE.L.ofStartAndLength(t+i,o);l.render(c,e,a,n)}n+=d+this._spaceBetweenPx,s+=h+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+i)}px)`}};KZ=zZ([UZ(4,ls.fN),UZ(5,$n._Y)],KZ);class jZ extends Ae.jG{constructor(e,t,i,n){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=n,this._templateRef=this._register((0,FM.X2)(this,void 0)),this.contentHeight=(0,mg.un)(this,(e=>this._templateRef.read(e)?.object.contentHeight?.read(e)??this.viewModel.lastTemplateData.read(e).contentHeight)),this.maxScroll=(0,mg.un)(this,(e=>this._templateRef.read(e)?.object.maxScroll.read(e)??{maxScroll:0,scrollWidth:0})),this.template=(0,mg.un)(this,(e=>this._templateRef.read(e)?.object)),this._isHidden=(0,mg.FY)(this,!1),this._isFocused=(0,mg.un)(this,(e=>this.template.read(e)?.isFocused.read(e)??!1)),this.viewModel.setIsFocused(this._isFocused,void 0),this._register((0,mg.fm)((e=>{const t=this._scrollLeft.read(e);this._templateRef.read(e)?.object.setScrollLeft(t)}))),this._register((0,mg.fm)((e=>{const t=this._templateRef.read(e);if(!t)return;if(!this._isHidden.read(e))return;t.object.isFocused.read(e)||this._clear()})))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),n=e.selections?.map($s.L.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:n},t);const s=this._templateRef.get();s&&n&&s.object.editor.setSelections(n)}_updateTemplateData(e){const t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){const e=this._templateRef.get();e&&(0,FM.Rn)((t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)}))}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,n){this._isHidden.set(!1,void 0);let s=this._templateRef.get();if(!s){s=this._objectPool.getUnusedObj(new BZ(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(s,void 0);const e=this.viewModel.lastTemplateData.get().selections;e&&s.object.editor.setSelections(e)}s.object.render(e,i,t,n)}}(0,to.x1A)("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},(0,jn.kg)("multiDiffEditor.headerBackground","The background color of the diff editor's header")),(0,to.x1A)("multiDiffEditor.background",to.YtV,(0,jn.kg)("multiDiffEditor.background","The background color of the multi file diff editor")),(0,to.x1A)("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},(0,jn.kg)("multiDiffEditor.border","The border color of the multi file diff editor"));var $Z=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},qZ=function(e,t){return function(i,n){t(i,n,e)}};let GZ=class extends Ae.jG{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=(0,mg.FY)(this,void 0),this._viewModel=(0,mg.FY)(this,void 0),this._widgetImpl=(0,mg.rm)(this,((e,t)=>(qE(HZ,e),t.add(this._instantiationService.createInstance(qE(KZ,e),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))))),this._register((0,mg.OI)(this._widgetImpl))}};function QZ(e,t,i){return JY.initialize(i||{}).createInstance(RZ,e,t)}function YZ(e){return JY.get(qn).onCodeEditorAdd((t=>{e(t)}))}function ZZ(e){return JY.get(qn).onDiffEditorAdd((t=>{e(t)}))}function XZ(){return JY.get(qn).listCodeEditors()}function JZ(){return JY.get(qn).listDiffEditors()}function eX(e,t,i){return JY.initialize(i||{}).createInstance(AZ,e,t)}function tX(e,t){const i=JY.initialize(t||{});return new GZ(e,{},i)}function iX(e){if("string"!=typeof e.id||"function"!=typeof e.run)throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return as.registerCommand(e.id,e.run)}function nX(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const t=ls.M$.deserialize(e.precondition),i=new Ae.Cm;if(i.add(as.registerCommand(e.id,((i,...n)=>Ms.runEditorCommand(i,n,t,((t,i,n)=>Promise.resolve(e.run(i,...n))))))),e.contextMenuGroupId){const n={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};i.add(Cs.appendMenuItem(_s.EditorContext,n))}if(Array.isArray(e.keybindings)){const n=JY.get(bd);if(n instanceof BY){const s=ls.M$.and(t,ls.M$.deserialize(e.keybindingContext));i.add(n.addDynamicKeybindings(e.keybindings.map((t=>({keybinding:t,command:e.id,when:s})))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return i}function sX(e){return oX([e])}function oX(e){const t=JY.get(bd);return t instanceof BY?t.addDynamicKeybindings(e.map((e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:ls.M$.deserialize(e.when)})))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),Ae.jG.None)}function rX(e,t,i){const n=JY.get(xh.L),s=n.getLanguageIdByMimeType(t)||t;return PZ(JY.get(Qn.IModelService),n,e,s,i)}function aX(e,t){const i=JY.get(xh.L),n=i.getLanguageIdByMimeType(t)||t||Dh.vH;e.setLanguage(i.createById(n))}function lX(e,t,i){if(e){JY.get(Wp.DR).changeOne(t,e.uri,i)}}function hX(e){JY.get(Wp.DR).changeAll(e,[])}function dX(e){return JY.get(Wp.DR).read(e)}function cX(e){return JY.get(Wp.DR).onMarkerChanged(e)}function uX(e){return JY.get(Qn.IModelService).getModel(e)}function gX(){return JY.get(Qn.IModelService).getModels()}function pX(e){return JY.get(Qn.IModelService).onModelAdded(e)}function mX(e){return JY.get(Qn.IModelService).onModelRemoved(e)}function fX(e){return JY.get(Qn.IModelService).onModelLanguageChanged((t=>{e({model:t.model,oldLanguage:t.oldLanguageId})}))}function _X(e){return function(e,t){return new eZ(e,t)}(JY.get(Qn.IModelService),e)}function vX(e,t){const i=JY.get(xh.L),n=JY.get(hV);return LZ.colorizeElement(n,i,e,t).then((()=>{n.registerEditorContainer(e)}))}function bX(e,t,i){const n=JY.get(xh.L);return JY.get(hV).registerEditorContainer(o.document.body),LZ.colorize(n,e,t,i)}function CX(e,t,i=4){return JY.get(hV).registerEditorContainer(o.document.body),LZ.colorizeModelLine(e,t,i)}function wX(e,t){ka.dG.getOrCreate(t);const i=function(e){const t=ka.dG.get(e);return t||{getInitialState:()=>Nh.r3,tokenize:(t,i,n)=>(0,Nh.$H)(e,n)}}(t),n=(0,Ti.uz)(e),s=[];let o=i.getInitialState();for(let r=0,a=n.length;r("string"==typeof t&&(t=Bn.r.parse(t)),e.open(t))})}function DX(e){return JY.get(qn).registerCodeEditorOpenHandler((async(t,i,n)=>{if(!i)return null;const s=t.options?.selection;let o;return s&&"number"==typeof s.endLineNumber&&"number"==typeof s.endColumn?o=s:s&&(o={lineNumber:s.startLineNumber,column:s.startColumn}),await e.openCodeEditor(i,t.resource,o)?i:null}))}function NX(e,t){return"boolean"==typeof e?e:t}function IX(e,t){return"string"==typeof e?e:t}function EX(e,t=!1){t&&(e=e.map((function(e){return e.toLowerCase()})));const i=function(e){const t={};for(const i of e)t[i]=!0;return t}(e);return t?function(e){return void 0!==i[e.toLowerCase()]&&i.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==i[e]&&i.hasOwnProperty(e)}}function MX(e,t,i){t=t.replace(/@@/g,"\x01");let n,s=0;do{n=!1,t=t.replace(/@(\w+)/g,(function(i,s){n=!0;let o="";if("string"==typeof e[s])o=e[s];else{if(!(e[s]&&e[s]instanceof RegExp))throw void 0===e[s]?hZ(e,"language definition does not contain attribute '"+s+"', used at: "+t):hZ(e,"attribute reference '"+s+"' must be a string, used at: "+t);o=e[s].source}return oZ(o)?"":"(?:"+o+")"})),s++}while(n&&s<5);t=t.replace(/\x01/g,"@");const o=(e.ignoreCase?"i":"")+(e.unicode?"u":"");if(i){if(t.match(/\$[sS](\d\d?)/g)){let i=null,n=null;return s=>(n&&i===s||(i=s,n=new RegExp(function(e,t,i){let n=null;return t.replace(/\$[sS](\d\d?)/g,(function(t,s){return null===n&&(n=i.split("."),n.unshift(i)),!oZ(s)&&s=100){n-=100;const e=i.split(".");if(e.unshift(i),n=0&&(n.tokenSubst=!0),"string"==typeof i.bracket)if("@open"===i.bracket)n.bracket=1;else{if("@close"!==i.bracket)throw hZ(e,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+t);n.bracket=-1}if(i.next){if("string"!=typeof i.next)throw hZ(e,"the next state must be a string value in rule: "+t);{let s=i.next;if(!/^(@pop|@push|@popall)$/.test(s)&&("@"===s[0]&&(s=s.substr(1)),s.indexOf("$")<0&&!function(e,t){let i=t;for(;i&&i.length>0;){if(e.stateNames[i])return!0;const t=i.lastIndexOf(".");i=t<0?null:i.substr(0,t)}return!1}(e,dZ(e,s,"",[],""))))throw hZ(e,"the next state '"+i.next+"' is not defined in rule: "+t);n.next=s}}return"number"==typeof i.goBack&&(n.goBack=i.goBack),"string"==typeof i.switchTo&&(n.switchTo=i.switchTo),"string"==typeof i.log&&(n.log=i.log),"string"==typeof i.nextEmbedded&&(n.nextEmbedded=i.nextEmbedded,e.usesEmbedded=!0),n}}if(Array.isArray(i)){const n=[];for(let s=0,o=i.length;s0&&"^"===i[0],this.name=this.name+": "+i,this.regex=MX(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=RX(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function PX(e,t){if(!t||"object"!=typeof t)throw new Error("Monarch: expecting a language definition object");const i={languageId:e,includeLF:NX(t.includeLF,!1),noThrow:!1,maxStack:100,start:"string"==typeof t.start?t.start:null,ignoreCase:NX(t.ignoreCase,!1),unicode:NX(t.unicode,!1),tokenPostfix:IX(t.tokenPostfix,"."+e),defaultToken:IX(t.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},n=t;function s(e,o,r){for(const a of r){let r=a.include;if(r){if("string"!=typeof r)throw hZ(i,"an 'include' attribute must be a string at: "+e);if("@"===r[0]&&(r=r.substr(1)),!t.tokenizer[r])throw hZ(i,"include target '"+r+"' is not defined at: "+e);s(e+"."+r,o,t.tokenizer[r])}else{const t=new AX(e);if(Array.isArray(a)&&a.length>=1&&a.length<=3)if(t.setRegex(n,a[0]),a.length>=3)if("string"==typeof a[1])t.setAction(n,{token:a[1],next:a[2]});else{if("object"!=typeof a[1])throw hZ(i,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+e);{const e=a[1];e.next=a[2],t.setAction(n,e)}}else t.setAction(n,a[1]);else{if(!a.regex)throw hZ(i,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);a.name&&"string"==typeof a.name&&(t.name=a.name),a.matchOnlyAtStart&&(t.matchOnlyAtLineStart=NX(a.matchOnlyAtLineStart,!1)),t.setRegex(n,a.regex),t.setAction(n,a.action)}o.push(t)}}}if(n.languageId=e,n.includeLF=i.includeLF,n.ignoreCase=i.ignoreCase,n.unicode=i.unicode,n.noThrow=i.noThrow,n.usesEmbedded=i.usesEmbedded,n.stateNames=t.tokenizer,n.defaultToken=i.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw hZ(i,"a language definition must define the 'tokenizer' attribute as an object");i.tokenizer=[];for(const r in t.tokenizer)if(t.tokenizer.hasOwnProperty(r)){i.start||(i.start=r);const e=t.tokenizer[r];i.tokenizer[r]=new Array,s("tokenizer."+r,i.tokenizer[r],e)}if(i.usesEmbedded=n.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw hZ(i,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const o=[];for(const r of t.brackets){let e=r;if(e&&Array.isArray(e)&&3===e.length&&(e={token:e[2],open:e[0],close:e[1]}),e.open===e.close)throw hZ(i,"open and close brackets in a 'brackets' attribute must be different: "+e.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"!=typeof e.open||"string"!=typeof e.token||"string"!=typeof e.close)throw hZ(i,"every element in the 'brackets' array must be a '{open,close,token}' object or array");o.push({token:e.token+i.tokenPostfix,open:rZ(i,e.open),close:rZ(i,e.close)})}return i.brackets=o,i.noThrow=!0,i}function OX(e){Dh.W6.registerLanguage(e)}function FX(){let e=[];return e=e.concat(Dh.W6.getLanguages()),e}function WX(e){return JY.get(xh.L).languageIdCodec.encodeLanguageId(e)}function BX(e,t){return JY.withServices((()=>{const i=JY.get(xh.L).onDidRequestRichLanguageFeatures((n=>{n===e&&(i.dispose(),t())}));return i}))}function HX(e,t){return JY.withServices((()=>{const i=JY.get(xh.L).onDidRequestBasicLanguageFeatures((n=>{n===e&&(i.dispose(),t())}));return i}))}function VX(e,t){if(!JY.get(xh.L).isRegisteredLanguageId(e))throw new Error(`Cannot set configuration for unknown language ${e}`);return JY.get(Fo.JZ).register(e,t,100)}class zX{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if("function"==typeof this._actual.tokenize)return UX.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const n=this._actual.tokenizeEncoded(e,i);return new ka.rY(n.tokens,n.endState)}}class UX{constructor(e,t,i,n){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=n}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let n=0;for(let s=0,o=e.length;s0&&s[o-1]===a)continue;let h=e.startIndex;0===l?h=0:h{const i=await Promise.resolve(t.create());return i?"function"==typeof i.getInitialState?$X(e,i):new yZ(JY.get(xh.L),JY.get(hV),e,PX(e,i),JY.get(Fp.pG)):null}));return ka.dG.registerFactory(e,i)}function GX(e,t){if(!JY.get(xh.L).isRegisteredLanguageId(e))throw new Error(`Cannot set tokens provider for unknown language ${e}`);return KX(t)?qX(e,{create:()=>t}):ka.dG.register(e,$X(e,t))}function QX(e,t){return KX(t)?qX(e,{create:()=>t}):ka.dG.register(e,(t=>new yZ(JY.get(xh.L),JY.get(hV),e,PX(e,t),JY.get(Fp.pG)))(t))}function YX(e,t){return JY.get(La.ILanguageFeaturesService).referenceProvider.register(e,t)}function ZX(e,t){return JY.get(La.ILanguageFeaturesService).renameProvider.register(e,t)}function XX(e,t){return JY.get(La.ILanguageFeaturesService).newSymbolNamesProvider.register(e,t)}function JX(e,t){return JY.get(La.ILanguageFeaturesService).signatureHelpProvider.register(e,t)}function eJ(e,t){return JY.get(La.ILanguageFeaturesService).hoverProvider.register(e,{provideHover:async(e,i,n,s)=>{const o=e.getWordAtPosition(i);return Promise.resolve(t.provideHover(e,i,n,s)).then((e=>{if(e)return!e.range&&o&&(e.range=new Xs.Q(i.lineNumber,o.startColumn,i.lineNumber,o.endColumn)),e.range||(e.range=new Xs.Q(i.lineNumber,i.column,i.lineNumber,i.column)),e}))}})}function tJ(e,t){return JY.get(La.ILanguageFeaturesService).documentSymbolProvider.register(e,t)}function iJ(e,t){return JY.get(La.ILanguageFeaturesService).documentHighlightProvider.register(e,t)}function nJ(e,t){return JY.get(La.ILanguageFeaturesService).linkedEditingRangeProvider.register(e,t)}function sJ(e,t){return JY.get(La.ILanguageFeaturesService).definitionProvider.register(e,t)}function oJ(e,t){return JY.get(La.ILanguageFeaturesService).implementationProvider.register(e,t)}function rJ(e,t){return JY.get(La.ILanguageFeaturesService).typeDefinitionProvider.register(e,t)}function aJ(e,t){return JY.get(La.ILanguageFeaturesService).codeLensProvider.register(e,t)}function lJ(e,t,i){return JY.get(La.ILanguageFeaturesService).codeActionProvider.register(e,{providedCodeActionKinds:i?.providedCodeActionKinds,documentation:i?.documentation,provideCodeActions:(e,i,n,s)=>{const o=JY.get(Wp.DR).read({resource:e.uri}).filter((e=>Xs.Q.areIntersectingOrTouching(e,i)));return t.provideCodeActions(e,i,{markers:o,only:n.only,trigger:n.trigger},s)},resolveCodeAction:t.resolveCodeAction})}function hJ(e,t){return JY.get(La.ILanguageFeaturesService).documentFormattingEditProvider.register(e,t)}function dJ(e,t){return JY.get(La.ILanguageFeaturesService).documentRangeFormattingEditProvider.register(e,t)}function cJ(e,t){return JY.get(La.ILanguageFeaturesService).onTypeFormattingEditProvider.register(e,t)}function uJ(e,t){return JY.get(La.ILanguageFeaturesService).linkProvider.register(e,t)}function gJ(e,t){return JY.get(La.ILanguageFeaturesService).completionProvider.register(e,t)}function pJ(e,t){return JY.get(La.ILanguageFeaturesService).colorProvider.register(e,t)}function mJ(e,t){return JY.get(La.ILanguageFeaturesService).foldingRangeProvider.register(e,t)}function fJ(e,t){return JY.get(La.ILanguageFeaturesService).declarationProvider.register(e,t)}function _J(e,t){return JY.get(La.ILanguageFeaturesService).selectionRangeProvider.register(e,t)}function vJ(e,t){return JY.get(La.ILanguageFeaturesService).documentSemanticTokensProvider.register(e,t)}function bJ(e,t){return JY.get(La.ILanguageFeaturesService).documentRangeSemanticTokensProvider.register(e,t)}function CJ(e,t){return JY.get(La.ILanguageFeaturesService).inlineCompletionsProvider.register(e,t)}function wJ(e,t){return JY.get(La.ILanguageFeaturesService).inlineEditProvider.register(e,t)}function yJ(e,t){return JY.get(La.ILanguageFeaturesService).inlayHintsProvider.register(e,t)}Tc.wrappingIndent.defaultValue=0,Tc.glyphMargin.defaultValue=!1,Tc.autoIndent.defaultValue=3,Tc.overviewRulerLanes.defaultValue=2,DP.setFormatterSelector(((e,t,i)=>Promise.resolve(e[0])));const SJ=(0,P$.createMonacoBaseAPI)();SJ.editor={create:QZ,getEditors:XZ,getDiffEditors:JZ,onDidCreateEditor:YZ,onDidCreateDiffEditor:ZZ,createDiffEditor:eX,addCommand:iX,addEditorAction:nX,addKeybindingRule:sX,addKeybindingRules:oX,createModel:rX,setModelLanguage:aX,setModelMarkers:lX,getModelMarkers:dX,removeAllMarkers:hX,onDidChangeMarkers:cX,getModels:gX,getModel:uX,onDidCreateModel:pX,onWillDisposeModel:mX,onDidChangeModelLanguage:fX,createWebWorker:_X,colorizeElement:vX,colorize:bX,colorizeModelLine:CX,tokenize:wX,defineTheme:yX,setTheme:SX,remeasureFonts:kX,registerCommand:LX,registerLinkOpener:xX,registerEditorOpener:DX,AccessibilitySupport:tZ.Gn,ContentWidgetPositionPreference:tZ.Qj,CursorChangeReason:tZ.h5,DefaultEndOfLine:tZ.of,EditorAutoIndentStrategy:tZ.e0,EditorOption:tZ.p2,EndOfLinePreference:tZ.kf,EndOfLineSequence:tZ.WU,MinimapPosition:tZ.R3,MinimapSectionHeaderStyle:tZ.VX,MouseTargetType:tZ.hS,OverlayWidgetPositionPreference:tZ.dE,OverviewRulerLane:tZ.A5,GlyphMarginLane:tZ.ZS,RenderLineNumbersType:tZ.DO,RenderMinimap:tZ.hW,ScrollbarVisibility:tZ.XR,ScrollType:tZ.ov,TextEditorCursorBlinkingStyle:tZ.U7,TextEditorCursorStyle:tZ.m9,TrackedRangeStickiness:tZ.kK,WrappingIndent:tZ.tJ,InjectedTextCursorStops:tZ.VW,PositionAffinity:tZ.Ic,ShowLightbulbIconMode:tZ.jT,ConfigurationChangedEvent:Qd,BareFontInfo:um,FontInfo:gm,TextModelResolvedOptions:Js.X2,FindMatch:Js.Dg,ApplyUpdateResult:Xd,EditorZoom:dm,createMultiFileDiffEditor:tX,EditorType:ub,EditorOptions:Tc},SJ.languages={register:OX,getLanguages:FX,onLanguage:BX,onLanguageEncountered:HX,getEncodedLanguageId:WX,setLanguageConfiguration:VX,setColorMap:jX,registerTokensProviderFactory:qX,setTokensProvider:GX,setMonarchTokensProvider:QX,registerReferenceProvider:YX,registerRenameProvider:ZX,registerNewSymbolNameProvider:XX,registerCompletionItemProvider:gJ,registerSignatureHelpProvider:JX,registerHoverProvider:eJ,registerDocumentSymbolProvider:tJ,registerDocumentHighlightProvider:iJ,registerLinkedEditingRangeProvider:nJ,registerDefinitionProvider:sJ,registerImplementationProvider:oJ,registerTypeDefinitionProvider:rJ,registerCodeLensProvider:aJ,registerCodeActionProvider:lJ,registerDocumentFormattingEditProvider:hJ,registerDocumentRangeFormattingEditProvider:dJ,registerOnTypeFormattingEditProvider:cJ,registerLinkProvider:uJ,registerColorProvider:pJ,registerFoldingRangeProvider:mJ,registerDeclarationProvider:fJ,registerSelectionRangeProvider:_J,registerDocumentSemanticTokensProvider:vJ,registerDocumentRangeSemanticTokensProvider:bJ,registerInlineCompletionsProvider:CJ,registerInlineEditProvider:wJ,registerInlayHintsProvider:yJ,DocumentHighlightKind:tZ.Kb,CompletionItemKind:tZ.Io,CompletionItemTag:tZ.QP,CompletionItemInsertTextRule:tZ._E,SymbolKind:tZ.v0,SymbolTag:tZ.H_,IndentAction:tZ.l,CompletionTriggerKind:tZ.t7,SignatureHelpTriggerKind:tZ.WA,InlayHintKind:tZ.r4,InlineCompletionTriggerKind:tZ.qw,InlineEditTriggerKind:tZ.sm,CodeActionTriggerType:tZ.ok,NewSymbolNameTag:tZ.OV,NewSymbolNameTriggerKind:tZ.YT,PartialAcceptTriggerKind:tZ.Ah,HoverVerbosityAction:tZ.M$,FoldingRangeKind:ka.lO,SelectedSuggestionInfo:ka.GE};const kJ=SJ.CancellationTokenSource,LJ=SJ.Emitter,xJ=SJ.KeyCode,DJ=SJ.KeyMod,NJ=SJ.Position,IJ=SJ.Range,EJ=SJ.Selection,MJ=SJ.SelectionDirection,TJ=SJ.MarkerSeverity,RJ=SJ.MarkerTag,AJ=SJ.Uri,PJ=SJ.Token,OJ=SJ.editor,FJ=SJ.languages,WJ=globalThis.MonacoEnvironment;(WJ?.globalAPI||"function"==typeof define&&i.amdO)&&(globalThis.monaco=SJ),void 0!==globalThis.require&&"function"==typeof globalThis.require.config&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});var BJ,HJ,VJ=Object.defineProperty,zJ=Object.getOwnPropertyDescriptor,UJ=Object.getOwnPropertyNames,KJ=Object.prototype.hasOwnProperty,jJ=(e,t,i,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of UJ(t))KJ.call(e,s)||s===i||VJ(e,s,{get:()=>t[s],enumerable:!(n=zJ(t,s))||n.enumerable});return e},$J={};jJ($J,BJ=s,"default"),HJ&&jJ(HJ,BJ,"default");var qJ,GJ=new class{constructor(e,t,i){this._onDidChange=new $J.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}("json",{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});function QJ(){return i.e(4839).then(i.bind(i,44839))}$J.languages.json={jsonDefaults:GJ,getWorker:()=>QJ().then((e=>e.getWorker()))},$J.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),$J.languages.onLanguage("json",(()=>{QJ().then((e=>e.setupMode(GJ)))})),self.MonacoEnvironment=(qJ={editorWorkerService:"editor.worker.js",json:"json.worker.js"},{globalAPI:!1,getWorkerUrl:function(e,t){var n=i.p,s=(n?n.replace(/\/$/,"")+"/":"")+qJ[t];if(/^((http:)|(https:)|(file:)|(\/\/))/.test(s)){var o=String(window.location),r=o.substr(0,o.length-window.location.hash.length-window.location.search.length-window.location.pathname.length);if(s.substring(0,r.length)!==r){/^(\/\/)/.test(s)&&(s=window.location.protocol+s);var a=new Blob(["/*"+t+'*/importScripts("'+s+'");'],{type:"application/javascript"});return URL.createObjectURL(a)}}return s}});const YJ=n},13338:(e,t,i)=>{function n(e,t=0){return e[e.length-(1+t)]}function s(e){if(0===e.length)throw new Error("Invalid tail call");return[e.slice(0,e.length-1),e[e.length-1]]}function o(e,t,i=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let n=0,s=e.length;n0))return e;n=e-1}}return-(i+1)}(e.length,(n=>i(e[n],t)))}function l(e,t,i){if((e|=0)>=t.length)throw new TypeError("invalid index");const n=t[Math.floor(t.length*Math.random())],s=[],o=[],r=[];for(const a of t){const e=i(a,n);e<0?s.push(a):e>0?o.push(a):r.push(a)}return e!!e))}function p(e){let t=0;for(let i=0;i0}function _(e,t=e=>e){const i=new Set;return e.filter((e=>{const n=t(e);return!i.has(n)&&(i.add(n),!0)}))}function v(e,t){return e.length>0?e[0]:t}function b(e,t){let i="number"==typeof t?e:0;"number"==typeof t?i=e:(i=0,t=e);const n=[];if(i<=t)for(let s=i;st;s--)n.push(s);return n}function C(e,t,i){const n=e.slice(0,t),s=e.slice(t);return n.concat(i,s)}function w(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.unshift(t))}function y(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.push(t))}function S(e,t){for(const i of t)e.push(i)}function k(e){return Array.isArray(e)?e:[e]}function L(e,t,i,n){const s=x(e,t);let o=e.splice(s,i);return void 0===o&&(o=[]),function(e,t,i){const n=x(e,t),s=e.length,o=i.length;e.length=s+o;for(let r=s-1;r>=n;r--)e[r+o]=e[r];for(let r=0;rt(e(i),e(n))}function I(...e){return(t,i)=>{for(const n of e){const e=n(t,i);if(!D.isNeitherLessOrGreaterThan(e))return e}return D.neitherLessOrGreaterThan}}i.d(t,{$z:()=>h,Ct:()=>m,E4:()=>S,EI:()=>f,El:()=>a,Fy:()=>v,Hw:()=>T,RT:()=>n,SK:()=>p,SO:()=>l,TS:()=>M,U9:()=>E,UH:()=>r,V4:()=>L,VE:()=>N,Yc:()=>g,_A:()=>w,_j:()=>k,aI:()=>o,bS:()=>s,c1:()=>A,dM:()=>_,j3:()=>R,kj:()=>u,n:()=>d,nH:()=>I,nK:()=>C,pN:()=>c,r7:()=>y,t9:()=>P,y1:()=>b}),function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(D||(D={}));const E=(e,t)=>e-t,M=(e,t)=>E(e?1:0,t?1:0);function T(e){return(t,i)=>-e(t,i)}class R{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class A{static{this.empty=new A((e=>{}))}constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new A((t=>this.iterate((i=>!e(i)||t(i)))))}map(e){return new A((t=>this.iterate((i=>t(e(i))))))}findLast(e){let t;return this.iterate((i=>(e(i)&&(t=i),!0))),t}findLastMaxBy(e){let t,i=!0;return this.iterate((n=>((i||D.isGreaterThan(e(n,t)))&&(i=!1,t=n),!0))),t}}class P{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort(((i,n)=>t(e[i],e[n])));return new P(i)}apply(e){return e.map(((t,i)=>e[this._indexMap[i]]))}inverse(){const e=this._indexMap.slice();for(let t=0;t{function n(e,t){const i=function(e,t,i=e.length-1){for(let n=i;n>=0;n--){if(t(e[n]))return n}return-1}(e,t);if(-1!==i)return e[i]}function s(e,t){const i=o(e,t);return-1===i?void 0:e[i]}function o(e,t,i=0,n=e.length){let s=i,o=n;for(;sh,TM:()=>u,Uk:()=>n,XP:()=>r,hw:()=>a,iM:()=>o,kh:()=>c,lx:()=>s,oH:()=>g,ot:()=>d,vJ:()=>l});class l{static{this.assertInvariants=!1}constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(l.assertInvariants){if(this._prevFindLastPredicate)for(const t of this._array)if(this._prevFindLastPredicate(t)&&!e(t))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.");this._prevFindLastPredicate=e}const t=o(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,-1===t?void 0:this._array[t]}}function h(e,t){if(0===e.length)return;let i=e[0];for(let n=1;n0&&(i=s)}return i}function d(e,t){if(0===e.length)return;let i=e[0];for(let n=1;n=0&&(i=s)}return i}function c(e,t){return h(e,((e,i)=>-t(e,i)))}function u(e,t){if(0===e.length)return-1;let i=0;for(let n=1;n0&&(i=n)}return i}function g(e,t){for(const i of e){const e=t(i);if(void 0!==e)return e}}},87110:(e,t,i)=>{i.d(t,{Ft:()=>a,V7:()=>r,Xo:()=>l,ok:()=>s,xb:()=>o});var n=i(94327);function s(e,t){if(!e)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function o(e,t="Unreachable"){throw new Error(t)}function r(e){e||(0,n.dz)(new n.D7("Soft Assertion Failed"))}function a(e){e()||(e(),(0,n.dz)(new n.D7("Assertion Failed")))}function l(e,t){let i=0;for(;i{i.d(t,{$1:()=>_,$6:()=>w,A0:()=>S,AE:()=>D,EQ:()=>f,F6:()=>k,HC:()=>x,PK:()=>c,Qg:()=>h,SS:()=>d,Th:()=>p,Zv:()=>L,b7:()=>y,bI:()=>I,pc:()=>v,uC:()=>C,vb:()=>b,ve:()=>g,wR:()=>m});var n=i(78903),s=i(94327),o=i(2106),r=i(10998),a=i(63339),l=i(51055);function h(e){return!!e&&"function"==typeof e.then}function d(e){const t=new n.Qi,i=e(t.token),o=new Promise(((e,n)=>{const o=t.token.onCancellationRequested((()=>{o.dispose(),n(new s.AL)}));Promise.resolve(i).then((i=>{o.dispose(),t.dispose(),e(i)}),(e=>{o.dispose(),t.dispose(),n(e)}))}));return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return o.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return o.finally(e)}}}function c(e,t,i){return new Promise(((n,s)=>{const o=t.onCancellationRequested((()=>{o.dispose(),n(i)}));e.then(n,s).finally((()=>o.dispose()))}))}class u{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{if(this.queuedPromise=null,this.isDisposed)return;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise((t=>{this.activePromise.then(e,e).then(t)}))}return new Promise(((e,t)=>{this.queuedPromise.then(e,t)}))}return this.activePromise=e(),new Promise(((e,t)=>{this.activePromise.then((t=>{this.activePromise=null,e(t)}),(e=>{this.activePromise=null,t(e)}))}))}dispose(){this.isDisposed=!0}}class g{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((e,t)=>{this.doResolve=e,this.doReject=t})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const e=this.task;return this.task=null,e()}})));const i=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===l.h?(e=>{let t=!0;return queueMicrotask((()=>{t&&(t=!1,e())})),{isTriggered:()=>t,dispose:()=>{t=!1}}})(i):((e,t)=>{let i=!0;const n=setTimeout((()=>{i=!1,t()}),e);return{isTriggered:()=>i,dispose:()=>{clearTimeout(n),i=!1}}})(t,i),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new s.AL),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}class p{constructor(e){this.delayer=new g(e),this.throttler=new u}trigger(e,t){return this.delayer.trigger((()=>this.throttler.queue(e)),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function m(e,t){return t?new Promise(((i,n)=>{const o=setTimeout((()=>{r.dispose(),i()}),e),r=t.onCancellationRequested((()=>{clearTimeout(o),r.dispose(),n(new s.AL)}))})):d((t=>m(e,t)))}function f(e,t=0,i){const n=setTimeout((()=>{e(),i&&s.dispose()}),t),s=(0,r.s)((()=>{clearTimeout(n),i?.deleteAndLeak(s)}));return i?.add(s),s}function _(e,t=e=>!!e,i=null){let n=0;const s=e.length,o=()=>{if(n>=s)return Promise.resolve(i);const r=e[n++];return Promise.resolve(r()).then((e=>t(e)?Promise.resolve(e):o()))};return o()}class v{constructor(e,t){this._isDisposed=!1,this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new s.D7("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout((()=>{this._token=-1,e()}),t)}setIfNotSet(e,t){if(this._isDisposed)throw new s.D7("Calling 'setIfNotSet' on a disposed TimeoutTimer");-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,e()}),t))}}class b{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){if(this.isDisposed)throw new s.D7("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const n=i.setInterval((()=>{e()}),t);this.disposable=(0,r.s)((()=>{i.clearInterval(n),this.disposable=void 0}))}dispose(){this.cancel(),this.isDisposed=!0}}class C{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}let w,y;y="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{(0,a._p)((()=>{if(i)return;const e=Date.now()+15,n={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(n))}));let i=!1;return{dispose(){i||(i=!0)}}}:(e,t,i)=>{const n=e.requestIdleCallback(t,"number"==typeof i?{timeout:i}:void 0);let s=!1;return{dispose(){s||(s=!0,e.cancelIdleCallback(n))}}},w=e=>y(globalThis,e);class S{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=y(e,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class k extends S{constructor(e){super(globalThis,e)}}class L{get isRejected(){return 1===this.outcome?.outcome}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((e,t)=>{this.completeCallback=e,this.errorCallback=t}))}complete(e){return new Promise((t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()}))}error(e){return new Promise((t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()}))}cancel(){return this.error(new s.AL)}}var x;!function(e){e.settled=async function(e){let t;const i=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return i},e.withAsyncBody=function(e){return new Promise((async(t,i)=>{try{await e(t,i)}catch(n){i(n)}}))}}(x||(x={}));class D{static fromArray(e){return new D((t=>{t.emitMany(e)}))}static fromPromise(e){return new D((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new D((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new D((async t=>{await Promise.all(e.map((async e=>{for await(const i of e)t.emitOne(i)})))}))}static{this.EMPTY=D.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new o.vl,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(i){this.reject(i)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new D((async i=>{for await(const n of e)i.emitOne(t(n))}))}map(e){return D.map(this,e)}static filter(e,t){return new D((async i=>{for await(const n of e)t(n)&&i.emitOne(n)}))}filter(e){return D.filter(this,e)}static coalesce(e){return D.filter(e,(e=>!!e))}coalesce(){return D.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return D.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}class N extends D{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function I(e){const t=new n.Qi,i=e(t.token);return new N(t,(async e=>{const n=t.token.onCancellationRequested((()=>{n.dispose(),t.dispose(),e.reject(new s.AL)}));try{for await(const n of i){if(t.token.isCancellationRequested)return;e.emitOne(n)}n.dispose(),t.dispose()}catch(o){n.dispose(),t.dispose(),e.reject(o)}}))}},42802:(e,t,i)=>{i.d(t,{$l:()=>a,Gs:()=>u,MB:()=>r,Sw:()=>d,bb:()=>h,gN:()=>l,pJ:()=>c});var n=i(63946);const s="undefined"!=typeof Buffer;new n.d((()=>new Uint8Array(256)));let o;class r{static wrap(e){return s&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new r(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return s?this.buffer.toString():(o||(o=new TextDecoder),o.decode(this.buffer))}}function a(e,t){return(e[t+0]|0)>>>0|e[t+1]<<8>>>0}function l(e,t,i){e[i+0]=255&t,t>>>=8,e[i+1]=255&t}function h(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function d(e,t,i){e[i+3]=t,t>>>=8,e[i+2]=t,t>>>=8,e[i+1]=t,t>>>=8,e[i]=t}function c(e,t){return e[t]}function u(e,t,i){e[i]=t}},36260:(e,t,i)=>{function n(e){return e}i.d(t,{VV:()=>o,o5:()=>s});class s{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,"function"==typeof e?(this._fn=e,this._computeKey=n):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class o{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,"function"==typeof e?(this._fn=e,this._computeKey=n):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const i=this._fn(e);return this._map.set(e,i),this._map2.set(t,i),i}}},78903:(e,t,i)=>{i.d(t,{Qi:()=>a,XO:()=>o,bs:()=>l});var n=i(2106);const s=Object.freeze((function(e,t){const i=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(i)}}}));var o;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof r||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Jh.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s})}(o||(o={}));class r{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?s:(this._emitter||(this._emitter=new n.vl),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class a{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new r),this._token}cancel(){this._token?this._token instanceof r&&this._token.cancel():this._token=o.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof r&&this._token.dispose():this._token=o.None}}function l(e){const t=new a;return e.add({dispose(){t.cancel()}}),t.token}},2181:(e,t,i)=>{i.d(t,{W:()=>s});var n=i(19892);const s={...{add:(0,n.k)("add",6e4),plus:(0,n.k)("plus",6e4),gistNew:(0,n.k)("gist-new",6e4),repoCreate:(0,n.k)("repo-create",6e4),lightbulb:(0,n.k)("lightbulb",60001),lightBulb:(0,n.k)("light-bulb",60001),repo:(0,n.k)("repo",60002),repoDelete:(0,n.k)("repo-delete",60002),gistFork:(0,n.k)("gist-fork",60003),repoForked:(0,n.k)("repo-forked",60003),gitPullRequest:(0,n.k)("git-pull-request",60004),gitPullRequestAbandoned:(0,n.k)("git-pull-request-abandoned",60004),recordKeys:(0,n.k)("record-keys",60005),keyboard:(0,n.k)("keyboard",60005),tag:(0,n.k)("tag",60006),gitPullRequestLabel:(0,n.k)("git-pull-request-label",60006),tagAdd:(0,n.k)("tag-add",60006),tagRemove:(0,n.k)("tag-remove",60006),person:(0,n.k)("person",60007),personFollow:(0,n.k)("person-follow",60007),personOutline:(0,n.k)("person-outline",60007),personFilled:(0,n.k)("person-filled",60007),gitBranch:(0,n.k)("git-branch",60008),gitBranchCreate:(0,n.k)("git-branch-create",60008),gitBranchDelete:(0,n.k)("git-branch-delete",60008),sourceControl:(0,n.k)("source-control",60008),mirror:(0,n.k)("mirror",60009),mirrorPublic:(0,n.k)("mirror-public",60009),star:(0,n.k)("star",60010),starAdd:(0,n.k)("star-add",60010),starDelete:(0,n.k)("star-delete",60010),starEmpty:(0,n.k)("star-empty",60010),comment:(0,n.k)("comment",60011),commentAdd:(0,n.k)("comment-add",60011),alert:(0,n.k)("alert",60012),warning:(0,n.k)("warning",60012),search:(0,n.k)("search",60013),searchSave:(0,n.k)("search-save",60013),logOut:(0,n.k)("log-out",60014),signOut:(0,n.k)("sign-out",60014),logIn:(0,n.k)("log-in",60015),signIn:(0,n.k)("sign-in",60015),eye:(0,n.k)("eye",60016),eyeUnwatch:(0,n.k)("eye-unwatch",60016),eyeWatch:(0,n.k)("eye-watch",60016),circleFilled:(0,n.k)("circle-filled",60017),primitiveDot:(0,n.k)("primitive-dot",60017),closeDirty:(0,n.k)("close-dirty",60017),debugBreakpoint:(0,n.k)("debug-breakpoint",60017),debugBreakpointDisabled:(0,n.k)("debug-breakpoint-disabled",60017),debugHint:(0,n.k)("debug-hint",60017),terminalDecorationSuccess:(0,n.k)("terminal-decoration-success",60017),primitiveSquare:(0,n.k)("primitive-square",60018),edit:(0,n.k)("edit",60019),pencil:(0,n.k)("pencil",60019),info:(0,n.k)("info",60020),issueOpened:(0,n.k)("issue-opened",60020),gistPrivate:(0,n.k)("gist-private",60021),gitForkPrivate:(0,n.k)("git-fork-private",60021),lock:(0,n.k)("lock",60021),mirrorPrivate:(0,n.k)("mirror-private",60021),close:(0,n.k)("close",60022),removeClose:(0,n.k)("remove-close",60022),x:(0,n.k)("x",60022),repoSync:(0,n.k)("repo-sync",60023),sync:(0,n.k)("sync",60023),clone:(0,n.k)("clone",60024),desktopDownload:(0,n.k)("desktop-download",60024),beaker:(0,n.k)("beaker",60025),microscope:(0,n.k)("microscope",60025),vm:(0,n.k)("vm",60026),deviceDesktop:(0,n.k)("device-desktop",60026),file:(0,n.k)("file",60027),fileText:(0,n.k)("file-text",60027),more:(0,n.k)("more",60028),ellipsis:(0,n.k)("ellipsis",60028),kebabHorizontal:(0,n.k)("kebab-horizontal",60028),mailReply:(0,n.k)("mail-reply",60029),reply:(0,n.k)("reply",60029),organization:(0,n.k)("organization",60030),organizationFilled:(0,n.k)("organization-filled",60030),organizationOutline:(0,n.k)("organization-outline",60030),newFile:(0,n.k)("new-file",60031),fileAdd:(0,n.k)("file-add",60031),newFolder:(0,n.k)("new-folder",60032),fileDirectoryCreate:(0,n.k)("file-directory-create",60032),trash:(0,n.k)("trash",60033),trashcan:(0,n.k)("trashcan",60033),history:(0,n.k)("history",60034),clock:(0,n.k)("clock",60034),folder:(0,n.k)("folder",60035),fileDirectory:(0,n.k)("file-directory",60035),symbolFolder:(0,n.k)("symbol-folder",60035),logoGithub:(0,n.k)("logo-github",60036),markGithub:(0,n.k)("mark-github",60036),github:(0,n.k)("github",60036),terminal:(0,n.k)("terminal",60037),console:(0,n.k)("console",60037),repl:(0,n.k)("repl",60037),zap:(0,n.k)("zap",60038),symbolEvent:(0,n.k)("symbol-event",60038),error:(0,n.k)("error",60039),stop:(0,n.k)("stop",60039),variable:(0,n.k)("variable",60040),symbolVariable:(0,n.k)("symbol-variable",60040),array:(0,n.k)("array",60042),symbolArray:(0,n.k)("symbol-array",60042),symbolModule:(0,n.k)("symbol-module",60043),symbolPackage:(0,n.k)("symbol-package",60043),symbolNamespace:(0,n.k)("symbol-namespace",60043),symbolObject:(0,n.k)("symbol-object",60043),symbolMethod:(0,n.k)("symbol-method",60044),symbolFunction:(0,n.k)("symbol-function",60044),symbolConstructor:(0,n.k)("symbol-constructor",60044),symbolBoolean:(0,n.k)("symbol-boolean",60047),symbolNull:(0,n.k)("symbol-null",60047),symbolNumeric:(0,n.k)("symbol-numeric",60048),symbolNumber:(0,n.k)("symbol-number",60048),symbolStructure:(0,n.k)("symbol-structure",60049),symbolStruct:(0,n.k)("symbol-struct",60049),symbolParameter:(0,n.k)("symbol-parameter",60050),symbolTypeParameter:(0,n.k)("symbol-type-parameter",60050),symbolKey:(0,n.k)("symbol-key",60051),symbolText:(0,n.k)("symbol-text",60051),symbolReference:(0,n.k)("symbol-reference",60052),goToFile:(0,n.k)("go-to-file",60052),symbolEnum:(0,n.k)("symbol-enum",60053),symbolValue:(0,n.k)("symbol-value",60053),symbolRuler:(0,n.k)("symbol-ruler",60054),symbolUnit:(0,n.k)("symbol-unit",60054),activateBreakpoints:(0,n.k)("activate-breakpoints",60055),archive:(0,n.k)("archive",60056),arrowBoth:(0,n.k)("arrow-both",60057),arrowDown:(0,n.k)("arrow-down",60058),arrowLeft:(0,n.k)("arrow-left",60059),arrowRight:(0,n.k)("arrow-right",60060),arrowSmallDown:(0,n.k)("arrow-small-down",60061),arrowSmallLeft:(0,n.k)("arrow-small-left",60062),arrowSmallRight:(0,n.k)("arrow-small-right",60063),arrowSmallUp:(0,n.k)("arrow-small-up",60064),arrowUp:(0,n.k)("arrow-up",60065),bell:(0,n.k)("bell",60066),bold:(0,n.k)("bold",60067),book:(0,n.k)("book",60068),bookmark:(0,n.k)("bookmark",60069),debugBreakpointConditionalUnverified:(0,n.k)("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:(0,n.k)("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:(0,n.k)("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:(0,n.k)("debug-breakpoint-data-unverified",60072),debugBreakpointData:(0,n.k)("debug-breakpoint-data",60073),debugBreakpointDataDisabled:(0,n.k)("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:(0,n.k)("debug-breakpoint-log-unverified",60074),debugBreakpointLog:(0,n.k)("debug-breakpoint-log",60075),debugBreakpointLogDisabled:(0,n.k)("debug-breakpoint-log-disabled",60075),briefcase:(0,n.k)("briefcase",60076),broadcast:(0,n.k)("broadcast",60077),browser:(0,n.k)("browser",60078),bug:(0,n.k)("bug",60079),calendar:(0,n.k)("calendar",60080),caseSensitive:(0,n.k)("case-sensitive",60081),check:(0,n.k)("check",60082),checklist:(0,n.k)("checklist",60083),chevronDown:(0,n.k)("chevron-down",60084),chevronLeft:(0,n.k)("chevron-left",60085),chevronRight:(0,n.k)("chevron-right",60086),chevronUp:(0,n.k)("chevron-up",60087),chromeClose:(0,n.k)("chrome-close",60088),chromeMaximize:(0,n.k)("chrome-maximize",60089),chromeMinimize:(0,n.k)("chrome-minimize",60090),chromeRestore:(0,n.k)("chrome-restore",60091),circleOutline:(0,n.k)("circle-outline",60092),circle:(0,n.k)("circle",60092),debugBreakpointUnverified:(0,n.k)("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:(0,n.k)("terminal-decoration-incomplete",60092),circleSlash:(0,n.k)("circle-slash",60093),circuitBoard:(0,n.k)("circuit-board",60094),clearAll:(0,n.k)("clear-all",60095),clippy:(0,n.k)("clippy",60096),closeAll:(0,n.k)("close-all",60097),cloudDownload:(0,n.k)("cloud-download",60098),cloudUpload:(0,n.k)("cloud-upload",60099),code:(0,n.k)("code",60100),collapseAll:(0,n.k)("collapse-all",60101),colorMode:(0,n.k)("color-mode",60102),commentDiscussion:(0,n.k)("comment-discussion",60103),creditCard:(0,n.k)("credit-card",60105),dash:(0,n.k)("dash",60108),dashboard:(0,n.k)("dashboard",60109),database:(0,n.k)("database",60110),debugContinue:(0,n.k)("debug-continue",60111),debugDisconnect:(0,n.k)("debug-disconnect",60112),debugPause:(0,n.k)("debug-pause",60113),debugRestart:(0,n.k)("debug-restart",60114),debugStart:(0,n.k)("debug-start",60115),debugStepInto:(0,n.k)("debug-step-into",60116),debugStepOut:(0,n.k)("debug-step-out",60117),debugStepOver:(0,n.k)("debug-step-over",60118),debugStop:(0,n.k)("debug-stop",60119),debug:(0,n.k)("debug",60120),deviceCameraVideo:(0,n.k)("device-camera-video",60121),deviceCamera:(0,n.k)("device-camera",60122),deviceMobile:(0,n.k)("device-mobile",60123),diffAdded:(0,n.k)("diff-added",60124),diffIgnored:(0,n.k)("diff-ignored",60125),diffModified:(0,n.k)("diff-modified",60126),diffRemoved:(0,n.k)("diff-removed",60127),diffRenamed:(0,n.k)("diff-renamed",60128),diff:(0,n.k)("diff",60129),diffSidebyside:(0,n.k)("diff-sidebyside",60129),discard:(0,n.k)("discard",60130),editorLayout:(0,n.k)("editor-layout",60131),emptyWindow:(0,n.k)("empty-window",60132),exclude:(0,n.k)("exclude",60133),extensions:(0,n.k)("extensions",60134),eyeClosed:(0,n.k)("eye-closed",60135),fileBinary:(0,n.k)("file-binary",60136),fileCode:(0,n.k)("file-code",60137),fileMedia:(0,n.k)("file-media",60138),filePdf:(0,n.k)("file-pdf",60139),fileSubmodule:(0,n.k)("file-submodule",60140),fileSymlinkDirectory:(0,n.k)("file-symlink-directory",60141),fileSymlinkFile:(0,n.k)("file-symlink-file",60142),fileZip:(0,n.k)("file-zip",60143),files:(0,n.k)("files",60144),filter:(0,n.k)("filter",60145),flame:(0,n.k)("flame",60146),foldDown:(0,n.k)("fold-down",60147),foldUp:(0,n.k)("fold-up",60148),fold:(0,n.k)("fold",60149),folderActive:(0,n.k)("folder-active",60150),folderOpened:(0,n.k)("folder-opened",60151),gear:(0,n.k)("gear",60152),gift:(0,n.k)("gift",60153),gistSecret:(0,n.k)("gist-secret",60154),gist:(0,n.k)("gist",60155),gitCommit:(0,n.k)("git-commit",60156),gitCompare:(0,n.k)("git-compare",60157),compareChanges:(0,n.k)("compare-changes",60157),gitMerge:(0,n.k)("git-merge",60158),githubAction:(0,n.k)("github-action",60159),githubAlt:(0,n.k)("github-alt",60160),globe:(0,n.k)("globe",60161),grabber:(0,n.k)("grabber",60162),graph:(0,n.k)("graph",60163),gripper:(0,n.k)("gripper",60164),heart:(0,n.k)("heart",60165),home:(0,n.k)("home",60166),horizontalRule:(0,n.k)("horizontal-rule",60167),hubot:(0,n.k)("hubot",60168),inbox:(0,n.k)("inbox",60169),issueReopened:(0,n.k)("issue-reopened",60171),issues:(0,n.k)("issues",60172),italic:(0,n.k)("italic",60173),jersey:(0,n.k)("jersey",60174),json:(0,n.k)("json",60175),kebabVertical:(0,n.k)("kebab-vertical",60176),key:(0,n.k)("key",60177),law:(0,n.k)("law",60178),lightbulbAutofix:(0,n.k)("lightbulb-autofix",60179),linkExternal:(0,n.k)("link-external",60180),link:(0,n.k)("link",60181),listOrdered:(0,n.k)("list-ordered",60182),listUnordered:(0,n.k)("list-unordered",60183),liveShare:(0,n.k)("live-share",60184),loading:(0,n.k)("loading",60185),location:(0,n.k)("location",60186),mailRead:(0,n.k)("mail-read",60187),mail:(0,n.k)("mail",60188),markdown:(0,n.k)("markdown",60189),megaphone:(0,n.k)("megaphone",60190),mention:(0,n.k)("mention",60191),milestone:(0,n.k)("milestone",60192),gitPullRequestMilestone:(0,n.k)("git-pull-request-milestone",60192),mortarBoard:(0,n.k)("mortar-board",60193),move:(0,n.k)("move",60194),multipleWindows:(0,n.k)("multiple-windows",60195),mute:(0,n.k)("mute",60196),noNewline:(0,n.k)("no-newline",60197),note:(0,n.k)("note",60198),octoface:(0,n.k)("octoface",60199),openPreview:(0,n.k)("open-preview",60200),package:(0,n.k)("package",60201),paintcan:(0,n.k)("paintcan",60202),pin:(0,n.k)("pin",60203),play:(0,n.k)("play",60204),run:(0,n.k)("run",60204),plug:(0,n.k)("plug",60205),preserveCase:(0,n.k)("preserve-case",60206),preview:(0,n.k)("preview",60207),project:(0,n.k)("project",60208),pulse:(0,n.k)("pulse",60209),question:(0,n.k)("question",60210),quote:(0,n.k)("quote",60211),radioTower:(0,n.k)("radio-tower",60212),reactions:(0,n.k)("reactions",60213),references:(0,n.k)("references",60214),refresh:(0,n.k)("refresh",60215),regex:(0,n.k)("regex",60216),remoteExplorer:(0,n.k)("remote-explorer",60217),remote:(0,n.k)("remote",60218),remove:(0,n.k)("remove",60219),replaceAll:(0,n.k)("replace-all",60220),replace:(0,n.k)("replace",60221),repoClone:(0,n.k)("repo-clone",60222),repoForcePush:(0,n.k)("repo-force-push",60223),repoPull:(0,n.k)("repo-pull",60224),repoPush:(0,n.k)("repo-push",60225),report:(0,n.k)("report",60226),requestChanges:(0,n.k)("request-changes",60227),rocket:(0,n.k)("rocket",60228),rootFolderOpened:(0,n.k)("root-folder-opened",60229),rootFolder:(0,n.k)("root-folder",60230),rss:(0,n.k)("rss",60231),ruby:(0,n.k)("ruby",60232),saveAll:(0,n.k)("save-all",60233),saveAs:(0,n.k)("save-as",60234),save:(0,n.k)("save",60235),screenFull:(0,n.k)("screen-full",60236),screenNormal:(0,n.k)("screen-normal",60237),searchStop:(0,n.k)("search-stop",60238),server:(0,n.k)("server",60240),settingsGear:(0,n.k)("settings-gear",60241),settings:(0,n.k)("settings",60242),shield:(0,n.k)("shield",60243),smiley:(0,n.k)("smiley",60244),sortPrecedence:(0,n.k)("sort-precedence",60245),splitHorizontal:(0,n.k)("split-horizontal",60246),splitVertical:(0,n.k)("split-vertical",60247),squirrel:(0,n.k)("squirrel",60248),starFull:(0,n.k)("star-full",60249),starHalf:(0,n.k)("star-half",60250),symbolClass:(0,n.k)("symbol-class",60251),symbolColor:(0,n.k)("symbol-color",60252),symbolConstant:(0,n.k)("symbol-constant",60253),symbolEnumMember:(0,n.k)("symbol-enum-member",60254),symbolField:(0,n.k)("symbol-field",60255),symbolFile:(0,n.k)("symbol-file",60256),symbolInterface:(0,n.k)("symbol-interface",60257),symbolKeyword:(0,n.k)("symbol-keyword",60258),symbolMisc:(0,n.k)("symbol-misc",60259),symbolOperator:(0,n.k)("symbol-operator",60260),symbolProperty:(0,n.k)("symbol-property",60261),wrench:(0,n.k)("wrench",60261),wrenchSubaction:(0,n.k)("wrench-subaction",60261),symbolSnippet:(0,n.k)("symbol-snippet",60262),tasklist:(0,n.k)("tasklist",60263),telescope:(0,n.k)("telescope",60264),textSize:(0,n.k)("text-size",60265),threeBars:(0,n.k)("three-bars",60266),thumbsdown:(0,n.k)("thumbsdown",60267),thumbsup:(0,n.k)("thumbsup",60268),tools:(0,n.k)("tools",60269),triangleDown:(0,n.k)("triangle-down",60270),triangleLeft:(0,n.k)("triangle-left",60271),triangleRight:(0,n.k)("triangle-right",60272),triangleUp:(0,n.k)("triangle-up",60273),twitter:(0,n.k)("twitter",60274),unfold:(0,n.k)("unfold",60275),unlock:(0,n.k)("unlock",60276),unmute:(0,n.k)("unmute",60277),unverified:(0,n.k)("unverified",60278),verified:(0,n.k)("verified",60279),versions:(0,n.k)("versions",60280),vmActive:(0,n.k)("vm-active",60281),vmOutline:(0,n.k)("vm-outline",60282),vmRunning:(0,n.k)("vm-running",60283),watch:(0,n.k)("watch",60284),whitespace:(0,n.k)("whitespace",60285),wholeWord:(0,n.k)("whole-word",60286),window:(0,n.k)("window",60287),wordWrap:(0,n.k)("word-wrap",60288),zoomIn:(0,n.k)("zoom-in",60289),zoomOut:(0,n.k)("zoom-out",60290),listFilter:(0,n.k)("list-filter",60291),listFlat:(0,n.k)("list-flat",60292),listSelection:(0,n.k)("list-selection",60293),selection:(0,n.k)("selection",60293),listTree:(0,n.k)("list-tree",60294),debugBreakpointFunctionUnverified:(0,n.k)("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:(0,n.k)("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:(0,n.k)("debug-breakpoint-function-disabled",60296),debugStackframeActive:(0,n.k)("debug-stackframe-active",60297),circleSmallFilled:(0,n.k)("circle-small-filled",60298),debugStackframeDot:(0,n.k)("debug-stackframe-dot",60298),terminalDecorationMark:(0,n.k)("terminal-decoration-mark",60298),debugStackframe:(0,n.k)("debug-stackframe",60299),debugStackframeFocused:(0,n.k)("debug-stackframe-focused",60299),debugBreakpointUnsupported:(0,n.k)("debug-breakpoint-unsupported",60300),symbolString:(0,n.k)("symbol-string",60301),debugReverseContinue:(0,n.k)("debug-reverse-continue",60302),debugStepBack:(0,n.k)("debug-step-back",60303),debugRestartFrame:(0,n.k)("debug-restart-frame",60304),debugAlt:(0,n.k)("debug-alt",60305),callIncoming:(0,n.k)("call-incoming",60306),callOutgoing:(0,n.k)("call-outgoing",60307),menu:(0,n.k)("menu",60308),expandAll:(0,n.k)("expand-all",60309),feedback:(0,n.k)("feedback",60310),gitPullRequestReviewer:(0,n.k)("git-pull-request-reviewer",60310),groupByRefType:(0,n.k)("group-by-ref-type",60311),ungroupByRefType:(0,n.k)("ungroup-by-ref-type",60312),account:(0,n.k)("account",60313),gitPullRequestAssignee:(0,n.k)("git-pull-request-assignee",60313),bellDot:(0,n.k)("bell-dot",60314),debugConsole:(0,n.k)("debug-console",60315),library:(0,n.k)("library",60316),output:(0,n.k)("output",60317),runAll:(0,n.k)("run-all",60318),syncIgnored:(0,n.k)("sync-ignored",60319),pinned:(0,n.k)("pinned",60320),githubInverted:(0,n.k)("github-inverted",60321),serverProcess:(0,n.k)("server-process",60322),serverEnvironment:(0,n.k)("server-environment",60323),pass:(0,n.k)("pass",60324),issueClosed:(0,n.k)("issue-closed",60324),stopCircle:(0,n.k)("stop-circle",60325),playCircle:(0,n.k)("play-circle",60326),record:(0,n.k)("record",60327),debugAltSmall:(0,n.k)("debug-alt-small",60328),vmConnect:(0,n.k)("vm-connect",60329),cloud:(0,n.k)("cloud",60330),merge:(0,n.k)("merge",60331),export:(0,n.k)("export",60332),graphLeft:(0,n.k)("graph-left",60333),magnet:(0,n.k)("magnet",60334),notebook:(0,n.k)("notebook",60335),redo:(0,n.k)("redo",60336),checkAll:(0,n.k)("check-all",60337),pinnedDirty:(0,n.k)("pinned-dirty",60338),passFilled:(0,n.k)("pass-filled",60339),circleLargeFilled:(0,n.k)("circle-large-filled",60340),circleLarge:(0,n.k)("circle-large",60341),circleLargeOutline:(0,n.k)("circle-large-outline",60341),combine:(0,n.k)("combine",60342),gather:(0,n.k)("gather",60342),table:(0,n.k)("table",60343),variableGroup:(0,n.k)("variable-group",60344),typeHierarchy:(0,n.k)("type-hierarchy",60345),typeHierarchySub:(0,n.k)("type-hierarchy-sub",60346),typeHierarchySuper:(0,n.k)("type-hierarchy-super",60347),gitPullRequestCreate:(0,n.k)("git-pull-request-create",60348),runAbove:(0,n.k)("run-above",60349),runBelow:(0,n.k)("run-below",60350),notebookTemplate:(0,n.k)("notebook-template",60351),debugRerun:(0,n.k)("debug-rerun",60352),workspaceTrusted:(0,n.k)("workspace-trusted",60353),workspaceUntrusted:(0,n.k)("workspace-untrusted",60354),workspaceUnknown:(0,n.k)("workspace-unknown",60355),terminalCmd:(0,n.k)("terminal-cmd",60356),terminalDebian:(0,n.k)("terminal-debian",60357),terminalLinux:(0,n.k)("terminal-linux",60358),terminalPowershell:(0,n.k)("terminal-powershell",60359),terminalTmux:(0,n.k)("terminal-tmux",60360),terminalUbuntu:(0,n.k)("terminal-ubuntu",60361),terminalBash:(0,n.k)("terminal-bash",60362),arrowSwap:(0,n.k)("arrow-swap",60363),copy:(0,n.k)("copy",60364),personAdd:(0,n.k)("person-add",60365),filterFilled:(0,n.k)("filter-filled",60366),wand:(0,n.k)("wand",60367),debugLineByLine:(0,n.k)("debug-line-by-line",60368),inspect:(0,n.k)("inspect",60369),layers:(0,n.k)("layers",60370),layersDot:(0,n.k)("layers-dot",60371),layersActive:(0,n.k)("layers-active",60372),compass:(0,n.k)("compass",60373),compassDot:(0,n.k)("compass-dot",60374),compassActive:(0,n.k)("compass-active",60375),azure:(0,n.k)("azure",60376),issueDraft:(0,n.k)("issue-draft",60377),gitPullRequestClosed:(0,n.k)("git-pull-request-closed",60378),gitPullRequestDraft:(0,n.k)("git-pull-request-draft",60379),debugAll:(0,n.k)("debug-all",60380),debugCoverage:(0,n.k)("debug-coverage",60381),runErrors:(0,n.k)("run-errors",60382),folderLibrary:(0,n.k)("folder-library",60383),debugContinueSmall:(0,n.k)("debug-continue-small",60384),beakerStop:(0,n.k)("beaker-stop",60385),graphLine:(0,n.k)("graph-line",60386),graphScatter:(0,n.k)("graph-scatter",60387),pieChart:(0,n.k)("pie-chart",60388),bracket:(0,n.k)("bracket",60175),bracketDot:(0,n.k)("bracket-dot",60389),bracketError:(0,n.k)("bracket-error",60390),lockSmall:(0,n.k)("lock-small",60391),azureDevops:(0,n.k)("azure-devops",60392),verifiedFilled:(0,n.k)("verified-filled",60393),newline:(0,n.k)("newline",60394),layout:(0,n.k)("layout",60395),layoutActivitybarLeft:(0,n.k)("layout-activitybar-left",60396),layoutActivitybarRight:(0,n.k)("layout-activitybar-right",60397),layoutPanelLeft:(0,n.k)("layout-panel-left",60398),layoutPanelCenter:(0,n.k)("layout-panel-center",60399),layoutPanelJustify:(0,n.k)("layout-panel-justify",60400),layoutPanelRight:(0,n.k)("layout-panel-right",60401),layoutPanel:(0,n.k)("layout-panel",60402),layoutSidebarLeft:(0,n.k)("layout-sidebar-left",60403),layoutSidebarRight:(0,n.k)("layout-sidebar-right",60404),layoutStatusbar:(0,n.k)("layout-statusbar",60405),layoutMenubar:(0,n.k)("layout-menubar",60406),layoutCentered:(0,n.k)("layout-centered",60407),target:(0,n.k)("target",60408),indent:(0,n.k)("indent",60409),recordSmall:(0,n.k)("record-small",60410),errorSmall:(0,n.k)("error-small",60411),terminalDecorationError:(0,n.k)("terminal-decoration-error",60411),arrowCircleDown:(0,n.k)("arrow-circle-down",60412),arrowCircleLeft:(0,n.k)("arrow-circle-left",60413),arrowCircleRight:(0,n.k)("arrow-circle-right",60414),arrowCircleUp:(0,n.k)("arrow-circle-up",60415),layoutSidebarRightOff:(0,n.k)("layout-sidebar-right-off",60416),layoutPanelOff:(0,n.k)("layout-panel-off",60417),layoutSidebarLeftOff:(0,n.k)("layout-sidebar-left-off",60418),blank:(0,n.k)("blank",60419),heartFilled:(0,n.k)("heart-filled",60420),map:(0,n.k)("map",60421),mapHorizontal:(0,n.k)("map-horizontal",60421),foldHorizontal:(0,n.k)("fold-horizontal",60421),mapFilled:(0,n.k)("map-filled",60422),mapHorizontalFilled:(0,n.k)("map-horizontal-filled",60422),foldHorizontalFilled:(0,n.k)("fold-horizontal-filled",60422),circleSmall:(0,n.k)("circle-small",60423),bellSlash:(0,n.k)("bell-slash",60424),bellSlashDot:(0,n.k)("bell-slash-dot",60425),commentUnresolved:(0,n.k)("comment-unresolved",60426),gitPullRequestGoToChanges:(0,n.k)("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:(0,n.k)("git-pull-request-new-changes",60428),searchFuzzy:(0,n.k)("search-fuzzy",60429),commentDraft:(0,n.k)("comment-draft",60430),send:(0,n.k)("send",60431),sparkle:(0,n.k)("sparkle",60432),insert:(0,n.k)("insert",60433),mic:(0,n.k)("mic",60434),thumbsdownFilled:(0,n.k)("thumbsdown-filled",60435),thumbsupFilled:(0,n.k)("thumbsup-filled",60436),coffee:(0,n.k)("coffee",60437),snake:(0,n.k)("snake",60438),game:(0,n.k)("game",60439),vr:(0,n.k)("vr",60440),chip:(0,n.k)("chip",60441),piano:(0,n.k)("piano",60442),music:(0,n.k)("music",60443),micFilled:(0,n.k)("mic-filled",60444),repoFetch:(0,n.k)("repo-fetch",60445),copilot:(0,n.k)("copilot",60446),lightbulbSparkle:(0,n.k)("lightbulb-sparkle",60447),robot:(0,n.k)("robot",60448),sparkleFilled:(0,n.k)("sparkle-filled",60449),diffSingle:(0,n.k)("diff-single",60450),diffMultiple:(0,n.k)("diff-multiple",60451),surroundWith:(0,n.k)("surround-with",60452),share:(0,n.k)("share",60453),gitStash:(0,n.k)("git-stash",60454),gitStashApply:(0,n.k)("git-stash-apply",60455),gitStashPop:(0,n.k)("git-stash-pop",60456),vscode:(0,n.k)("vscode",60457),vscodeInsiders:(0,n.k)("vscode-insiders",60458),codeOss:(0,n.k)("code-oss",60459),runCoverage:(0,n.k)("run-coverage",60460),runAllCoverage:(0,n.k)("run-all-coverage",60461),coverage:(0,n.k)("coverage",60462),githubProject:(0,n.k)("github-project",60463),mapVertical:(0,n.k)("map-vertical",60464),foldVertical:(0,n.k)("fold-vertical",60464),mapVerticalFilled:(0,n.k)("map-vertical-filled",60465),foldVerticalFilled:(0,n.k)("fold-vertical-filled",60465),goToSearch:(0,n.k)("go-to-search",60466),percentage:(0,n.k)("percentage",60467),sortPercentage:(0,n.k)("sort-percentage",60467),attach:(0,n.k)("attach",60468)},...{dialogError:(0,n.k)("dialog-error","error"),dialogWarning:(0,n.k)("dialog-warning","warning"),dialogInfo:(0,n.k)("dialog-info","info"),dialogClose:(0,n.k)("dialog-close","close"),treeItemExpanded:(0,n.k)("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:(0,n.k)("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:(0,n.k)("tree-filter-on-type-off","list-selection"),treeFilterClear:(0,n.k)("tree-filter-clear","close"),treeItemLoading:(0,n.k)("tree-item-loading","loading"),menuSelection:(0,n.k)("menu-selection","check"),menuSubmenu:(0,n.k)("menu-submenu","chevron-right"),menuBarMore:(0,n.k)("menubar-more","more"),scrollbarButtonLeft:(0,n.k)("scrollbar-button-left","triangle-left"),scrollbarButtonRight:(0,n.k)("scrollbar-button-right","triangle-right"),scrollbarButtonUp:(0,n.k)("scrollbar-button-up","triangle-up"),scrollbarButtonDown:(0,n.k)("scrollbar-button-down","triangle-down"),toolBarMore:(0,n.k)("toolbar-more","more"),quickInputBack:(0,n.k)("quick-input-back","arrow-left"),dropDownButton:(0,n.k)("drop-down-button",60084),symbolCustomColor:(0,n.k)("symbol-customcolor",60252),exportIcon:(0,n.k)("export",60332),workspaceUnspecified:(0,n.k)("workspace-unspecified",60355),newLine:(0,n.k)("newline",60394),thumbsDownFilled:(0,n.k)("thumbsdown-filled",60435),thumbsUpFilled:(0,n.k)("thumbsup-filled",60436),gitFetch:(0,n.k)("git-fetch",60445),lightbulbSparkleAutofix:(0,n.k)("lightbulb-sparkle-autofix",60447),debugBreakpointPending:(0,n.k)("debug-breakpoint-pending",60377)}}},19892:(e,t,i)=>{i.d(t,{J:()=>r,k:()=>o});var n=i(79359);const s=Object.create(null);function o(e,t){if((0,n.Kg)(t)){const i=s[t];if(void 0===i)throw new Error(`${e} references an unknown codicon: ${t}`);t=i}return s[e]=t,{id:e}}function r(){return s}},88436:(e,t,i)=>{function n(e,t){const i=[],n=[];for(const s of e)t.has(s)||i.push(s);for(const s of t)e.has(s)||n.push(s);return{removed:i,added:n}}function s(e,t){const i=new Set;for(const n of t)e.has(n)&&i.add(n);return i}i.d(t,{E:()=>s,Z:()=>n})},94901:(e,t,i)=>{function n(e,t){const i=Math.pow(10,t);return Math.round(e*i)/i}i.d(t,{$J:()=>r,Q1:()=>a,bU:()=>s,hB:()=>o});class s{constructor(e,t,i,s=1){this._rgbaBrand=void 0,this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,i)),this.a=n(Math.max(Math.min(1,s),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class o{constructor(e,t,i,s){this._hslaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=n(Math.max(Math.min(1,t),0),3),this.l=n(Math.max(Math.min(1,i),0),3),this.a=n(Math.max(Math.min(1,s),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(e){const t=e.r/255,i=e.g/255,n=e.b/255,s=e.a,r=Math.max(t,i,n),a=Math.min(t,i,n);let l=0,h=0;const d=(a+r)/2,c=r-a;if(c>0){switch(h=Math.min(d<=.5?c/(2*d):c/(2-2*d),1),r){case t:l=(i-n)/c+(i1&&(i-=1),i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:n,a:r}=e;let a,l,h;if(0===i)a=l=h=n;else{const e=n<.5?n*(1+i):n+i-n*i,s=2*n-e;a=o._hue2rgb(s,e,t+1/3),l=o._hue2rgb(s,e,t),h=o._hue2rgb(s,e,t-1/3)}return new s(Math.round(255*a),Math.round(255*l),Math.round(255*h),r)}}class r{constructor(e,t,i,s){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=n(Math.max(Math.min(1,t),0),3),this.v=n(Math.max(Math.min(1,i),0),3),this.a=n(Math.max(Math.min(1,s),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(e){const t=e.r/255,i=e.g/255,n=e.b/255,s=Math.max(t,i,n),o=s-Math.min(t,i,n),a=0===s?0:o/s;let l;return l=0===o?0:s===t?((i-n)/o%6+6)%6:s===i?(n-t)/o+2:(t-i)/o+4,new r(Math.round(60*l),a,s,e.a)}static toRGBA(e){const{h:t,s:i,v:n,a:o}=e,r=n*i,a=r*(1-Math.abs(t/60%2-1)),l=n-r;let[h,d,c]=[0,0,0];return t<60?(h=r,d=a):t<120?(h=a,d=r):t<180?(d=r,c=a):t<240?(d=a,c=r):t<300?(h=a,c=r):t<=360&&(h=r,c=a),h=Math.round(255*(h+l)),d=Math.round(255*(d+l)),c=Math.round(255*(c+l)),new s(h,d,c,o)}}class a{static fromHex(e){return a.Format.CSS.parseHex(e)||a.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:o.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:r.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof s)this.rgba=e;else if(e instanceof o)this._hsla=e,this.rgba=o.toRGBA(e);else{if(!(e instanceof r))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=r.toRGBA(e)}}equals(e){return!!e&&s.equals(this.rgba,e.rgba)&&o.equals(this.hsla,e.hsla)&&r.equals(this.hsva,e.hsva)}getRelativeLuminance(){return n(.2126*a._relativeLuminanceForComponent(this.rgba.r)+.7152*a._relativeLuminanceForComponent(this.rgba.g)+.0722*a._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance(){i.d(t,{uP:()=>d,F1:()=>r});class n{constructor(e,t,i,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}var s=i(22344);class o{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,n=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new n(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class d{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[n,s,o]=d._getElements(e),[r,a,l]=d._getElements(t);this._hasStrings=o&&l,this._originalStringElements=n,this._originalElementsOrHash=s,this._modifiedStringElements=r,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(d._isStringArray(t)){const e=new Int32Array(t.length);for(let i=0,n=t.length;i=e&&s>=i&&this.ElementsAreEqual(t,s);)t--,s--;if(e>t||i>s){let o;return i<=s?(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o=[new n(e,0,i,s-i+1)]):e<=t?(a.Assert(i===s+1,"modifiedStart should only be one more than modifiedEnd"),o=[new n(e,t-e+1,i,0)]):(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a.Assert(i===s+1,"modifiedStart should only be one more than modifiedEnd"),o=[]),o}const r=[0],l=[0],h=this.ComputeRecursionPoint(e,t,i,s,r,l,o),d=r[0],c=l[0];if(null!==h)return h;if(!o[0]){const r=this.ComputeDiffRecursive(e,d,i,c,o);let a=[];return a=o[0]?[new n(d+1,t-(d+1)+1,c+1,s-(c+1)+1)]:this.ComputeDiffRecursive(d+1,t,c+1,s,o),this.ConcatenateChanges(r,a)}return[new n(e,t-e+1,i,s-i+1)]}WALKTRACE(e,t,i,s,o,r,a,l,d,c,u,g,p,m,f,_,v,b){let C=null,w=null,y=new h,S=t,k=i,L=p[0]-_[0]-s,x=-1073741824,D=this.m_forwardHistory.length-1;do{const t=L+e;t===S||t=0&&(e=(d=this.m_forwardHistory[D])[0],S=1,k=d.length-1)}while(--D>=-1);if(C=y.getReverseChanges(),b[0]){let e=p[0]+1,t=_[0]+1;if(null!==C&&C.length>0){const i=C[C.length-1];e=Math.max(e,i.getOriginalEnd()),t=Math.max(t,i.getModifiedEnd())}w=[new n(e,g-e+1,t,f-t+1)]}else{y=new h,S=r,k=a,L=p[0]-_[0]-l,x=1073741824,D=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=L+o;e===S||e=c[e+1]?(m=(u=c[e+1]-1)-L-l,u>x&&y.MarkNextChange(),x=u+1,y.AddOriginalElement(u+1,m+1),L=e+1-o):(m=(u=c[e-1])-L-l,u>x&&y.MarkNextChange(),x=u,y.AddModifiedElement(u+1,m+1),L=e-1-o),D>=0&&(o=(c=this.m_reverseHistory[D])[0],S=1,k=c.length-1)}while(--D>=-1);w=y.getChanges()}return this.ConcatenateChanges(C,w)}ComputeRecursionPoint(e,t,i,s,o,r,a){let h=0,d=0,c=0,u=0,g=0,p=0;e--,i--,o[0]=0,r[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const m=t-e+(s-i),f=m+1,_=new Int32Array(f),v=new Int32Array(f),b=s-i,C=t-e,w=e-i,y=t-s,S=(C-b)%2==0;_[b]=e,v[C]=t,a[0]=!1;for(let k=1;k<=m/2+1;k++){let m=0,L=0;c=this.ClipDiagonalBound(b-k,k,b,f),u=this.ClipDiagonalBound(b+k,k,b,f);for(let e=c;e<=u;e+=2){h=e===c||em+L&&(m=h,L=d),!S&&Math.abs(e-C)<=k-1&&h>=v[e])return o[0]=h,r[0]=d,i<=v[e]&&k<=1448?this.WALKTRACE(b,c,u,w,C,g,p,y,_,v,h,t,o,d,s,r,S,a):null}const x=(m-e+(L-i)-k)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(m,x))return a[0]=!0,o[0]=m,r[0]=L,x>0&&k<=1448?this.WALKTRACE(b,c,u,w,C,g,p,y,_,v,h,t,o,d,s,r,S,a):(e++,i++,[new n(e,t-e+1,i,s-i+1)]);g=this.ClipDiagonalBound(C-k,k,C,f),p=this.ClipDiagonalBound(C+k,k,C,f);for(let n=g;n<=p;n+=2){h=n===g||n=v[n+1]?v[n+1]-1:v[n-1],d=h-(n-C)-y;const l=h;for(;h>e&&d>i&&this.ElementsAreEqual(h,d);)h--,d--;if(v[n]=h,S&&Math.abs(n-b)<=k&&h<=_[n])return o[0]=h,r[0]=d,l>=_[n]&&k<=1448?this.WALKTRACE(b,c,u,w,C,g,p,y,_,v,h,t,o,d,s,r,S,a):null}if(k<=1447){let e=new Int32Array(u-c+2);e[0]=b-c+1,l.Copy2(_,c,e,1,u-c+1),this.m_forwardHistory.push(e),e=new Int32Array(p-g+2),e[0]=C-g+1,l.Copy2(v,g,e,1,p-g+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(b,c,u,w,C,g,p,y,_,v,h,t,o,d,s,r,S,a)}PrettifyChanges(e){for(let t=0;t0,r=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let n=0,s=0;if(t>0){const i=e[t-1];n=i.originalStart+i.originalLength,s=i.modifiedStart+i.modifiedLength}const o=i.originalLength>0,r=i.modifiedLength>0;let a=0,l=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let e=1;;e++){const t=i.originalStart-e,h=i.modifiedStart-e;if(tl&&(l=d,a=e)}i.originalStart-=a,i.modifiedStart-=a;const h=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],h)&&(e[t-1]=h[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,i=e.length;t0&&t>a&&(a=t,l=d,h=e)}return a>0?[l,h]:null}_contiguousSequenceScore(e,t,i){let n=0;for(let s=0;s=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,n){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(i,n)?1:0)}ConcatenateChanges(e,t){const i=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const n=new Array(e.length+t.length-1);return l.Copy(e,0,n,0,e.length-1),n[e.length-1]=i[0],l.Copy(t,1,n,e.length,t.length-1),n}{const i=new Array(e.length+t.length);return l.Copy(e,0,i,0,e.length),l.Copy(t,0,i,e.length,t.length),i}}ChangesOverlap(e,t,i){if(a.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),a.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const s=e.originalStart;let o=e.originalLength;const r=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new n(s,o,r,a),!0}return i[0]=null,!1}ClipDiagonalBound(e,t,i,n){if(e>=0&&e{i.d(t,{KC:()=>a,S3:()=>o,dB:()=>l,nx:()=>s,r:()=>r});var n=i(13338);const s=(e,t)=>e===t;function o(e=s){return(t,i)=>n.aI(t,i,e)}function r(){return(e,t)=>e.equals(t)}function a(e,t,i){if(void 0!==i){const n=e;return null==n||null==t?t===n:i(n,t)}{const t=e;return(e,i)=>null==e||null==i?i===e:t(e,i)}}function l(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let i=0;i{i.d(t,{AL:()=>h,D7:()=>m,EM:()=>g,MB:()=>l,M_:()=>o,Qg:()=>c,aD:()=>d,cU:()=>r,dz:()=>s,iH:()=>u});const n=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(p.isErrorNoTelemetry(e))throw new p(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function s(e){l(e)||n.onUnexpectedError(e)}function o(e){l(e)||n.onUnexpectedExternalError(e)}function r(e){if(e instanceof Error){const{name:t,message:i}=e;return{$isError:!0,name:t,message:i,stack:e.stacktrace||e.stack,noTelemetry:p.isErrorNoTelemetry(e)}}return e}const a="Canceled";function l(e){return e instanceof h||e instanceof Error&&e.name===a&&e.message===a}class h extends Error{constructor(){super(a),this.name=this.message}}function d(){const e=new Error(a);return e.name=e.message,e}function c(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function u(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class g extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class p extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof p)return e;const t=new p;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class m extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,m.prototype)}}},2106:(e,t,i)=>{i.d(t,{Jh:()=>l,QT:()=>w,Qy:()=>_,Wj:()=>k,_B:()=>y,at:()=>S,fV:()=>b,uI:()=>C,vl:()=>f});var n=i(94327),s=i(48289),o=i(10998),r=i(85525),a=i(23013);var l;!function(e){function t(e){false}function i(e){return(t,i=null,n)=>{let s,o=!1;return s=e((e=>{if(!o)return s?s.dispose():o=!0,t.call(i,e)}),null,n),o&&s.dispose(),s}}function n(e,t,i){return r(((i,n=null,s)=>e((e=>i.call(n,t(e))),null,s)),i)}function s(e,t,i){return r(((i,n=null,s)=>e((e=>t(e)&&i.call(n,e)),null,s)),i)}function r(e,i){let n;const s={onWillAddFirstListener(){n=e(o.fire,o)},onDidRemoveLastListener(){n?.dispose()}};i||t();const o=new f(s);return i?.add(o),o.event}function a(e,i,n=100,s=!1,o=!1,r,a){let l,h,d,c,u=0;const g={leakWarningThreshold:r,onWillAddFirstListener(){l=e((e=>{u++,h=i(h,e),s&&!d&&(p.fire(h),h=void 0),c=()=>{const e=h;h=void 0,d=void 0,(!s||u>1)&&p.fire(e),u=0},"number"==typeof n?(clearTimeout(d),d=setTimeout(c,n)):void 0===d&&(d=0,queueMicrotask(c))}))},onWillRemoveListener(){o&&u>0&&c?.()},onDidRemoveLastListener(){c=void 0,l.dispose()}};a||t();const p=new f(g);return a?.add(p),p.event}e.None=()=>o.jG.None,e.defer=function(e,t){return a(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=i,e.onceIf=function(t,i){return e.once(e.filter(t,i))},e.map=n,e.forEach=function(e,t,i){return r(((i,n=null,s)=>e((e=>{t(e),i.call(n,e)}),null,s)),i)},e.filter=s,e.signal=function(e){return e},e.any=function(...e){return(t,i=null,n)=>function(e,t){t instanceof Array?t.push(e):t&&t.add(e);return e}((0,o.qE)(...e.map((e=>e((e=>t.call(i,e)))))),n)},e.reduce=function(e,t,i,s){let o=i;return n(e,(e=>(o=t(o,e),o)),s)},e.debounce=a,e.accumulate=function(t,i=0,n){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),i,void 0,!0,void 0,n)},e.latch=function(e,t=(e,t)=>e===t,i){let n,o=!0;return s(e,(e=>{const i=o||!t(e,n);return o=!1,n=e,i}),i)},e.split=function(t,i,n){return[e.filter(t,i,n),e.filter(t,(e=>!i(e)),n)]},e.buffer=function(e,t=!1,i=[],n){let s=i.slice(),o=e((e=>{s?s.push(e):a.fire(e)}));n&&n.add(o);const r=()=>{s?.forEach((e=>a.fire(e))),s=null},a=new f({onWillAddFirstListener(){o||(o=e((e=>a.fire(e))),n&&n.add(o))},onDidAddFirstListener(){s&&(t?setTimeout(r):r())},onDidRemoveLastListener(){o&&o.dispose(),o=null}});return n&&n.add(a),a.event},e.chain=function(e,t){return(i,n,s)=>{const o=t(new h);return e((function(e){const t=o.evaluate(e);t!==l&&i.call(n,t)}),void 0,s)}};const l=Symbol("HaltChainable");class h{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:l)),this}reduce(e,t){let i=t;return this.steps.push((t=>(i=e(i,t),i))),this}latch(e=(e,t)=>e===t){let t,i=!0;return this.steps.push((n=>{const s=i||!e(n,t);return i=!1,t=n,s?n:l})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===l)break;return e}}e.fromNodeEventEmitter=function(e,t,i=e=>e){const n=(...e)=>s.fire(i(...e)),s=new f({onWillAddFirstListener:()=>e.on(t,n),onDidRemoveLastListener:()=>e.removeListener(t,n)});return s.event},e.fromDOMEventEmitter=function(e,t,i=e=>e){const n=(...e)=>s.fire(i(...e)),s=new f({onWillAddFirstListener:()=>e.addEventListener(t,n),onDidRemoveLastListener:()=>e.removeEventListener(t,n)});return s.event},e.toPromise=function(e){return new Promise((t=>i(e)(t)))},e.fromPromise=function(e){const t=new f;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.forward=function(e,t){return e((e=>t.fire(e)))},e.runAndSubscribe=function(e,t,i){return t(i),e((e=>t(e)))};class d{constructor(e,i){this._observable=e,this._counter=0,this._hasChanged=!1;const n={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};i||t(),this.emitter=new f(n),i&&i.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new d(e,t).emitter.event},e.fromObservableLight=function(e){return(t,i,n)=>{let s=0,r=!1;const a={beginUpdate(){s++},endUpdate(){s--,0===s&&(e.reportChanges(),r&&(r=!1,t.call(i)))},handlePossibleChange(){},handleChange(){r=!0}};e.addObserver(a),e.reportChanges();const l={dispose(){e.removeObserver(a)}};return n instanceof o.Cm?n.add(l):Array.isArray(n)&&n.push(l),l}}}(l||(l={}));class h{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${h._idPool++}`,h.all.add(this)}start(e){this._stopWatch=new a.W,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}class d{static{this._idPool=1}constructor(e,t,i=(d._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[i,n]of this._stacks)(!e||t{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],i=new g(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||n.dz)(i),o.jG.None}if(this._disposed)return o.jG.None;t&&(e=e.bind(t));const s=new p(e);let r;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(s.stack=c.create(),r=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof p?(this._deliveryQueue??=new v,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=(0,o.s)((()=>{m?.unregister(a),r?.(),this._removeListener(s)}));if(i instanceof o.Cm?i.add(a):Array.isArray(i)&&i.push(a),m){const e=(new Error).stack.split("\n").slice(2,3).join("\n").trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);m.register(a,t?.[2]??e,a)}return a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,i=t.indexOf(e);if(-1===i)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;const n=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let i=0;i0}}const _=()=>new v;class v{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class b extends f{constructor(e){super(e),this._isPaused=0,this._eventQueue=new r.w,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}}class C extends b{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(e)}}class w extends f{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((e=>super.fire(e))),this._queuedEvents=[]})))}}class y{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new f({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};this.events.push(t),this.hasListeners&&this.hook(t);return(0,o.s)((0,s.P)((()=>{this.hasListeners&&this.unhook(t);const e=this.events.indexOf(t);this.events.splice(e,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((e=>this.hook(e)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((e=>this.unhook(e)))}hook(e){e.listener=e.event((e=>this.emitter.fire(e)))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(const e of this.events)e.listener?.dispose();this.events=[]}}class S{constructor(){this.data=[]}wrapEvent(e,t,i){return(n,s,o)=>e((e=>{const o=this.data[this.data.length-1];if(!t)return void(o?o.buffers.push((()=>n.call(s,e))):n.call(s,e));const r=o;r?(r.items??=[],r.items.push(e),0===r.buffers.length&&o.buffers.push((()=>{r.reducedResult??=i?r.items.reduce(t,i):r.items.reduce(t),n.call(s,r.reducedResult)}))):n.call(s,t(i,e))}),void 0,o)}bufferEvents(e){const t={buffers:new Array};this.data.push(t);const i=e();return this.data.pop(),t.buffers.forEach((e=>e())),i}}class k{constructor(){this.listening=!1,this.inputEvent=l.None,this.inputEventListener=o.jG.None,this.emitter=new f({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}},78518:(e,t,i)=>{i.d(t,{No:()=>u,TH:()=>a,Zn:()=>h,_1:()=>d,kb:()=>l});var n=i(18019),s=i(63339),o=i(16844);function r(e){return 47===e||92===e}function a(e){return e.replace(/[\\/]/g,n.SA.sep)}function l(e){return-1===e.indexOf("/")&&(e=a(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e="/"+e),e}function h(e,t=n.SA.sep){if(!e)return"";const i=e.length,s=e.charCodeAt(0);if(r(s)){if(r(e.charCodeAt(1))&&!r(e.charCodeAt(2))){let n=3;const s=n;for(;ne.length)return!1;if(i){if(!(0,o.ns)(e,t))return!1;if(t.length===e.length)return!0;let i=t.length;return t.charAt(t.length-1)===s&&i--,e.charAt(i)===s}return t.charAt(t.length-1)!==s&&(t+=s),0===e.indexOf(t)}function c(e){return e>=65&&e<=90||e>=97&&e<=122}function u(e,t=s.uF){return!!t&&(c(e.charCodeAt(0))&&58===e.charCodeAt(1))}},48289:(e,t,i)=>{function n(e,t){const i=this;let n,s=!1;return function(){if(s)return n;if(s=!0,t)try{n=e.apply(i,arguments)}finally{t()}else n=e.apply(i,arguments);return n}}i.d(t,{P:()=>n})},83958:(e,t,i)=>{i.d(t,{YW:()=>E,qg:()=>M});var n=i(65958),s=i(78518),o=i(27992),r=i(18019),a=i(63339),l=i(16844);const h="**",d="/",c="[/\\\\]",u="[^/\\\\]",g=/\//g;function p(e,t){switch(e){case 0:return"";case 1:return`${u}*?`;default:return`(?:${c}|${u}+${c}${t?`|${c}${u}+`:""})*?`}}function m(e,t){if(!e)return[];const i=[];let n=!1,s=!1,o="";for(const r of e){switch(r){case t:if(!n&&!s){i.push(o),o="";continue}break;case"{":n=!0;break;case"}":n=!1;break;case"[":s=!0;break;case"]":s=!1}o+=r}return o&&i.push(o),i}function f(e){if(!e)return"";let t="";const i=m(e,d);if(i.every((e=>e===h)))t=".*";else{let e=!1;i.forEach(((n,s)=>{if(n===h){if(e)return;t+=p(2,s===i.length-1)}else{let e=!1,o="",r=!1,a="";for(const i of n)if("}"!==i&&e)o+=i;else if(!r||"]"===i&&a)switch(i){case"{":e=!0;continue;case"[":r=!0;continue;case"}":{const i=`(?:${m(o,",").map((e=>f(e))).join("|")})`;t+=i,e=!1,o="";break}case"]":t+="["+a+"]",r=!1,a="";break;case"?":t+=u;continue;case"*":t+=p(1);continue;default:t+=(0,l.bm)(i)}else{let e;e="-"===i?i:"^"!==i&&"!"!==i||a?i===d?"":(0,l.bm)(i):"^",a+=e}sx(e,t))).filter((e=>e!==L)),e),n=i.length;if(!n)return L;if(1===n)return i[0];const s=function(t,n){for(let s=0,o=i.length;s!!e.allBasenames));o&&(s.allBasenames=o.allBasenames);const r=i.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);r.length&&(s.allPaths=r);return s}(i,t):(s=w.exec(N(i,t)))?I(s[1].substr(1),i,!0):(s=y.exec(N(i,t)))?I(s[1],i,!1):function(e){try{const t=new RegExp(`^${f(e)}$`);return function(i){return t.lastIndex=0,"string"==typeof i&&t.test(i)?e:null}}catch(t){return L}}(i),S.set(n,o)),D(o,e)}function D(e,t){if("string"==typeof t)return e;const i=function(i,n){return(0,s._1)(i,t.base,!a.j9)?e((0,l.NB)(i.substr(t.base.length),r.Vn),n):null};return i.allBasenames=e.allBasenames,i.allPaths=e.allPaths,i.basenames=e.basenames,i.patterns=e.patterns,i}function N(e,t){return t.trimForExclusions&&e.endsWith("/**")?e.substr(0,e.length-2):e}function I(e,t,i){const n=r.Vn===r.SA.sep,s=n?e:e.replace(g,r.Vn),o=r.Vn+s,a=r.SA.sep+e;let l;return l=i?function(i,r){return"string"!=typeof i||i!==s&&!i.endsWith(o)&&(n||i!==e&&!i.endsWith(a))?null:t}:function(i,o){return"string"!=typeof i||i!==s&&(n||i!==e)?null:t},l.allPaths=[(i?"*/":"./")+e],l}function E(e,t,i){return!(!e||"string"!=typeof t)&&M(e)(t,void 0,i)}function M(e,t={}){if(!e)return k;if("string"==typeof e||function(e){const t=e;if(!t)return!1;return"string"==typeof t.base&&"string"==typeof t.pattern}(e)){const i=x(e,t);if(i===L)return k;const n=function(e,t){return!!i(e,t)};return i.allBasenames&&(n.allBasenames=i.allBasenames),i.allPaths&&(n.allPaths=i.allPaths),n}return function(e,t){const i=T(Object.getOwnPropertyNames(e).map((i=>function(e,t,i){if(!1===t)return L;const s=x(e,i);if(s===L)return L;if("boolean"==typeof t)return s;if(t){const i=t.when;if("string"==typeof i){const t=(t,o,r,a)=>{if(!a||!s(t,o))return null;const l=a(i.replace("$(basename)",(()=>r)));return(0,n.Qg)(l)?l.then((t=>t?e:null)):l?e:null};return t.requiresSiblings=!0,t}}return s}(i,e[i],t))).filter((e=>e!==L))),s=i.length;if(!s)return L;if(!i.some((e=>!!e.requiresSiblings))){if(1===s)return i[0];const e=function(e,t){let s;for(let o=0,r=i.length;o{for(const e of s){const t=await e;if("string"==typeof t)return t}return null})():null},t=i.find((e=>!!e.allBasenames));t&&(e.allBasenames=t.allBasenames);const o=i.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return o.length&&(e.allPaths=o),e}const o=function(e,t,s){let o,a;for(let l=0,h=i.length;l{for(const e of a){const t=await e;if("string"==typeof t)return t}return null})():null},a=i.find((e=>!!e.allBasenames));a&&(o.allBasenames=a.allBasenames);const l=i.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);l.length&&(o.allPaths=l);return o}(e,t)}function T(e,t){const i=e.filter((e=>!!e.basenames));if(i.length<2)return e;const n=i.reduce(((e,t)=>{const i=t.basenames;return i?e.concat(i):e}),[]);let s;if(t){s=[];for(let e=0,i=n.length;e{const i=t.patterns;return i?e.concat(i):e}),[]);const o=function(e,t){if("string"!=typeof e)return null;if(!t){let i;for(i=e.length;i>0;i--){const t=e.charCodeAt(i-1);if(47===t||92===t)break}t=e.substr(i)}const i=n.indexOf(t);return-1!==i?s[i]:null};o.basenames=n,o.patterns=s,o.allBasenames=n;const r=e.filter((e=>!e.basenames));return r.push(o),r}},22344:(e,t,i)=>{i.d(t,{e2:()=>a,sN:()=>o,tW:()=>s,v7:()=>c});var n=i(16844);function s(e){return o(e,0)}function o(e,t){switch(typeof e){case"object":return null===e?r(349,t):Array.isArray(e)?(i=e,n=r(104579,n=t),i.reduce(((e,t)=>o(t,e)),n)):function(e,t){return t=r(181387,t),Object.keys(e).sort().reduce(((t,i)=>(t=a(i,t),o(e[i],t))),t)}(e,t);case"string":return a(e,t);case"boolean":return function(e,t){return r(e?433:863,t)}(e,t);case"number":return r(e,t);case"undefined":return r(937,t);default:return r(617,t)}var i,n}function r(e,t){return(t<<5)-t+e|0}function a(e,t){t=r(149417,t);for(let i=0,n=e.length;i>>n)>>>0}function h(e,t=0,i=e.byteLength,n=0){for(let s=0;se.toString(16).padStart(2,"0"))).join(""):function(e,t,i="0"){for(;e.length>>0).toString(16),t/4)}class c{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const i=this._buff;let s,o,r=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(s=a,o=-1,a=0):(s=e.charCodeAt(0),o=0);;){let l=s;if(n.pc(s)){if(!(o+1>>6,e[t++]=128|(63&i)>>>0):i<65536?(e[t++]=224|(61440&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0):(e[t++]=240|(1835008&i)>>>18,e[t++]=128|(258048&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),d(this._h0)+d(this._h1)+d(this._h2)+d(this._h3)+d(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,h(this._buff,this._buffLen),this._buffLen>56&&(this._step(),h(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=c._bigBlock32,t=this._buffDV;for(let l=0;l<64;l+=4)e.setUint32(l,t.getUint32(l,!1),!1);for(let c=64;c<320;c+=4)e.setUint32(c,l(e.getUint32(c-12,!1)^e.getUint32(c-32,!1)^e.getUint32(c-56,!1)^e.getUint32(c-64,!1),1),!1);let i,n,s,o=this._h0,r=this._h1,a=this._h2,h=this._h3,d=this._h4;for(let c=0;c<80;c++)c<20?(i=r&a|~r&h,n=1518500249):c<40?(i=r^a^h,n=1859775393):c<60?(i=r&a|r&h|a&h,n=2400959708):(i=r^a^h,n=3395469782),s=l(o,5)+i+d+n+e.getUint32(4*c,!1)&4294967295,d=h,h=a,a=l(r,30),r=o,o=s;this._h0=this._h0+o&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+h&4294967295,this._h4=this._h4+d&4294967295}}},17954:(e,t,i)=>{var n;i.d(t,{f:()=>n}),function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const i=Object.freeze([]);function*n(e){yield e}e.empty=function(){return i},e.single=n,e.wrap=function(e){return t(e)?e:n(e)},e.from=function(e){return e||i},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let i=0;for(const n of e)if(t(n,i++))return!0;return!1},e.find=function(e,t){for(const i of e)if(t(i))return i},e.filter=function*(e,t){for(const i of e)t(i)&&(yield i)},e.map=function*(e,t){let i=0;for(const n of e)yield t(n,i++)},e.flatMap=function*(e,t){let i=0;for(const n of e)yield*t(n,i++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,i){let n=i;for(const s of e)n=t(n,s);return n},e.slice=function*(e,t,i=e.length){for(t<0&&(t+=e.length),i<0?i+=e.length:i>e.length&&(i=e.length);ts}]},e.asyncToArray=async function(e){const t=[];for await(const i of e)t.push(i);return Promise.resolve(t)}}(n||(n={}))},68387:(e,t,i)=>{i.d(t,{Fo:()=>u,YM:()=>p,m5:()=>m,uw:()=>a});class n{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const s=new n,o=new n,r=new n,a=new Array(230),l={},h=[],d=Object.create(null),c=Object.create(null),u=[],g=[];for(let f=0;f<=193;f++)u[f]=-1;for(let f=0;f<=132;f++)g[f]=-1;var p;function m(e,t){return(e|(65535&t)<<16>>>0)>>>0}!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],i=[],n=[];for(const p of t){const[e,t,m,f,_,v,b,C,w]=p;if(n[t]||(n[t]=!0,h[t]=m,d[m]=t,c[m.toLowerCase()]=t,e&&(u[t]=f,0!==f&&3!==f&&5!==f&&4!==f&&6!==f&&57!==f&&(g[f]=t))),!i[f]){if(i[f]=!0,!_)throw new Error(`String representation missing for key code ${f} around scan code ${m}`);s.define(f,_),o.define(f,C||_),r.define(f,w||C||_)}v&&(a[v]=f),b&&(l[b]=f)}g[3]=46}(),function(e){e.toString=function(e){return s.keyCodeToStr(e)},e.fromString=function(e){return s.strToKeyCode(e)},e.toUserSettingsUS=function(e){return o.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return r.keyCodeToStr(e)},e.fromUserSettings=function(e){return o.strToKeyCode(e)||r.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return s.keyCodeToStr(e)}}(p||(p={}))},63946:(e,t,i)=>{i.d(t,{d:()=>n});class n{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},10998:(e,t,i)=>{i.d(t,{$w:()=>b,AS:()=>c,Ay:()=>r,BO:()=>v,Cm:()=>p,HE:()=>f,VD:()=>a,Xm:()=>d,jG:()=>m,lC:()=>h,mp:()=>_,qE:()=>u,s:()=>g});var n=i(48289),s=i(17954);let o=null;function r(e){return o?.trackDisposable(e),e}function a(e){o?.markAsDisposed(e)}function l(e,t){o?.setParent(e,t)}function h(e){return o?.markAsSingleton(e),e}function d(e){return"object"==typeof e&&null!==e&&"function"==typeof e.dispose&&0===e.dispose.length}function c(e){if(s.f.is(e)){const i=[];for(const n of e)if(n)try{n.dispose()}catch(t){i.push(t)}if(1===i.length)throw i[0];if(i.length>1)throw new AggregateError(i,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function u(...e){const t=g((()=>c(e)));return function(e,t){if(o)for(const i of e)o.setParent(i,t)}(e,t),t}function g(e){const t=r({dispose:(0,n.P)((()=>{a(t),e()}))});return t}class p{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,r(this)}dispose(){this._isDisposed||(a(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{c(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return l(e,this),this._isDisposed?p.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),l(e,null))}}class m{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new p,r(this),l(this._store,this)}dispose(){a(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}class f{constructor(){this._isDisposed=!1,r(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&l(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,a(this),this._value?.dispose(),this._value=void 0}}class _{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class v{constructor(e){this.object=e}dispose(){}}class b{constructor(){this._store=new Map,this._isDisposed=!1,r(this)}dispose(){a(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{c(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),i||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},85525:(e,t,i)=>{i.d(t,{w:()=>s});class n{static{this.Undefined=new n(void 0)}constructor(e){this.element=e,this.next=n.Undefined,this.prev=n.Undefined}}class s{constructor(){this._first=n.Undefined,this._last=n.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===n.Undefined}clear(){let e=this._first;for(;e!==n.Undefined;){const t=e.next;e.prev=n.Undefined,e.next=n.Undefined,e=t}this._first=n.Undefined,this._last=n.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const i=new n(e);if(this._first===n.Undefined)this._first=i,this._last=i;else if(t){const e=this._last;this._last=i,i.prev=e,e.next=i}else{const e=this._first;this._first=i,i.next=e,e.prev=i}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(i))}}shift(){if(this._first!==n.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==n.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==n.Undefined&&e.next!==n.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===n.Undefined&&e.next===n.Undefined?(this._first=n.Undefined,this._last=n.Undefined):e.next===n.Undefined?(this._last=this._last.prev,this._last.next=n.Undefined):e.prev===n.Undefined&&(this._first=this._first.next,this._first.prev=n.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==n.Undefined;)yield e.element,e=e.next}}},27992:(e,t,i)=>{var n,s;i.d(t,{cO:()=>d,db:()=>c,fT:()=>r,qK:()=>h});class o{constructor(e,t){this.uri=e,this.value=t}}class r{static{this.defaultToKey=e=>e.toString()}constructor(e,t){if(this[n]="ResourceMap",e instanceof r)this.map=new Map(e.map),this.toKey=t??r.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=t??r.defaultToKey;for(const[t,i]of e)this.set(t,i)}else this.map=new Map,this.toKey=e??r.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new o(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[i,n]of this.map)e(n.value,n.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(n=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}class a{constructor(){this[s]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return 0!==t&&this.touch(i,t),i.value}set(e,t,i=0){let n=this._map.get(e);if(n)n.value=t,0!==i&&this.touch(n,i);else{switch(n={key:e,value:t,next:void 0,previous:void 0},i){case 0:case 2:default:this.addItemLast(n);break;case 1:this.addItemFirst(n)}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator]:()=>n,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:i.key,done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return n}values(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator]:()=>n,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:i.value,done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return n}entries(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator]:()=>n,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:[i.key,i.value],done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return n}[(s=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._tail,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.previous,i--;this._tail=t,this._size=i,t&&(t.next=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(t.previous=i,i.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,i=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=i,i.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,i)=>{e.push([i,t])})),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class l extends a{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class h extends l{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class d{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class c{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),0===i.size&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}},53720:(e,t,i)=>{i.d(t,{K:()=>n});const n=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})},13072:(e,t,i)=>{i.d(t,{Ez:()=>c,SJ:()=>p,fV:()=>d,ny:()=>n,v$:()=>h,zl:()=>g});var n,s=i(94327),o=i(63339),r=i(16844),a=i(37264),l=i(18019);function h(e,t){return a.r.isUri(e)?(0,r.Q_)(e.scheme,t):(0,r.ns)(e,t+":")}function d(e,...t){return t.some((t=>h(e,t)))}!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",e.vscodeNotebookMetadata="vscode-notebook-metadata",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.commentsInput="comment",e.codeSetting="code-setting",e.outputChannel="output"}(n||(n={}));const c=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return l.SA.join(this._serverRootPath,n.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(d){return s.dz(d),e}const t=e.authority;let i=this._hosts[t];i&&-1!==i.indexOf(":")&&-1===i.indexOf("[")&&(i=`[${i}]`);const r=this._ports[t],l=this._connectionTokens[t];let h=`path=${encodeURIComponent(e.path)}`;return"string"==typeof l&&(h+=`&tkn=${encodeURIComponent(l)}`),a.r.from({scheme:o.HZ?this._preferredWebSchema:n.vscodeRemoteResource,authority:`${i}:${r}`,path:this._remoteResourcesPath,query:h})}};class u{static{this.FALLBACK_AUTHORITY="vscode-app"}asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===n.vscodeRemote?c.rewrite(e):e.scheme!==n.file||!o.ib&&o.lg!==`${n.vscodeFileResource}://${u.FALLBACK_AUTHORITY}`?e:e.with({scheme:n.vscodeFileResource,authority:e.authority||u.FALLBACK_AUTHORITY,query:null,fragment:null})}toUri(e,t){if(a.r.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return a.r.joinPath(a.r.parse(t,!0),e);const i=l.fj(t,e);return a.r.file(i)}return a.r.parse(t.toUrl(e))}}const g=new u;var p;!function(e){const t=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const i="vscode-coi";e.getHeadersFromQuery=function(e){let n;"string"==typeof e?n=new URL(e).searchParams:e instanceof URL?n=e.searchParams:a.r.isUri(e)&&(n=new URL(e.toString(!0)).searchParams);const s=n?.get(i);if(s)return t.get(s)},e.addSearchParam=function(e,t,n){if(!globalThis.crossOriginIsolated)return;const s=t&&n?"3":n?"2":"1";e instanceof URLSearchParams?e.set(i,s):e[i]=s}}(p||(p={}))},62992:(e,t,i)=>{function n(e,t,i){return Math.min(Math.max(e,t),i)}i.d(t,{Uq:()=>s,mu:()=>o,qE:()=>n});class s{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class o{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n{i.d(t,{Go:()=>s,PI:()=>a,V0:()=>c,aI:()=>d,co:()=>h,kT:()=>u,ol:()=>o});var n=i(79359);function s(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;const t=Array.isArray(e)?[]:{};return Object.entries(e).forEach((([e,i])=>{t[e]=i&&"object"==typeof i?s(i):i})),t}function o(e){if(!e||"object"!=typeof e)return e;const t=[e];for(;t.length>0;){const e=t.shift();Object.freeze(e);for(const i in e)if(r.call(e,i)){const s=e[i];"object"!=typeof s||Object.isFrozen(s)||(0,n.iu)(s)||t.push(s)}}return e}const r=Object.prototype.hasOwnProperty;function a(e,t){return l(e,t,new Set)}function l(e,t,i){if((0,n.z)(e))return e;const s=t(e);if(void 0!==s)return s;if(Array.isArray(e)){const n=[];for(const s of e)n.push(l(s,t,i));return n}if((0,n.Gv)(e)){if(i.has(e))throw new Error("Cannot clone recursive data-structure");i.add(e);const n={};for(const s in e)r.call(e,s)&&(n[s]=l(e[s],t,i));return i.delete(e),n}return e}function h(e,t,i=!0){return(0,n.Gv)(e)?((0,n.Gv)(t)&&Object.keys(t).forEach((s=>{s in e?i&&((0,n.Gv)(e[s])&&(0,n.Gv)(t[s])?h(e[s],t[s],i):e[s]=t[s]):e[s]=t[s]})),e):t}function d(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let i,n;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(i=0;ifunction(){const i=Array.prototype.slice.call(arguments,0);return t(e,i)},n={};for(const s of e)n[s]=i(s);return n}},59233:(e,t,i)=>{i.d(t,{BK:()=>_,fm:()=>h,Y:()=>c,zL:()=>d,yC:()=>g,ht:()=>u,lk:()=>m.lk,un:()=>s.un,nb:()=>s.nb,ZX:()=>m.ZX,C:()=>s.C,rm:()=>s.rm,X2:()=>n.X2,y0:()=>m.y0,Yd:()=>m.Yd,yQ:()=>m.yQ,FY:()=>n.FY,Zh:()=>y,OI:()=>m.OI,PO:()=>n.PO,Rn:()=>n.Rn,oJ:()=>b});var n=i(34442),s=i(18366),o=i(87110),r=i(10998),a=i(49855),l=i(34950);function h(e){return new p(new a.nA(void 0,void 0,e),e,void 0,void 0)}function d(e,t){return new p(new a.nA(e.owner,e.debugName,e.debugReferenceFn??t),t,void 0,void 0)}function c(e,t){return new p(new a.nA(e.owner,e.debugName,e.debugReferenceFn??t),t,e.createEmptyChangeSummary,e.handleChange)}function u(e,t){const i=new r.Cm,n=c({owner:e.owner,debugName:e.debugName,debugReferenceFn:e.debugReferenceFn??t,createEmptyChangeSummary:e.createEmptyChangeSummary,handleChange:e.handleChange},((e,n)=>{i.clear(),t(e,n,i)}));return(0,r.s)((()=>{n.dispose(),i.dispose()}))}function g(e){const t=new r.Cm,i=d({owner:void 0,debugName:void 0,debugReferenceFn:e},(i=>{t.clear(),e(i,t)}));return(0,r.s)((()=>{i.dispose(),t.dispose()}))}class p{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,i,n){this._debugNameData=e,this._runFn=t,this.createChangeSummary=i,this._handleChange=n,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),(0,l.tZ)()?.handleAutorunCreated(this),this._runIfNeeded(),(0,r.Ay)(this)}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),(0,r.VD)(this)}_runIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){(0,l.tZ)()?.handleAutorunTriggered(this);const e=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,e)}}finally{t||(0,l.tZ)()?.handleAutorunFinished(this);for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,(0,o.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary))&&(this.state=2)}}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}!function(e){e.Observer=p}(h||(h={}));var m=i(12146),f=i(94327);class _{static fromFn(e){return new _(e())}constructor(e){this._value=(0,n.FY)(this,void 0),this.promiseResult=this._value,this.promise=e.then((e=>((0,n.Rn)((t=>{this._value.set(new v(e,void 0),t)})),e)),(e=>{throw(0,n.Rn)((t=>{this._value.set(new v(void 0,e),t)})),e}))}}class v{constructor(e,t){this.data=e,this.error=t}}function b(e,t,i,n){return t||(t=e=>null!=e),new Promise(((s,o)=>{let r=!0,a=!1;const l=e.map((e=>({isFinished:t(e),error:!!i&&i(e),state:e}))),d=h((e=>{const{isFinished:t,error:i,state:n}=l.read(e);(t||i)&&(r?a=!0:d.dispose(),i?o(!0===i?n:i):s(n))}));if(n){const e=n.onCancellationRequested((()=>{d.dispose(),e.dispose(),o(new f.AL)}));if(n.isCancellationRequested)return d.dispose(),e.dispose(),void o(new f.AL)}r=!1,a&&d.dispose()}))}var C=i(8897);class w extends n.ZK{get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}constructor(e,t,i){super(),this._debugNameData=e,this._equalityComparator=i,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=t}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(const e of this.observers)for(const t of this._deltas)e.handleChange(this,t);this._deltas.length=0}else for(const e of this.observers)e.handleChange(this,void 0)}_beginUpdate(){if(this._updateCounter++,1===this._updateCounter)for(const e of this.observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,0===this._updateCounter){this._update();const e=[...this.observers];for(const t of e)t.endUpdate(this)}}addObserver(e){const t=!this.observers.has(e)&&this._updateCounter>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this._updateCounter>0;super.removeObserver(e),t&&e.endUpdate(this)}set(e,t,i){if(void 0===i&&this._equalityComparator(this._value,e))return;let s;t||(t=s=new n.XL((()=>{}),(()=>`Setting ${this.debugName}`)));try{if(this._isUpToDate=!1,this._setValue(e),void 0!==i&&this._deltas.push(i),t.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(e,t)=>{},handlePossibleChange:e=>{}},this),this._updateCounter>1)for(const e of this.observers)e.handlePossibleChange(this)}finally{s&&s.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function y(e,t){return e.lazy?new w(new a.nA(e.owner,e.debugName,void 0),t,e.equalsFn??C.nx):new n.Lj(new a.nA(e.owner,e.debugName,void 0),t,e.equalsFn??C.nx)}},34442:(e,t,i)=>{i.d(t,{Bm:()=>d,FB:()=>c,FY:()=>C,Lj:()=>w,N2:()=>u,PO:()=>v,Rn:()=>m,X2:()=>y,XL:()=>b,YY:()=>f,ZK:()=>p,fL:()=>_,zV:()=>g});var n=i(8897),s=i(49855),o=i(34950);let r,a,l,h;function d(e){r=e}function c(e){a=e}function u(e){l=e}class g{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t){const i=void 0===t?void 0:e,n=void 0===t?e:t;return l({owner:i,debugName:()=>{const e=(0,s.qQ)(n);if(void 0!==e)return e;const t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(n.toString());return t?`${this.debugName}.${t[2]}`:i?void 0:`${this.debugName} (mapped)`},debugReferenceFn:n},(e=>n(this.read(e),e)))}flatten(){return l({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},(e=>this.read(e).read(e)))}recomputeInitiallyAndOnChange(e,t){return e.add(r(this,t)),this}keepObserved(e){return e.add(a(this)),this}}class p extends g{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function m(e,t){const i=new b(e,t);try{e(i)}finally{i.finish()}}function f(e){if(h)e(h);else{const t=new b(e,void 0);h=t;try{e(t)}finally{t.finish(),h=void 0}}}async function _(e,t){const i=new b(e,t);try{await e(i)}finally{i.finish()}}function v(e,t,i){e?t(e):m(t,i)}class b{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[],(0,o.tZ)()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():(0,s.qQ)(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t{}),(()=>`Setting ${this.debugName}`)));try{const n=this._value;this._setValue(e),(0,o.tZ)()?.handleObservableChanged(this,{oldValue:n,newValue:e,change:i,didChange:!0,hadValue:!0});for(const e of this.observers)t.updateObserver(e,this),e.handleChange(this,i)}finally{n&&n.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function y(e,t){let i;return i="string"==typeof e?new s.nA(void 0,e,void 0):new s.nA(e,void 0,void 0),new S(i,t,n.nx)}class S extends w{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){this._value?.dispose()}}},49855:(e,t,i)=>{i.d(t,{nA:()=>n,qQ:()=>l});class n{constructor(e,t,i){this.owner=e,this.debugNameSource=t,this.referenceFn=i}getDebugName(e){return function(e,t){const i=o.get(e);if(i)return i;const n=function(e,t){const i=o.get(e);if(i)return i;const n=t.owner?function(e){const t=a.get(e);if(t)return t;const i=function(e){const t=e.constructor;if(t)return t.name;return"Object"}(e);let n=r.get(i)??0;n++,r.set(i,n);const s=1===n?i:`${i}#${n}`;return a.set(e,s),s}(t.owner)+".":"";let s;const h=t.debugNameSource;if(void 0!==h){if("function"!=typeof h)return n+h;if(s=h(),void 0!==s)return n+s}const d=t.referenceFn;if(void 0!==d&&(s=l(d),void 0!==s))return n+s;if(void 0!==t.owner){const i=function(e,t){for(const i in e)if(e[i]===t)return i;return}(t.owner,e);if(void 0!==i)return n+i}return}(e,t);if(n){let t=s.get(n)??0;t++,s.set(n,t);const i=1===t?n:`${n}#${t}`;return o.set(e,i),i}return}(e,this)}}const s=new Map,o=new WeakMap;const r=new Map,a=new WeakMap;function l(e){const t=e.toString(),i=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t),n=i?i[1]:void 0;return n?.trim()}},18366:(e,t,i)=>{i.d(t,{C:()=>c,a0:()=>p,dQ:()=>d,nb:()=>u,rm:()=>g,un:()=>h});var n=i(87110),s=i(8897),o=i(10998),r=i(34442),a=i(49855),l=i(34950);function h(e,t){return void 0!==t?new m(new a.nA(e,void 0,t),t,void 0,void 0,void 0,s.nx):new m(new a.nA(void 0,void 0,e),e,void 0,void 0,void 0,s.nx)}function d(e,t,i){return new f(new a.nA(e,void 0,t),t,void 0,void 0,void 0,s.nx,i)}function c(e,t){return new m(new a.nA(e.owner,e.debugName,e.debugReferenceFn),t,void 0,void 0,e.onLastObserverRemoved,e.equalsFn??s.nx)}function u(e,t){return new m(new a.nA(e.owner,e.debugName,void 0),t,e.createEmptyChangeSummary,e.handleChange,void 0,e.equalityComparer??s.nx)}function g(e,t){let i,n;void 0===t?(i=e,n=void 0):(n=e,i=t);const r=new o.Cm;return new m(new a.nA(n,void 0,i),(e=>(r.clear(),i(e,r))),void 0,void 0,(()=>r.dispose()),s.nx)}function p(e,t){let i,n,r;return void 0===t?(i=e,n=void 0):(n=e,i=t),new m(new a.nA(n,void 0,i),(e=>{r?r.clear():r=new o.Cm;const t=i(e);return t&&r.add(t),t}),void 0,void 0,(()=>{r&&(r.dispose(),r=void 0)}),s.nx)}(0,r.N2)(c);class m extends r.ZK{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,i,n,s=void 0,o){super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=i,this._handleChange=n,this._handleLastObserverRemoved=s,this._equalityComparator=o,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.(),(0,l.tZ)()?.handleDerivedCreated(this)}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(0===this.observers.size){const e=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),e}do{if(1===this.state)for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e;const t=0!==this.state,i=this.value;this.state=3;const n=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,n)}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}const s=t&&!this._equalityComparator(i,this.value);if((0,l.tZ)()?.handleDerivedRecomputed(this,{oldValue:i,newValue:this.value,change:void 0,didChange:s,hadValue:t}),s)for(const o of this.observers)o.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const i of this.observers)i.handlePossibleChange(this);if(t)for(const i of this.observers)i.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}(0,n.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const i=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),n=3===this.state;if(i&&(1===this.state||n)&&(this.state=2,n))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}class f extends m{constructor(e,t,i,n,s=void 0,o,r){super(e,t,i,n,s,o),this.set=r}}},34950:(e,t,i)=>{let n;function s(e){n=e}function o(){return n}i.d(t,{Br:()=>s,jm:()=>r,tZ:()=>o});class r{constructor(){this.indentation=0,this.changedObservablesSets=new WeakMap}textToConsoleArgs(e){return function(e){const t=new Array,i=[];let n="";function s(e){if("length"in e)for(const t of e)t&&s(t);else"text"in e?(n+=`%c${e.text}`,t.push(e.style),e.data&&i.push(...e.data)):"data"in e&&i.push(...e.data)}s(e);const o=[n,...t];return o.push(...i),o}([a(c("| ",this.indentation)),e])}formatInfo(e){return e.hadValue?e.didChange?[a(" "),h(d(e.oldValue,70),{color:"red",strikeThrough:!0}),a(" "),h(d(e.newValue,60),{color:"green"})]:[a(" (unchanged)")]:[a(" "),h(d(e.newValue,60),{color:"green"}),a(" (initial)")]}handleObservableChanged(e,t){console.log(...this.textToConsoleArgs([l("observable value changed"),h(e.debugName,{color:"BlueViolet"}),...this.formatInfo(t)]))}formatChanges(e){if(0!==e.size)return h(" (changed deps: "+[...e].map((e=>e.debugName)).join(", ")+")",{color:"gray"})}handleDerivedCreated(e){const t=e.handleChange;this.changedObservablesSets.set(e,new Set),e.handleChange=(i,n)=>(this.changedObservablesSets.get(e).add(i),t.apply(e,[i,n]))}handleDerivedRecomputed(e,t){const i=this.changedObservablesSets.get(e);console.log(...this.textToConsoleArgs([l("derived recomputed"),h(e.debugName,{color:"BlueViolet"}),...this.formatInfo(t),this.formatChanges(i),{data:[{fn:e._debugNameData.referenceFn??e._computeFn}]}])),i.clear()}handleFromEventObservableTriggered(e,t){console.log(...this.textToConsoleArgs([l("observable from event triggered"),h(e.debugName,{color:"BlueViolet"}),...this.formatInfo(t),{data:[{fn:e._getValue}]}]))}handleAutorunCreated(e){const t=e.handleChange;this.changedObservablesSets.set(e,new Set),e.handleChange=(i,n)=>(this.changedObservablesSets.get(e).add(i),t.apply(e,[i,n]))}handleAutorunTriggered(e){const t=this.changedObservablesSets.get(e);console.log(...this.textToConsoleArgs([l("autorun"),h(e.debugName,{color:"BlueViolet"}),this.formatChanges(t),{data:[{fn:e._debugNameData.referenceFn??e._runFn}]}])),t.clear(),this.indentation++}handleAutorunFinished(e){this.indentation--}handleBeginTransaction(e){let t=e.getDebugName();void 0===t&&(t=""),console.log(...this.textToConsoleArgs([l("transaction"),h(t,{color:"BlueViolet"}),{data:[{fn:e._fn}]}])),this.indentation++}handleEndTransaction(){this.indentation--}}function a(e){return h(e,{color:"black"})}function l(e){return h(function(e,t){for(;e.length`${e}${t}:${i};`),""))};var n}function d(e,t){switch(typeof e){case"number":default:return""+e;case"string":return e.length+2<=t?`"${e}"`:`"${e.substr(0,t-7)}"+...`;case"boolean":return e?"true":"false";case"undefined":return"undefined";case"object":return null===e?"null":Array.isArray(e)?function(e,t){let i="[ ",n=!0;for(const s of e){if(n||(i+=", "),i.length-5>t){i+="...";break}n=!1,i+=`${d(s,t-i.length)}`}return i+=" ]",i}(e,t):function(e,t){let i="{ ",n=!0;for(const[s,o]of Object.entries(e)){if(n||(i+=", "),i.length-5>t){i+="...";break}n=!1,i+=`${s}: ${d(o,t-i.length)}`}return i+=" }",i}(e,t);case"symbol":return e.toString();case"function":return`[[Function${e.name?" "+e.name:""}]]`}}function c(e,t){let i="";for(let n=1;n<=t;n++)i+=e;return i}},12146:(e,t,i)=>{i.d(t,{OI:()=>v,Rl:()=>w,Yd:()=>f,ZX:()=>C,eP:()=>u,lk:()=>h,t:()=>S,y0:()=>c,yQ:()=>p});i(2106);var n=i(10998),s=i(34442),o=i(49855),r=i(18366),a=i(34950),l=i(8897);function h(e){return new d(e)}class d extends s.zV{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return`Const: ${this.value}`}}function c(...e){let t,i,n;return 3===e.length?[t,i,n]=e:[i,n]=e,new g(new o.nA(t,void 0,n),i,n,(()=>g.globalTransaction),l.nx)}function u(e,t,i){return new g(new o.nA(e.owner,e.debugName,e.debugReferenceFn??i),t,i,(()=>g.globalTransaction),e.equalsFn??l.nx)}class g extends s.ZK{constructor(e,t,i,n,o){super(),this._debugNameData=e,this.event=t,this._getValue=i,this._getTransaction=n,this._equalityComparator=o,this.hasValue=!1,this.handleEvent=e=>{const t=this._getValue(e),i=this.value,n=!this.hasValue||!this._equalityComparator(i,t);let o=!1;n&&(this.value=t,this.hasValue&&(o=!0,(0,s.PO)(this._getTransaction(),(e=>{(0,a.tZ)()?.handleFromEventObservableTriggered(this,{oldValue:i,newValue:t,change:void 0,didChange:n,hadValue:this.hasValue});for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")}))),this.hasValue=!0),o||(0,a.tZ)()?.handleFromEventObservableTriggered(this,{oldValue:i,newValue:t,change:void 0,didChange:n,hadValue:this.hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){if(this.subscription)return this.hasValue||this.handleEvent(void 0),this.value;return this._getValue(void 0)}}function p(e,t){return new m(e,t)}!function(e){e.Observer=g,e.batchEventsGlobally=function(e,t){let i=!1;void 0===g.globalTransaction&&(g.globalTransaction=e,i=!0);try{t()}finally{i&&(g.globalTransaction=void 0)}}}(c||(c={}));class m extends s.ZK{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{(0,s.Rn)((e=>{for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>this.debugName))}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function f(e){return"string"==typeof e?new _(e):new _(void 0,e)}class _ extends s.ZK{get debugName(){return new o.nA(this._owner,this._debugName,void 0).getDebugName(this)??"Observable Signal"}toString(){return this.debugName}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(e)for(const i of this.observers)e.updateObserver(i,this),i.handleChange(this,t);else(0,s.Rn)((e=>{this.trigger(e,t)}),(()=>`Trigger signal ${this.debugName}`))}get(){}}function v(e,t){const i=new b(!0,t);return e.addObserver(i),t?t(e.get()):e.reportChanges(),(0,n.s)((()=>{e.removeObserver(i)}))}(0,s.FB)((function(e){const t=new b(!1,void 0);return e.addObserver(t),(0,n.s)((()=>{e.removeObserver(t)}))})),(0,s.Bm)(v);class b{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}function C(e,t){let i;return(0,r.C)({owner:e,debugReferenceFn:t},(e=>(i=t(e,i),i)))}function w(e,t,i,n){let s=new y(i,n);return(0,r.C)({debugReferenceFn:i,owner:e,onLastObserverRemoved:()=>{s.dispose(),s=new y(i)}},(e=>(s.setItems(t.read(e)),s.getItems())))}class y{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach((e=>e.store.dispose())),this._cache.clear()}setItems(e){const t=[],i=new Set(this._cache.keys());for(const s of e){const e=this._keySelector?this._keySelector(s):s;let o=this._cache.get(e);if(o)i.delete(e);else{const t=new n.Cm;o={out:this._map(s,t),store:t},this._cache.set(e,o)}t.push(o.out)}for(const n of i){this._cache.get(n).store.dispose(),this._cache.delete(n)}this._items=t}getItems(){return this._items}}function S(e,t){return C(e,((e,i)=>i??t(e)))}},18019:(e,t,i)=>{i.d(t,{IN:()=>f,LC:()=>L,P8:()=>k,S8:()=>b,SA:()=>v,V8:()=>y,Vn:()=>x,fj:()=>C,hd:()=>w,pD:()=>S});var n=i(9871);const s=46,o=47,r=92,a=58;class l extends Error{constructor(e,t,i){let n;"string"==typeof t&&0===t.indexOf("not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";const s=-1!==e.indexOf(".")?"property":"argument";let o=`The "${e}" ${s} ${n} of type ${t}`;o+=". Received type "+typeof i,super(o),this.code="ERR_INVALID_ARG_TYPE"}}function h(e,t){if("string"!=typeof e)throw new l(t,"string",e)}const d="win32"===n.iD;function c(e){return e===o||e===r}function u(e){return e===o}function g(e){return e>=65&&e<=90||e>=97&&e<=122}function p(e,t,i,n){let r="",a=0,l=-1,h=0,d=0;for(let c=0;c<=e.length;++c){if(c2){const e=r.lastIndexOf(i);-1===e?(r="",a=0):(r=r.slice(0,e),a=r.length-1-r.lastIndexOf(i)),l=c,h=0;continue}if(0!==r.length){r="",a=0,l=c,h=0;continue}}t&&(r+=r.length>0?`${i}..`:"..",a=2)}else r.length>0?r+=`${i}${e.slice(l+1,c)}`:r=e.slice(l+1,c),a=c-l-1;l=c,h=0}else d===s&&-1!==h?++h:h=-1}return r}function m(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new l(t,"Object",e)}(t,"pathObject");const i=t.dir||t.root,n=t.base||`${t.name||""}${s=t.ext,s?`${"."===s[0]?"":"."}${s}`:""}`;var s;return i?i===t.root?`${i}${n}`:`${i}${e}${n}`:n}const f={resolve(...e){let t="",i="",s=!1;for(let o=e.length-1;o>=-1;o--){let l;if(o>=0){if(l=e[o],h(l,`paths[${o}]`),0===l.length)continue}else 0===t.length?l=n.bJ():(l=n._K[`=${t}`]||n.bJ(),(void 0===l||l.slice(0,2).toLowerCase()!==t.toLowerCase()&&l.charCodeAt(2)===r)&&(l=`${t}\\`));const d=l.length;let u=0,p="",m=!1;const f=l.charCodeAt(0);if(1===d)c(f)&&(u=1,m=!0);else if(c(f))if(m=!0,c(l.charCodeAt(1))){let e=2,t=e;for(;e2&&c(l.charCodeAt(2))&&(m=!0,u=3));if(p.length>0)if(t.length>0){if(p.toLowerCase()!==t.toLowerCase())continue}else t=p;if(s){if(t.length>0)break}else if(i=`${l.slice(u)}\\${i}`,s=m,m&&t.length>0)break}return i=p(i,!s,"\\",c),s?`${t}\\${i}`:`${t}${i}`||"."},normalize(e){h(e,"path");const t=e.length;if(0===t)return".";let i,n=0,s=!1;const o=e.charCodeAt(0);if(1===t)return u(o)?"\\":e;if(c(o))if(s=!0,c(e.charCodeAt(1))){let s=2,o=s;for(;s2&&c(e.charCodeAt(2))&&(s=!0,n=3));let r=n0&&c(e.charCodeAt(t-1))&&(r+="\\"),void 0===i?s?`\\${r}`:r:s?`${i}\\${r}`:`${i}${r}`},isAbsolute(e){h(e,"path");const t=e.length;if(0===t)return!1;const i=e.charCodeAt(0);return c(i)||t>2&&g(i)&&e.charCodeAt(1)===a&&c(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,i;for(let o=0;o0&&(void 0===t?t=i=n:t+=`\\${n}`)}if(void 0===t)return".";let n=!0,s=0;if("string"==typeof i&&c(i.charCodeAt(0))){++s;const e=i.length;e>1&&c(i.charCodeAt(1))&&(++s,e>2&&(c(i.charCodeAt(2))?++s:n=!1))}if(n){for(;s=2&&(t=`\\${t.slice(s)}`)}return f.normalize(t)},relative(e,t){if(h(e,"from"),h(t,"to"),e===t)return"";const i=f.resolve(e),n=f.resolve(t);if(i===n)return"";if((e=i.toLowerCase())===(t=n.toLowerCase()))return"";let s=0;for(;ss&&e.charCodeAt(o-1)===r;)o--;const a=o-s;let l=0;for(;ll&&t.charCodeAt(d-1)===r;)d--;const c=d-l,u=au){if(t.charCodeAt(l+p)===r)return n.slice(l+p+1);if(2===p)return n.slice(l+p)}a>u&&(e.charCodeAt(s+p)===r?g=p:2===p&&(g=3)),-1===g&&(g=0)}let m="";for(p=s+g+1;p<=o;++p)p!==o&&e.charCodeAt(p)!==r||(m+=0===m.length?"..":"\\..");return l+=g,m.length>0?`${m}${n.slice(l,d)}`:(n.charCodeAt(l)===r&&++l,n.slice(l,d))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=f.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===r){if(t.charCodeAt(1)===r){const e=t.charCodeAt(2);if(63!==e&&e!==s)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(g(t.charCodeAt(0))&&t.charCodeAt(1)===a&&t.charCodeAt(2)===r)return`\\\\?\\${t}`;return e},dirname(e){h(e,"path");const t=e.length;if(0===t)return".";let i=-1,n=0;const s=e.charCodeAt(0);if(1===t)return c(s)?e:".";if(c(s)){if(i=n=1,c(e.charCodeAt(1))){let s=2,o=s;for(;s2&&c(e.charCodeAt(2))?3:2,n=i);let o=-1,r=!0;for(let a=t-1;a>=n;--a)if(c(e.charCodeAt(a))){if(!r){o=a;break}}else r=!1;if(-1===o){if(-1===i)return".";o=i}return e.slice(0,o)},basename(e,t){void 0!==t&&h(t,"suffix"),h(e,"path");let i,n=0,s=-1,o=!0;if(e.length>=2&&g(e.charCodeAt(0))&&e.charCodeAt(1)===a&&(n=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let r=t.length-1,a=-1;for(i=e.length-1;i>=n;--i){const l=e.charCodeAt(i);if(c(l)){if(!o){n=i+1;break}}else-1===a&&(o=!1,a=i+1),r>=0&&(l===t.charCodeAt(r)?-1==--r&&(s=i):(r=-1,s=a))}return n===s?s=a:-1===s&&(s=e.length),e.slice(n,s)}for(i=e.length-1;i>=n;--i)if(c(e.charCodeAt(i))){if(!o){n=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(n,s)},extname(e){h(e,"path");let t=0,i=-1,n=0,o=-1,r=!0,l=0;e.length>=2&&e.charCodeAt(1)===a&&g(e.charCodeAt(0))&&(t=n=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(c(t)){if(!r){n=a+1;break}}else-1===o&&(r=!1,o=a+1),t===s?-1===i?i=a:1!==l&&(l=1):-1!==i&&(l=-1)}return-1===i||-1===o||0===l||1===l&&i===o-1&&i===n+1?"":e.slice(i,o)},format:m.bind(null,"\\"),parse(e){h(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const i=e.length;let n=0,o=e.charCodeAt(0);if(1===i)return c(o)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(c(o)){if(n=1,c(e.charCodeAt(1))){let t=2,s=t;for(;t0&&(t.root=e.slice(0,n));let r=-1,l=n,d=-1,u=!0,p=e.length-1,m=0;for(;p>=n;--p)if(o=e.charCodeAt(p),c(o)){if(!u){l=p+1;break}}else-1===d&&(u=!1,d=p+1),o===s?-1===r?r=p:1!==m&&(m=1):-1!==r&&(m=-1);return-1!==d&&(-1===r||0===m||1===m&&r===d-1&&r===l+1?t.base=t.name=e.slice(l,d):(t.name=e.slice(l,r),t.base=e.slice(l,d),t.ext=e.slice(r,d))),t.dir=l>0&&l!==n?e.slice(0,l-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},_=(()=>{if(d){const e=/\\/g;return()=>{const t=n.bJ().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>n.bJ()})(),v={resolve(...e){let t="",i=!1;for(let n=e.length-1;n>=-1&&!i;n--){const s=n>=0?e[n]:_();h(s,`paths[${n}]`),0!==s.length&&(t=`${s}/${t}`,i=s.charCodeAt(0)===o)}return t=p(t,!i,"/",u),i?`/${t}`:t.length>0?t:"."},normalize(e){if(h(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===o,i=e.charCodeAt(e.length-1)===o;return 0===(e=p(e,!t,"/",u)).length?t?"/":i?"./":".":(i&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(h(e,"path"),e.length>0&&e.charCodeAt(0)===o),join(...e){if(0===e.length)return".";let t;for(let i=0;i0&&(void 0===t?t=n:t+=`/${n}`)}return void 0===t?".":v.normalize(t)},relative(e,t){if(h(e,"from"),h(t,"to"),e===t)return"";if((e=v.resolve(e))===(t=v.resolve(t)))return"";const i=e.length,n=i-1,s=t.length-1,r=nr){if(t.charCodeAt(1+l)===o)return t.slice(1+l+1);if(0===l)return t.slice(1+l)}else n>r&&(e.charCodeAt(1+l)===o?a=l:0===l&&(a=0));let d="";for(l=1+a+1;l<=i;++l)l!==i&&e.charCodeAt(l)!==o||(d+=0===d.length?"..":"/..");return`${d}${t.slice(1+a)}`},toNamespacedPath:e=>e,dirname(e){if(h(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===o;let i=-1,n=!0;for(let s=e.length-1;s>=1;--s)if(e.charCodeAt(s)===o){if(!n){i=s;break}}else n=!1;return-1===i?t?"/":".":t&&1===i?"//":e.slice(0,i)},basename(e,t){void 0!==t&&h(t,"ext"),h(e,"path");let i,n=0,s=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let a=t.length-1,l=-1;for(i=e.length-1;i>=0;--i){const h=e.charCodeAt(i);if(h===o){if(!r){n=i+1;break}}else-1===l&&(r=!1,l=i+1),a>=0&&(h===t.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return n===s?s=l:-1===s&&(s=e.length),e.slice(n,s)}for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===o){if(!r){n=i+1;break}}else-1===s&&(r=!1,s=i+1);return-1===s?"":e.slice(n,s)},extname(e){h(e,"path");let t=-1,i=0,n=-1,r=!0,a=0;for(let l=e.length-1;l>=0;--l){const h=e.charCodeAt(l);if(h!==o)-1===n&&(r=!1,n=l+1),h===s?-1===t?t=l:1!==a&&(a=1):-1!==t&&(a=-1);else if(!r){i=l+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===i+1?"":e.slice(t,n)},format:m.bind(null,"/"),parse(e){h(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const i=e.charCodeAt(0)===o;let n;i?(t.root="/",n=1):n=0;let r=-1,a=0,l=-1,d=!0,c=e.length-1,u=0;for(;c>=n;--c){const t=e.charCodeAt(c);if(t!==o)-1===l&&(d=!1,l=c+1),t===s?-1===r?r=c:1!==u&&(u=1):-1!==r&&(u=-1);else if(!d){a=c+1;break}}if(-1!==l){const n=0===a&&i?1:a;-1===r||0===u||1===u&&r===l-1&&r===a+1?t.base=t.name=e.slice(n,l):(t.name=e.slice(n,r),t.base=e.slice(n,l),t.ext=e.slice(r,l))}return a>0?t.dir=e.slice(0,a-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};v.win32=f.win32=f,v.posix=f.posix=v;const b=d?f.normalize:v.normalize,C=d?f.join:v.join,w=d?f.resolve:v.resolve,y=d?f.relative:v.relative,S=d?f.dirname:v.dirname,k=d?f.basename:v.basename,L=d?f.extname:v.extname,x=d?f.sep:v.sep},63339:(e,t,i)=>{i.d(t,{BH:()=>A,Fr:()=>T,H8:()=>V,HZ:()=>I,OS:()=>F,UP:()=>K,_p:()=>O,cm:()=>H,gm:()=>z,ib:()=>N,j9:()=>D,lg:()=>E,m0:()=>j,nr:()=>U,uF:()=>L,un:()=>M,zx:()=>x});var n=i(87289);const s="en";let o,r,a=!1,l=!1,h=!1,d=!1,c=!1,u=!1,g=!1,p=!1,m=!1,f=!1,_=s,v=null,b=null;const C=globalThis;let w;void 0!==C.vscode&&void 0!==C.vscode.process?w=C.vscode.process:"undefined"!=typeof process&&"string"==typeof process?.versions?.node&&(w=process);const y="string"==typeof w?.versions?.electron,S=y&&"renderer"===w?.type;if("object"==typeof w){a="win32"===w.platform,l="darwin"===w.platform,h="linux"===w.platform,d=h&&!!w.env.SNAP&&!!w.env.SNAP_REVISION,g=y,m=!!w.env.CI||!!w.env.BUILD_ARTIFACTSTAGINGDIRECTORY,o=s,_=s;const e=w.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e);o=t.userLocale,v=t.osLocale,_=t.resolvedLanguage||s,b=t.languagePack?.translationsConfigFile}catch($){}c=!0}else"object"!=typeof navigator||S?console.error("Unable to resolve platform."):(r=navigator.userAgent,a=r.indexOf("Windows")>=0,l=r.indexOf("Macintosh")>=0,p=(r.indexOf("Macintosh")>=0||r.indexOf("iPad")>=0||r.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,h=r.indexOf("Linux")>=0,f=r?.indexOf("Mobi")>=0,u=!0,_=n.i8()||s,o=navigator.language.toLowerCase(),v=o);let k=0;l?k=1:a?k=3:h&&(k=2);const L=a,x=l,D=h,N=c,I=u,E=u&&"function"==typeof C.importScripts?C.origin:void 0,M=p,T=f,R=r,A=_,P="function"==typeof C.postMessage&&!C.importScripts,O=(()=>{if(P){const e=[];C.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,n=e.length;i{const n=++t;e.push({id:n,callback:i}),C.postMessage({vscodeScheduleAsyncWork:n},"*")}}return e=>setTimeout(e)})(),F=l||p?2:a?1:3;let W=!0,B=!1;function H(){if(!B){B=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);W=513===t[0]}return W}const V=!!(R&&R.indexOf("Chrome")>=0),z=!!(R&&R.indexOf("Firefox")>=0),U=!!(!V&&R&&R.indexOf("Safari")>=0),K=!!(R&&R.indexOf("Edg/")>=0),j=!!(R&&R.indexOf("Android")>=0)},9871:(e,t,i)=>{i.d(t,{_K:()=>a,bJ:()=>r,iD:()=>l});var n=i(63339);let s;const o=globalThis.vscode;if(void 0!==o&&void 0!==o.process){const e=o.process;s={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else s="undefined"!=typeof process&&"string"==typeof process?.versions?.node?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return n.uF?"win32":n.zx?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const r=s.cwd,a=s.env,l=s.platform},22467:(e,t,i)=>{i.d(t,{B6:()=>S,Fd:()=>v,LC:()=>m,P8:()=>p,Pi:()=>g,er:()=>c,iZ:()=>b,n4:()=>u,o1:()=>C,pD:()=>f,su:()=>h,uJ:()=>_});var n=i(78518),s=i(13072),o=i(18019),r=i(63339),a=i(16844),l=i(37264);function h(e){return(0,l.I)(e,!0)}class d{constructor(e){this._ignorePathCasing=e}compare(e,t,i=!1){return e===t?0:(0,a.UD)(this.getComparisonKey(e,i),this.getComparisonKey(t,i))}isEqual(e,t,i=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,i)===this.getComparisonKey(t,i)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,i=!1){if(e.scheme===t.scheme){if(e.scheme===s.ny.file)return n._1(h(e),h(t),this._ignorePathCasing(e))&&e.query===t.query&&(i||e.fragment===t.fragment);if(w(e.authority,t.authority))return n._1(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(i||e.fragment===t.fragment)}return!1}joinPath(e,...t){return l.r.joinPath(e,...t)}basenameOrAuthority(e){return p(e)||e.authority}basename(e){return o.SA.basename(e.path)}extname(e){return o.SA.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===s.ny.file?t=l.r.file(o.pD(h(e))).path:(t=o.SA.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===s.ny.file?l.r.file(o.S8(h(e))).path:o.SA.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!w(e.authority,t.authority))return;if(e.scheme===s.ny.file){const i=o.V8(h(e),h(t));return r.uF?n.TH(i):i}let i=e.path||"/";const a=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(i.length,a.length);en.Zn(i).length&&i[i.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=o.Vn){return y(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=o.Vn){let i=!1;if(e.scheme===s.ny.file){const s=h(e);i=void 0!==s&&s.length===n.Zn(s).length&&s[s.length-1]===t}else{t="/";const n=e.path;i=1===n.length&&47===n.charCodeAt(n.length-1)}return i||y(e,t)?e:e.with({path:e.path+"/"})}}const c=new d((()=>!1)),u=(new d((e=>e.scheme!==s.ny.file||!r.j9)),new d((e=>!0)),c.isEqual.bind(c)),g=(c.isEqualOrParent.bind(c),c.getComparisonKey.bind(c),c.basenameOrAuthority.bind(c)),p=c.basename.bind(c),m=c.extname.bind(c),f=c.dirname.bind(c),_=c.joinPath.bind(c),v=c.normalizePath.bind(c),b=c.relativePath.bind(c),C=c.resolvePath.bind(c),w=(c.isAbsolutePath.bind(c),c.isEqualAuthority.bind(c)),y=c.hasTrailingPathSeparator.bind(c);c.removeTrailingPathSeparator.bind(c),c.addTrailingPathSeparator.bind(c);var S;!function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,n]=e.split(":");t&&n&&i.set(t,n)}));const n=t.path.substring(0,t.path.indexOf(";"));return n&&i.set(e.META_DATA_MIME,n),i}}(S||(S={}))},66459:(e,t,i)=>{i.d(t,{A:()=>o});var n,s=i(16844);!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(n||(n={})),function(e){const t="error",i="warning",n="info";e.fromValue=function(o){return o?s.Q_(t,o)?e.Error:s.Q_(i,o)||s.Q_("warn",o)?e.Warning:s.Q_(n,o)?e.Info:e.Ignore:e.Ignore},e.toString=function(s){switch(s){case e.Error:return t;case e.Warning:return i;case e.Info:return n;default:return"ignore"}}}(n||(n={}));const o=n},23013:(e,t,i)=>{i.d(t,{W:()=>s});const n=globalThis.performance&&"function"==typeof globalThis.performance.now;class s{static create(e){return new s(e)}constructor(e){this._now=n&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},16844:(e,t,i)=>{i.d(t,{$X:()=>G,AV:()=>o,BO:()=>g,Bm:()=>p,Bq:()=>c,DB:()=>D,E_:()=>K,GP:()=>a,HG:()=>C,LJ:()=>P,LU:()=>X,Lv:()=>N,MV:()=>V,NB:()=>u,OS:()=>f,Q_:()=>E,Qp:()=>T,S8:()=>oe,Ss:()=>Y,UD:()=>S,UU:()=>w,Vi:()=>R,W1:()=>L,Wd:()=>ne,Wv:()=>I,Z5:()=>F,_J:()=>q,aC:()=>$,bm:()=>d,eY:()=>_,en:()=>b,ih:()=>h,iy:()=>H,jy:()=>l,km:()=>B,lF:()=>k,lT:()=>y,m:()=>z,ne:()=>Q,ns:()=>M,pc:()=>A,r_:()=>Z,tk:()=>ee,tl:()=>re,uz:()=>v,wB:()=>m,y_:()=>ae,zY:()=>J,z_:()=>O,zd:()=>x});var n=i(36260),s=i(63946);function o(e){return!e||"string"!=typeof e||0===e.trim().length}const r=/{(\d+)}/g;function a(e,...t){return 0===t.length?e:e.replace(r,(function(e,i){const n=parseInt(i,10);return isNaN(n)||n<0||n>=t.length?e:t[n]}))}function l(e){return e.replace(/[<>"'&]/g,(e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e}))}function h(e){return e.replace(/[<>&]/g,(function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}}))}function d(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function c(e,t=" "){return g(u(e,t),t)}function u(e,t){if(!e||!t)return e;const i=t.length;if(0===i||0===e.length)return e;let n=0;for(;e.indexOf(t,n)===n;)n+=i;return e.substring(n)}function g(e,t){if(!e||!t)return e;const i=t.length,n=e.length;if(0===i||0===n)return e;let s=n,o=-1;for(;o=e.lastIndexOf(t,s-1),-1!==o&&o+i===s;){if(0===o)return"";s=o}return e.substring(0,s)}function p(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function m(e){return e.replace(/\*/g,"")}function f(e,t,i={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=d(e)),i.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let n="";return i.global&&(n+="g"),i.matchCase||(n+="i"),i.multiline&&(n+="m"),i.unicode&&(n+="u"),new RegExp(e,n)}function _(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)}function v(e){return e.split(/\r\n|\r|\n/)}function b(e){const t=[],i=e.split(/(\r\n|\r|\n)/);for(let n=0;n=0;i--){const t=e.charCodeAt(i);if(32!==t&&9!==t)return i}return-1}function S(e,t){return et?1:0}function k(e,t,i=0,n=e.length,s=0,o=t.length){for(;io)return 1}const r=n-i,a=o-s;return ra?1:0}function L(e,t){return x(e,t,0,e.length,0,t.length)}function x(e,t,i=0,n=e.length,s=0,o=t.length){for(;i=128||a>=128)return k(e.toLowerCase(),t.toLowerCase(),i,n,s,o);N(r)&&(r-=32),N(a)&&(a-=32);const l=r-a;if(0!==l)return l}const r=n-i,a=o-s;return ra?1:0}function D(e){return e>=48&&e<=57}function N(e){return e>=97&&e<=122}function I(e){return e>=65&&e<=90}function E(e,t){return e.length===t.length&&0===x(e,t)}function M(e,t){const i=t.length;return!(t.length>e.length)&&0===x(e,t,0,i)}function T(e,t){const i=Math.min(e.length,t.length);let n;for(n=0;n1){const n=e.charCodeAt(t-2);if(A(n))return O(n,i)}return i}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=F(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class B{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new W(e,t)}nextGraphemeLength(){const e=ie.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const i=t.offset,s=e.getGraphemeBreakType(t.nextCodePoint());if(te(n,s)){t.setOffset(i);break}n=s}return t.offset-i}prevGraphemeLength(){const e=ie.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const i=t.offset,s=e.getGraphemeBreakType(t.prevCodePoint());if(te(s,n)){t.setOffset(i);break}n=s}return i-t.offset}eol(){return this._iterator.eol()}}function H(e,t){return new B(e,t).nextGraphemeLength()}function V(e,t){return new B(e,t).prevGraphemeLength()}function z(e,t){t>0&&P(e.charCodeAt(t))&&t--;const i=t+H(e,t);return[i-V(e,i),i]}let U;function K(e){return U||(U=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),U.test(e)}const j=/^[\t\n\r\x20-\x7E]*$/;function $(e){return j.test(e)}const q=/[\u2028\u2029]/;function G(e){return q.test(e)}function Q(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function Y(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const Z=String.fromCharCode(65279);function X(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function J(e,t=!1){return!!e&&(t&&(e=e.replace(/\\./g,"")),e.toLowerCase()!==e)}function ee(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function te(e,t){return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}class ie{static{this._INSTANCE=null}static getInstance(){return ie._INSTANCE||(ie._INSTANCE=new ie),ie._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let n=1;for(;n<=i;)if(et[3*n+1]))return t[3*n+2];n=2*n+1}return 0}}function ne(e,t){if(0===e)return 0;const i=function(e,t){const i=new W(t,e);let n=i.prevCodePoint();for(;se(n)||65039===n||8419===n;){if(0===i.offset)return;n=i.prevCodePoint()}if(!Y(n))return;let s=i.offset;if(s>0){8205===i.prevCodePoint()&&(s=i.offset)}return s}(e,t);if(void 0!==i)return i;const n=new W(t,e);return n.prevCodePoint(),n.offset}function se(e){return 127995<=e&&e<=127999}const oe="\xa0";class re{static{this.ambiguousCharacterData=new s.d((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')))}static{this.cache=new n.o5({getCacheKey:JSON.stringify},(e=>{function t(e){const t=new Map;for(let i=0;i!e.startsWith("_")&&e in n));0===o.length&&(o=["_default"]);for(const a of o){s=i(s,t(n[a]))}const r=function(e,t){const i=new Map(e);for(const[n,s]of t)i.set(n,s);return i}(t(n._common),s);return new re(r)}))}static getInstance(e){return re.cache.get(Array.from(e))}static{this._locales=new s.d((()=>Object.keys(re.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))))}static getLocales(){return re._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class ae{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(ae.getRawData())),this._data}static isInvisibleCharacter(e){return ae.getData().has(e)}static get codePoints(){return ae.getData()}}},51055:(e,t,i)=>{i.d(t,{h:()=>n});const n=Symbol("MicrotaskDelay")},58881:(e,t,i)=>{i.d(t,{L:()=>s});var n,s,o=i(2181);!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(n||(n={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function i(e){const n=t.exec(e.id);if(!n)return i(o.W.error);const[,s,r]=n,a=["codicon","codicon-"+s];return r&&a.push("codicon-modifier-"+r.substring(1)),a}e.asClassNameArray=i,e.asClassName=function(e){return i(e).join(" ")},e.asCSSSelector=function(e){return"."+i(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||n.isThemeColor(e.color))};const s=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=s.exec(e);if(!t)return;const[,i]=t;return{id:i}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let i=e.id;const n=i.lastIndexOf("~");return-1!==n&&(i=i.substring(0,n)),t&&(i=`${i}~${t}`),{id:i}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){return e.id===t.id&&e.color?.id===t.color?.id}}(s||(s={}))},79359:(e,t,i)=>{function n(e){return"string"==typeof e}function s(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function o(e){const t=Object.getPrototypeOf(Uint8Array);return"object"==typeof e&&e instanceof t}function r(e){return"number"==typeof e&&!isNaN(e)}function a(e){return!!e&&"function"==typeof e[Symbol.iterator]}function l(e){return!0===e||!1===e}function h(e){return void 0===e}function d(e){return!c(e)}function c(e){return h(e)||null===e}function u(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}function g(e){if(c(e))throw new Error("Assertion Failed: argument is undefined or null");return e}function p(e){return"function"==typeof e}function m(e,t){const i=Math.min(e.length,t.length);for(let n=0;nr,Gv:()=>s,Kg:()=>n,Lm:()=>l,O9:()=>d,Tn:()=>p,b0:()=>h,eU:()=>g,iu:()=>o,j:()=>u,jx:()=>m,xZ:()=>a,z:()=>c})},37512:(e,t,i)=>{function n(e){return e<0?0:e>255?255:0|e}function s(e){return e<0?0:e>4294967295?4294967295:0|e}i.d(t,{W:()=>n,j:()=>s})},37264:(e,t,i)=>{i.d(t,{I:()=>_,r:()=>c});var n=i(18019),s=i(63339);const o=/^\w[\w\d+.-]*$/,r=/^\//,a=/^\/\//;const l="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class c{static isUri(e){return e instanceof c||!!e&&("string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString)}constructor(e,t,i,n,s,d=!1){"object"==typeof e?(this.scheme=e.scheme||l,this.authority=e.authority||l,this.path=e.path||l,this.query=e.query||l,this.fragment=e.fragment||l):(this.scheme=function(e,t){return e||t?e:"file"}(e,d),this.authority=t||l,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,i||l),this.query=n||l,this.fragment=s||l,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!o.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!r.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,d))}get fsPath(){return _(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:n,query:s,fragment:o}=e;return void 0===t?t=this.scheme:null===t&&(t=l),void 0===i?i=this.authority:null===i&&(i=l),void 0===n?n=this.path:null===n&&(n=l),void 0===s?s=this.query:null===s&&(s=l),void 0===o?o=this.fragment:null===o&&(o=l),t===this.scheme&&i===this.authority&&n===this.path&&s===this.query&&o===this.fragment?this:new g(t,i,n,s,o)}static parse(e,t=!1){const i=d.exec(e);return i?new g(i[2]||l,w(i[4]||l),w(i[5]||l),w(i[7]||l),w(i[9]||l),t):new g(l,l,l,l,l)}static file(e){let t=l;if(s.uF&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){const i=e.indexOf(h,2);-1===i?(t=e.substring(2),e=h):(t=e.substring(2,i),e=e.substring(i)||h)}return new g("file",t,e,l,l)}static from(e,t){return new g(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return i=s.uF&&"file"===e.scheme?c.file(n.IN.join(_(e,!0),...t)).path:n.SA.join(e.path,...t),e.with({path:i})}toString(e=!1){return v(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof c)return e;{const t=new g(e);return t._formatted=e.external??null,t._fsPath=e._sep===u?e.fsPath??null:null,t}}return e}}const u=s.uF?1:void 0;class g extends c{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=_(this,!1)),this._fsPath}toString(e=!1){return e?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=u),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const p={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function m(e,t,i){let n,s=-1;for(let o=0;o=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r||i&&91===r||i&&93===r||i&&58===r)-1!==s&&(n+=encodeURIComponent(e.substring(s,o)),s=-1),void 0!==n&&(n+=e.charAt(o));else{void 0===n&&(n=e.substr(0,o));const t=p[r];void 0!==t?(-1!==s&&(n+=encodeURIComponent(e.substring(s,o)),s=-1),n+=t):-1===s&&(s=o)}}return-1!==s&&(n+=encodeURIComponent(e.substring(s))),void 0!==n?n:e}function f(e){let t;for(let i=0;i1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,s.uF&&(i=i.replace(/\//g,"\\")),i}function v(e,t){const i=t?f:m;let n="",{scheme:s,authority:o,path:r,query:a,fragment:l}=e;if(s&&(n+=s,n+=":"),(o||"file"===s)&&(n+=h,n+=h),o){let e=o.indexOf("@");if(-1!==e){const t=o.substr(0,e);o=o.substr(e+1),e=t.lastIndexOf(":"),-1===e?n+=i(t,!1,!1):(n+=i(t.substr(0,e),!1,!1),n+=":",n+=i(t.substr(e+1),!1,!0)),n+="@"}o=o.toLowerCase(),e=o.lastIndexOf(":"),-1===e?n+=i(o,!1,!0):(n+=i(o.substr(0,e),!1,!0),n+=o.substr(e))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const e=r.charCodeAt(1);e>=65&&e<=90&&(r=`/${String.fromCharCode(e+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const e=r.charCodeAt(0);e>=65&&e<=90&&(r=`${String.fromCharCode(e+32)}:${r.substr(2)}`)}n+=i(r,!0,!1)}return a&&(n+="?",n+=i(a,!1,!1)),l&&(n+="#",n+=t?l:m(l,!1,!1)),n}function b(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+b(e.substr(3)):e}}const C=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function w(e){return e.match(C)?e.replace(C,(e=>b(e))):e}},45585:(e,t,i)=>{i.r(t),i.d(t,{SimpleWorkerClient:()=>b,SimpleWorkerServer:()=>y,create:()=>S,logOnceWebWorkerWarning:()=>u});var n=i(94327),s=i(2106),o=i(10998),r=i(13072),a=i(63339),l=i(16844);const h="default",d="$initialize";let c=!1;function u(e){a.HZ&&(c||(c=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(e.message))}class g{constructor(e,t,i,n,s){this.vsWorker=e,this.req=t,this.channel=i,this.method=n,this.args=s,this.type=0}}class p{constructor(e,t,i,n){this.vsWorker=e,this.seq=t,this.res=i,this.err=n,this.type=1}}class m{constructor(e,t,i,n,s){this.vsWorker=e,this.req=t,this.channel=i,this.eventName=n,this.arg=s,this.type=2}}class f{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class _{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class v{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,i){const n=String(++this._lastSentReq);return new Promise(((s,o)=>{this._pendingReplies[n]={resolve:s,reject:o},this._send(new g(this._workerId,n,e,t,i))}))}listen(e,t,i){let n=null;const o=new s.vl({onWillAddFirstListener:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,o),this._send(new m(this._workerId,n,e,t,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(n),this._send(new _(this._workerId,n)),n=null}});return o.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}createProxyToRemoteChannel(e,t){const i={get:(i,n)=>("string"!=typeof n||i[n]||(w(n)?i[n]=t=>this.listen(e,n,t):C(n)?i[n]=this.listen(e,n,void 0):36===n.charCodeAt(0)&&(i[n]=async(...i)=>(await(t?.()),this.sendMessage(e,n,i)))),i[n])};return new Proxy(Object.create(null),i)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;return e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),void t.reject(i)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then((e=>{this._send(new p(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=(0,n.cU)(e.detail)),this._send(new p(this._workerId,t,void 0,(0,n.cU)(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.channel,e.eventName,e.arg)((e=>{this._send(new f(this._workerId,t,e))}));this._pendingEvents.set(t,i)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let i=0;i{this._protocol.handleMessage(e)}),(e=>{(0,n.dz)(e)}))),this._protocol=new v({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t,i)=>this._handleMessage(e,t,i),handleEvent:(e,t,i)=>this._handleEvent(e,t,i)}),this._protocol.setWorkerId(this._worker.getId());let i=null;const s=globalThis.require;void 0!==s&&"function"==typeof s.getConfig?i=s.getConfig():void 0!==globalThis.requirejs&&(i=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(h,d,[this._worker.getId(),JSON.parse(JSON.stringify(i)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(h,(async()=>{await this._onModuleLoaded})),this._onModuleLoaded.catch((e=>{this._onError("Worker failed to load "+t.amdModuleId,e)}))}_handleMessage(e,t,i){const n=this._localChannels.get(e);if(!n)return Promise.reject(new Error(`Missing channel ${e} on main thread`));if("function"!=typeof n[t])return Promise.reject(new Error(`Missing method ${t} on main thread channel ${e}`));try{return Promise.resolve(n[t].apply(n,i))}catch(s){return Promise.reject(s)}}_handleEvent(e,t,i){const n=this._localChannels.get(e);if(!n)throw new Error(`Missing channel ${e} on main thread`);if(w(t)){const s=n[t].call(n,i);if("function"!=typeof s)throw new Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return s}if(C(t)){const i=n[t];if("function"!=typeof i)throw new Error(`Missing event ${t} on main thread channel ${e}.`);return i}throw new Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}}function C(e){return"o"===e[0]&&"n"===e[1]&&l.Wv(e.charCodeAt(2))}function w(e){return/^onDynamic/.test(e)&&l.Wv(e.charCodeAt(9))}class y{constructor(e,t){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=t,this._requestHandler=null,this._protocol=new v({sendMessage:(t,i)=>{e(t,i)},handleMessage:(e,t,i)=>this._handleMessage(e,t,i),handleEvent:(e,t,i)=>this._handleEvent(e,t,i)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t,i){if(e===h&&t===d)return this.initialize(i[0],i[1],i[2]);const n=e===h?this._requestHandler:this._localChannels.get(e);if(!n)return Promise.reject(new Error(`Missing channel ${e} on worker thread`));if("function"!=typeof n[t])return Promise.reject(new Error(`Missing method ${t} on worker thread channel ${e}`));try{return Promise.resolve(n[t].apply(n,i))}catch(s){return Promise.reject(s)}}_handleEvent(e,t,i){const n=e===h?this._requestHandler:this._localChannels.get(e);if(!n)throw new Error(`Missing channel ${e} on worker thread`);if(w(t)){const e=n[t].call(n,i);if("function"!=typeof e)throw new Error(`Missing dynamic event ${t} on request handler.`);return e}if(C(t)){const e=n[t];if("function"!=typeof e)throw new Error(`Missing event ${t} on request handler.`);return e}throw new Error(`Malformed event name ${t}`)}getChannel(e){if(!this._remoteChannels.has(e)){const t=this._protocol.createProxyToRemoteChannel(e);this._remoteChannels.set(e,t)}return this._remoteChannels.get(e)}async initialize(e,t,n){if(this._protocol.setWorkerId(e),!this._requestHandlerFactory){t&&(void 0!==t.baseUrl&&delete t.baseUrl,void 0!==t.paths&&void 0!==t.paths.vs&&delete t.paths.vs,void 0!==t.trustedTypesPolicy&&delete t.trustedTypesPolicy,t.catchError=!0,globalThis.require.config(t));{const e=r.zl.asBrowserUri(`${n}.js`).toString(!0);return i(5890)(`${e}`).then((e=>{if(this._requestHandler=e.create(this),!this._requestHandler)throw new Error("No RequestHandler!")}))}}this._requestHandler=this._requestHandlerFactory(this)}}function S(e){return new y(e,null)}},27454:(e,t,i)=>{i.d(t,{V:()=>s,y:()=>o});var n=i(37512);class s{constructor(e){const t=(0,n.W)(e);this._defaultValue=t,this._asciiMap=s._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const i=(0,n.W)(t);e>=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class o{constructor(){this._actual=new s(0)}add(e){this._actual.set(e,1)}has(e){return 1===this._actual.get(e)}clear(){return this._actual.clear()}}},62549:(e,t,i)=>{i.d(t,{A:()=>s});var n=i(16844);class s{static _nextVisibleColumn(e,t,i){return 9===e?s.nextRenderTabStop(t,i):n.ne(e)||n.Ss(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const s=Math.min(t-1,e.length),o=e.substring(0,s),r=new n.km(o);let a=0;for(;!r.eol();){const e=n.Z5(o,s,r.offset);r.nextGraphemeLength(),a=this._nextVisibleColumn(e,a,i)}return a}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const s=e.length,o=new n.km(e);let r=0,a=1;for(;!o.eol();){const l=n.Z5(e,s,o.offset);o.nextGraphemeLength();const h=this._nextVisibleColumn(l,r,i),d=o.offset+1;if(h>=t){return h-t{i.d(t,{A3:()=>N,AQ:()=>V,Am:()=>x,As:()=>E,BD:()=>J,Bo:()=>Z,CM:()=>k,D0:()=>h,Ek:()=>O,H0:()=>L,I2:()=>Y,IW:()=>ee,If:()=>X,JB:()=>T,L0:()=>p,Mf:()=>l,P1:()=>oe,Pe:()=>ne,Qt:()=>f,WD:()=>se,WS:()=>ie,WY:()=>re,Xr:()=>A,aZ:()=>H,bB:()=>te,hz:()=>w,je:()=>u,kG:()=>a,kM:()=>d,l5:()=>j,lQ:()=>U,n4:()=>Q,ob:()=>C,ow:()=>y,s7:()=>G,sC:()=>c,sH:()=>$,sN:()=>z,ss:()=>K,tK:()=>D,tp:()=>I,vP:()=>S,vV:()=>b,vp:()=>W,w4:()=>m,we:()=>g,x9:()=>R,yI:()=>B,yw:()=>P,zp:()=>q});var n=i(87289),s=i(94901),o=i(92551),r=i(89044);const a=(0,o.x1A)("editor.lineHighlightBackground",null,n.kg("lineHighlight","Background color for the highlight of line at the cursor position.")),l=(0,o.x1A)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:o.b1q},n.kg("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),h=((0,o.x1A)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},n.kg("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),(0,o.x1A)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:o.buw,hcLight:o.buw},n.kg("rangeHighlightBorder","Background color of the border around highlighted ranges.")),(0,o.x1A)("editor.symbolHighlightBackground",{dark:o.Ubg,light:o.Ubg,hcDark:null,hcLight:null},n.kg("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),(0,o.x1A)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:o.buw,hcLight:o.buw},n.kg("symbolHighlightBorder","Background color of the border around highlighted symbols.")),(0,o.x1A)("editorCursor.foreground",{dark:"#AEAFAD",light:s.Q1.black,hcDark:s.Q1.white,hcLight:"#0F4A85"},n.kg("caret","Color of the editor cursor."))),d=(0,o.x1A)("editorCursor.background",null,n.kg("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),c=(0,o.x1A)("editorMultiCursor.primary.foreground",h,n.kg("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),u=(0,o.x1A)("editorMultiCursor.primary.background",d,n.kg("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),g=(0,o.x1A)("editorMultiCursor.secondary.foreground",h,n.kg("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),p=(0,o.x1A)("editorMultiCursor.secondary.background",d,n.kg("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),m=(0,o.x1A)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},n.kg("editorWhitespaces","Color of whitespace characters in the editor.")),f=(0,o.x1A)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:s.Q1.white,hcLight:"#292929"},n.kg("editorLineNumbers","Color of editor line numbers.")),_=(0,o.x1A)("editorIndentGuide.background",m,n.kg("editorIndentGuides","Color of the editor indentation guides."),!1,n.kg("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),v=(0,o.x1A)("editorIndentGuide.activeBackground",m,n.kg("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,n.kg("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),b=(0,o.x1A)("editorIndentGuide.background1",_,n.kg("editorIndentGuides1","Color of the editor indentation guides (1).")),C=(0,o.x1A)("editorIndentGuide.background2","#00000000",n.kg("editorIndentGuides2","Color of the editor indentation guides (2).")),w=(0,o.x1A)("editorIndentGuide.background3","#00000000",n.kg("editorIndentGuides3","Color of the editor indentation guides (3).")),y=(0,o.x1A)("editorIndentGuide.background4","#00000000",n.kg("editorIndentGuides4","Color of the editor indentation guides (4).")),S=(0,o.x1A)("editorIndentGuide.background5","#00000000",n.kg("editorIndentGuides5","Color of the editor indentation guides (5).")),k=(0,o.x1A)("editorIndentGuide.background6","#00000000",n.kg("editorIndentGuides6","Color of the editor indentation guides (6).")),L=(0,o.x1A)("editorIndentGuide.activeBackground1",v,n.kg("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),x=(0,o.x1A)("editorIndentGuide.activeBackground2","#00000000",n.kg("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),D=(0,o.x1A)("editorIndentGuide.activeBackground3","#00000000",n.kg("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),N=(0,o.x1A)("editorIndentGuide.activeBackground4","#00000000",n.kg("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),I=(0,o.x1A)("editorIndentGuide.activeBackground5","#00000000",n.kg("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),E=(0,o.x1A)("editorIndentGuide.activeBackground6","#00000000",n.kg("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),M=(0,o.x1A)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:o.buw,hcLight:o.buw},n.kg("editorActiveLineNumber","Color of editor active line number"),!1,n.kg("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),T=((0,o.x1A)("editorLineNumber.activeForeground",M,n.kg("editorActiveLineNumber","Color of editor active line number")),(0,o.x1A)("editorLineNumber.dimmedForeground",null,n.kg("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."))),R=((0,o.x1A)("editorRuler.foreground",{dark:"#5A5A5A",light:s.Q1.lightgrey,hcDark:s.Q1.white,hcLight:"#292929"},n.kg("editorRuler","Color of the editor rulers.")),(0,o.x1A)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},n.kg("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,o.x1A)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},n.kg("editorBracketMatchBackground","Background color behind matching brackets")),(0,o.x1A)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:o.b1q,hcLight:o.b1q},n.kg("editorBracketMatchBorder","Color for matching brackets boxes")),(0,o.x1A)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},n.kg("editorOverviewRulerBorder","Color of the overview ruler border."))),A=(0,o.x1A)("editorOverviewRuler.background",null,n.kg("editorOverviewRulerBackground","Background color of the editor overview ruler.")),P=((0,o.x1A)("editorGutter.background",o.YtV,n.kg("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,o.x1A)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#fff").transparent(.8),hcLight:o.b1q},n.kg("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),(0,o.x1A)("editorUnnecessaryCode.opacity",{dark:s.Q1.fromHex("#000a"),light:s.Q1.fromHex("#0007"),hcDark:null,hcLight:null},n.kg("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out."))),O=((0,o.x1A)("editorGhostText.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#fff").transparent(.8),hcLight:s.Q1.fromHex("#292929").transparent(.8)},n.kg("editorGhostTextBorder","Border color of ghost text in the editor.")),(0,o.x1A)("editorGhostText.foreground",{dark:s.Q1.fromHex("#ffffff56"),light:s.Q1.fromHex("#0007"),hcDark:null,hcLight:null},n.kg("editorGhostTextForeground","Foreground color of the ghost text in the editor."))),F=((0,o.x1A)("editorGhostText.background",null,n.kg("editorGhostTextBackground","Background color of the ghost text in the editor.")),new s.Q1(new s.bU(0,122,204,.6))),W=(0,o.x1A)("editorOverviewRuler.rangeHighlightForeground",F,n.kg("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),B=(0,o.x1A)("editorOverviewRuler.errorForeground",{dark:new s.Q1(new s.bU(255,18,18,.7)),light:new s.Q1(new s.bU(255,18,18,.7)),hcDark:new s.Q1(new s.bU(255,50,50,1)),hcLight:"#B5200D"},n.kg("overviewRuleError","Overview ruler marker color for errors.")),H=(0,o.x1A)("editorOverviewRuler.warningForeground",{dark:o.Hng,light:o.Hng,hcDark:o.Stt,hcLight:o.Stt},n.kg("overviewRuleWarning","Overview ruler marker color for warnings.")),V=(0,o.x1A)("editorOverviewRuler.infoForeground",{dark:o.pOz,light:o.pOz,hcDark:o.IIb,hcLight:o.IIb},n.kg("overviewRuleInfo","Overview ruler marker color for infos.")),z=(0,o.x1A)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},n.kg("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),U=(0,o.x1A)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},n.kg("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),K=(0,o.x1A)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},n.kg("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),j=(0,o.x1A)("editorBracketHighlight.foreground4","#00000000",n.kg("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),$=(0,o.x1A)("editorBracketHighlight.foreground5","#00000000",n.kg("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),q=(0,o.x1A)("editorBracketHighlight.foreground6","#00000000",n.kg("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),G=(0,o.x1A)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new s.Q1(new s.bU(255,18,18,.8)),light:new s.Q1(new s.bU(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},n.kg("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),Q=(0,o.x1A)("editorBracketPairGuide.background1","#00000000",n.kg("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Y=(0,o.x1A)("editorBracketPairGuide.background2","#00000000",n.kg("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Z=(0,o.x1A)("editorBracketPairGuide.background3","#00000000",n.kg("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),X=(0,o.x1A)("editorBracketPairGuide.background4","#00000000",n.kg("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),J=(0,o.x1A)("editorBracketPairGuide.background5","#00000000",n.kg("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),ee=(0,o.x1A)("editorBracketPairGuide.background6","#00000000",n.kg("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),te=(0,o.x1A)("editorBracketPairGuide.activeBackground1","#00000000",n.kg("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),ie=(0,o.x1A)("editorBracketPairGuide.activeBackground2","#00000000",n.kg("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),ne=(0,o.x1A)("editorBracketPairGuide.activeBackground3","#00000000",n.kg("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),se=(0,o.x1A)("editorBracketPairGuide.activeBackground4","#00000000",n.kg("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),oe=(0,o.x1A)("editorBracketPairGuide.activeBackground5","#00000000",n.kg("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),re=(0,o.x1A)("editorBracketPairGuide.activeBackground6","#00000000",n.kg("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));(0,o.x1A)("editorUnicodeHighlight.border",o.Hng,n.kg("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,o.x1A)("editorUnicodeHighlight.background",o.whs,n.kg("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));(0,r.zy)(((e,t)=>{const i=e.getColor(o.YtV),n=e.getColor(a),s=n&&!n.isTransparent()?n:i;s&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${s}; }`)}))},3902:(e,t,i)=>{function n(e){let t=0,i=0,n=0,s=0;for(let o=0,r=e.length;on})},57999:(e,t,i)=>{i.d(t,{P:()=>o});var n=i(16844),s=i(62549);function o(e,t,i){let o=n.HG(e);return-1===o&&(o=e.length),function(e,t,i){let n=0;for(let r=0;r{i.d(t,{M:()=>a,S:()=>l});var n=i(94327),s=i(72532),o=i(28061),r=i(97393);class a{static fromRangeInclusive(e){return new a(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new l(e[0].slice());for(let i=1;it)throw new n.D7(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&et.endLineNumberExclusive>=e.startLineNumber)),i=(0,r.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const i=this._normalizedRanges[t];this._normalizedRanges[t]=i.join(e)}else{const n=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,n)}}contains(e){const t=(0,r.lx)(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=(0,r.lx)(this._normalizedRanges,(t=>t.startLineNumbere.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let i=0,n=0,s=null;for(;i=o.startLineNumber?s=new a(s.startLineNumber,Math.max(s.endLineNumberExclusive,o.endLineNumberExclusive)):(t.push(s),s=o)}return null!==s&&t.push(s),new l(t)}subtractFrom(e){const t=(0,r.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),i=(0,r.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===i)return new l([e]);const n=[];let s=e.startLineNumber;for(let o=t;os&&n.push(new a(s,e.startLineNumber)),s=e.endLineNumberExclusive}return se.toString())).join(", ")}getIntersection(e){const t=[];let i=0,n=0;for(;it.delta(e))))}}},72532:(e,t,i)=>{i.d(t,{L:()=>s,h:()=>o});var n=i(94327);class s{static addRange(e,t){let i=0;for(;it))return new s(e,t)}static ofLength(e){return new s(0,e)}static ofStartAndLength(e,t){return new s(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new n.D7(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new s(this.start+e,this.endExclusive+e)}deltaStart(e){return new s(this.start+e,this.endExclusive)}deltaEnd(e){return new s(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new n.D7(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new n.D7(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString())).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length),0)}}},15365:(e,t,i)=>{i.d(t,{y:()=>n});class n{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new n(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return n.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return n.isBefore(this,e)}static isBefore(e,t){return e.lineNumber{i.d(t,{Q:()=>s});var n=i(15365);class s{constructor(e,t,i,n){e>i||e===i&&t>n?(this.startLineNumber=i,this.startColumn=n,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=n)}isEmpty(){return s.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return s.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<=e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>=e.endColumn))}containsRange(e){return s.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))}strictContainsRange(e){return s.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}plusRange(e){return s.plusRange(this,e)}static plusRange(e,t){let i,n,o,r;return t.startLineNumbere.endLineNumber?(o=t.endLineNumber,r=t.endColumn):t.endLineNumber===e.endLineNumber?(o=t.endLineNumber,r=Math.max(t.endColumn,e.endColumn)):(o=e.endLineNumber,r=e.endColumn),new s(i,n,o,r)}intersectRanges(e){return s.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,r=e.endColumn;const a=t.startLineNumber,l=t.startColumn,h=t.endLineNumber,d=t.endColumn;return ih?(o=h,r=d):o===h&&(r=Math.min(r,d)),i>o||i===o&&n>r?null:new s(i,n,o,r)}equalsRange(e){return s.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return s.getEndPosition(this)}static getEndPosition(e){return new n.y(e.endLineNumber,e.endColumn)}getStartPosition(){return s.getStartPosition(this)}static getStartPosition(e){return new n.y(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new s(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new s(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return s.collapseToStart(this)}static collapseToStart(e){return new s(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return s.collapseToEnd(this)}static collapseToEnd(e){return new s(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new s(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new s(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new s(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}}},93702:(e,t,i)=>{i.d(t,{L:()=>o});var n=i(15365),s=i(28061);class o extends s.Q{constructor(e,t,i,n){super(e,t,i,n),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=n}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return o.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new o(this.startLineNumber,this.startColumn,e,t):new o(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new n.y(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new n.y(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new o(e,t,this.endLineNumber,this.endColumn):new o(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new o(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new o(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new o(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new o(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,n=e.length;i{i.d(t,{Su:()=>c,b7:()=>d,fe:()=>u});var n=i(16844),s=i(63339),o=i(42802);let r,a,l;function h(){return r||(r=new TextDecoder("UTF-16LE")),r}function d(){return l||(l=s.cm()?h():(a||(a=new TextDecoder("UTF-16BE")),a)),l}function c(e,t,i){const n=new Uint16Array(e.buffer,t,i);return i>0&&(65279===n[0]||65534===n[0])?function(e,t,i){const n=[];let s=0;for(let r=0;r=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(let i=0;i{i.d(t,{k:()=>r,x:()=>a});var n=i(42802),s=i(54324);function o(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class r{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,i,n){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=n}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${o(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${o(this.oldText)}")`:`(replace@${this.oldPosition} "${o(this.oldText)}" with "${o(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const s=t.length;n.Sw(e,s,i),i+=4;for(let o=0;o{i.d(t,{CO:()=>g,WR:()=>c,mF:()=>d});var n=i(87110),s=i(94327),o=i(15365),r=i(72532),a=i(58357);class l{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;t(0,n.Xo)(e,((e,t)=>e.range.getEndPosition().isBeforeOrEqual(t.range.getStartPosition())))))}apply(e){let t="",i=new o.y(1,1);for(const s of this.edits){const n=s.range,o=n.getStartPosition(),r=n.getEndPosition(),a=u(i,o);a.isEmpty()||(t+=e.getValueOfRange(a)),t+=s.text,i=r}const n=u(i,e.endPositionExclusive);return n.isEmpty()||(t+=e.getValueOfRange(n)),t}applyToString(e){const t=new p(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,n=0;for(const s of this.edits){const r=a.W.ofText(s.text),l=o.y.lift({lineNumber:s.range.startLineNumber+i,column:s.range.startColumn+(s.range.startLineNumber===t?n:0)}),h=r.createRange(l);e.push(h),i=h.endLineNumber-s.range.endLineNumber,n=h.endColumn-s.range.endColumn,t=s.range.endLineNumber}return e}}class c{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}}function u(e,t){if(e.lineNumber===t.lineNumber&&e.column===Number.MAX_SAFE_INTEGER)return h.Q.fromPositions(t,t);if(!e.isBeforeOrEqual(t))throw new s.D7("start must be before end");return new h.Q(e.lineNumber,e.column,t.lineNumber,t.column)}class g{get endPositionExclusive(){return this.length.addToPosition(new o.y(1,1))}}class p extends g{constructor(e){super(),this.value=e,this._t=new l(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}},58357:(e,t,i)=>{i.d(t,{W:()=>o});var n=i(15365),s=i(28061);class o{static{this.zero=new o(0,0)}static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new o(0,t.column-e.column):new o(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return o.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,i=0;for(const n of e)"\n"===n?(t++,i=0):i++;return new o(t,i)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return 0===this.lineCount?new s.Q(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new s.Q(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new n.y(e.lineNumber,e.column+this.columnCount):new n.y(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}},12590:(e,t,i)=>{i.d(t,{R:()=>n});const n={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}},82862:(e,t,i)=>{i.d(t,{i:()=>a});var n=i(27992),s=i(27454);class o extends s.V{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let i=0,n=e.length;it)break;i=n}return i}findNextIntlWordAtOrAfterOffset(e,t){for(const i of this._getIntlSegmenterWordsOnLine(e))if(!(i.index{i.d(t,{Io:()=>a,J3:()=>o,Ld:()=>r,Th:()=>h});var n=i(17954),s=i(85525);const o="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";const r=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const i of o)e.indexOf(i)>=0||(t+="\\"+i);return t+="\\s]+)",new RegExp(t,"g")}();function a(e){let t=r;if(e&&e instanceof RegExp)if(e.global)t=e;else{let i="g";e.ignoreCase&&(i+="i"),e.multiline&&(i+="m"),e.unicode&&(i+="u"),t=new RegExp(e.source,i)}return t.lastIndex=0,t}const l=new s.w;function h(e,t,i,s,o){if(t=a(t),o||(o=n.f.first(l)),i.length>o.maxLen){let n=e-o.maxLen/2;return n<0?n=0:s+=n,h(e,t,i=i.substring(n,e+o.maxLen/2),s,o)}const r=Date.now(),c=e-1-s;let u=-1,g=null;for(let n=1;!(Date.now()-r>=o.timeBudget);n++){const e=c-o.windowSize*n;t.lastIndex=Math.max(0,e);const s=d(t,i,c,u);if(!s&&g)break;if(g=s,e<=0)break;u=e}if(g){const e={word:g[0],startColumn:s+1+g.index,endColumn:s+1+g.index+g[0].length};return t.lastIndex=0,e}return null}function d(e,t,i,n){let s;for(;s=e.exec(t);){const t=s.index||0;if(t<=i&&e.lastIndex>=i)return s;if(n>0&&t>n)return null}return null}l.unshift({maxLen:1e3,windowSize:15,timeBudget:150})},75090:(e,t,i)=>{i.d(t,{$8:()=>a,SL:()=>r,_3:()=>l,aY:()=>d,uY:()=>h});var n=i(13338),s=i(94327),o=i(72532);class r{static trivial(e,t){return new r([new a(o.L.ofLength(e.length),o.L.ofLength(t.length))],!1)}static trivialTimedOut(e,t){return new r([new a(o.L.ofLength(e.length),o.L.ofLength(t.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}}class a{static invert(e,t){const i=[];return(0,n.pN)(e,((e,n)=>{i.push(a.fromOffsetPairs(e?e.getEndExclusives():l.zero,n?n.getStarts():new l(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),i}static fromOffsetPairs(e,t){return new a(new o.L(e.offset1,t.offset1),new o.L(e.offset2,t.offset2))}static assertSorted(e){let t;for(const i of e){if(t&&!(t.seq1Range.endExclusive<=i.seq1Range.start&&t.seq2Range.endExclusive<=i.seq2Range.start))throw new s.D7("Sequence diffs must be sorted");t=i}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new a(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new a(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new a(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new a(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new a(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(t&&i)return new a(t,i)}getStarts(){return new l(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new l(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class l{static{this.zero=new l(0,0)}static{this.max=new l(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new l(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}class h{static{this.instance=new h}isValid(){return!0}}class d{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new s.D7("timeout must be positive")}isValid(){return!(Date.now()-this.startTime{i.d(t,{D8:()=>T});var n=i(13338),s=i(87110),o=i(79955),r=i(72532),a=i(28061),l=i(75090);class h{constructor(e,t){this.width=e,this.height=t,this.array=[],this.array=new Array(e*t)}get(e,t){return this.array[e+t*this.width]}set(e,t,i){this.array[e+t*this.width]=i}}function d(e){return 32===e||9===e}class c{static{this.chrKeys=new Map}static getKey(e){let t=this.chrKeys.get(e);return void 0===t&&(t=this.chrKeys.size,this.chrKeys.set(e,t)),t}constructor(e,t,i){this.range=e,this.lines=t,this.source=i,this.histogram=[];let n=0;for(let s=e.startLineNumber-1;s0&&h>0&&3===o.get(r-1,h-1)&&(u+=a.get(r-1,h-1)),u+=n?n(r,h):1):u=-1;const g=Math.max(d,c,u);if(g===u){const e=r>0&&h>0?a.get(r-1,h-1):0;a.set(r,h,e+1),o.set(r,h,3)}else g===d?(a.set(r,h,0),o.set(r,h,1)):g===c&&(a.set(r,h,0),o.set(r,h,2));s.set(r,h,g)}const d=[];let c=e.length,u=t.length;function g(e,t){e+1===c&&t+1===u||d.push(new l.$8(new r.L(e+1,c),new r.L(t+1,u))),c=e,u=t}let p=e.length-1,m=t.length-1;for(;p>=0&&m>=0;)3===o.get(p,m)?(g(p,m),p--,m--):1===o.get(p,m)?p--:m--;return g(-1,-1),d.reverse(),new l.SL(d,!1)}}class g{compute(e,t,i=l.uY.instance){if(0===e.length||0===t.length)return l.SL.trivial(e,t);const n=e,s=t;function o(e,t){for(;en.length||u>s.length)continue;const g=o(l,u);h.set(c,g);const m=l===r?d.get(c+1):d.get(c-1);if(d.set(c,g!==l?new p(m,l,u,g-l):m),h.get(c)===n.length&&h.get(c)-c===s.length)break e}}let u=d.get(c);const g=[];let _=n.length,v=s.length;for(;;){const e=u?u.x+u.length:0,t=u?u.y+u.length:0;if(e===_&&t===v||g.push(new l.$8(new r.L(e,_),new r.L(t,v))),!u)break;_=u.x,v=u.y,u=u.prev}return g.reverse(),new l.SL(g,!1)}}class p{constructor(e,t,i,n){this.prev=e,this.x=t,this.y=i,this.length=n}}class m{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class f{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}var _=i(39331),v=i(97393),b=i(27992),C=i(15365);class w{constructor(e,t,i){this.lines=e,this.range=t,this.considerWhitespaceChanges=i,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let n=this.range.startLineNumber;n<=this.range.endLineNumber;n++){let t=e[n-1],s=0;n===this.range.startLineNumber&&this.range.startColumn>1&&(s=this.range.startColumn-1,t=t.substring(s)),this.lineStartOffsets.push(s);let o=0;if(!i){const e=t.trimStart();o=t.length-e.length,t=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(o);const r=n===this.range.endLineNumber?Math.min(this.range.endColumn-1-s-o,t.length):t.length;for(let e=0;eString.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=L(e>0?this.elements[e-1]:-1),i=L(et<=e)),n=e-this.firstElementOffsetByLineIdx[i];return new C.y(this.range.startLineNumber+i,1+this.lineStartOffsets[i]+n+(0===n&&"left"===t?0:this.trimmedWsLengthsByLineIdx[i]))}translateRange(e){const t=this.translateOffset(e.start,"right"),i=this.translateOffset(e.endExclusive,"left");return i.isBefore(t)?a.Q.fromPositions(i,i):a.Q.fromPositions(t,i)}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!y(this.elements[e]))return;let t=e;for(;t>0&&y(this.elements[t-1]);)t--;let i=e;for(;it<=e.start))??0,i=(0,v.XP)(this.firstElementOffsetByLineIdx,(t=>e.endExclusive<=t))??this.elements.length;return new r.L(t,i)}}function y(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const S={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function k(e){return S[e]}function L(e){return 10===e?8:13===e?7:d(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function x(e,t,i,s,r,a){let{moves:l,excludedChanges:h}=function(e,t,i,n){const s=[],o=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new c(e.original,t,e))),r=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new c(e.modified,i,e)))),a=new Set;for(const l of o){let e,t=-1;for(const i of r){const n=l.computeSimilarity(i);n>t&&(t=n,e=i)}if(t>.9&&e&&(r.delete(e),s.push(new _.WL(l.range,e.range)),a.add(l.source),a.add(e.source)),!n.isValid())return{moves:s,excludedChanges:a}}return{moves:s,excludedChanges:a}}(e,t,i,a);if(!a.isValid())return[];const d=function(e,t,i,s,r,a){const l=[],h=new b.db;for(const n of e)for(let e=n.original.startLineNumber;ee.modified.startLineNumber),n.U9));for(const n of e){let e=[];for(let t=n.modified.startLineNumber;t{for(const n of e)if(n.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&n.modifiedLineRange.endLineNumberExclusive+1===s.endLineNumberExclusive)return n.originalLineRange=new o.M(n.originalLineRange.startLineNumber,t.endLineNumberExclusive),n.modifiedLineRange=new o.M(n.modifiedLineRange.startLineNumber,s.endLineNumberExclusive),void r.push(n);const i={modifiedLineRange:s,originalLineRange:t};d.push(i),r.push(i)})),e=r}if(!a.isValid())return[]}d.sort((0,n.Hw)((0,n.VE)((e=>e.modifiedLineRange.length),n.U9)));const c=new o.S,u=new o.S;for(const n of d){const e=n.modifiedLineRange.startLineNumber-n.originalLineRange.startLineNumber,t=c.subtractFrom(n.modifiedLineRange),i=u.subtractFrom(n.originalLineRange).getWithDelta(e),s=t.getIntersection(i);for(const n of s.ranges){if(n.length<3)continue;const t=n,i=n.delta(-e);l.push(new _.WL(i,t)),c.addRange(t),u.addRange(i)}}l.sort((0,n.VE)((e=>e.original.startLineNumber),n.U9));const g=new v.vJ(e);for(let n=0;ne.original.startLineNumber<=t.original.startLineNumber)),h=(0,v.lx)(e,(e=>e.modified.startLineNumber<=t.modified.startLineNumber)),d=Math.max(t.original.startLineNumber-i.original.startLineNumber,t.modified.startLineNumber-h.modified.startLineNumber),p=g.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumbers.length||i>r.length)break;if(c.contains(i)||u.contains(e))break;if(!D(s[e-1],r[i-1],a))break}for(b>0&&(u.addRange(new o.M(t.original.startLineNumber-b,t.original.startLineNumber)),c.addRange(new o.M(t.modified.startLineNumber-b,t.modified.startLineNumber))),C=0;Cs.length||i>r.length)break;if(c.contains(i)||u.contains(e))break;if(!D(s[e-1],r[i-1],a))break}C>0&&(u.addRange(new o.M(t.original.endLineNumberExclusive,t.original.endLineNumberExclusive+C)),c.addRange(new o.M(t.modified.endLineNumberExclusive,t.modified.endLineNumberExclusive+C))),(b>0||C>0)&&(l[n]=new _.WL(new o.M(t.original.startLineNumber-b,t.original.endLineNumberExclusive+C),new o.M(t.modified.startLineNumber-b,t.modified.endLineNumberExclusive+C)))}return l}(e.filter((e=>!h.has(e))),s,r,t,i,a);return(0,n.E4)(l,d),l=function(e){if(0===e.length)return e;e.sort((0,n.VE)((e=>e.original.startLineNumber),n.U9));const t=[e[0]];for(let i=1;i=0&&r>=0&&o+r<=2?t[t.length-1]=n.join(s):t.push(s)}return t}(l),l=l.filter((e=>{const i=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return i.join("\n").length>=15&&function(e,t){let i=0;for(const n of e)t(n)&&i++;return i}(i,(e=>e.length>=2))>=2})),l=function(e,t){const i=new v.vJ(e);return t=t.filter((t=>(i.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumber300&&t.length>300)return!1;const n=(new g).compute(new w([e],new a.Q(1,1,1,e.length),!1),new w([t],new a.Q(1,1,1,t.length),!1),i);let s=0;const o=l.$8.invert(n.diffs,e.length);for(const a of o)a.seq1Range.forEach((t=>{d(e.charCodeAt(t))||s++}));const r=function(t){let i=0;for(let n=0;nt.length?e:t);return s/r>.6&&r>10}var N=i(52542);class I{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:E(this.lines[e-1]))+(e===this.lines.length?0:E(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function E(e){let t=0;for(;te===t)))return new M.p([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new M.p([new _.wm(new o.M(1,e.length+1),new o.M(1,t.length+1),[new _.q6(new a.Q(1,1,e.length,e[e.length-1].length+1),new a.Q(1,1,t.length,t[t.length-1].length+1))])],[],!1);const h=0===i.maxComputationTimeMs?l.uY.instance:new l.aY(i.maxComputationTimeMs),d=!i.ignoreTrimWhitespace,c=new Map;function u(e){let t=c.get(e);return void 0===t&&(t=c.size,c.set(e,t)),t}const g=e.map((e=>u(e.trim()))),p=t.map((e=>u(e.trim()))),m=new I(g,e),f=new I(p,t),v=(()=>m.length+f.length<1700?this.dynamicProgrammingDiffing.compute(m,f,h,((i,n)=>e[i]===t[n]?0===t[n].length?.1:1+Math.log(1+t[n].length):.99)):this.myersDiffingAlgorithm.compute(m,f,h))();let b=v.diffs,C=v.hitTimeout;b=(0,N.NC)(m,f,b),b=(0,N.X5)(m,f,b);const w=[],y=i=>{if(d)for(let n=0;nn.seq1Range.start-S==n.seq2Range.start-k));y(n.seq1Range.start-S),S=n.seq1Range.endExclusive,k=n.seq2Range.endExclusive;const i=this.refineDiff(e,t,n,h,d);i.hitTimeout&&(C=!0);for(const e of i.mappings)w.push(e)}y(e.length-S);const L=R(w,e,t);let x=[];return i.computeMoves&&(x=this.computeMoves(L,e,t,g,p,h,d)),(0,s.Ft)((()=>{function i(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const i=t[e.lineNumber-1];return!(e.column<1||e.column>i.length+1)}function n(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1)&&!(e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const s of L){if(!s.innerChanges)return!1;for(const n of s.innerChanges){if(!(i(n.modifiedRange.getStartPosition(),t)&&i(n.modifiedRange.getEndPosition(),t)&&i(n.originalRange.getStartPosition(),e)&&i(n.originalRange.getEndPosition(),e)))return!1}if(!n(s.modified,t)||!n(s.original,e))return!1}return!0})),new M.p(L,x,C)}computeMoves(e,t,i,n,s,o,r){return x(e,t,i,n,s,o).map((e=>{const n=R(this.refineDiff(t,i,new l.$8(e.original.toOffsetRange(),e.modified.toOffsetRange()),o,r).mappings,t,i,!0);return new M.t(e,n)}))}refineDiff(e,t,i,n,s){var r;const a=(r=i,new _.WL(new o.M(r.seq1Range.start+1,r.seq1Range.endExclusive+1),new o.M(r.seq2Range.start+1,r.seq2Range.endExclusive+1))).toRangeMapping2(e,t),l=new w(e,a.originalRange,s),h=new w(t,a.modifiedRange,s),d=l.length+h.length<500?this.dynamicProgrammingDiffing.compute(l,h,n):this.myersDiffingAlgorithm.compute(l,h,n),c=!1;let u=d.diffs;u=(0,N.NC)(l,h,u),u=(0,N.Lk)(l,h,u),u=(0,N.sq)(l,h,u),u=(0,N.Rl)(l,h,u);const g=u.map((e=>new _.q6(l.translateRange(e.seq1Range),h.translateRange(e.seq2Range))));return{mappings:g,hitTimeout:d.hitTimeout}}}function R(e,t,i,r=!1){const a=[];for(const s of(0,n.n)(e.map((e=>function(e,t,i){let n=0,s=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+n<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+n<=e.modifiedRange.endLineNumber&&(s=-1);e.modifiedRange.startColumn-1>=i[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+s&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+s&&(n=1);const r=new o.M(e.originalRange.startLineNumber+n,e.originalRange.endLineNumber+1+s),a=new o.M(e.modifiedRange.startLineNumber+n,e.modifiedRange.endLineNumber+1+s);return new _.wm(r,a,[e])}(e,t,i))),((e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified)))){const e=s[0],t=s[s.length-1];a.push(new _.wm(e.original.join(t.original),e.modified.join(t.modified),s.map((e=>e.innerChanges[0]))))}return(0,s.Ft)((()=>{if(!r&&a.length>0){if(a[0].modified.startLineNumber!==a[0].original.startLineNumber)return!1;if(i.length-a[a.length-1].modified.endLineNumberExclusive!=t.length-a[a.length-1].original.endLineNumberExclusive)return!1}return(0,s.Xo)(a,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive{i.d(t,{Lk:()=>d,NC:()=>r,Rl:()=>u,X5:()=>c,sq:()=>h});var n=i(13338),s=i(72532),o=i(75090);function r(e,t,i){let n=i;return n=a(e,t,n),n=a(e,t,n),n=function(e,t,i){if(!e.getBoundaryScore||!t.getBoundaryScore)return i;for(let n=0;n0?i[n-1]:void 0,r=i[n],a=n+10&&(l=l.delta(h))}r.push(l)}return n.length>0&&r.push(n[n.length-1]),r}function l(e,t,i,n,s){let o=1;for(;e.seq1Range.start-o>=n.start&&e.seq2Range.start-o>=s.start&&i.isStronglyEqual(e.seq2Range.start-o,e.seq2Range.endExclusive-o)&&o<100;)o++;o--;let r=0;for(;e.seq1Range.start+rl&&(l=r,a=h)}return e.delta(a)}function h(e,t,i){const n=[];for(const s of i){const e=n[n.length-1];e?s.seq1Range.start-e.seq1Range.endExclusive<=2||s.seq2Range.start-e.seq2Range.endExclusive<=2?n[n.length-1]=new o.$8(e.seq1Range.join(s.seq1Range),e.seq2Range.join(s.seq2Range)):n.push(s):n.push(s)}return n}function d(e,t,i){const n=o.$8.invert(i,e.length),s=[];let r=new o._3(0,0);function a(i,a){if(i.offset10;){const i=n[0];if(!(i.seq1Range.intersects(d.seq1Range)||i.seq2Range.intersects(d.seq2Range)))break;const s=e.findWordContaining(i.seq1Range.start),r=t.findWordContaining(i.seq2Range.start),a=new o.$8(s,r),l=a.intersect(i);if(u+=l.seq1Range.length,g+=l.seq2Range.length,d=d.join(a),!(d.seq1Range.endExclusive>=i.seq1Range.endExclusive))break;n.shift()}u+g<2*(d.seq1Range.length+d.seq2Range.length)/3&&s.push(d),r=d.getEndExclusives()}for(;n.length>0;){const e=n.shift();e.seq1Range.isEmpty||(a(e.getStarts(),e),a(e.getEndExclusives().delta(-1),e))}return function(e,t){const i=[];for(;e.length>0||t.length>0;){const n=e[0],s=t[0];let o;o=n&&(!s||n.seq1Range.start0&&i[i.length-1].seq1Range.endExclusive>=o.seq1Range.start?i[i.length-1]=i[i.length-1].join(o):i.push(o)}return i}(i,s)}function c(e,t,i){let n=i;if(0===n.length)return n;let o,r=0;do{o=!1;const a=[n[0]];for(let l=1;l5||i.seq1Range.length+i.seq2Range.length>5)}c(d,h)?(o=!0,a[a.length-1]=a[a.length-1].join(h)):a.push(h)}n=a}while(r++<10&&o);return n}function u(e,t,i){let r=i;if(0===r.length)return r;let a,l=0;do{a=!1;const d=[r[0]];for(let c=1;c5||o.length>500)return!1;const r=e.getText(o).trim();if(r.length>20||r.split(/\r\n|\r|\n/).length>1)return!1;const a=e.countLinesIn(i.seq1Range),l=i.seq1Range.length,h=t.countLinesIn(i.seq2Range),d=i.seq2Range.length,c=e.countLinesIn(n.seq1Range),p=n.seq1Range.length,m=t.countLinesIn(n.seq2Range),f=n.seq2Range.length;function _(e){return Math.min(e,130)}return Math.pow(Math.pow(_(40*a+l),1.5)+Math.pow(_(40*h+d),1.5),1.5)+Math.pow(Math.pow(_(40*c+p),1.5)+Math.pow(_(40*m+f),1.5),1.5)>74184.96480721243}p(g,u)?(a=!0,d[d.length-1]=d[d.length-1].join(u)):d.push(u)}r=d}while(l++<10&&a);const h=[];return(0,n.kj)(r,((t,i,n)=>{let r=i;function a(e){return e.length>0&&e.trim().length<=3&&i.seq1Range.length+i.seq2Range.length>100}const l=e.extendToFullLines(i.seq1Range),d=e.getText(new s.L(l.start,i.seq1Range.start));a(d)&&(r=r.deltaStart(-d.length));const c=e.getText(new s.L(i.seq1Range.endExclusive,l.endExclusive));a(c)&&(r=r.deltaEnd(c.length));const u=o.$8.fromOffsetPairs(t?t.getEndExclusives():o._3.zero,n?n.getStarts():o._3.max),g=r.intersect(u);h.length>0&&g.getStarts().equals(h[h.length-1].getEndExclusives())?h[h.length-1]=h[h.length-1].join(g):h.push(g)})),h}},23837:(e,t,i)=>{i.d(t,{p:()=>n,t:()=>s});class n{constructor(e,t,i){this.changes=e,this.moves=t,this.hitTimeout=i}}class s{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}},39331:(e,t,i)=>{i.d(t,{WL:()=>l,q6:()=>u,wm:()=>c});var n=i(94327),s=i(79955),o=i(15365),r=i(28061),a=i(6292);class l{static inverse(e,t,i){const n=[];let o=1,r=1;for(const h of e){const e=new l(new s.M(o,h.original.startLineNumber),new s.M(r,h.modified.startLineNumber));e.modified.isEmpty||n.push(e),o=h.original.endLineNumberExclusive,r=h.modified.endLineNumberExclusive}const a=new l(new s.M(o,t+1),new s.M(r,i+1));return a.modified.isEmpty||n.push(a),n}static clip(e,t,i){const n=[];for(const s of e){const e=s.original.intersect(t),o=s.modified.intersect(i);e&&!e.isEmpty&&o&&!o.isEmpty&&n.push(new l(e,o))}return n}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new l(this.modified,this.original)}join(e){return new l(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new u(e,t);if(1===this.original.startLineNumber||1===this.modified.startLineNumber){if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new n.D7("not a valid diff");return new u(new r.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new r.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}return new u(new r.Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new r.Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(d(this.original.endLineNumberExclusive,e)&&d(this.modified.endLineNumberExclusive,t))return new u(new r.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new r.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new u(r.Q.fromPositions(new o.y(this.original.startLineNumber,1),h(new o.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),r.Q.fromPositions(new o.y(this.modified.startLineNumber,1),h(new o.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new u(r.Q.fromPositions(h(new o.y(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),h(new o.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),r.Q.fromPositions(h(new o.y(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),h(new o.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new n.D7}}function h(e,t){if(e.lineNumber<1)return new o.y(1,1);if(e.lineNumber>t.length)return new o.y(t.length,t[t.length-1].length+1);const i=t[e.lineNumber-1];return e.column>i.length+1?new o.y(e.lineNumber,i.length+1):e}function d(e,t){return e>=1&&e<=t.length}class c extends l{static fromRangeMappings(e){const t=s.M.join(e.map((e=>s.M.fromRangeInclusive(e.originalRange)))),i=s.M.join(e.map((e=>s.M.fromRangeInclusive(e.modifiedRange))));return new c(t,i,e)}constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){return new c(this.modified,this.original,this.innerChanges?.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new c(this.original,this.modified,[this.toRangeMapping()])}}class u{static assertSorted(e){for(let t=1;t${this.modifiedRange.toString()}}`}flip(){return new u(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new a.WR(this.originalRange,t)}}},15910:(e,t,i)=>{i.d(t,{x:()=>n});class n{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const i=this.getFontStyle(e);return 1&i&&(t+=" mtki"),2&i&&(t+=" mtkb"),4&i&&(t+=" mtku"),8&i&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),n=this.getFontStyle(e);let s=`color: ${t[i]};`;1&n&&(s+="font-style: italic;"),2&n&&(s+="font-weight: bold;");let o="";return 4&n&&(o+=" underline"),8&n&&(o+=" line-through"),o&&(s+=`text-decoration:${o};`),s}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&i),bold:Boolean(2&i),underline:Boolean(4&i),strikethrough:Boolean(8&i)}}}},74403:(e,t,i)=>{i.d(t,{f:()=>o});var n=i(83958),s=i(18019);function o(e,t,i,r,a,l){if(Array.isArray(e)){let n=0;for(const s of e){const e=o(s,t,i,r,a,l);if(10===e)return e;e>n&&(n=e)}return n}if("string"==typeof e)return r?"*"===e?5:e===i?10:0:0;if(e){const{language:o,pattern:h,scheme:d,hasAccessToAllModels:c,notebookType:u}=e;if(!r&&!c)return 0;u&&a&&(t=a);let g=0;if(d)if(d===t.scheme)g=10;else{if("*"!==d)return 0;g=5}if(o)if(o===i)g=10;else{if("*"!==o)return 0;g=Math.max(g,5)}if(u)if(u===l)g=10;else{if("*"!==u||void 0===l)return 0;g=Math.max(g,5)}if(h){let e;if(e="string"==typeof h?h:{...h,base:(0,s.S8)(h.base)},e!==t.fsPath&&!(0,n.YW)(e,t.fsPath))return 0;g=10}return g}return 0}},29694:(e,t,i)=>{i.d(t,{uB:()=>D,HC:()=>c,Kb:()=>m,FX:()=>g,rY:()=>b,lO:()=>I,M$:()=>d,r4:()=>N,qw:()=>u,sm:()=>R,v_:()=>E,OV:()=>L,YT:()=>x,GE:()=>C,WA:()=>p,gP:()=>k,ou:()=>_,dG:()=>M,$M:()=>v,OB:()=>T,PK:()=>S,Iu:()=>w});var n=i(2181),s=i(37264),o=i(28061),r=i(2106),a=i(10998);class l{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new r.vl,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),(0,a.s)((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){this._factories.get(e)?.dispose();const i=new h(this,e,t);return this._factories.set(e,i),(0,a.s)((()=>{const t=this._factories.get(e);t&&t===i&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}class h extends a.jG{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}var d,c,u,g,p,m,f=i(87289);class _{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class v{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class b{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}!function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(d||(d={})),function(e){const t=new Map;t.set(0,n.W.symbolMethod),t.set(1,n.W.symbolFunction),t.set(2,n.W.symbolConstructor),t.set(3,n.W.symbolField),t.set(4,n.W.symbolVariable),t.set(5,n.W.symbolClass),t.set(6,n.W.symbolStruct),t.set(7,n.W.symbolInterface),t.set(8,n.W.symbolModule),t.set(9,n.W.symbolProperty),t.set(10,n.W.symbolEvent),t.set(11,n.W.symbolOperator),t.set(12,n.W.symbolUnit),t.set(13,n.W.symbolValue),t.set(15,n.W.symbolEnum),t.set(14,n.W.symbolConstant),t.set(15,n.W.symbolEnum),t.set(16,n.W.symbolEnumMember),t.set(17,n.W.symbolKeyword),t.set(27,n.W.symbolSnippet),t.set(18,n.W.symbolText),t.set(19,n.W.symbolColor),t.set(20,n.W.symbolFile),t.set(21,n.W.symbolReference),t.set(22,n.W.symbolCustomColor),t.set(23,n.W.symbolFolder),t.set(24,n.W.symbolTypeParameter),t.set(25,n.W.account),t.set(26,n.W.issues),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for CompletionItemKind "+e),i=n.W.symbolProperty),i};const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26),e.fromString=function(e,t){let n=i.get(e);return void 0!==n||t||(n=9),n}}(c||(c={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(u||(u={}));class C{constructor(e,t,i,n){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=n}equals(e){return o.Q.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}function w(e){return e&&s.r.isUri(e.uri)&&o.Q.isIRange(e.range)&&(o.Q.isIRange(e.originSelectionRange)||o.Q.isIRange(e.targetSelectionRange))}!function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(g||(g={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(p||(p={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(m||(m={}));const y={17:(0,f.kg)("Array","array"),16:(0,f.kg)("Boolean","boolean"),4:(0,f.kg)("Class","class"),13:(0,f.kg)("Constant","constant"),8:(0,f.kg)("Constructor","constructor"),9:(0,f.kg)("Enum","enumeration"),21:(0,f.kg)("EnumMember","enumeration member"),23:(0,f.kg)("Event","event"),7:(0,f.kg)("Field","field"),0:(0,f.kg)("File","file"),11:(0,f.kg)("Function","function"),10:(0,f.kg)("Interface","interface"),19:(0,f.kg)("Key","key"),5:(0,f.kg)("Method","method"),1:(0,f.kg)("Module","module"),2:(0,f.kg)("Namespace","namespace"),20:(0,f.kg)("Null","null"),15:(0,f.kg)("Number","number"),18:(0,f.kg)("Object","object"),24:(0,f.kg)("Operator","operator"),3:(0,f.kg)("Package","package"),6:(0,f.kg)("Property","property"),14:(0,f.kg)("String","string"),22:(0,f.kg)("Struct","struct"),25:(0,f.kg)("TypeParameter","type parameter"),12:(0,f.kg)("Variable","variable")};function S(e,t){return(0,f.kg)("symbolAriaLabel","{0} ({1})",e,y[t])}var k,L,x,D,N;!function(e){const t=new Map;t.set(0,n.W.symbolFile),t.set(1,n.W.symbolModule),t.set(2,n.W.symbolNamespace),t.set(3,n.W.symbolPackage),t.set(4,n.W.symbolClass),t.set(5,n.W.symbolMethod),t.set(6,n.W.symbolProperty),t.set(7,n.W.symbolField),t.set(8,n.W.symbolConstructor),t.set(9,n.W.symbolEnum),t.set(10,n.W.symbolInterface),t.set(11,n.W.symbolFunction),t.set(12,n.W.symbolVariable),t.set(13,n.W.symbolConstant),t.set(14,n.W.symbolString),t.set(15,n.W.symbolNumber),t.set(16,n.W.symbolBoolean),t.set(17,n.W.symbolArray),t.set(18,n.W.symbolObject),t.set(19,n.W.symbolKey),t.set(20,n.W.symbolNull),t.set(21,n.W.symbolEnumMember),t.set(22,n.W.symbolStruct),t.set(23,n.W.symbolEvent),t.set(24,n.W.symbolOperator),t.set(25,n.W.symbolTypeParameter),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for SymbolKind "+e),i=n.W.symbolProperty),i}}(k||(k={}));class I{static{this.Comment=new I("comment")}static{this.Imports=new I("imports")}static{this.Region=new I("region")}static fromValue(e){switch(e){case"comment":return I.Comment;case"imports":return I.Imports;case"region":return I.Region}return new I(e)}constructor(e){this.value=e}}!function(e){e[e.AIGenerated=1]="AIGenerated"}(L||(L={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(x||(x={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&("string"==typeof e.id&&"string"==typeof e.title)}}(D||(D={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(N||(N={}));class E{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then((e=>{e&&e.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const M=new l,T=new l;var R;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(R||(R={}))},77922:(e,t,i)=>{i.d(t,{L:()=>n});const n=(0,i(82399).u1)("languageService")},49550:(e,t,i)=>{var n;i.d(t,{GB:()=>o,i3:()=>s,l:()=>n}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(n||(n={}));class s{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t{i.d(t,{JZ:()=>M,Cw:()=>P});var n=i(2106),s=i(10998),o=i(16844),r=i(18782),a=i(49550);class l{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t"}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t"}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new a.i3(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new a.i3({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new a.i3({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:l.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:l.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}var h=i(13338),d=i(19184),c=i(1804);class u{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const t=i.charAt(i.length-1);e.push(t)}return(0,h.dM)(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const n=t.findTokenIndexAtOffset(i-1);if((0,d.Yo)(t.getStandardTokenType(n)))return null;const s=this._richEditBrackets.reversedRegex,o=t.getLineContent().substring(0,i-1)+e,r=c.Fu.findPrevBracketInRange(s,1,o,0,o.length);if(!r)return null;const a=o.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const l=t.getActualLineContentBefore(r.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function g(e){return e.global&&(e.lastIndex=0),!0}class p{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&g(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&g(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&g(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&g(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}var m=i(94327);class f{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=f._createOpenBracketRegExp(e[0]),i=f._createCloseBracketRegExp(e[1]);t&&i&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:i})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,n){if(e>=3)for(let s=0,o=this._regExpRules.length;s!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return e.action}if(e>=2&&i.length>0&&n.length>0)for(let s=0,o=this._brackets.length;s=2&&i.length>0)for(let s=0,o=this._brackets.length;s{const t=new Set;return{info:new x(this,e,t),closing:t}})),s=new y.VV((e=>{const t=new Set,i=new Set;return{info:new D(this,e,t,i),opening:t,openingColorized:i}}));for(const[r,a]of i){const e=n.get(r),t=s.get(a);e.closing.add(t.info),t.opening.add(e.info)}const o=t.colorizedBracketPairs?k(t.colorizedBracketPairs):i.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[r,a]of o){const e=n.get(r),t=s.get(a);e.closing.add(t.info),t.openingColorized.add(e.info),t.opening.add(e.info)}this._openingBrackets=new Map([...n.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...s.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){const t=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return(0,c.xb)(t,e)}}function k(e){return e.filter((([e,t])=>""!==e&&""!==t))}class L{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class x extends L{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class D extends L{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var N=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},I=function(e,t){return function(i,n){t(i,n,e)}};class E{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const M=(0,_.u1)("languageConfigurationService");let T=class extends s.jG{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new H),this.onDidChangeEmitter=this._register(new n.vl),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(R));this._register(this.configurationService.onDidChangeConfiguration((e=>{const t=e.change.keys.some((e=>i.has(e))),n=e.change.overrides.filter((([e,t])=>t.some((e=>i.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new E(void 0));else for(const i of n)this.languageService.isRegisteredLanguageId(i)&&(this.configurations.delete(i),this.onDidChangeEmitter.fire(new E(i)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new E(e.languageId))})))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,i,n){let s=t.getLanguageConfiguration(e);if(!s){if(!n.isRegisteredLanguageId(e))return new V(e,{});s=new V(e,{})}const o=function(e,t){const i=t.getValue(R.brackets,{overrideIdentifier:e}),n=t.getValue(R.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:A(i),colorizedBracketPairs:A(n)}}(s.languageId,i),r=F([s.underlyingConfig,o]);return new V(s.languageId,r)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};T=N([I(0,v.pG),I(1,b.L)],T);const R={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function A(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}function P(e,t,i){const n=e.getLineContent(t);let s=o.UU(n);return s.length>i-1&&(s=s.substring(0,i-1)),s}class O{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new W(e,t,++this._order);return this._entries.push(i),this._resolved=null,(0,s.s)((()=>{for(let e=0;ee.configuration))))}}function F(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const i of e)t={comments:i.comments||t.comments,brackets:i.brackets||t.brackets,wordPattern:i.wordPattern||t.wordPattern,indentationRules:i.indentationRules||t.indentationRules,onEnterRules:i.onEnterRules||t.onEnterRules,autoClosingPairs:i.autoClosingPairs||t.autoClosingPairs,surroundingPairs:i.surroundingPairs||t.surroundingPairs,autoCloseBefore:i.autoCloseBefore||t.autoCloseBefore,folding:i.folding||t.folding,colorizedBracketPairs:i.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:i.__electricCharacterSupport||t.__electricCharacterSupport};return t}class W{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class B{constructor(e){this.languageId=e}}class H extends s.jG{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new n.vl),this.onDidChange=this._onDidChange.event,this._register(this.register(w.vH,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let n=this._entries.get(e);n||(n=new O(e),this._entries.set(e,n));const o=n.register(t,i);return this._onDidChange.fire(new B(e)),(0,s.s)((()=>{o.dispose(),this._onDidChange.fire(new B(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class V{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new f(this.underlyingConfig):null,this.comments=V._handleComments(this.underlyingConfig),this.characterPair=new l(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||r.Ld,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new p(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new S(e,this.underlyingConfig)}getWordDefinition(){return(0,r.Io)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new c.az(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new u(this.brackets)),this._electricCharacter}onEnter(e,t,i,n){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,n):null}getAutoClosingPairs(){return new a.GB(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[e,n]=t.blockComment;i.blockCommentStartToken=e,i.blockCommentEndToken=n}return i}}(0,C.v)(M,T,1)},54957:(e,t,i)=>{i.d(t,{W6:()=>l,vH:()=>h});var n=i(87289),s=i(2106),o=i(67167),r=i(53720),a=i(27142);const l=new class{constructor(){this._onDidChangeLanguages=new s.vl,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{i.d(t,{$H:()=>o,Lh:()=>r,r3:()=>s});var n=i(29694);const s=new class{clone(){return this}equals(e){return this===e}};function o(e,t){return new n.$M([new n.ou(0,"",e)],t)}function r(e,t){const i=new Uint32Array(2);return i[0]=0,i[1]=(32768|e|2<<24)>>>0,new n.rY(i,null===t?s:t)}},19184:(e,t,i)=>{function n(e,t){const i=e.getCount(),n=e.findTokenIndexAtOffset(t),o=e.getLanguageId(n);let r=n;for(;r+10&&e.getLanguageId(a-1)===o;)a--;return new s(e,o,a,r+1,e.getStartOffset(a),e.getEndOffset(r))}i.d(t,{BQ:()=>n,Yo:()=>o});class s{constructor(e,t,i,n,s,o){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=s,this._lastCharOffset=o,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}function o(e){return!!(3&e)}},1804:(e,t,i)=>{i.d(t,{Fu:()=>p,az:()=>a,xb:()=>u});var n=i(16844),s=i(54324),o=i(28061);class r{constructor(e,t,i,n,s,o){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=i,this.close=n,this.forwardRegex=s,this.reversedRegex=o,this._openSet=r._toSet(this.open),this._closeSet=r._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const i of e)t.add(i);return t}}class a{constructor(e,t){this._richEditBracketsBrand=void 0;const i=function(e){const t=e.length;e=e.map((e=>[e[0].toLowerCase(),e[1].toLowerCase()]));const i=[];for(let r=0;r{const[i,n]=e,[s,o]=t;return i===s||i===o||n===s||n===o},s=(e,n)=>{const s=Math.min(e,n),o=Math.max(e,n);for(let r=0;r0&&o.push({open:n,close:s})}return o}(t);this.brackets=i.map(((t,n)=>new r(e,n,t.open,t.close,function(e,t,i,n){let s=[];s=s.concat(e),s=s.concat(t);for(let o=0,r=s.length;o=0&&n.push(t);for(const t of o.close)t.indexOf(e)>=0&&n.push(t)}}function h(e,t){return e.length-t.length}function d(e){if(e.length<=1)return e;const t=[],i=new Set;for(const n of e)i.has(n)||(t.push(n),i.add(n));return t}function c(e){const t=/^[\w ]+$/.test(e);return e=n.bm(e),t?`\\b${e}\\b`:e}function u(e,t){const i=`(${e.map(c).join(")|(")})`;return n.OS(i,!0,t)}const g=function(){let e=null,t=null;return function(i){return e!==i&&(e=i,t=function(e){const t=new Uint16Array(e.length);let i=0;for(let n=e.length-1;n>=0;n--)t[i++]=e.charCodeAt(n);return s.b7().decode(t)}(e)),t}}();class p{static _findPrevBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=i.length-(s.index||0),a=s[0].length,l=n+r;return new o.Q(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,n,s){const o=g(i).substring(i.length-s,i.length-n);return this._findPrevBracketInText(e,t,o,n)}static findNextBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=s.index||0,a=s[0].length;if(0===a)return null;const l=n+r;return new o.Q(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,n,s){const o=i.substring(n,s);return this.findNextBracketInText(e,t,o,n)}}},66055:(e,t,i)=>{i.d(t,{A5:()=>n,Dg:()=>l,F4:()=>u,L5:()=>c,VW:()=>o,Wo:()=>d,X2:()=>a,ZS:()=>s,nk:()=>h,vd:()=>g});var n,s,o,r=i(71386);!function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(n||(n={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(s||(s={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(o||(o={}));class a{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|e.tabSize),"tabSize"===e.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|e.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace),this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&(0,r.aI)(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class l{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function h(e){return e&&"function"==typeof e.read}class d{constructor(e,t,i,n,s,o){this.identifier=e,this.range=t,this.text=i,this.forceMoveMarkers=n,this.isAutoWhitespaceEdit=s,this._isTracked=o}}class c{constructor(e,t,i){this.regex=e,this.wordSeparators=t,this.simpleSearch=i}}class u{constructor(e,t,i){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=i}}function g(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},64651:(e,t,i)=>{i.d(t,{Gc:()=>v,Nn:()=>l,Xw:()=>h,rh:()=>_,yF:()=>f});var n=i(94327),s=i(62549),o=i(34883),r=i(60756);class a{get length(){return this._length}constructor(e){this._length=e}}class l extends a{static create(e,t,i){let n=e.length;return t&&(n=(0,o.QB)(n,t.length)),i&&(n=(0,o.QB)(n,i.length)),new l(n,e,t,i,t?t.missingOpeningBracketIds:r.gV.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,i,n,s){super(e),this.openingBracket=t,this.child=i,this.closingBracket=n,this.missingOpeningBracketIds=s}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new l(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation((0,o.QB)(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class h extends a{static create23(e,t,i,n=!1){let s=e.length,r=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(s=(0,o.QB)(s,t.length),r=r.merge(t.missingOpeningBracketIds),i){if(e.listHeight!==i.listHeight)throw new Error("Invalid list heights");s=(0,o.QB)(s,i.length),r=r.merge(i.missingOpeningBracketIds)}return n?new c(s,e.listHeight+1,e,t,i,r):new d(s,e.listHeight+1,e,t,i,r)}static getEmpty(){return new g(o.Vp,0,[],r.gV.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,i){super(e),this.listHeight=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),i=4===t.kind?t.toMutable():t;return t!==i&&this.setChild(e-1,i),i}makeFirstElementMutable(){this.throwIfImmutable();if(0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new n.D7;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,i=this.getChild(0).missingOpeningBracketIds;for(let n=1;n{i.d(t,{W:()=>r,c:()=>o});var n=i(28061),s=i(34883);class o{static fromModelContentChanges(e){return e.map((e=>{const t=n.Q.lift(e.range);return new o((0,s.VL)(t.getStartPosition()),(0,s.VL)(t.getEndPosition()),(0,s.rR)(e.text))})).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${(0,s.l4)(this.startOffset)}...${(0,s.l4)(this.endOffset)}) -> ${(0,s.l4)(this.newLength)}`}}class r{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>a.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return null===i?null:(0,s.MS)(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?(0,s.qe)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):(0,s.qe)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=(0,s.l4)(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,s.qe)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):(0,s.qe)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx{i.d(t,{Z:()=>h});var n=i(16844),s=i(64651),o=i(34883),r=i(60756),a=i(33206);class l{static createFromLanguage(e,t){function i(e){return t.getKey(`${e.languageId}:::${e.bracketText}`)}const n=new Map;for(const l of e.bracketsNew.openingBrackets){const e=(0,o.qe)(0,l.bracketText.length),t=i(l),h=r.gV.getEmpty().add(t,r.FD);n.set(l.bracketText,new a.ou(e,1,t,h,s.rh.create(e,l,h)))}for(const l of e.bracketsNew.closingBrackets){const e=(0,o.qe)(0,l.bracketText.length);let t=r.gV.getEmpty();const h=l.getOpeningBrackets();for(const n of h)t=t.add(i(n),r.FD);n.set(l.bracketText,new a.ou(e,2,i(h[0]),t,s.rh.create(e,l,t)))}return new l(n)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map((e=>function(e){let t=(0,n.bm)(e);/^[\w ]+/.test(e)&&(t=`\\b${t}`);/[\w ]+$/.test(e)&&(t=`${t}\\b`);return t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(2===i.kind&&i.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class h{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=l.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}},47132:(e,t,i)=>{i.d(t,{M:()=>r});var n=i(13338),s=i(22994),o=i(34883);function r(e,t){if(0===e.length)return t;if(0===t.length)return e;const i=new n.j3(l(e)),r=l(t);r.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let h=i.dequeue();function d(e){if(void 0===e){const e=i.takeWhile((e=>!0))||[];return h&&e.unshift(h),e}const t=[];for(;h&&!(0,o.Vh)(e);){const[n,s]=h.splitAt(e);t.push(n),e=(0,o.MS)(n.lengthAfter,e),h=s??i.dequeue()}return(0,o.Vh)(e)||t.push(new a(!1,e,e)),t}const c=[];function u(e,t,i){if(c.length>0&&(0,o.wP)(c[c.length-1].endOffset,e)){const e=c[c.length-1];c[c.length-1]=new s.c(e.startOffset,t,(0,o.QB)(e.newLength,i))}else c.push({startOffset:e,endOffset:t,newLength:i})}let g=o.Vp;for(const n of r){const e=d(n.lengthBefore);if(n.modified){const t=(0,o.pW)(e,(e=>e.lengthBefore)),i=(0,o.QB)(g,t);u(g,i,n.lengthAfter),g=i}else for(const t of e){const e=g;g=(0,o.QB)(g,t.lengthBefore),t.modified&&u(e,g,t.lengthAfter)}}return c}class a{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=(0,o.MS)(e,this.lengthAfter);return(0,o.wP)(t,o.Vp)?[this,void 0]:this.modified?[new a(this.modified,this.lengthBefore,e),new a(this.modified,o.Vp,t)]:[new a(this.modified,e,e),new a(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${(0,o.l4)(this.lengthBefore)} -> ${(0,o.l4)(this.lengthAfter)}`}}function l(e){const t=[];let i=o.Vp;for(const n of e){const e=(0,o.MS)(i,n.startOffset);(0,o.Vh)(e)||t.push(new a(!1,e,e));const s=(0,o.MS)(n.startOffset,n.endOffset);t.push(new a(!0,s,n.newLength)),i=n.endOffset}return t}},34883:(e,t,i)=>{i.d(t,{C7:()=>r,MS:()=>_,QB:()=>p,Qx:()=>y,VL:()=>w,Vh:()=>l,Vp:()=>a,eu:()=>u,l4:()=>c,o0:()=>C,pW:()=>m,qe:()=>d,rR:()=>S,sS:()=>g,vr:()=>b,wP:()=>f,zG:()=>v});var n=i(16844),s=i(28061),o=i(58357);function r(e,t,i,n){return e!==i?d(i-e,n):d(0,n-t)}const a=0;function l(e){return 0===e}const h=2**26;function d(e,t){return e*h+t}function c(e){const t=e,i=Math.floor(t/h),n=t-i*h;return new o.W(i,n)}function u(e){return Math.floor(e/h)}function g(e){return e}function p(e,t){let i=e+t;return t>=h&&(i-=e%h),i}function m(e,t){return e.reduce(((e,i)=>p(e,t(i))),a)}function f(e,t){return e===t}function _(e,t){const i=e,n=t;if(n-i<=0)return a;const s=Math.floor(i/h),o=Math.floor(n/h),r=n-o*h;if(s===o){return d(0,r-(i-s*h))}return d(o-s,r)}function v(e,t){return e=t}function w(e){return d(e.lineNumber-1,e.column-1)}function y(e,t){const i=e,n=Math.floor(i/h),o=i-n*h,r=t,a=Math.floor(r/h),l=r-a*h;return new s.Q(n+1,o+1,a+1,l+1)}function S(e){const t=(0,n.uz)(e);return d(t.length-1,t[t.length-1].length)}},96961:(e,t,i)=>{i.d(t,{T:()=>g});var n=i(64651),s=i(22994),o=i(60756),r=i(34883);function a(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let i=e.length;for(;i>3;){const s=i>>1;for(let o=0;o=3?e[2]:null,t)}function l(e,t){return Math.abs(e.listHeight-t.listHeight)}function h(e,t){return e.listHeight===t.listHeight?n.Xw.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let i=e=e.toMutable();const s=[];let o;for(;;){if(t.listHeight===i.listHeight){o=t;break}if(4!==i.kind)throw new Error("unexpected");s.push(i),i=i.makeLastElementMutable()}for(let r=s.length-1;r>=0;r--){const e=s[r];o?e.childrenLength>=3?o=n.Xw.create23(e.unappendChild(),o,null,!1):(e.appendChildOfSameHeight(o),o=void 0):e.handleChildrenChanged()}return o?n.Xw.create23(e,o,null,!1):e}(e,t):function(e,t){let i=e=e.toMutable();const s=[];for(;t.listHeight!==i.listHeight;){if(4!==i.kind)throw new Error("unexpected");s.push(i),i=i.makeFirstElementMutable()}let o=t;for(let r=s.length-1;r>=0;r--){const e=s[r];o?e.childrenLength>=3?o=n.Xw.create23(o,e.unprependChild(),null,!1):(e.prependChildOfSameHeight(o),o=void 0):e.handleChildrenChanged()}return o?n.Xw.create23(o,e,null,!1):e}(t,e)}class d{constructor(e){this.lastOffset=r.Vp,this.nextNodes=[e],this.offsets=[r.Vp],this.idxs=[]}readLongestNodeAt(e,t){if((0,r.zG)(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=u(this.nextNodes);if(!i)return;const n=u(this.offsets);if((0,r.zG)(e,n))return;if((0,r.zG)(n,e))if((0,r.QB)(n,i.length)<=e)this.nextNodeAfterCurrent();else{const e=c(i);-1!==e?(this.nextNodes.push(i.getChild(e)),this.offsets.push(n),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const e=c(i);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(i.getChild(e)),this.offsets.push(n),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=u(this.offsets),t=u(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const i=u(this.nextNodes),n=c(i,this.idxs[this.idxs.length-1]);if(-1!==n){this.nextNodes.push(i.getChild(n)),this.offsets.push((0,r.QB)(e,t.length)),this.idxs[this.idxs.length-1]=n;break}this.idxs.pop()}}}function c(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function u(e){return e.length>0?e[e.length-1]:void 0}function g(e,t,i,n){return new p(e,t,i,n).parseDocument()}class p{constructor(e,t,i,n){if(this.tokenizer=e,this.createImmutableLists=n,this._itemsConstructed=0,this._itemsFromCache=0,i&&n)throw new Error("Not supported");this.oldNodeReader=i?new d(i):void 0,this.positionMapper=new s.W(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(o.gV.getEmpty(),0);return e||(e=n.Xw.getEmpty()),e}parseList(e,t){const i=[];for(;;){let n=this.tryReadChildFromCache(e);if(!n){const i=this.tokenizer.peek();if(!i||2===i.kind&&i.bracketIds.intersects(e))break;n=this.parseChild(e,t+1)}4===n.kind&&0===n.childrenLength||i.push(n)}const n=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function i(){if(t>=e.length)return null;const i=t,n=e[i].listHeight;for(t++;t=2?a(0===i&&t===e.length?e:e.slice(i,t),!1):e[i]}let n=i(),s=i();if(!s)return n;for(let o=i();o;o=i())l(n,s)<=l(s,o)?(n=h(n,s),s=o):s=h(s,o);return h(n,s)}(i):a(i,this.createImmutableLists);return n}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!(0,r.Vh)(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(i=>{if(null!==t&&!(0,r.zG)(i.length,t))return!1;return i.canBeReused(e)}));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;const i=this.tokenizer.read();switch(i.kind){case 2:return new n.Gc(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new n.yF(i.length);const s=e.merge(i.bracketIds),o=this.parseList(s,t+1),r=this.tokenizer.peek();return r&&2===r.kind&&(r.bracketId===i.bracketId||r.bracketIds.intersects(i.bracketIds))?(this.tokenizer.read(),n.Nn.create(i.astNode,o,r.astNode)):n.Nn.create(i.astNode,o,null)}default:throw new Error("unexpected")}}}},60756:(e,t,i)=>{i.d(t,{FD:()=>o,Mg:()=>r,gV:()=>s});const n=[];class s{static{this.cache=new Array(129)}static create(e,t){if(e<=128&&0===t.length){let i=s.cache[e];return i||(i=new s(e,t),s.cache[e]=i),i}return new s(e,t)}static{this.empty=s.create(0,n)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const i=t.getKey(e);let n=i>>5;if(0===n){const e=1<e};class r{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}},33206:(e,t,i)=>{i.d(t,{_:()=>c,ou:()=>l,tk:()=>h});var n=i(94327),s=i(15910),o=i(64651),r=i(34883),a=i(60756);class l{constructor(e,t,i,n,s){this.length=e,this.kind=t,this.bracketId=i,this.bracketIds=n,this.astNode=s}}class h{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new d(this.textModel,this.bracketTokens),this._offset=r.Vp,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,r.qe)(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=(0,r.QB)(this._offset,e);const t=(0,r.l4)(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=(0,r.QB)(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class d{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,r.sS)(e.length),e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const n=this.lineTokens,o=n.getCount();let a=null;if(this.lineTokenOffset1e3)break}if(i>1500)break}const n=(0,r.C7)(e,t,this.lineIdx,this.lineCharOffset);return new l(n,0,-1,a.gV.getEmpty(),new o.yF(n))}}class c{constructor(e,t){this.text=e,this._offset=r.Vp,this.idx=0;const i=t.getRegExpStr(),n=i?new RegExp(i+"|\n","gi"):null,s=[];let h,d=0,c=0,u=0,g=0;const p=[];for(let _=0;_<60;_++)p.push(new l((0,r.qe)(0,_),0,-1,a.gV.getEmpty(),new o.yF((0,r.qe)(0,_))));const m=[];for(let _=0;_<60;_++)m.push(new l((0,r.qe)(1,_),0,-1,a.gV.getEmpty(),new o.yF((0,r.qe)(1,_))));if(n)for(n.lastIndex=0;null!==(h=n.exec(e));){const e=h.index,i=h[0];if("\n"===i)d++,c=e+1;else{if(u!==e){let t;if(g===d){const i=e-u;if(i{i.d(t,{Th:()=>m,z8:()=>f});var n=i(87289),s=i(94327),o=i(93702),r=i(37264),a=i(6949),l=i(42802),h=i(22467);function d(e){return e.toString()}class c{static create(e,t){const i=e.getAlternativeVersionId(),n=p(e);return new c(i,i,n,n,t,t,[])}constructor(e,t,i,n,s,o,r){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=i,this.afterEOL=n,this.beforeCursorState=s,this.afterCursorState=o,this.changes=r}append(e,t,i,n,s){t.length>0&&(this.changes=(0,a.x)(this.changes,t)),this.afterEOL=i,this.afterVersionId=n,this.afterCursorState=s}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,i){if(l.Sw(e,t?t.length:0,i),i+=4,t)for(const n of t)l.Sw(e,n.selectionStartLineNumber,i),i+=4,l.Sw(e,n.selectionStartColumn,i),i+=4,l.Sw(e,n.positionLineNumber,i),i+=4,l.Sw(e,n.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const n=l.bb(e,t);t+=4;for(let s=0;se.toString())).join(", ")}matchesResource(e){return(r.r.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof c}append(e,t,i,n,s){this._data instanceof c&&this._data.append(e,t,i,n,s)}close(){this._data instanceof c&&(this._data=this._data.serialize())}open(){this._data instanceof c||(this._data=c.deserialize(this._data))}undo(){if(r.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof c&&(this._data=this._data.serialize());const e=c.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(r.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof c&&(this._data=this._data.serialize());const e=c.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof c&&(this._data=this._data.serialize()),this._data.byteLength+168}}class g{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const n of this._editStackElementsArr){const e=d(n.resource);this._editStackElementsMap.set(e,n)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=d(e);return this._editStackElementsMap.has(t)}setModel(e){const t=d(r.r.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=d(e.uri);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).canAppend(e)}return!1}append(e,t,i,n,s){const o=d(e.uri);this._editStackElementsMap.get(o).append(e,t,i,n,s)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=d(e);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).heapSize()}return 0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${(0,h.P8)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function p(e){return"\n"===e.getEOL()?0:1}function m(e){return!!e&&(e instanceof u||e instanceof g)}class f{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);m(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);m(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(m(i)&&i.canAppend(this._model))return i;const s=new u(n.kg("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(s,t),s}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],p(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,n){const s=this._getOrCreateEditStackElement(e,n),o=this._model.applyEdits(t,!0),r=f._computeCursorState(i,o),a=o.map(((e,t)=>({index:t,textChange:e.textChange})));return a.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),s.append(this._model,a.map((e=>e.textChange)),p(this._model),this._model.getAlternativeVersionId(),r),r}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return(0,s.dz)(i),null}}}},52818:(e,t,i)=>{i.d(t,{P:()=>c,k:()=>u});var n=i(97393),s=i(16844),o=i(62549),r=i(28061),a=i(32177),l=i(50969),h=i(60779),d=i(94327);class c extends a._{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return(0,l.G)(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,i){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new d.D7("Illegal value for lineNumber");const s=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(s&&s.offSide);let r=-2,a=-1,l=-2,h=-1;const c=e=>{if(-1!==r&&(-2===r||r>e-1)){r=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){r=t,a=e;break}}}if(-2===l){l=-1,h=-1;for(let t=e;t=0){l=t,h=e;break}}}};let u=-2,g=-1,p=-2,m=-1;const f=e=>{if(-2===u){u=-1,g=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){u=t,g=e;break}}}if(-1!==p&&(-2===p||p=0){p=t,m=e;break}}}};let _=0,v=!0,b=0,C=!0,w=0,y=0;for(let d=0;v||C;d++){const s=e-d,r=e+d;d>1&&(s<1||s1&&(r>n||r>i)&&(C=!1),d>5e4&&(v=!1,C=!1);let p=-1;if(v&&s>=1){const e=this._computeIndentLevel(s-1);e>=0?(l=s-1,h=e,p=Math.ceil(e/this.textModel.getOptions().indentSize)):(c(s),p=this._getIndentLevelForWhitespaceLine(o,a,h))}let S=-1;if(C&&r<=n){const e=this._computeIndentLevel(r-1);e>=0?(u=r-1,g=e,S=Math.ceil(e/this.textModel.getOptions().indentSize)):(f(r),S=this._getIndentLevelForWhitespaceLine(o,g,m))}if(0!==d){if(1===d){if(r<=n&&S>=0&&y+1===S){v=!1,_=r,b=r,w=S;continue}if(s>=1&&p>=0&&p-1===y){C=!1,_=s,b=s,w=p;continue}if(_=e,b=e,w=y,0===w)return{startLineNumber:_,endLineNumber:b,indent:w}}v&&(p>=w?_=s:v=!1),C&&(S>=w?b=r:C=!1)}else y=p}return{startLineNumber:_,endLineNumber:b,indent:w}}getLinesBracketGuides(e,t,i,o){const a=[];for(let n=e;n<=t;n++)a.push([]);const l=!0,d=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new r.Q(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let c;if(i&&d.length>0){const s=(e<=i.lineNumber&&i.lineNumber<=t?d:this.textModel.bracketPairs.getBracketPairsInRange(r.Q.fromPositions(i)).toArray()).filter((e=>r.Q.strictContainsPosition(e.range,i)));c=(0,n.Uk)(s,(e=>l))?.range}const g=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,p=new u;for(const n of d){if(!n.closingBracketRange)continue;const i=c&&n.range.equalsRange(c);if(!i&&!o.includeInactive)continue;const r=p.getInlineClassName(n.nestingLevel,n.nestingLevelOfEqualBracketType,g)+(o.highlightActive&&i?" "+p.activeClassName:""),l=n.openingBracketRange.getStartPosition(),d=n.closingBracketRange.getStartPosition(),u=o.horizontalGuides===h.N6.Enabled||o.horizontalGuides===h.N6.EnabledForActive&&i;if(n.range.startLineNumber===n.range.endLineNumber){u&&a[n.range.startLineNumber-e].push(new h.TH(-1,n.openingBracketRange.getEndPosition().column,r,new h.pv(!1,d.column),-1,-1));continue}const m=this.getVisibleColumnFromPosition(d),f=this.getVisibleColumnFromPosition(n.openingBracketRange.getStartPosition()),_=Math.min(f,m,n.minVisibleColumnIndentation+1);let v=!1;s.HG(this.textModel.getLineContent(n.closingBracketRange.startLineNumber))=e&&f>_&&a[l.lineNumber-e].push(new h.TH(_,-1,r,new h.pv(!1,l.column),-1,-1)),d.lineNumber<=t&&m>_&&a[d.lineNumber-e].push(new h.TH(_,-1,r,new h.pv(!v,d.column),-1,-1)))}for(const n of a)n.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return a}getVisibleColumnFromPosition(e){return o.A.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const n=this.textModel.getOptions(),s=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(s&&s.offSide),r=new Array(t-e+1);let a=-2,l=-1,h=-2,d=-1;for(let c=e;c<=t;c++){const t=c-e,s=this._computeIndentLevel(c-1);if(s>=0)a=c-1,l=s,r[t]=Math.ceil(s/n.indentSize);else{if(-2===a){a=-1,l=-1;for(let e=c-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==h&&(-2===h||h=0){h=e,d=t;break}}}r[t]=this._getIndentLevelForWhitespaceLine(o,l,d)}}return r}_getIndentLevelForWhitespaceLine(e,t,i){const n=this.textModel.getOptions();return-1===t||-1===i?0:t{i.d(t,{N:()=>o,c2:()=>r});var n=i(13338),s=i(37512);class o{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=(0,s.j)(e);const i=this.values,n=this.prefixSum,o=t.length;return 0!==o&&(this.values=new Uint32Array(i.length+o),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=(0,s.j)(e),t=(0,s.j)(t),this.values[e]!==t&&(this.values[e]=t,e-1=i.length)return!1;const o=i.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=(0,s.j)(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,n=0,s=0,o=0;for(;t<=i;)if(n=t+(i-t)/2|0,s=this.prefixSum[n],o=s-this.values[n],e=s))break;t=n+1}return new a(n,e-o)}}class r{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(),0===e?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new a(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=(0,n.nK)(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;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=i+t;for(let n=0;n{i.d(t,{Ho:()=>Yt,kI:()=>Zt,Bz:()=>Vt});var n=i(13338),s=i(94901),o=i(94327),r=i(2106),a=i(10998),l=i(16844),h=i(37264),d=i(3902),c=i(57999),u=i(15365),g=i(28061),p=i(93702),m=i(12590),f=i(77922),_=i(16355),v=i(66055),b=i(19184),C=i(1804);class w{constructor(e,t,i,n){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=i,this.isInvalid=n}}class y{constructor(e,t,i,n,s,o){this.range=e,this.openingBracketRange=t,this.closingBracketRange=i,this.nestingLevel=n,this.nestingLevelOfEqualBracketType=s,this.bracketPairNode=o}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class S extends y{constructor(e,t,i,n,s,o,r){super(e,t,i,n,s,o),this.minVisibleColumnIndentation=r}}var k=i(22994),L=i(85702),x=i(34883),D=i(96961),N=i(60756),I=i(33206),E=i(47132);class M extends a.jG{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new r.vl,this.denseKeyProvider=new N.Mg,this.brackets=new L.Z(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new I._(this.textModel.getValue(),e);this.initialAstWithoutTokens=(0,D.T)(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new k.c((0,x.qe)(e.fromLineNumber-1,0),(0,x.qe)(e.toLineNumber,0),(0,x.qe)(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=k.c.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const i=(0,E.M)(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=(0,E.M)(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){const n=t,s=new I.tk(this.textModel,this.brackets);return(0,D.T)(s,e,n,i)}getBracketsInRange(e,t){this.flushQueue();const i=(0,x.qe)(e.startLineNumber-1,e.startColumn-1),s=(0,x.qe)(e.endLineNumber-1,e.endColumn-1);return new n.c1((e=>{const n=this.initialAstWithoutTokens||this.astWithTokens;A(n,x.Vp,n.length,i,s,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const i=(0,x.VL)(e.getStartPosition()),s=(0,x.VL)(e.getEndPosition());return new n.c1((e=>{const n=this.initialAstWithoutTokens||this.astWithTokens,o=new P(e,t,this.textModel);O(n,x.Vp,n.length,i,s,o,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return R(t,x.Vp,t.length,(0,x.VL)(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return T(t,x.Vp,t.length,(0,x.VL)(e))}}function T(e,t,i,n){if(4===e.kind||2===e.kind){const s=[];for(const n of e.children)i=(0,x.QB)(t,n.length),s.push({nodeOffsetStart:t,nodeOffsetEnd:i}),t=i;for(let t=s.length-1;t>=0;t--){const{nodeOffsetStart:i,nodeOffsetEnd:o}=s[t];if((0,x.zG)(i,n)){const s=T(e.children[t],i,o,n);if(s)return s}}return null}if(3===e.kind)return null;if(1===e.kind){const n=(0,x.Qx)(t,i);return{bracketInfo:e.bracketInfo,range:n}}return null}function R(e,t,i,n){if(4===e.kind||2===e.kind){for(const s of e.children){if(i=(0,x.QB)(t,s.length),(0,x.zG)(n,i)){const e=R(s,t,i,n);if(e)return e}t=i}return null}if(3===e.kind)return null;if(1===e.kind){const n=(0,x.Qx)(t,i);return{bracketInfo:e.bracketInfo,range:n}}return null}function A(e,t,i,n,s,o,r,a,l,h,d=!1){if(r>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let d=0;d200)return!0;let l=!0;if(2===e.kind){let h=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),h=t,t++,a.set(e.openingBracket.text,t)}const d=(0,x.QB)(t,e.openingBracket.length);let c=-1;if(o.includeMinIndentation&&(c=e.computeMinIndentation(t,o.textModel)),l=o.push(new S((0,x.Qx)(t,i),(0,x.Qx)(t,d),e.closingBracket?(0,x.Qx)((0,x.QB)(d,e.child?.length||x.Vp),i):void 0,r,h,e,c)),t=d,l&&e.child){const h=e.child;if(i=(0,x.QB)(t,h.length),(0,x.vr)(t,s)&&(0,x.o0)(i,n)&&(l=O(h,t,i,n,s,o,r+1,a),!l))return!1}a?.set(e.openingBracket.text,h)}else{let i=t;for(const t of e.children){const e=i;if(i=(0,x.QB)(i,t.length),(0,x.vr)(e,s)&&(0,x.vr)(n,i)&&(l=O(t,e,i,n,s,o,r,a),!l))return!1}}return l}class F extends a.jG{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new a.HE),this.onDidChangeEmitter=new r.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){e.languageId&&!this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const i=new a.Cm;this.bracketPairsTree.value=(e=i.add(new M(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=i,{object:e,dispose:()=>t?.dispose()}),i.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||n.c1.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||n.c1.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||n.c1.empty}findMatchingBracketUp(e,t,i){const n=this.textModel.validatePosition(t),s=this.textModel.getLanguageIdAtPosition(n.lineNumber,n.column);if(this.canBuildAST){const i=this.languageConfigurationService.getLanguageConfiguration(s).bracketsNew.getClosingBracketInfo(e);if(!i)return null;const n=this.getBracketPairsInRange(g.Q.fromPositions(t,t)).findLast((e=>i.closes(e.openingBracketInfo)));return n?n.openingBracketRange:null}{const t=e.toLowerCase(),o=this.languageConfigurationService.getLanguageConfiguration(s).brackets;if(!o)return null;const r=o.textIsBracket[t];return r?H(this._findMatchingBracketUp(r,n,W(i))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(g.Q.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy((0,n.VE)((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),g.Q.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const i=W(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,n){const s=t.getCount(),o=t.getLanguageId(n);let r=Math.max(0,e.column-1-i.maxBracketLength);for(let l=n-1;l>=0;l--){const e=t.getEndOffset(l);if(e<=r)break;if((0,b.Yo)(t.getStandardTokenType(l))||t.getLanguageId(l)!==o){r=e;break}}let a=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let l=n+1;l=a)break;if((0,b.Yo)(t.getStandardTokenType(l))||t.getLanguageId(l)!==o){a=e;break}}return{searchStartOffset:r,searchEndOffset:a}}_matchBracket(e,t){const i=e.lineNumber,n=this.textModel.tokenization.getLineTokens(i),s=this.textModel.getLineContent(i),o=n.findTokenIndexAtOffset(e.column-1);if(o<0)return null;const r=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(o)).brackets;if(r&&!(0,b.Yo)(n.getStandardTokenType(o))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,r,o),h=null;for(;;){const n=C.Fu.findNextBracketInRange(r.forwardRegex,i,s,a,l);if(!n)break;if(n.startColumn<=e.column&&e.column<=n.endColumn){const e=s.substring(n.startColumn-1,n.endColumn-1).toLowerCase(),i=this._matchFoundBracket(n,r.textIsBracket[e],r.textIsOpenBracket[e],t);if(i){if(i instanceof B)return null;h=i}}a=n.endColumn-1}if(h)return h}if(o>0&&n.getStartOffset(o)===e.column-1){const r=o-1,a=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(r)).brackets;if(a&&!(0,b.Yo)(n.getStandardTokenType(r))){const{searchStartOffset:o,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,a,r),h=C.Fu.findPrevBracketInRange(a.reversedRegex,i,s,o,l);if(h&&h.startColumn<=e.column&&e.column<=h.endColumn){const e=s.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),i=this._matchFoundBracket(h,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(i)return i instanceof B?null:i}}}return null}_matchFoundBracket(e,t,i,n){if(!t)return null;const s=i?this._findMatchingBracketDown(t,e.getEndPosition(),n):this._findMatchingBracketUp(t,e.getStartPosition(),n);return s?s instanceof B?s:[e,s]:null}_findMatchingBracketUp(e,t,i){const n=e.languageId,s=e.reversedRegex;let o=-1,r=0;const a=(t,n,a,l)=>{for(;;){if(i&&++r%100==0&&!i())return B.INSTANCE;const h=C.Fu.findPrevBracketInRange(s,t,n,a,l);if(!h)break;const d=n.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(d)?o++:e.isClose(d)&&o--,0===o)return h;l=h.startColumn-1}return null};for(let l=t.lineNumber;l>=1;l--){const e=this.textModel.tokenization.getLineTokens(l),i=e.getCount(),s=this.textModel.getLineContent(l);let o=i-1,r=s.length,h=s.length;l===t.lineNumber&&(o=e.findTokenIndexAtOffset(t.column-1),r=t.column-1,h=t.column-1);let d=!0;for(;o>=0;o--){const t=e.getLanguageId(o)===n&&!(0,b.Yo)(e.getStandardTokenType(o));if(t)d?r=e.getStartOffset(o):(r=e.getStartOffset(o),h=e.getEndOffset(o));else if(d&&r!==h){const e=a(l,s,r,h);if(e)return e}d=t}if(d&&r!==h){const e=a(l,s,r,h);if(e)return e}}return null}_findMatchingBracketDown(e,t,i){const n=e.languageId,s=e.forwardRegex;let o=1,r=0;const a=(t,n,a,l)=>{for(;;){if(i&&++r%100==0&&!i())return B.INSTANCE;const h=C.Fu.findNextBracketInRange(s,t,n,a,l);if(!h)break;const d=n.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(d)?o++:e.isClose(d)&&o--,0===o)return h;a=h.endColumn-1}return null},l=this.textModel.getLineCount();for(let h=t.lineNumber;h<=l;h++){const e=this.textModel.tokenization.getLineTokens(h),i=e.getCount(),s=this.textModel.getLineContent(h);let o=0,r=0,l=0;h===t.lineNumber&&(o=e.findTokenIndexAtOffset(t.column-1),r=t.column-1,l=t.column-1);let d=!0;for(;o=1;o--){const e=this.textModel.tokenization.getLineTokens(o),r=e.getCount(),a=this.textModel.getLineContent(o);let l=r-1,h=a.length,d=a.length;if(o===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),h=t.column-1,d=t.column-1;const o=e.getLanguageId(l);i!==o&&(i=o,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let c=!0;for(;l>=0;l--){const t=e.getLanguageId(l);if(i!==t){if(n&&s&&c&&h!==d){const e=C.Fu.findPrevBracketInRange(n.reversedRegex,o,a,h,d);if(e)return this._toFoundBracket(s,e);c=!1}i=t,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const r=!!n&&!(0,b.Yo)(e.getStandardTokenType(l));if(r)c?h=e.getStartOffset(l):(h=e.getStartOffset(l),d=e.getEndOffset(l));else if(s&&n&&c&&h!==d){const e=C.Fu.findPrevBracketInRange(n.reversedRegex,o,a,h,d);if(e)return this._toFoundBracket(s,e)}c=r}if(s&&n&&c&&h!==d){const e=C.Fu.findPrevBracketInRange(n.reversedRegex,o,a,h,d);if(e)return this._toFoundBracket(s,e)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const i=this.textModel.getLineCount();let n=null,s=null,o=null;for(let r=t.lineNumber;r<=i;r++){const e=this.textModel.tokenization.getLineTokens(r),i=e.getCount(),a=this.textModel.getLineContent(r);let l=0,h=0,d=0;if(r===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),h=t.column-1,d=t.column-1;const i=e.getLanguageId(l);n!==i&&(n=i,s=this.languageConfigurationService.getLanguageConfiguration(n).brackets,o=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let c=!0;for(;lvoid 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const n=W(t),s=this.textModel.getLineCount(),o=new Map;let r=[];const a=(e,t)=>{if(!o.has(e)){const i=[];for(let e=0,n=t?t.brackets.length:0;e{for(;;){if(n&&++l%100==0&&!n())return B.INSTANCE;const a=C.Fu.findNextBracketInRange(e.forwardRegex,t,i,s,o);if(!a)break;const h=i.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),d=e.textIsBracket[h];if(d&&(d.isOpen(h)?r[d.index]++:d.isClose(h)&&r[d.index]--,-1===r[d.index]))return this._matchFoundBracket(a,d,!1,n);s=a.endColumn-1}return null};let d=null,c=null;for(let u=i.lineNumber;u<=s;u++){const e=this.textModel.tokenization.getLineTokens(u),t=e.getCount(),n=this.textModel.getLineContent(u);let s=0,o=0,r=0;if(u===i.lineNumber){s=e.findTokenIndexAtOffset(i.column-1),o=i.column-1,r=i.column-1;const t=e.getLanguageId(s);d!==t&&(d=t,c=this.languageConfigurationService.getLanguageConfiguration(d).brackets,a(d,c))}let l=!0;for(;s!0;{const t=Date.now();return()=>Date.now()-t<=e}}class B{static{this.INSTANCE=new B}constructor(){this._searchCanceledBrand=void 0}}function H(e){return e instanceof B?null:e}var V=i(48295),z=i(89044);class U extends a.jG{constructor(e){super(),this.textModel=e,this.colorProvider=new K,this.onDidChangeEmitter=new r.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,n){if(n)return[];if(void 0===t)return[];if(!this.colorizationOptions.enabled)return[];return this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray()}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new g.Q(1,1,this.textModel.getLineCount(),1),e,t):[]}}class K{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}(0,z.zy)(((e,t)=>{const i=[V.sN,V.lQ,V.ss,V.l5,V.sH,V.zp],n=new K;t.addRule(`.monaco-editor .${n.unexpectedClosingBracketClassName} { color: ${e.getColor(V.s7)}; }`);const s=i.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let o=0;o<30;o++){const e=s[o%s.length];t.addRule(`.monaco-editor .${n.getInlineClassNameOfLevel(o)} { color: ${e}; }`)}}));var j=i(54296),$=i(52818);class q{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function G(e,t,i,n,s){let o;for(s.spacesDiff=0,s.looksLikeAlignment=!1,o=0;o0&&a>0)return;if(l>0&&h>0)return;const d=Math.abs(a-h),c=Math.abs(r-l);if(0===d)return s.spacesDiff=c,void(c>0&&0<=l-1&&l-10?s++:m>1&&o++,G(r,a,l,p,d),d.looksLikeAlignment&&(!i||t!==d.spacesDiff))continue;const _=d.spacesDiff;_<=8&&h[_]++,r=l,a=p}let c=i;s!==o&&(c=s{const i=h[t];i>e&&(e=i,u=t)})),4===u&&h[4]>0&&h[2]>0&&h[2]>=h[4]/2&&(u=2)}return{insertSpaces:c,tabSize:u}}function Y(e){return(1&e.metadata)>>>0}function Z(e,t){e.metadata=254&e.metadata|t}function X(e){return(2&e.metadata)>>>1==1}function J(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function ee(e){return(4&e.metadata)>>>2==1}function te(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function ie(e){return(64&e.metadata)>>>6==1}function ne(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function se(e,t){e.metadata=231&e.metadata|t<<3}function oe(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class re{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,Z(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,te(this,!1),ne(this,!1),se(this,1),oe(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,J(this,!1)}reset(e,t,i,n){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=n}setOptions(e){this.options=e;const t=this.options.className;te(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),ne(this,null!==this.options.glyphMarginClassName),se(this,this.options.stickiness),oe(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const ae=new re(null,0,0);ae.parent=ae,ae.left=ae,ae.right=ae,Z(ae,0);class le{constructor(){this.root=ae,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,n,s,o){return this.root===ae?[]:function(e,t,i,n,s,o,r){let a=e.root,l=0,h=0,d=0,c=0;const u=[];let g=0;for(;a!==ae;)if(X(a))J(a.left,!1),J(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;else{if(!X(a.left)){if(h=l+a.maxEnd,hi)J(a,!0);else{if(c=l+a.end,c>=t){a.setCachedOffsets(d,c,o);let e=!0;n&&a.ownerId&&a.ownerId!==n&&(e=!1),s&&ee(a)&&(e=!1),r&&!ie(a)&&(e=!1),e&&(u[g++]=a)}J(a,!0),a.right===ae||X(a.right)||(l+=a.delta,a=a.right)}}return J(e.root,!1),u}(this,e,t,i,n,s,o)}search(e,t,i,n){return this.root===ae?[]:function(e,t,i,n,s){let o=e.root,r=0,a=0,l=0;const h=[];let d=0;for(;o!==ae;){if(X(o)){J(o.left,!1),J(o.right,!1),o===o.parent.right&&(r-=o.parent.delta),o=o.parent;continue}if(o.left!==ae&&!X(o.left)){o=o.left;continue}a=r+o.start,l=r+o.end,o.setCachedOffsets(a,l,n);let e=!0;t&&o.ownerId&&o.ownerId!==t&&(e=!1),i&&ee(o)&&(e=!1),s&&!ie(o)&&(e=!1),e&&(h[d++]=o),J(o,!0),o.right===ae||X(o.right)||(r+=o.delta,o=o.right)}return J(e.root,!1),h}(this,e,t,i,n)}collectNodesFromOwner(e){return function(e,t){let i=e.root;const n=[];let s=0;for(;i!==ae;)X(i)?(J(i.left,!1),J(i.right,!1),i=i.parent):i.left===ae||X(i.left)?(i.ownerId===t&&(n[s++]=i),J(i,!0),i.right===ae||X(i.right)||(i=i.right)):i=i.left;return J(e.root,!1),n}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const i=[];let n=0;for(;t!==ae;)X(t)?(J(t.left,!1),J(t.right,!1),t=t.parent):t.left===ae||X(t.left)?t.right===ae||X(t.right)?(i[n++]=t,J(t,!0)):t=t.right:t=t.left;return J(e.root,!1),i}(this)}insert(e){ce(this,e),this._normalizeDeltaIfNecessary()}delete(e){ue(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let n=0;for(;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;const s=i.start+n,o=i.end+n;i.setCachedOffsets(s,o,t)}acceptReplace(e,t,i,n){const s=function(e,t,i){let n=e.root,s=0,o=0,r=0,a=0;const l=[];let h=0;for(;n!==ae;)if(X(n))J(n.left,!1),J(n.right,!1),n===n.parent.right&&(s-=n.parent.delta),n=n.parent;else{if(!X(n.left)){if(o=s+n.maxEnd,oi?J(n,!0):(a=s+n.end,a>=t&&(n.setCachedOffsets(r,a,0),l[h++]=n),J(n,!0),n.right===ae||X(n.right)||(s+=n.delta,n=n.right))}return J(e.root,!1),l}(this,e,e+t);for(let o=0,r=s.length;oi?(s.start+=l,s.end+=l,s.delta+=l,(s.delta<-1073741824||s.delta>1073741824)&&(e.requestNormalizeDelta=!0),J(s,!0)):(J(s,!0),s.right===ae||X(s.right)||(o+=s.delta,s=s.right))}J(e.root,!1)}(this,e,e+t,i),this._normalizeDeltaIfNecessary();for(let o=0,r=s.length;oi)&&(1!==n&&(2===n||t))}function de(e,t,i,n,s){const o=function(e){return(24&e.metadata)>>>3}(e),r=0===o||2===o,a=1===o||2===o,l=i-t,h=n,d=Math.min(l,h),c=e.start;let u=!1;const g=e.end;let p=!1;t<=c&&g<=i&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,u=!0,e.end=t,p=!0);{const e=s?1:l>0?2:0;!u&&he(c,r,t,e)&&(u=!0),!p&&he(g,a,t,e)&&(p=!0)}if(d>0&&!s){const e=l>h?2:0;!u&&he(c,r,t+d,e)&&(u=!0),!p&&he(g,a,t+d,e)&&(p=!0)}{const n=s?1:0;!u&&he(c,r,i,n)&&(e.start=t+h,u=!0),!p&&he(g,a,i,n)&&(e.end=t+h,p=!0)}const m=h-l;u||(e.start=Math.max(0,c+m)),p||(e.end=Math.max(0,g+m)),e.start>e.end&&(e.end=e.start)}function ce(e,t){if(e.root===ae)return t.parent=ae,t.left=ae,t.right=ae,Z(t,0),e.root=t,e.root;!function(e,t){let i=0,n=e.root;const s=t.start,o=t.end;for(;;){if(be(s,o,n.start+i,n.end+i)<0){if(n.left===ae){t.start-=i,t.end-=i,t.maxEnd-=i,n.left=t;break}n=n.left}else{if(n.right===ae){t.start-=i+n.delta,t.end-=i+n.delta,t.maxEnd-=i+n.delta,n.right=t;break}i+=n.delta,n=n.right}}t.parent=n,t.left=ae,t.right=ae,Z(t,1)}(e,t),ve(t.parent);let i=t;for(;i!==e.root&&1===Y(i.parent);)if(i.parent===i.parent.parent.left){const t=i.parent.parent.right;1===Y(t)?(Z(i.parent,0),Z(t,0),Z(i.parent.parent,1),i=i.parent.parent):(i===i.parent.right&&(i=i.parent,pe(e,i)),Z(i.parent,0),Z(i.parent.parent,1),me(e,i.parent.parent))}else{const t=i.parent.parent.left;1===Y(t)?(Z(i.parent,0),Z(t,0),Z(i.parent.parent,1),i=i.parent.parent):(i===i.parent.left&&(i=i.parent,me(e,i)),Z(i.parent,0),Z(i.parent.parent,1),pe(e,i.parent.parent))}return Z(e.root,0),t}function ue(e,t){let i,n;if(t.left===ae?(i=t.right,n=t,i.delta+=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta):t.right===ae?(i=t.left,n=t):(n=function(e){for(;e.left!==ae;)e=e.left;return e}(t.right),i=n.right,i.start+=n.delta,i.end+=n.delta,i.delta+=n.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,n.delta=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0)),n===e.root)return e.root=i,Z(i,0),t.detach(),ge(),_e(i),void(e.root.parent=ae);const s=1===Y(n);if(n===n.parent.left?n.parent.left=i:n.parent.right=i,n===t?i.parent=n.parent:(n.parent===t?i.parent=n:i.parent=n.parent,n.left=t.left,n.right=t.right,n.parent=t.parent,Z(n,Y(t)),t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==ae&&(n.left.parent=n),n.right!==ae&&(n.right.parent=n)),t.detach(),s)return ve(i.parent),n!==t&&(ve(n),ve(n.parent)),void ge();let o;for(ve(i),ve(i.parent),n!==t&&(ve(n),ve(n.parent));i!==e.root&&0===Y(i);)i===i.parent.left?(o=i.parent.right,1===Y(o)&&(Z(o,0),Z(i.parent,1),pe(e,i.parent),o=i.parent.right),0===Y(o.left)&&0===Y(o.right)?(Z(o,1),i=i.parent):(0===Y(o.right)&&(Z(o.left,0),Z(o,1),me(e,o),o=i.parent.right),Z(o,Y(i.parent)),Z(i.parent,0),Z(o.right,0),pe(e,i.parent),i=e.root)):(o=i.parent.left,1===Y(o)&&(Z(o,0),Z(i.parent,1),me(e,i.parent),o=i.parent.left),0===Y(o.left)&&0===Y(o.right)?(Z(o,1),i=i.parent):(0===Y(o.left)&&(Z(o.right,0),Z(o,1),pe(e,o),o=i.parent.left),Z(o,Y(i.parent)),Z(i.parent,0),Z(o.left,0),me(e,i.parent),i=e.root));Z(i,0),ge()}function ge(){ae.parent=ae,ae.delta=0,ae.start=0,ae.end=0}function pe(e,t){const i=t.right;i.delta+=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,t.right=i.left,i.left!==ae&&(i.left.parent=t),i.parent=t.parent,t.parent===ae?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i,_e(t),_e(i)}function me(e,t){const i=t.left;t.delta-=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=i.delta,t.end-=i.delta,t.left=i.right,i.right!==ae&&(i.right.parent=t),i.parent=t.parent,t.parent===ae?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i,_e(t),_e(i)}function fe(e){let t=e.end;if(e.left!==ae){const i=e.left.maxEnd;i>t&&(t=i)}if(e.right!==ae){const i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function _e(e){e.maxEnd=fe(e)}function ve(e){for(;e!==ae;){const t=fe(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function be(e,t,i,n){return e===i?t-n:e-i}class Ce{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==we)return ye(this.right);let e=this;for(;e.parent!==we&&e.parent.left!==e;)e=e.parent;return e.parent===we?we:e.parent}prev(){if(this.left!==we)return Se(this.left);let e=this;for(;e.parent!==we&&e.parent.right!==e;)e=e.parent;return e.parent===we?we:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const we=new Ce(null,0);function ye(e){for(;e.left!==we;)e=e.left;return e}function Se(e){for(;e.right!==we;)e=e.right;return e}function ke(e){return e===we?0:e.size_left+e.piece.length+ke(e.right)}function Le(e){return e===we?0:e.lf_left+e.piece.lineFeedCnt+Le(e.right)}function xe(){we.parent=we}function De(e,t){const i=t.right;i.size_left+=t.size_left+(t.piece?t.piece.length:0),i.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=i.left,i.left!==we&&(i.left.parent=t),i.parent=t.parent,t.parent===we?e.root=i:t.parent.left===t?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i}function Ne(e,t){const i=t.left;t.left=i.right,i.right!==we&&(i.right.parent=t),i.parent=t.parent,t.size_left-=i.size_left+(i.piece?i.piece.length:0),t.lf_left-=i.lf_left+(i.piece?i.piece.lineFeedCnt:0),t.parent===we?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i}function Ie(e,t){let i,n;if(t.left===we?(n=t,i=n.right):t.right===we?(n=t,i=n.left):(n=ye(t.right),i=n.right),n===e.root)return e.root=i,i.color=0,t.detach(),xe(),void(e.root.parent=we);const s=1===n.color;if(n===n.parent.left?n.parent.left=i:n.parent.right=i,n===t?(i.parent=n.parent,Te(e,i)):(n.parent===t?i.parent=n:i.parent=n.parent,Te(e,i),n.left=t.left,n.right=t.right,n.parent=t.parent,n.color=t.color,t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==we&&(n.left.parent=n),n.right!==we&&(n.right.parent=n),n.size_left=t.size_left,n.lf_left=t.lf_left,Te(e,n)),t.detach(),i.parent.left===i){const t=ke(i),n=Le(i);if(t!==i.parent.size_left||n!==i.parent.lf_left){const s=t-i.parent.size_left,o=n-i.parent.lf_left;i.parent.size_left=t,i.parent.lf_left=n,Me(e,i.parent,s,o)}}if(Te(e,i.parent),s)return void xe();let o;for(;i!==e.root&&0===i.color;)i===i.parent.left?(o=i.parent.right,1===o.color&&(o.color=0,i.parent.color=1,De(e,i.parent),o=i.parent.right),0===o.left.color&&0===o.right.color?(o.color=1,i=i.parent):(0===o.right.color&&(o.left.color=0,o.color=1,Ne(e,o),o=i.parent.right),o.color=i.parent.color,i.parent.color=0,o.right.color=0,De(e,i.parent),i=e.root)):(o=i.parent.left,1===o.color&&(o.color=0,i.parent.color=1,Ne(e,i.parent),o=i.parent.left),0===o.left.color&&0===o.right.color?(o.color=1,i=i.parent):(0===o.left.color&&(o.right.color=0,o.color=1,De(e,o),o=i.parent.left),o.color=i.parent.color,i.parent.color=0,o.left.color=0,Ne(e,i.parent),i=e.root));i.color=0,xe()}function Ee(e,t){for(Te(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;1===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&De(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Ne(e,t.parent.parent))}else{const i=t.parent.parent.left;1===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&Ne(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,De(e,t.parent.parent))}e.root.color=0}function Me(e,t,i,n){for(;t!==e.root&&t!==we;)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=n),t=t.parent}function Te(e,t){let i=0,n=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(i=ke((t=t.parent).left)-t.size_left,n=Le(t.left)-t.lf_left,t.size_left+=i,t.lf_left+=n;t!==e.root&&(0!==i||0!==n);)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=n),t=t.parent}}we.parent=we,we.left=we,we.right=we,we.color=0;var Re=i(104);const Ae=65535;function Pe(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class Oe{constructor(e,t,i,n,s){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=n,this.isBasicASCII=s}}function Fe(e,t=!0){const i=[0];let n=1;for(let s=0,o=e.length;s(e!==we&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class Ve{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let n=0;n=e)&&(i[n]=null,t=!0)}if(t){const e=[];for(const t of i)null!==t&&e.push(t);this._cache=e}}}class ze{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new Be("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=we,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let n=null;for(let s=0,o=e.length;s0){e[s].lineStarts||(e[s].lineStarts=Fe(e[s].buffer));const t=new We(s+1,{line:0,column:0},{line:e[s].lineStarts.length-1,column:e[s].buffer.length-e[s].lineStarts[e[s].lineStarts.length-1]},e[s].lineStarts.length-1,e[s].buffer.length);this._buffers.push(e[s]),n=this.rbInsertRight(n,t)}this._searchCache=new Ve(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=Ae,i=t-Math.floor(21845),n=2*i;let s="",o=0;const r=[];if(this.iterate(this.root,(t=>{const a=this.getNodeContent(t),l=a.length;if(o<=i||o+l0){const t=s.replace(/\r\n|\r|\n/g,e);r.push(new Be(t,Fe(t)))}this.create(r,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new He(this,e)}getOffsetAt(e,t){let i=0,n=this.root;for(;n!==we;)if(n.left!==we&&n.lf_left+1>=e)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt+1>=e){i+=n.size_left;return i+(this.getAccumulatedValue(n,e-n.lf_left-2)+t-1)}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const n=e;for(;t!==we;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const s=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+s.index,0===s.index){const e=n-this.getOffsetAt(i+1,1);return new u.y(i+1,e+1)}return new u.y(i+1,s.remainder+1)}if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===we){const t=n-e-this.getOffsetAt(i+1,1);return new u.y(i+1,t+1)}t=t.right}return new u.y(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),n=this.nodeAt2(e.endLineNumber,e.endColumn),s=this.getValueInRange2(i,n);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?s:s.replace(/\r\n|\r|\n/g,t):s}getValueInRange2(e,t){if(e.node===t.node){const i=e.node,n=this._buffers[i.piece.bufferIndex].buffer,s=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n.substring(s+e.remainder,s+t.remainder)}let i=e.node;const n=this._buffers[i.piece.bufferIndex].buffer,s=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let o=n.substring(s+e.remainder,s+i.piece.length);for(i=i.next();i!==we;){const e=this._buffers[i.piece.bufferIndex].buffer,n=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){o+=e.substring(n,n+t.remainder);break}o+=e.substr(n,i.piece.length),i=i.next()}return o}getLinesContent(){const e=[];let t=0,i="",n=!1;return this.iterate(this.root,(s=>{if(s===we)return!0;const o=s.piece;let r=o.length;if(0===r)return!0;const a=this._buffers[o.bufferIndex].buffer,l=this._buffers[o.bufferIndex].lineStarts,h=o.start.line,d=o.end.line;let c=l[h]+o.start.column;if(n&&(10===a.charCodeAt(c)&&(c++,r--),e[t++]=i,i="",n=!1,0===r))return!0;if(h===d)return this._EOLNormalized||13!==a.charCodeAt(c+r-1)?i+=a.substr(c,r):(n=!0,i+=a.substr(c,r-1)),!0;i+=this._EOLNormalized?a.substring(c,Math.max(c,l[h+1]-this._EOLLength)):a.substring(c,l[h+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let n=h+1;ne+p,t.reset(0)):(v=c.buffer,b=e=>e,t.reset(p));do{if(f=t.next(v),f){if(b(f.index)>=m)return h;this.positionInBuffer(e,b(f.index)-u,_);const t=this.getLineFeedCnt(e.piece.bufferIndex,s,_),o=_.line===s.line?_.column-s.column+n:_.column+1,r=o+f[0].length;if(d[h++]=(0,Re.dr)(new g.Q(i+t,o,i+t,r),f,a),b(f.index)+f[0].length>=m)return h;if(h>=l)return h}}while(f);return h}findMatchesLineByLine(e,t,i,n){const s=[];let o=0;const r=new Re.W5(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let h=this.positionInBuffer(a.node,a.remainder);const d=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,r,e.startLineNumber,e.startColumn,h,d,t,i,n,o,s),s;let c=e.startLineNumber,u=a.node;for(;u!==l.node;){const l=this.getLineFeedCnt(u.piece.bufferIndex,h,u.piece.end);if(l>=1){const a=this._buffers[u.piece.bufferIndex].lineStarts,d=this.offsetInBuffer(u.piece.bufferIndex,u.piece.start),g=a[h.line+l],p=c===e.startLineNumber?e.startColumn:1;if(o=this.findMatchesInNode(u,r,c,p,h,this.positionInBuffer(u,g-d),t,i,n,o,s),o>=n)return s;c+=l}const d=c===e.startLineNumber?e.startColumn-1:0;if(c===e.endLineNumber){const a=this.getLineContent(c).substring(d,e.endColumn-1);return o=this._findMatchesInLine(t,r,a,e.endLineNumber,d,o,s,i,n),s}if(o=this._findMatchesInLine(t,r,this.getLineContent(c).substr(d),c,d,o,s,i,n),o>=n)return s;c++,a=this.nodeAt2(c,1),u=a.node,h=this.positionInBuffer(a.node,a.remainder)}if(c===e.endLineNumber){const a=c===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(c).substring(a,e.endColumn-1);return o=this._findMatchesInLine(t,r,l,e.endLineNumber,a,o,s,i,n),s}const g=c===e.startLineNumber?e.startColumn:1;return o=this.findMatchesInNode(l.node,r,c,g,h,d,t,i,n,o,s),s}_findMatchesInLine(e,t,i,n,s,o,r,a,l){const h=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,d=i.length;let c=-a;for(;-1!==(c=i.indexOf(t,c+a));)if((!h||(0,Re.wC)(h,i,d,c,a))&&(r[o++]=new v.Dg(new g.Q(n,c+1+s,n,c+1+a+s),null),o>=l))return o;return o}let d;t.reset(0);do{if(d=t.next(i),d&&(r[o++]=(0,Re.dr)(new g.Q(n,d.index+1+s,n,d.index+1+d[0].length+s),d,a),o>=l))return o}while(d);return o}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==we){const{node:i,remainder:n,nodeStartOffset:s}=this.nodeAt(e),o=i.piece,r=o.bufferIndex,a=this.positionInBuffer(i,n);if(0===i.piece.bufferIndex&&o.end.line===this._lastChangeBufferPos.line&&o.end.column===this._lastChangeBufferPos.column&&s+o.length===e&&t.lengthe){const e=[];let s=new We(o.bufferIndex,a,o.end,this.getLineFeedCnt(o.bufferIndex,a,o.end),this.offsetInBuffer(r,o.end)-this.offsetInBuffer(r,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)){if(10===this.nodeCharCodeAt(i,n)){const e={line:s.start.line+1,column:0};s=new We(s.bufferIndex,e,s.end,this.getLineFeedCnt(s.bufferIndex,e,s.end),s.length-1),t+="\n"}}if(this.shouldCheckCRLF()&&this.startWithLF(t)){if(13===this.nodeCharCodeAt(i,n-1)){const s=this.positionInBuffer(i,n-1);this.deleteNodeTail(i,s),t="\r"+t,0===i.piece.length&&e.push(i)}else this.deleteNodeTail(i,a)}else this.deleteNodeTail(i,a);const l=this.createNewPieces(t);s.length>0&&this.rbInsertRight(i,s);let h=i;for(let t=0;t=0;o--)s=this.rbInsertLeft(s,n[o]);this.validateCRLFWithPrevNode(s),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const i=this.createNewPieces(e),n=this.rbInsertRight(t,i[0]);let s=n;for(let o=1;o=d))break;a=h+1}return i?(i.line=h,i.column=r-c,null):{line:h,column:r-c}}getLineFeedCnt(e,t,i){if(0===i.column)return i.line-t.line;const n=this._buffers[e].lineStarts;if(i.line===n.length-1)return i.line-t.line;const s=n[i.line+1],o=n[i.line]+i.column;if(s>o+1)return i.line-t.line;const r=o-1;return 13===this._buffers[e].buffer.charCodeAt(r)?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;tAe){const t=[];for(;e.length>Ae;){const i=e.charCodeAt(65534);let n;13===i||i>=55296&&i<=56319?(n=e.substring(0,65534),e=e.substring(65534)):(n=e.substring(0,Ae),e=e.substring(Ae));const s=Fe(n);t.push(new We(this._buffers.length,{line:0,column:0},{line:s.length-1,column:n.length-s[s.length-1]},s.length-1,n.length)),this._buffers.push(new Be(n,s))}const i=Fe(e);return t.push(new We(this._buffers.length,{line:0,column:0},{line:i.length-1,column:e.length-i[i.length-1]},i.length-1,e.length)),this._buffers.push(new Be(e,i)),t}let t=this._buffers[0].buffer.length;const i=Fe(e,!1);let n=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},n=this._lastChangeBufferPos;for(let e=0;e=e-1)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt>e-1){const n=this.getAccumulatedValue(i,e-i.lf_left-2),r=this.getAccumulatedValue(i,e-i.lf_left-1),a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return s+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:s,nodeStartLineNumber:o-(e-1-i.lf_left)}),a.substring(l+n,l+r-t)}if(i.lf_left+i.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(i,e-i.lf_left-2),s=this._buffers[i.piece.bufferIndex].buffer,o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n=s.substring(o+t,o+i.piece.length);break}e-=i.lf_left+i.piece.lineFeedCnt,s+=i.size_left+i.piece.length,i=i.right}}for(i=i.next();i!==we;){const e=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const s=this.getAccumulatedValue(i,0),o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n+=e.substring(o,o+s-t),n}{const t=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n+=e.substr(t,i.piece.length)}i=i.next()}return n}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==we;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,n=this.positionInBuffer(e,t),s=n.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,i.start,n);if(t!==s)return{index:t,remainder:0}}return{index:s,remainder:n.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,n=this._buffers[i.bufferIndex].lineStarts,s=i.start.line+t+1;return s>i.end.line?n[i.end.line]+i.end.column-n[i.start.line]-i.start.column:n[s]-n[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,n=i.lineFeedCnt,s=this.offsetInBuffer(i.bufferIndex,i.end),o=t,r=this.offsetInBuffer(i.bufferIndex,o),a=this.getLineFeedCnt(i.bufferIndex,i.start,o),l=a-n,h=r-s,d=i.length+h;e.piece=new We(i.bufferIndex,i.start,o,a,d),Me(this,e,h,l)}deleteNodeHead(e,t){const i=e.piece,n=i.lineFeedCnt,s=this.offsetInBuffer(i.bufferIndex,i.start),o=t,r=this.getLineFeedCnt(i.bufferIndex,o,i.end),a=r-n,l=s-this.offsetInBuffer(i.bufferIndex,o),h=i.length+l;e.piece=new We(i.bufferIndex,o,i.end,r,h),Me(this,e,l,a)}shrinkNode(e,t,i){const n=e.piece,s=n.start,o=n.end,r=n.length,a=n.lineFeedCnt,l=t,h=this.getLineFeedCnt(n.bufferIndex,n.start,l),d=this.offsetInBuffer(n.bufferIndex,t)-this.offsetInBuffer(n.bufferIndex,s);e.piece=new We(n.bufferIndex,n.start,l,h,d),Me(this,e,d-r,h-a);const c=new We(n.bufferIndex,i,o,this.getLineFeedCnt(n.bufferIndex,i,o),this.offsetInBuffer(n.bufferIndex,o)-this.offsetInBuffer(n.bufferIndex,i)),u=this.rbInsertRight(e,c);this.validateCRLFWithPrevNode(u)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),n=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const s=Fe(t,!1);for(let c=0;ce)t=t.left;else{if(t.size_left+t.piece.length>=e){n+=t.size_left;const i={node:t,remainder:e-t.size_left,nodeStartOffset:n};return this._searchCache.set(i),i}e-=t.size_left+t.piece.length,n+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let i=this.root,n=0;for(;i!==we;)if(i.left!==we&&i.lf_left>=e-1)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt>e-1){const s=this.getAccumulatedValue(i,e-i.lf_left-2),o=this.getAccumulatedValue(i,e-i.lf_left-1);return n+=i.size_left,{node:i,remainder:Math.min(s+t-1,o),nodeStartOffset:n}}if(i.lf_left+i.piece.lineFeedCnt===e-1){const s=this.getAccumulatedValue(i,e-i.lf_left-2);if(s+t-1<=i.piece.length)return{node:i,remainder:s+t-1,nodeStartOffset:n};t-=i.piece.length-s;break}e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==we;){if(i.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(i,0),n=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,e),nodeStartOffset:n}}if(i.piece.length>=t-1){return{node:i,remainder:t-1,nodeStartOffset:this.offsetOfNode(i)}}t-=i.piece.length,i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(n)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===we||0===e.piece.lineFeedCnt)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,n=t.start.line,s=i[n]+t.start.column;if(n===i.length-1)return!1;return!(i[n+1]>s+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(s)}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==we&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],n=this._buffers[e.piece.bufferIndex].lineStarts;let s;s=0===e.piece.end.column?{line:e.piece.end.line-1,column:n[e.piece.end.line]-n[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const o=e.piece.length-1,r=e.piece.lineFeedCnt-1;e.piece=new We(e.piece.bufferIndex,e.piece.start,s,r,o),Me(this,e,-1,-1),0===e.piece.length&&i.push(e);const a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,h=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new We(t.piece.bufferIndex,a,t.piece.end,h,l),Me(this,t,-1,-1),0===t.piece.length&&i.push(t);const d=this.createNewPieces("\r\n");this.rbInsertRight(e,d[0]);for(let c=0;ce.sortIndex-t.sortIndex))}this._mightContainRTL=n,this._mightContainUnusualLineTerminators=s,this._mightContainNonBasicASCII=o;const p=this._doApplyEdits(a);let m=null;if(t&&u.length>0){u.sort(((e,t)=>t.lineNumber-e.lineNumber)),m=[];for(let e=0,t=u.length;e0&&u[e-1].lineNumber===t)continue;const i=u[e].oldContent,n=this.getLineContent(t);0!==n.length&&n!==i&&-1===l.HG(n)&&m.push(t)}}return this._onDidChangeContent.fire(),new v.F4(g,p,m)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,n=e[e.length-1].range,s=new g.Q(i.startLineNumber,i.startColumn,n.endLineNumber,n.endColumn);let o=i.startLineNumber,r=i.startColumn;const a=[];for(let d=0,p=e.length;d0&&a.push(i.text),o=n.endLineNumber,r=n.endColumn}const l=a.join(""),[h,c,u]=(0,d.W)(l);return{sortIndex:0,identifier:e[0].identifier,range:s,rangeOffset:this.getOffsetAt(s.startLineNumber,s.startColumn),rangeLength:this.getValueLengthInRange(s,0),text:l,eolCount:h,firstLineLength:c,lastLineLength:u,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(Ke._sortOpsDescending);const t=[];for(let i=0;i0){const e=r.eolCount+1;h=1===e?new g.Q(a,l,a,l+r.firstLineLength):new g.Q(a,l,a+e-1,r.lastLineLength+1)}else h=new g.Q(a,l,a,l);i=h.endLineNumber,n=h.endColumn,t.push(h),s=r}return t}static _sortOpsAscending(e,t){const i=g.Q.compareRangesUsingEnds(e.range,t.range);return 0===i?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=g.Q.compareRangesUsingEnds(e.range,t.range);return 0===i?t.sortIndex-e.sortIndex:-i}}class je{constructor(e,t,i,n,s,o,r,a,l){this._chunks=e,this._bom=t,this._cr=i,this._lf=n,this._crlf=s,this._containsRTL=o,this._containsUnusualLineTerminators=r,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":i>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let s=0,o=i.length;s=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let i=1,n=0,s=0,o=0,r=!0;for(let l=0,h=t.length;l126)&&(r=!1)}const a=new Oe(Pe(e),n,s,o,r);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new Be(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=l.E_(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=l.$X(e)))}finish(e=!0){return this._finish(),new je(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=Fe(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var qe=i(79955),Ge=i(18782),Qe=i(29694),Ye=i(32177),Ze=i(65958),Xe=i(63339),Je=i(23013),et=i(72532),tt=i(97036);class it{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,i){if(e>=this._store.length)return;if(0===t)return void this.insert(e,i);if(0===i)return void this.delete(e,t);const n=this._store.slice(0,e),s=this._store.slice(e+t),o=function(e,t){const i=[];for(let n=0;n=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const i=[];for(let n=0;n0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e)return void i.appendLineTokens(t)}this._tokens.push(new nt(e,[t]))}finalize(){return this._tokens}}var ot=i(57445);class rt{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new lt(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class at extends rt{constructor(e,t,i,n){super(e,t),this._textModel=i,this._languageIdCodec=n}updateTokensUntilLine(e,t){const i=this._textModel.getLanguageId();for(;;){const n=this.getFirstInvalidLine();if(!n||n.lineNumber>t)break;const s=this._textModel.getLineContent(n.lineNumber),o=ct(this._languageIdCodec,i,this.tokenizationSupport,s,!0,n.startState);e.add(n.lineNumber,o.tokens),this.store.setEndState(n.lineNumber,o.endState)}}getTokenTypeIfInsertingCharacter(e,t){const i=this.getStartState(e.lineNumber);if(!i)return 0;const n=this._textModel.getLanguageId(),s=this._textModel.getLineContent(e.lineNumber),o=s.substring(0,e.column-1)+t+s.substring(e.column-1),r=ct(this._languageIdCodec,n,this.tokenizationSupport,o,!0,i),a=new ot.f(r.tokens,o,this._languageIdCodec);if(0===a.getCount())return 0;const l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,i){const n=e.lineNumber,s=e.column,o=this.getStartState(n);if(!o)return null;const r=this._textModel.getLineContent(n),a=r.substring(0,s-1)+i+r.substring(s-1+t),l=this._textModel.getLanguageIdAtPosition(n,0),h=ct(this._languageIdCodec,l,this.tokenizationSupport,a,!0,o);return new ot.f(h.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e1&&r>=1;r--){const e=this._textModel.getLineFirstNonWhitespaceColumn(r);if(0!==e&&(e0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}}class dt{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex((t=>t.contains(e)));if(-1!==t){const i=this._ranges[t];i.start===e?i.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new et.L(e+1,i.endExclusive):i.endExclusive===e+1?this._ranges[t]=new et.L(i.start,e):this._ranges.splice(t,1,new et.L(i.start,e),new et.L(e+1,i.endExclusive))}}addRange(e){et.L.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let n=i;for(;!(n>=this._ranges.length||e.endExclusivee.toString())).join(" + ")}}function ct(e,t,i,n,s,r){let a=null;if(i)try{a=i.tokenizeEncoded(n,s,r.clone())}catch(l){(0,o.dz)(l)}return a||(a=(0,tt.Lh)(e.encodeLanguageId(t),r)),ot.f.convertToEndOffset(a.tokens,n.length),a}class ut{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,Ze.$6)((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new qe.M(e,t))}}class gt{constructor(){this._onDidChangeVisibleRanges=new r.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new pt((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class pt{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const i=e.map((e=>new qe.M(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}class mt extends a.jG{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Ze.uC((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,n.aI)(this._computedLineRanges,this._lineRanges,((e,t)=>e.equals(t)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class ft extends a.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,i){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=i,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new r.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new r.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class _t extends ft{constructor(e,t,i,n){super(t,i,n),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=Qe.OB.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const i=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(i)return new ot.f(i,t,this._languageIdCodec)}return ot.f.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,i){return 0}tokenizeLineWithEdit(e,t,i){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}var vt=i(35320);const bt=new Uint32Array(0).buffer;class Ct{static deleteBeginning(e,t){return null===e||e===bt?e:Ct.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===bt)return e;const i=wt(e),n=i[i.length-2];return Ct.delete(e,t,n)}static delete(e,t,i){if(null===e||e===bt||t===i)return e;const n=wt(e),s=n.length>>>1;if(0===t&&n[n.length-2]===i)return bt;const o=ot.f.findIndexInTokensArray(n,t),r=o>0?n[o-1<<1]:0;if(il&&(n[a++]=e,n[a++]=n[1+(c<<1)],l=e)}if(a===n.length)return e;const d=new Uint32Array(a);return d.set(n.subarray(0,a),0),d.buffer}static append(e,t){if(t===bt)return e;if(e===bt)return t;if(null===e)return e;if(null===t)return null;const i=wt(e),n=wt(t),s=n.length>>>1,o=new Uint32Array(i.length+n.length);o.set(i,0);let r=i.length;const a=i[i.length-2];for(let l=0;l>>1;let o=ot.f.findIndexInTokensArray(n,t);if(o>0){n[o-1<<1]===t&&o--}for(let r=o;r0}getTokens(e,t,i){let n=null;if(t1&&(t=yt.x.getLanguageId(n[1])!==e),!t)return bt}if(!n||0===n.length){const i=new Uint32Array(2);return i[0]=t,i[1]=kt(e),i.buffer}return n[n.length-2]=t,0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const i=[];for(let n=0;n=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=Ct.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=Ct.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let n=null;i=this._len||(0!==t?(this._lineTokens[n]=Ct.deleteEnding(this._lineTokens[n],e.column-1),this._lineTokens[n]=Ct.insert(this._lineTokens[n],e.column-1,i),this._insertLines(e.lineNumber,t)):this._lineTokens[n]=Ct.insert(this._lineTokens[n],e.column-1,i))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const i=[];for(let n=0,s=e.length;n>>0}class Lt{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){const n=t[0].getRange(),s=t[t.length-1].getRange();if(!n||!s)return e;i=e.plusRange(n).plusRange(s)}let s=null;for(let n=0,o=this._pieces.length;ni.endLineNumber){s=s||{index:n};break}if(e.removeTokens(i),e.isEmpty()){this._pieces.splice(n,1),n--,o--;continue}if(e.endLineNumberi.endLineNumber){s=s||{index:n};continue}const[t,r]=e.split(i);t.isEmpty()?s=s||{index:n}:r.isEmpty()||(this._pieces.splice(n,1,t,r),n++,o++,s=s||{index:n})}return s=s||{index:this._pieces.length},t.length>0&&(this._pieces=n.nK(this._pieces,s.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const i=this._pieces;if(0===i.length)return t;const n=i[Lt._findFirstPieceWithLine(i,e)].getLineTokens(e);if(!n)return t;const s=t.getCount(),o=n.getCount();let r=0;const a=[];let l=0,h=0;const d=(e,t)=>{e!==h&&(h=e,a[l++]=e,a[l++]=t)};for(let c=0;c>>0,l=~a>>>0;for(;rt)){for(;s>i&&e[s-1].startLineNumber<=t&&t<=e[s-1].endLineNumber;)s--;return s}n=s-1}}return i}acceptEdit(e,t,i,n,s){for(const o of this._pieces)o.acceptEdit(e,t,i,n,s)}}var xt,Dt=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Nt=function(e,t){return function(i,n){t(i,n,e)}};let It=xt=class extends Ye._{constructor(e,t,i,n,s,o,l){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=i,this._attachedViews=n,this._languageService=s,this._languageConfigurationService=o,this._treeSitterService=l,this._semanticTokens=new Lt(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new r.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new r.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new r.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new a.Cm),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(r.Jh.filter(Qe.OB.onDidChange,(e=>e.changedLanguages.includes(this._languageId)))((()=>{this.createPreferredTokenProvider()}))),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new Et(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews))}createTreeSitterTokens(){return this._register(new _t(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,(()=>this._languageId)))}createTokens(e){const t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){Qe.OB.get(this._languageId)?this._tokens instanceof _t||this.createTokens(!0):this._tokens instanceof Et||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,i,n]=(0,d.W)(t.text);this._semanticTokens.acceptEdit(t.range,e,i,n,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new o.D7("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this._tokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),n=this.getLineTokens(t.lineNumber),s=n.findTokenIndexAtOffset(t.column-1),[o,r]=xt._findLanguageBoundaries(n,s),a=(0,Ge.Th)(t.column,this.getLanguageConfiguration(n.getLanguageId(s)).getWordDefinition(),i.substring(o,r),o);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(s>0&&o===t.column-1){const[o,r]=xt._findLanguageBoundaries(n,s-1),a=(0,Ge.Th)(t.column,this.getLanguageConfiguration(n.getLanguageId(s-1)).getWordDefinition(),i.substring(o,r),o);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const i=e.getLanguageId(t);let n=0;for(let o=t;o>=0&&e.getLanguageId(o)===i;o--)n=e.getStartOffset(o);let s=e.getLineContent().length;for(let o=t,r=e.getCount();o{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(n.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let i=this._attachedViewStates.get(e);i||(i=new mt((()=>this.refreshRanges(i.lineRanges))),this._attachedViewStates.set(e,i)),i.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new lt(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[t,i]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=Qe.dG.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(i){return(0,o.dz)(i),[null,null]}return[e,t]})();if(this._tokenizer=t&&i?new at(this._textModel.getLineCount(),t,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{if(2===this._backgroundTokenizationState)return;this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(e,t)=>{if(!this._tokenizer)return;const i=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==i&&e>=i&&this._tokenizer?.store.setEndState(e,t)}};t&&t.createBackgroundTokenizer&&!t.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new ut(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),t?.backgroundTokenizerShouldOnlyVerifyTokens&&t.createBackgroundTokenizer?(this._debugBackgroundTokens=new St(this._languageIdCodec),this._debugBackgroundStates=new lt(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[e,i]=(0,d.W)(t.text);this._tokens.acceptEdit(t.range,e,i),this._debugBackgroundTokens?.acceptEdit(t.range,e,i)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=qe.M.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const i=new st,{heuristicTokens:n}=this._tokenizer.tokenizeHeuristically(i,e,t),s=this.setTokens(i.finalize());if(n)for(const o of s.changes)this._backgroundTokenizer.value?.requestTokens(o.fromLineNumber,o.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new st;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){const t=this._textModel.getLineContent(e),i=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const n=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!i.equals(n)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return i}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;const n=this._textModel.validatePosition(new u.y(e,t));return this.forceTokenization(n.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(n,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;const n=this._textModel.validatePosition(e);return this.forceTokenization(n.lineNumber),this._tokenizer.tokenizeLineWithEdit(n,t,i)}get hasTokens(){return this._tokens.hasTokens}}var Mt,Tt=i(83455),Rt=i(82399),At=i(38803),Pt=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Ot=function(e,t){return function(i,n){t(i,n,e)}};function Ft(e,t){let i;return i="string"==typeof e?function(e){const t=new $e;return t.acceptChunk(e),t.finish()}(e):v.nk(e)?function(e){const t=new $e;let i;for(;"string"==typeof(i=e.read());)t.acceptChunk(i);return t.finish()}(e):e,i.create(t)}let Wt=0;class Bt{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,i=0;for(;;){const n=this._source.read();if(null===n)return this._eos=!0,0===t?null:e.join("");if(n.length>0&&(e[t++]=n,i+=n.length),i>=65536)return e.join("")}}}const Ht=()=>{throw new Error("Invalid change accessor")};let Vt=class extends a.jG{static{Mt=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:m.R.tabSize,indentSize:m.R.indentSize,insertSpaces:m.R.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:m.R.trimAutoWhitespace,largeFileOptimizations:m.R.largeFileOptimizations,bracketPairColorizationOptions:m.R.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){const i=Q(e,t.tabSize,t.insertSpaces);return new v.X2({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new v.X2(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return(0,a.qE)(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,i,n=null,s,o,d,c){super(),this._undoRedoService=s,this._languageService=o,this._languageConfigurationService=d,this.instantiationService=c,this._onWillDispose=this._register(new r.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new ei((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new r.vl),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new r.vl),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new r.vl),this._eventEmitter=this._register(new ti),this._languageSelectionListener=this._register(new a.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new gt,Wt++,this.id="$model"+Wt,this.isForSimpleWidget=i.isForSimpleWidget,this._associatedResource=null==n?h.r.parse("inmemory://model/"+Wt):n,this._attachedEditorCount=0;const{textBuffer:u,disposable:p}=Ft(e,i.defaultEOL);this._buffer=u,this._bufferDisposable=p,this._options=Mt.resolveOptions(this._buffer,i);const m="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange((()=>this._setLanguage(t.languageId)))),this._bracketPairs=this._register(new F(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new $.P(this,this._languageConfigurationService)),this._decorationProvider=this._register(new U(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(It,this,this._bracketPairs,m,this._attachedViews);const f=this._buffer.getLineCount(),_=this._buffer.getValueLengthInRange(new g.Q(1,1,f,this._buffer.getLineLength(f)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=_>Mt.LARGE_FILE_SIZE_THRESHOLD||f>Mt.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=_>Mt.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=_>Mt._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=l.tk(Wt),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Kt,this._commandManager=new j.z8(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(m),this._register(this._languageConfigurationService.onDidChange((e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)})))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new Ke([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=a.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new o.D7("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new Tt.Ic(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,o.Qg)();const{textBuffer:t,disposable:i}=Ft(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,n,s,o,r,a){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:n}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:s,isRedoing:o,isFlush:r}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),s=this.getLineCount(),o=this.getLineMaxColumn(s);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new Kt,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Tt.HP([new Tt.Wn],this._versionId,!1,!1),this._createContentChanged2(new g.Q(1,1,s,o),0,n,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),s=this.getLineCount(),o=this.getLineMaxColumn(s);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Tt.HP([new Tt.mS],this._versionId,!1,!1),this._createContentChanged2(new g.Q(1,1,s,o),0,n,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,n=t.length;i0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let n=1;n<=i;n++){const i=this._buffer.getLineLength(n);i>=1e4?t+=i:e+=i}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,i=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,n=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,s=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,o=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,r=new v.X2({tabSize:t,indentSize:i,insertSpaces:n,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:s,bracketPairColorizationOptions:o});if(this._options.equals(r))return;const a=this._options.createChangeEvent(r);this._options=r,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const i=Q(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),(0,c.P)(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(l._J.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map((e=>({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new o.D7("Operation would exceed heap memory limits");const i=this.getFullModelRange(),n=this.getValueInRange(i,e);return t?this._buffer.getBOM()+n:n}createSnapshot(e=!1){return new Bt(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+n:n}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new o.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,n=e.startColumn;let s=Math.floor("number"!=typeof i||isNaN(i)?1:i),o=Math.floor("number"!=typeof n||isNaN(n)?1:n);if(s<1)s=1,o=1;else if(s>t)s=t,o=this.getLineMaxColumn(s);else if(o<=1)o=1;else{const e=this.getLineMaxColumn(s);o>=e&&(o=e)}const r=e.endLineNumber,a=e.endColumn;let l=Math.floor("number"!=typeof r||isNaN(r)?1:r),h=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,h=1;else if(l>t)l=t,h=this.getLineMaxColumn(l);else if(h<=1)h=1;else{const e=this.getLineMaxColumn(l);h>=e&&(h=e)}return i===s&&n===o&&r===l&&a===h&&e instanceof g.Q&&!(e instanceof p.L)?e:new g.Q(s,o,l,h)}_isValidPosition(e,t,i){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===i){const i=this._buffer.getLineCharCode(e,t-2);if(l.pc(i))return!1}return!0}_validatePosition(e,t,i){const n=Math.floor("number"!=typeof e||isNaN(e)?1:e),s=Math.floor("number"!=typeof t||isNaN(t)?1:t),o=this._buffer.getLineCount();if(n<1)return new u.y(1,1);if(n>o)return new u.y(o,this.getLineMaxColumn(o));if(s<=1)return new u.y(n,1);const r=this.getLineMaxColumn(n);if(s>=r)return new u.y(n,r);if(1===i){const e=this._buffer.getLineCharCode(n,s-2);if(l.pc(e))return new u.y(n,s-1)}return new u.y(n,s)}validatePosition(e){return this._assertNotDisposed(),e instanceof u.y&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,o=e.endColumn;if(!this._isValidPosition(i,n,0))return!1;if(!this._isValidPosition(s,o,0))return!1;if(1===t){const e=n>1?this._buffer.getLineCharCode(i,n-2):0,t=o>1&&o<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,o-2):0,r=l.pc(e),a=l.pc(t);return!r&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof g.Q&&!(e instanceof p.L)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),i=this._validatePosition(e.endLineNumber,e.endColumn,0),n=t.lineNumber,s=t.column,o=i.lineNumber,r=i.column;{const e=s>1?this._buffer.getLineCharCode(n,s-2):0,t=r>1&&r<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,r-2):0,i=l.pc(e),a=l.pc(t);return i||a?n===o&&s===r?new g.Q(n,s-1,o,r-1):i&&a?new g.Q(n,s-1,o,r+1):i?new g.Q(n,s-1,o,r):new g.Q(n,s,o,r+1):new g.Q(n,s,o,r)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new g.Q(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,n){return this._buffer.findMatchesLineByLine(e,t,i,n)}findMatches(e,t,i,n,s,o,r=999){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>g.Q.isIRange(e)))&&(a=t.map((e=>this.validateRange(e))))),null===a&&(a=[this.getFullModelRange()]),a=a.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const l=[];let h;if(l.push(a.reduce(((e,t)=>g.Q.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t)))),!i&&e.indexOf("\n")<0){const t=new Re.lt(e,i,n,s).parseSearchRequest();if(!t)return[];h=e=>this.findMatchesLineByLine(e,t,o,r)}else h=t=>Re.hB.findMatches(this,new Re.lt(e,i,n,s),t,o,r);return l.map(h).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,i,n,s,o){this._assertNotDisposed();const r=this.validatePosition(t);if(!i&&e.indexOf("\n")<0){const t=new Re.lt(e,i,n,s).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new g.Q(r.lineNumber,r.column,a,this.getLineMaxColumn(a)),h=this.findMatchesLineByLine(l,t,o,1);return Re.hB.findNextMatch(this,new Re.lt(e,i,n,s),r,o),h.length>0?h[0]:(l=new g.Q(1,1,r.lineNumber,this.getLineMaxColumn(r.lineNumber)),h=this.findMatchesLineByLine(l,t,o,1),h.length>0?h[0]:null)}return Re.hB.findNextMatch(this,new Re.lt(e,i,n,s),r,o)}findPreviousMatch(e,t,i,n,s,o){this._assertNotDisposed();const r=this.validatePosition(t);return Re.hB.findPreviousMatch(this,new Re.lt(e,i,n,s),r,o)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof v.Wo?e:new v.Wo(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,n=e.length;i({range:this.validateRange(e.range),text:e.text})));let n=!0;if(e)for(let t=0,s=e.length;ts.endLineNumber,r=s.startLineNumber>t.endLineNumber;if(!n&&!r){o=!0;break}}if(!o){n=!1;break}}if(n)for(let e=0,s=this._trimAutoWhitespaceLines.length;et.endLineNumber)&&!(n===t.startLineNumber&&t.startColumn===s&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(0)||n===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(r.length-1))){o=!1;break}}if(o){const e=new g.Q(n,1,n,s);t.push(new v.Wo(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,n)}_applyUndo(e,t,i,n){const s=e.map((e=>{const t=this.getPositionAt(e.newPosition),i=this.getPositionAt(e.newEnd);return{range:new g.Q(t.lineNumber,t.column,i.lineNumber,i.column),text:e.oldText}}));this._applyUndoRedoEdits(s,t,!0,!1,i,n)}_applyRedo(e,t,i,n){const s=e.map((e=>{const t=this.getPositionAt(e.oldPosition),i=this.getPositionAt(e.oldEnd);return{range:new g.Q(t.lineNumber,t.column,i.lineNumber,i.column),text:e.newText}}));this._applyUndoRedoEdits(s,t,!1,!0,i,n)}_applyUndoRedoEdits(e,t,i,n,s,o){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=n,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(s)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(o),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const i=this._buffer.getLineCount(),s=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),r=s.changes;if(this._trimAutoWhitespaceLines=s.trimAutoWhitespaceLineNumbers,0!==r.length){for(let i=0,n=r.length;i=0;t--){const i=l+t,n=f+t;w.takeFromEndWhile((e=>e.lineNumber>n));const s=w.takeFromEndWhile((e=>e.lineNumber===n));e.push(new Tt.U0(i,this.getLineContent(n),s))}if(pe.lineNumbere.lineNumber===t))}e.push(new Tt.bg(s+1,l+g,d,h))}t+=m}this._emitContentChangedEvent(new Tt.HP(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:r,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===s.reverseEdits?void 0:s.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){if(null===e||0===e.size)return;const t=Array.from(e).map((e=>new Tt.U0(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new Tt.vn(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(t,i)=>this._deltaDecorationsImpl(e,[],[{range:t,options:i}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,Jt(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,i)=>0===t.length&&0===i.length?[]:this._deltaDecorationsImpl(e,t,i)};let n=null;try{n=t(i)}catch(s){(0,o.dz)(s)}return i.addDecoration=Ht,i.changeDecoration=Ht,i.changeDecorationOptions=Ht,i.removeDecoration=Ht,i.deltaDecorations=Ht,n}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,o.dz)(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){const n=e?this._decorations[e]:null;if(!n)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:Xt[i]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(n),delete this._decorations[n.id],null;const s=this._validateRangeRelaxedNoAllocations(t),o=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),r=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);return this._decorationsTree.delete(n),n.reset(this.getVersionId(),o,r,s),n.setOptions(Xt[i]),this._decorationsTree.insert(n),n.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let i=0,n=t.length;ithis.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,s=!1,o=!1){const r=this.getLineCount(),a=Math.min(r,Math.max(1,e)),l=Math.min(r,Math.max(1,t)),h=this.getLineMaxColumn(l),d=new g.Q(a,1,l,h),c=this._getDecorationsInRange(d,i,s,o);return(0,n.E4)(c,this._decorationProvider.getDecorationsInRange(d,i,s)),c}getDecorationsInRange(e,t=0,i=!1,s=!1,o=!1){const r=this.validateRange(e),a=this._getDecorationsInRange(r,t,i,o);return(0,n.E4)(a,this._decorationProvider.getDecorationsInRange(r,t,i,s)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),n=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return Tt.uK.fromDecorations(n).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1,!1);return i=i.concat(this._decorationProvider.getAllDecorations(e,t)),i}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,i,n){const s=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,s,o,t,i,n)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const i=this._decorations[e];if(!i)return;if(i.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(i.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const n=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),o=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),s,o,n),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.startLineNumber)}_changeDecorationOptionsImpl(e,t){const i=this._decorations[e];if(!i)return;const n=!(!i.options.overviewRuler||!i.options.overviewRuler.color),s=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(i.options),this._onDidChangeDecorations.checkAffectedAndFire(t),i.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(i.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const o=n!==s,r=function(e){return!!e.after||!!e.before}(t)!==Ut(i);o||r?(this._decorationsTree.delete(i),i.setOptions(t),this._decorationsTree.insert(i)):i.setOptions(t)}_deltaDecorationsImpl(e,t,i,n=!1){const s=this.getVersionId(),o=t.length;let r=0;const a=i.length;let l=0;this._onDidChangeDecorations.beginDeferredEmit();try{const h=new Array(a);for(;rthis._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 function(e){let t=0;for(const i of e){if(" "!==i&&"\t"!==i)break;t++}return t}(this.getLineContent(e))+1}};function zt(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Ut(e){return!!e.options.after||!!e.options.before}Vt=Mt=Pt([Ot(4,At.$D),Ot(5,f.L),Ot(6,_.JZ),Ot(7,Rt._Y)],Vt);class Kt{constructor(){this._decorationsTree0=new le,this._decorationsTree1=new le,this._injectedTextDecorationsTree=new le}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const i of t)null===i.range&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,n,s,o){const r=e.getVersionId(),a=this._intervalSearch(t,i,n,s,r,o);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,i,n,s,o){const r=this._decorationsTree0.intervalSearch(e,t,i,n,s,o),a=this._decorationsTree1.intervalSearch(e,t,i,n,s,o),l=this._injectedTextDecorationsTree.intervalSearch(e,t,i,n,s,o);return r.concat(a).concat(l)}getInjectedTextInInterval(e,t,i,n){const s=e.getVersionId(),o=this._injectedTextDecorationsTree.intervalSearch(t,i,n,!1,s,!1);return this._ensureNodesHaveRanges(e,o).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const i=e.getVersionId(),n=this._injectedTextDecorationsTree.search(t,!1,i,!1);return this._ensureNodesHaveRanges(e,n).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,i,n,s){const o=e.getVersionId(),r=this._search(t,i,n,o,s);return this._ensureNodesHaveRanges(e,r)}_search(e,t,i,n,s){if(i)return this._decorationsTree1.search(e,t,n,s);{const i=this._decorationsTree0.search(e,t,n,s),o=this._decorationsTree1.search(e,t,n,s),r=this._injectedTextDecorationsTree.search(e,t,n,s);return i.concat(o).concat(r)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),n=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(n)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){Ut(e)?this._injectedTextDecorationsTree.insert(e):zt(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Ut(e)?this._injectedTextDecorationsTree.delete(e):zt(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Ut(e)?this._injectedTextDecorationsTree.resolveNode(e,t):zt(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,n){this._decorationsTree0.acceptReplace(e,t,i,n),this._decorationsTree1.acceptReplace(e,t,i,n),this._injectedTextDecorationsTree.acceptReplace(e,t,i,n)}}function jt(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class $t{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class qt extends $t{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:v.A5.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const i=e?t.getColor(e.id):null;return i?i.toString():""}}class Gt{constructor(e){this.position=e?.position??v.ZS.Center,this.persistLane=e?.persistLane}}class Qt extends $t{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?s.Q1.fromHex(e):t.getColor(e.id)}}class Yt{static from(e){return e instanceof Yt?e:new Yt(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class Zt{static register(e){return new Zt(e)}static createDynamic(e){return new Zt(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?jt(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?jt(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.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new qt(e.overviewRuler):null,this.minimap=e.minimap?new Qt(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new Gt(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?jt(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?jt(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?jt(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?l.jy(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?jt(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?jt(e.marginClassName):null,this.inlineClassName=e.inlineClassName?jt(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?jt(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?jt(e.afterContentClassName):null,this.after=e.after?Yt.from(e.after):null,this.before=e.before?Yt.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}Zt.EMPTY=Zt.register({description:"empty"});const Xt=[Zt.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),Zt.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),Zt.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),Zt.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function Jt(e){return e instanceof Zt?e:Zt.createDynamic(e)}class ei extends a.jG{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new r.vl),this.event=this._actual.event,this._affectedInjectedTextLines=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--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}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(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const 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)}}class ti extends a.jG{constructor(){super(),this._fastEmitter=this._register(new r.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new r.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}},32177:(e,t,i)=>{i.d(t,{_:()=>s});var n=i(10998);class s extends n.jG{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}},104:(e,t,i)=>{i.d(t,{W5:()=>g,dr:()=>h,hB:()=>c,lt:()=>l,wC:()=>u});var n=i(16844),s=i(82862),o=i(15365),r=i(28061),a=i(66055);class l{constructor(e,t,i,n){this.searchString=e,this.isRegex=t,this.matchCase=i,this.wordSeparators=n}parseSearchRequest(){if(""===this.searchString)return null;let e;e=this.isRegex?function(e){if(!e||0===e.length)return!1;for(let t=0,i=e.length;t=i)break;const n=e.charCodeAt(t);if(110===n||114===n||87===n)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=n.OS(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(o){return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new a.L5(t,this.wordSeparators?(0,s.i)(this.wordSeparators,[]):null,i?this.searchString:null)}}function h(e,t,i){if(!i)return new a.Dg(e,null);const n=[];for(let s=0,o=t.length;s=e?n=s-1:t[s+1]>=e?(i=s,n=s):i=s+1}return i+1}}class c{static findMatches(e,t,i,n,s){const o=t.parseSearchRequest();return o?o.regex.multiline?this._doFindMatchesMultiline(e,i,new g(o.wordSeparators,o.regex),n,s):this._doFindMatchesLineByLine(e,i,o,n,s):[]}static _getMultilineMatchRange(e,t,i,n,s,o){let a,l,h=0;if(n?(h=n.findLineFeedCountBeforeOffset(s),a=t+s+h):a=t+s,n){const e=n.findLineFeedCountBeforeOffset(s+o.length)-h;l=a+o.length+e}else l=a+o.length;const d=e.getPositionAt(a),c=e.getPositionAt(l);return new r.Q(d.lineNumber,d.column,c.lineNumber,c.column)}static _doFindMatchesMultiline(e,t,i,n,s){const o=e.getOffsetAt(t.getStartPosition()),r=e.getValueInRange(t,1),a="\r\n"===e.getEOL()?new d(r):null,l=[];let c,u=0;for(i.reset(0);c=i.next(r);)if(l[u++]=h(this._getMultilineMatchRange(e,o,r,a,c.index,c[0]),c,n),u>=s)return l;return l}static _doFindMatchesLineByLine(e,t,i,n,s){const o=[];let r=0;if(t.startLineNumber===t.endLineNumber){const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return r=this._findMatchesInLine(i,a,t.startLineNumber,t.startColumn-1,r,o,n,s),o}const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);r=this._findMatchesInLine(i,a,t.startLineNumber,t.startColumn-1,r,o,n,s);for(let l=t.startLineNumber+1;l=d))return s;return s}const p=new g(e.wordSeparators,e.regex);let m;p.reset(0);do{if(m=p.next(t),m&&(o[s++]=h(new r.Q(i,m.index+1+n,i,m.index+1+m[0].length+n),m,l),s>=d))return s}while(m);return s}static findNextMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const o=new g(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindNextMatchMultiline(e,i,o,n):this._doFindNextMatchLineByLine(e,i,o,n)}static _doFindNextMatchMultiline(e,t,i,n){const s=new o.y(t.lineNumber,1),a=e.getOffsetAt(s),l=e.getLineCount(),c=e.getValueInRange(new r.Q(s.lineNumber,s.column,l,e.getLineMaxColumn(l)),1),u="\r\n"===e.getEOL()?new d(c):null;i.reset(t.column-1);const g=i.next(c);return g?h(this._getMultilineMatchRange(e,a,c,u,g.index,g[0]),g,n):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new o.y(1,1),i,n):null}static _doFindNextMatchLineByLine(e,t,i,n){const s=e.getLineCount(),o=t.lineNumber,r=e.getLineContent(o),a=this._findFirstMatchInLine(i,r,o,t.column,n);if(a)return a;for(let l=1;l<=s;l++){const t=(o+l-1)%s,r=e.getLineContent(t+1),a=this._findFirstMatchInLine(i,r,t+1,1,n);if(a)return a}return null}static _findFirstMatchInLine(e,t,i,n,s){e.reset(n-1);const o=e.next(t);return o?h(new r.Q(i,o.index+1,i,o.index+1+o[0].length),o,s):null}static findPreviousMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const o=new g(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindPreviousMatchMultiline(e,i,o,n):this._doFindPreviousMatchLineByLine(e,i,o,n)}static _doFindPreviousMatchMultiline(e,t,i,n){const s=this._doFindMatchesMultiline(e,new r.Q(1,1,t.lineNumber,t.column),i,n,9990);if(s.length>0)return s[s.length-1];const a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new o.y(a,e.getLineMaxColumn(a)),i,n):null}static _doFindPreviousMatchLineByLine(e,t,i,n){const s=e.getLineCount(),o=t.lineNumber,r=e.getLineContent(o).substring(0,t.column-1),a=this._findLastMatchInLine(i,r,o,n);if(a)return a;for(let l=1;l<=s;l++){const t=(s+o-l-1)%s,r=e.getLineContent(t+1),a=this._findLastMatchInLine(i,r,t+1,n);if(a)return a}return null}static _findLastMatchInLine(e,t,i,n){let s,o=null;for(e.reset(0);s=e.next(t);)o=h(new r.Q(i,s.index+1,i,s.index+1+s[0].length),s,n);return o}}function u(e,t,i,n,s){return function(e,t,i,n,s){if(0===n)return!0;const o=t.charCodeAt(n-1);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(s>0){const i=t.charCodeAt(n);if(0!==e.get(i))return!0}return!1}(e,t,0,n,s)&&function(e,t,i,n,s){if(n+s===i)return!0;const o=t.charCodeAt(n+s);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(s>0){const i=t.charCodeAt(n+s-1);if(0!==e.get(i))return!0}return!1}(e,t,i,n,s)}class g{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(i=this._searchRegex.exec(e),!i)return null;const s=i.index,o=i[0].length;if(s===this._prevMatchStartIndex&&o===this._prevMatchLength){if(0===o){n.Z5(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=s,this._prevMatchLength=o,!this._wordSeparators||u(this._wordSeparators,e,t,s,o))return i}while(i);return null}}},50969:(e,t,i)=>{function n(e,t){let i=0,n=0;const s=e.length;for(;nn})},93059:(e,t,i)=>{i.r(t),i.d(t,{KeyMod:()=>u,createMonacoBaseAPI:()=>g});var n=i(78903),s=i(2106),o=i(68387),r=i(37264),a=i(15365),l=i(28061),h=i(93702),d=i(29694),c=i(42783);class u{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(e,t){return(0,o.m5)(e,t)}}function g(){return{editor:void 0,languages:void 0,CancellationTokenSource:n.Qi,Emitter:s.vl,KeyCode:c.DD,KeyMod:u,Position:a.y,Range:l.Q,Selection:h.L,SelectionDirection:c.SB,MarkerSeverity:c.cj,MarkerTag:c.d_,Uri:r.r,Token:d.ou}}},14003:(e,t,i)=>{i.r(t),i.d(t,{BaseEditorSimpleWorker:()=>q,EditorSimpleWorker:()=>G,create:()=>Q});var n=i(47531),s=i(28061),o=i(27454);class r{constructor(e,t,i){const n=new Uint8Array(e*t);for(let s=0,o=e*t;st&&(t=o),n>i&&(i=n),r>i&&(i=r)}t++,i++;const n=new r(i,t,0);for(let s=0,o=e.length;s=this._maxCharCode?0:this._states.get(e,t)}}let l=null;let h=null;class d{static _createLink(e,t,i,n,s){let o=s-1;do{const i=t.charCodeAt(o);if(2!==e.get(i))break;o--}while(o>n);if(n>0){const e=t.charCodeAt(n-1),i=t.charCodeAt(o);(40===e&&41===i||91===e&&93===i||123===e&&125===i)&&o--}return{range:{startLineNumber:i,startColumn:n+1,endLineNumber:i,endColumn:o+2},url:t.substring(n,o+1)}}static computeLinks(e,t=function(){return null===l&&(l=new a([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),l}()){const i=function(){if(null===h){h=new o.V(0);const e=" \t<>'\"\u3001\u3002\uff61\uff64\uff0c\uff0e\uff1a\uff1b\u2018\u3008\u300c\u300e\u3014\uff08\uff3b\uff5b\uff62\uff63\uff5d\uff3d\uff09\u3015\u300f\u300d\u3009\u2019\uff40\uff5e\u2026";for(let i=0;i=0?(n+=i?1:-1,n<0?n=e.length-1:n%=e.length,e[n]):null}}var u=i(93059),g=i(96358),p=i(23013),m=i(49887),f=i(23837),_=i(39331),v=i(16844),b=i(87110),C=i(79955);class w{computeDiff(e,t,i){const n=new D(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),o=[];let r=null;for(const a of n.changes){let e,t;e=0===a.originalEndLineNumber?new C.M(a.originalStartLineNumber+1,a.originalStartLineNumber+1):new C.M(a.originalStartLineNumber,a.originalEndLineNumber+1),t=0===a.modifiedEndLineNumber?new C.M(a.modifiedStartLineNumber+1,a.modifiedStartLineNumber+1):new C.M(a.modifiedStartLineNumber,a.modifiedEndLineNumber+1);let i=new _.wm(e,t,a.charChanges?.map((e=>new _.q6(new s.Q(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new s.Q(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));r&&(r.modified.endLineNumberExclusive!==i.modified.startLineNumber&&r.original.endLineNumberExclusive!==i.original.startLineNumber||(i=new _.wm(r.original.join(i.original),r.modified.join(i.modified),r.innerChanges&&i.innerChanges?r.innerChanges.concat(i.innerChanges):void 0),o.pop())),o.push(i),r=i}return(0,b.Ft)((()=>(0,b.Xo)(o,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class L{constructor(e,t,i,n,s,o,r,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=n,this.modifiedStartLineNumber=s,this.modifiedStartColumn=o,this.modifiedEndLineNumber=r,this.modifiedEndColumn=a}static createFromDiffChange(e,t,i){const n=t.getStartLineNumber(e.originalStart),s=t.getStartColumn(e.originalStart),o=t.getEndLineNumber(e.originalStart+e.originalLength-1),r=t.getEndColumn(e.originalStart+e.originalLength-1),a=i.getStartLineNumber(e.modifiedStart),l=i.getStartColumn(e.modifiedStart),h=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),d=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new L(n,s,o,r,a,l,h,d)}}class x{constructor(e,t,i,n,s){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=i,this.modifiedEndLineNumber=n,this.charChanges=s}static createFromDiffResult(e,t,i,n,s,o,r){let a,l,h,d,c;if(0===t.originalLength?(a=i.getStartLineNumber(t.originalStart)-1,l=0):(a=i.getStartLineNumber(t.originalStart),l=i.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(h=n.getStartLineNumber(t.modifiedStart)-1,d=0):(h=n.getStartLineNumber(t.modifiedStart),d=n.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),o&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&s()){const o=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=n.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(o.getElements().length>0&&a.getElements().length>0){let e=y(o,a,s,!0).changes;r&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let i=t[0];for(let n=1,s=e.length;n1&&r>1;){if(e.charCodeAt(i-2)!==t.charCodeAt(r-2))break;i--,r--}(i>1||r>1)&&this._pushTrimWhitespaceCharChange(n,s+1,1,i,o+1,1,r)}{let i=I(e,1),r=I(t,1);const a=e.length+1,l=t.length+1;for(;i!0;const t=Date.now();return()=>Date.now()-tnew w,R=()=>new M.D8;var A=i(71386),P=i(13072),O=i(94901);function F(e){const t=[];for(const i of e){const e=Number(i);(e||0===e&&""!==i.replace(/\s/g,""))&&t.push(e)}return t}function W(e,t,i,n){return{red:e/255,blue:i/255,green:t/255,alpha:n}}function B(e,t){const i=t.index,n=t[0].length;if(!i)return;const s=e.positionAt(i);return{startLineNumber:s.lineNumber,startColumn:s.column,endLineNumber:s.lineNumber,endColumn:s.column+n}}function H(e,t){if(!e)return;const i=O.Q1.Format.CSS.parseHex(t);return i?{range:e,color:W(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}:void 0}function V(e,t,i){if(!e||1!==t.length)return;const n=F(t[0].values());return{range:e,color:W(n[0],n[1],n[2],i?n[3]:1)}}function z(e,t,i){if(!e||1!==t.length)return;const n=F(t[0].values()),s=new O.Q1(new O.hB(n[0],n[1]/100,n[2]/100,i?n[3]:1));return{range:e,color:W(s.rgba.r,s.rgba.g,s.rgba.b,s.rgba.a)}}function U(e,t){return"string"==typeof e?[...e.matchAll(t)]:e.findMatches(t)}function K(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],i=U(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/gm);if(i.length>0)for(const n of i){const i=n.filter((e=>void 0!==e)),s=i[1],o=i[2];if(!o)continue;let r;if("rgb"===s){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;r=V(B(e,n),U(o,t),!1)}else if("rgba"===s){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=V(B(e,n),U(o,t),!0)}else if("hsl"===s){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;r=z(B(e,n),U(o,t),!1)}else if("hsla"===s){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=z(B(e,n),U(o,t),!0)}else"#"===s&&(r=H(B(e,n),s+o));r&&t.push(r)}return t}(e):[]}var j=i(99307),$=i(81171);class q{constructor(){this._workerTextModelSyncServer=new $.WorkerTextModelSyncServer}dispose(){}_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,i){const n=this._getModel(e);return n?m.UnicodeTextModelHighlighter.computeUnicodeHighlights(n,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){const i=this._getModel(e);return i?(0,j.findSectionHeaders)(i,t):[]}async $computeDiff(e,t,i,n){const s=this._getModel(e),o=this._getModel(t);if(!s||!o)return null;return G.computeDiff(s,o,i,n)}static computeDiff(e,t,i,n){const s="advanced"===n?R():T(),o=e.getLinesContent(),r=t.getLinesContent(),a=s.computeDiff(o,r,i);function l(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:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:l(a.changes),moves:a.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)]))}}static _modelsAreIdentical(e,t){const i=e.getLineCount();if(i!==t.getLineCount())return!1;for(let n=1;n<=i;n++){if(e.getLineContent(n)!==t.getLineContent(n))return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(e,t,i){const o=this._getModel(e);if(!o)return t;const r=[];let a;t=t.slice(0).sort(((e,t)=>{if(e.range&&t.range)return s.Q.compareRangesUsingStarts(e.range,t.range);return(e.range?0:1)-(t.range?0:1)}));let l=0;for(let n=1;nG._diffLimit){r.push({range:h,text:d});continue}const t=(0,n.F1)(e,d,i),l=o.offsetAt(s.Q.lift(h).getStartPosition());for(const i of t){const e=o.positionAt(l+i.originalStart),t=o.positionAt(l+i.originalStart+i.originalLength),n={text:d.substr(i.modifiedStart,i.modifiedLength),range:{startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:t.lineNumber,endColumn:t.column}};o.getValueInRange(n.range)!==n.text&&r.push(n)}}return"number"==typeof a&&r.push({eol:a,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r}async $computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?d.computeLinks(e):[]}(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?K(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(e,t,i,n){const s=new p.W,o=new RegExp(i,n),r=new Set;e:for(const a of e){const e=this._getModel(a);if(e)for(const i of e.words(o))if(i!==t&&isNaN(Number(i))&&(r.add(i),r.size>G._suggestionsLimit))break e}return{words:Array.from(r),duration:s.elapsed()}}async $computeWordRanges(e,t,i,n){const s=this._getModel(e);if(!s)return Object.create(null);const o=new RegExp(i,n),r=Object.create(null);for(let a=t.startLineNumber;athis._host.$fhr(e,t))),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(s,t),Promise.resolve((0,A.V0)(this._foreignModule))):new Promise(((n,o)=>{const r=e=>{this._foreignModule=e.create(s,t),n((0,A.V0)(this._foreignModule))};{const t=P.zl.asBrowserUri(`${e}.js`).toString(!0);i(9204)(`${t}`).then(r).catch(o)}}))}$fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(i){return Promise.reject(i)}}}function Q(e){return new G(g.EditorWorkerHost.getChannel(e),null)}"function"==typeof importScripts&&(globalThis.monaco=(0,u.createMonacoBaseAPI)())},90304:(e,t,i)=>{i.r(t),i.d(t,{IEditorWorkerService:()=>n});const n=(0,i(82399).u1)("editorWorkerService")},96358:(e,t,i)=>{i.r(t),i.d(t,{EditorWorkerHost:()=>n});class n{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(e){return e.getChannel(n.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(n.CHANNEL_NAME,t)}}},99307:(e,t,i)=>{i.r(t),i.d(t,{findSectionHeaders:()=>o});const n=new RegExp("\\bMARK:\\s*(.*)$","d"),s=/^-+|-+$/g;function o(e,t){let i=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){const n=function(e,t){const i=[],n=e.getLineCount();for(let s=1;s<=n;s++){const n=e.getLineContent(s),o=n.match(t.foldingRules.markers.start);if(o){const e={startLineNumber:s,startColumn:o[0].length+1,endLineNumber:s,endColumn:n.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(n.substring(o[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&i.push(t)}}}return i}(e,t);i=i.concat(n)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],i=e.getLineCount();for(let n=1;n<=i;n++){r(e.getLineContent(n),n,t)}return t}(e);i=i.concat(t)}return i}function r(e,t,i){n.lastIndex=0;const s=n.exec(e);if(s){const e={startLineNumber:t,startColumn:s.indices[1][0]+1,endLineNumber:t,endColumn:s.indices[1][1]+1};if(e.endColumn>e.startColumn){const t={range:e,...a(s[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&i.push(t)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(s,""),hasSeparatorLine:t}}},78148:(e,t,i)=>{i.r(t),i.d(t,{getIconClasses:()=>d});var n=i(13072),s=i(22467),o=i(37264),r=i(54957),a=i(89971),l=i(58881);const h=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function d(e,t,i,d,u){if(l.L.isThemeIcon(u))return[`codicon-${u.id}`,"predefined-file-icon"];if(o.r.isUri(u))return[];const g=d===a.p.ROOT_FOLDER?["rootfolder-icon"]:d===a.p.FOLDER?["folder-icon"]:["file-icon"];if(i){let o;if(i.scheme===n.ny.data){o=s.B6.parseMetaData(i).get(s.B6.META_DATA_LABEL)}else{const e=i.path.match(h);e?(o=c(e[2].toLowerCase()),e[1]&&g.push(`${c(e[1].toLowerCase())}-name-dir-icon`)):o=c(i.authority.toLowerCase())}if(d===a.p.ROOT_FOLDER)g.push(`${o}-root-name-folder-icon`);else if(d===a.p.FOLDER)g.push(`${o}-name-folder-icon`);else{if(o){if(g.push(`${o}-name-file-icon`),g.push("name-file-icon"),o.length<=255){const e=o.split(".");for(let t=1;t{i.r(t),i.d(t,{ILanguageFeatureDebounceService:()=>g,LanguageFeatureDebounceService:()=>_});var n=i(22344),s=i(27992),o=i(62992),r=i(88195),a=i(66726),l=i(82399),h=i(46441),d=i(13072),c=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},u=function(e,t){return function(i,n){t(i,n,e)}};const g=(0,l.u1)("ILanguageFeatureDebounceService");var p;!function(e){const t=new WeakMap;let i=0;e.of=function(e){let n=t.get(e);return void 0===n&&(n=++i,t.set(e,n)),n}}(p||(p={}));class m{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class f{constructor(e,t,i,n,o,r){this._logService=e,this._name=t,this._registry=i,this._default=n,this._min=o,this._max=r,this._cache=new s.qK(50,.7)}_key(e){return e.id+this._registry.all(e).reduce(((e,t)=>(0,n.sN)(p.of(t),e)),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?(0,o.qE)(i.value,this._min,this._max):this.default()}update(e,t){const i=this._key(e);let n=this._cache.get(i);n||(n=new o.mu(6),this._cache.set(i,n));const s=(0,o.qE)(n.update(t),this._min,this._max);return(0,d.v$)(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${s}ms`),s}_overall(){const e=new o.Uq;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){const e=0|this._overall()||this._default;return(0,o.qE)(e,this._min,this._max)}}let _=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,i){const n=i?.min??50,s=i?.max??n**2,o=i?.key??void 0,r=`${p.of(e)},${n}${o?","+o:""}`;let a=this._data.get(r);return a||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),a=new m(1.5*n)):a=new f(this._logService,t,e,0|this._overallAverage()||1.5*n,n,s),this._data.set(r,a)),a}_overallAverage(){const e=new o.Uq;for(const t of this._data.values())e.update(t.default());return e.value}};_=c([u(0,h.rr),u(1,r.k)],_),(0,a.v)(g,_,1)},52230:(e,t,i)=>{i.r(t),i.d(t,{ILanguageFeaturesService:()=>n});const n=(0,i(82399).u1)("ILanguageFeaturesService")},16127:(e,t,i)=>{i.r(t),i.d(t,{LanguageFeaturesService:()=>g});var n=i(2106),s=i(10998),o=i(66055),r=i(74403);function a(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(a):!!e.exclusive)}class l{constructor(e,t,i,n,s){this.uri=e,this.languageId=t,this.notebookUri=i,this.notebookType=n,this.recursive=s}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}}class h{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new n.vl,this.onDidChange=this._onDidChange.event}register(e,t){let i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,s.s)((()=>{if(i){const e=this._entries.indexOf(i);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const i of this._entries)i._score>0&&t.push(i.provider);return t}ordered(e,t=!1){const i=[];return this._orderedForEach(e,t,(e=>i.push(e.provider))),i}orderedGroups(e){const t=[];let i,n;return this._orderedForEach(e,!1,(e=>{i&&n===e._score?i.push(e.provider):(n=e._score,i=[e.provider],t.push(i))})),t}_orderedForEach(e,t,i){this._updateScores(e,t);for(const n of this._entries)n._score>0&&i(n)}_updateScores(e,t){const i=this._notebookInfoResolver?.(e.uri),n=i?new l(e.uri,e.getLanguageId(),i.uri,i.type,t):new l(e.uri,e.getLanguageId(),void 0,void 0,t);if(!this._lastCandidate?.equals(n)){this._lastCandidate=n;for(const i of this._entries)if(i._score=(0,r.f)(i.selector,n.uri,n.languageId,(0,o.vd)(e),n.notebookUri,n.notebookType),a(i.selector)&&i._score>0){if(!t){for(const e of this._entries)e._score=0;i._score=1e3;break}i._score=0}this._entries.sort(h._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:d(e.selector)&&!d(t.selector)?1:!d(e.selector)&&d(t.selector)?-1:e._timet._time?-1:0}}function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(d):Boolean(e.isBuiltin))}var c=i(52230),u=i(66726);class g{constructor(){this.referenceProvider=new h(this._score.bind(this)),this.renameProvider=new h(this._score.bind(this)),this.newSymbolNamesProvider=new h(this._score.bind(this)),this.codeActionProvider=new h(this._score.bind(this)),this.definitionProvider=new h(this._score.bind(this)),this.typeDefinitionProvider=new h(this._score.bind(this)),this.declarationProvider=new h(this._score.bind(this)),this.implementationProvider=new h(this._score.bind(this)),this.documentSymbolProvider=new h(this._score.bind(this)),this.inlayHintsProvider=new h(this._score.bind(this)),this.colorProvider=new h(this._score.bind(this)),this.codeLensProvider=new h(this._score.bind(this)),this.documentFormattingEditProvider=new h(this._score.bind(this)),this.documentRangeFormattingEditProvider=new h(this._score.bind(this)),this.onTypeFormattingEditProvider=new h(this._score.bind(this)),this.signatureHelpProvider=new h(this._score.bind(this)),this.hoverProvider=new h(this._score.bind(this)),this.documentHighlightProvider=new h(this._score.bind(this)),this.multiDocumentHighlightProvider=new h(this._score.bind(this)),this.selectionRangeProvider=new h(this._score.bind(this)),this.foldingRangeProvider=new h(this._score.bind(this)),this.linkProvider=new h(this._score.bind(this)),this.inlineCompletionsProvider=new h(this._score.bind(this)),this.inlineEditProvider=new h(this._score.bind(this)),this.completionProvider=new h(this._score.bind(this)),this.linkedEditingRangeProvider=new h(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new h(this._score.bind(this)),this.documentSemanticTokensProvider=new h(this._score.bind(this)),this.documentDropEditProvider=new h(this._score.bind(this)),this.documentPasteEditProvider=new h(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}}(0,u.v)(c.ILanguageFeaturesService,g,1)},83930:(e,t,i)=>{i.r(t),i.d(t,{LanguageService:()=>d});var n=i(2106),s=i(10998),o=i(66995),r=i(13338),a=i(29694),l=i(54957),h=i(59233);class d extends s.jG{static{this.instanceCount=0}constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new n.vl),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new n.vl),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new n.vl({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,d.instanceCount++,this._registry=this._register(new o.LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){d.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return(0,r.Fy)(i,null)}createById(e){return new c(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new c(this.onDidChange,(()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(i)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=l.vH),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),a.dG.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}class c{constructor(e,t){this._value=(0,h.y0)(this,e,(()=>t())),this.onDidChange=n.Jh.fromObservable(this._value)}get languageId(){return this._value.get()}}},55996:(e,t,i)=>{i.r(t),i.d(t,{clearPlatformLanguageAssociations:()=>p,getLanguageIds:()=>m,registerPlatformLanguageAssociation:()=>g});var n=i(83958),s=i(53720),o=i(13072),r=i(18019),a=i(22467),l=i(16844),h=i(54957);let d=[],c=[],u=[];function g(e,t=!1){!function(e,t,i){const s=function(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?(0,n.qg)(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(r.SA.sep)>=0}}(e,t);d.push(s),s.userConfigured?u.push(s):c.push(s);i&&!s.userConfigured&&d.forEach((e=>{e.mime===s.mime||e.userConfigured||(s.extension&&e.extension===s.extension&&console.warn(`Overwriting extension <<${s.extension}>> to now point to mime <<${s.mime}>>`),s.filename&&e.filename===s.filename&&console.warn(`Overwriting filename <<${s.filename}>> to now point to mime <<${s.mime}>>`),s.filepattern&&e.filepattern===s.filepattern&&console.warn(`Overwriting filepattern <<${s.filepattern}>> to now point to mime <<${s.mime}>>`),s.firstline&&e.firstline===s.firstline&&console.warn(`Overwriting firstline <<${s.firstline}>> to now point to mime <<${s.mime}>>`))}))}(e,!1,t)}function p(){d=d.filter((e=>e.userConfigured)),c=[]}function m(e,t){return function(e,t){let i;if(e)switch(e.scheme){case o.ny.file:i=e.fsPath;break;case o.ny.data:i=a.B6.parseMetaData(e).get(a.B6.META_DATA_LABEL);break;case o.ny.vscodeNotebookCell:i=void 0;break;default:i=e.path}if(!i)return[{id:"unknown",mime:s.K.unknown}];i=i.toLowerCase();const n=(0,r.P8)(i),g=f(i,n,u);if(g)return[g,{id:h.vH,mime:s.K.text}];const p=f(i,n,c);if(p)return[p,{id:h.vH,mime:s.K.text}];if(t){const e=function(e){(0,l.LU)(e)&&(e=e.substr(1));if(e.length>0)for(let t=d.length-1;t>=0;t--){const i=d[t];if(!i.firstline)continue;const n=e.match(i.firstline);if(n&&n.length>0)return i}return}(t);if(e)return[e,{id:h.vH,mime:s.K.text}]}return[{id:"unknown",mime:s.K.unknown}]}(e,t).map((e=>e.id))}function f(e,t,i){let n,s,o;for(let r=i.length-1;r>=0;r--){const a=i[r];if(t===a.filenameLowercase){n=a;break}if(a.filepattern&&(!s||a.filepattern.length>s.filepattern.length)){const i=a.filepatternOnPath?e:t;a.filepatternLowercase?.(i)&&(s=a)}a.extension&&(!o||a.extension.length>o.extension.length)&&t.endsWith(a.extensionLowercase)&&(o=a)}return n||(s||(o||void 0))}},66995:(e,t,i)=>{i.r(t),i.d(t,{LanguageIdCodec:()=>u,LanguagesRegistry:()=>g});var n=i(2106),s=i(10998),o=i(16844),r=i(55996),a=i(54957),l=i(27142),h=i(67167);const d=Object.prototype.hasOwnProperty,c="vs.editor.nullLanguage";class u{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(c,0),this._register(a.vH,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||c}}class g extends s.jG{static{this.instanceCount=0}constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new n.vl),this.onDidChange=this._onDidChange.event,g.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new u,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(a.W6.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){g.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,r.clearPlatformLanguageAssociations)();const e=[].concat(a.W6.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),h.O.as(l.Fd.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let i;d.call(this._languages,t)?i=this._languages[t]:(this.languageIdCodec.register(t),i={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=i),this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let n=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),n=t.mimetypes[0]),n||(n=`text/x-${i}`,e.mimetypes.push(n)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)(0,r.registerPlatformLanguageAssociation)({id:i,mime:n,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const o of t.filenames)(0,r.registerPlatformLanguageAssociation)({id:i,mime:n,filename:o},this._warnOnOverwrite),e.filenames.push(o);if(Array.isArray(t.filenamePatterns))for(const o of t.filenamePatterns)(0,r.registerPlatformLanguageAssociation)({id:i,mime:n,filepattern:o},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);(0,o.eY)(t)||(0,r.registerPlatformLanguageAssociation)({id:i,mime:n,firstline:t},this._warnOnOverwrite)}catch(l){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,l)}}e.aliases.push(i);let s=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(s=0===t.aliases.length?[null]:t.aliases),null!==s)for(const o of s)o&&0!==o.length&&e.aliases.push(o);const a=null!==s&&s.length>0;if(a&&null===s[0]);else{const t=(a?s[0]:null)||i;!a&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&d.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return d.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&d.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?(0,r.getLanguageIds)(e,t):[]}}},80886:(e,t,i)=>{i.r(t),i.d(t,{IMarkerDecorationsService:()=>n});const n=(0,i(82399).u1)("markerDecorationsService")},90011:(e,t,i)=>{i.r(t),i.d(t,{MarkerDecorationsService:()=>_});var n=i(27619),s=i(10998),o=i(66055),r=i(89044),a=i(48295),l=i(64830),h=i(28061),d=i(13072),c=i(2106),u=i(92551),g=i(27992),p=i(88436),m=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},f=function(e,t){return function(i,n){t(i,n,e)}};let _=class extends s.jG{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new c.vl),this._markerDecorations=new g.fT,e.getModels().forEach((e=>this._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new v(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==d.ny.inMemory&&e.uri.scheme!==d.ny.internal&&e.uri.scheme!==d.ny.vscode||this._markerService?.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};_=m([f(0,l.IModelService),f(1,n.DR)],_);class v extends s.jG{constructor(e){super(),this.model=e,this._map=new g.cO,this._register((0,s.s)((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(e){const{added:t,removed:i}=(0,p.Z)(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===i.length)return!1;const n=i.map((e=>this._map.get(e))),s=t.map((e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)}))),o=this.model.deltaDecorations(n,s);for(const r of i)this._map.delete(r);for(let r=0;r=t)return i;const n=e.getWordAtPosition(i.getStartPosition());n&&(i=new h.Q(i.startLineNumber,n.startColumn,i.endLineNumber,n.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&i.startLineNumber===i.endLineNumber){const n=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);n=0}}},64830:(e,t,i)=>{i.r(t),i.d(t,{IModelService:()=>n});const n=(0,i(82399).u1)("modelService")},40931:(e,t,i)=>{i.r(t),i.d(t,{DefaultModelSHA1Computer:()=>L,ModelService:()=>k});var n,s=i(2106),o=i(10998),r=i(63339),a=i(3156),l=i(12590),h=i(54957),d=i(41504),c=i(85753),u=i(38803),g=i(22344),p=i(54296),m=i(13072),f=i(71386),_=i(82399),v=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},b=function(e,t){return function(i,n){t(i,n,e)}};function C(e){return e.toString()}class w{constructor(e,t,i){this.model=e,this._modelEventListeners=new o.Cm,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>i(e,t))))}dispose(){this._modelEventListeners.dispose()}}const y=r.j9||r.zx?1:2;class S{constructor(e,t,i,n,s,o,r,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=n,this.heapSize=s,this.sha1=o,this.versionId=r,this.alternativeVersionId=a}}let k=class extends o.jG{static{n=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(e,t,i,n){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._instantiationService=n,this._onModelAdded=this._register(new s.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new s.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new s.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let i=l.R.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(i=t),i<1&&(i=1)}let n="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(n=Math.max(t,1))}let s=l.R.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let o=y;const r=e.eol;"\r\n"===r?o=2:"\n"===r&&(o=1);let a=l.R.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let h=l.R.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(h="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let d=l.R.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(d="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let c=l.R.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(c={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:i,indentSize:n,insertSpaces:s,detectIndentation:h,defaultEOL:o,trimAutoWhitespace:a,largeFileOptimizations:d,bracketPairColorizationOptions:c}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&"string"==typeof i&&"auto"!==i?i:3===r.OS||2===r.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,i){const s="string"==typeof e?e:e.languageId;let o=this._modelCreationOptionsByLanguageAndResource[s+t];if(!o){const e=this._configurationService.getValue("editor",{overrideIdentifier:s,resource:t}),r=this._getEOL(t,s);o=n._readModelOptions({editor:e,eol:r},i),this._modelCreationOptionsByLanguageAndResource[s+t]=o}return o}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let s=0,o=i.length;se){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,n){const s=this.getCreationOptions(t,i,n),o=this._instantiationService.createInstance(a.Bz,e,t,s,i);if(i&&this._disposedModels.has(C(i))){const e=this._removeDisposedModel(i),t=this._undoRedoService.getElements(i),n=this._getSHA1Computer(),s=!!n.canComputeSHA1(o)&&n.computeSHA1(o)===e.sha1;if(s||e.sharesUndoRedoStack){for(const e of t.past)(0,p.Th)(e)&&e.matchesResource(i)&&e.setModel(o);for(const e of t.future)(0,p.Th)(e)&&e.matchesResource(i)&&e.setModel(o);this._undoRedoService.setElementsValidFlag(i,!0,(e=>(0,p.Th)(e)&&e.matchesResource(i))),s&&(o._overwriteVersionId(e.versionId),o._overwriteAlternativeVersionId(e.alternativeVersionId),o._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const r=C(o.uri);if(this._models[r])throw new Error("ModelService: Cannot add model because it already exists!");const l=new w(o,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[r]=l,l}createModel(e,t,i,n=!1){let s;return s=t?this._createModelData(e,t,i,n):this._createModelData(e,h.vH,i,n),this._onModelAdded.fire(s.model),s.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,n=t.length;i0||t.future.length>0){for(const i of t.past)(0,p.Th)(i)&&i.matchesResource(e.uri)&&(o=!0,r+=i.heapSize(e.uri),i.setModel(e.uri));for(const i of t.future)(0,p.Th)(i)&&i.matchesResource(e.uri)&&(o=!0,r+=i.heapSize(e.uri),i.setModel(e.uri))}}const a=n.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,l=this._getSHA1Computer();if(o)if(s||!(r>a)&&l.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(a-r),this._undoRedoService.setElementsValidFlag(e.uri,!1,(t=>(0,p.Th)(t)&&t.matchesResource(e.uri))),this._insertDisposedModel(new S(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),s,r,l.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=i.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!s){const e=i.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],i.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const i=t.oldLanguage,s=e.getLanguageId(),o=this.getCreationOptions(i,e.uri,e.isForSimpleWidget),r=this.getCreationOptions(s,e.uri,e.isForSimpleWidget);n._setModelOptionsForModel(e,r,o),this._onModelModeChanged.fire({model:e,oldLanguageId:i})}_getSHA1Computer(){return new L}};k=n=v([b(0,c.pG),b(1,d.ITextResourcePropertiesService),b(2,u.$D),b(3,_._Y)],k);class L{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(e){return e.getValueLength()<=L.MAX_MODEL_SIZE}computeSHA1(e){const t=new g.v7,i=e.createSnapshot();let n;for(;n=i.read();)t.update(n);return t.digest()}}},37042:(e,t,i)=>{i.r(t),i.d(t,{ITextModelService:()=>n});const n=(0,i(82399).u1)("textModelService")},19376:(e,t,i)=>{i.r(t),i.d(t,{encodeSemanticTokensDto:()=>o});var n=i(42802),s=i(63339);function o(e){const t=new Uint32Array(function(e){let t=0;if(t+=2,"full"===e.type)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(const i of e.deltas)i.data&&(t+=i.data.length)}return t}(e));let i=0;if(t[i++]=e.id,"full"===e.type)t[i++]=1,t[i++]=e.data.length,t.set(e.data,i),i+=e.data.length;else{t[i++]=2,t[i++]=e.deltas.length;for(const n of e.deltas)t[i++]=n.start,t[i++]=n.deleteCount,n.data?(t[i++]=n.data.length,t.set(n.data,i),i+=n.data.length):t[i++]=0}return function(e){const t=new Uint8Array(e.buffer,e.byteOffset,4*e.length);return s.cm()||function(e){for(let t=0,i=e.length;t{i.r(t),i.d(t,{SemanticTokensProviderStyling:()=>m,toMultilineTokens2:()=>f});i(15910);var n=i(89044),s=i(46441),o=i(15365),r=i(28061),a=i(3902);class l{static create(e,t){return new l(e,new h(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new r.Q(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,i,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber,[n,s,o]=this._tokens.split(t,e.startColumn-1,i,e.endColumn-1);return[new l(this._startLineNumber,n),new l(this._startLineNumber+o,s)]}applyEdit(e,t){const[i,n,s]=(0,a.W)(t);this.acceptEdit(e,i,n,s,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,i,n,s){this._acceptDeleteRange(e),this._acceptInsertText(new o.y(e.startLineNumber,e.startColumn),t,i,n,s),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;if(i<0){const e=i-t;return void(this._startLineNumber-=e)}const n=this._tokens.getMaxDeltaLine();if(!(t>=n+1)){if(t<0&&i>=n+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const n=-t;this._startLineNumber-=n,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,i,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,i,e.endColumn-1)}}_acceptInsertText(e,t,i,n,s){if(0===t&&0===i)return;const o=e.lineNumber-this._startLineNumber;if(o<0)return void(this._startLineNumber+=t);o>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(o,e.column-1,t,i,n,s)}}class h{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let i=0;ie)){let s=n;for(;s>t&&this._getDeltaLine(s-1)===e;)s--;let o=n;for(;oe||d===e&&u>=t)&&(de||r===e&&g>=t){if(rs?p-=s-i:p=i;else if(u===t&&g===i){if(!(u===n&&p>s)){h=!0;continue}p-=s-i}else if(us)){h=!0;continue}u=t,g=i,p=g+(p-s)}else if(u>n){if(0===a&&!h){l=r;break}u-=a}else{if(!(u===n&&g>=s))throw new Error("Not possible!");e&&0===u&&(g+=e,p+=e),u-=a,g-=s-i,p-=s-i}const f=4*l;o[f]=u,o[f+1]=g,o[f+2]=p,o[f+3]=m,l++}this._tokenCount=l}acceptInsertText(e,t,i,n,s,o){const r=0===i&&1===n&&(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122),a=this._tokens,l=this._tokenCount;for(let h=0;h=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},g=function(e,t){return function(i,n){t(i,n,e)}};const p=!1;let m=class{constructor(e,t,i,n){this._legend=e,this._themeService=t,this._languageService=i,this._logService=n,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new v}getMetadata(e,t,i){const n=this._languageService.languageIdCodec.encodeLanguageId(i),s=this._hashTable.get(e,t,n);let o;if(s)o=s.metadata;else{let s=this._legend.tokenTypes[e];const r=[];if(s){let e=t;for(let t=0;e>0&&t>=1;p;const n=this._themeService.getColorTheme().getTokenStyleMetadata(s,r,i);if(void 0===n)o=2147483647;else{if(o=0,void 0!==n.italic){o|=1|(n.italic?1:0)<<11}if(void 0!==n.bold){o|=2|(n.bold?2:0)<<11}if(void 0!==n.underline){o|=4|(n.underline?4:0)<<11}if(void 0!==n.strikethrough){o|=8|(n.strikethrough?8:0)<<11}if(n.foreground){o|=16|n.foreground<<15}0===o&&(o=2147483647)}}else o=2147483647,s="not-in-legend";this._hashTable.add(e,t,n,o)}return o}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,i,n,s){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${i}: The provided start offset ${n} is outside the previous data (length ${s}).`))}};function f(e,t,i){const n=e.data,s=e.data.length/5|0,o=Math.max(Math.ceil(s/1024),400),r=[];let a=0,h=1,d=0;for(;ae&&0===n[5*t];)t--;if(t-1===e){let e=c;for(;e+1l)t.warnOverlappingSemanticTokens(r,l+1);else{const e=t.getMetadata(_,v,i);2147483647!==e&&(0===p&&(p=r),u[g]=r-p,u[g+1]=l,u[g+2]=c,u[g+3]=e,g+=4,m=r,f=c)}h=r,d=l,a++}g!==u.length&&(u=u.subarray(0,g));const _=l.create(p,u);r.push(_)}return r}m=u([g(1,n.Gy),g(2,c.L),g(3,s.rr)],m);class _{constructor(e,t,i,n){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=i,this.metadata=n,this.next=null}}class v{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=v._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=v._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1{i.r(t),i.d(t,{ISemanticTokensStylingService:()=>n});const n=(0,i(82399).u1)("semanticTokensStylingService")},38148:(e,t,i)=>{i.r(t),i.d(t,{SemanticTokensStylingService:()=>u});var n=i(10998),s=i(77922),o=i(89044),r=i(46441),a=i(27642),l=i(82891),h=i(66726),d=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},c=function(e,t){return function(i,n){t(i,n,e)}};let u=class extends n.jG{constructor(e,t,i){super(),this._themeService=e,this._logService=t,this._languageService=i,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new a.SemanticTokensProviderStyling(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};u=d([c(0,o.Gy),c(1,r.rr),c(2,s.L)],u),(0,h.v)(l.ISemanticTokensStylingService,u,1)},81171:(e,t,i)=>{i.r(t),i.d(t,{MirrorModel:()=>m,STOP_SYNC_MODEL_DELTA_TIME_MS:()=>u,WorkerTextModelSyncClient:()=>g,WorkerTextModelSyncServer:()=>p});var n=i(65958),s=i(10998),o=i(37264),r=i(15365),a=i(28061),l=i(18782),h=i(16844),d=i(56158);class c{constructor(e,t,i,n){this._uri=e,this._lines=t,this._eol=i,this._versionId=n,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const i of t)this._acceptDeleteRange(i.range),this._acceptInsertText(new r.y(i.range.startLineNumber,i.range.startColumn),i.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,i=new Uint32Array(t);for(let n=0;nthis._checkStopModelSync()),Math.round(u/2)),this._register(e)}}dispose(){for(const e in this._syncedModels)(0,s.AS)(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const i of e){const e=i.toString();this._syncedModels[e]||this._beginModelSync(i,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const i in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[i]>u&&t.push(i)}for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i)return;if(!t&&i.isTooLargeForSyncing())return;const n=e.toString();this._proxy.$acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const o=new s.Cm;o.add(i.onDidChangeContent((e=>{this._proxy.$acceptModelChanged(n.toString(),e)}))),o.add(i.onWillDispose((()=>{this._stopModelSync(n)}))),o.add((0,s.s)((()=>{this._proxy.$acceptRemovedModel(n)}))),this._syncedModels[n]=o}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],(0,s.AS)(t)}}class p{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}$acceptNewModel(e){this._models[e.url]=new m(o.r.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class m extends c{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;ithis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,n=!0;else{const e=this._lines[t-1].length+1;i<1?(i=1,n=!0):i>e&&(i=e,n=!0)}return n?{lineNumber:t,column:i}:e}}},41504:(e,t,i)=>{i.r(t),i.d(t,{ITextResourceConfigurationService:()=>s,ITextResourcePropertiesService:()=>o});var n=i(82399);const s=(0,n.u1)("textResourceConfigurationService"),o=(0,n.u1)("textResourcePropertiesService")},35320:(e,t,i)=>{i.r(t),i.d(t,{ITreeSitterParserService:()=>n});const n=(0,i(82399).u1)("treeSitterParserService")},2603:(e,t,i)=>{i.r(t),i.d(t,{DraggedTreeItemsIdentifier:()=>s,TreeViewsDnDService:()=>n});class n{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class s{constructor(e){this.identifier=e}}},26756:(e,t,i)=>{i.r(t),i.d(t,{ITreeViewsDnDService:()=>r});var n=i(66726),s=i(82399),o=i(2603);const r=(0,s.u1)("treeViewsDndService");(0,n.v)(r,o.TreeViewsDnDService,1)},49887:(e,t,i)=>{i.r(t),i.d(t,{UnicodeTextModelHighlighter:()=>l});var n=i(28061),s=i(104),o=i(16844),r=i(87110),a=i(18782);class l{static computeUnicodeHighlights(e,t,i){const l=i?i.startLineNumber:1,d=i?i.endLineNumber:e.getLineCount(),c=new h(t),u=c.getCandidateCodePoints();let g;var p;g="allNonBasicAscii"===u?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(""+(p=Array.from(u),`[${o.bm(p.map((e=>String.fromCodePoint(e))).join(""))}]`),"g");const m=new s.W5(null,g),f=[];let _,v=!1,b=0,C=0,w=0;e:for(let s=l,h=d;s<=h;s++){const t=e.getLineContent(s),i=t.length;m.reset(0);do{if(_=m.next(t),_){let e=_.index,l=_.index+_[0].length;if(e>0){const i=t.charCodeAt(e-1);o.pc(i)&&e--}if(l+1=t){v=!0;break e}f.push(new n.Q(s,e+1,s,l+1))}}}while(_)}return{ranges:f,hasMore:v,ambiguousCharacterCount:b,invisibleCharacterCount:C,nonBasicAsciiCharacterCount:w}}static computeUnicodeHighlightReason(e,t){const i=new h(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const n=e.codePointAt(0),s=i.ambiguousCharacters.getPrimaryConfusable(n),r=o.tl.getLocales().filter((e=>!o.tl.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(n)));return{kind:0,confusableWith:String.fromCodePoint(s),notAmbiguousInLocales:r}}case 1:return{kind:2}}}}class h{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=o.tl.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of o.y_.codePoints)d(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let n=!1,s=!1;if(t)for(const r of t){const e=r.codePointAt(0),t=o.aC(r);n=n||t,t||this.ambiguousCharacters.isAmbiguous(e)||o.y_.isInvisibleCharacter(e)||(s=!0)}return!n&&s?0:this.options.invisibleCharacters&&!d(e)&&o.y_.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function d(e){return" "===e||"\n"===e||"\t"===e}},42783:(e,t,i)=>{var n,s,o,r,a,l,h,d,c,u,g,p,m,f,_,v,b,C,w,y,S,k,L,x,D,N,I,E,M,T,R,A,P,O,F,W,B,H,V,z,U,K,j,$,q,G;i.d(t,{A5:()=>R,Ah:()=>A,DD:()=>k,DO:()=>O,Gn:()=>n,H_:()=>K,Ic:()=>P,Io:()=>r,Kb:()=>u,M$:()=>v,OV:()=>E,QP:()=>a,Qj:()=>h,R3:()=>D,SB:()=>H,U7:()=>j,VW:()=>C,VX:()=>N,WA:()=>z,WU:()=>f,XR:()=>B,YT:()=>M,ZS:()=>_,_E:()=>o,cj:()=>L,dE:()=>T,d_:()=>x,e0:()=>g,h5:()=>d,hS:()=>I,hW:()=>F,jT:()=>V,kK:()=>q,kf:()=>m,l:()=>b,m9:()=>$,of:()=>c,ok:()=>s,ov:()=>W,p2:()=>p,qw:()=>y,r4:()=>w,sm:()=>S,t7:()=>l,tJ:()=>G,v0:()=>U}),function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(n||(n={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(s||(s={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(o||(o={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(r||(r={})),function(e){e[e.Deprecated=1]="Deprecated"}(a||(a={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(l||(l={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(h||(h={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(d||(d={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(c||(c={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(u||(u={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(g||(g={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.placeholder=88]="placeholder",e[e.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",e[e.quickSuggestions=90]="quickSuggestions",e[e.quickSuggestionsDelay=91]="quickSuggestionsDelay",e[e.readOnly=92]="readOnly",e[e.readOnlyMessage=93]="readOnlyMessage",e[e.renameOnType=94]="renameOnType",e[e.renderControlCharacters=95]="renderControlCharacters",e[e.renderFinalNewline=96]="renderFinalNewline",e[e.renderLineHighlight=97]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=99]="renderValidationDecorations",e[e.renderWhitespace=100]="renderWhitespace",e[e.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",e[e.roundedSelection=102]="roundedSelection",e[e.rulers=103]="rulers",e[e.scrollbar=104]="scrollbar",e[e.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=106]="scrollBeyondLastLine",e[e.scrollPredominantAxis=107]="scrollPredominantAxis",e[e.selectionClipboard=108]="selectionClipboard",e[e.selectionHighlight=109]="selectionHighlight",e[e.selectOnLineNumbers=110]="selectOnLineNumbers",e[e.showFoldingControls=111]="showFoldingControls",e[e.showUnused=112]="showUnused",e[e.snippetSuggestions=113]="snippetSuggestions",e[e.smartSelect=114]="smartSelect",e[e.smoothScrolling=115]="smoothScrolling",e[e.stickyScroll=116]="stickyScroll",e[e.stickyTabStops=117]="stickyTabStops",e[e.stopRenderingLineAfter=118]="stopRenderingLineAfter",e[e.suggest=119]="suggest",e[e.suggestFontSize=120]="suggestFontSize",e[e.suggestLineHeight=121]="suggestLineHeight",e[e.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",e[e.suggestSelection=123]="suggestSelection",e[e.tabCompletion=124]="tabCompletion",e[e.tabIndex=125]="tabIndex",e[e.unicodeHighlighting=126]="unicodeHighlighting",e[e.unusualLineTerminators=127]="unusualLineTerminators",e[e.useShadowDOM=128]="useShadowDOM",e[e.useTabStops=129]="useTabStops",e[e.wordBreak=130]="wordBreak",e[e.wordSegmenterLocales=131]="wordSegmenterLocales",e[e.wordSeparators=132]="wordSeparators",e[e.wordWrap=133]="wordWrap",e[e.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=136]="wordWrapColumn",e[e.wordWrapOverride1=137]="wordWrapOverride1",e[e.wordWrapOverride2=138]="wordWrapOverride2",e[e.wrappingIndent=139]="wrappingIndent",e[e.wrappingStrategy=140]="wrappingStrategy",e[e.showDeprecated=141]="showDeprecated",e[e.inlayHints=142]="inlayHints",e[e.editorClassName=143]="editorClassName",e[e.pixelRatio=144]="pixelRatio",e[e.tabFocusMode=145]="tabFocusMode",e[e.layoutInfo=146]="layoutInfo",e[e.wrappingInfo=147]="wrappingInfo",e[e.defaultColorDecorators=148]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"}(p||(p={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(m||(m={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(f||(f={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(_||(_={})),function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(v||(v={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(b||(b={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(C||(C={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(w||(w={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(y||(y={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(S||(S={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(k||(k={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(L||(L={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(x||(x={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(D||(D={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(N||(N={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(I||(I={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(E||(E={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(M||(M={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(T||(T={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(R||(R={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(A||(A={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(P||(P={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(O||(O={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(F||(F={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(W||(W={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(B||(B={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(H||(H={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(V||(V={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(z||(z={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(U||(U={})),function(e){e[e.Deprecated=1]="Deprecated"}(K||(K={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(j||(j={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}($||($={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(q||(q={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(G||(G={}))},83455:(e,t,i)=>{i.d(t,{E$:()=>r,HP:()=>h,Ic:()=>c,U0:()=>o,Wn:()=>n,bg:()=>a,mS:()=>l,uK:()=>s,vn:()=>d});class n{constructor(){this.changeType=1}}class s{static applyInjectedText(e,t){if(!t||0===t.length)return e;let i="",n=0;for(const s of t)i+=e.substring(n,s.column-1),n=s.column-1,i+=s.options.content;return i+=e.substring(n),i}static fromDecorations(e){const t=[];for(const i of e)i.options.before&&i.options.before.content.length>0&&t.push(new s(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new s(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}constructor(e,t,i,n,s){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=n,this.order=s}}class o{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class r{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class a{constructor(e,t,i,n){this.changeType=4,this.injectedTexts=n,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class l{constructor(){this.changeType=5}}class h{constructor(e,t,i,n){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=n,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;t{var n;i.d(t,{N6:()=>n,TH:()=>s,pv:()=>o}),function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(n||(n={}));class s{constructor(e,t,i,n,s,o){if(this.visibleColumn=e,this.column=t,this.className=i,this.horizontalLine=n,this.forWrappedLinesAfterColumn=s,this.forWrappedLinesBeforeOrAtColumn=o,-1!==e==(-1!==t))throw new Error}}class o{constructor(e,t){this.top=e,this.endColumn=t}}},57445:(e,t,i)=>{i.d(t,{T:()=>r,f:()=>s});var n=i(15910);class s{static{this.defaultTokenMetadata=33587200}static createEmpty(e,t){const i=s.defaultTokenMetadata,n=new Uint32Array(2);return n[0]=e.length,n[1]=i,new s(n,e,t)}static createFromTextAndMetadata(e,t){let i=0,n="";const o=new Array;for(const{text:s,metadata:r}of e)o.push(i+s.length,r),i+=s.length,n+=s;return new s(new Uint32Array(o),n,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=i}equals(e){return e instanceof s&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,i){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const n=t<<1,s=n+(i<<1);for(let o=n;o0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],i=n.x.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return n.x.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return n.x.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return n.x.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[1+(e<<1)];return n.x.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return n.x.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return s.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new o(this,e,t,i)}static convertToEndOffset(e,t){const i=(e.length>>>1)-1;for(let n=0;n>>1)-1;for(;it&&(n=s)}return i}withInserted(e){if(0===e.length)return this;let t=0,i=0,n="";const o=new Array;let r=0;for(;;){const s=tr){n+=this._text.substring(r,a.offset);const e=this._tokens[1+(t<<1)];o.push(n.length,e),r=a.offset}n+=a.text,o.push(n.length,a.tokenMetadata),i++}}return new s(new Uint32Array(o),n,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),i=this.getEndOffset(e);return this._text.substring(t,i)}forEach(e){const t=this.getCount();for(let i=0;i=i)break;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(e){return e instanceof o&&(this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._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){const 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){const t=this._firstTokenIndex+e,i=this._source.getStartOffset(t),n=this._source.getEndOffset(t);let s=this._source.getTokenText(t);return ithis._endOffset&&(s=s.substring(0,s.length-(n-this._endOffset))),s}forEach(e){for(let t=0;t{function n(){return globalThis._VSCODE_NLS_MESSAGES}function s(){return globalThis._VSCODE_NLS_LANGUAGE}i.d(t,{i8:()=>s,Ec:()=>n,kg:()=>a,aS:()=>h});const o="pseudo"===s()||"undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function r(e,t){let i;return i=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,i)=>{const n=i[0],s=t[n];let o=e;return"string"==typeof s?o=s:"number"!=typeof s&&"boolean"!=typeof s&&null!=s||(o=String(s)),o})),o&&(i="\uff3b"+i.replace(/[aouei]/g,"$&$&")+"\uff3d"),i}function a(e,t,...i){return r("number"==typeof e?l(e,t):t,i)}function l(e,t){const i=n()?.[e];if("string"!=typeof i){if("string"==typeof t)return t;throw new Error(`!!! NLS MISSING: ${e} !!!`)}return i}function h(e,t,...i){let n;n="number"==typeof e?l(e,t):t;const s=r(n,i);return{value:s,original:t===n?s:r(t,i)}}},85753:(e,t,i)=>{i.d(t,{Mo:()=>h,ad:()=>s,gD:()=>l,iB:()=>r,kW:()=>o,pG:()=>n});const n=(0,i(82399).u1)("configurationService");function s(e,t){const i=Object.create(null);for(const n in e)o(i,n,e[n],t);return i}function o(e,t,i,n){const s=t.split("."),o=s.pop();let r=e;for(let l=0;l{i.d(t,{Fd:()=>d,Gv:()=>S,rC:()=>y});var n=i(13338),s=i(2106),o=i(79359),r=i(87289),a=i(85753),l=i(51460),h=i(67167);const d={Configuration:"base.contributions.configuration"},c={properties:{},patternProperties:{}},u={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},m={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},_="vscode://schemas/settings/resourceLanguage",v=h.O.as(l.F.JSONContribution);const b="\\[([^\\]]+)\\]",C=new RegExp(b,"g"),w=`^(${b})+$`,y=new RegExp(w);function S(e){const t=[];if(y.test(e)){let i=C.exec(e);for(;i?.length;){const n=i[1].trim();n&&t.push(n),i=C.exec(e)}}return(0,n.dM)(t)}const k=new class{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new s.vl,this._onDidUpdateConfiguration=new s.vl,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:r.kg("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},v.registerSchema(_,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),v.registerSchema(_,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);const i=[];for(const{overrides:n,source:s}of e)for(const e in n){t.add(e);const o=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),r=n[e];if(o.configurationDefaultOverrides.push({value:r,source:s}),y.test(e)){const t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,r,s,o.configurationDefaultOverrideValue);if(!t)continue;o.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,s),i.push(...S(e))}else{const t=this.mergeDefaultConfigurationsForConfigurationProperty(e,r,s,o.configurationDefaultOverrideValue);if(!t)continue;o.configurationDefaultOverrideValue=t;const i=this.configurationProperties[e];i&&(this.updatePropertyDefaultValue(e,i),this.updateSchema(e,i))}}this.doRegisterOverrideIdentifiers(i)}updateDefaultOverrideProperty(e,t,i){const n={type:"object",default:t.value,description:r.kg("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",(0,a.Mo)(e)),$ref:_,defaultDefaultValue:t.value,source:i,defaultValueSource:i};this.configurationProperties[e]=n,this.defaultLanguageConfigurationOverridesNode.properties[e]=n}mergeDefaultConfigurationsForOverrideIdentifier(e,t,i,n){const s=n?.value||{},r=n?.source??new Map;if(r instanceof Map){for(const e of Object.keys(t)){const n=t[e];if(o.Gv(n)&&(o.b0(s[e])||o.Gv(s[e]))){if(s[e]={...s[e]??{},...n},i)for(const t in n)r.set(`${e}.${t}`,i)}else s[e]=n,i?r.set(e,i):r.delete(e)}return{value:s,source:r}}console.error("objectConfigurationSources is not a Map")}mergeDefaultConfigurationsForConfigurationProperty(e,t,i,n){const s=this.configurationProperties[e],r=n?.value??s?.defaultDefaultValue;let a=i;if(o.Gv(t)&&(void 0!==s&&"object"===s.type||void 0===s&&(o.b0(r)||o.Gv(r)))){if(a=n?.source??new Map,!(a instanceof Map))return void console.error("defaultValueSource is not a Map");for(const n in t)i&&a.set(`${e}.${n}`,i);t={...o.Gv(r)?r:{},...t}}return{value:t,source:a}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach((e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,i),this.configurationContributors.push(e),this.registerJSONConfiguration(e)}))}validateAndRegisterProperties(e,t=!0,i,n,s=3,r){s=o.z(e.scope)?s:e.scope;const a=e.properties;if(a)for(const h in a){const e=a[h];t&&L(h,e)?delete a[h]:(e.source=i,e.defaultDefaultValue=a[h].default,this.updatePropertyDefaultValue(h,e),y.test(h)?e.scope=void 0:(e.scope=o.z(e.scope)?s:e.scope,e.restricted=o.z(e.restricted)?!!n?.includes(h):e.restricted),!a[h].hasOwnProperty("included")||a[h].included?(this.configurationProperties[h]=a[h],a[h].policy?.name&&this.policyConfigurations.set(a[h].policy.name,h),!a[h].deprecationMessage&&a[h].markdownDeprecationMessage&&(a[h].deprecationMessage=a[h].markdownDeprecationMessage),r.add(h)):(this.excludedConfigurationProperties[h]=a[h],delete a[h]))}const l=e.allOf;if(l)for(const o of l)this.validateAndRegisterProperties(o,t,i,n,s,r)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const i=e.properties;if(i)for(const t in i)this.updateSchema(t,i[t]);const n=e.allOf;n?.forEach(t)};t(e)}updateSchema(e,t){switch(c.properties[e]=t,t.scope){case 1:u.properties[e]=t;break;case 2:g.properties[e]=t;break;case 6:p.properties[e]=t;break;case 3:m.properties[e]=t;break;case 4:f.properties[e]=t;break;case 5:f.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:r.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:r.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:_};this.updatePropertyDefaultValue(t,i),c.properties[t]=i,u.properties[t]=i,g.properties[t]=i,p.properties[t]=i,m.properties[t]=i,f.properties[t]=i}}registerOverridePropertyPatternKey(){const e={type:"object",description:r.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:r.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:_};c.patternProperties[w]=e,u.patternProperties[w]=e,g.patternProperties[w]=e,p.patternProperties[w]=e,m.patternProperties[w]=e,f.patternProperties[w]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue;let n,s;!i||t.disallowConfigurationDefault&&i.source||(n=i.value,s=i.source),o.b0(n)&&(n=t.defaultDefaultValue,s=void 0),o.b0(n)&&(n=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=n,t.defaultValueSource=s}};function L(e,t){return e.trim()?y.test(e)?r.kg("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==k.getConfigurationProperties()[e]?r.kg("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):t.policy?.name&&void 0!==k.getPolicyConfigurations().get(t.policy?.name)?r.kg("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,t.policy?.name,k.getPolicyConfigurations().get(t.policy?.name)):null:r.kg("config.property.empty","Cannot register an empty property")}h.O.add(d.Configuration,k)},17474:(e,t,i)=>{i.d(t,{f1:()=>E,M$:()=>k,fN:()=>$,N1:()=>j,jQ:()=>L,M0:()=>Q});var n=i(63339),s=i(16844),o=i(94327),r=i(87289);function a(...e){switch(e.length){case 1:return(0,r.kg)("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",e[0]);case 2:return(0,r.kg)("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",e[0],e[1]);case 3:return(0,r.kg)("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}const l=(0,r.kg)("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),h=(0,r.kg)("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class d{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw(0,o.iH)(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map((e=>e.charCodeAt(0))))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();){this._start=this._current;switch(this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(a("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(a("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(a("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return!this._isAtEnd()&&(this._input.charCodeAt(this._current)===e&&(this._current++,!0))}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),n={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(n)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=d._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(l):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length)return this._current=e,void this._error(h);const n=this._input.charCodeAt(e);if(t)t=!1;else{if(47===n&&!i){e++;break}91===n?i=!0:92===n?t=!0:93===n&&(i=!1)}e++}for(;e=this._input.length}}var c=i(82399);const u=new Map;u.set("false",!1),u.set("true",!0),u.set("isMac",n.zx),u.set("isLinux",n.j9),u.set("isWindows",n.uF),u.set("isWeb",n.HZ),u.set("isMacNative",n.zx&&!n.HZ),u.set("isEdge",n.UP),u.set("isFirefox",n.gm),u.set("isChrome",n.H8),u.set("isSafari",n.nr);const g=Object.prototype.hasOwnProperty,p={regexParsingWithErrorRecovery:!0},m=(0,r.kg)("contextkey.parser.error.emptyString","Empty context key expression"),f=(0,r.kg)("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),_=(0,r.kg)("contextkey.parser.error.noInAfterNot","'in' after 'not'."),v=(0,r.kg)("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),b=(0,r.kg)("contextkey.parser.error.unexpectedToken","Unexpected token"),C=(0,r.kg)("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),w=(0,r.kg)("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),y=(0,r.kg)("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");class S{static{this._parseError=new Error}constructor(e=p){this._config=e,this._scanner=new d,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(""!==e){this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),t=17===e.type?C:void 0;throw this._parsingErrors.push({message:b,offset:e.offset,lexeme:d.getLexeme(e),additionalInfo:t}),S._parseError}return e}catch(t){if(t!==S._parseError)throw t;return}}else this._parsingErrors.push({message:m,offset:0,lexeme:"",additionalInfo:f})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:k.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:k.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),D.INSTANCE;case 12:return this._advance(),N.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,v),e?.negate()}case 17:return this._advance(),A.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),k.true();case 12:return this._advance(),k.false();case 0:{this._advance();const e=this._expr();return this._consume(1,v),e}case 17:{const n=e.lexeme;if(this._advance(),this._matchOne(9)){const e=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==e.type)throw this._errExpectedButGot("REGEX",e);const i=e.lexeme,s=i.lastIndexOf("/"),o=s===i.length-1?void 0:this._removeFlagsGY(i.substring(s+1));let r;try{r=new RegExp(i.substring(1,s),o)}catch(t){throw this._errExpectedButGot("REGEX",e)}return H.create(n,r)}switch(e.type){case 10:case 19:{const i=[e.lexeme];this._advance();let s=this._peek(),o=0;for(let t=0;t=0){const r=t.slice(n+1,s),a="i"===t[s+1]?"i":"";try{o=new RegExp(r,a)}catch(i){throw this._errExpectedButGot("REGEX",e)}}}if(null===o)throw this._errExpectedButGot("REGEX",e);return H.create(n,o)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,_);const e=this._value();return k.notIn(n,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return k.equals(n,e);switch(e){case"true":return k.has(n);case"false":return k.not(n);default:return k.equals(n,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return k.notEquals(n,e);switch(e){case"true":return k.not(n);case"false":return k.has(n);default:return k.notEquals(n,e)}}case 5:return this._advance(),W.create(n,this._value());case 6:return this._advance(),B.create(n,this._value());case 7:return this._advance(),O.create(n,this._value());case 8:return this._advance(),F.create(n,this._value());case 13:return this._advance(),k.in(n,this._value());default:return k.has(n)}}case 20:throw this._parsingErrors.push({message:w,offset:e.offset,lexeme:"",additionalInfo:y}),S._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const n=(0,r.kg)("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,d.getLexeme(t)),s=t.offset,o=d.getLexeme(t);return this._parsingErrors.push({message:n,offset:s,lexeme:o,additionalInfo:i}),S._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}class k{static false(){return D.INSTANCE}static true(){return N.INSTANCE}static has(e){return I.create(e)}static equals(e,t){return E.create(e,t)}static notEquals(e,t){return R.create(e,t)}static regex(e,t){return H.create(e,t)}static in(e,t){return M.create(e,t)}static notIn(e,t){return T.create(e,t)}static not(e){return A.create(e)}static and(...e){return U.create(e,null,!0)}static or(...e){return K.create(e,null,!0)}static{this._parser=new S({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(null==e)return;return this._parser.parse(e)}}function L(e,t){const i=e?e.substituteConstants():void 0,n=t?t.substituteConstants():void 0;return!i&&!n||!(!i||!n)&&i.equals(n)}function x(e,t){return e.cmp(t)}class D{static{this.INSTANCE=new D}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return N.INSTANCE}}class N{static{this.INSTANCE=new N}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return D.INSTANCE}}class I{static create(e,t=null){const i=u.get(e);return"boolean"==typeof i?i?N.INSTANCE:D.INSTANCE:new I(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:q(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=u.get(this.key);return"boolean"==typeof e?e?N.INSTANCE:D.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=A.create(this.key,this)),this.negated}}class E{static create(e,t,i=null){if("boolean"==typeof t)return t?I.create(e,i):A.create(e,i);const n=u.get(e);if("boolean"==typeof n){return t===(n?"true":"false")?N.INSTANCE:D.INSTANCE}return new E(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=u.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?N.INSTANCE:D.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=R.create(this.key,this.value,this)),this.negated}}class M{static create(e,t){return new M(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&(this.key===e.key&&this.valueKey===e.valueKey)}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):"string"==typeof i&&"object"==typeof t&&null!==t&&g.call(t,i)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=T.create(this.key,this.valueKey)),this.negated}}class T{static create(e,t){return new T(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=M.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class R{static create(e,t,i=null){if("boolean"==typeof t)return t?A.create(e,i):I.create(e,i);const n=u.get(e);if("boolean"==typeof n){return t===(n?"true":"false")?D.INSTANCE:N.INSTANCE}return new R(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=u.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?D.INSTANCE:N.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=E.create(this.key,this.value,this)),this.negated}}class A{static create(e,t=null){const i=u.get(e);return"boolean"==typeof i?i?D.INSTANCE:N.INSTANCE:new A(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:q(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=u.get(this.key);return"boolean"==typeof e?e?D.INSTANCE:N.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=I.create(this.key,this)),this.negated}}function P(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):D.INSTANCE}class O{static create(e,t,i=null){return P(t,(t=>new O(e,t,i)))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=B.create(this.key,this.value,this)),this.negated}}class F{static create(e,t,i=null){return P(t,(t=>new F(e,t,i)))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=W.create(this.key,this.value,this)),this.negated}}class W{static create(e,t,i=null){return P(t,(t=>new W(e,t,i)))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))new B(e,t,i)))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=O.create(this.key,this.value,this)),this.negated}}class H{static create(e,t){return new H(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=V.create(this)),this.negated}}class V{static create(e){return new V(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function z(e){let t=null;for(let i=0,n=e.length;ie.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const e=n[n.length-1];if(9!==e.type)break;n.pop();const t=n.pop(),s=0===n.length,o=K.create(e.expr.map((e=>U.create([e,t],null,i))),null,s);o&&(n.push(o),n.sort(x))}if(1===n.length)return n[0];if(i){for(let e=0;ee.serialize())).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=K.create(e,this,!0)}return this.negated}}class K{static create(e,t,i){return K._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize())).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),n=[];for(const e of Z(t))for(const t of Z(i))n.push(U.create([e,t],null,!1));e.unshift(K.create(n,null,!1))}this.negated=K.create(e,this,!0)}return this.negated}}class j extends I{static{this._info=[]}static all(){return j._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,"object"==typeof i?j._info.push({...i,key:e}):!0!==i&&j._info.push({key:e,description:i,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return E.create(this.key,e)}}const $=(0,c.u1)("contextKeyService");function q(e,t){return et?1:0}function G(e,t,i,n){return ei?1:tn?1:0}function Q(e,t){if(0===e.type||1===t.type)return!0;if(9===e.type)return 9===t.type&&Y(e.expr,t.expr);if(9===t.type){for(const i of t.expr)if(Q(e,i))return!0;return!1}if(6===e.type){if(6===t.type)return Y(t.expr,e.expr);for(const i of e.expr)if(Q(i,t))return!0;return!1}return e.equals(t)}function Y(e,t){let i=0,n=0;for(;i{i.d(t,{k:()=>n});const n=(0,i(82399).u1)("environmentService")},89971:(e,t,i)=>{var n;i.d(t,{p:()=>n}),function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(n||(n={}))},83312:(e,t,i)=>{i.d(t,{d:()=>n});class n{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}},66726:(e,t,i)=>{i.d(t,{N:()=>r,v:()=>o});var n=i(83312);const s=[];function o(e,t,i){t instanceof n.d||(t=new n.d(t,[],Boolean(i))),s.push([e,t])}function r(){return s}},82399:(e,t,i)=>{var n;i.d(t,{_$:()=>n,_Y:()=>s,u1:()=>o}),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(n||(n={}));const s=o("instantiationService");function o(e){if(n.serviceIds.has(e))return n.serviceIds.get(e);const t=function(e,i,s){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,i){t[n.DI_TARGET]===t?t[n.DI_DEPENDENCIES].push({id:e,index:i}):(t[n.DI_DEPENDENCIES]=[{id:e,index:i}],t[n.DI_TARGET]=t)}(t,e,s)};return t.toString=()=>e,n.serviceIds.set(e,t),t}},51460:(e,t,i)=>{i.d(t,{F:()=>o});var n=i(2106),s=i(67167);const o={JSONContribution:"base.contributions.json"};const r=new class{constructor(){this._onDidChangeSchema=new n.vl,this.schemasById={}}registerSchema(e,t){var i;this.schemasById[(i=e,i.length>0&&"#"===i.charAt(i.length-1)?i.substring(0,i.length-1):i)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};s.O.add(o.JSONContribution,r)},46441:(e,t,i)=>{i.d(t,{$b:()=>a,Cr:()=>d,Dk:()=>c,rr:()=>r});var n=i(2106),s=i(10998),o=i(17474);const r=(0,i(82399).u1)("logService");var a;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(a||(a={}));const l=a.Info;class h extends s.jG{constructor(){super(...arguments),this.level=l,this._onDidChangeLogLevel=this._register(new n.vl),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==a.Off&&this.level<=e}}class d extends h{constructor(e=l,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(a.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(a.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(a.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(a.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(a.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}}class c extends h{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}new o.N1("logLevel",function(e){switch(e){case a.Trace:return"trace";case a.Debug:return"debug";case a.Info:return"info";case a.Warning:return"warn";case a.Error:return"error";case a.Off:return"off"}}(a.Info))},27619:(e,t,i)=>{i.d(t,{DR:()=>l,cj:()=>n,oc:()=>s});var n,s,o=i(66459),r=i(87289),a=i(82399);!function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(n||(n={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=(0,r.kg)("sev.error","Error"),t[e.Warning]=(0,r.kg)("sev.warning","Warning"),t[e.Info]=(0,r.kg)("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case o.A.Error:return e.Error;case o.A.Warning:return e.Warning;case o.A.Info:return e.Info;case o.A.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return o.A.Error;case e.Warning:return o.A.Warning;case e.Info:return o.A.Info;case e.Hint:return o.A.Ignore}}}(n||(n={})),function(e){const t="";function i(e,i){const s=[t];return e.source?s.push(e.source.replace("\xa6","\\\xa6")):s.push(t),e.code?"string"==typeof e.code?s.push(e.code.replace("\xa6","\\\xa6")):s.push(e.code.value.replace("\xa6","\\\xa6")):s.push(t),void 0!==e.severity&&null!==e.severity?s.push(n.toString(e.severity)):s.push(t),e.message&&i?s.push(e.message.replace("\xa6","\\\xa6")):s.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?s.push(e.startLineNumber.toString()):s.push(t),void 0!==e.startColumn&&null!==e.startColumn?s.push(e.startColumn.toString()):s.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?s.push(e.endLineNumber.toString()):s.push(t),void 0!==e.endColumn&&null!==e.endColumn?s.push(e.endColumn.toString()):s.push(t),s.push(t),s.join("\xa6")}e.makeKey=function(e){return i(e,!0)},e.makeKeyOptionalMessage=i}(s||(s={}));const l=(0,a.u1)("markerService")},67167:(e,t,i)=>{i.d(t,{O:()=>o});var n=i(87110),s=i(79359);const o=new class{constructor(){this.data=new Map}add(e,t){n.ok(s.Kg(e)),n.ok(s.Gv(t)),n.ok(!this.data.has(e),"There is already an extension with this id"),this.data.set(e,t)}as(e){return this.data.get(e)||null}}},92551:(e,t,i)=>{i.d(t,{FdG:()=>n.Fd,buw:()=>d,GuP:()=>n.Gu,Bbc:()=>n.Bb,HP_:()=>n.HP,WMx:()=>u,zRE:()=>g,sAS:()=>he,vV$:()=>ae,etE:()=>le,mc0:()=>re,XJc:()=>Xe,raQ:()=>et,G_h:()=>Ye,T9h:()=>Je,xOA:()=>it,Inn:()=>tt,nZG:()=>nt,Q1$:()=>Ze,OcU:()=>ct,C5U:()=>gt,t0B:()=>ut,b1q:()=>h,EY1:()=>Z,ZEf:()=>X,Gj6:()=>J,ld8:()=>te,$BZ:()=>ie,GNm:()=>ee,Ztu:()=>T,YtV:()=>b,AN$:()=>L,Rbi:()=>k,f3U:()=>F,Ubg:()=>W,ECk:()=>H,p8Y:()=>B,S5J:()=>V,By2:()=>C,i61:()=>M,WfR:()=>z,oZ8:()=>U,tan:()=>P,IIb:()=>E,pOz:()=>I,WL6:()=>j,P6i:()=>K,B2L:()=>Q,sjA:()=>G,_pU:()=>q,HwT:()=>$,seu:()=>R,rm4:()=>A,QwA:()=>O,whs:()=>x,Stt:()=>N,Hng:()=>D,CgL:()=>w,sIe:()=>S,FiB:()=>y,tAP:()=>l,CU6:()=>r,t4B:()=>a,c1f:()=>Pe,uNK:()=>Re,$$0:()=>Oe,L4c:()=>Ee,Zgs:()=>Te,cws:()=>Me,_$n:()=>Ue,eYZ:()=>je,h9z:()=>Ke,I$A:()=>Fe,YSW:()=>Be,L9Z:()=>We,ULt:()=>He,C1n:()=>ze,T5N:()=>Ve,HDX:()=>pt,zUX:()=>ft,Qfh:()=>_t,eUu:()=>mt,Rjz:()=>yt,GVV:()=>St,fED:()=>kt,yIp:()=>Rt,Yoe:()=>Tt,pnl:()=>Ot,P9Z:()=>Wt,fiM:()=>Ft,H8q:()=>Bt,gtq:()=>wt,VFX:()=>vt,efJ:()=>bt,eMz:()=>Pt,p7Y:()=>Ct,QI5:()=>At,lO1:()=>Et,QRv:()=>Mt,CQ3:()=>Nt,ijf:()=>It,uNx:()=>Lt,f4y:()=>xt,C9U:()=>Dt,c6Y:()=>$t,g$2:()=>Kt,dd_:()=>jt,Ux$:()=>Gt,SNb:()=>Qt,pmr:()=>qt,D7X:()=>Yt,ILr:()=>Ne,yLC:()=>De,AjU:()=>ye,K1Z:()=>Ie,KoI:()=>Le,yr0:()=>ke,Xp1:()=>Se,uMG:()=>xe,yLr:()=>n.yL,fAP:()=>_e,z5H:()=>ve,iwL:()=>ti,NBf:()=>ei,tYX:()=>be,bNw:()=>we,JPj:()=>Ce,BTi:()=>v,ELA:()=>Zt,HJZ:()=>Xt,AlL:()=>oi,nH:()=>ni,c7i:()=>si,er1:()=>Jt,Ukx:()=>ot,Ips:()=>rt,jOE:()=>st,xWN:()=>lt,ZBU:()=>ht,kPT:()=>at,jr9:()=>dt,x1A:()=>n.x1,bXl:()=>p,mhZ:()=>_,gnV:()=>m,cI_:()=>f,rvE:()=>$e,HcB:()=>Qe,yqq:()=>Ge,lWP:()=>qe,k5u:()=>zt,sbQ:()=>Ut,vwp:()=>c,JO0:()=>n.JO,pft:()=>Vt,U4U:()=>Ht,DSL:()=>se,f9l:()=>ne});var n=i(87676),s=i(87289),o=i(94901);const r=(0,n.x1)("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},s.kg("foreground","Overall foreground color. This color is only used if not overridden by a component.")),a=((0,n.x1)("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},s.kg("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),(0,n.x1)("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},s.kg("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),(0,n.x1)("descriptionForeground",{light:"#717171",dark:(0,n.JO)(r,.7),hcDark:(0,n.JO)(r,.7),hcLight:(0,n.JO)(r,.7)},s.kg("descriptionForeground","Foreground color for description text providing additional information, for example for a label.")),(0,n.x1)("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},s.kg("iconForeground","The default color for icons in the workbench."))),l=(0,n.x1)("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},s.kg("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),h=(0,n.x1)("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},s.kg("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),d=(0,n.x1)("contrastActiveBorder",{light:null,dark:null,hcDark:l,hcLight:l},s.kg("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),c=((0,n.x1)("selection.background",null,s.kg("selectionBackground","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.")),(0,n.x1)("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},s.kg("textLinkForeground","Foreground color for links in text."))),u=((0,n.x1)("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},s.kg("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),(0,n.x1)("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:o.Q1.black,hcLight:"#292929"},s.kg("textSeparatorForeground","Color for text separators.")),(0,n.x1)("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},s.kg("textPreformatForeground","Foreground color for preformatted text segments.")),(0,n.x1)("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},s.kg("textPreformatBackground","Background color for preformatted text segments.")),(0,n.x1)("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},s.kg("textBlockQuoteBackground","Background color for block quotes in text.")),(0,n.x1)("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:o.Q1.white,hcLight:"#292929"},s.kg("textBlockQuoteBorder","Border color for block quotes in text.")),(0,n.x1)("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:o.Q1.black,hcLight:"#F2F2F2"},s.kg("textCodeBlockBackground","Background color for code blocks in text.")),(0,n.x1)("sash.hoverBorder",l,s.kg("sashActiveBorder","Border color of active sashes.")),(0,n.x1)("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:o.Q1.black,hcLight:"#0F4A85"},s.kg("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count."))),g=(0,n.x1)("badge.foreground",{dark:o.Q1.white,light:"#333",hcDark:o.Q1.white,hcLight:o.Q1.white},s.kg("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),p=(0,n.x1)("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},s.kg("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),m=(0,n.x1)("scrollbarSlider.background",{dark:o.Q1.fromHex("#797979").transparent(.4),light:o.Q1.fromHex("#646464").transparent(.4),hcDark:(0,n.JO)(h,.6),hcLight:(0,n.JO)(h,.4)},s.kg("scrollbarSliderBackground","Scrollbar slider background color.")),f=(0,n.x1)("scrollbarSlider.hoverBackground",{dark:o.Q1.fromHex("#646464").transparent(.7),light:o.Q1.fromHex("#646464").transparent(.7),hcDark:(0,n.JO)(h,.8),hcLight:(0,n.JO)(h,.8)},s.kg("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),_=(0,n.x1)("scrollbarSlider.activeBackground",{dark:o.Q1.fromHex("#BFBFBF").transparent(.4),light:o.Q1.fromHex("#000000").transparent(.6),hcDark:h,hcLight:h},s.kg("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),v=(0,n.x1)("progressBar.background",{dark:o.Q1.fromHex("#0E70C0"),light:o.Q1.fromHex("#0E70C0"),hcDark:h,hcLight:h},s.kg("progressBarBackground","Background color of the progress bar that can show for long running operations.")),b=(0,n.x1)("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("editorBackground","Editor background color.")),C=(0,n.x1)("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:o.Q1.white,hcLight:r},s.kg("editorForeground","Editor default foreground color.")),w=((0,n.x1)("editorStickyScroll.background",b,s.kg("editorStickyScrollBackground","Background color of sticky scroll in the editor")),(0,n.x1)("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:o.Q1.fromHex("#0F4A85").transparent(.1)},s.kg("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),(0,n.x1)("editorStickyScroll.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("editorStickyScrollBorder","Border color of sticky scroll in the editor")),(0,n.x1)("editorStickyScroll.shadow",p,s.kg("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor")),(0,n.x1)("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:o.Q1.white},s.kg("editorWidgetBackground","Background color of editor widgets, such as find/replace."))),y=(0,n.x1)("editorWidget.foreground",r,s.kg("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),S=(0,n.x1)("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:h,hcLight:h},s.kg("editorWidgetBorder","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.")),k=((0,n.x1)("editorWidget.resizeBorder",null,s.kg("editorWidgetResizeBorder","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.")),(0,n.x1)("editorError.background",null,s.kg("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},s.kg("editorError.foreground","Foreground color of error squigglies in the editor."))),L=(0,n.x1)("editorError.border",{dark:null,light:null,hcDark:o.Q1.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},s.kg("errorBorder","If set, color of double underlines for errors in the editor.")),x=(0,n.x1)("editorWarning.background",null,s.kg("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),D=(0,n.x1)("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},s.kg("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),N=(0,n.x1)("editorWarning.border",{dark:null,light:null,hcDark:o.Q1.fromHex("#FFCC00").transparent(.8),hcLight:o.Q1.fromHex("#FFCC00").transparent(.8)},s.kg("warningBorder","If set, color of double underlines for warnings in the editor.")),I=((0,n.x1)("editorInfo.background",null,s.kg("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},s.kg("editorInfo.foreground","Foreground color of info squigglies in the editor."))),E=(0,n.x1)("editorInfo.border",{dark:null,light:null,hcDark:o.Q1.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},s.kg("infoBorder","If set, color of double underlines for infos in the editor.")),M=(0,n.x1)("editorHint.foreground",{dark:o.Q1.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},s.kg("editorHint.foreground","Foreground color of hint squigglies in the editor.")),T=((0,n.x1)("editorHint.border",{dark:null,light:null,hcDark:o.Q1.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},s.kg("hintBorder","If set, color of double underlines for hints in the editor.")),(0,n.x1)("editorLink.activeForeground",{dark:"#4E94CE",light:o.Q1.blue,hcDark:o.Q1.cyan,hcLight:"#292929"},s.kg("activeLinkForeground","Color of active links."))),R=(0,n.x1)("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},s.kg("editorSelectionBackground","Color of the editor selection.")),A=(0,n.x1)("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:o.Q1.white},s.kg("editorSelectionForeground","Color of the selected text for high contrast.")),P=(0,n.x1)("editor.inactiveSelectionBackground",{light:(0,n.JO)(R,.5),dark:(0,n.JO)(R,.5),hcDark:(0,n.JO)(R,.7),hcLight:(0,n.JO)(R,.5)},s.kg("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),O=(0,n.x1)("editor.selectionHighlightBackground",{light:(0,n.oG)(R,b,.3,.6),dark:(0,n.oG)(R,b,.3,.6),hcDark:null,hcLight:null},s.kg("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),F=((0,n.x1)("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:d,hcLight:d},s.kg("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),(0,n.x1)("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},s.kg("editorFindMatch","Color of the current search match.")),(0,n.x1)("editor.findMatchForeground",null,s.kg("editorFindMatchForeground","Text color of the current search match."))),W=(0,n.x1)("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},s.kg("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),B=(0,n.x1)("editor.findMatchHighlightForeground",null,s.kg("findMatchHighlightForeground","Foreground color of the other search matches."),!0),H=((0,n.x1)("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},s.kg("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("editor.findMatchBorder",{light:null,dark:null,hcDark:d,hcLight:d},s.kg("editorFindMatchBorder","Border color of the current search match.")),(0,n.x1)("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:d,hcLight:d},s.kg("findMatchHighlightBorder","Border color of the other search matches."))),V=(0,n.x1)("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:(0,n.JO)(d,.4),hcLight:(0,n.JO)(d,.4)},s.kg("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),z=((0,n.x1)("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},s.kg("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("editorHoverWidget.background",w,s.kg("hoverBackground","Background color of the editor hover."))),U=((0,n.x1)("editorHoverWidget.foreground",y,s.kg("hoverForeground","Foreground color of the editor hover.")),(0,n.x1)("editorHoverWidget.border",S,s.kg("hoverBorder","Border color of the editor hover."))),K=((0,n.x1)("editorHoverWidget.statusBarBackground",{dark:(0,n.a)(z,.2),light:(0,n.e$)(z,.05),hcDark:w,hcLight:w},s.kg("statusBarBackground","Background color of the editor hover status bar.")),(0,n.x1)("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:o.Q1.white,hcLight:o.Q1.black},s.kg("editorInlayHintForeground","Foreground color of inline hints"))),j=(0,n.x1)("editorInlayHint.background",{dark:(0,n.JO)(u,.1),light:(0,n.JO)(u,.1),hcDark:(0,n.JO)(o.Q1.white,.1),hcLight:(0,n.JO)(u,.1)},s.kg("editorInlayHintBackground","Background color of inline hints")),$=(0,n.x1)("editorInlayHint.typeForeground",K,s.kg("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),q=(0,n.x1)("editorInlayHint.typeBackground",j,s.kg("editorInlayHintBackgroundTypes","Background color of inline hints for types")),G=(0,n.x1)("editorInlayHint.parameterForeground",K,s.kg("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),Q=(0,n.x1)("editorInlayHint.parameterBackground",j,s.kg("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),Y=(0,n.x1)("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},s.kg("editorLightBulbForeground","The color used for the lightbulb actions icon.")),Z=((0,n.x1)("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},s.kg("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),(0,n.x1)("editorLightBulbAi.foreground",Y,s.kg("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),(0,n.x1)("editor.snippetTabstopHighlightBackground",{dark:new o.Q1(new o.bU(124,124,124,.3)),light:new o.Q1(new o.bU(10,50,100,.2)),hcDark:new o.Q1(new o.bU(124,124,124,.3)),hcLight:new o.Q1(new o.bU(10,50,100,.2))},s.kg("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),(0,n.x1)("editor.snippetTabstopHighlightBorder",null,s.kg("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),(0,n.x1)("editor.snippetFinalTabstopHighlightBackground",null,s.kg("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),(0,n.x1)("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new o.Q1(new o.bU(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},s.kg("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet.")),new o.Q1(new o.bU(155,185,85,.2))),X=new o.Q1(new o.bU(255,0,0,.2)),J=(0,n.x1)("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},s.kg("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),ee=(0,n.x1)("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},s.kg("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),te=((0,n.x1)("diffEditor.insertedLineBackground",{dark:Z,light:Z,hcDark:null,hcLight:null},s.kg("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("diffEditor.removedLineBackground",{dark:X,light:X,hcDark:null,hcLight:null},s.kg("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("diffEditorGutter.insertedLineBackground",null,s.kg("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),(0,n.x1)("diffEditorGutter.removedLineBackground",null,s.kg("diffEditorRemovedLineGutter","Background color for the margin where lines got removed.")),(0,n.x1)("diffEditorOverview.insertedForeground",null,s.kg("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content."))),ie=(0,n.x1)("diffEditorOverview.removedForeground",null,s.kg("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content.")),ne=((0,n.x1)("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},s.kg("diffEditorInsertedOutline","Outline color for the text that got inserted.")),(0,n.x1)("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},s.kg("diffEditorRemovedOutline","Outline color for text that got removed.")),(0,n.x1)("diffEditor.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("diffEditorBorder","Border color between the two text editors.")),(0,n.x1)("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},s.kg("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),(0,n.x1)("diffEditor.unchangedRegionBackground","sideBar.background",s.kg("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),(0,n.x1)("diffEditor.unchangedRegionForeground","foreground",s.kg("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),(0,n.x1)("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},s.kg("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor.")),(0,n.x1)("widget.shadow",{dark:(0,n.JO)(o.Q1.black,.36),light:(0,n.JO)(o.Q1.black,.16),hcDark:null,hcLight:null},s.kg("widgetShadow","Shadow color of widgets such as find/replace inside the editor."))),se=(0,n.x1)("widget.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("widgetBorder","Border color of widgets such as find/replace inside the editor.")),oe=(0,n.x1)("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},s.kg("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse")),re=((0,n.x1)("toolbar.hoverOutline",{dark:null,light:null,hcDark:d,hcLight:d},s.kg("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),(0,n.x1)("toolbar.activeBackground",{dark:(0,n.a)(oe,.1),light:(0,n.e$)(oe,.1),hcDark:null,hcLight:null},s.kg("toolbarActiveBackground","Toolbar background when holding the mouse over actions")),(0,n.x1)("breadcrumb.foreground",(0,n.JO)(r,.8),s.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items."))),ae=(0,n.x1)("breadcrumb.background",b,s.kg("breadcrumbsBackground","Background color of breadcrumb items.")),le=(0,n.x1)("breadcrumb.focusForeground",{light:(0,n.e$)(r,.2),dark:(0,n.a)(r,.1),hcDark:(0,n.a)(r,.1),hcLight:(0,n.a)(r,.1)},s.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),he=(0,n.x1)("breadcrumb.activeSelectionForeground",{light:(0,n.e$)(r,.2),dark:(0,n.a)(r,.1),hcDark:(0,n.a)(r,.1),hcLight:(0,n.a)(r,.1)},s.kg("breadcrumbsSelectedForeground","Color of selected breadcrumb items.")),de=((0,n.x1)("breadcrumbPicker.background",w,s.kg("breadcrumbsSelectedBackground","Background color of breadcrumb item picker.")),o.Q1.fromHex("#40C8AE").transparent(.5)),ce=o.Q1.fromHex("#40A6FF").transparent(.5),ue=o.Q1.fromHex("#606060").transparent(.4),ge=(0,n.x1)("merge.currentHeaderBackground",{dark:de,light:de,hcDark:null,hcLight:null},s.kg("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),pe=((0,n.x1)("merge.currentContentBackground",(0,n.JO)(ge,.4),s.kg("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("merge.incomingHeaderBackground",{dark:ce,light:ce,hcDark:null,hcLight:null},s.kg("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),me=((0,n.x1)("merge.incomingContentBackground",(0,n.JO)(pe,.4),s.kg("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("merge.commonHeaderBackground",{dark:ue,light:ue,hcDark:null,hcLight:null},s.kg("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),fe=((0,n.x1)("merge.commonContentBackground",(0,n.JO)(me,.4),s.kg("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},s.kg("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."))),_e=((0,n.x1)("editorOverviewRuler.currentContentForeground",{dark:(0,n.JO)(ge,1),light:(0,n.JO)(ge,1),hcDark:fe,hcLight:fe},s.kg("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),(0,n.x1)("editorOverviewRuler.incomingContentForeground",{dark:(0,n.JO)(pe,1),light:(0,n.JO)(pe,1),hcDark:fe,hcLight:fe},s.kg("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),(0,n.x1)("editorOverviewRuler.commonContentForeground",{dark:(0,n.JO)(me,1),light:(0,n.JO)(me,1),hcDark:fe,hcLight:fe},s.kg("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts.")),(0,n.x1)("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},s.kg("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0)),ve=(0,n.x1)("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",s.kg("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),be=(0,n.x1)("problemsErrorIcon.foreground",k,s.kg("problemsErrorIconForeground","The color used for the problems error icon.")),Ce=(0,n.x1)("problemsWarningIcon.foreground",D,s.kg("problemsWarningIconForeground","The color used for the problems warning icon.")),we=(0,n.x1)("problemsInfoIcon.foreground",I,s.kg("problemsInfoIconForeground","The color used for the problems info icon.")),ye=(0,n.x1)("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},s.kg("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),Se=(0,n.x1)("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},s.kg("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),ke=(0,n.x1)("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},s.kg("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),Le=(0,n.x1)("minimap.infoHighlight",{dark:I,light:I,hcDark:E,hcLight:E},s.kg("minimapInfo","Minimap marker color for infos.")),xe=(0,n.x1)("minimap.warningHighlight",{dark:D,light:D,hcDark:N,hcLight:N},s.kg("overviewRuleWarning","Minimap marker color for warnings.")),De=(0,n.x1)("minimap.errorHighlight",{dark:new o.Q1(new o.bU(255,18,18,.7)),light:new o.Q1(new o.bU(255,18,18,.7)),hcDark:new o.Q1(new o.bU(255,50,50,1)),hcLight:"#B5200D"},s.kg("minimapError","Minimap marker color for errors.")),Ne=(0,n.x1)("minimap.background",null,s.kg("minimapBackground","Minimap background color.")),Ie=(0,n.x1)("minimap.foregroundOpacity",o.Q1.fromHex("#000f"),s.kg("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),Ee=((0,n.x1)("minimapSlider.background",(0,n.JO)(m,.5),s.kg("minimapSliderBackground","Minimap slider background color.")),(0,n.x1)("minimapSlider.hoverBackground",(0,n.JO)(f,.5),s.kg("minimapSliderHoverBackground","Minimap slider background color when hovering.")),(0,n.x1)("minimapSlider.activeBackground",(0,n.JO)(_,.5),s.kg("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),(0,n.x1)("charts.foreground",r,s.kg("chartsForeground","The foreground color used in charts.")),(0,n.x1)("charts.lines",(0,n.JO)(r,.5),s.kg("chartsLines","The color used for horizontal lines in charts.")),(0,n.x1)("charts.red",k,s.kg("chartsRed","The red color used in chart visualizations.")),(0,n.x1)("charts.blue",I,s.kg("chartsBlue","The blue color used in chart visualizations.")),(0,n.x1)("charts.yellow",D,s.kg("chartsYellow","The yellow color used in chart visualizations.")),(0,n.x1)("charts.orange",ye,s.kg("chartsOrange","The orange color used in chart visualizations.")),(0,n.x1)("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},s.kg("chartsGreen","The green color used in chart visualizations.")),(0,n.x1)("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},s.kg("chartsPurple","The purple color used in chart visualizations.")),(0,n.x1)("input.background",{dark:"#3C3C3C",light:o.Q1.white,hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("inputBoxBackground","Input box background."))),Me=(0,n.x1)("input.foreground",r,s.kg("inputBoxForeground","Input box foreground.")),Te=(0,n.x1)("input.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("inputBoxBorder","Input box border.")),Re=(0,n.x1)("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:h,hcLight:h},s.kg("inputBoxActiveOptionBorder","Border color of activated options in input fields.")),Ae=(0,n.x1)("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},s.kg("inputOption.hoverBackground","Background color of activated options in input fields.")),Pe=(0,n.x1)("inputOption.activeBackground",{dark:(0,n.JO)(l,.4),light:(0,n.JO)(l,.2),hcDark:o.Q1.transparent,hcLight:o.Q1.transparent},s.kg("inputOption.activeBackground","Background hover color of options in input fields.")),Oe=(0,n.x1)("inputOption.activeForeground",{dark:o.Q1.white,light:o.Q1.black,hcDark:r,hcLight:r},s.kg("inputOption.activeForeground","Foreground color of activated options in input fields.")),Fe=((0,n.x1)("input.placeholderForeground",{light:(0,n.JO)(r,.5),dark:(0,n.JO)(r,.5),hcDark:(0,n.JO)(r,.7),hcLight:(0,n.JO)(r,.7)},s.kg("inputPlaceholderForeground","Input box foreground color for placeholder text.")),(0,n.x1)("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("inputValidationInfoBackground","Input validation background color for information severity."))),We=(0,n.x1)("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:r},s.kg("inputValidationInfoForeground","Input validation foreground color for information severity.")),Be=(0,n.x1)("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:h,hcLight:h},s.kg("inputValidationInfoBorder","Input validation border color for information severity.")),He=(0,n.x1)("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("inputValidationWarningBackground","Input validation background color for warning severity.")),Ve=(0,n.x1)("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:r},s.kg("inputValidationWarningForeground","Input validation foreground color for warning severity.")),ze=(0,n.x1)("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:h,hcLight:h},s.kg("inputValidationWarningBorder","Input validation border color for warning severity.")),Ue=(0,n.x1)("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("inputValidationErrorBackground","Input validation background color for error severity.")),Ke=(0,n.x1)("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:r},s.kg("inputValidationErrorForeground","Input validation foreground color for error severity.")),je=(0,n.x1)("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:h,hcLight:h},s.kg("inputValidationErrorBorder","Input validation border color for error severity.")),$e=(0,n.x1)("dropdown.background",{dark:"#3C3C3C",light:o.Q1.white,hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("dropdownBackground","Dropdown background.")),qe=(0,n.x1)("dropdown.listBackground",{dark:null,light:null,hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("dropdownListBackground","Dropdown list background.")),Ge=(0,n.x1)("dropdown.foreground",{dark:"#F0F0F0",light:r,hcDark:o.Q1.white,hcLight:r},s.kg("dropdownForeground","Dropdown foreground.")),Qe=(0,n.x1)("dropdown.border",{dark:$e,light:"#CECECE",hcDark:h,hcLight:h},s.kg("dropdownBorder","Dropdown border.")),Ye=(0,n.x1)("button.foreground",o.Q1.white,s.kg("buttonForeground","Button foreground color.")),Ze=(0,n.x1)("button.separator",(0,n.JO)(Ye,.4),s.kg("buttonSeparator","Button separator color.")),Xe=(0,n.x1)("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},s.kg("buttonBackground","Button background color.")),Je=(0,n.x1)("button.hoverBackground",{dark:(0,n.a)(Xe,.2),light:(0,n.e$)(Xe,.2),hcDark:Xe,hcLight:Xe},s.kg("buttonHoverBackground","Button background color when hovering.")),et=(0,n.x1)("button.border",h,s.kg("buttonBorder","Button border color.")),tt=(0,n.x1)("button.secondaryForeground",{dark:o.Q1.white,light:o.Q1.white,hcDark:o.Q1.white,hcLight:r},s.kg("buttonSecondaryForeground","Secondary button foreground color.")),it=(0,n.x1)("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:o.Q1.white},s.kg("buttonSecondaryBackground","Secondary button background color.")),nt=(0,n.x1)("button.secondaryHoverBackground",{dark:(0,n.a)(it,.2),light:(0,n.e$)(it,.2),hcDark:null,hcLight:null},s.kg("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),st=(0,n.x1)("radio.activeForeground",Oe,s.kg("radioActiveForeground","Foreground color of active radio option.")),ot=(0,n.x1)("radio.activeBackground",Pe,s.kg("radioBackground","Background color of active radio option.")),rt=(0,n.x1)("radio.activeBorder",Re,s.kg("radioActiveBorder","Border color of the active radio option.")),at=(0,n.x1)("radio.inactiveForeground",null,s.kg("radioInactiveForeground","Foreground color of inactive radio option.")),lt=(0,n.x1)("radio.inactiveBackground",null,s.kg("radioInactiveBackground","Background color of inactive radio option.")),ht=(0,n.x1)("radio.inactiveBorder",{light:(0,n.JO)(st,.2),dark:(0,n.JO)(st,.2),hcDark:(0,n.JO)(st,.4),hcLight:(0,n.JO)(st,.2)},s.kg("radioInactiveBorder","Border color of the inactive radio option.")),dt=(0,n.x1)("radio.inactiveHoverBackground",Ae,s.kg("radioHoverBackground","Background color of inactive active radio option when hovering.")),ct=(0,n.x1)("checkbox.background",$e,s.kg("checkbox.background","Background color of checkbox widget.")),ut=((0,n.x1)("checkbox.selectBackground",w,s.kg("checkbox.select.background","Background color of checkbox widget when the element it's in is selected.")),(0,n.x1)("checkbox.foreground",Ge,s.kg("checkbox.foreground","Foreground color of checkbox widget."))),gt=(0,n.x1)("checkbox.border",Qe,s.kg("checkbox.border","Border color of checkbox widget.")),pt=((0,n.x1)("checkbox.selectBorder",a,s.kg("checkbox.select.border","Border color of checkbox widget when the element it's in is selected.")),(0,n.x1)("keybindingLabel.background",{dark:new o.Q1(new o.bU(128,128,128,.17)),light:new o.Q1(new o.bU(221,221,221,.4)),hcDark:o.Q1.transparent,hcLight:o.Q1.transparent},s.kg("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut."))),mt=(0,n.x1)("keybindingLabel.foreground",{dark:o.Q1.fromHex("#CCCCCC"),light:o.Q1.fromHex("#555555"),hcDark:o.Q1.white,hcLight:r},s.kg("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),ft=(0,n.x1)("keybindingLabel.border",{dark:new o.Q1(new o.bU(51,51,51,.6)),light:new o.Q1(new o.bU(204,204,204,.4)),hcDark:new o.Q1(new o.bU(111,195,223)),hcLight:h},s.kg("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),_t=(0,n.x1)("keybindingLabel.bottomBorder",{dark:new o.Q1(new o.bU(68,68,68,.6)),light:new o.Q1(new o.bU(187,187,187,.4)),hcDark:new o.Q1(new o.bU(111,195,223)),hcLight:r},s.kg("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),vt=(0,n.x1)("list.focusBackground",null,s.kg("listFocusBackground","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.")),bt=(0,n.x1)("list.focusForeground",null,s.kg("listFocusForeground","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.")),Ct=(0,n.x1)("list.focusOutline",{dark:l,light:l,hcDark:d,hcLight:d},s.kg("listFocusOutline","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.")),wt=(0,n.x1)("list.focusAndSelectionOutline",null,s.kg("listFocusAndSelectionOutline","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.")),yt=(0,n.x1)("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:o.Q1.fromHex("#0F4A85").transparent(.1)},s.kg("listActiveSelectionBackground","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.")),St=(0,n.x1)("list.activeSelectionForeground",{dark:o.Q1.white,light:o.Q1.white,hcDark:null,hcLight:null},s.kg("listActiveSelectionForeground","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.")),kt=(0,n.x1)("list.activeSelectionIconForeground",null,s.kg("listActiveSelectionIconForeground","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.")),Lt=(0,n.x1)("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:o.Q1.fromHex("#0F4A85").transparent(.1)},s.kg("listInactiveSelectionBackground","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.")),xt=(0,n.x1)("list.inactiveSelectionForeground",null,s.kg("listInactiveSelectionForeground","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.")),Dt=(0,n.x1)("list.inactiveSelectionIconForeground",null,s.kg("listInactiveSelectionIconForeground","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.")),Nt=(0,n.x1)("list.inactiveFocusBackground",null,s.kg("listInactiveFocusBackground","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.")),It=(0,n.x1)("list.inactiveFocusOutline",null,s.kg("listInactiveFocusOutline","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.")),Et=(0,n.x1)("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:o.Q1.white.transparent(.1),hcLight:o.Q1.fromHex("#0F4A85").transparent(.1)},s.kg("listHoverBackground","List/Tree background when hovering over items using the mouse.")),Mt=(0,n.x1)("list.hoverForeground",null,s.kg("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),Tt=(0,n.x1)("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},s.kg("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),Rt=(0,n.x1)("list.dropBetweenBackground",{dark:a,light:a,hcDark:null,hcLight:null},s.kg("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),At=(0,n.x1)("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:l,hcLight:l},s.kg("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),Pt=(0,n.x1)("list.focusHighlightForeground",{dark:At,light:(0,n.Hz)(yt,At,"#BBE7FF"),hcDark:At,hcLight:At},s.kg("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.")),Ot=((0,n.x1)("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},s.kg("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),(0,n.x1)("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},s.kg("listErrorForeground","Foreground color of list items containing errors.")),(0,n.x1)("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},s.kg("listWarningForeground","Foreground color of list items containing warnings.")),(0,n.x1)("listFilterWidget.background",{light:(0,n.e$)(w,0),dark:(0,n.a)(w,0),hcDark:w,hcLight:w},s.kg("listFilterWidgetBackground","Background color of the type filter widget in lists and trees."))),Ft=(0,n.x1)("listFilterWidget.outline",{dark:o.Q1.transparent,light:o.Q1.transparent,hcDark:"#f38518",hcLight:"#007ACC"},s.kg("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),Wt=(0,n.x1)("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:h,hcLight:h},s.kg("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),Bt=(0,n.x1)("listFilterWidget.shadow",ne,s.kg("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees.")),Ht=((0,n.x1)("list.filterMatchBackground",{dark:W,light:W,hcDark:null,hcLight:null},s.kg("listFilterMatchHighlight","Background color of the filtered match.")),(0,n.x1)("list.filterMatchBorder",{dark:H,light:H,hcDark:h,hcLight:d},s.kg("listFilterMatchHighlightBorder","Border color of the filtered match.")),(0,n.x1)("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},s.kg("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized.")),(0,n.x1)("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},s.kg("treeIndentGuidesStroke","Tree stroke color for the indentation guides."))),Vt=(0,n.x1)("tree.inactiveIndentGuidesStroke",(0,n.JO)(Ht,.4),s.kg("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),zt=(0,n.x1)("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},s.kg("tableColumnsBorder","Table border color between columns.")),Ut=(0,n.x1)("tree.tableOddRowsBackground",{dark:(0,n.JO)(r,.04),light:(0,n.JO)(r,.04),hcDark:null,hcLight:null},s.kg("tableOddRowsBackgroundColor","Background color for odd table rows.")),Kt=((0,n.x1)("editorActionList.background",w,s.kg("editorActionListBackground","Action List background color.")),(0,n.x1)("editorActionList.foreground",y,s.kg("editorActionListForeground","Action List foreground color.")),(0,n.x1)("editorActionList.focusForeground",St,s.kg("editorActionListFocusForeground","Action List foreground color for the focused item.")),(0,n.x1)("editorActionList.focusBackground",yt,s.kg("editorActionListFocusBackground","Action List background color for the focused item.")),(0,n.x1)("menu.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("menuBorder","Border color of menus."))),jt=(0,n.x1)("menu.foreground",Ge,s.kg("menuForeground","Foreground color of menu items.")),$t=(0,n.x1)("menu.background",$e,s.kg("menuBackground","Background color of menu items.")),qt=(0,n.x1)("menu.selectionForeground",St,s.kg("menuSelectionForeground","Foreground color of the selected menu item in menus.")),Gt=(0,n.x1)("menu.selectionBackground",yt,s.kg("menuSelectionBackground","Background color of the selected menu item in menus.")),Qt=(0,n.x1)("menu.selectionBorder",{dark:null,light:null,hcDark:d,hcLight:d},s.kg("menuSelectionBorder","Border color of the selected menu item in menus.")),Yt=(0,n.x1)("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:h,hcLight:h},s.kg("menuSeparatorBackground","Color of a separator menu item in menus.")),Zt=(0,n.x1)("quickInput.background",w,s.kg("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),Xt=(0,n.x1)("quickInput.foreground",y,s.kg("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),Jt=(0,n.x1)("quickInputTitle.background",{dark:new o.Q1(new o.bU(255,255,255,.105)),light:new o.Q1(new o.bU(0,0,0,.06)),hcDark:"#000000",hcLight:o.Q1.white},s.kg("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),ei=(0,n.x1)("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:o.Q1.white,hcLight:"#0F4A85"},s.kg("pickerGroupForeground","Quick picker color for grouping labels.")),ti=(0,n.x1)("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:o.Q1.white,hcLight:"#0F4A85"},s.kg("pickerGroupBorder","Quick picker color for grouping borders.")),ii=(0,n.x1)("quickInput.list.focusBackground",null,"",void 0,s.kg("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),ni=(0,n.x1)("quickInputList.focusForeground",St,s.kg("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),si=(0,n.x1)("quickInputList.focusIconForeground",kt,s.kg("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),oi=(0,n.x1)("quickInputList.focusBackground",{dark:(0,n.yL)(ii,yt),light:(0,n.yL)(ii,yt),hcDark:null,hcLight:null},s.kg("quickInput.listFocusBackground","Quick picker background color for the focused item."));(0,n.x1)("search.resultsInfoForeground",{light:r,dark:(0,n.JO)(r,.65),hcDark:r,hcLight:r},s.kg("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),(0,n.x1)("searchEditor.findMatchBackground",{light:(0,n.JO)(W,.66),dark:(0,n.JO)(W,.66),hcDark:W,hcLight:W},s.kg("searchEditor.queryMatch","Color of the Search Editor query matches.")),(0,n.x1)("searchEditor.findMatchBorder",{light:(0,n.JO)(H,.66),dark:(0,n.JO)(H,.66),hcDark:H,hcLight:H},s.kg("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."))},87676:(e,t,i)=>{i.d(t,{Bb:()=>d,Fd:()=>g,Gu:()=>c,HP:()=>u,Hz:()=>C,JO:()=>v,a:()=>_,e$:()=>f,oG:()=>w,x1:()=>m,yL:()=>b});var n=i(87110),s=i(65958),o=i(94901),r=i(2106),a=i(51460),l=i(67167),h=i(87289);function d(e){return`--vscode-${e.replace(/\./g,"-")}`}function c(e){return`var(${d(e)})`}function u(e,t){return`var(${d(e)}, ${t})`}const g={ColorContribution:"base.contributions.colors"};const p=new class{constructor(){this._onDidChangeSchema=new r.vl,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,i,n=!1,s){const o={id:e,description:i,defaults:t,needsTransparency:n,deprecationMessage:s};this.colorsById[e]=o;const r={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return s&&(r.deprecationMessage=s),n&&(r.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",r.patternErrorMessage=h.kg("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:i,oneOf:[r,{type:"string",const:"default",description:h.kg("useDefault","Use the default color.")}]},this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map((e=>this.colorsById[e]))}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i?.defaults){return y(null!==(n=i.defaults)&&"object"==typeof n&&"light"in n&&"dark"in n?i.defaults[t.type]:i.defaults,t)}var n}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{const i=-1===e.indexOf(".")?0:1,n=-1===t.indexOf(".")?0:1;return i!==n?i-n:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function m(e,t,i,n,s){return p.registerColor(e,t,i,n,s)}function f(e,t){return{op:0,value:e,factor:t}}function _(e,t){return{op:1,value:e,factor:t}}function v(e,t){return{op:2,value:e,factor:t}}function b(...e){return{op:4,values:e}}function C(e,t,i){return{op:6,if:e,then:t,else:i}}function w(e,t,i,n){return{op:5,value:e,background:t,factor:i,transparency:n}}function y(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?o.Q1.fromHex(e):t.getColor(e):e instanceof o.Q1?e:"object"==typeof e?function(e,t){switch(e.op){case 0:return y(e.value,t)?.darken(e.factor);case 1:return y(e.value,t)?.lighten(e.factor);case 2:return y(e.value,t)?.transparent(e.factor);case 3:{const i=y(e.background,t);return i?y(e.value,t)?.makeOpaque(i):y(e.value,t)}case 4:for(const i of e.values){const e=y(i,t);if(e)return e}return;case 6:return y(t.defines(e.if)?e.then:e.else,t);case 5:{const i=y(e.value,t);if(!i)return;const n=y(e.background,t);return n?i.isDarkerThan(n)?o.Q1.getLighterColor(i,n,e.factor).transparent(e.transparency):o.Q1.getDarkerColor(i,n,e.factor).transparent(e.transparency):i.transparent(e.factor*e.transparency)}default:throw(0,n.xb)(e)}}(e,t):void 0}l.O.add(g.ColorContribution,p);const S="vscode://schemas/workbench-colors",k=l.O.as(a.F.JSONContribution);k.registerSchema(S,p.getColorSchema());const L=new s.uC((()=>k.notifySchemaChanged(S)),200);p.onDidChangeSchema((()=>{L.isScheduled()||L.schedule()}))},89563:(e,t,i)=>{var n;function s(e){return e===n.HIGH_CONTRAST_DARK||e===n.HIGH_CONTRAST_LIGHT}function o(e){return e===n.DARK||e===n.HIGH_CONTRAST_DARK}i.d(t,{Bb:()=>s,HD:()=>o,zM:()=>n}),function(e){e.DARK="dark",e.LIGHT="light",e.HIGH_CONTRAST_DARK="hcDark",e.HIGH_CONTRAST_LIGHT="hcLight"}(n||(n={}))},89044:(e,t,i)=>{i.d(t,{Fd:()=>c,Gy:()=>l,Pz:()=>d,Yf:()=>h,lR:()=>p,zy:()=>g});var n=i(2106),s=i(10998),o=i(82399),r=i(67167),a=i(89563);const l=(0,o.u1)("themeService");function h(e){return{id:e}}function d(e){switch(e){case a.zM.DARK:return"vs-dark";case a.zM.HIGH_CONTRAST_DARK:return"hc-black";case a.zM.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const c={ThemingContribution:"base.contributions.theming"};const u=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new n.vl}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),(0,s.s)((()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function g(e){return u.onColorThemeChange(e)}r.O.add(c.ThemingContribution,u);class p extends s.jG{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange((e=>this.onThemeChange(e))))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}},38803:(e,t,i)=>{i.d(t,{$D:()=>n,I_:()=>o,To:()=>s,Ym:()=>r});const n=(0,i(82399).u1)("undoRedoService");class s{constructor(e,t){this.resource=e,this.elements=t}}class o{static{this._ID=0}constructor(){this.id=o._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new o}}class r{static{this._ID=0}constructor(){this.id=r._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new r}}},81569:(e,t,i)=>{i.d(t,{Ay:()=>u});var n=i(29482),s=i(96540);function o(e){return/^\d+$/.test(e)?"".concat(e,"px"):e}function r(){}var a=function(){return a=Object.assign||function(e){for(var t,i=1,n=arguments.length;i{i.d(t,{A:()=>o});i(96540);var n=i(92303),s=i(74848);function o(e){let{children:t,fallback:i}=e;return(0,n.A)()?(0,s.jsx)(s.Fragment,{children:t?.()}):i??null}},41622:(e,t,i)=>{i.d(t,{A:()=>m});var n=i(96540),s=i(34164),o=i(63427),r=i(92303),a=i(41422);const l={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};var h=i(74848);function d(e){return!!e&&("SUMMARY"===e.tagName||d(e.parentElement))}function c(e,t){return!!e&&(e===t||c(e.parentElement,t))}function u(e){let{summary:t,children:i,...u}=e;(0,o.default)().collectAnchor(u.id);const g=(0,r.A)(),p=(0,n.useRef)(null),{collapsed:m,setCollapsed:f}=(0,a.u)({initialState:!u.open}),[_,v]=(0,n.useState)(u.open),b=n.isValidElement(t)?t:(0,h.jsx)("summary",{children:t??"Details"});return(0,h.jsxs)("details",{...u,ref:p,open:_,"data-collapsed":m,className:(0,s.A)(l.details,g&&l.isBrowser,u.className),onMouseDown:e=>{d(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;d(t)&&c(t,p.current)&&(e.preventDefault(),m?(f(!1),v(!0)):f(!0))},children:[b,(0,h.jsx)(a.N,{lazy:!1,collapsed:m,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{f(e),v(!e)},children:(0,h.jsx)("div",{className:l.collapsibleContent,children:i})})]})}const g={details:"details_b_Ee"},p="alert alert--info";function m(e){let{...t}=e;return(0,h.jsx)(u,{...t,className:(0,s.A)(p,g.details,t.className)})}},29482:(e,t,i)=>{i.r(t),i.d(t,{CancellationTokenSource:()=>DJ,Emitter:()=>NJ,KeyCode:()=>IJ,KeyMod:()=>EJ,MarkerSeverity:()=>PJ,MarkerTag:()=>OJ,Position:()=>MJ,Range:()=>TJ,Selection:()=>RJ,SelectionDirection:()=>AJ,Token:()=>WJ,Uri:()=>FJ,default:()=>JJ,editor:()=>BJ,languages:()=>HJ});var n={};i.r(n),i.d(n,{CancellationTokenSource:()=>DJ,Emitter:()=>NJ,KeyCode:()=>IJ,KeyMod:()=>EJ,MarkerSeverity:()=>PJ,MarkerTag:()=>OJ,Position:()=>MJ,Range:()=>TJ,Selection:()=>RJ,SelectionDirection:()=>AJ,Token:()=>WJ,Uri:()=>FJ,editor:()=>BJ,languages:()=>HJ});var s={};i.r(s),i.d(s,{CancellationTokenSource:()=>DJ,Emitter:()=>NJ,KeyCode:()=>IJ,KeyMod:()=>EJ,MarkerSeverity:()=>PJ,MarkerTag:()=>OJ,Position:()=>MJ,Range:()=>TJ,Selection:()=>RJ,SelectionDirection:()=>AJ,Token:()=>WJ,Uri:()=>FJ,default:()=>JJ,editor:()=>BJ,languages:()=>HJ});const o=window;class r{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new r}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}}function a(e,t,i){"string"==typeof t&&(t=e.matchMedia(t)),t.addEventListener("change",i)}const l=navigator.userAgent,h=l.indexOf("Firefox")>=0,d=l.indexOf("AppleWebKit")>=0,c=l.indexOf("Chrome")>=0,u=!c&&l.indexOf("Safari")>=0,g=!c&&!u&&d,p=(l.indexOf("Electron/"),l.indexOf("Android")>=0);let m=!1;if("function"==typeof o.matchMedia){const e=o.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=o.matchMedia("(display-mode: fullscreen)");m=e.matches,a(o,e,(({matches:e})=>{m&&t.matches||(m=e)}))}var f=i(63339);f.ib||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator.clipboard.writeText,f.ib||navigator&&navigator.clipboard&&navigator.clipboard.readText,f.ib||m||navigator.keyboard,"ontouchstart"in o||navigator.maxTouchPoints;const _=o.PointerEvent&&("ontouchstart"in o||navigator.maxTouchPoints>0);var v=i(68387),b=i(94327);function C(e,t){if("number"==typeof e){if(0===e)return null;const i=(65535&e)>>>0,n=(4294901760&e)>>>16;return new S(0!==n?[w(i,t),w(n,t)]:[w(i,t)])}{const i=[];for(let n=0;n1?i-1:0),s=1;s/gm),we=z(/\${[\w\W]*}/gm),ye=z(/^data-[\-\w.\u00B7-\uFFFF]/),Se=z(/^aria-[\-\w]+$/),ke=z(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Le=z(/^(?:\w+script|data):/i),xe=z(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),De=z(/^html$/i);var Ne=Object.freeze({__proto__:null,MUSTACHE_EXPR:be,ERB_EXPR:Ce,TMPLIT_EXPR:we,DATA_ATTR:ye,ARIA_ATTR:Se,IS_ALLOWED_URI:ke,IS_SCRIPT_OR_DATA:Le,ATTR_WHITESPACE:xe,DOCTYPE_NAME:De});const Ie=()=>"undefined"==typeof window?null:window;var Ee=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ie();const i=t=>e(t);if(i.version="3.0.5",i.removed=[],!t||!t.document||9!==t.document.nodeType)return i.isSupported=!1,i;const n=t.document,s=n.currentScript;let{document:o}=t;const{DocumentFragment:r,HTMLTemplateElement:a,Node:l,Element:h,NodeFilter:d,NamedNodeMap:c=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:u,DOMParser:g,trustedTypes:p}=t,m=h.prototype,f=ae(m,"cloneNode"),_=ae(m,"nextSibling"),v=ae(m,"childNodes"),b=ae(m,"parentNode");if("function"==typeof a){const e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let C,w="";const{implementation:y,createNodeIterator:S,createDocumentFragment:k,getElementsByTagName:L}=o,{importNode:x}=n;let D={};i.isSupported="function"==typeof O&&"function"==typeof b&&y&&void 0!==y.createHTMLDocument;const{MUSTACHE_EXPR:N,ERB_EXPR:I,TMPLIT_EXPR:E,DATA_ATTR:M,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:R,ATTR_WHITESPACE:A}=Ne;let{IS_ALLOWED_URI:P}=Ne,F=null;const W=oe({},[...le,...he,...de,...ue,...pe]);let B=null;const H=oe({},[...me,...fe,..._e,...ve]);let z=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),U=null,K=null,j=!0,ne=!0,se=!1,be=!0,Ce=!1,we=!1,ye=!1,Se=!1,Le=!1,xe=!1,Ee=!1,Me=!0,Te=!1,Re=!0,Ae=!1,Pe={},Oe=null;const Fe=oe({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let We=null;const Be=oe({},["audio","video","img","source","image","track"]);let He=null;const Ve=oe({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ze="http://www.w3.org/1998/Math/MathML",Ue="http://www.w3.org/2000/svg",Ke="http://www.w3.org/1999/xhtml";let je=Ke,$e=!1,qe=null;const Ge=oe({},[ze,Ue,Ke],Y);let Qe;const Ye=["application/xhtml+xml","text/html"];let Ze,Xe=null;const Je=o.createElement("form"),et=function(e){return e instanceof RegExp||e instanceof Function},tt=function(e){if(!Xe||Xe!==e){if(e&&"object"==typeof e||(e={}),e=re(e),Qe=Qe=-1===Ye.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,Ze="application/xhtml+xml"===Qe?Y:Q,F="ALLOWED_TAGS"in e?oe({},e.ALLOWED_TAGS,Ze):W,B="ALLOWED_ATTR"in e?oe({},e.ALLOWED_ATTR,Ze):H,qe="ALLOWED_NAMESPACES"in e?oe({},e.ALLOWED_NAMESPACES,Y):Ge,He="ADD_URI_SAFE_ATTR"in e?oe(re(Ve),e.ADD_URI_SAFE_ATTR,Ze):Ve,We="ADD_DATA_URI_TAGS"in e?oe(re(Be),e.ADD_DATA_URI_TAGS,Ze):Be,Oe="FORBID_CONTENTS"in e?oe({},e.FORBID_CONTENTS,Ze):Fe,U="FORBID_TAGS"in e?oe({},e.FORBID_TAGS,Ze):{},K="FORBID_ATTR"in e?oe({},e.FORBID_ATTR,Ze):{},Pe="USE_PROFILES"in e&&e.USE_PROFILES,j=!1!==e.ALLOW_ARIA_ATTR,ne=!1!==e.ALLOW_DATA_ATTR,se=e.ALLOW_UNKNOWN_PROTOCOLS||!1,be=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Ce=e.SAFE_FOR_TEMPLATES||!1,we=e.WHOLE_DOCUMENT||!1,Le=e.RETURN_DOM||!1,xe=e.RETURN_DOM_FRAGMENT||!1,Ee=e.RETURN_TRUSTED_TYPE||!1,Se=e.FORCE_BODY||!1,Me=!1!==e.SANITIZE_DOM,Te=e.SANITIZE_NAMED_PROPS||!1,Re=!1!==e.KEEP_CONTENT,Ae=e.IN_PLACE||!1,P=e.ALLOWED_URI_REGEXP||ke,je=e.NAMESPACE||Ke,z=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&et(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(z.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&et(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(z.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(z.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ce&&(ne=!1),xe&&(Le=!0),Pe&&(F=oe({},[...pe]),B=[],!0===Pe.html&&(oe(F,le),oe(B,me)),!0===Pe.svg&&(oe(F,he),oe(B,fe),oe(B,ve)),!0===Pe.svgFilters&&(oe(F,de),oe(B,fe),oe(B,ve)),!0===Pe.mathMl&&(oe(F,ue),oe(B,_e),oe(B,ve))),e.ADD_TAGS&&(F===W&&(F=re(F)),oe(F,e.ADD_TAGS,Ze)),e.ADD_ATTR&&(B===H&&(B=re(B)),oe(B,e.ADD_ATTR,Ze)),e.ADD_URI_SAFE_ATTR&&oe(He,e.ADD_URI_SAFE_ATTR,Ze),e.FORBID_CONTENTS&&(Oe===Fe&&(Oe=re(Oe)),oe(Oe,e.FORBID_CONTENTS,Ze)),Re&&(F["#text"]=!0),we&&oe(F,["html","head","body"]),F.table&&(oe(F,["tbody"]),delete U.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw ie('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw ie('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=e.TRUSTED_TYPES_POLICY,w=C.createHTML("")}else void 0===C&&(C=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let i=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(i=t.getAttribute(n));const s="dompurify"+(i?"#"+i:"");try{return e.createPolicy(s,{createHTML:e=>e,createScriptURL:e=>e})}catch(o){return console.warn("TrustedTypes policy "+s+" could not be created."),null}}(p,s)),null!==C&&"string"==typeof w&&(w=C.createHTML(""));V&&V(e),Xe=e}},it=oe({},["mi","mo","mn","ms","mtext"]),nt=oe({},["foreignobject","desc","title","annotation-xml"]),st=oe({},["title","style","font","a","script"]),ot=oe({},he);oe(ot,de),oe(ot,ce);const rt=oe({},ue);oe(rt,ge);const at=function(e){G(i.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},lt=function(e,t){try{G(i.removed,{attribute:t.getAttributeNode(e),from:t})}catch(n){G(i.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!B[e])if(Le||xe)try{at(t)}catch(n){}else try{t.setAttribute(e,"")}catch(n){}},ht=function(e){let t,i;if(Se)e=""+e;else{const t=Z(e,/^[\r\n\t ]+/);i=t&&t[0]}"application/xhtml+xml"===Qe&&je===Ke&&(e=''+e+"");const n=C?C.createHTML(e):e;if(je===Ke)try{t=(new g).parseFromString(n,Qe)}catch(r){}if(!t||!t.documentElement){t=y.createDocument(je,"template",null);try{t.documentElement.innerHTML=$e?w:n}catch(r){}}const s=t.body||t.documentElement;return e&&i&&s.insertBefore(o.createTextNode(i),s.childNodes[0]||null),je===Ke?L.call(t,we?"html":"body")[0]:we?t.documentElement:s},dt=function(e){return S.call(e.ownerDocument||e,e,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT,null,!1)},ct=function(e){return"object"==typeof l?e instanceof l:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ut=function(e,t,n){D[e]&&$(D[e],(e=>{e.call(i,t,n,Xe)}))},gt=function(e){let t;if(ut("beforeSanitizeElements",e,null),(n=e)instanceof u&&("string"!=typeof n.nodeName||"string"!=typeof n.textContent||"function"!=typeof n.removeChild||!(n.attributes instanceof c)||"function"!=typeof n.removeAttribute||"function"!=typeof n.setAttribute||"string"!=typeof n.namespaceURI||"function"!=typeof n.insertBefore||"function"!=typeof n.hasChildNodes))return at(e),!0;var n;const s=Ze(e.nodeName);if(ut("uponSanitizeElement",e,{tagName:s,allowedTags:F}),e.hasChildNodes()&&!ct(e.firstElementChild)&&(!ct(e.content)||!ct(e.content.firstElementChild))&&te(/<[/\w]/g,e.innerHTML)&&te(/<[/\w]/g,e.textContent))return at(e),!0;if(!F[s]||U[s]){if(!U[s]&&mt(s)){if(z.tagNameCheck instanceof RegExp&&te(z.tagNameCheck,s))return!1;if(z.tagNameCheck instanceof Function&&z.tagNameCheck(s))return!1}if(Re&&!Oe[s]){const t=b(e)||e.parentNode,i=v(e)||e.childNodes;if(i&&t){for(let n=i.length-1;n>=0;--n)t.insertBefore(f(i[n],!0),_(e))}}return at(e),!0}return e instanceof h&&!function(e){let t=b(e);t&&t.tagName||(t={namespaceURI:je,tagName:"template"});const i=Q(e.tagName),n=Q(t.tagName);return!!qe[e.namespaceURI]&&(e.namespaceURI===Ue?t.namespaceURI===Ke?"svg"===i:t.namespaceURI===ze?"svg"===i&&("annotation-xml"===n||it[n]):Boolean(ot[i]):e.namespaceURI===ze?t.namespaceURI===Ke?"math"===i:t.namespaceURI===Ue?"math"===i&&nt[n]:Boolean(rt[i]):e.namespaceURI===Ke?!(t.namespaceURI===Ue&&!nt[n])&&!(t.namespaceURI===ze&&!it[n])&&!rt[i]&&(st[i]||!ot[i]):!("application/xhtml+xml"!==Qe||!qe[e.namespaceURI]))}(e)?(at(e),!0):"noscript"!==s&&"noembed"!==s&&"noframes"!==s||!te(/<\/no(script|embed|frames)/i,e.innerHTML)?(Ce&&3===e.nodeType&&(t=e.textContent,t=X(t,N," "),t=X(t,I," "),t=X(t,E," "),e.textContent!==t&&(G(i.removed,{element:e.cloneNode()}),e.textContent=t)),ut("afterSanitizeElements",e,null),!1):(at(e),!0)},pt=function(e,t,i){if(Me&&("id"===t||"name"===t)&&(i in o||i in Je))return!1;if(ne&&!K[t]&&te(M,t));else if(j&&te(T,t));else if(!B[t]||K[t]){if(!(mt(e)&&(z.tagNameCheck instanceof RegExp&&te(z.tagNameCheck,e)||z.tagNameCheck instanceof Function&&z.tagNameCheck(e))&&(z.attributeNameCheck instanceof RegExp&&te(z.attributeNameCheck,t)||z.attributeNameCheck instanceof Function&&z.attributeNameCheck(t))||"is"===t&&z.allowCustomizedBuiltInElements&&(z.tagNameCheck instanceof RegExp&&te(z.tagNameCheck,i)||z.tagNameCheck instanceof Function&&z.tagNameCheck(i))))return!1}else if(He[t]);else if(te(P,X(i,A,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==J(i,"data:")||!We[e]){if(se&&!te(R,X(i,A,"")));else if(i)return!1}else;return!0},mt=function(e){return e.indexOf("-")>0},ft=function(e){let t,n,s,o;ut("beforeSanitizeAttributes",e,null);const{attributes:r}=e;if(!r)return;const a={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:B};for(o=r.length;o--;){t=r[o];const{name:h,namespaceURI:d}=t;if(n="value"===h?t.value:ee(t.value),s=Ze(h),a.attrName=s,a.attrValue=n,a.keepAttr=!0,a.forceKeepAttr=void 0,ut("uponSanitizeAttribute",e,a),n=a.attrValue,a.forceKeepAttr)continue;if(lt(h,e),!a.keepAttr)continue;if(!be&&te(/\/>/i,n)){lt(h,e);continue}Ce&&(n=X(n,N," "),n=X(n,I," "),n=X(n,E," "));const c=Ze(e.nodeName);if(pt(c,s,n)){if(!Te||"id"!==s&&"name"!==s||(lt(h,e),n="user-content-"+n),C&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(d);else switch(p.getAttributeType(c,s)){case"TrustedHTML":n=C.createHTML(n);break;case"TrustedScriptURL":n=C.createScriptURL(n)}try{d?e.setAttributeNS(d,h,n):e.setAttribute(h,n),q(i.removed)}catch(l){}}}ut("afterSanitizeAttributes",e,null)},_t=function e(t){let i;const n=dt(t);for(ut("beforeSanitizeShadowDOM",t,null);i=n.nextNode();)ut("uponSanitizeShadowNode",i,null),gt(i)||(i.content instanceof r&&e(i.content),ft(i));ut("afterSanitizeShadowDOM",t,null)};return i.sanitize=function(e){let t,s,o,a,h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if($e=!e,$e&&(e="\x3c!--\x3e"),"string"!=typeof e&&!ct(e)){if("function"!=typeof e.toString)throw ie("toString is not a function");if("string"!=typeof(e=e.toString()))throw ie("dirty is not a string, aborting")}if(!i.isSupported)return e;if(ye||tt(h),i.removed=[],"string"==typeof e&&(Ae=!1),Ae){if(e.nodeName){const t=Ze(e.nodeName);if(!F[t]||U[t])throw ie("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof l)t=ht("\x3c!----\x3e"),s=t.ownerDocument.importNode(e,!0),1===s.nodeType&&"BODY"===s.nodeName||"HTML"===s.nodeName?t=s:t.appendChild(s);else{if(!Le&&!Ce&&!we&&-1===e.indexOf("<"))return C&&Ee?C.createHTML(e):e;if(t=ht(e),!t)return Le?null:Ee?w:""}t&&Se&&at(t.firstChild);const d=dt(Ae?e:t);for(;o=d.nextNode();)gt(o)||(o.content instanceof r&&_t(o.content),ft(o));if(Ae)return e;if(Le){if(xe)for(a=k.call(t.ownerDocument);t.firstChild;)a.appendChild(t.firstChild);else a=t;return(B.shadowroot||B.shadowrootmode)&&(a=x.call(n,a,!0)),a}let c=we?t.outerHTML:t.innerHTML;return we&&F["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&te(De,t.ownerDocument.doctype.name)&&(c="\n"+c),Ce&&(c=X(c,N," "),c=X(c,I," "),c=X(c,E," ")),C&&Ee?C.createHTML(c):c},i.setConfig=function(e){tt(e),ye=!0},i.clearConfig=function(){Xe=null,ye=!1},i.isValidAttribute=function(e,t,i){Xe||tt({});const n=Ze(e),s=Ze(t);return pt(n,s,i)},i.addHook=function(e,t){"function"==typeof t&&(D[e]=D[e]||[],G(D[e],t))},i.removeHook=function(e){if(D[e])return q(D[e])},i.removeHooks=function(e){D[e]&&(D[e]=[])},i.removeAllHooks=function(){D={}},i}();Ee.version,Ee.isSupported;const Me=Ee.sanitize,Te=(Ee.setConfig,Ee.clearConfig,Ee.isValidAttribute,Ee.addHook),Re=Ee.removeHook;Ee.removeHooks,Ee.removeAllHooks;var Ae=i(10998),Pe=i(13072),Oe=i(22344);const{registerWindow:Fe,getWindow:We,getDocument:Be,getWindows:He,getWindowsCount:Ve,getWindowId:ze,getWindowById:Ue,hasWindow:Ke,onDidRegisterWindow:je,onWillUnregisterWindow:$e,onDidUnregisterWindow:qe}=function(){const e=new Map;!function(e,t){const i=e;"number"!=typeof i.vscodeWindowId&&Object.defineProperty(i,"vscodeWindowId",{get:()=>t})}(o,1);const t={window:o,disposables:new Ae.Cm};e.set(o.vscodeWindowId,t);const i=new P.vl,n=new P.vl,s=new P.vl;return{onDidRegisterWindow:i.event,onWillUnregisterWindow:s.event,onDidUnregisterWindow:n.event,registerWindow(t){if(e.has(t.vscodeWindowId))return Ae.jG.None;const o=new Ae.Cm,r={window:t,disposables:o.add(new Ae.Cm)};return e.set(t.vscodeWindowId,r),o.add((0,Ae.s)((()=>{e.delete(t.vscodeWindowId),n.fire(t)}))),o.add(Ye(t,Ut.BEFORE_UNLOAD,(()=>{s.fire(t)}))),i.fire(r),o},getWindows:()=>e.values(),getWindowsCount:()=>e.size,getWindowId:e=>e.vscodeWindowId,hasWindow:t=>e.has(t),getWindowById:function(i,n){return("number"==typeof i?e.get(i):void 0)??(n?t:void 0)},getWindow(e){const t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;const i=e;return i?.view?i.view.window:o},getDocument:e=>We(e).document}}();function Ge(e){for(;e.firstChild;)e.firstChild.remove()}class Qe{constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i,this._options=n||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function Ye(e,t,i,n){return new Qe(e,t,i,n)}function Ze(e,t){return function(i){return t(new T(e,i))}}const Xe=function(e,t,i,n){let s=i;return"click"===t||"mousedown"===t||"contextmenu"===t?s=Ze(We(e),i):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(s=function(e){return function(t){return e(new N(t))}}(i)),Ye(e,t,s,n)},Je=function(e,t,i){return function(e,t,i){return Ye(e,f.un&&_?Ut.POINTER_DOWN:Ut.MOUSE_DOWN,t,i)}(e,Ze(We(e),t),i)};function et(e,t,i){return(0,A.b7)(e,t,i)}class tt extends A.A0{constructor(e,t){super(e,t)}}let it,nt;class st extends A.vb{constructor(e){super(),this.defaultTarget=e&&We(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}}class ot{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){(0,b.dz)(e)}}static sort(e,t){return t.priority-e.priority}}function rt(e){return We(e).getComputedStyle(e,null)}function at(e,t){const i=We(e),n=i.document;if(e!==n.body)return new ht(e.clientWidth,e.clientHeight);if(f.un&&i?.visualViewport)return new ht(i.visualViewport.width,i.visualViewport.height);if(i?.innerWidth&&i.innerHeight)return new ht(i.innerWidth,i.innerHeight);if(n.body&&n.body.clientWidth&&n.body.clientHeight)return new ht(n.body.clientWidth,n.body.clientHeight);if(n.documentElement&&n.documentElement.clientWidth&&n.documentElement.clientHeight)return new ht(n.documentElement.clientWidth,n.documentElement.clientHeight);if(t)return at(t);throw new Error("Unable to figure out browser width and height")}!function(){const e=new Map,t=new Map,i=new Map,n=new Map;nt=(s,o,r=0)=>{const a=ze(s),l=new ot(o,r);let h=e.get(a);return h||(h=[],e.set(a,h)),h.push(l),i.get(a)||(i.set(a,!0),s.requestAnimationFrame((()=>(s=>{i.set(s,!1);const o=e.get(s)??[];for(t.set(s,o),e.set(s,[]),n.set(s,!0);o.length>0;)o.sort(ot.sort),o.shift().execute();n.set(s,!1)})(a)))),l},it=(e,i,s)=>{const o=ze(e);if(n.get(o)){const e=new ot(i,s);let n=t.get(o);return n||(n=[],t.set(o,n)),n.push(e),e}return nt(e,i,s)}}();class lt{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const n=rt(e),s=n?n.getPropertyValue(t):"0";return lt.convertToPixels(e,s)}static getBorderLeftWidth(e){return lt.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return lt.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return lt.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return lt.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return lt.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return lt.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return lt.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return lt.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return lt.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return lt.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return lt.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return lt.getDimension(e,"margin-bottom","marginBottom")}}class ht{static{this.None=new ht(0,0)}constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new ht(e,t):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(e){return e instanceof ht?e:new ht(e.width,e.height)}static equals(e,t){return e===t||!(!e||!t)&&(e.width===t.width&&e.height===t.height)}}function dt(e){let t=e.offsetParent,i=e.offsetTop,n=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==e.ownerDocument.body&&e!==e.ownerDocument.documentElement;){i-=e.scrollTop;const s=bt(e)?null:rt(e);s&&(n-="rtl"!==s.direction?e.scrollLeft:-e.scrollLeft),e===t&&(n+=lt.getBorderLeftWidth(e),i+=lt.getBorderTopWidth(e),i+=e.offsetTop,n+=e.offsetLeft,t=e.offsetParent)}return{left:n,top:i}}function ct(e){const t=e.getBoundingClientRect(),i=We(e);return{left:t.left+i.scrollX,top:t.top+i.scrollY,width:t.width,height:t.height}}function ut(e){let t=e,i=1;do{const e=rt(t).zoom;null!=e&&"1"!==e&&(i*=e),t=t.parentElement}while(null!==t&&t!==t.ownerDocument.documentElement);return i}function gt(e){const t=lt.getMarginLeft(e)+lt.getMarginRight(e);return e.offsetWidth+t}function pt(e){const t=lt.getBorderLeftWidth(e)+lt.getBorderRightWidth(e),i=lt.getPaddingLeft(e)+lt.getPaddingRight(e);return e.offsetWidth-t-i}function mt(e){const t=lt.getBorderTopWidth(e)+lt.getBorderBottomWidth(e),i=lt.getPaddingTop(e)+lt.getPaddingBottom(e);return e.offsetHeight-t-i}function ft(e){const t=lt.getMarginTop(e)+lt.getMarginBottom(e);return e.offsetHeight+t}function _t(e,t){return Boolean(t?.contains(e))}function vt(e,t,i){return!!function(e,t,i){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(i)if("string"==typeof i){if(e.classList.contains(i))return null}else if(e===i)return null;e=e.parentNode}return null}(e,t,i)}function bt(e){return e&&!!e.host&&!!e.mode}function Ct(e){return!!wt(e)}function wt(e){for(;e.parentNode;){if(e===e.ownerDocument?.body)return null;e=e.parentNode}return bt(e)?e:null}function yt(){let e=Lt().activeElement;for(;e?.shadowRoot;)e=e.shadowRoot.activeElement;return e}function St(e){return yt()===e}function kt(e){return _t(yt(),e)}function Lt(){if(Ve()<=1)return o.document;return Array.from(He()).map((({window:e})=>e.document)).find((e=>e.hasFocus()))??o.document}function xt(){const e=Lt();return e.defaultView?.window??o}const Dt=new Map;function Nt(){return new It}class It{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=Et(o.document.head,(t=>t.innerText=e)))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function Et(e=o.document.head,t,i){const n=document.createElement("style");if(n.type="text/css",n.media="screen",t?.(n),e.appendChild(n),i&&i.add((0,Ae.s)((()=>n.remove()))),e===o.document.head){const e=new Set;Dt.set(n,e);for(const{window:t,disposables:s}of He()){if(t===o)continue;const r=s.add(Mt(n,e,t));i?.add(r)}}return n}function Mt(e,t,i){const n=new Ae.Cm,s=e.cloneNode(!0);i.document.head.appendChild(s),n.add((0,Ae.s)((()=>s.remove())));for(const o of Pt(e))s.sheet?.insertRule(o.cssText,s.sheet?.cssRules.length);return n.add(Tt.observe(e,n,{childList:!0})((()=>{s.textContent=e.textContent}))),t.add(s),n.add((0,Ae.s)((()=>t.delete(s)))),n}const Tt=new class{constructor(){this.mutationObservers=new Map}observe(e,t,i){let n=this.mutationObservers.get(e);n||(n=new Map,this.mutationObservers.set(e,n));const s=(0,Oe.tW)(i);let o=n.get(s);if(o)o.users+=1;else{const r=new P.vl,a=new MutationObserver((e=>r.fire(e)));a.observe(e,i);const l=o={users:1,observer:a,onDidMutate:r.event};t.add((0,Ae.s)((()=>{l.users-=1,0===l.users&&(r.dispose(),a.disconnect(),n?.delete(s),0===n?.size&&this.mutationObservers.delete(e))}))),n.set(s,o)}return o.onDidMutate}};let Rt=null;function At(){return Rt||(Rt=Et()),Rt}function Pt(e){return e?.sheet?.rules?e.sheet.rules:e?.sheet?.cssRules?e.sheet.cssRules:[]}function Ot(e,t,i=At()){if(i&&t){i.sheet?.insertRule(`${e} {${t}}`,0);for(const n of Dt.get(i)??[])Ot(e,t,n)}}function Ft(e,t=At()){if(!t)return;const i=Pt(t),n=[];for(let s=0;s=0;s--)t.sheet?.deleteRule(n[s]);for(const s of Dt.get(t)??[])Ft(e,s)}function Wt(e){return"string"==typeof e.selectorText}function Bt(e){return e instanceof HTMLElement||e instanceof We(e).HTMLElement}function Ht(e){return e instanceof HTMLAnchorElement||e instanceof We(e).HTMLAnchorElement}function Vt(e){return e instanceof MouseEvent||e instanceof We(e).MouseEvent}function zt(e){return e instanceof KeyboardEvent||e instanceof We(e).KeyboardEvent}const Ut={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:d?"webkitAnimationStart":"animationstart",ANIMATION_END:d?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:d?"webkitAnimationIteration":"animationiteration"};function Kt(e){const t=e;return!(!t||"function"!=typeof t.preventDefault||"function"!=typeof t.stopPropagation)}const jt=(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e);class $t extends Ae.jG{static hasFocusWithin(e){if(Bt(e)){const t=wt(e);return _t(t?t.activeElement:e.ownerDocument.activeElement,e)}{const t=e;return _t(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new P.vl),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new P.vl),this.onDidBlur=this._onDidBlur.event;let t=$t.hasFocusWithin(e),i=!1;const n=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},s=()=>{t&&(i=!0,(Bt(e)?We(e):e).setTimeout((()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{$t.hasFocusWithin(e)!==t&&(t?s():n())},this._register(Ye(e,Ut.FOCUS,n,!0)),this._register(Ye(e,Ut.BLUR,s,!0)),Bt(e)&&(this._register(Ye(e,Ut.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(Ye(e,Ut.FOCUS_OUT,(()=>this._refreshStateHandler()))))}}function qt(e){return new $t(e)}function Gt(e,...t){if(e.append(...t),1===t.length&&"string"!=typeof t[0])return t[0]}function Qt(e,t){return e.insertBefore(t,e.firstChild),t}function Yt(e,...t){e.innerText="",Gt(e,...t)}const Zt=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Xt;function Jt(e,t,i,...n){const s=Zt.exec(t);if(!s)throw new Error("Bad use of emmet");const o=s[1]||"div";let r;return r=e!==Xt.HTML?document.createElementNS(e,o):document.createElement(o),s[3]&&(r.id=s[3]),s[4]&&(r.className=s[4].replace(/\./g," ").trim()),i&&Object.entries(i).forEach((([e,t])=>{void 0!==t&&(/^on\w+$/.test(e)?r[e]=t:"selected"===e?t&&r.setAttribute(e,"true"):r.setAttribute(e,t))})),r.append(...n),r}function ei(e,t,...i){return Jt(Xt.HTML,e,t,...i)}function ti(...e){for(const t of e)t.style.display="",t.removeAttribute("aria-hidden")}function ii(...e){for(const t of e)t.style.display="none",t.setAttribute("aria-hidden","true")}function ni(e,t){const i=e.devicePixelRatio*t;return Math.max(1,Math.floor(i))/e.devicePixelRatio}function si(e){o.open(e,"_blank","noopener")}function oi(e){return e?`url('${Pe.zl.uriToBrowserUri(e).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function ri(e){return`'${e.replace(/'/g,"%27")}'`}function ai(e,t){if(void 0!==e){const i=e.match(/^\s*var\((.+)\)$/);if(i){const e=i[1].split(",",2);return 2===e.length&&(t=ai(e[1].trim(),t)),`var(${e[0]}, ${t})`}return e}return t}!function(e){e.HTML="http://www.w3.org/1999/xhtml",e.SVG="http://www.w3.org/2000/svg"}(Xt||(Xt={})),ei.SVG=function(e,t,...i){return Jt(Xt.SVG,e,t,...i)},Pe.Ez.setPreferredWebSchema(/^https:/.test(o.location.href)?"https":"http");const li=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class hi extends P.vl{constructor(){super(),this._subscriptions=new Ae.Cm,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(P.Jh.runAndSubscribe(je,(({window:e,disposables:t})=>this.registerListeners(e,t)),{window:o,disposables:this._subscriptions}))}registerListeners(e,t){t.add(Ye(e,"keydown",(e=>{if(e.defaultPrevented)return;const t=new N(e);if(6!==t.keyCode||!e.repeat){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===t.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}}),!0)),t.add(Ye(e,"keyup",(e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))}),!0)),t.add(Ye(e.document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(Ye(e.document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(Ye(e.document.body,"mousemove",(e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),t.add(Ye(e,"blur",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return hi.instance||(hi.instance=new hi),hi.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class di extends Ae.jG{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(Ye(this.element,Ut.DRAG_START,(e=>{this.callbacks.onDragStart?.(e)}))),this.callbacks.onDrag&&this._register(Ye(this.element,Ut.DRAG,(e=>{this.callbacks.onDrag?.(e)}))),this._register(Ye(this.element,Ut.DRAG_ENTER,(e=>{this.counter++,this.dragStartTime=e.timeStamp,this.callbacks.onDragEnter?.(e)}))),this._register(Ye(this.element,Ut.DRAG_OVER,(e=>{e.preventDefault(),this.callbacks.onDragOver?.(e,e.timeStamp-this.dragStartTime)}))),this._register(Ye(this.element,Ut.DRAG_LEAVE,(e=>{this.counter--,0===this.counter&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(e))}))),this._register(Ye(this.element,Ut.DRAG_END,(e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(e)}))),this._register(Ye(this.element,Ut.DROP,(e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(e)})))}}const ci=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function ui(e,...t){let i,n;Array.isArray(t[0])?(i={},n=t[0]):(i=t[0]||{},n=t[1]);const s=ci.exec(e);if(!s||!s.groups)throw new Error("Bad use of h");const o=s.groups.tag||"div",r=document.createElement(o);s.groups.id&&(r.id=s.groups.id);const a=[];if(s.groups.class)for(const h of s.groups.class.split("."))""!==h&&a.push(h);if(void 0!==i.className)for(const h of i.className.split("."))""!==h&&a.push(h);a.length>0&&(r.className=a.join(" "));const l={};if(s.groups.name&&(l[s.groups.name]=r),n)for(const h of n)Bt(h)?r.appendChild(h):"string"==typeof h?r.append(h):"root"in h&&(Object.assign(l,h),r.appendChild(h.root));for(const[h,d]of Object.entries(i))if("className"!==h)if("style"===h)for(const[e,t]of Object.entries(d))r.style.setProperty(pi(e),"number"==typeof t?t+"px":""+t);else"tabIndex"===h?r.tabIndex=d:r.setAttribute(pi(h),d.toString());return l.root=r,l}function gi(e,...t){let i,n;Array.isArray(t[0])?(i={},n=t[0]):(i=t[0]||{},n=t[1]);const s=ci.exec(e);if(!s||!s.groups)throw new Error("Bad use of h");const o=s.groups.tag||"div",r=document.createElementNS("http://www.w3.org/2000/svg",o);s.groups.id&&(r.id=s.groups.id);const a=[];if(s.groups.class)for(const h of s.groups.class.split("."))""!==h&&a.push(h);if(void 0!==i.className)for(const h of i.className.split("."))""!==h&&a.push(h);a.length>0&&(r.className=a.join(" "));const l={};if(s.groups.name&&(l[s.groups.name]=r),n)for(const h of n)Bt(h)?r.appendChild(h):"string"==typeof h?r.append(h):"root"in h&&(Object.assign(l,h),r.appendChild(h.root));for(const[h,d]of Object.entries(i))if("className"!==h)if("style"===h)for(const[e,t]of Object.entries(d))r.style.setProperty(pi(e),"number"==typeof t?t+"px":""+t);else"tabIndex"===h?r.tabIndex=d:r.setAttribute(pi(h),d.toString());return l.root=r,l}function pi(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}const mi=2e4;let fi,_i,vi,bi,Ci;function wi(e){fi&&(_i.textContent!==e?(Ge(vi),Si(_i,e)):(Ge(_i),Si(vi,e)))}function yi(e){fi&&(bi.textContent!==e?(Ge(Ci),Si(bi,e)):(Ge(bi),Si(Ci,e)))}function Si(e,t){Ge(e),t.length>mi&&(t=t.substr(0,mi)),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}var ki=i(27992);function Li(e){const t=function(e){if(xi=0,Ni(e,Ii,4352),xi>0)return Di.subarray(0,xi);if(Ni(e,Ei,4449),xi>0)return Di.subarray(0,xi);if(Ni(e,Mi,4520),xi>0)return Di.subarray(0,xi);if(Ni(e,Ti,12593),xi)return Di.subarray(0,xi);if(e>=44032&&e<=55203){const t=e-44032,i=t%588,n=Math.floor(t/588),s=Math.floor(i/28),o=i%28-1;if(n=0&&(o0)return Di.subarray(0,xi)}return}(e);if(t&&t.length>0)return new Uint32Array(t)}let xi=0;const Di=new Uint32Array(10);function Ni(e,t,i){e>=i&&e>8&&(Di[xi++]=e>>8&255);e>>16&&(Di[xi++]=e>>16&255)}(t[e-i])}const Ii=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),Ei=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),Mi=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]),Ti=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]);var Ri=i(16844);function Ai(...e){return function(t,i){for(let n=0,s=e.length;n0?[{start:0,end:t.length}]:[]:null}function Fi(e,t){const i=t.toLowerCase().indexOf(e.toLowerCase());return-1===i?null:[{start:i,end:i+e.length}]}function Wi(e,t){return Bi(e.toLowerCase(),t.toLowerCase(),0,0)}function Bi(e,t,i,n){if(i===e.length)return[];if(n===t.length)return null;if(e[i]===t[n]){let s=null;return(s=Bi(e,t,i+1,n+1))?Yi({start:n,end:n+1},s):null}return Bi(e,t,i,n+1)}function Hi(e){return 97<=e&&e<=122}function Vi(e){return 65<=e&&e<=90}function zi(e){return 48<=e&&e<=57}function Ui(e){return 32===e||9===e||10===e||13===e}const Ki=new Set;function ji(e){return Ui(e)||Ki.has(e)}function $i(e,t){return e===t||ji(e)&&ji(t)}"()[]{}<>`'\"-/;:,.?!".split("").forEach((e=>Ki.add(e.charCodeAt(0))));const qi=new Map;function Gi(e){if(qi.has(e))return qi.get(e);let t;const i=Li(e);return i&&(t=i),qi.set(e,t),t}function Qi(e){return Hi(e)||Vi(e)||zi(e)}function Yi(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function Zi(e,t){for(let i=t;i0&&!Qi(e.charCodeAt(i-1)))return i}return e.length}function Xi(e,t,i,n){if(i===e.length)return[];if(n===t.length)return null;if(e[i]!==t[n].toLowerCase())return null;{let s=null,o=n+1;for(s=Xi(e,t,i+1,n+1);!s&&(o=Zi(t,o))60&&(t=t.substring(0,60));const i=function(e){let t=0,i=0,n=0,s=0,o=0;for(let r=0;r.2&&t<.8&&n>.6&&s<.2}(i)){if(!function(e){const{upperPercent:t,lowerPercent:i}=e;return 0===i&&t>.6}(i))return null;t=t.toLowerCase()}let n=null,s=0;for(e=e.toLowerCase();s0&&ji(e.charCodeAt(i-1)))return i;return e.length}const sn=Ai(Pi,Ji,Fi),on=Ai(Pi,Ji,Wi),rn=new ki.qK(1e4);function an(e,t,i=!1){if("string"!=typeof e||"string"!=typeof t)return null;let n=rn.get(e);n||(n=new RegExp(Ri.Bm(e),"i"),rn.set(e,n));const s=n.exec(t);return s?[{start:s.index,end:s.index+s[0].length}]:i?on(e,t):sn(e,t)}function ln(e,t){const i=xn(e,e.toLowerCase(),0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return i?dn(i):null}function hn(e,t,i,n,s,o){const r=Math.min(13,e.length);for(;i1;n--){const s=e[n]+i,o=t[t.length-1];o&&o.end===s?o.end=s+1:t.push({start:s,end:s+1})}return t}const cn=128;function un(){const e=[],t=[];for(let i=0;i<=cn;i++)t[i]=0;for(let i=0;i<=cn;i++)e.push(t.slice(0));return e}function gn(e){const t=[];for(let i=0;i<=e;i++)t[i]=0;return t}const pn=gn(2*cn),mn=gn(2*cn),fn=un(),_n=un(),vn=un(),bn=!1;function Cn(e,t,i,n,s){function o(e,t,i=" "){for(;e.lengtho(e,3))).join("|")}\n`;for(let a=0;a<=i;a++)r+=0===a?" |":`${t[a-1]}|`,r+=e[a].slice(0,s+1).map((e=>o(e.toString(),3))).join("|")+"\n";return r}function wn(e,t){if(t<0||t>=e.length)return!1;const i=e.codePointAt(t);switch(i){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!!Ri.Ss(i)}}function yn(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function Sn(e,t,i){return t[e]!==i[e]}var kn;!function(e){e.Default=[-100,0],e.isDefault=function(e){return!e||2===e.length&&-100===e[0]&&0===e[1]}}(kn||(kn={}));class Ln{static{this.default={boostFullMatch:!0,firstMatchCanBeWeak:!1}}constructor(e,t){this.firstMatchCanBeWeak=e,this.boostFullMatch=t}}function xn(e,t,i,n,s,o,r=Ln.default){const a=e.length>cn?cn:e.length,l=n.length>cn?cn:n.length;if(i>=a||o>=l||a-i>l-o)return;if(!function(e,t,i,n,s,o,r=!1){for(;t=i&&a>=n;)s[r]===o[a]&&(mn[r]=a,r--),a--}(a,l,i,o,t,s);let h=1,d=1,c=i,u=o;const g=[!1];for(h=1,c=i;cr,v=_?_n[h][d-1]+(fn[h][d-1]>0?-5:0):0,b=u>r+1&&fn[h][d-1]>0,C=b?_n[h][d-2]+(fn[h][d-2]>0?-5:0):0;if(b&&(!_||C>=v)&&(!m||C>=f))_n[h][d]=C,vn[h][d]=3,fn[h][d]=0;else if(_&&(!m||v>=f))_n[h][d]=v,vn[h][d]=2,fn[h][d]=0;else{if(!m)throw new Error("not possible");_n[h][d]=f,vn[h][d]=1,fn[h][d]=fn[h-1][d-1]+1}}}if(bn&&function(e,t,i,n){e=e.substr(t),i=i.substr(n),console.log(Cn(_n,e,e.length,i,i.length)),console.log(Cn(vn,e,e.length,i,i.length)),console.log(Cn(fn,e,e.length,i,i.length))}(e,i,n,o),!g[0]&&!r.firstMatchCanBeWeak)return;h--,d--;const p=[_n[h][d],o];let m=0,f=0;for(;h>=1;){let e=d;do{const t=vn[h][e];if(3===t)e-=2;else{if(2!==t)break;e-=1}}while(e>=1);m>1&&t[i+h-1]===s[o+d-1]&&!Sn(e+o-1,n,s)&&m+1>fn[h][e]&&(e=d),e===d?m++:m=1,f||(f=e),h--,d=e-1,p.push(d)}l-o===a&&r.boostFullMatch&&(p[0]+=2);const _=f-a;return p[0]-=_,p}function Dn(e,t,i,n,s,o,r,a,l,h,d){if(t[i]!==o[r])return Number.MIN_SAFE_INTEGER;let c=1,u=!1;return r===i-n?c=e[i]===s[r]?7:5:!Sn(r,s,o)||0!==r&&Sn(r-1,s,o)?!wn(o,r)||0!==r&&wn(o,r-1)?(wn(o,r-1)||yn(o,r-1))&&(c=5,u=!0):c=5:(c=e[i]===s[r]?7:5,u=!0),c>1&&i===n&&(d[0]=!0),u||(u=Sn(r,s,o)||wn(o,r-1)||yn(o,r-1)),i===n?r>l&&(c-=u?3:5):c+=h?u?2:0:u?0:1,r+1===a&&(c-=u?3:5),c}function Nn(e,t,i,n,s,o,r){return function(e,t,i,n,s,o,r,a){let l=xn(e,t,i,n,s,o,a);if(l&&!r)return l;if(e.length>=3){const t=Math.min(7,e.length-1);for(let r=i+1;rl[0])&&(l=e))}}}return l}(e,t,i,n,s,o,!0,r)}function In(e,t){if(t+1>=e.length)return;const i=e[t],n=e[t+1];return i!==n?e.slice(0,t)+n+i+e.slice(t+2):void 0}var En=i(58881);const Mn=new RegExp(`\\$\\(${En.L.iconNameExpression}(?:${En.L.iconModifierExpression})?\\)`,"g"),Tn=new RegExp(`(\\\\)?${Mn.source}`,"g");const Rn=new RegExp(`\\\\${Mn.source}`,"g");const An=new RegExp(`(\\s)?(\\\\)?${Mn.source}(\\s)?`,"g");function Pn(e){return-1===e.indexOf("$(")?e:e.replace(An,((e,t,i,n)=>i?e:t||n||""))}const On=new RegExp(`\\$\\(${En.L.iconNameCharacter}+\\)`,"g");function Fn(e){On.lastIndex=0;let t="";const i=[];let n=0;for(;;){const s=On.lastIndex,o=On.exec(e),r=e.substring(s,o?.index);if(r.length>0){t+=r;for(let e=0;et?e:`\\${e}`))):e).replace(/([ \t]+)/g,((e,t)=>" ".repeat(t.length))).replace(/\>/gm,"\\>").replace(/\n/g,1===t?"\\\n":"\n\n"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+=`\n${function(e,t){const i=e.match(/^`+/gm)?.reduce(((e,t)=>e.length>t.length?e:t)).length??0,n=i>=3?i+1:3;return[`${"`".repeat(n)}${t}`,e,`${"`".repeat(n)}`].join("\n")}(t,e)}\n`,this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=` "${this._escape(this._escape(i,'"'),")")}"`),this.value+=")",this}_escape(e,t){const i=new RegExp((0,Ri.bm)(t),"g");return e.replace(i,((t,i)=>"\\"!==e.charAt(i-1)?`\\${t}`:t))}}function zn(e){return Un(e)?!e.value:!Array.isArray(e)||e.every(zn)}function Un(e){return e instanceof Vn||!(!e||"object"!=typeof e)&&!("string"!=typeof e.value||"boolean"!=typeof e.isTrusted&&"object"!=typeof e.isTrusted&&void 0!==e.isTrusted||"boolean"!=typeof e.supportThemeIcons&&void 0!==e.supportThemeIcons)}function Kn(e){return e.replace(/"/g,""")}function jn(e){return e?e.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1"):e}var $n=i(87289),qn=i(82399);const Gn=(0,qn.u1)("codeEditorService");var Qn=i(15365),Yn=i(64830),Zn=i(37042);class Xn extends Ae.jG{constructor(e,t="",i="",n=!0,s){super(),this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=i,this._enabled=n,this._actionCallback=s}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}}class Jn extends Ae.jG{constructor(){super(...arguments),this._onWillRun=this._register(new P.vl),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new P.vl),this.onDidRun=this._onDidRun.event}async run(e,t){if(!e.enabled)return;let i;this._onWillRun.fire({action:e});try{await this.runAction(e,t)}catch(n){i=n}this._onDidRun.fire({action:e,error:i})}async runAction(e,t){await e.run(t)}}class es{constructor(){this.id=es.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const i of e)i.length&&(t=t.length?[...t,new es,...i]:i);return t}static{this.ID="vs.actions.separator"}async run(){}}class ts{get actions(){return this._actions}constructor(e,t,i,n){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=n,this._actions=i}async run(){}}class is extends Xn{static{this.ID="vs.actions.empty"}constructor(){super(is.ID,$n.kg("submenu.empty","(empty)"),void 0,!1)}}function ns(e){return{id:e.id,label:e.label,tooltip:e.tooltip??e.label,class:e.class,enabled:e.enabled??!0,checked:e.checked,run:async(...t)=>e.run(...t)}}var ss=i(85525),os=i(17954),rs=i(79359);const as=(0,qn.u1)("commandService"),ls=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new P.vl,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(e,t){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t})}if(e.metadata&&Array.isArray(e.metadata.args)){const t=[];for(const n of e.metadata.args)t.push(n.constraint);const i=e.handler;e.handler=function(e,...n){return(0,rs.jx)(n,t),i(e,...n)}}const{id:i}=e;let n=this._commands.get(i);n||(n=new ss.w,this._commands.set(i,n));const s=n.unshift(e),o=(0,Ae.s)((()=>{s();const e=this._commands.get(i);e?.isEmpty()&&this._commands.delete(i)}));return this._onDidRegisterCommand.fire(i),o}registerCommandAlias(e,t){return ls.registerCommand(e,((e,...i)=>e.get(as).executeCommand(t,...i)))}getCommand(e){const t=this._commands.get(e);if(t&&!t.isEmpty())return os.f.first(t)}getCommands(){const e=new Map;for(const t of this._commands.keys()){const i=this.getCommand(t);i&&e.set(t,i)}return e}};ls.registerCommand("noop",(()=>{}));var hs=i(17474),ds=i(67167);class cs{constructor(){this._coreKeybindings=new ss.w,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(e){if(1===f.OS){if(e&&e.win)return e.win}else if(2===f.OS){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e}registerKeybindingRule(e){const t=cs.bindToCurrentPlatform(e),i=new Ae.Cm;if(t&&t.primary){const n=C(t.primary,f.OS);n&&i.add(this._registerDefaultKeybinding(n,e.id,e.args,e.weight,0,e.when))}if(t&&Array.isArray(t.secondary))for(let n=0,s=t.secondary.length;n{r(),this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(gs)),this._cachedMergedKeybindings.slice(0)}}const us=new cs;function gs(e,t){if(e.weight1!==t.weight1)return e.weight1-t.weight1;if(e.command&&t.command){if(e.commandt.command)return 1}return e.weight2-t.weight2}ds.O.add("platform.keybindingsRegistry",us);var ps,ms=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},fs=function(e,t){return function(i,n){t(i,n,e)}};function _s(e){return void 0!==e.command}class vs{static{this._instances=new Map}static{this.CommandPalette=new vs("CommandPalette")}static{this.DebugBreakpointsContext=new vs("DebugBreakpointsContext")}static{this.DebugCallStackContext=new vs("DebugCallStackContext")}static{this.DebugConsoleContext=new vs("DebugConsoleContext")}static{this.DebugVariablesContext=new vs("DebugVariablesContext")}static{this.NotebookVariablesContext=new vs("NotebookVariablesContext")}static{this.DebugHoverContext=new vs("DebugHoverContext")}static{this.DebugWatchContext=new vs("DebugWatchContext")}static{this.DebugToolBar=new vs("DebugToolBar")}static{this.DebugToolBarStop=new vs("DebugToolBarStop")}static{this.DebugCallStackToolbar=new vs("DebugCallStackToolbar")}static{this.DebugCreateConfiguration=new vs("DebugCreateConfiguration")}static{this.EditorContext=new vs("EditorContext")}static{this.SimpleEditorContext=new vs("SimpleEditorContext")}static{this.EditorContent=new vs("EditorContent")}static{this.EditorLineNumberContext=new vs("EditorLineNumberContext")}static{this.EditorContextCopy=new vs("EditorContextCopy")}static{this.EditorContextPeek=new vs("EditorContextPeek")}static{this.EditorContextShare=new vs("EditorContextShare")}static{this.EditorTitle=new vs("EditorTitle")}static{this.EditorTitleRun=new vs("EditorTitleRun")}static{this.EditorTitleContext=new vs("EditorTitleContext")}static{this.EditorTitleContextShare=new vs("EditorTitleContextShare")}static{this.EmptyEditorGroup=new vs("EmptyEditorGroup")}static{this.EmptyEditorGroupContext=new vs("EmptyEditorGroupContext")}static{this.EditorTabsBarContext=new vs("EditorTabsBarContext")}static{this.EditorTabsBarShowTabsSubmenu=new vs("EditorTabsBarShowTabsSubmenu")}static{this.EditorTabsBarShowTabsZenModeSubmenu=new vs("EditorTabsBarShowTabsZenModeSubmenu")}static{this.EditorActionsPositionSubmenu=new vs("EditorActionsPositionSubmenu")}static{this.ExplorerContext=new vs("ExplorerContext")}static{this.ExplorerContextShare=new vs("ExplorerContextShare")}static{this.ExtensionContext=new vs("ExtensionContext")}static{this.GlobalActivity=new vs("GlobalActivity")}static{this.CommandCenter=new vs("CommandCenter")}static{this.CommandCenterCenter=new vs("CommandCenterCenter")}static{this.LayoutControlMenuSubmenu=new vs("LayoutControlMenuSubmenu")}static{this.LayoutControlMenu=new vs("LayoutControlMenu")}static{this.MenubarMainMenu=new vs("MenubarMainMenu")}static{this.MenubarAppearanceMenu=new vs("MenubarAppearanceMenu")}static{this.MenubarDebugMenu=new vs("MenubarDebugMenu")}static{this.MenubarEditMenu=new vs("MenubarEditMenu")}static{this.MenubarCopy=new vs("MenubarCopy")}static{this.MenubarFileMenu=new vs("MenubarFileMenu")}static{this.MenubarGoMenu=new vs("MenubarGoMenu")}static{this.MenubarHelpMenu=new vs("MenubarHelpMenu")}static{this.MenubarLayoutMenu=new vs("MenubarLayoutMenu")}static{this.MenubarNewBreakpointMenu=new vs("MenubarNewBreakpointMenu")}static{this.PanelAlignmentMenu=new vs("PanelAlignmentMenu")}static{this.PanelPositionMenu=new vs("PanelPositionMenu")}static{this.ActivityBarPositionMenu=new vs("ActivityBarPositionMenu")}static{this.MenubarPreferencesMenu=new vs("MenubarPreferencesMenu")}static{this.MenubarRecentMenu=new vs("MenubarRecentMenu")}static{this.MenubarSelectionMenu=new vs("MenubarSelectionMenu")}static{this.MenubarShare=new vs("MenubarShare")}static{this.MenubarSwitchEditorMenu=new vs("MenubarSwitchEditorMenu")}static{this.MenubarSwitchGroupMenu=new vs("MenubarSwitchGroupMenu")}static{this.MenubarTerminalMenu=new vs("MenubarTerminalMenu")}static{this.MenubarViewMenu=new vs("MenubarViewMenu")}static{this.MenubarHomeMenu=new vs("MenubarHomeMenu")}static{this.OpenEditorsContext=new vs("OpenEditorsContext")}static{this.OpenEditorsContextShare=new vs("OpenEditorsContextShare")}static{this.ProblemsPanelContext=new vs("ProblemsPanelContext")}static{this.SCMInputBox=new vs("SCMInputBox")}static{this.SCMChangesSeparator=new vs("SCMChangesSeparator")}static{this.SCMChangesContext=new vs("SCMChangesContext")}static{this.SCMIncomingChanges=new vs("SCMIncomingChanges")}static{this.SCMIncomingChangesContext=new vs("SCMIncomingChangesContext")}static{this.SCMIncomingChangesSetting=new vs("SCMIncomingChangesSetting")}static{this.SCMOutgoingChanges=new vs("SCMOutgoingChanges")}static{this.SCMOutgoingChangesContext=new vs("SCMOutgoingChangesContext")}static{this.SCMOutgoingChangesSetting=new vs("SCMOutgoingChangesSetting")}static{this.SCMIncomingChangesAllChangesContext=new vs("SCMIncomingChangesAllChangesContext")}static{this.SCMIncomingChangesHistoryItemContext=new vs("SCMIncomingChangesHistoryItemContext")}static{this.SCMOutgoingChangesAllChangesContext=new vs("SCMOutgoingChangesAllChangesContext")}static{this.SCMOutgoingChangesHistoryItemContext=new vs("SCMOutgoingChangesHistoryItemContext")}static{this.SCMChangeContext=new vs("SCMChangeContext")}static{this.SCMResourceContext=new vs("SCMResourceContext")}static{this.SCMResourceContextShare=new vs("SCMResourceContextShare")}static{this.SCMResourceFolderContext=new vs("SCMResourceFolderContext")}static{this.SCMResourceGroupContext=new vs("SCMResourceGroupContext")}static{this.SCMSourceControl=new vs("SCMSourceControl")}static{this.SCMSourceControlInline=new vs("SCMSourceControlInline")}static{this.SCMSourceControlTitle=new vs("SCMSourceControlTitle")}static{this.SCMHistoryTitle=new vs("SCMHistoryTitle")}static{this.SCMTitle=new vs("SCMTitle")}static{this.SearchContext=new vs("SearchContext")}static{this.SearchActionMenu=new vs("SearchActionContext")}static{this.StatusBarWindowIndicatorMenu=new vs("StatusBarWindowIndicatorMenu")}static{this.StatusBarRemoteIndicatorMenu=new vs("StatusBarRemoteIndicatorMenu")}static{this.StickyScrollContext=new vs("StickyScrollContext")}static{this.TestItem=new vs("TestItem")}static{this.TestItemGutter=new vs("TestItemGutter")}static{this.TestProfilesContext=new vs("TestProfilesContext")}static{this.TestMessageContext=new vs("TestMessageContext")}static{this.TestMessageContent=new vs("TestMessageContent")}static{this.TestPeekElement=new vs("TestPeekElement")}static{this.TestPeekTitle=new vs("TestPeekTitle")}static{this.TestCallStack=new vs("TestCallStack")}static{this.TouchBarContext=new vs("TouchBarContext")}static{this.TitleBarContext=new vs("TitleBarContext")}static{this.TitleBarTitleContext=new vs("TitleBarTitleContext")}static{this.TunnelContext=new vs("TunnelContext")}static{this.TunnelPrivacy=new vs("TunnelPrivacy")}static{this.TunnelProtocol=new vs("TunnelProtocol")}static{this.TunnelPortInline=new vs("TunnelInline")}static{this.TunnelTitle=new vs("TunnelTitle")}static{this.TunnelLocalAddressInline=new vs("TunnelLocalAddressInline")}static{this.TunnelOriginInline=new vs("TunnelOriginInline")}static{this.ViewItemContext=new vs("ViewItemContext")}static{this.ViewContainerTitle=new vs("ViewContainerTitle")}static{this.ViewContainerTitleContext=new vs("ViewContainerTitleContext")}static{this.ViewTitle=new vs("ViewTitle")}static{this.ViewTitleContext=new vs("ViewTitleContext")}static{this.CommentEditorActions=new vs("CommentEditorActions")}static{this.CommentThreadTitle=new vs("CommentThreadTitle")}static{this.CommentThreadActions=new vs("CommentThreadActions")}static{this.CommentThreadAdditionalActions=new vs("CommentThreadAdditionalActions")}static{this.CommentThreadTitleContext=new vs("CommentThreadTitleContext")}static{this.CommentThreadCommentContext=new vs("CommentThreadCommentContext")}static{this.CommentTitle=new vs("CommentTitle")}static{this.CommentActions=new vs("CommentActions")}static{this.CommentsViewThreadActions=new vs("CommentsViewThreadActions")}static{this.InteractiveToolbar=new vs("InteractiveToolbar")}static{this.InteractiveCellTitle=new vs("InteractiveCellTitle")}static{this.InteractiveCellDelete=new vs("InteractiveCellDelete")}static{this.InteractiveCellExecute=new vs("InteractiveCellExecute")}static{this.InteractiveInputExecute=new vs("InteractiveInputExecute")}static{this.InteractiveInputConfig=new vs("InteractiveInputConfig")}static{this.ReplInputExecute=new vs("ReplInputExecute")}static{this.IssueReporter=new vs("IssueReporter")}static{this.NotebookToolbar=new vs("NotebookToolbar")}static{this.NotebookStickyScrollContext=new vs("NotebookStickyScrollContext")}static{this.NotebookCellTitle=new vs("NotebookCellTitle")}static{this.NotebookCellDelete=new vs("NotebookCellDelete")}static{this.NotebookCellInsert=new vs("NotebookCellInsert")}static{this.NotebookCellBetween=new vs("NotebookCellBetween")}static{this.NotebookCellListTop=new vs("NotebookCellTop")}static{this.NotebookCellExecute=new vs("NotebookCellExecute")}static{this.NotebookCellExecuteGoTo=new vs("NotebookCellExecuteGoTo")}static{this.NotebookCellExecutePrimary=new vs("NotebookCellExecutePrimary")}static{this.NotebookDiffCellInputTitle=new vs("NotebookDiffCellInputTitle")}static{this.NotebookDiffCellMetadataTitle=new vs("NotebookDiffCellMetadataTitle")}static{this.NotebookDiffCellOutputsTitle=new vs("NotebookDiffCellOutputsTitle")}static{this.NotebookOutputToolbar=new vs("NotebookOutputToolbar")}static{this.NotebookOutlineFilter=new vs("NotebookOutlineFilter")}static{this.NotebookOutlineActionMenu=new vs("NotebookOutlineActionMenu")}static{this.NotebookEditorLayoutConfigure=new vs("NotebookEditorLayoutConfigure")}static{this.NotebookKernelSource=new vs("NotebookKernelSource")}static{this.BulkEditTitle=new vs("BulkEditTitle")}static{this.BulkEditContext=new vs("BulkEditContext")}static{this.TimelineItemContext=new vs("TimelineItemContext")}static{this.TimelineTitle=new vs("TimelineTitle")}static{this.TimelineTitleContext=new vs("TimelineTitleContext")}static{this.TimelineFilterSubMenu=new vs("TimelineFilterSubMenu")}static{this.AccountsContext=new vs("AccountsContext")}static{this.SidebarTitle=new vs("SidebarTitle")}static{this.PanelTitle=new vs("PanelTitle")}static{this.AuxiliaryBarTitle=new vs("AuxiliaryBarTitle")}static{this.AuxiliaryBarHeader=new vs("AuxiliaryBarHeader")}static{this.TerminalInstanceContext=new vs("TerminalInstanceContext")}static{this.TerminalEditorInstanceContext=new vs("TerminalEditorInstanceContext")}static{this.TerminalNewDropdownContext=new vs("TerminalNewDropdownContext")}static{this.TerminalTabContext=new vs("TerminalTabContext")}static{this.TerminalTabEmptyAreaContext=new vs("TerminalTabEmptyAreaContext")}static{this.TerminalStickyScrollContext=new vs("TerminalStickyScrollContext")}static{this.WebviewContext=new vs("WebviewContext")}static{this.InlineCompletionsActions=new vs("InlineCompletionsActions")}static{this.InlineEditsActions=new vs("InlineEditsActions")}static{this.InlineEditActions=new vs("InlineEditActions")}static{this.NewFile=new vs("NewFile")}static{this.MergeInput1Toolbar=new vs("MergeToolbar1Toolbar")}static{this.MergeInput2Toolbar=new vs("MergeToolbar2Toolbar")}static{this.MergeBaseToolbar=new vs("MergeBaseToolbar")}static{this.MergeInputResultToolbar=new vs("MergeToolbarResultToolbar")}static{this.InlineSuggestionToolbar=new vs("InlineSuggestionToolbar")}static{this.InlineEditToolbar=new vs("InlineEditToolbar")}static{this.ChatContext=new vs("ChatContext")}static{this.ChatCodeBlock=new vs("ChatCodeblock")}static{this.ChatCompareBlock=new vs("ChatCompareBlock")}static{this.ChatMessageTitle=new vs("ChatMessageTitle")}static{this.ChatExecute=new vs("ChatExecute")}static{this.ChatExecuteSecondary=new vs("ChatExecuteSecondary")}static{this.ChatInputSide=new vs("ChatInputSide")}static{this.AccessibleView=new vs("AccessibleView")}static{this.MultiDiffEditorFileToolbar=new vs("MultiDiffEditorFileToolbar")}static{this.DiffEditorHunkToolbar=new vs("DiffEditorHunkToolbar")}static{this.DiffEditorSelectionToolbar=new vs("DiffEditorSelectionToolbar")}constructor(e){if(vs._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);vs._instances.set(e,this),this.id=e}}const bs=(0,qn.u1)("menuService");class Cs{static{this._all=new Map}static for(e){let t=this._all.get(e);return t||(t=new Cs(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof Cs&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}const ws=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new P.QT({merge:Cs.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(e){return this._commands.set(e.id,e),this._onDidChangeMenu.fire(Cs.for(vs.CommandPalette)),(0,Ae.s)((()=>{this._commands.delete(e.id)&&this._onDidChangeMenu.fire(Cs.for(vs.CommandPalette))}))}getCommand(e){return this._commands.get(e)}getCommands(){const e=new Map;return this._commands.forEach(((t,i)=>e.set(i,t))),e}appendMenuItem(e,t){let i=this._menuItems.get(e);i||(i=new ss.w,this._menuItems.set(e,i));const n=i.push(t);return this._onDidChangeMenu.fire(Cs.for(e)),(0,Ae.s)((()=>{n(),this._onDidChangeMenu.fire(Cs.for(e))}))}appendMenuItems(e){const t=new Ae.Cm;for(const{id:i,item:n}of e)t.add(this.appendMenuItem(i,n));return t}getMenuItems(e){let t;return t=this._menuItems.has(e)?[...this._menuItems.get(e)]:[],e===vs.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(e){const t=new Set;for(const i of e)_s(i)&&(t.add(i.command.id),i.alt&&t.add(i.alt.id));this._commands.forEach(((i,n)=>{t.has(n)||e.push({command:i})}))}};class ys extends ts{constructor(e,t,i){super(`submenuitem.${e.submenu.id}`,"string"==typeof e.title?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let Ss=ps=class{static label(e,t){return t?.renderShortTitle&&e.shortTitle?"string"==typeof e.shortTitle?e.shortTitle:e.shortTitle.value:"string"==typeof e.title?e.title:e.title.value}constructor(e,t,i,n,s,o,r){let a;if(this.hideActions=n,this.menuKeybinding=s,this._commandService=r,this.id=e.id,this.label=ps.label(e,i),this.tooltip=("string"==typeof e.tooltip?e.tooltip:e.tooltip?.value)??"",this.enabled=!e.precondition||o.contextMatchesRules(e.precondition),this.checked=void 0,e.toggled){const t=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=o.contextMatchesRules(t.condition),this.checked&&t.tooltip&&(this.tooltip="string"==typeof t.tooltip?t.tooltip:t.tooltip.value),this.checked&&En.L.isThemeIcon(t.icon)&&(a=t.icon),this.checked&&t.title&&(this.label="string"==typeof t.title?t.title:t.title.value)}a||(a=En.L.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new ps(t,void 0,i,n,void 0,o,r):void 0,this._options=i,this.class=a&&En.L.asClassName(a)}run(...e){let t=[];return this._options?.arg&&(t=[...t,this._options.arg]),this._options?.shouldForwardArgs&&(t=[...t,...e]),this._commandService.executeCommand(this.id,...t)}};Ss=ps=ms([fs(5,hs.fN),fs(6,as)],Ss);class ks{constructor(e){this.desc=e}}function Ls(e){const t=[],i=new e,{f1:n,menu:s,keybinding:o,...r}=i.desc;if(ls.getCommand(r.id))throw new Error(`Cannot register two commands with the same id: ${r.id}`);if(t.push(ls.registerCommand({id:r.id,handler:(e,...t)=>i.run(e,...t),metadata:r.metadata})),Array.isArray(s))for(const a of s)t.push(ws.appendMenuItem(a.id,{command:{...r,precondition:null===a.precondition?void 0:r.precondition},...a}));else s&&t.push(ws.appendMenuItem(s.id,{command:{...r,precondition:null===s.precondition?void 0:r.precondition},...s}));if(n&&(t.push(ws.appendMenuItem(vs.CommandPalette,{command:r,when:r.precondition})),t.push(ws.addCommand(r))),Array.isArray(o))for(const a of o)t.push(us.registerKeybindingRule({...a,id:r.id,when:r.precondition?hs.M$.and(r.precondition,a.when):a.when}));else o&&t.push(us.registerKeybindingRule({...o,id:r.id,when:r.precondition?hs.M$.and(r.precondition,o.when):o.when}));return{dispose(){(0,Ae.AS)(t)}}}const xs=(0,qn.u1)("telemetryService");var Ds,Ns=i(46441);class Is{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let e=t.kbExpr;this.precondition&&(e=e?hs.M$.and(e,this.precondition):this.precondition);const i={id:this.id,weight:t.weight,args:t.args,when:e,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};us.registerKeybindingRule(i)}}ls.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){ws.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class Es extends Is{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,n){return this._implementations.push({priority:e,name:t,implementation:i,when:n}),this._implementations.sort(((e,t)=>t.priority-e.priority)),{dispose:()=>{for(let e=0;e{if(e.get(hs.fN).contextMatchesRules(i??void 0))return n(e,o,t)}))}runCommand(e,t){return Ts.runEditorCommand(e,t,this.precondition,((e,t,i)=>this.runEditorCommand(e,t,i)))}}class Rs extends Ts{static convertOptions(e){let t;function i(t){return t.menuId||(t.menuId=vs.EditorContext),t.title||(t.title=e.label),t.when=hs.M$.and(e.precondition,t.when),t}return t=Array.isArray(e.menuOpts)?e.menuOpts:e.menuOpts?[e.menuOpts]:[],Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(Rs.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(xs).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class As extends Rs{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort(((e,t)=>t[0]-e[0])),{dispose:()=>{for(let e=0;e{const i=e.get(hs.fN),s=e.get(Ns.rr);if(i.contextMatchesRules(this.desc.precondition??void 0))return this.runEditorCommand(e,n,...t);s.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,this.desc.precondition?.serialize())}))}}function Os(e,t){ls.registerCommand(e,(function(e,...i){const n=e.get(qn._Y),[s,o]=i;(0,rs.j)(Hn.r.isUri(s)),(0,rs.j)(Qn.y.isIPosition(o));const r=e.get(Yn.IModelService).getModel(s);if(r){const e=Qn.y.lift(o);return n.invokeFunction(t,r,e,...i.slice(2))}return e.get(Zn.ITextModelService).createModelReference(s).then((e=>new Promise(((s,r)=>{try{s(n.invokeFunction(t,e.object.textEditorModel,Qn.y.lift(o),i.slice(2)))}catch(a){r(a)}})).finally((()=>{e.dispose()}))))}))}function Fs(e){return Vs.INSTANCE.registerEditorCommand(e),e}function Ws(e){const t=new e;return Vs.INSTANCE.registerEditorAction(t),t}function Bs(e){return Vs.INSTANCE.registerEditorAction(e),e}function Hs(e,t,i){Vs.INSTANCE.registerEditorContribution(e,t,i)}!function(e){e.getEditorCommand=function(e){return Vs.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return Vs.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return Vs.INSTANCE.getEditorContributions()},e.getSomeEditorContributions=function(e){return Vs.INSTANCE.getEditorContributions().filter((t=>e.indexOf(t.id)>=0))},e.getDiffEditorContributions=function(){return Vs.INSTANCE.getDiffEditorContributions()}}(Ds||(Ds={}));class Vs{static{this.INSTANCE=new Vs}constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}function zs(e){return e.register(),e}ds.O.add("editor.contributions",Vs.INSTANCE);const Us=zs(new Es({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:vs.MenubarEditMenu,group:"1_do",title:$n.kg({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:vs.CommandPalette,group:"",title:$n.kg("undo","Undo"),order:1}]}));zs(new Ms(Us,{id:"default:undo",precondition:void 0}));const Ks=zs(new Es({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:vs.MenubarEditMenu,group:"1_do",title:$n.kg({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:vs.CommandPalette,group:"",title:$n.kg("redo","Redo"),order:1}]}));zs(new Ms(Ks,{id:"default:redo",precondition:void 0}));const js=zs(new Es({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:vs.MenubarSelectionMenu,group:"1_basic",title:$n.kg({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:vs.CommandPalette,group:"",title:$n.kg("selectAll","Select All"),order:1}]}));var $s,qs=i(93702);!function(e){e.editorSimpleInput=new hs.N1("editorSimpleInput",!1,!0),e.editorTextFocus=new hs.N1("editorTextFocus",!1,$n.kg("editorTextFocus","Whether the editor text has focus (cursor is blinking)")),e.focus=new hs.N1("editorFocus",!1,$n.kg("editorFocus","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)")),e.textInputFocus=new hs.N1("textInputFocus",!1,$n.kg("textInputFocus","Whether an editor or a rich text input has focus (cursor is blinking)")),e.readOnly=new hs.N1("editorReadonly",!1,$n.kg("editorReadonly","Whether the editor is read-only")),e.inDiffEditor=new hs.N1("inDiffEditor",!1,$n.kg("inDiffEditor","Whether the context is a diff editor")),e.isEmbeddedDiffEditor=new hs.N1("isEmbeddedDiffEditor",!1,$n.kg("isEmbeddedDiffEditor","Whether the context is an embedded diff editor")),e.inMultiDiffEditor=new hs.N1("inMultiDiffEditor",!1,$n.kg("inMultiDiffEditor","Whether the context is a multi diff editor")),e.multiDiffEditorAllCollapsed=new hs.N1("multiDiffEditorAllCollapsed",void 0,$n.kg("multiDiffEditorAllCollapsed","Whether all files in multi diff editor are collapsed")),e.hasChanges=new hs.N1("diffEditorHasChanges",!1,$n.kg("diffEditorHasChanges","Whether the diff editor has changes")),e.comparingMovedCode=new hs.N1("comparingMovedCode",!1,$n.kg("comparingMovedCode","Whether a moved code block is selected for comparison")),e.accessibleDiffViewerVisible=new hs.N1("accessibleDiffViewerVisible",!1,$n.kg("accessibleDiffViewerVisible","Whether the accessible diff viewer is visible")),e.diffEditorRenderSideBySideInlineBreakpointReached=new hs.N1("diffEditorRenderSideBySideInlineBreakpointReached",!1,$n.kg("diffEditorRenderSideBySideInlineBreakpointReached","Whether the diff editor render side by side inline breakpoint is reached")),e.diffEditorInlineMode=new hs.N1("diffEditorInlineMode",!1,$n.kg("diffEditorInlineMode","Whether inline mode is active")),e.diffEditorOriginalWritable=new hs.N1("diffEditorOriginalWritable",!1,$n.kg("diffEditorOriginalWritable","Whether modified is writable in the diff editor")),e.diffEditorModifiedWritable=new hs.N1("diffEditorModifiedWritable",!1,$n.kg("diffEditorModifiedWritable","Whether modified is writable in the diff editor")),e.diffEditorOriginalUri=new hs.N1("diffEditorOriginalUri","",$n.kg("diffEditorOriginalUri","The uri of the original document")),e.diffEditorModifiedUri=new hs.N1("diffEditorModifiedUri","",$n.kg("diffEditorModifiedUri","The uri of the modified document")),e.columnSelection=new hs.N1("editorColumnSelection",!1,$n.kg("editorColumnSelection","Whether `editor.columnSelection` is enabled")),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new hs.N1("editorHasSelection",!1,$n.kg("editorHasSelection","Whether the editor has text selected")),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new hs.N1("editorHasMultipleSelections",!1,$n.kg("editorHasMultipleSelections","Whether the editor has multiple selections")),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new hs.N1("editorTabMovesFocus",!1,$n.kg("editorTabMovesFocus","Whether `Tab` will move focus out of the editor")),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInEmbeddedEditor=new hs.N1("isInEmbeddedEditor",!1,!0),e.canUndo=new hs.N1("canUndo",!1,!0),e.canRedo=new hs.N1("canRedo",!1,!0),e.hoverVisible=new hs.N1("editorHoverVisible",!1,$n.kg("editorHoverVisible","Whether the editor hover is visible")),e.hoverFocused=new hs.N1("editorHoverFocused",!1,$n.kg("editorHoverFocused","Whether the editor hover is focused")),e.stickyScrollFocused=new hs.N1("stickyScrollFocused",!1,$n.kg("stickyScrollFocused","Whether the sticky scroll is focused")),e.stickyScrollVisible=new hs.N1("stickyScrollVisible",!1,$n.kg("stickyScrollVisible","Whether the sticky scroll is visible")),e.standaloneColorPickerVisible=new hs.N1("standaloneColorPickerVisible",!1,$n.kg("standaloneColorPickerVisible","Whether the standalone color picker is visible")),e.standaloneColorPickerFocused=new hs.N1("standaloneColorPickerFocused",!1,$n.kg("standaloneColorPickerFocused","Whether the standalone color picker is focused")),e.inCompositeEditor=new hs.N1("inCompositeEditor",void 0,$n.kg("inCompositeEditor","Whether the editor is part of a larger editor (e.g. notebooks)")),e.notInCompositeEditor=e.inCompositeEditor.toNegated(),e.languageId=new hs.N1("editorLangId","",$n.kg("editorLangId","The language identifier of the editor")),e.hasCompletionItemProvider=new hs.N1("editorHasCompletionItemProvider",!1,$n.kg("editorHasCompletionItemProvider","Whether the editor has a completion item provider")),e.hasCodeActionsProvider=new hs.N1("editorHasCodeActionsProvider",!1,$n.kg("editorHasCodeActionsProvider","Whether the editor has a code actions provider")),e.hasCodeLensProvider=new hs.N1("editorHasCodeLensProvider",!1,$n.kg("editorHasCodeLensProvider","Whether the editor has a code lens provider")),e.hasDefinitionProvider=new hs.N1("editorHasDefinitionProvider",!1,$n.kg("editorHasDefinitionProvider","Whether the editor has a definition provider")),e.hasDeclarationProvider=new hs.N1("editorHasDeclarationProvider",!1,$n.kg("editorHasDeclarationProvider","Whether the editor has a declaration provider")),e.hasImplementationProvider=new hs.N1("editorHasImplementationProvider",!1,$n.kg("editorHasImplementationProvider","Whether the editor has an implementation provider")),e.hasTypeDefinitionProvider=new hs.N1("editorHasTypeDefinitionProvider",!1,$n.kg("editorHasTypeDefinitionProvider","Whether the editor has a type definition provider")),e.hasHoverProvider=new hs.N1("editorHasHoverProvider",!1,$n.kg("editorHasHoverProvider","Whether the editor has a hover provider")),e.hasDocumentHighlightProvider=new hs.N1("editorHasDocumentHighlightProvider",!1,$n.kg("editorHasDocumentHighlightProvider","Whether the editor has a document highlight provider")),e.hasDocumentSymbolProvider=new hs.N1("editorHasDocumentSymbolProvider",!1,$n.kg("editorHasDocumentSymbolProvider","Whether the editor has a document symbol provider")),e.hasReferenceProvider=new hs.N1("editorHasReferenceProvider",!1,$n.kg("editorHasReferenceProvider","Whether the editor has a reference provider")),e.hasRenameProvider=new hs.N1("editorHasRenameProvider",!1,$n.kg("editorHasRenameProvider","Whether the editor has a rename provider")),e.hasSignatureHelpProvider=new hs.N1("editorHasSignatureHelpProvider",!1,$n.kg("editorHasSignatureHelpProvider","Whether the editor has a signature help provider")),e.hasInlayHintsProvider=new hs.N1("editorHasInlayHintsProvider",!1,$n.kg("editorHasInlayHintsProvider","Whether the editor has an inline hints provider")),e.hasDocumentFormattingProvider=new hs.N1("editorHasDocumentFormattingProvider",!1,$n.kg("editorHasDocumentFormattingProvider","Whether the editor has a document formatting provider")),e.hasDocumentSelectionFormattingProvider=new hs.N1("editorHasDocumentSelectionFormattingProvider",!1,$n.kg("editorHasDocumentSelectionFormattingProvider","Whether the editor has a document selection formatting provider")),e.hasMultipleDocumentFormattingProvider=new hs.N1("editorHasMultipleDocumentFormattingProvider",!1,$n.kg("editorHasMultipleDocumentFormattingProvider","Whether the editor has multiple document formatting providers")),e.hasMultipleDocumentSelectionFormattingProvider=new hs.N1("editorHasMultipleDocumentSelectionFormattingProvider",!1,$n.kg("editorHasMultipleDocumentSelectionFormattingProvider","Whether the editor has multiple document selection formatting providers"))}($s||($s={}));var Gs,Qs=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Ys=function(e,t){return function(i,n){t(i,n,e)}};const Zs=new hs.N1("selectionAnchorSet",!1);let Xs=class{static{Gs=this}static{this.ID="editor.contrib.selectionAnchorController"}static get(e){return e.getContribution(Gs.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=Zs.bindTo(t),this.modelChangeListener=e.onDidChangeModel((()=>this.selectionAnchorSetContextKey.reset()))}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations((t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(qs.L.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:(new Vn).appendText((0,$n.kg)("selectionAnchor","Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),wi((0,$n.kg)("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(qs.L.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations((t=>{t.removeDecoration(e),this.decorationId=void 0})),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Xs=Gs=Qs([Ys(1,hs.fN)],Xs);Hs(Xs.ID,Xs,4),Ws(class extends Rs{constructor(){super({id:"editor.action.setSelectionAnchor",label:(0,$n.kg)("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2080),weight:100}})}async run(e,t){Xs.get(t)?.setSelectionAnchor()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.goToSelectionAnchor",label:(0,$n.kg)("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:Zs})}async run(e,t){Xs.get(t)?.goToSelectionAnchor()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:(0,$n.kg)("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:Zs,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2089),weight:100}})}async run(e,t){Xs.get(t)?.selectFromAnchorToCursor()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:(0,$n.kg)("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:Zs,kbOpts:{kbExpr:$s.editorTextFocus,primary:9,weight:100}})}async run(e,t){Xs.get(t)?.cancelSelectionAnchor()}});var Js=i(28061),eo=i(66055),to=i(3156),io=i(92551),no=i(89044);const so=(0,io.x1A)("editorOverviewRuler.bracketMatchForeground","#A0A0A0",$n.kg("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class oo{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class ro extends Ae.jG{static{this.ID="editor.contrib.bracketMatchingController"}static get(e){return e.getContribution(ro.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new A.uC((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition((e=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelContent((e=>{this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModel((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelLanguageConfiguration((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))),this._register(e.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()}))),this._register(e.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map((t=>{const i=t.getStartPosition(),n=e.bracketPairs.matchBracket(i);let s=null;if(n)n[0].containsPosition(i)&&!n[1].containsPosition(i)?s=n[1].getStartPosition():n[1].containsPosition(i)&&(s=n[0].getStartPosition());else{const t=e.bracketPairs.findEnclosingBrackets(i);if(t)s=t[1].getStartPosition();else{const t=e.bracketPairs.findNextBracket(i);t&&t.range&&(s=t.range.getStartPosition())}}return s?new qs.L(s.lineNumber,s.column,s.lineNumber,s.column):new qs.L(i.lineNumber,i.column,i.lineNumber,i.column)}));this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach((n=>{const s=n.getStartPosition();let o=t.bracketPairs.matchBracket(s);if(!o&&(o=t.bracketPairs.findEnclosingBrackets(s),!o)){const e=t.bracketPairs.findNextBracket(s);e&&e.range&&(o=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let r=null,a=null;if(o){o.sort(Js.Q.compareRangesUsingStarts);const[t,i]=o;if(r=e?t.getStartPosition():t.getEndPosition(),a=e?i.getEndPosition():i.getStartPosition(),i.containsPosition(s)){const e=r;r=a,a=e}}r&&a&&i.push(new qs.L(r.lineNumber,r.column,a.lineNumber,a.column))})),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach((i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())}))}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=to.kI.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:(0,no.Yf)(so),position:eo.A5.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=to.kI.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"})}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const e=this._editor.getSelections();if(e.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let o=0;for(let d=0,c=e.length;d1&&s.sort(Qn.y.compare);const r=[];let a=0,l=0;const h=n.length;for(let d=0,c=s.length;d!0,uo=()=>!1,go=e=>" "===e||"\t"===e;class po{static shouldRecreate(e){return e.hasChanged(146)||e.hasChanged(132)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(129)||e.hasChanged(50)||e.hasChanged(92)||e.hasChanged(131)}constructor(e,t,i,n){this.languageConfigurationService=n,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const s=i.options,o=s.get(146),r=s.get(50);this.readOnly=s.get(92),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=s.get(117),this.lineHeight=r.lineHeight,this.typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(o.height/this.lineHeight)-2),this.useTabStops=s.get(129),this.wordSeparators=s.get(132),this.emptySelectionClipboard=s.get(37),this.copyWithSyntaxHighlighting=s.get(25),this.multiCursorMergeOverlapping=s.get(77),this.multiCursorPaste=s.get(79),this.multiCursorLimit=s.get(80),this.autoClosingBrackets=s.get(6),this.autoClosingComments=s.get(7),this.autoClosingQuotes=s.get(11),this.autoClosingDelete=s.get(9),this.autoClosingOvertype=s.get(10),this.autoSurround=s.get(14),this.autoIndent=s.get(12),this.wordSegmenterLocales=s.get(131),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const a=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(a)for(const h of a)this.surroundingPairs[h.open]=h.close;const l=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=l?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};const e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(e)for(const t of e)this._electricChars[t]=!0}return this._electricChars}onElectricCharacter(e,t,i){const n=(0,ao.BQ)(t,i-1),s=this.languageConfigurationService.getLanguageConfiguration(n.languageId).electricCharacter;return s?s.onElectricCharacter(e,n,i-n.firstCharOffset):null}normalizeIndentation(e){return(0,ho.P)(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,i){switch(t){case"beforeWhitespace":return go;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,i);case"always":return co;case"never":return uo}}_getLanguageDefinedShouldAutoClose(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return e=>-1!==i.indexOf(e)}visibleColumnFromColumn(e,t){return lo.A.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const n=lo.A.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),s=e.getLineMinColumn(t);if(no?o:n}}class mo{static fromModelState(e){return new fo(e)}static fromViewState(e){return new _o(e)}static fromModelSelection(e){const t=qs.L.liftSelection(e),i=new vo(Js.Q.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return mo.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,n=e.length;is,l=n>o,h=no)continue;if(pn)continue;if(g0&&n--,wo.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,n)}static columnSelectRight(e,t,i){let n=0;const s=Math.min(i.fromViewLineNumber,i.toViewLineNumber),o=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let a=s;a<=o;a++){const i=t.getLineMaxColumn(a),s=e.visibleColumnFromColumn(t,new Qn.y(a,i));n=Math.max(n,s)}let r=i.toViewVisualColumn;return re.getLineMinColumn(t.lineNumber))return t.delta(void 0,-Ri.MV(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new Qn.y(i,e.getLineMaxColumn(i))}return t}static leftPositionAtomicSoftTabs(e,t,i){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const n=e.getLineMinColumn(t.lineNumber),s=e.getLineContent(t.lineNumber),o=Do.atomicPosition(s,t.column-1,i,0);if(-1!==o&&o+1>=n)return new Qn.y(t.lineNumber,o+1)}return this.leftPosition(e,t)}static left(e,t,i){const n=e.stickyTabStops?Io.leftPositionAtomicSoftTabs(t,i,e.tabSize):Io.leftPosition(t,i);return new No(n.lineNumber,n.column,0)}static moveLeft(e,t,i,n,s){let o,r;if(i.hasSelection()&&!n)o=i.selection.startLineNumber,r=i.selection.startColumn;else{const n=i.position.delta(void 0,-(s-1)),a=t.normalizePosition(Io.clipPositionColumn(n,t),0),l=Io.left(e,t,a);o=l.lineNumber,r=l.column}return i.move(n,o,r,0)}static clipPositionColumn(e,t){return new Qn.y(e.lineNumber,Io.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,i){return ei?i:e}static rightPosition(e,t,i){return ih?(i=h,n=r?t.getLineMaxColumn(i):Math.min(t.getLineMaxColumn(i),n)):n=e.columnFromVisibleColumn(t,i,l),s=u?0:l-lo.A.visibleColumnFromColumn(t.getLineContent(i),n,e.tabSize),void 0!==a){const e=new Qn.y(i,n),o=t.normalizePosition(e,a);s+=n-o.column,i=o.lineNumber,n=o.column}return new No(i,n,s)}static down(e,t,i,n,s,o,r){return this.vertical(e,t,i,n,s,i+o,r,4)}static moveDown(e,t,i,n,s){let o,r;i.hasSelection()&&!n?(o=i.selection.endLineNumber,r=i.selection.endColumn):(o=i.position.lineNumber,r=i.position.column);let a,l=0;do{a=Io.down(e,t,o+l,r,i.leftoverVisibleColumns,s,!0);if(t.normalizePosition(new Qn.y(a.lineNumber,a.column),2).lineNumber>o)break}while(l++<10&&o+l1&&this._isBlankLine(t,s);)s--;for(;s>1&&!this._isBlankLine(t,s);)s--;return i.move(n,s,t.getLineMinColumn(s),0)}static moveToNextBlankLine(e,t,i,n){const s=t.getLineCount();let o=i.position.lineNumber;for(;o=d.length+1)return!1;const c=d.charAt(h.column-2),u=n.get(c);if(!u)return!1;if(Co(c)){if("never"===i)return!1}else if("never"===t)return!1;const g=d.charAt(h.column-1);let p=!1;for(const e of u)e.open===c&&e.close===g&&(p=!0);if(!p)return!1;if("auto"===e){let e=!1;for(let t=0,i=r.length;t1){const e=t.getLineContent(n.lineNumber),s=Ri.HG(e),o=-1===s?e.length+1:s+1;if(n.column<=o){const e=i.visibleColumnFromColumn(t,n),s=lo.A.prevIndentTabStop(e,i.indentSize),o=i.columnFromVisibleColumn(t,n.lineNumber,s);return new Js.Q(n.lineNumber,o,n.lineNumber,n.column)}}return Js.Q.fromPositions(Eo.getPositionAfterDeleteLeft(n,t),n)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=Ri.Wd(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,i+1)}if(e.lineNumber>1){const i=e.lineNumber-1;return new Qn.y(i,t.getLineMaxColumn(i))}return e}static cut(e,t,i){const n=[];let s=null;i.sort(((e,t)=>Qn.y.compare(e.getStartPosition(),t.getEndPosition())));for(let o=0,r=i.length;o1&&s?.endLineNumber!==e.lineNumber?(i=e.lineNumber-1,a=t.getLineMaxColumn(e.lineNumber-1),l=e.lineNumber,h=t.getLineMaxColumn(e.lineNumber)):(i=e.lineNumber,a=1,l=e.lineNumber,h=t.getLineMaxColumn(e.lineNumber));const d=new Js.Q(i,a,l,h);s=d,d.isEmpty()?n[o]=null:n[o]=new yo(d,"")}else n[o]=null;else n[o]=new yo(r,"")}return new bo(0,n,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}var Mo,To=i(82862);class Ro{static _createWord(e,t,i,n,s){return{start:n,end:s,wordType:t,nextCharClass:i}}static _createIntlWord(e,t){return{start:e.index,end:e.index+e.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(e,t,i){const n=t.getLineContent(i.lineNumber);return this._doFindPreviousWordOnLine(n,e,i)}static _doFindPreviousWordOnLine(e,t,i){let n=0;const s=t.findPrevIntlWordBeforeOrAtOffset(e,i.column-2);for(let o=i.column-2;o>=0;o--){const i=e.charCodeAt(o),r=t.get(i);if(s&&o===s.index)return this._createIntlWord(s,r);if(0===r){if(2===n)return this._createWord(e,n,r,o+1,this._findEndOfWord(e,t,n,o+1));n=1}else if(2===r){if(1===n)return this._createWord(e,n,r,o+1,this._findEndOfWord(e,t,n,o+1));n=2}else if(1===r&&0!==n)return this._createWord(e,n,r,o+1,this._findEndOfWord(e,t,n,o+1))}return 0!==n?this._createWord(e,n,1,0,this._findEndOfWord(e,t,n,0)):null}static _findEndOfWord(e,t,i,n){const s=t.findNextIntlWordAtOrAfterOffset(e,n),o=e.length;for(let r=n;r=0;o--){const n=e.charCodeAt(o),r=t.get(n);if(s&&o===s.index)return o;if(1===r)return o+1;if(1===i&&2===r)return o+1;if(2===i&&0===r)return o+1}return 0}static moveWordLeft(e,t,i,n,s){let o=i.lineNumber,r=i.column;1===r&&o>1&&(o-=1,r=t.getLineMaxColumn(o));let a=Ro._findPreviousWordOnLine(e,t,new Qn.y(o,r));if(0===n)return new Qn.y(o,a?a.start+1:1);if(1===n)return!s&&a&&2===a.wordType&&a.end-a.start==1&&0===a.nextCharClass&&(a=Ro._findPreviousWordOnLine(e,t,new Qn.y(o,a.start+1))),new Qn.y(o,a?a.start+1:1);if(3===n){for(;a&&2===a.wordType;)a=Ro._findPreviousWordOnLine(e,t,new Qn.y(o,a.start+1));return new Qn.y(o,a?a.start+1:1)}return a&&r<=a.end+1&&(a=Ro._findPreviousWordOnLine(e,t,new Qn.y(o,a.start+1))),new Qn.y(o,a?a.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,n=e.getLineMaxColumn(i);if(1===t.column)return i>1?new Qn.y(i-1,e.getLineMaxColumn(i-1)):t;const s=e.getLineContent(i);for(let o=t.column-1;o>1;o--){const e=s.charCodeAt(o-2),t=s.charCodeAt(o-1);if(95===e&&95!==t)return new Qn.y(i,o);if(45===e&&45!==t)return new Qn.y(i,o);if((Ri.Lv(e)||Ri.DB(e))&&Ri.Wv(t))return new Qn.y(i,o);if(Ri.Wv(e)&&Ri.Wv(t)&&o+1=a.start+1&&(a=Ro._findNextWordOnLine(e,t,new Qn.y(s,a.end+1))),o=a?a.start+1:t.getLineMaxColumn(s);return new Qn.y(s,o)}static _moveWordPartRight(e,t){const i=t.lineNumber,n=e.getLineMaxColumn(i);if(t.column===n)return i1?l=1:(a--,l=n.getLineMaxColumn(a)):(h&&l<=h.end+1&&(h=Ro._findPreviousWordOnLine(i,n,new Qn.y(a,h.start+1))),h?l=h.end+1:l>1?l=1:(a--,l=n.getLineMaxColumn(a))),new Js.Q(a,l,r.lineNumber,r.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const n=new Qn.y(i.positionLineNumber,i.positionColumn),s=this._deleteInsideWordWhitespace(t,n);return s||this._deleteInsideWordDetermineDeleteRange(e,t,n)}static _charAtIsWhitespace(e,t){const i=e.charCodeAt(t);return 32===i||9===i}static _deleteInsideWordWhitespace(e,t){const i=e.getLineContent(t.lineNumber),n=i.length;if(0===n)return null;let s=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,s))return null;let o=Math.min(t.column-1,n-1);if(!this._charAtIsWhitespace(i,o))return null;for(;s>0&&this._charAtIsWhitespace(i,s-1);)s--;for(;o+11?new Js.Q(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumbere.start+1<=i.column&&i.column<=e.end+1,r=(e,t)=>(e=Math.min(e,i.column),t=Math.max(t,i.column),new Js.Q(i.lineNumber,e,i.lineNumber,t)),a=e=>{let t=e.start+1,i=e.end+1,o=!1;for(;i-11&&this._charAtIsWhitespace(n,t-2);)t--;return r(t,i)},l=Ro._findPreviousWordOnLine(e,t,i);if(l&&o(l))return a(l);const h=Ro._findNextWordOnLine(e,t,i);return h&&o(h)?a(h):l&&h?r(l.end+1,h.start+1):l?r(l.start+1,l.end+1):h?r(h.start+1,h.end+1):r(1,s+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),n=Ro._moveWordPartLeft(e,i);return new Js.Q(i.lineNumber,i.column,n.lineNumber,n.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let n=t;n=c.start+1&&(c=Ro._findNextWordOnLine(i,n,new Qn.y(a,c.end+1))),c?l=c.start+1:lBoolean(e)))}class Oo{static addCursorDown(e,t,i){const n=[];let s=0;for(let o=0,r=t.length;ot&&(i=t,n=e.model.getLineMaxColumn(i)),mo.fromModelState(new vo(new Js.Q(o.lineNumber,1,i,n),2,0,new Qn.y(i,n),0))}const a=t.modelState.selectionStart.getStartPosition().lineNumber;if(o.lineNumbera){const i=e.getLineCount();let n=r.lineNumber+1,s=1;return n>i&&(n=i,s=e.getLineMaxColumn(n)),mo.fromViewState(t.viewState.move(!0,n,s,0))}{const e=t.modelState.selectionStart.getEndPosition();return mo.fromModelState(t.modelState.move(!0,e.lineNumber,e.column,0))}}static word(e,t,i,n){const s=e.model.validatePosition(n);return mo.fromModelState(Ro.word(e.cursorConfig,e.model,t.modelState,i,s))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new mo(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,n=t.viewState.position.column;return mo.fromViewState(new vo(new Js.Q(i,n,i,n),0,0,new Qn.y(i,n),0))}static moveTo(e,t,i,n,s){if(i){if(1===t.modelState.selectionStartKind)return this.word(e,t,i,n);if(2===t.modelState.selectionStartKind)return this.line(e,t,i,n,s)}const o=e.model.validatePosition(n),r=s?e.coordinatesConverter.validateViewPosition(new Qn.y(s.lineNumber,s.column),o):e.coordinatesConverter.convertModelPositionToViewPosition(o);return mo.fromViewState(t.viewState.move(i,r.lineNumber,r.column,0))}static simpleMove(e,t,i,n,s,o){switch(i){case 0:return 4===o?this._moveHalfLineLeft(e,t,n):this._moveLeft(e,t,n,s);case 1:return 4===o?this._moveHalfLineRight(e,t,n):this._moveRight(e,t,n,s);case 2:return 2===o?this._moveUpByViewLines(e,t,n,s):this._moveUpByModelLines(e,t,n,s);case 3:return 2===o?this._moveDownByViewLines(e,t,n,s):this._moveDownByModelLines(e,t,n,s);case 4:return 2===o?t.map((t=>mo.fromViewState(Io.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,n)))):t.map((t=>mo.fromModelState(Io.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,n))));case 5:return 2===o?t.map((t=>mo.fromViewState(Io.moveToNextBlankLine(e.cursorConfig,e,t.viewState,n)))):t.map((t=>mo.fromModelState(Io.moveToNextBlankLine(e.cursorConfig,e.model,t.modelState,n))));case 6:return this._moveToViewMinColumn(e,t,n);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,n);case 8:return this._moveToViewCenterColumn(e,t,n);case 9:return this._moveToViewMaxColumn(e,t,n);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,n);default:return null}}static viewportMove(e,t,i,n,s){const o=e.getCompletelyVisibleViewRange(),r=e.coordinatesConverter.convertViewRangeToModelRange(o);switch(i){case 11:{const i=this._firstLineNumberInRange(e.model,r,s),o=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],n,i,o)]}case 13:{const i=this._lastLineNumberInRange(e.model,r,s),o=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],n,i,o)]}case 12:{const i=Math.round((r.startLineNumber+r.endLineNumber)/2),s=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],n,i,s)]}case 14:{const i=[];for(let s=0,r=t.length;si.endLineNumber-1?i.endLineNumber-1:smo.fromViewState(Io.moveLeft(e.cursorConfig,e,t.viewState,i,n))))}static _moveHalfLineLeft(e,t,i){const n=[];for(let s=0,o=t.length;smo.fromViewState(Io.moveRight(e.cursorConfig,e,t.viewState,i,n))))}static _moveHalfLineRight(e,t,i){const n=[];for(let s=0,o=t.length;s{this.model.tokenization.forceTokenization(e);const t=this.model.tokenization.getLineTokens(e),i=this.model.getLineMaxColumn(e)-1;return(0,ao.BQ)(t,i)})(s);if(!(i.languageId===o.languageId))return n;const r=o.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(r)}}class zo{constructor(e,t){this.model=e,this.languageConfigurationService=t}getProcessedLine(e,t){this.model.tokenization.forceTokenization?.(e);const i=this.model.tokenization.getLineTokens(e);let n=this.getProcessedTokens(i).getLineContent();return void 0!==t&&(n=((e,t)=>{const i=Ri.UU(e);return t+e.substring(i.length)})(n,t)),n}getProcessedTokens(e){const t=e.getLanguageId(0),i=this.languageConfigurationService.getLanguageConfiguration(t).bracketsNew.getBracketRegExp({global:!0}),n=[];e.forEach((t=>{const s=e.getStandardTokenType(t);let o=e.getTokenText(t);(e=>2===e||3===e||1===e)(s)&&(o=o.replace(i,""));const r=e.getMetadata(t);n.push({text:o,metadata:r})}));return Bo.f.createFromTextAndMetadata(n,e.languageIdCodec)}}function Uo(e,t){e.tokenization.forceTokenization(t.lineNumber);const i=e.tokenization.getLineTokens(t.lineNumber),n=(0,ao.BQ)(i,t.column-1),s=0===n.firstCharOffset,o=i.getLanguageId(0)===n.languageId;return!s&&!o}function Ko(e,t,i,n){t.tokenization.forceTokenization(i.startLineNumber);const s=t.getLanguageIdAtPosition(i.startLineNumber,i.startColumn),o=n.getLanguageConfiguration(s);if(!o)return null;const r=new Vo(t,n).getProcessedTokenContextAroundRange(i),a=r.previousLineProcessedTokens.getLineContent(),l=r.beforeRangeProcessedTokens.getLineContent(),h=r.afterRangeProcessedTokens.getLineContent(),d=o.onEnter(e,a,l,h);if(!d)return null;const c=d.indentAction;let u=d.appendText;const g=d.removeText||0;u?c===Fo.l.Indent&&(u="\t"+u):u=c===Fo.l.Indent||c===Fo.l.IndentOutdent?"\t":"";let p=(0,Wo.Cw)(t,i.startLineNumber,i.startColumn);return g&&(p=p.substring(0,p.length-g)),{indentAction:c,appendText:u,removeText:g,indentation:p}}var jo,$o=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},qo=function(e,t){return function(i,n){t(i,n,e)}};const Go=Object.create(null);function Qo(e,t){if(t<=0)return"";Go[e]||(Go[e]=["",e]);const i=Go[e];for(let n=i.length;n<=t;n++)i[n]=i[n-1]+e;return i[t]}let Yo=jo=class{static unshiftIndent(e,t,i,n,s){const o=lo.A.visibleColumnFromColumn(e,t,i);if(s){const e=Qo(" ",n);return Qo(e,lo.A.prevIndentTabStop(o,n)/n)}return Qo("\t",lo.A.prevRenderTabStop(o,i)/i)}static shiftIndent(e,t,i,n,s){const o=lo.A.visibleColumnFromColumn(e,t,i);if(s){const e=Qo(" ",n);return Qo(e,lo.A.nextIndentTabStop(o,n)/n)}return Qo("\t",lo.A.nextRenderTabStop(o,i)/i)}constructor(e,t,i){this._languageConfigurationService=i,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(e,t){const i=this._selection.startLineNumber;let n=this._selection.endLineNumber;1===this._selection.endColumn&&i!==n&&(n-=1);const{tabSize:s,indentSize:o,insertSpaces:r}=this._opts,a=i===n;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let l=0,h=0;for(let d=i;d<=n;d++,l=h){h=0;const n=e.getLineContent(d);let c,u=Ri.HG(n);if((!this._opts.isUnshift||0!==n.length&&0!==u)&&(a||this._opts.isUnshift||0!==n.length)){if(-1===u&&(u=n.length),d>1){if(lo.A.visibleColumnFromColumn(n,u+1,s)%o!=0&&e.tokenization.isCheapToTokenize(d-1)){const t=Ko(this._opts.autoIndent,e,new Js.Q(d-1,e.getLineMaxColumn(d-1),d-1,e.getLineMaxColumn(d-1)),this._languageConfigurationService);if(t){if(h=l,t.appendText)for(let e=0,i=t.appendText.length;e0&&""===t.getLineContent(l);l--)if(1===l)return{indentation:"",action:null};const a=function(e,t,i){const n=e.tokenization.getLanguageIdAtPosition(t,0);if(t>1){let s,o=-1;for(s=t-1;s>=1;s--){if(e.tokenization.getLanguageIdAtPosition(s,0)!==n)return o;const t=e.getLineContent(s);if(!i.shouldIgnore(s)&&!/^\s+$/.test(t)&&""!==t)return s;o=s}}return-1}(t,i,r);if(a<0)return null;if(a<1)return{indentation:"",action:null};if(r.shouldIncrease(a)||r.shouldIndentNextLine(a)){const e=t.getLineContent(a);return{indentation:Ri.UU(e),action:Fo.l.Indent,line:a}}if(r.shouldDecrease(a)){const e=t.getLineContent(a);return{indentation:Ri.UU(e),action:null,line:a}}{if(1===a)return{indentation:Ri.UU(t.getLineContent(a)),action:null,line:a};const e=a-1,i=o.getIndentMetadata(t.getLineContent(e));if(!(3&i)&&4&i){let i=0;for(let t=e-1;t>0;t--)if(!r.shouldIndentNextLine(t)){i=t;break}return{indentation:Ri.UU(t.getLineContent(i+1)),action:null,line:i+1}}if(n)return{indentation:Ri.UU(t.getLineContent(a)),action:null,line:a};for(let n=a;n>0;n--){if(r.shouldIncrease(n))return{indentation:Ri.UU(t.getLineContent(n)),action:Fo.l.Indent,line:n};if(r.shouldIndentNextLine(n)){let e=0;for(let t=n-1;t>0;t--)if(!r.shouldIndentNextLine(n)){e=t;break}return{indentation:Ri.UU(t.getLineContent(e+1)),action:null,line:e+1}}if(r.shouldDecrease(n))return{indentation:Ri.UU(t.getLineContent(n)),action:null,line:n}}return{indentation:Ri.UU(t.getLineContent(1)),action:null,line:1}}}function er(e,t,i,n,s,o){if(e<4)return null;const r=o.getLanguageConfiguration(i);if(!r)return null;const a=o.getLanguageConfiguration(i).indentRulesSupport;if(!a)return null;const l=new Ho(t,a,o),h=Jo(e,t,n,void 0,o);if(h){const i=h.line;if(void 0!==i){let o=!0;for(let e=i;ee.getLineCount()?null:n.getIndentMetadata(e.getLineContent(t)):null}class ir{static getEdits(e,t,i,n,s){if(!s&&this._isAutoIndentType(e,t,i)){const s=[];for(const r of i){const i=this._findActualIndentationForSelection(e,t,r,n);if(null===i)return;s.push({selection:r,indentation:i})}const o=or.getAutoClosingPairClose(e,t,i,n,!1);return this._getIndentationAndAutoClosingPairEdits(e,t,s,n,o)}}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let n=0,s=i.length;n0){const a=t.getLineContent(p);if(l.shouldIndentNextLine(a)&&l.shouldIncrease(g)){const a=Jo(r,t,i.startLineNumber,!1,o),l=a?.indentation;if(void 0!==l){const o=t.getLineContent(i.startLineNumber),r=Ri.UU(o),a=s.shiftIndent(l)===r,h=/^\s*$/.test(u),d=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(n),c=d&&d.length>0;if(a&&c&&h)return l}}}return null}(e,t,i,n,{shiftIndent:t=>Sr(e,t),unshiftIndent:t=>kr(e,t)},e.languageConfigurationService);if(null===s)return null;const o=(0,Wo.Cw)(t,i.startLineNumber,i.startColumn);return s===e.normalizeIndentation(o)?null:s}static _getIndentationAndAutoClosingPairEdits(e,t,i,n,s){const o=i.map((({selection:i,indentation:o})=>{if(null!==s){const r=this._getEditFromIndentationAndSelection(e,t,o,i,n,!1);return new fr(r,i,n,s)}{const s=this._getEditFromIndentationAndSelection(e,t,o,i,n,!0);return yr(s.range,s.text,!1)}}));return new bo(4,o,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _getEditFromIndentationAndSelection(e,t,i,n,s,o=!0){const r=n.startLineNumber,a=t.getLineFirstNonWhitespaceColumn(r);let l=e.normalizeIndentation(i);if(0!==a){l+=t.getLineContent(r).substring(a-1,n.startColumn-1)}l+=o?s:"";return{range:new Js.Q(r,1,n.endLineNumber,n.endColumn),text:l}}}class nr{static getEdits(e,t,i,n,s,o){if(wr(t,i,n,s,o))return this._runAutoClosingOvertype(e,n,o)}static _runAutoClosingOvertype(e,t,i){const n=[];for(let s=0,o=t.length;snew yo(new Js.Q(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),"",!1)));return new bo(4,e,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}}class or{static getEdits(e,t,i,n,s,o){if(!o){const o=this.getAutoClosingPairClose(e,t,i,n,s);if(null!==o)return this._runAutoClosingOpenCharType(i,n,s,o)}}static _runAutoClosingOpenCharType(e,t,i,n){const s=[];for(let o=0,r=e.length;o{const t=e.getPosition();return s?{lineNumber:t.lineNumber,beforeColumn:t.column-n.length,afterColumn:t.column}:{lineNumber:t.lineNumber,beforeColumn:t.column,afterColumn:t.column}})),r=this._findAutoClosingPairOpen(e,t,o.map((e=>new Qn.y(e.lineNumber,e.beforeColumn))),n);if(!r)return null;let a,l;if(Co(n))a=e.autoClosingQuotes,l=e.shouldAutoCloseBefore.quote;else{!!e.blockCommentStartToken&&r.open.includes(e.blockCommentStartToken)?(a=e.autoClosingComments,l=e.shouldAutoCloseBefore.comment):(a=e.autoClosingBrackets,l=e.shouldAutoCloseBefore.bracket)}if("never"===a)return null;const h=this._findContainedAutoClosingPair(e,r),d=h?h.close:"";let c=!0;for(const u of o){const{lineNumber:i,beforeColumn:s,afterColumn:o}=u,h=t.getLineContent(i),g=h.substring(0,s-1),p=h.substring(o-1);if(p.startsWith(d)||(c=!1),p.length>0){const t=p.charAt(0);if(!this._isBeforeClosingBrace(e,p)&&!l(t))return null}if(1===r.open.length&&("'"===n||'"'===n)&&"always"!==a){const t=(0,To.i)(e.wordSeparators,[]);if(g.length>0){const e=g.charCodeAt(g.length-1);if(0===t.get(e))return null}}if(!t.tokenization.isCheapToTokenize(i))return null;t.tokenization.forceTokenization(i);const m=t.tokenization.getLineTokens(i),f=(0,ao.BQ)(m,s-1);if(!r.shouldAutoClose(f,s-f.firstCharOffset))return null;const _=r.findNeutralCharacter();if(_){const e=t.tokenization.getTokenTypeIfInsertingCharacter(i,s,_);if(!r.isOK(e))return null}}return c?r.close.substring(0,r.close.length-d.length):r.close}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const i=t.close.charAt(t.close.length-1),n=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(i)||[];let s=null;for(const o of n)o.open!==t.open&&t.open.includes(o.open)&&t.close.endsWith(o.close)&&(!s||o.open.length>s.open.length)&&(s=o);return s}static _findAutoClosingPairOpen(e,t,i,n){const s=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(n);if(!s)return null;let o=null;for(const r of s)if(null===o||r.open.length>o.open.length){let e=!0;for(const s of i){if(t.getValueInRange(new Js.Q(s.lineNumber,s.column-r.open.length+1,s.lineNumber,s.column))+n!==r.open){e=!1;break}}e&&(o=r)}return o}static _isBeforeClosingBrace(e,t){const i=t.charAt(0),n=e.autoClosingPairs.autoClosingPairsOpenByStart.get(i)||[],s=e.autoClosingPairs.autoClosingPairsCloseByStart.get(i)||[],o=n.some((e=>t.startsWith(e.open))),r=s.some((e=>t.startsWith(e.close)));return!o&&r}}class rr{static getEdits(e,t,i,n,s){if(!s&&this._isSurroundSelectionType(e,t,i,n))return this._runSurroundSelectionType(e,i,n)}static _runSurroundSelectionType(e,t,i){const n=[];for(let s=0,o=t.length;s=4){const s=function(e,t,i,n,s){if(e<4)return null;const o=t.getLanguageIdAtPosition(i.startLineNumber,i.startColumn),r=s.getLanguageConfiguration(o).indentRulesSupport;if(!r)return null;t.tokenization.forceTokenization(i.startLineNumber);const a=new Vo(t,s).getProcessedTokenContextAroundRange(i),l=a.afterRangeProcessedTokens,h=a.beforeRangeProcessedTokens,d=Ri.UU(h.getLineContent()),c=function(e,t,i){return{tokenization:{getLineTokens:n=>n===t?i:e.tokenization.getLineTokens(n),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i)},getLineContent:n=>n===t?i.getLineContent():e.getLineContent(n)}}(t,i.startLineNumber,h),u=Uo(t,i.getStartPosition()),g=t.getLineContent(i.startLineNumber),p=Ri.UU(g),m=Jo(e,c,i.startLineNumber+1,void 0,s);if(!m){const e=u?p:d;return{beforeEnter:e,afterEnter:e}}let f=u?p:m.indentation;return m.action===Fo.l.Indent&&(f=n.shiftIndent(f)),r.shouldDecrease(l.getLineContent())&&(f=n.unshiftIndent(f)),{beforeEnter:u?p:d,afterEnter:f}}(e.autoIndent,t,n,{unshiftIndent:t=>kr(e,t),shiftIndent:t=>Sr(e,t),normalizeIndentation:t=>e.normalizeIndentation(t)},e.languageConfigurationService);if(s){let o=e.visibleColumnFromColumn(t,n.getEndPosition());const r=n.endColumn,a=t.getLineContent(n.endLineNumber),l=Ri.HG(a);if(n=l>=0?n.setEndPosition(n.endLineNumber,Math.max(n.endColumn,l+1)):n.setEndPosition(n.endLineNumber,t.getLineMaxColumn(n.endLineNumber)),i)return new ko(n,"\n"+e.normalizeIndentation(s.afterEnter),!0);{let t=0;return r<=l+1&&(e.insertSpaces||(o=Math.ceil(o/e.indentSize)),t=Math.min(o+1-e.normalizeIndentation(s.afterEnter).length-1,0)),new Lo(n,"\n"+e.normalizeIndentation(s.afterEnter),0,t,!0)}}}return yr(n,"\n"+e.normalizeIndentation(r),i)}static lineInsertBefore(e,t,i){if(null===t||null===i)return[];const n=[];for(let s=0,o=i.length;sthis._compositionType(i,e,s,o,r,a)));return new bo(4,l,{shouldPushStackElementBefore:vr(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,n,s,o){if(!t.isEmpty())return null;const r=t.getPosition(),a=Math.max(1,r.column-n),l=Math.min(e.getLineMaxColumn(r.lineNumber),r.column+s),h=new Js.Q(r.lineNumber,a,r.lineNumber,l);return e.getValueInRange(h)===i&&0===o?null:new Lo(h,i,0,o)}}class ur{static getEdits(e,t,i){const n=[];for(let o=0,r=t.length;o1){let n;for(n=i-1;n>=1;n--){const e=t.getLineContent(n);if(Ri.lT(e)>=0)break}if(n<1)return null;const o=t.getLineMaxColumn(n),r=Ko(e.autoIndent,t,new Js.Q(n,o,n,o),e.languageConfigurationService);r&&(s=r.indentation+r.appendText)}return n&&(n===Fo.l.Indent&&(s=Sr(e,s)),n===Fo.l.Outdent&&(s=kr(e,s)),s=e.normalizeIndentation(s)),s||null}static _replaceJumpToNextIndent(e,t,i,n){let s="";const o=i.getStartPosition();if(e.insertSpaces){const i=e.visibleColumnFromColumn(t,o),n=e.indentSize,r=n-i%n;for(let e=0;e2?l.charCodeAt(a.column-2):0)&&h)return!1;if("auto"===e.autoClosingOvertype){let e=!1;for(let t=0,i=n.length;t{const i=e.get(Gn).getFocusedCodeEditor();return!(!i||!i.hasTextFocus())&&this._runEditorCommand(e,i,t)})),e.addImplementation(1e3,"generic-dom-input-textarea",((e,t)=>{const i=yt();return!!(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)&&(this.runDOMCommand(i),!0)})),e.addImplementation(0,"generic-dom",((e,t)=>{const i=e.get(Gn).getActiveCodeEditor();return!!i&&(i.focus(),this._runEditorCommand(e,i,t))}))}_runEditorCommand(e,t,i){const n=this.runEditorCommand(e,t,i);return n||!0}}!function(e){class t extends Nr{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){if(!t.position)return;e.model.pushStackElement();e.setCursorStates(t.source,3,[Oo.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&2!==t.revealType&&e.revealAllCursors(t.source,!0,!0)}}e.MoveTo=Fs(new t({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=Fs(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class i extends Nr{runCoreEditorCommand(e,t){e.model.pushStackElement();const i=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);null!==i&&(e.setCursorStates(t.source,3,i.viewStates.map((e=>mo.fromViewState(e)))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:i.fromLineNumber,fromViewVisualColumn:i.fromVisualColumn,toViewLineNumber:i.toLineNumber,toViewVisualColumn:i.toVisualColumn}),i.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source))}}e.ColumnSelect=Fs(new class extends i{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(e,t,i,n){if(void 0===n.position||void 0===n.viewPosition||void 0===n.mouseColumn)return null;const s=e.model.validatePosition(n.position),o=e.coordinatesConverter.validateViewPosition(new Qn.y(n.viewPosition.lineNumber,n.viewPosition.column),s),r=n.doColumnSelect?i.fromViewLineNumber:o.lineNumber,a=n.doColumnSelect?i.fromViewVisualColumn:n.mouseColumn-1;return wo.columnSelect(e.cursorConfig,e,r,a,o.lineNumber,n.mouseColumn-1)}}),e.CursorColumnSelectLeft=Fs(new class extends i{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,i,n){return wo.columnSelectLeft(e.cursorConfig,e,i)}}),e.CursorColumnSelectRight=Fs(new class extends i{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,i,n){return wo.columnSelectRight(e.cursorConfig,e,i)}});class n extends i{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,i,n){return wo.columnSelectUp(e.cursorConfig,e,i,this._isPaged)}}e.CursorColumnSelectUp=Fs(new n({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=Fs(new n({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:3595,linux:{primary:0}}}));class s extends i{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,i,n){return wo.columnSelectDown(e.cursorConfig,e,i,this._isPaged)}}e.CursorColumnSelectDown=Fs(new s({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=Fs(new s({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:3596,linux:{primary:0}}}));class o extends Nr{constructor(){super({id:"cursorMove",precondition:void 0,metadata:Mo.metadata})}runCoreEditorCommand(e,t){const i=Mo.parse(t);i&&this._runCursorMove(e,t.source,i)}_runCursorMove(e,t,i){e.model.pushStackElement(),e.setCursorStates(t,3,o._move(e,e.getCursorStates(),i)),e.revealAllCursors(t,!0)}static _move(e,t,i){const n=i.select,s=i.value;switch(i.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return Oo.simpleMove(e,t,i.direction,n,s,i.unit);case 11:case 13:case 12:case 14:return Oo.viewportMove(e,t,i.direction,n,s);default:return null}}}e.CursorMoveImpl=o,e.CursorMove=Fs(new o);class r extends Nr{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let i=this._staticArgs;-1===this._staticArgs.value&&(i={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,Oo.simpleMove(e,e.getCursorStates(),i.direction,i.select,i.value,i.unit)),e.revealAllCursors(t.source,!0)}}e.CursorLeft=Fs(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=Fs(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:1039}})),e.CursorRight=Fs(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=Fs(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:1041}})),e.CursorUp=Fs(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=Fs(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=Fs(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:11}})),e.CursorPageUpSelect=Fs(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:1035}})),e.CursorDown=Fs(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=Fs(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=Fs(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:12}})),e.CursorPageDownSelect=Fs(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:1036}})),e.CreateCursor=Fs(new class extends Nr{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let i;i=t.wholeLine?Oo.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):Oo.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);const n=e.getCursorStates();if(n.length>1){const s=i.modelState?i.modelState.position:null,o=i.viewState?i.viewState.position:null;for(let i=0,r=n.length;io&&(s=o);const r=new Js.Q(s,1,s,e.model.getLineMaxColumn(s));let a=0;if(i.at)switch(i.at){case Er.RawAtArgument.Top:a=3;break;case Er.RawAtArgument.Center:a=1;break;case Er.RawAtArgument.Bottom:a=4}const l=e.coordinatesConverter.convertModelRangeToViewRange(r);e.revealRange(t.source,!1,l,a,0)}}),e.SelectAll=new class extends Tr{constructor(){super(js)}runDOMCommand(e){h&&(e.focus(),e.select()),e.ownerDocument.execCommand("selectAll")}runEditorCommand(e,t,i){const n=t._getViewModel();n&&this.runCoreEditorCommand(n,i)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates("keyboard",3,[Oo.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=Fs(new class extends Nr{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(e,t){t.selection&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[mo.fromModelSelection(t.selection)]))}})}(Mr||(Mr={}));const Rr=hs.M$.and($s.textInputFocus,$s.columnSelection);function Ar(e,t){us.registerKeybindingRule({id:e,primary:t,when:Rr,weight:1})}function Pr(e){return e.register(),e}var Or,Fr;Ar(Mr.CursorColumnSelectLeft.id,1039),Ar(Mr.CursorColumnSelectRight.id,1041),Ar(Mr.CursorColumnSelectUp.id,1040),Ar(Mr.CursorColumnSelectPageUp.id,1035),Ar(Mr.CursorColumnSelectDown.id,1042),Ar(Mr.CursorColumnSelectPageDown.id,1036),function(e){class t extends Ts{runEditorCommand(e,t,i){const n=t._getViewModel();n&&this.runCoreEditingCommand(t,n,i||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=Fs(new class extends t{constructor(){super({id:"lineBreakInsert",precondition:$s.writable,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,hr.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection))))}}),e.Outdent=Fs(new class extends t{constructor(){super({id:"outdent",precondition:$s.writable,kbOpts:{weight:0,kbExpr:hs.M$.and($s.editorTextFocus,$s.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,xr.outdent(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.Tab=Fs(new class extends t{constructor(){super({id:"tab",precondition:$s.writable,kbOpts:{weight:0,kbExpr:hs.M$.and($s.editorTextFocus,$s.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,xr.tab(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.DeleteLeft=Fs(new class extends t{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,i){const[n,s]=Eo.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)),t.getCursorAutoClosedCharacters());n&&e.pushUndoStop(),e.executeCommands(this.id,s),t.setPrevEditOperationType(2)}}),e.DeleteRight=Fs(new class extends t{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:$s.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,i){const[n,s]=Eo.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)));n&&e.pushUndoStop(),e.executeCommands(this.id,s),t.setPrevEditOperationType(3)}}),e.Undo=new class extends Tr{constructor(){super(Us)}runDOMCommand(e){e.ownerDocument.execCommand("undo")}runEditorCommand(e,t,i){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().undo()}},e.Redo=new class extends Tr{constructor(){super(Ks)}runDOMCommand(e){e.ownerDocument.execCommand("redo")}runEditorCommand(e,t,i){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().redo()}}}(Or||(Or={}));class Wr extends Is{constructor(e,t,i){super({id:e,precondition:void 0,metadata:i}),this._handlerId=t}runCommand(e,t){const i=e.get(Gn).getFocusedCodeEditor();i&&i.trigger("keyboard",this._handlerId,t)}}function Br(e,t){Pr(new Wr("default:"+e,e)),Pr(new Wr(e,e,t))}Br("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),Br("replacePreviousChar"),Br("compositionType"),Br("compositionStart"),Br("compositionEnd"),Br("paste"),Br("cut");class Hr{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,s=this._selection.endColumn;if((!this._isMovingLeft||1!==n)&&(this._isMovingLeft||s!==e.getLineMaxColumn(i)))if(this._isMovingLeft){const o=new Js.Q(i,n-1,i,n),r=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new Js.Q(i,s,i,s),r)}else{const o=new Js.Q(i,s,i,s+1),r=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new Js.Q(i,n,i,n),r)}}computeCursorState(e,t){return this._isMovingLeft?new qs.L(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new qs.L(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class Vr extends Rs{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new Hr(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}Ws(class extends Vr{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:$n.kg("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:$s.writable})}}),Ws(class extends Vr{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:$n.kg("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:$s.writable})}});Ws(class extends Rs{constructor(){super({id:"editor.action.transposeLetters",label:$n.kg("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:$s.writable,kbOpts:{kbExpr:$s.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const o of s){if(!o.isEmpty())continue;const e=o.startLineNumber,t=o.startColumn,s=i.getLineMaxColumn(e);if(1===e&&(1===t||2===t&&2===s))continue;const r=t===s?o.getPosition():Io.rightPosition(i,o.getPosition().lineNumber,o.getPosition().column),a=Io.leftPosition(i,r),l=Io.leftPosition(i,a),h=i.getValueInRange(Js.Q.fromPositions(l,a)),d=i.getValueInRange(Js.Q.fromPositions(a,r)),c=Js.Q.fromPositions(l,r);n.push(new yo(c,d+h))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}});class zr{get event(){return this.emitter.event}constructor(e,t,i){const n=e=>this.emitter.fire(e);this.emitter=new P.vl({onWillAddFirstListener:()=>e.addEventListener(t,n,i),onDidRemoveLastListener:()=>e.removeEventListener(t,n,i)})}dispose(){this.emitter.dispose()}}!function(e){const t={total:0,min:Number.MAX_VALUE,max:0},i={...t},n={...t},s={...t};let o=0;const r={keydown:0,input:0,render:0};function a(){1===r.keydown&&(performance.mark("keydown/end"),r.keydown=2)}function l(){performance.mark("input/start"),r.input=1,c()}function h(){1===r.input&&(performance.mark("input/end"),r.input=2)}function d(){1===r.render&&(performance.mark("render/end"),r.render=2)}function c(){setTimeout(u)}function u(){2===r.keydown&&2===r.input&&2===r.render&&(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"),g("keydown",t),g("input",i),g("render",n),g("inputlatency",s),o++,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"),r.keydown=0,r.input=0,r.render=0)}function g(e,t){const i=performance.getEntriesByName(e)[0].duration;t.total+=i,t.min=Math.min(t.min,i),t.max=Math.max(t.max,i)}function p(e){return{average:e.total/o,max:e.max,min:e.min}}function m(e){e.total=0,e.min=Number.MAX_VALUE,e.max=0}e.onKeyDown=function(){u(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),r.keydown=1,queueMicrotask(a)},e.onBeforeInput=l,e.onInput=function(){0===r.input&&l(),queueMicrotask(h)},e.onKeyUp=function(){u()},e.onSelectionChange=function(){u()},e.onRenderStart=function(){2===r.keydown&&2===r.input&&0===r.render&&(performance.mark("render/start"),r.render=1,queueMicrotask(d),c())},e.getAndClearMeasurements=function(){if(0===o)return;const e={keydown:p(t),input:p(i),render:p(n),total:p(s),sampleCount:o};return m(t),m(i),m(n),m(s),o=0,e}}(Fr||(Fr={}));var Ur=i(53720);class Kr{static{this.EMPTY=new Kr("",0,0,null,void 0)}constructor(e,t,i,n,s){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=n,this.newlineCountBeforeSelection=s}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const i=e.getValue(),n=e.getSelectionStart(),s=e.getSelectionEnd();let o;if(t){i.substring(0,n)===t.value.substring(0,t.selectionStart)&&(o=t.newlineCountBeforeSelection)}return new Kr(i,n,s,null,o)}collapseSelection(){return this.selectionStart===this.value.length?this:new Kr(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){if(e<=this.selectionStart){const t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,t,-1)}if(e>=this.selectionEnd){const t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,t,1)}const t=this.value.substring(this.selectionStart,e);if(-1===t.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,t,1);const i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,i,-1)}_finishDeduceEditorPosition(e,t,i){let n=0,s=-1;for(;-1!==(s=t.indexOf("\n",s+1));)n++;return[e,i*t.length,n]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const n=Math.min(Ri.Qp(e.value,t.value),e.selectionStart,t.selectionStart),s=Math.min(Ri.Vi(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd),o=(e.value.substring(n,e.value.length-s),t.value.substring(n,t.value.length-s)),r=e.selectionStart-n,a=e.selectionEnd-n,l=t.selectionStart-n,h=t.selectionEnd-n;if(l===h){const t=e.selectionStart-n;return{text:o,replacePrevCharCnt:t,replaceNextCharCnt:0,positionDelta:0}}return{text:o,replacePrevCharCnt:a-r,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(Ri.Qp(e.value,t.value),e.selectionEnd),n=Math.min(Ri.Vi(e.value,t.value),e.value.length-e.selectionEnd),s=e.value.substring(i,e.value.length-n),o=t.value.substring(i,t.value.length-n),r=(e.selectionStart,e.selectionEnd-i),a=(t.selectionStart,t.selectionEnd-i);return{text:o,replacePrevCharCnt:r,replaceNextCharCnt:s.length-r,positionDelta:a-o.length}}}class jr{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const i=e*t,n=i+1,s=i+t;return new Js.Q(n,1,s+1,1)}static fromEditorSelection(e,t,i,n){const s=500,o=jr._getPageOfLine(t.startLineNumber,i),r=jr._getRangeForPage(o,i),a=jr._getPageOfLine(t.endLineNumber,i),l=jr._getRangeForPage(a,i);let h=r.intersectRanges(new Js.Q(1,1,t.startLineNumber,t.startColumn));if(n&&e.getValueLengthInRange(h,1)>s){const t=e.modifyPosition(h.getEndPosition(),-500);h=Js.Q.fromPositions(t,h.getEndPosition())}const d=e.getValueInRange(h,1),c=e.getLineCount(),u=e.getLineMaxColumn(c);let g=l.intersectRanges(new Js.Q(t.endLineNumber,t.endColumn,c,u));if(n&&e.getValueLengthInRange(g,1)>s){const t=e.modifyPosition(g.getStartPosition(),s);g=Js.Q.fromPositions(g.getStartPosition(),t)}const p=e.getValueInRange(g,1);let m;if(o===a||o+1===a)m=e.getValueInRange(t,1);else{const i=r.intersectRanges(t),n=l.intersectRanges(t);m=e.getValueInRange(i,1)+String.fromCharCode(8230)+e.getValueInRange(n,1)}return n&&m.length>1e3&&(m=m.substring(0,s)+String.fromCharCode(8230)+m.substring(m.length-s,m.length)),new Kr(d+m+p,d.length,d.length+m.length,t,h.endLineNumber-h.startLineNumber)}}const $r=(0,qn.u1)("accessibilityService"),qr=new hs.N1("accessibilityModeEnabled",!1);var Gr,Qr=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Yr=function(e,t){return function(i,n){t(i,n,e)}};!function(e){e.Tap="-monaco-textarea-synthetic-tap"}(Gr||(Gr={}));const Zr={forceCopyWithSyntaxHighlighting:!1};class Xr{static{this.INSTANCE=new Xr}constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}}class Jr{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){const t={text:e=e||"",replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let ea=class extends Ae.jG{get textAreaState(){return this._textAreaState}constructor(e,t,i,n,s,o){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=n,this._accessibilityService=s,this._logService=o,this._onFocus=this._register(new P.vl),this.onFocus=this._onFocus.event,this._onBlur=this._register(new P.vl),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new P.vl),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new P.vl),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new P.vl),this.onCut=this._onCut.event,this._onPaste=this._register(new P.vl),this.onPaste=this._onPaste.event,this._onType=this._register(new P.vl),this.onType=this._onType.event,this._onCompositionStart=this._register(new P.vl),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new P.vl),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new P.vl),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new P.vl),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new Ae.HE),this._asyncTriggerCut=this._register(new A.uC((()=>this._onCut.fire()),0)),this._textAreaState=Kr.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(P.Jh.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new A.uC((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)):this._asyncFocusGainWriteScreenReaderContent.clear()}))),this._hasFocus=!1,this._currentComposition=null;let r=null;this._register(this._textArea.onKeyDown((e=>{const t=new N(e);(114===t.keyCode||this._currentComposition&&1===t.keyCode)&&t.stopPropagation(),t.equals(9)&&t.preventDefault(),r=t,this._onKeyDown.fire(t)}))),this._register(this._textArea.onKeyUp((e=>{const t=new N(e);this._onKeyUp.fire(t)}))),this._register(this._textArea.onCompositionStart((e=>{const t=new Jr;if(this._currentComposition)this._currentComposition=t;else{if(this._currentComposition=t,2===this._OS&&r&&r.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===e.data&&("ArrowRight"===r.code||"ArrowLeft"===r.code))return t.handleCompositionUpdate("x"),void this._onCompositionStart.fire({data:e.data});this._browser.isAndroid,this._onCompositionStart.fire({data:e.data})}}))),this._register(this._textArea.onCompositionUpdate((e=>{const t=this._currentComposition;if(!t)return;if(this._browser.isAndroid){const t=Kr.readFromTextArea(this._textArea,this._textAreaState),i=Kr.deduceAndroidCompositionInput(this._textAreaState,t);return this._textAreaState=t,this._onType.fire(i),void this._onCompositionUpdate.fire(e)}const i=t.handleCompositionUpdate(e.data);this._textAreaState=Kr.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(i),this._onCompositionUpdate.fire(e)}))),this._register(this._textArea.onCompositionEnd((e=>{const t=this._currentComposition;if(!t)return;if(this._currentComposition=null,this._browser.isAndroid){const e=Kr.readFromTextArea(this._textArea,this._textAreaState),t=Kr.deduceAndroidCompositionInput(this._textAreaState,e);return this._textAreaState=e,this._onType.fire(t),void this._onCompositionEnd.fire()}const i=t.handleCompositionUpdate(e.data);this._textAreaState=Kr.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(i),this._onCompositionEnd.fire()}))),this._register(this._textArea.onInput((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const t=Kr.readFromTextArea(this._textArea,this._textAreaState),i=Kr.deduceInput(this._textAreaState,t,2===this._OS);(0!==i.replacePrevCharCnt||1!==i.text.length||!Ri.pc(i.text.charCodeAt(0))&&127!==i.text.charCodeAt(0))&&(this._textAreaState=t,""===i.text&&0===i.replacePrevCharCnt&&0===i.replaceNextCharCnt&&0===i.positionDelta||this._onType.fire(i))}))),this._register(this._textArea.onCut((e=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(e),this._asyncTriggerCut.schedule()}))),this._register(this._textArea.onCopy((e=>{this._ensureClipboardGetsEditorSelection(e)}))),this._register(this._textArea.onPaste((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),e.preventDefault(),!e.clipboardData)return;let[t,i]=ta.getTextData(e.clipboardData);t&&(i=i||Xr.INSTANCE.get(t),this._onPaste.fire({text:t,metadata:i}))}))),this._register(this._textArea.onFocus((()=>{const e=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!e&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new A.uC((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())}))),this._register(this._textArea.onBlur((()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)}))),this._register(this._textArea.onSyntheticTap((()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())})))}_installSelectionChangeListener(){let e=0;return Ye(this._textArea.ownerDocument,"selectionchange",(t=>{if(Fr.onSelectionChange(),!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;const i=Date.now(),n=i-e;if(e=i,n<5)return;const s=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),s<100)return;if(!this._textAreaState.selection)return;const o=this._textArea.getValue();if(this._textAreaState.value!==o)return;const r=this._textArea.getSelectionStart(),a=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===r&&this._textAreaState.selectionEnd===a)return;const l=this._textAreaState.deduceEditorPosition(r),h=this._host.deduceModelPosition(l[0],l[1],l[2]),d=this._textAreaState.deduceEditorPosition(a),c=this._host.deduceModelPosition(d[0],d[1],d[2]),u=new qs.L(h.lineNumber,h.column,c.lineNumber,c.column);this._onSelectionChangeRequest.fire(u)}))}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&"render"===e||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${e})`),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),i={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};Xr.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,"\n"):t.text,i),e.preventDefault(),e.clipboardData&&ta.setTextData(e.clipboardData,t.text,t.html,i)}};ea=Qr([Yr(4,$r),Yr(5,Ns.rr)],ea);const ta={getTextData(e){const t=e.getData(Ur.K.text);let i=null;const n=e.getData("vscode-editor-data");if("string"==typeof n)try{i=JSON.parse(n),1!==i.version&&(i=null)}catch(s){}if(0===t.length&&null===i&&e.files.length>0){return[Array.prototype.slice.call(e.files,0).map((e=>e.name)).join("\n"),null]}return[t,i]},setTextData(e,t,i,n){e.setData(Ur.K.text,t),"string"==typeof i&&e.setData("text/html",i),e.setData("vscode-editor-data",JSON.stringify(n))}};class ia extends Ae.jG{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new zr(this._actual,"keydown")).event,this.onKeyUp=this._register(new zr(this._actual,"keyup")).event,this.onCompositionStart=this._register(new zr(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new zr(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new zr(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new zr(this._actual,"beforeinput")).event,this.onInput=this._register(new zr(this._actual,"input")).event,this.onCut=this._register(new zr(this._actual,"cut")).event,this.onCopy=this._register(new zr(this._actual,"copy")).event,this.onPaste=this._register(new zr(this._actual,"paste")).event,this.onFocus=this._register(new zr(this._actual,"focus")).event,this.onBlur=this._register(new zr(this._actual,"blur")).event,this._onSyntheticTap=this._register(new P.vl),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown((()=>Fr.onKeyDown()))),this._register(this.onBeforeInput((()=>Fr.onBeforeInput()))),this._register(this.onInput((()=>Fr.onInput()))),this._register(this.onKeyUp((()=>Fr.onKeyUp()))),this._register(Ye(this._actual,Gr.Tap,(()=>this._onSyntheticTap.fire())))}hasFocus(){const e=wt(this._actual);return e?e.activeElement===this._actual:!!this._actual.isConnected&&yt()===this._actual}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return"backward"===this._actual.selectionDirection?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return"backward"===this._actual.selectionDirection?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,i){const n=this._actual;let s=null;const o=wt(n);s=o?o.activeElement:yt();const r=We(s),a=s===n,l=n.selectionStart,d=n.selectionEnd;if(a&&l===t&&d===i)h&&r.parent!==r&&n.focus();else{if(a)return this.setIgnoreSelectionChangeTime("setSelectionRange"),n.setSelectionRange(t,i),void(h&&r.parent!==r&&n.focus());try{const e=function(e){const t=[];for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)t[i]=e.scrollTop,e=e.parentNode;return t}(n);this.setIgnoreSelectionChangeTime("setSelectionRange"),n.focus(),n.setSelectionRange(t,i),function(e,t){for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)e.scrollTop!==t[i]&&(e.scrollTop=t[i]),e=e.parentNode}(n,e)}catch(c){}}}}var na=i(13338),sa=i(78903);const oa=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let e;e="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(e){for(let t=0;te,asFile:()=>{},value:"string"==typeof e?e:void 0}}class aa{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return os.f.some(this,(([e,t])=>t.asFile()))&&t.push("files"),da(la(e),t)}get(e){return this._entries.get(this.toKey(e))?.[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return la(e)}}function la(e){return e.toLowerCase()}function ha(e,t){return da(la(e),t.map(la))}function da(e,t){if("*/*"===e)return t.length>0;if(t.includes(e))return!0;const i=e.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!i)return!1;const[n,s,o]=i;return"*"===o&&t.some((e=>e.startsWith(s+"/")))}const ca=Object.freeze({create:e=>(0,na.dM)(e.map((e=>e.toString()))).join("\r\n"),split:e=>e.split("\r\n"),parse:e=>ca.split(e).filter((e=>!e.startsWith("#")))});class ua{static{this.sep="."}static{this.None=new ua("@@none@@")}static{this.Empty=new ua("")}constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||""===this.value||e.value.startsWith(this.value+ua.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new ua((this.value?[this.value,...e]:e).join(ua.sep))}}const ga={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:Ur.K.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"},pa="CodeEditors",ma="CodeFiles";ds.O.add("workbench.contributions.dragAndDrop",new class{});class fa{static{this.INSTANCE=new fa}constructor(){}static getInstance(){return fa.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}}function _a(e){const t=new aa;for(const i of e.items){const e=i.type;if("string"===i.kind){const n=new Promise((e=>i.getAsString(e)));t.append(e,ra(n))}else if("file"===i.kind){const n=i.getAsFile();n&&t.append(e,va(n))}}return t}function va(e){const t=e.path?Hn.r.parse(e.path):void 0;return function(e,t,i){const n={id:oa(),name:e,uri:t,data:i};return{asString:async()=>"",asFile:()=>n,value:void 0}}(e.name,t,(async()=>new Uint8Array(await e.arrayBuffer())))}const ba=Object.freeze([pa,ma,ga.RESOURCES,ga.INTERNAL_URI_LIST]);function Ca(e,t=!1){const i=_a(e),n=i.get(ga.INTERNAL_URI_LIST);if(n)i.replace(Ur.K.uriList,n);else if(t||!i.has(Ur.K.uriList)){const t=[];for(const i of e.items){const e=i.getAsFile();if(e){const i=e.path;try{i?t.push(Hn.r.file(i).toString()):t.push(Hn.r.parse(e.name,!0).toString())}catch{}}}t.length&&i.replace(Ur.K.uriList,ra(ca.create(t)))}for(const s of ba)i.delete(s);return i}const wa=(0,qn.u1)("IWorkspaceEditService");class ya{constructor(e){this.metadata=e}static convert(e){return e.edits.map((e=>{if(Sa.is(e))return Sa.lift(e);if(ka.is(e))return ka.lift(e);throw new Error("Unsupported edit")}))}}class Sa extends ya{static is(e){return e instanceof Sa||(0,rs.Gv)(e)&&Hn.r.isUri(e.resource)&&(0,rs.Gv)(e.textEdit)}static lift(e){return e instanceof Sa?e:new Sa(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,i=void 0,n){super(n),this.resource=e,this.textEdit=t,this.versionId=i}}class ka extends ya{static is(e){return e instanceof ka||(0,rs.Gv)(e)&&(Boolean(e.newResource)||Boolean(e.oldResource))}static lift(e){return e instanceof ka?e:new ka(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,i={},n){super(n),this.oldResource=e,this.newResource=t,this.options=i}}var La=i(29694),xa=i(52230),Da=i(18019);class Na{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const e=this._value.charCodeAt(t);if(!(47===e||this._splitOnBackslash&&92===e))break}return this.next()}hasNext(){return this._to!1,t=()=>!1){return new Ra(new Ma(e,t))}static forStrings(){return new Ra(new Na)}static forConfigKeys(){return new Ra(new Ia)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const i=this._iter.reset(e);let n;this._root||(this._root=new Ta,this._root.segment=i.value());const s=[];for(n=this._root;;){const e=i.cmp(n.segment);if(e>0)n.left||(n.left=new Ta,n.left.segment=i.value()),s.push([-1,n]),n=n.left;else if(e<0)n.right||(n.right=new Ta,n.right.segment=i.value()),s.push([1,n]),n=n.right;else{if(!i.hasNext())break;i.next(),n.mid||(n.mid=new Ta,n.mid.segment=i.value()),s.push([0,n]),n=n.mid}}const o=n.value;n.value=t,n.key=e;for(let r=s.length-1;r>=0;r--){const e=s[r][1];e.updateHeight();const t=e.balanceFactor();if(t<-1||t>1){const t=s[r][0],i=s[r+1][0];if(1===t&&1===i)s[r][1]=e.rotateLeft();else if(-1===t&&-1===i)s[r][1]=e.rotateRight();else if(1===t&&-1===i)e.right=s[r+1][1]=s[r+1][1].rotateRight(),s[r][1]=e.rotateLeft();else{if(-1!==t||1!==i)throw new Error;e.left=s[r+1][1]=s[r+1][1].rotateLeft(),s[r][1]=e.rotateRight()}if(r>0)switch(s[r-1][0]){case-1:s[r-1][1].left=s[r][1];break;case 1:s[r-1][1].right=s[r][1];break;case 0:s[r-1][1].mid=s[r][1]}else this._root=s[0][1]}}return o}get(e){return this._getNode(e)?.value}_getNode(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const e=t.cmp(i.segment);if(e>0)i=i.left;else if(e<0)i=i.right;else{if(!t.hasNext())break;t.next(),i=i.mid}}return i}has(e){const t=this._getNode(e);return!(void 0===t?.value&&void 0===t?.mid)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){const i=this._iter.reset(e),n=[];let s=this._root;for(;s;){const e=i.cmp(s.segment);if(e>0)n.push([-1,s]),s=s.left;else if(e<0)n.push([1,s]),s=s.right;else{if(!i.hasNext())break;i.next(),n.push([0,s]),s=s.mid}}if(s){if(t?(s.left=void 0,s.mid=void 0,s.right=void 0,s.height=1):(s.key=void 0,s.value=void 0),!s.mid&&!s.value)if(s.left&&s.right){const e=this._min(s.right);if(e.key){const{key:t,value:i,segment:n}=e;this._delete(e.key,!1),s.key=t,s.value=i,s.segment=n}}else{const e=s.left??s.right;if(n.length>0){const[t,i]=n[n.length-1];switch(t){case-1:i.left=e;break;case 0:i.mid=e;break;case 1:i.right=e}}else this._root=e}for(let e=n.length-1;e>=0;e--){const t=n[e][1];t.updateHeight();const i=t.balanceFactor();if(i>1?(t.right.balanceFactor()>=0||(t.right=t.right.rotateRight()),n[e][1]=t.rotateLeft()):i<-1&&(t.left.balanceFactor()<=0||(t.left=t.left.rotateLeft()),n[e][1]=t.rotateRight()),e>0)switch(n[e-1][0]){case-1:n[e-1][1].left=n[e][1];break;case 1:n[e-1][1].right=n[e][1];break;case 0:n[e-1][1].mid=n[e][1]}else this._root=n[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let i,n=this._root;for(;n;){const e=t.cmp(n.segment);if(e>0)n=n.left;else if(e<0)n=n.right;else{if(!t.hasNext())break;t.next(),i=n.value||i,n=n.mid}}return n&&n.value||i}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const i=this._iter.reset(e);let n=this._root;for(;n;){const e=i.cmp(n.segment);if(e>0)n=n.left;else if(e<0)n=n.right;else{if(!i.hasNext())return n.mid?this._entries(n.mid):t?n.value:void 0;i.next(),n=n.mid}}}forEach(e){for(const[t,i]of this)e(i,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}}const Aa=(0,qn.u1)("contextService");function Pa(e){const t=e;return"string"==typeof t?.id&&Hn.r.isUri(t.uri)}function Oa(e){const t=e;return"string"==typeof t?.id&&!Pa(e)&&!function(e){const t=e;return"string"==typeof t?.id&&Hn.r.isUri(t.configPath)}(e)}const Fa={id:"ext-dev"},Wa={id:"empty-window"};class Ba{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const Ha="code-workspace",Va=((0,$n.kg)("codeWorkspace","Code Workspace"),"4064f6ec-cb38-4ad0-af64-ee6467e63c82");var za=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Ua=function(e,t){return function(i,n){t(i,n,e)}};class Ka{async provideDocumentPasteEdits(e,t,i,n,s){const o=await this.getEdit(i,s);if(o)return{edits:[{insertText:o.insertText,title:o.title,kind:o.kind,handledMimeType:o.handledMimeType,yieldTo:o.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,n){const s=await this.getEdit(i,n);if(s)return{edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}],dispose(){}}}}class ja extends Ka{constructor(){super(...arguments),this.kind=ja.kind,this.dropMimeTypes=[Ur.K.text],this.pasteMimeTypes=[Ur.K.text]}static{this.id="text"}static{this.kind=new ua("text.plain")}async getEdit(e,t){const i=e.get(Ur.K.text);if(!i)return;if(e.has(Ur.K.uriList))return;const n=await i.asString();return{handledMimeType:Ur.K.text,title:(0,$n.kg)("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}}class $a extends Ka{constructor(){super(...arguments),this.kind=new ua("uri.absolute"),this.dropMimeTypes=[Ur.K.uriList],this.pasteMimeTypes=[Ur.K.uriList]}async getEdit(e,t){const i=await Qa(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map((({uri:e,originalText:t})=>e.scheme===Pe.ny.file?e.fsPath:(n++,t))).join(" ");let o;return o=n>0?i.length>1?(0,$n.kg)("defaultDropProvider.uriList.uris","Insert Uris"):(0,$n.kg)("defaultDropProvider.uriList.uri","Insert Uri"):i.length>1?(0,$n.kg)("defaultDropProvider.uriList.paths","Insert Paths"):(0,$n.kg)("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Ur.K.uriList,insertText:s,title:o,kind:this.kind}}}let qa=class extends Ka{constructor(e){super(),this._workspaceContextService=e,this.kind=new ua("uri.relative"),this.dropMimeTypes=[Ur.K.uriList],this.pasteMimeTypes=[Ur.K.uriList]}async getEdit(e,t){const i=await Qa(e);if(!i.length||t.isCancellationRequested)return;const n=(0,na.Yc)(i.map((({uri:e})=>{const t=this._workspaceContextService.getWorkspaceFolder(e);return t?(0,Bn.iZ)(t.uri,e):void 0})));return n.length?{handledMimeType:Ur.K.uriList,insertText:n.join(" "),title:i.length>1?(0,$n.kg)("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):(0,$n.kg)("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}:void 0}};qa=za([Ua(0,Aa)],qa);class Ga{constructor(){this.kind=new ua("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Ur.K.text}]}async provideDocumentPasteEdits(e,t,i,n,s){if(n.triggerKind!==La.FX.PasteAs&&!n.only?.contains(this.kind))return;const o=i.get("text/html"),r=await(o?.asString());return r&&!s.isCancellationRequested?{dispose(){},edits:[{insertText:r,yieldTo:this._yieldTo,title:(0,$n.kg)("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}:void 0}}async function Qa(e){const t=e.get(Ur.K.uriList);if(!t)return[];const i=await t.asString(),n=[];for(const s of ca.parse(i))try{n.push({uri:Hn.r.parse(s),originalText:s})}catch{}return n}let Ya=class extends Ae.jG{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new ja)),this._register(e.documentDropEditProvider.register("*",new $a)),this._register(e.documentDropEditProvider.register("*",new qa(t)))}};Ya=za([Ua(0,xa.ILanguageFeaturesService),Ua(1,Aa)],Ya);let Za=class extends Ae.jG{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new ja)),this._register(e.documentPasteEditProvider.register("*",new $a)),this._register(e.documentPasteEditProvider.register("*",new qa(t))),this._register(e.documentPasteEditProvider.register("*",new Ga))}};Za=za([Ua(0,xa.ILanguageFeaturesService),Ua(1,Aa)],Za);class Xa{constructor(){this.value="",this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return 95===e||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t,i=0,n=this.value.charCodeAt(e);if(t=Xa._table[n],"number"==typeof t)return this.pos+=1,{type:t,pos:e,len:1};if(Xa.isDigitCharacter(n)){t=8;do{i+=1,n=this.value.charCodeAt(e+i)}while(Xa.isDigitCharacter(n));return this.pos+=i,{type:t,pos:e,len:i}}if(Xa.isVariableCharacter(n)){t=9;do{n=this.value.charCodeAt(e+ ++i)}while(Xa.isVariableCharacter(n)||Xa.isDigitCharacter(n));return this.pos+=i,{type:t,pos:e,len:i}}t=10;do{i+=1,n=this.value.charCodeAt(e+i)}while(!isNaN(n)&&void 0===Xa._table[n]&&!Xa.isDigitCharacter(n)&&!Xa.isVariableCharacter(n));return this.pos+=i,{type:t,pos:e,len:i}}}class Ja{constructor(){this._children=[]}appendChild(e){return e instanceof el&&this._children[this._children.length-1]instanceof el?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,n=i.children.indexOf(e),s=i.children.slice(0);s.splice(n,1,...t),i._children=s,function e(t,i){for(const n of t)n.parent=i,e(n.children,n)}(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof ll)return e;e=e.parent}}toString(){return this.children.reduce(((e,t)=>e+t.toString()),"")}len(){return 0}}class el extends Ja{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new el(this.value)}}class tl extends Ja{}class il extends tl{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof nl?this._children[0]:void 0}clone(){const e=new il(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}class nl extends Ja{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof el&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new nl;return this.options.forEach(e.appendChild,e),e}}class sl extends Ja{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,n=e.replace(this.regexp,(function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))}));return!i&&this._children.some((e=>e instanceof ol&&Boolean(e.elseValue)))&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof ol){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new sl;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map((e=>e.clone())),e}}class ol extends Ja{constructor(e,t,i,n){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=n}resolve(e){return"upcase"===this.shorthandName?e?e.toLocaleUpperCase():"":"downcase"===this.shorthandName?e?e.toLocaleLowerCase():"":"capitalize"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):"":"pascalcase"===this.shorthandName?e?this._toPascalCase(e):"":"camelcase"===this.shorthandName?e?this._toCamelCase(e):"":Boolean(e)&&"string"==typeof this.ifValue?this.ifValue:Boolean(e)||"string"!=typeof this.elseValue?e||"":this.elseValue}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((e=>e.charAt(0).toUpperCase()+e.substr(1))).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(((e,t)=>0===t?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1))).join(""):e}clone(){return new ol(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class rl extends tl{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),void 0!==t&&(this._children=[new el(t)],!0)}clone(){const e=new rl(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}function al(e,t){const i=[...e];for(;i.length>0;){const e=i.shift();if(!t(e))break;i.unshift(...e.children)}}class ll extends Ja{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk((function(i){return i instanceof il&&(e.push(i),t=!t||t.indexn===e?(i=!0,!1):(t+=n.len(),!0))),i?t:-1}fullLen(e){let t=0;return al([e],(e=>(t+=e.len(),!0))),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof il&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk((t=>(t instanceof rl&&t.resolve(e)&&(this._placeholders=void 0),!0))),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new ll;return this._children=this.children.map((e=>e.clone())),e}walk(e){al(this.children,e)}}class hl{constructor(){this._scanner=new Xa,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const n=new ll;return this.parseFragment(e,n),this.ensureFinalTabstop(n,i??!1,t??!1),n}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const n=new Map,s=[];t.walk((e=>(e instanceof il&&(e.isFinalTabstop?n.set(0,void 0):!n.has(e.index)&&e.children.length>0?n.set(e.index,e.children):s.push(e)),!0)));const o=(e,i)=>{const s=n.get(e.index);if(!s)return;const r=new il(e.index);r.transform=e.transform;for(const t of s){const e=t.clone();r.appendChild(e),e instanceof il&&n.has(e.index)&&!i.has(e.index)&&(i.add(e.index),o(e,i),i.delete(e.index))}t.replace(e,[r])},r=new Set;for(const a of s)o(a,r);return t.children.slice(i)}ensureFinalTabstop(e,t,i){if(t||i&&e.placeholders.length>0){e.placeholders.find((e=>0===e.index))||e.appendChild(new il(0))}}_accept(e,t){if(void 0===e||this._token.type===e){const e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(14===this._token.type)return!1;if(5===this._token.type){const e=this._scanner.next();if(0!==e.type&&4!==e.type&&5!==e.type)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return!!(t=this._accept(5,!0))&&(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new el(t)),!0)}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new il(Number(t)):new rl(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const n=new il(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new el("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else{if(!(n.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i);{const t=new nl;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(n.appendChild(t),this._accept(4)))return e.appendChild(n),!0}return this._backTo(i),!1}}}}_parseChoiceElement(e){const t=this._token,i=[];for(;2!==this._token.type&&7!==this._token.type;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;i.push(e)}return 0===i.length?(this._backTo(t),!1):(e.appendChild(new el(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const n=new rl(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i);for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new el("${"+t+":")),n.children.forEach(e.appendChild,e),!0}}_parseTransform(e){const t=new sl;let i="",n="";for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(6,!0)||e,i+=e;else{if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}}for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new el(e));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}try{t.regexp=new RegExp(i,n)}catch(s){return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const n=this._accept(8,!0);if(!n)return this._backTo(t),!1;if(!i)return e.appendChild(new ol(Number(n))),!0;if(this._accept(4))return e.appendChild(new ol(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){const i=this._accept(9,!0);return i&&this._accept(4)?(e.appendChild(new ol(Number(n),i)),!0):(this._backTo(t),!1)}if(this._accept(11)){const t=this._until(4);if(t)return e.appendChild(new ol(Number(n),void 0,t,void 0)),!0}else if(this._accept(12)){const t=this._until(4);if(t)return e.appendChild(new ol(Number(n),void 0,void 0,t)),!0}else if(this._accept(13)){const t=this._until(1);if(t){const i=this._until(4);if(i)return e.appendChild(new ol(Number(n),void 0,t,i)),!0}}else{const t=this._until(4);if(t)return e.appendChild(new ol(Number(n),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return 14!==this._token.type&&(e.appendChild(new el(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}function dl(e,t,i){return("string"==typeof i.insertText?""===i.insertText:""===i.insertText.snippet)?{edits:i.additionalEdit?.edits??[]}:{edits:[...t.map((t=>new Sa(e,{range:t,text:"string"==typeof i.insertText?hl.escape(i.insertText)+"$0":i.insertText.snippet,insertAsSnippet:!0}))),...i.additionalEdit?.edits??[]]}}function cl(e){function t(e,t){return"mimeType"in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}const i=new Map;for(const o of e)for(const n of o.yieldTo??[])for(const s of e)if(s!==o&&t(n,s)){let e=i.get(o);e||(e=[],i.set(o,e)),e.push(s)}if(!i.size)return Array.from(e);const n=new Set,s=[];return function e(t){if(!t.length)return[];const o=t[0];if(s.includes(o))return console.warn("Yield to cycle detected",o),t;if(n.has(o))return e(t.slice(1));let r=[];const a=i.get(o);return a&&(s.push(o),r=e(a),s.pop()),n.add(o),[...r,o,...e(t.slice(1))]}(Array.from(e))}var ul=i(66726);const gl=(0,qn.u1)("IEditorCancelService"),pl=new hs.N1("cancellableOperation",!1,(0,$n.kg)("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,ul.v)(gl,class{constructor(){this._tokens=new WeakMap}add(e,t){let i,n=this._tokens.get(e);return n||(n=e.invokeWithinContext((e=>({key:pl.bindTo(e.get(hs.fN)),tokens:new ss.w}))),this._tokens.set(e,n)),n.key.set(!0),i=n.tokens.push(t),()=>{i&&(i(),n.key.set(!n.tokens.isEmpty()),i=void 0)}}cancel(e){const t=this._tokens.get(e);if(!t)return;const i=t.tokens.pop();i&&(i.cancel(),t.key.set(!t.tokens.isEmpty()))}},1);class ml extends sa.Qi{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext((t=>t.get(gl).add(e,this)))}dispose(){this._unregister(),super.dispose()}}Fs(new class extends Ts{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:pl})}runEditorCommand(e,t){e.get(gl).cancel(t)}});class fl{constructor(e,t){if(this.flags=t,1&this.flags){const t=e.getModel();this.modelVersionId=t?Ri.GP("{0}#{1}",t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;4&this.flags?this.position=e.getPosition():this.position=null,2&this.flags?this.selection=e.getSelection():this.selection=null,8&this.flags?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof fl))return!1;const t=e;return this.modelVersionId===t.modelVersionId&&(this.scrollLeft===t.scrollLeft&&this.scrollTop===t.scrollTop&&(!(!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position))&&!(!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))))}validate(e){return this._equals(new fl(e,this.flags))}}class _l extends ml{constructor(e,t,i,n){super(e,n),this._listener=new Ae.Cm,4&t&&this._listener.add(e.onDidChangeCursorPosition((e=>{i&&Js.Q.containsPosition(i,e.position)||this.cancel()}))),2&t&&this._listener.add(e.onDidChangeCursorSelection((e=>{i&&Js.Q.containsRange(i,e.selection)||this.cancel()}))),8&t&&this._listener.add(e.onDidScrollChange((e=>this.cancel()))),1&t&&(this._listener.add(e.onDidChangeModel((e=>this.cancel()))),this._listener.add(e.onDidChangeModelContent((e=>this.cancel()))))}dispose(){this._listener.dispose(),super.dispose()}}class vl extends sa.Qi{constructor(e,t){super(t),this._listener=e.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}var bl=i(2181),Cl=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},wl=function(e,t){return function(i,n){t(i,n,e)}};const yl=to.kI.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:Ri.S8,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class Sl extends Ae.jG{static{this.baseId="editor.widget.inlineProgressWidget"}constructor(e,t,i,n,s){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=s,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(n),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=ei(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=ei("span.icon");this.domNode.append(t),t.classList.add(...En.L.asClassNameArray(bl.W.loading),"codicon-modifier-spin");const i=()=>{const e=this.editor.getOption(67);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};i(),this._register(this.editor.onDidChangeConfiguration((e=>{(e.hasChanged(52)||e.hasChanged(67))&&i()}))),this._register(Ye(this.domNode,Ut.CLICK,(e=>{this.delegate.cancel()})))}getId(){return Sl.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}let kl=class extends Ae.jG{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Ae.HE),this._currentWidget=this._register(new Ae.HE),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,n,s){const o=this._operationIdPool++;this._currentOperation=o,this.clear(),this._showPromise.value=(0,A.EQ)((()=>{const i=Js.Q.fromPositions(e);this._currentDecorations.set([{range:i,options:yl}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(Sl,this.id,this._editor,i,t,n))}),s??this._showDelay);try{return await i}finally{this._currentOperation===o&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};function Ll(e,t={}){const i=xl(t);return Nl(i,function(e,t){const i={type:1,children:[]};let n=0,s=i;const o=[],r=new Dl(e);for(;!r.eos();){let e=r.next();const i="\\"===e&&0!==El(r.peek(),t);if(i&&(e=r.next()),!i&&Il(e,t)&&e===r.peek()){r.advance(),2===s.type&&(s=o.pop());const i=El(e,t);if(s.type===i||5===s.type&&6===i)s=o.pop();else{const e={type:i,children:[]};5===i&&(e.index=n,n++),s.children.push(e),o.push(s),s=e}}else if("\n"===e)2===s.type&&(s=o.pop()),s.children.push({type:8});else if(2!==s.type){const t={type:2,content:e};s.children.push(t),o.push(s),s=t}else s.content+=e}2===s.type&&(s=o.pop());o.length;return i}(e,!!t.renderCodeSegments),t.actionHandler,t.renderCodeSegments),i}function xl(e){const t=e.inline?"span":"div",i=document.createElement(t);return e.className&&(i.className=e.className),i}kl=Cl([wl(2,qn._Y)],kl);class Dl{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function Nl(e,t,i,n){let s;if(2===t.type)s=document.createTextNode(t.content||"");else if(3===t.type)s=document.createElement("b");else if(4===t.type)s=document.createElement("i");else if(7===t.type&&n)s=document.createElement("code");else if(5===t.type&&i){const e=document.createElement("a");i.disposables.add(Xe(e,"click",(e=>{i.callback(String(t.index),e)}))),s=e}else 8===t.type?s=document.createElement("br"):1===t.type&&(s=e);s&&e!==s&&e.appendChild(s),s&&Array.isArray(t.children)&&t.children.forEach((e=>{Nl(s,e,i,n)}))}function Il(e,t){return 0!==El(e,t)}function El(e,t){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return t?7:0;default:return 0}}const Ml=new RegExp(`(\\\\)?\\$\\((${En.L.iconNameExpression}(?:${En.L.iconModifierExpression})?)\\)`,"g");function Tl(e){const t=new Array;let i,n=0,s=0;for(;null!==(i=Ml.exec(e));){s=i.index||0,n"']/,s=new RegExp(n.source,"g"),o=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,r=new RegExp(o.source,"g"),a={"&":"&","<":"<",">":">",'"':""","'":"'"},l=e=>a[e];function h(e,t){if(t){if(n.test(e))return e.replace(s,l)}else if(o.test(e))return e.replace(r,l);return e}const d=/(^|[^\[])\^/g;function c(e,t){let i="string"==typeof e?e:e.source;t=t||"";const n={replace:(e,t)=>{let s="string"==typeof t?t:t.source;return s=s.replace(d,"$1"),i=i.replace(e,s),n},getRegex:()=>new RegExp(i,t)};return n}function u(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const g={exec:()=>null};function p(e,t){const i=e.replace(/\|/g,((e,t,i)=>{let n=!1,s=t;for(;--s>=0&&"\\"===i[s];)n=!n;return n?"|":" |"})).split(/ \|/);let n=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:m(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],i=function(e,t){const i=e.match(/^(\s+)(?:```)/);if(null===i)return t;const n=i[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[i]=t;return i.length>=n.length?e.slice(n.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:i}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=m(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:m(t[0],"\n")}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let e=m(t[0],"\n").split("\n"),i="",n="";const s=[];for(;e.length>0;){let t=!1;const o=[];let r;for(r=0;r/.test(e[r]))o.push(e[r]),t=!0;else{if(t)break;o.push(e[r])}e=e.slice(r);const a=o.join("\n"),l=a.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");i=i?`${i}\n${a}`:a,n=n?`${n}\n${l}`:l;const h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,s,!0),this.lexer.state.top=h,0===e.length)break;const d=s[s.length-1];if("code"===d?.type)break;if("blockquote"===d?.type){const t=d,o=t.raw+"\n"+e.join("\n"),r=this.blockquote(o);s[s.length-1]=r,i=i.substring(0,i.length-t.raw.length)+r.raw,n=n.substring(0,n.length-t.text.length)+r.text;break}if("list"!==d?.type);else{const t=d,o=t.raw+"\n"+e.join("\n"),r=this.list(o);s[s.length-1]=r,i=i.substring(0,i.length-d.raw.length)+r.raw,n=n.substring(0,n.length-t.raw.length)+r.raw,e=o.substring(s[s.length-1].raw.length).split("\n")}}return{type:"blockquote",raw:i,tokens:s,text:n}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[1].trim();const n=i.length>1,s={type:"list",raw:"",ordered:n,start:n?+i.slice(0,-1):"",loose:!1,items:[]};i=n?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=n?i:"[*+-]");const o=new RegExp(`^( {0,3}${i})((?:[\t ][^\\n]*)?(?:\\n|$))`);let r=!1;for(;e;){let i=!1,n="",a="";if(!(t=o.exec(e)))break;if(this.rules.block.hr.test(e))break;n=t[0],e=e.substring(n.length);let l=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),h=e.split("\n",1)[0],d=!l.trim(),c=0;if(this.options.pedantic?(c=2,a=l.trimStart()):d?c=t[1].length+1:(c=t[2].search(/[^ ]/),c=c>4?1:c,a=l.slice(c),c+=t[1].length),d&&/^ *$/.test(h)&&(n+=h+"\n",e=e.substring(h.length+1),i=!0),!i){const t=new RegExp(`^ {0,${Math.min(3,c-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),i=new RegExp(`^ {0,${Math.min(3,c-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),s=new RegExp(`^ {0,${Math.min(3,c-1)}}(?:\`\`\`|~~~)`),o=new RegExp(`^ {0,${Math.min(3,c-1)}}#`);for(;e;){const r=e.split("\n",1)[0];if(h=r,this.options.pedantic&&(h=h.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),s.test(h))break;if(o.test(h))break;if(t.test(h))break;if(i.test(e))break;if(h.search(/[^ ]/)>=c||!h.trim())a+="\n"+h.slice(c);else{if(d)break;if(l.search(/[^ ]/)>=4)break;if(s.test(l))break;if(o.test(l))break;if(i.test(l))break;a+="\n"+h}d||h.trim()||(d=!0),n+=r+"\n",e=e.substring(r.length+1),l=h.slice(c)}}s.loose||(r?s.loose=!0:/\n *\n *$/.test(n)&&(r=!0));let u,g=null;this.options.gfm&&(g=/^\[[ xX]\] /.exec(a),g&&(u="[ ] "!==g[0],a=a.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:n,task:!!g,checked:u,loose:!1,text:a,tokens:[]}),s.raw+=n}s.items[s.items.length-1].raw=s.items[s.items.length-1].raw.trimEnd(),s.items[s.items.length-1].text=s.items[s.items.length-1].text.trimEnd(),s.raw=s.raw.trimEnd();for(let e=0;e"space"===e.type)),i=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));s.loose=i}if(s.loose)for(let e=0;e$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:i,title:n}}}table(e){const t=this.rules.block.table.exec(e);if(!t)return;if(!/[:|]/.test(t[2]))return;const i=p(t[1]),n=t[2].replace(/^\||\| *$/g,"").split("|"),s=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],o={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===n.length){for(const e of n)/^ *-+: *$/.test(e)?o.align.push("right"):/^ *:-+: *$/.test(e)?o.align.push("center"):/^ *:-+ *$/.test(e)?o.align.push("left"):o.align.push(null);for(let e=0;e({text:e,tokens:this.lexer.inline(e),header:!1,align:o.align[t]}))));return o}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:h(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=m(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let i=0;for(let n=0;n-1){const i=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,i).trim(),t[3]=""}}let i=t[2],n="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);e&&(i=e[1],n=e[3])}else n=t[3]?t[3].slice(1,-1):"";return i=i.trim(),/^$/.test(e)?i.slice(1):i.slice(1,-1)),f(t,{href:i?i.replace(this.rules.inline.anyPunctuation,"$1"):i,title:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n},t[0],this.lexer)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){const e=t[(i[2]||i[1]).replace(/\s+/g," ").toLowerCase()];if(!e){const e=i[0].charAt(0);return{type:"text",raw:e,text:e}}return f(i,e,i[0],this.lexer)}}emStrong(e,t,i=""){let n=this.rules.inline.emStrongLDelim.exec(e);if(n&&(!n[3]||!i.match(/[\p{L}\p{N}]/u))&&(!n[1]&&!n[2]||!i||this.rules.inline.punctuation.exec(i))){const i=[...n[0]].length-1;let s,o,r=i,a=0;const l="*"===n[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+i);null!=(n=l.exec(t));){if(s=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!s)continue;if(o=[...s].length,n[3]||n[4]){r+=o;continue}if((n[5]||n[6])&&i%3&&!((i+o)%3)){a+=o;continue}if(r-=o,r>0)continue;o=Math.min(o,o+r+a);const t=[...n[0]][0].length,l=e.slice(0,i+n.index+t+o);if(Math.min(i,o)%2){const e=l.slice(1,-1);return{type:"em",raw:l,text:e,tokens:this.lexer.inlineTokens(e)}}const h=l.slice(2,-2);return{type:"strong",raw:l,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const i=/[^ ]/.test(e),n=/^ /.test(e)&&/ $/.test(e);return i&&n&&(e=e.substring(1,e.length-1)),e=h(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,i;return"@"===t[2]?(e=h(t[1]),i="mailto:"+e):(e=h(t[1]),i=e),{type:"link",raw:t[0],text:e,href:i,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,i;if("@"===t[2])e=h(t[0]),i="mailto:"+e;else{let n;do{n=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(n!==t[0]);e=h(t[0]),i="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:i,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:h(t[0]),{type:"text",raw:t[0],text:e}}}}const v=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,b=/(?:[*+-]|\d{1,9}[.)])/,C=c(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,b).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),w=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,y=/(?!\s*\])(?:\\.|[^\[\]\\])+/,S=c(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",y).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),k=c(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,b).getRegex(),L="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",x=/|$))/,D=c("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",x).replace("tag",L).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),N=c(w).replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",L).getRegex(),I={blockquote:c(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",N).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:S,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:v,html:D,lheading:C,list:k,newline:/^(?: *(?:\n|$))+/,paragraph:N,table:g,text:/^[^\n]+/},E=c("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",L).getRegex(),M={...I,table:E,paragraph:c(w).replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",E).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",L).getRegex()},T={...I,html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",x).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:g,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:c(w).replace("hr",v).replace("heading"," *#{1,6} *[^\n]").replace("lheading",C).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},R=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,A=/^( {2,}|\\)\n(?!\s*$)/,P="\\p{P}\\p{S}",O=c(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,P).getRegex(),F=c(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,P).getRegex(),W=c("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,P).getRegex(),B=c("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,P).getRegex(),H=c(/\\([punct])/,"gu").replace(/punct/g,P).getRegex(),V=c(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),z=c(x).replace("(?:--\x3e|$)","--\x3e").getRegex(),U=c("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",z).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),K=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,j=c(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",K).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),$=c(/^!?\[(label)\]\[(ref)\]/).replace("label",K).replace("ref",y).getRegex(),q=c(/^!?\[(ref)\](?:\[\])?/).replace("ref",y).getRegex(),G={_backpedal:g,anyPunctuation:H,autolink:V,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:A,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:g,emStrongLDelim:F,emStrongRDelimAst:W,emStrongRDelimUnd:B,escape:R,link:j,nolink:q,punctuation:O,reflink:$,reflinkSearch:c("reflink|nolink(?!\\()","g").replace("reflink",$).replace("nolink",q).getRegex(),tag:U,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\t+" ".repeat(i.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((i=>!!(n=i.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?t.push(n):(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(s.raw+="\n"+n.raw,s.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(o=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const i=e.slice(1);let n;this.options.extensions.startBlock.forEach((e=>{n=e.call({lexer:this},i),"number"==typeof n&&n>=0&&(t=Math.min(t,n))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(o)))s=t[t.length-1],i&&"paragraph"===s?.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n),i=o.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===s.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i,n,s,o,r,a,l=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(l));)e.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.anyPunctuation.exec(l));)l=l.slice(0,o.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(r||(a=""),r=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((n=>!!(i=n.call({lexer:this},e,t))&&(e=e.substring(i.raw.length),t.push(i),!0)))))if(i=this.tokenizer.escape(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.tag(e))e=e.substring(i.raw.length),n=t[t.length-1],n&&"text"===i.type&&"text"===n.type?(n.raw+=i.raw,n.text+=i.text):t.push(i);else if(i=this.tokenizer.link(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(i.raw.length),n=t[t.length-1],n&&"text"===i.type&&"text"===n.type?(n.raw+=i.raw,n.text+=i.text):t.push(i);else if(i=this.tokenizer.emStrong(e,l,a))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.codespan(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.br(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.del(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.autolink(e))e=e.substring(i.raw.length),t.push(i);else if(this.state.inLink||!(i=this.tokenizer.url(e))){if(s=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const i=e.slice(1);let n;this.options.extensions.startInline.forEach((e=>{n=e.call({lexer:this},i),"number"==typeof n&&n>=0&&(t=Math.min(t,n))})),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(i=this.tokenizer.inlineText(s))e=e.substring(i.raw.length),"_"!==i.raw.slice(-1)&&(a=i.raw.slice(-1)),r=!0,n=t[t.length-1],n&&"text"===n.type?(n.raw+=i.raw,n.text+=i.text):t.push(i);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(i.raw.length),t.push(i);return t}}class te{options;parser;constructor(t){this.options=t||e.defaults}space(e){return""}code({text:e,lang:t,escaped:i}){const n=(t||"").match(/^\S*/)?.[0],s=e.replace(/\n$/,"")+"\n";return n?'
    '+(i?s:h(s,!0))+"
    \n":"
    "+(i?s:h(s,!0))+"
    \n"}blockquote({tokens:e}){return`
    \n${this.parser.parse(e)}
    \n`}html({text:e}){return e}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)}\n`}hr(e){return"
    \n"}list(e){const t=e.ordered,i=e.start;let n="";for(let o=0;o\n"+n+"\n"}listitem(e){let t="";if(e.task){const i=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=i+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=i+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:i+" ",text:i+" "}):t+=i+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`
  • ${t}
  • \n`}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    \n`}table(e){let t="",i="";for(let s=0;s${n}`),"\n\n"+t+"\n"+n+"
    \n"}tablerow({text:e}){return`\n${e}\n`}tablecell(e){const t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`\n`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${e}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:i}){const n=this.parser.parseInline(i),s=u(e);if(null===s)return n;let o='
    ",o}image({href:e,title:t,text:i}){const n=u(e);if(null===n)return i;let s=`${i}{const s=e[n].flat(1/0);i=i.concat(this.walkTokens(s,t))})):e.tokens&&(i=i.concat(this.walkTokens(e.tokens,t)))}}return i}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const i={...e};if(i.async=this.defaults.async||i.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const i=t.renderers[e.name];t.renderers[e.name]=i?function(...t){let n=e.renderer.apply(this,t);return!1===n&&(n=i.apply(this,t)),n}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const i=t[e.level];i?i.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),i.extensions=t),e.renderer){const t=this.defaults.renderer||new te(this.defaults);for(const i in e.renderer){if(!(i in t))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;const n=i,s=e.renderer[n],o=t[n];t[n]=(...e)=>{let i=s.apply(t,e);return!1===i&&(i=o.apply(t,e)),i||""}}i.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new _(this.defaults);for(const i in e.tokenizer){if(!(i in t))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;const n=i,s=e.tokenizer[n],o=t[n];t[n]=(...e)=>{let i=s.apply(t,e);return!1===i&&(i=o.apply(t,e)),i}}i.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new se;for(const i in e.hooks){if(!(i in t))throw new Error(`hook '${i}' does not exist`);if("options"===i)continue;const n=i,s=e.hooks[n],o=t[n];se.passThroughHooks.has(i)?t[n]=e=>{if(this.defaults.async)return Promise.resolve(s.call(t,e)).then((e=>o.call(t,e)));const i=s.call(t,e);return o.call(t,i)}:t[n]=(...e)=>{let i=s.apply(t,e);return!1===i&&(i=o.apply(t,e)),i}}i.hooks=t}if(e.walkTokens){const t=this.defaults.walkTokens,n=e.walkTokens;i.walkTokens=function(e){let i=[];return i.push(n.call(this,e)),t&&(i=i.concat(t.call(this,e))),i}}this.defaults={...this.defaults,...i}})),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ee.lex(e,t??this.defaults)}parser(e,t){return ne.parse(e,t??this.defaults)}parseMarkdown(e,t){return(i,n)=>{const s={...n},o={...this.defaults,...s},r=this.onError(!!o.silent,!!o.async);if(!0===this.defaults.async&&!1===s.async)return r(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(null==i)return r(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof i)return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(o.hooks&&(o.hooks.options=o),o.async)return Promise.resolve(o.hooks?o.hooks.preprocess(i):i).then((t=>e(t,o))).then((e=>o.hooks?o.hooks.processAllTokens(e):e)).then((e=>o.walkTokens?Promise.all(this.walkTokens(e,o.walkTokens)).then((()=>e)):e)).then((e=>t(e,o))).then((e=>o.hooks?o.hooks.postprocess(e):e)).catch(r);try{o.hooks&&(i=o.hooks.preprocess(i));let n=e(i,o);o.hooks&&(n=o.hooks.processAllTokens(n)),o.walkTokens&&this.walkTokens(n,o.walkTokens);let s=t(n,o);return o.hooks&&(s=o.hooks.postprocess(s)),s}catch(a){return r(a)}}}onError(e,t){return i=>{if(i.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+h(i.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(i);throw i}}}const re=new oe;function ae(e,t){return re.parse(e,t)}ae.options=ae.setOptions=function(e){return re.setOptions(e),ae.defaults=re.defaults,i(ae.defaults),ae},ae.getDefaults=t,ae.defaults=e.defaults,ae.use=function(...e){return re.use(...e),ae.defaults=re.defaults,i(ae.defaults),ae},ae.walkTokens=function(e,t){return re.walkTokens(e,t)},ae.parseInline=re.parseInline,ae.Parser=ne,ae.parser=ne.parse,ae.Renderer=te,ae.TextRenderer=ie,ae.Lexer=ee,ae.lexer=ee.lex,ae.Tokenizer=_,ae.Hooks=se,ae.parse=ae;const le=ae.options,he=ae.setOptions,de=ae.use,ce=ae.walkTokens,ue=ae.parseInline,ge=ae,pe=ne.parse,me=ee.lex;e.Hooks=se,e.Lexer=ee,e.Marked=oe,e.Parser=ne,e.Renderer=te,e.TextRenderer=ie,e.Tokenizer=_,e.getDefaults=t,e.lexer=me,e.marked=ae,e.options=le,e.parse=ge,e.parseInline=ue,e.parser=pe,e.setOptions=he,e.use=de,e.walkTokens=ce},e.amd?e(0,i):"object"==typeof exports?i(exports):i((t="undefined"!=typeof globalThis?globalThis:t||self).marked={})}();Fl.Hooks||exports.Hooks,Fl.Lexer||exports.Lexer,Fl.Marked||exports.Marked,Fl.Parser||exports.Parser;var Wl=Fl.Renderer||exports.Renderer,Bl=(Fl.TextRenderer||exports.TextRenderer,Fl.Tokenizer||exports.Tokenizer,Fl.defaults||exports.defaults),Hl=(Fl.getDefaults||exports.getDefaults,Fl.lexer||exports.lexer),Vl=(Fl.marked||exports.marked,Fl.options||exports.options,Fl.parse||exports.parse),zl=(Fl.parseInline||exports.parseInline,Fl.parser||exports.parser),Ul=(Fl.setOptions||exports.setOptions,Fl.use||exports.use,Fl.walkTokens||exports.walkTokens,i(42802));function Kl(e){let t=JSON.parse(e);return t=$l(t),t}function jl(e,t){return t instanceof RegExp?{$mid:2,source:t.source,flags:t.flags}:t}function $l(e,t=0){if(!e||t>200)return e;if("object"==typeof e){switch(e.$mid){case 1:return Hn.r.revive(e);case 2:return new RegExp(e.source,e.flags);case 17:return new Date(e.source)}if(e instanceof Ul.MB||e instanceof Uint8Array)return e;if(Array.isArray(e))for(let i=0;i{let n=[],s=[];return e&&(({href:e,dimensions:n}=function(e){const t=[],i=e.split("|").map((e=>e.trim()));e=i[0];const n=i[1];if(n){const e=/height=(\d+)/.exec(n),i=/width=(\d+)/.exec(n),s=e?e[1]:"",o=i?i[1]:"",r=isFinite(parseInt(o)),a=isFinite(parseInt(s));r&&t.push(`width="${o}"`),a&&t.push(`height="${s}"`)}return{href:e,dimensions:t}}(e)),s.push(`src="${Kn(e)}"`)),i&&s.push(`alt="${Kn(i)}"`),t&&s.push(`title="${Kn(t)}"`),n.length&&(s=s.concat(n)),""},paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    `},link({href:e,title:t,tokens:i}){let n=this.parser.parseInline(i);return"string"!=typeof e?"":(e===n&&(n=jn(n)),t="string"==typeof t?Kn(jn(t)):"",`
    /g,">").replace(/"/g,""").replace(/'/g,"'")}" title="${t||e}" draggable="false">${n}`)}});function Ql(e,t={},i={}){const n=new Ae.Cm;let s=!1;const o=xl(t),r=function(t){let i;try{i=Kl(decodeURIComponent(t))}catch(n){}return i?(i=(0,ql.PI)(i,(t=>e.uris&&e.uris[t]?Hn.r.revive(e.uris[t]):void 0)),encodeURIComponent(JSON.stringify(i))):t},a=function(t,i){const n=e.uris&&e.uris[t];let s=Hn.r.revive(n);return i?t.startsWith(Pe.ny.data+":")?t:(s||(s=Hn.r.parse(t)),Pe.zl.uriToBrowserUri(s).toString(!0)):s?Hn.r.parse(t).toString()===s.toString()?t:(s.query&&(s=s.with({query:r(s.query)})),s.toString()):t},l=new Wl;l.image=Gl.image,l.link=Gl.link,l.paragraph=Gl.paragraph;const h=[],d=[];if(t.codeBlockRendererSync?l.code=({text:e,lang:i})=>{const n=Pl.nextId(),s=t.codeBlockRendererSync(Yl(i),e);return d.push([n,s]),`
    ${(0,Ri.ih)(e)}
    `}:t.codeBlockRenderer&&(l.code=({text:e,lang:i})=>{const n=Pl.nextId(),s=t.codeBlockRenderer(Yl(i),e);return h.push(s.then((e=>[n,e]))),`
    ${(0,Ri.ih)(e)}
    `}),t.actionHandler){const i=function(i){let n=i.target;if("A"===n.tagName||(n=n.parentElement,n&&"A"===n.tagName))try{let s=n.dataset.href;s&&(e.baseUri&&(s=Zl(Hn.r.from(e.baseUri),s)),t.actionHandler.callback(s,i))}catch(s){(0,b.dz)(s)}finally{i.preventDefault()}},n=t.actionHandler.disposables.add(new zr(o,"click")),s=t.actionHandler.disposables.add(new zr(o,"auxclick"));t.actionHandler.disposables.add(P.Jh.any(n.event,s.event)((e=>{const t=new T(We(o),e);(t.leftButton||t.middleButton)&&i(t)}))),t.actionHandler.disposables.add(Ye(o,"keydown",(e=>{const t=new N(e);(t.equals(10)||t.equals(3))&&i(t)})))}e.supportHtml||(l.html=({text:i})=>{if(t.sanitizerOptions?.replaceWithPlaintext)return(0,Ri.ih)(i);return(e.isTrusted?i.match(/^(]+>)|(<\/\s*span>)$/):void 0)?i:""}),i.renderer=l;let c=e.value??"";let u;if(c.length>1e5&&(c=`${c.substr(0,1e5)}\u2026`),e.supportThemeIcons&&(c=c.replace(Rn,(e=>`\\${e}`))),t.fillInIncompleteTokens){const e={...Bl,...i},t=function(e){for(let t=0;t"string"==typeof e?e:e.outerHTML)).join("")}const g=(new DOMParser).parseFromString(Jl({isTrusted:e.isTrusted,...t.sanitizerOptions},u),"text/html");if(g.body.querySelectorAll("img, audio, video, source").forEach((i=>{const n=i.getAttribute("src");if(n){let o=n;try{e.baseUri&&(o=Zl(Hn.r.from(e.baseUri),o))}catch(s){}if(i.setAttribute("src",a(o,!0)),t.remoteImageIsAllowed){const e=Hn.r.parse(o);e.scheme===Pe.ny.file||e.scheme===Pe.ny.data||t.remoteImageIsAllowed(e)||i.replaceWith(ei("",void 0,i.outerHTML))}}})),g.body.querySelectorAll("a").forEach((t=>{const i=t.getAttribute("href");if(t.setAttribute("href",""),!i||/^data:|javascript:/i.test(i)||/^command:/i.test(i)&&!e.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(i))t.replaceWith(...t.childNodes);else{let n=a(i,!1);e.baseUri&&(n=Zl(Hn.r.from(e.baseUri),i)),t.dataset.href=n}})),o.innerHTML=Jl({isTrusted:e.isTrusted,...t.sanitizerOptions},g.body.innerHTML),h.length>0)Promise.all(h).then((e=>{if(s)return;const i=new Map(e),n=o.querySelectorAll("div[data-code]");for(const t of n){const e=i.get(t.dataset.code??"");e&&Yt(t,e)}t.asyncRenderCallback?.()}));else if(d.length>0){const e=new Map(d),t=o.querySelectorAll("div[data-code]");for(const i of t){const t=e.get(i.dataset.code??"");t&&Yt(i,t)}}if(t.asyncRenderCallback)for(const p of o.getElementsByTagName("img")){const e=n.add(Ye(p,"load",(()=>{e.dispose(),t.asyncRenderCallback()})))}return{element:o,dispose:()=>{s=!0,n.dispose()}}}function Yl(e){if(!e)return"";const t=e.split(/[\s+|:|,|\{|\?]/,1);return t.length?t[0]:e}function Zl(e,t){return/^\w[\w\d+.-]*:/.test(t)?t:e.path.endsWith("/")?(0,Bn.o1)(e,t).toString():(0,Bn.o1)((0,Bn.pD)(e),t).toString()}const Xl=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function Jl(e,t){const{config:i,allowedSchemes:n}=function(e){const t=[Pe.ny.http,Pe.ny.https,Pe.ny.mailto,Pe.ny.data,Pe.ny.file,Pe.ny.vscodeFileResource,Pe.ny.vscodeRemote,Pe.ny.vscodeRemoteResource];e.isTrusted&&t.push(Pe.ny.command);return{config:{ALLOWED_TAGS:e.allowedTags??[...li],ALLOWED_ATTR:eh,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:t}}(e),s=new Ae.Cm;s.add(wh("uponSanitizeAttribute",((e,t)=>{if("style"!==t.attrName&&"class"!==t.attrName){if("INPUT"===e.tagName&&"checkbox"===e.attributes.getNamedItem("type")?.value){if("type"===t.attrName&&"checkbox"===t.attrValue||"disabled"===t.attrName||"checked"===t.attrName)return void(t.keepAttr=!0);t.keepAttr=!1}}else{if("SPAN"===e.tagName){if("style"===t.attrName)return void(t.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(border-radius:[0-9]+px;)?$/.test(t.attrValue));if("class"===t.attrName)return void(t.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(t.attrValue))}t.keepAttr=!1}}))),s.add(wh("uponSanitizeElement",((t,i)=>{if("input"===i.tagName&&("checkbox"===t.attributes.getNamedItem("type")?.value?t.setAttribute("disabled",""):e.replaceWithPlaintext||t.remove()),e.replaceWithPlaintext&&!i.allowedTags[i.tagName]&&"body"!==i.tagName&&t.parentElement){let e,n;if("#comment"===i.tagName)e=`\x3c!--${t.textContent}--\x3e`;else{const s=Xl.includes(i.tagName),o=t.attributes.length?" "+Array.from(t.attributes).map((e=>`${e.name}="${e.value}"`)).join(" "):"";e=`<${i.tagName}${o}>`,s||(n=``)}const s=document.createDocumentFragment(),o=t.parentElement.ownerDocument.createTextNode(e);s.appendChild(o);const r=n?t.parentElement.ownerDocument.createTextNode(n):void 0;for(;t.firstChild;)s.appendChild(t.firstChild);r&&s.appendChild(r),t.parentElement.replaceChild(s,t)}}))),s.add(function(e,t=!1){const i=document.createElement("a");return Te("afterSanitizeAttributes",(n=>{for(const s of["href","src"])if(n.hasAttribute(s)){const o=n.getAttribute(s);if("href"===s&&o.startsWith("#"))continue;if(i.href=o,!e.includes(i.protocol.replace(/:$/,""))){if(t&&"src"===s&&i.href.startsWith("data:"))continue;n.removeAttribute(s)}}})),(0,Ae.s)((()=>{Re("afterSanitizeAttributes")}))}(n));try{return Me(t,{...i,RETURN_TRUSTED_TYPE:!0})}finally{s.dispose()}}const eh=["align","autoplay","alt","checked","class","colspan","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","rowspan","src","style","target","title","type","width","start"];function th(e){return"string"==typeof e?e:function(e,t){let i=e.value??"";i.length>1e5&&(i=`${i.substr(0,1e5)}\u2026`);const n=Vl(i,{async:!1,renderer:t?oh.value:sh.value}).replace(/&(#\d+|[a-zA-Z]+);/g,(e=>ih.get(e)??e));return Jl({isTrusted:!1},n).toString()}(e)}const ih=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]);function nh(){const e=new Wl;return e.code=({text:e})=>e,e.blockquote=({text:e})=>e+"\n",e.html=e=>"",e.heading=function({tokens:e}){return this.parser.parseInline(e)+"\n"},e.hr=()=>"",e.list=function({items:e}){return e.map((e=>this.listitem(e))).join("\n")+"\n"},e.listitem=({text:e})=>e+"\n",e.paragraph=function({tokens:e}){return this.parser.parseInline(e)+"\n"},e.table=function({header:e,rows:t}){return e.map((e=>this.tablecell(e))).join(" ")+"\n"+t.map((e=>e.map((e=>this.tablecell(e))).join(" "))).join("\n")+"\n"},e.tablerow=({text:e})=>e,e.tablecell=function({tokens:e}){return this.parser.parseInline(e)},e.strong=({text:e})=>e,e.em=({text:e})=>e,e.codespan=({text:e})=>e,e.br=e=>"\n",e.del=({text:e})=>e,e.image=e=>"",e.text=({text:e})=>e,e.link=({text:e})=>e,e}const sh=new Ol.d((e=>nh())),oh=new Ol.d((()=>{const e=nh();return e.code=({text:e})=>`\n\`\`\`\n${e}\n\`\`\`\n`,e}));function rh(e){let t="";return e.forEach((e=>{t+=e.raw})),t}function ah(e){if(e.tokens)for(let t=e.tokens.length-1;t>=0;t--){const i=e.tokens[t];if("text"===i.type){const n=i.raw.split("\n"),s=n[n.length-1];if(s.includes("`"))return uh(e);if(s.includes("**"))return bh(e,"**");if(s.match(/\*\w/))return gh(e);if(s.match(/(^|\s)__\w/))return vh(e);if(s.match(/(^|\s)_\w/))return ph(e);if(s.match(/(^|\s)\[.*\]\(\w*/)||lh(s)&&e.tokens.slice(0,t).some((e=>"text"===e.type&&e.raw.match(/\[[^\]]*$/)))){const i=e.tokens.slice(t+1);return"link"===i[0]?.type&&"text"===i[1]?.type&&i[1].raw.match(/^ *"[^"]*$/)||s.match(/^[^"]* +"[^"]*$/)?fh(e):mh(e)}if(s.match(/(^|\s)\[\w*/))return _h(e)}}}function lh(e){return!!e.match(/^[^\[]*\]\([^\)]*$/)}function hh(e){const t=e.items[e.items.length-1],i=t.tokens?t.tokens[t.tokens.length-1]:void 0;let n;if("text"!==i?.type||"inRawBlock"in t||(n=ah(i)),!n||"paragraph"!==n.type)return;const s=rh(e.items.slice(0,-1)),o=t.raw.match(/^(\s*(-|\d+\.|\*) +)/)?.[0];if(!o)return;const r=o+rh(t.tokens.slice(0,-1))+n.raw,a=Hl(s+r)[0];return"list"===a.type?a:void 0}const dh=3;function ch(e){let t,i;for(t=0;t0){const e=s?i.slice(0,-1).join("\n"):t,o=!!e.match(/\|\s*$/),r=e+(o?"":"|")+`\n|${" --- |".repeat(n)}`;return Hl(r)}}function wh(e,t){return Te(e,t),(0,Ae.s)((()=>Re(e)))}function yh(e,t){const i=globalThis.MonacoEnvironment;if(i?.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(e,t)}catch(n){return void(0,b.dz)(n)}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(n){return void(0,b.dz)(n)}}class Sh{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=kh(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=kh(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=kh(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=kh(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=kh(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=kh(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=kh(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=kh(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=kh(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=kh(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=kh(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function kh(e){return"number"==typeof e?`${e}px`:e}function Lh(e){return new Sh(e)}function xh(e,t){e instanceof Sh?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px")}var Dh=i(77922),Nh=i(54957),Ih=i(97036);const Eh={getInitialState:()=>Ih.r3,tokenizeEncoded:(e,t,i)=>(0,Ih.Lh)(0,i)};function Mh(e,t,i,n,s,o,r){let a="
    ",l=n,h=0,d=!0;for(let c=0,u=t.getCount();c0;)r&&d?(g+=" ",d=!1):(g+=" ",d=!0),e--;break}case 60:g+="<",d=!1;break;case 62:g+=">",d=!1;break;case 38:g+="&",d=!1;break;case 0:g+="�",d=!1;break;case 65279:case 8232:case 8233:case 133:g+="\ufffd",d=!1;break;case 13:g+="​",d=!1;break;case 32:r&&d?(g+=" ",d=!1):(g+=" ",d=!0);break;default:g+=String.fromCharCode(t),d=!1}}if(a+=`${g}`,u>s||l>=s)break}return a+="
    ",a}function Th(e,t,i){let n='
    ';const s=Ri.uz(e);let o=i.getInitialState();for(let r=0,a=s.length;r0&&(n+="
    ");const a=i.tokenizeEncoded(e,!0,o);Bo.f.convertToEndOffset(a.tokens,e.length);const l=new Bo.f(a.tokens,e,t).inflate();let h=0;for(let t=0,i=l.getCount();t${Ri.ih(e.substring(h,s))}`,h=s}o=a.endState}return n+="
    ",n}const Rh=(0,qn.u1)("openerService");var Ah,Ph=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Oh=function(e,t){return function(i,n){t(i,n,e)}};let Fh=class{static{Ah=this}static{this._ttpTokenizer=yh("tokenizeToString",{createHTML:e=>e})}constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new P.vl,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e){return{element:document.createElement("span"),dispose:()=>{}}}const n=new Ae.Cm,s=n.add(Ql(e,{...this._getRenderOptions(e,n),...t},i));return s.element.classList.add("rendered-markdown"),{element:s.element,dispose:()=>n.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(e,t)=>{let i;e?i=this._languageService.getLanguageIdByLanguageName(e):this._options.editor&&(i=this._options.editor.getModel()?.getLanguageId()),i||(i=Nh.vH);const n=await async function(e,t,i){if(!i)return Th(t,e.languageIdCodec,Eh);const n=await La.dG.getOrCreate(i);return Th(t,e.languageIdCodec,n||Eh)}(this._languageService,t,i),s=document.createElement("span");if(s.innerHTML=Ah._ttpTokenizer?.createHTML(n)??n,this._options.editor){xh(s,this._options.editor.getOption(50))}else this._options.codeBlockFontFamily&&(s.style.fontFamily=this._options.codeBlockFontFamily);return void 0!==this._options.codeBlockFontSize&&(s.style.fontSize=this._options.codeBlockFontSize),s},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:t=>Wh(this._openerService,t,e.isTrusted),disposables:t}}}};async function Wh(e,t,i){try{return await e.open(t,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:Bh(i)})}catch(n){return(0,b.dz)(n),!1}}function Bh(e){return!0===e||!(!e||!Array.isArray(e.enabledCommands))&&e.enabledCommands}Fh=Ah=Ph([Oh(1,Dh.L),Oh(2,Rh)],Fh);var Hh,Vh=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},zh=function(e,t){return function(i,n){t(i,n,e)}};let Uh=class{static{Hh=this}static{this.ID="editor.contrib.messageController"}static{this.MESSAGE_VISIBLE=new hs.N1("messageVisible",!1,$n.kg("messageVisible","Whether the editor is currently showing an inline message"))}static get(e){return e.getContribution(Hh.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Ae.HE,this._messageListeners=new Ae.Cm,this._mouseOverMessage=!1,this._editor=e,this._visible=Hh.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._message?.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){let i;wi(Un(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Un(e)?Ql(e,{actionHandler:{callback:t=>{this.closeMessage(),Wh(this._openerService,t,Un(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new Kh(this._editor,t,"string"==typeof e?e:this._message.element),this._messageListeners.add(P.Jh.debounce(this._editor.onDidBlurEditorText,((e,t)=>t),0)((()=>{this._mouseOverMessage||this._messageWidget.value&&_t(yt(),this._messageWidget.value.getDomNode())||this.closeMessage()}))),this._messageListeners.add(this._editor.onDidChangeCursorPosition((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidDispose((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidChangeModel((()=>this.closeMessage()))),this._messageListeners.add(Ye(this._messageWidget.value.getDomNode(),Ut.MOUSE_ENTER,(()=>this._mouseOverMessage=!0),!0)),this._messageListeners.add(Ye(this._messageWidget.value.getDomNode(),Ut.MOUSE_LEAVE,(()=>this._mouseOverMessage=!1),!0)),this._messageListeners.add(this._editor.onMouseMove((e=>{e.target.position&&(i?i.containsPosition(e.target.position)||this.closeMessage():i=new Js.Q(t.lineNumber-3,1,e.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Kh.fadeOut(this._messageWidget.value))}};Uh=Hh=Vh([zh(1,hs.fN),zh(2,Rh)],Uh);Fs(new(Ts.bindToContribution(Uh.get))({id:"leaveEditorMessage",precondition:Uh.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));class Kh{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},n){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const o=document.createElement("div");"string"==typeof n?(o.classList.add("message"),o.textContent=n):(n.classList.add("message"),o.appendChild(n)),this._domNode.appendChild(o);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",2===e)}}Hs(Uh.ID,Uh,4);const jh=(0,qn.u1)("clipboardService"),$h=(0,qn.u1)("progressService");Object.freeze({total(){},worked(){},done(){}});class qh{static{this.None=Object.freeze({report(){}})}constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}}const Gh=(0,qn.u1)("editorProgressService"),Qh={ctrlCmd:!1,alt:!1};var Yh,Zh,Xh,Jh;!function(e){e[e.Blur=1]="Blur",e[e.Gesture=2]="Gesture",e[e.Other=3]="Other"}(Yh||(Yh={})),function(e){e[e.NONE=0]="NONE",e[e.FIRST=1]="FIRST",e[e.SECOND=2]="SECOND",e[e.LAST=3]="LAST"}(Zh||(Zh={})),function(e){e[e.First=1]="First",e[e.Second=2]="Second",e[e.Last=3]="Last",e[e.Next=4]="Next",e[e.Previous=5]="Previous",e[e.NextPage=6]="NextPage",e[e.PreviousPage=7]="PreviousPage",e[e.NextSeparator=8]="NextSeparator",e[e.PreviousSeparator=9]="PreviousSeparator"}(Xh||(Xh={})),function(e){e[e.Title=1]="Title",e[e.Inline=2]="Inline"}(Jh||(Jh={}));new class{constructor(e){this.options=e}};const ed=(0,qn.u1)("quickInputService");function td(e,t,i){let n=null,s=null;if("function"==typeof i.value?(n="value",s=i.value,0!==s.length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof i.get&&(n="get",s=i.get),!s)throw new Error("not supported");const o=`$memoize$${t}`;i[n]=function(...e){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:s.apply(this,e)}),this[o]}}var id,nd=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(id||(id={}));class sd extends Ae.jG{static{this.SCROLL_FRICTION=-.005}static{this.HOLD_DELAY=700}static{this.CLEAR_TAP_COUNT_TIME=400}constructor(){super(),this.dispatched=!1,this.targets=new ss.w,this.ignoreTargets=new ss.w,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(P.Jh.runAndSubscribe(je,(({window:e,disposables:t})=>{t.add(Ye(e.document,"touchstart",(e=>this.onTouchStart(e)),{passive:!1})),t.add(Ye(e.document,"touchend",(t=>this.onTouchEnd(e,t)))),t.add(Ye(e.document,"touchmove",(e=>this.onTouchMove(e)),{passive:!1}))}),{window:o,disposables:this._store}))}static addTarget(e){if(!sd.isTouchDevice())return Ae.jG.None;sd.INSTANCE||(sd.INSTANCE=(0,Ae.lC)(new sd));const t=sd.INSTANCE.targets.push(e);return(0,Ae.s)(t)}static ignoreTarget(e){if(!sd.isTouchDevice())return Ae.jG.None;sd.INSTANCE||(sd.INSTANCE=(0,Ae.lC)(new sd));const t=sd.INSTANCE.ignoreTargets.push(e);return(0,Ae.s)(t)}static isTouchDevice(){return"ontouchstart"in o||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,n=e.targetTouches.length;i=sd.HOLD_DELAY&&Math.abs(r.initialPageX-na.RT(r.rollingPageX))<30&&Math.abs(r.initialPageY-na.RT(r.rollingPageY))<30){const e=this.newGestureEvent(id.Contextmenu,r.initialTarget);e.pageX=na.RT(r.rollingPageX),e.pageY=na.RT(r.rollingPageY),this.dispatchEvent(e)}else if(1===n){const t=na.RT(r.rollingPageX),n=na.RT(r.rollingPageY),s=na.RT(r.rollingTimestamps)-r.rollingTimestamps[0],o=t-r.rollingPageX[0],a=n-r.rollingPageY[0],l=[...this.targets].filter((e=>r.initialTarget instanceof Node&&e.contains(r.initialTarget)));this.inertia(e,l,i,Math.abs(o)/s,o>0?1:-1,t,Math.abs(a)/s,a>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(id.End,r.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===id.Tap){const t=(new Date).getTime();let i=0;i=t-this._lastSetTapCountTime>sd.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=t,e.tapCount=i}else e.type!==id.Change&&e.type!==id.Contextmenu||(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let n=0,s=e.initialTarget;for(;s&&s!==i;)n++,s=s.parentElement;t.push([n,i])}t.sort(((e,t)=>e[0]-t[0]));for(const[i,n]of t)n.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,n,s,o,r,a,l){this.handle=nt(e,(()=>{const h=Date.now(),d=h-i;let c=0,u=0,g=!0;n+=sd.SCROLL_FRICTION*d,r+=sd.SCROLL_FRICTION*d,n>0&&(g=!1,c=s*n*d),r>0&&(g=!1,u=a*r*d);const p=this.newGestureEvent(id.Change);p.translationX=c,p.translationY=u,t.forEach((e=>e.dispatchEvent(p))),g||this.inertia(e,t,h,n,s,o+c,r,a,l+u)}))}onTouchMove(e){const t=Date.now();for(let i=0,n=e.changedTouches.length;i3&&(s.rollingPageX.shift(),s.rollingPageY.shift(),s.rollingTimestamps.shift()),s.rollingPageX.push(n.pageX),s.rollingPageY.push(n.pageY),s.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}nd([td],sd,"isTouchDevice",null);let od=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const rd=new Ol.d((()=>od("mouse",!1))),ad=new Ol.d((()=>od("element",!1)));function ld(e){return"element"===e?ad.value:rd.value}function hd(){return od("element",!0)}var dd=i(94901);let cd={showHover:()=>{},hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>null,showManagedHover:()=>{}};function ud(){return cd}dd.Q1.white.toString(),dd.Q1.white.toString();class gd extends Ae.jG{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new P.vl),this._onDidEscape=this._register(new P.vl),this.options=t,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!t.secondary);const i=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,n=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=n||"",this._element.style.backgroundColor=i||"",t.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),"string"==typeof t.title&&this.setTitle(t.title),"string"==typeof t.ariaLabel&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(sd.addTarget(this._element)),[Ut.CLICK,id.Tap].forEach((e=>{this._register(Ye(this._element,e,(e=>{this.enabled?this._onDidClick.fire(e):jt(e)})))})),this._register(Ye(this._element,Ut.KEY_DOWN,(e=>{const t=new N(e);let i=!1;this.enabled&&(t.equals(3)||t.equals(10))?(this._onDidClick.fire(e),i=!0):t.equals(9)&&(this._onDidEscape.fire(e),this._element.blur(),i=!0),i&&jt(t,!0)}))),this._register(Ye(this._element,Ut.MOUSE_OVER,(e=>{this._element.classList.contains("disabled")||this.updateBackground(!0)}))),this._register(Ye(this._element,Ut.MOUSE_OUT,(e=>{this.updateBackground(!1)}))),this.focusTracker=this._register(qt(this._element)),this._register(this.focusTracker.onDidFocus((()=>{this.enabled&&this.updateBackground(!0)}))),this._register(this.focusTracker.onDidBlur((()=>{this.enabled&&this.updateBackground(!1)})))}dispose(){super.dispose(),this._element.remove()}getContentElements(e){const t=[];for(let i of Tl(e))if("string"==typeof i){if(i=i.trim(),""===i)continue;const e=document.createElement("span");e.textContent=i,t.push(e)}else t.push(i);return t}updateBackground(e){let t;t=this.options.secondary?e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){if(this._label===e)return;if(Un(this._label)&&Un(e)&&((t=this._label)===(i=e)||t&&i&&t.value===i.value&&t.isTrusted===i.isTrusted&&t.supportThemeIcons===i.supportThemeIcons&&t.supportHtml===i.supportHtml&&(t.baseUri===i.baseUri||t.baseUri&&i.baseUri&&(0,Bn.n4)(Hn.r.from(t.baseUri),Hn.r.from(i.baseUri)))))return;var t,i;this._element.classList.add("monaco-text-button");const n=this.options.supportShortLabel?this._labelElement:this._element;if(Un(e)){const t=Ql(e,{inline:!0});t.dispose();const i=t.element.querySelector("p")?.innerHTML;if(i){const e=Me(i,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});n.innerHTML=e}else Yt(n)}else this.options.supportIcons?Yt(n,...this.getContentElements(e)):n.textContent=e;let s="";"string"==typeof this.options.title?s=this.options.title:this.options.title&&(s=th(e)),this.setTitle(s),"string"==typeof this.options.ariaLabel?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",s),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...En.L.asClassNameArray(e))}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(e){this._hover||""===e?this._hover&&this._hover.update(e):this._hover=this._register(ud().setupManagedHover(this.options.hoverDelegate??ld("mouse"),this._element,e))}}function pd(e,t){return t&&(e.stack||e.stacktrace)?$n.kg("stackTrace.format","{0}: {1}",fd(e),md(e.stack)||md(e.stacktrace)):fd(e)}function md(e){return Array.isArray(e)?e.join("\n"):e}function fd(e){return"ERR_UNC_HOST_NOT_ALLOWED"===e.code?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof e.code&&"number"==typeof e.errno&&"string"==typeof e.syscall?$n.kg("nodeExceptionMessage","A system error occurred ({0})",e.message):e.message||$n.kg("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function _d(e=null,t=!1){if(!e)return $n.kg("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(e)){const i=na.Yc(e),n=_d(i[0],t);return i.length>1?$n.kg("error.moreErrors","{0} ({1} errors in total)",n,i.length):n}if(rs.Kg(e))return e;if(e.detail){const i=e.detail;if(i.error)return pd(i.error,t);if(i.exception)return pd(i.exception,t)}return e.stack?pd(e,t):e.message?e.message:$n.kg("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}const vd=(0,qn.u1)("contextViewService"),bd=(0,qn.u1)("contextMenuService"),Cd=(0,qn.u1)("keybindingService");var wd=i(66459),yd=wd.A;const Sd=(0,qn.u1)("notificationService");class kd{}var Ld,xd=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Dd=function(e,t){return function(i,n){t(i,n,e)}};let Nd=class extends Ae.jG{static{Ld=this}static{this.baseId="editor.widget.postEditWidget"}constructor(e,t,i,n,s,o,r,a,l,h){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=o,this.onSelectNewEdit=r,this._contextMenuService=a,this._keybindingService=h,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(l),this.visibleContext.set(!0),this._register((0,Ae.s)((()=>this.visibleContext.reset()))),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register((0,Ae.s)((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition((e=>{s.containsPosition(e.position)||this.dispose()}))),this._register(P.Jh.runAndSubscribe(h.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){const e=this._keybindingService.lookupKeybinding(this.showCommand.id)?.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=ei(".post-edit-widget"),this.button=this._register(new gd(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Ye(this.domNode,Ut.CLICK,(()=>this.showSelector())))}getId(){return Ld.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=ct(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map(((e,t)=>ns({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}})))})}};Nd=Ld=xd([Dd(7,bd),Dd(8,hs.fN),Dd(9,Cd)],Nd);let Id=class extends Ae.jG{constructor(e,t,i,n,s,o,r){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=n,this._instantiationService=s,this._bulkEditService=o,this._notificationService=r,this._currentWidget=this._register(new Ae.HE),this._register(P.Jh.any(t.onDidChangeModel,t.onDidChangeModelContent)((()=>this.clear())))}async applyEditAndShowIfNeeded(e,t,i,n,s){const o=this._editor.getModel();if(!o||!e.length)return;const r=t.allEdits.at(t.activeEditIndex);if(!r)return;const a=async o=>{const r=this._editor.getModel();r&&(await r.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:o,allEdits:t.allEdits},i,n,s))},l=(n,s)=>{(0,b.MB)(n)||(this._notificationService.error(s),i&&this.show(e[0],t,a))};let h;try{h=await n(r,s)}catch(m){return l(m,(0,$n.kg)("resolveError","Error resolving edit '{0}':\n{1}",r.title,_d(m)))}if(s.isCancellationRequested)return;const d=dl(o.uri,e,h),c=e[0],u=o.deltaDecorations([],[{range:c,options:{description:"paste-line-suffix",stickiness:0}}]);let g,p;this._editor.focus();try{g=await this._bulkEditService.apply(d,{editor:this._editor,token:s}),p=o.getDecorationRange(u[0])}catch(m){return l(m,(0,$n.kg)("applyError","Error applying edit '{0}':\n{1}",r.title,_d(m)))}finally{o.deltaDecorations(u,[])}s.isCancellationRequested||i&&g.isApplied&&t.allEdits.length>1&&this.show(p??c,t,a)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(Nd,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};Id=xd([Dd(4,qn._Y),Dd(5,wa),Dd(6,Sd)],Id);var Ed,Md=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Td=function(e,t){return function(i,n){t(i,n,e)}};const Rd="editor.changePasteType",Ad=new hs.N1("pasteWidgetVisible",!1,(0,$n.kg)("pasteWidgetVisible","Whether the paste widget is showing")),Pd="application/vnd.code.copyMetadata";let Od=class extends Ae.jG{static{Ed=this}static{this.ID="editor.contrib.copyPasteActionController"}static get(e){return e.getContribution(Ed.ID)}constructor(e,t,i,n,s,o,r){super(),this._bulkEditService=i,this._clipboardService=n,this._languageFeaturesService=s,this._quickInputService=o,this._progressService=r,this._editor=e;const a=e.getContainerDomNode();this._register(Ye(a,"copy",(e=>this.handleCopy(e)))),this._register(Ye(a,"cut",(e=>this.handleCopy(e)))),this._register(Ye(a,"paste",(e=>this.handlePaste(e)),!0)),this._pasteProgressManager=this._register(new kl("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(Id,"pasteIntoEditor",e,Ad,{id:Rd,label:(0,$n.kg)("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Lt().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){if(!this._editor.hasTextFocus())return;if(this._clipboardService.clearInternalState?.(),!e.clipboardData||!this.isPasteAsEnabled())return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!i?.length)return;const n=this._editor.getOption(37);let s=i;const o=1===i.length&&i[0].isEmpty();if(o){if(!n)return;s=[new Js.Q(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const r=this._editor._getViewModel()?.getPlainTextToCopy(i,n,f.uF),a={multicursorText:Array.isArray(r)?r:null,pasteOnNewLine:o,mode:null},l=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter((e=>!!e.prepareDocumentPaste));if(!l.length)return void this.setCopyMetadata(e.clipboardData,{defaultPastePayload:a});const h=_a(e.clipboardData),d=l.flatMap((e=>e.copyMimeTypes??[])),c=oa();this.setCopyMetadata(e.clipboardData,{id:c,providerCopyMimeTypes:d,defaultPastePayload:a});const u=(0,A.SS)((async e=>{const i=(0,na.Yc)(await Promise.all(l.map((async i=>{try{return await i.prepareDocumentPaste(t,s,h,e)}catch(n){return void console.error(n)}}))));i.reverse();for(const t of i)for(const[e,i]of t)h.replace(e,i);return h}));Ed._currentCopyOperation?.dataTransferPromise.cancel(),Ed._currentCopyOperation={handle:c,dataTransferPromise:u}}async handlePaste(e){if(!e.clipboardData||!this._editor.hasTextFocus())return;Uh.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!i?.length||!t)return;if(this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const n=this.fetchCopyMetadata(e),s=Ca(e.clipboardData);s.delete(Pd);const o=[...e.clipboardData.types,...n?.providerCopyMimeTypes??[],Ur.K.uriList],r=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter((e=>{const t=this._pasteAsActionContext?.preferred;return!(t&&e.providedPasteEditKinds&&!this.providerMatchesPreference(e,t))&&e.pasteMimeTypes?.some((e=>ha(e,o)))}));r.length?(e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,r,i,s,n):this.doPasteInline(r,i,s,n,e)):this._pasteAsActionContext?.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred)}showPasteAsNoEditMessage(e,t){Uh.get(this._editor)?.showMessage((0,$n.kg)("pasteAsError","No paste edits for '{0}' found",t instanceof ua?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const o=this._editor;if(!o.hasModel())return;const r=new _l(o,3,void 0),a=(0,A.SS)((async o=>{const l=this._editor;if(!l.hasModel())return;const h=l.getModel(),d=new Ae.Cm,c=d.add(new sa.Qi(o));d.add(r.token.onCancellationRequested((()=>c.cancel())));const u=c.token;try{if(await this.mergeInDataFromCopy(i,n,u),u.isCancellationRequested)return;const o=e.filter((e=>this.isSupportedPasteProvider(e,i)));if(!o.length||1===o.length&&o[0]instanceof ja)return this.applyDefaultPasteHandler(i,n,u,s);const r={triggerKind:La.FX.Automatic},a=await this.getPasteEdits(o,i,h,t,r,u);if(d.add(a),u.isCancellationRequested)return;if(1===a.edits.length&&a.edits[0].provider instanceof ja)return this.applyDefaultPasteHandler(i,n,u,s);if(a.edits.length){const e="afterPaste"===l.getOption(85).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:a.edits},e,((e,i)=>new Promise(((n,s)=>{(async()=>{try{const o=e.provider.resolveDocumentPasteEdit?.(e,i),r=new A.Zv,a=o&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),(0,$n.kg)("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([r.p,o]),{cancel:()=>(r.cancel(),s(new b.AL))},0);return a&&(e.additionalEdit=a.additionalEdit),n(e)}catch(o){return s(o)}})()}))),u)}await this.applyDefaultPasteHandler(i,n,u,s)}finally{d.dispose(),this._currentPasteOperation===a&&(this._currentPasteOperation=void 0)}}));this._pasteProgressManager.showWhile(t[0].getEndPosition(),(0,$n.kg)("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),a,{cancel:async()=>{try{if(a.cancel(),r.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,r.token,s)}finally{r.dispose()}}}).then((()=>{r.dispose()})),this._currentPasteOperation=a}showPasteAsPick(e,t,i,n,s){const o=(0,A.SS)((async r=>{const a=this._editor;if(!a.hasModel())return;const l=a.getModel(),h=new Ae.Cm,d=h.add(new _l(a,3,void 0,r));try{if(await this.mergeInDataFromCopy(n,s,d.token),d.token.isCancellationRequested)return;let o=t.filter((t=>this.isSupportedPasteProvider(t,n,e)));e&&(o=o.filter((t=>this.providerMatchesPreference(t,e))));const r={triggerKind:La.FX.PasteAs,only:e&&e instanceof ua?e:void 0};let a,c=h.add(await this.getPasteEdits(o,n,l,i,r,d.token));if(d.token.isCancellationRequested)return;if(e&&(c={edits:c.edits.filter((t=>e instanceof ua?e.contains(t.kind):e.providerId===t.provider.id)),dispose:c.dispose}),!c.edits.length)return void(r.only&&this.showPasteAsNoEditMessage(i,r.only));if(e)a=c.edits.at(0);else{const e=await this._quickInputService.pick(c.edits.map((e=>({label:e.title,description:e.kind?.value,edit:e}))),{placeHolder:(0,$n.kg)("pasteAsPickerPlaceholder","Select Paste Action")});a=e?.edit}if(!a)return;const u=dl(l.uri,i,a);await this._bulkEditService.apply(u,{editor:this._editor})}finally{h.dispose(),this._currentPasteOperation===o&&(this._currentPasteOperation=void 0)}}));this._progressService.withProgress({location:10,title:(0,$n.kg)("pasteAsProgress","Running paste handlers")},(()=>o))}setCopyMetadata(e,t){e.setData(Pd,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Pd);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=ta.getTextData(e.clipboardData);return n?{defaultPastePayload:{mode:n.mode,multicursorText:n.multicursorText??null,pasteOnNewLine:!!n.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(e,t,i){if(t?.id&&Ed._currentCopyOperation?.handle===t.id){const t=await Ed._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[i,n]of t)e.replace(i,n)}if(!e.has(Ur.K.uriList)){const t=await this._clipboardService.readResources();if(i.isCancellationRequested)return;t.length&&e.append(Ur.K.uriList,ra(ca.create(t)))}}async getPasteEdits(e,t,i,n,s,o){const r=new Ae.Cm,a=await(0,A.PK)(Promise.all(e.map((async e=>{try{const a=await(e.provideDocumentPasteEdits?.(i,n,t,s,o));return a&&r.add(a),a?.edits?.map((t=>({...t,provider:e})))}catch(a){return void((0,b.MB)(a)||console.error(a))}}))),o);return{edits:cl((0,na.Yc)(a??[]).flat().filter((e=>!s.only||s.only.contains(e.kind)))),dispose:()=>r.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Ur.K.text)??e.get("text"),o=await(s?.asString())??"";if(i.isCancellationRequested)return;const r={clipboardEvent:n,text:o,pasteOnNewLine:t?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:t?.defaultPastePayload.multicursorText??null,mode:null};this._editor.trigger("keyboard","paste",r)}isSupportedPasteProvider(e,t,i){return!!e.pasteMimeTypes?.some((e=>t.matches(e)))&&(!i||this.providerMatchesPreference(e,i))}providerMatchesPreference(e,t){return t instanceof ua?!e.providedPasteEditKinds||e.providedPasteEditKinds.some((e=>t.contains(e))):e.id===t.providerId}};Od=Ed=Md([Td(1,qn._Y),Td(2,wa),Td(3,jh),Td(4,xa.ILanguageFeaturesService),Td(5,ed),Td(6,$h)],Od);const Fd="9_cutcopypaste",Wd=f.ib||document.queryCommandSupported("cut"),Bd=f.ib||document.queryCommandSupported("copy"),Hd=void 0!==navigator.clipboard&&!h||document.queryCommandSupported("paste");function Vd(e){return e.register(),e}const zd=Wd?Vd(new Es({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:f.ib?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:vs.MenubarEditMenu,group:"2_ccp",title:$n.kg({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:vs.EditorContext,group:Fd,title:$n.kg("actions.clipboard.cutLabel","Cut"),when:$s.writable,order:1},{menuId:vs.CommandPalette,group:"",title:$n.kg("actions.clipboard.cutLabel","Cut"),order:1},{menuId:vs.SimpleEditorContext,group:Fd,title:$n.kg("actions.clipboard.cutLabel","Cut"),when:$s.writable,order:1}]})):void 0,Ud=Bd?Vd(new Es({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:f.ib?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:vs.MenubarEditMenu,group:"2_ccp",title:$n.kg({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:vs.EditorContext,group:Fd,title:$n.kg("actions.clipboard.copyLabel","Copy"),order:2},{menuId:vs.CommandPalette,group:"",title:$n.kg("actions.clipboard.copyLabel","Copy"),order:1},{menuId:vs.SimpleEditorContext,group:Fd,title:$n.kg("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ws.appendMenuItem(vs.MenubarEditMenu,{submenu:vs.MenubarCopy,title:$n.aS("copy as","Copy As"),group:"2_ccp",order:3}),ws.appendMenuItem(vs.EditorContext,{submenu:vs.EditorContextCopy,title:$n.aS("copy as","Copy As"),group:Fd,order:3}),ws.appendMenuItem(vs.EditorContext,{submenu:vs.EditorContextShare,title:$n.aS("share","Share"),group:"11_share",order:-1,when:hs.M$.and(hs.M$.notEquals("resourceScheme","output"),$s.editorTextFocus)}),ws.appendMenuItem(vs.ExplorerContext,{submenu:vs.ExplorerContextShare,title:$n.aS("share","Share"),group:"11_share",order:-1});const Kd=Hd?Vd(new Es({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:f.ib?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:vs.MenubarEditMenu,group:"2_ccp",title:$n.kg({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:vs.EditorContext,group:Fd,title:$n.kg("actions.clipboard.pasteLabel","Paste"),when:$s.writable,order:4},{menuId:vs.CommandPalette,group:"",title:$n.kg("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:vs.SimpleEditorContext,group:Fd,title:$n.kg("actions.clipboard.pasteLabel","Paste"),when:$s.writable,order:4}]})):void 0;class jd extends Rs{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:$n.kg("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:$s.textInputFocus,primary:0,weight:100}})}run(e,t){if(!t.hasModel())return;!t.getOption(37)&&t.getSelection().isEmpty()||(Zr.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),Zr.forceCopyWithSyntaxHighlighting=!1)}}function $d(e,t){e&&(e.addImplementation(1e4,"code-editor",((e,i)=>{const n=e.get(Gn).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const e=n.getOption(37),i=n.getSelection();return i&&i.isEmpty()&&!e||n.getContainerDomNode().ownerDocument.execCommand(t),!0}return!1})),e.addImplementation(0,"generic-dom",((e,i)=>(Lt().execCommand(t),!0))))}$d(zd,"cut"),$d(Ud,"copy"),Kd&&(Kd.addImplementation(1e4,"code-editor",((e,t)=>{const i=e.get(Gn),n=e.get(jh),s=i.getFocusedCodeEditor();if(s&&s.hasTextFocus()){return s.getContainerDomNode().ownerDocument.execCommand("paste")?Od.get(s)?.finishedPaste()??Promise.resolve():!f.HZ||(async()=>{const e=await n.readText();if(""!==e){const t=Xr.INSTANCE.get(e);let i=!1,n=null,o=null;t&&(i=s.getOption(37)&&!!t.isFromEmptySelection,n=void 0!==t.multicursorText?t.multicursorText:null,o=t.mode),s.trigger("keyboard","paste",{text:e,pasteOnNewLine:i,multicursorText:n,mode:o})}})()}return!1})),Kd.addImplementation(0,"generic-dom",((e,t)=>(Lt().execCommand("paste"),!0)))),Bd&&Ws(jd);const qd={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1};var Gd=i(12590),Qd=i(18782);class Yd{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class Zd{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class Xd{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return ec(e,t)}compute(e,t,i){return i}}class Jd{constructor(e,t){this.newValue=e,this.didChange=t}}function ec(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return new Jd(t,e!==t);if(Array.isArray(e)||Array.isArray(t)){const i=Array.isArray(e)&&Array.isArray(t)&&na.aI(e,t);return new Jd(t,!i)}let i=!1;for(const n in t)if(t.hasOwnProperty(n)){const s=ec(e[n],t[n]);s.didChange&&(e[n]=s.newValue,i=!0)}return new Jd(e,i)}class tc{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return ec(e,t)}validate(e){return this.defaultValue}}class ic{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return ec(e,t)}validate(e){return void 0===e?this.defaultValue:e}compute(e,t,i){return i}}function nc(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}class sc extends ic{constructor(e,t,i,n=void 0){void 0!==n&&(n.type="boolean",n.default=i),super(e,t,i,n)}validate(e){return nc(e,this.defaultValue)}}function oc(e,t,i,n){if(void 0===e)return t;let s=parseInt(e,10);return isNaN(s)?t:(s=Math.max(i,s),s=Math.min(n,s),0|s)}class rc extends ic{static clampedInt(e,t,i,n){return oc(e,t,i,n)}constructor(e,t,i,n,s,o=void 0){void 0!==o&&(o.type="integer",o.default=i,o.minimum=n,o.maximum=s),super(e,t,i,o),this.minimum=n,this.maximum=s}validate(e){return rc.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function ac(e,t,i,n){if(void 0===e)return t;const s=lc.float(e,t);return lc.clamp(s,i,n)}class lc extends ic{static clamp(e,t,i){return ei?i:e}static float(e,t){if("number"==typeof e)return e;if(void 0===e)return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,n,s){void 0!==s&&(s.type="number",s.default=i),super(e,t,i,s),this.validationFn=n}validate(e){return this.validationFn(lc.float(e,this.defaultValue))}}class hc extends ic{static string(e,t){return"string"!=typeof e?t:e}constructor(e,t,i,n=void 0){void 0!==n&&(n.type="string",n.default=i),super(e,t,i,n)}validate(e){return hc.string(e,this.defaultValue)}}function dc(e,t,i,n){return"string"!=typeof e?t:n&&e in n?n[e]:-1===i.indexOf(e)?t:e}class cc extends ic{constructor(e,t,i,n,s=void 0){void 0!==s&&(s.type="string",s.enum=n,s.default=i),super(e,t,i,s),this._allowedValues=n}validate(e){return dc(e,this.defaultValue,this._allowedValues)}}class uc extends Xd{constructor(e,t,i,n,s,o,r=void 0){void 0!==r&&(r.type="string",r.enum=s,r.default=n),super(e,t,i,r),this._allowedValues=s,this._convert=o}validate(e){return"string"!=typeof e||-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)}}var gc,pc;!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(gc||(gc={}));class mc extends Xd{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(51,"fontLigatures",mc.OFF,{anyOf:[{type:"boolean",description:$n.kg("fontLigatures","Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:$n.kg("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:$n.kg("fontLigaturesGeneral","Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e||0===e.length?mc.OFF:"true"===e?mc.ON:e:Boolean(e)?mc.ON:mc.OFF}}class fc extends Xd{static{this.OFF="normal"}static{this.TRANSLATE="translate"}constructor(){super(54,"fontVariations",fc.OFF,{anyOf:[{type:"boolean",description:$n.kg("fontVariations","Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:$n.kg("fontVariationSettings","Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:$n.kg("fontVariationsGeneral","Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?fc.OFF:"true"===e?fc.TRANSLATE:e:Boolean(e)?fc.TRANSLATE:fc.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}}class _c extends Xd{static{this.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(53,"fontWeight",Ec.fontWeight,{anyOf:[{type:"number",minimum:_c.MINIMUM_VALUE,maximum:_c.MAXIMUM_VALUE,errorMessage:$n.kg("fontWeightErrorMessage",'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:_c.SUGGESTION_VALUES}],default:Ec.fontWeight,description:$n.kg("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return"normal"===e||"bold"===e?e:String(rc.clampedInt(e,Ec.fontWeight,_c.MINIMUM_VALUE,_c.MAXIMUM_VALUE))}}class vc extends tc{constructor(){super(146)}compute(e,t,i){return vc.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let n=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(n=Math.max(n,t-1));const s=(i+e.viewLineCount+n)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:n,desiredRatio:s,minimapLineCount:Math.floor(e.viewLineCount/s)}}static _computeMinimapLayout(e,t){const i=e.outerWidth,n=e.outerHeight,s=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(s*n),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:n};const o=t.stableMinimapLayoutInput,r=o&&e.outerHeight===o.outerHeight&&e.lineHeight===o.lineHeight&&e.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&e.pixelRatio===o.pixelRatio&&e.scrollBeyondLastLine===o.scrollBeyondLastLine&&e.paddingTop===o.paddingTop&&e.paddingBottom===o.paddingBottom&&e.minimap.enabled===o.minimap.enabled&&e.minimap.side===o.minimap.side&&e.minimap.size===o.minimap.size&&e.minimap.showSlider===o.minimap.showSlider&&e.minimap.renderCharacters===o.minimap.renderCharacters&&e.minimap.maxColumn===o.minimap.maxColumn&&e.minimap.scale===o.minimap.scale&&e.verticalScrollbarWidth===o.verticalScrollbarWidth&&e.isViewportWrapping===o.isViewportWrapping,a=e.lineHeight,l=e.typicalHalfwidthCharacterWidth,h=e.scrollBeyondLastLine,d=e.minimap.renderCharacters;let c=s>=2?Math.round(2*e.minimap.scale):e.minimap.scale;const u=e.minimap.maxColumn,g=e.minimap.size,p=e.minimap.side,m=e.verticalScrollbarWidth,f=e.viewLineCount,_=e.remainingWidth,v=e.isViewportWrapping,b=d?2:3;let C=Math.floor(s*n);const w=C/s;let y=!1,S=!1,k=b*c,L=c/s,x=1;if("fill"===g||"fit"===g){const{typicalViewportLineCount:i,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:l,desiredRatio:d,minimapLineCount:u}=vc.computeContainedMinimapLineCount({viewLineCount:f,scrollBeyondLastLine:h,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:n,lineHeight:a,pixelRatio:s});if(f/u>1)y=!0,S=!0,c=1,k=1,L=c/s;else{let n=!1,h=c+1;if("fit"===g){const e=Math.ceil((o+f+l)*k);v&&r&&_<=t.stableFitRemainingWidth?(n=!0,h=t.stableFitMaxMinimapScale):n=e>C}if("fill"===g||n){y=!0;const n=c;k=Math.min(a*s,Math.max(1,Math.floor(1/d))),v&&r&&_<=t.stableFitRemainingWidth&&(h=t.stableFitMaxMinimapScale),c=Math.min(h,Math.max(1,Math.floor(k/b))),c>n&&(x=Math.min(2,c/n)),L=c/s/x,C=Math.ceil(Math.max(i,o+f+l)*k),v?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=_,t.stableFitMaxMinimapScale=c):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const D=Math.floor(u*L),N=Math.min(D,Math.max(0,Math.floor((_-m-2)*L/(l+L)))+8);let I=Math.floor(s*N);const E=I/s;I=Math.floor(I*x);return{renderMinimap:d?1:2,minimapLeft:"left"===p?0:i-N-m,minimapWidth:N,minimapHeightIsEditorHeight:y,minimapIsSampling:S,minimapScale:c,minimapLineHeight:k,minimapCanvasInnerWidth:I,minimapCanvasInnerHeight:C,minimapCanvasOuterWidth:E,minimapCanvasOuterHeight:w}}static computeLayout(e,t){const i=0|t.outerWidth,n=0|t.outerHeight,s=0|t.lineHeight,o=0|t.lineNumbersDigitCount,r=t.typicalHalfwidthCharacterWidth,a=t.maxDigitWidth,l=t.pixelRatio,h=t.viewLineCount,d=e.get(138),c="inherit"===d?e.get(137):d,u="inherit"===c?e.get(133):c,g=e.get(136),p=t.isDominatedByLongLines,m=e.get(57),f=0!==e.get(68).renderType,_=e.get(69),v=e.get(106),b=e.get(84),C=e.get(73),w=e.get(104),y=w.verticalScrollbarSize,S=w.verticalHasArrows,k=w.arrowSize,L=w.horizontalScrollbarSize,x=e.get(43),D="never"!==e.get(111);let N=e.get(66);x&&D&&(N+=16);let I=0;if(f){const e=Math.max(o,_);I=Math.round(e*a)}let E=0;m&&(E=s*t.glyphMarginDecorationLaneCount);let M=0,T=M+E,R=T+I,A=R+N;const P=i-E-I-N;let O=!1,F=!1,W=-1;"inherit"===c&&p?(O=!0,F=!0):"on"===u||"bounded"===u?F=!0:"wordWrapColumn"===u&&(W=g);const B=vc._computeMinimapLayout({outerWidth:i,outerHeight:n,lineHeight:s,typicalHalfwidthCharacterWidth:r,pixelRatio:l,scrollBeyondLastLine:v,paddingTop:b.top,paddingBottom:b.bottom,minimap:C,verticalScrollbarWidth:y,viewLineCount:h,remainingWidth:P,isViewportWrapping:F},t.memory||new Zd);0!==B.renderMinimap&&0===B.minimapLeft&&(M+=B.minimapWidth,T+=B.minimapWidth,R+=B.minimapWidth,A+=B.minimapWidth);const H=P-B.minimapWidth,V=Math.max(1,Math.floor((H-y-2)/r)),z=S?k:0;return F&&(W=Math.max(1,V),"bounded"===u&&(W=Math.min(W,g))),{width:i,height:n,glyphMarginLeft:M,glyphMarginWidth:E,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:T,lineNumbersWidth:I,decorationsLeft:R,decorationsWidth:N,contentLeft:A,contentWidth:H,minimap:B,viewportColumn:V,isWordWrapMinified:O,isViewportWrapping:F,wrappingColumn:W,verticalScrollbarWidth:y,horizontalScrollbarHeight:L,overviewRuler:{top:z,width:y,height:n-2*z,right:0}}}}!function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(pc||(pc={}));function bc(e){const t=e.get(99);return"editable"===t?e.get(92):"on"!==t}function Cc(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return 2;case"visible":return 3;default:return 1}}const wc="inUntrustedWorkspace",yc="editor.unicodeHighlight.allowedCharacters",Sc="editor.unicodeHighlight.invisibleCharacters",kc="editor.unicodeHighlight.nonBasicASCII",Lc="editor.unicodeHighlight.ambiguousCharacters",xc="editor.unicodeHighlight.includeComments",Dc="editor.unicodeHighlight.includeStrings",Nc="editor.unicodeHighlight.allowedLocales";function Ic(e,t,i){const n=i.indexOf(e);return-1===n?t:i[n]}const Ec={fontFamily:f.zx?"Menlo, Monaco, 'Courier New', monospace":f.j9?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:f.zx?12:14,lineHeight:0,letterSpacing:0},Mc=[];function Tc(e){return Mc[e.id]=e,e}const Rc={acceptSuggestionOnCommitCharacter:Tc(new sc(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:$n.kg("acceptSuggestionOnCommitCharacter","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:Tc(new cc(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",$n.kg("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:$n.kg("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:Tc(new class extends Xd{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[$n.kg("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached."),$n.kg("accessibilitySupport.on","Optimize for usage with a Screen Reader."),$n.kg("accessibilitySupport.off","Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:$n.kg("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return 0===i?e.accessibilitySupport:i}}),accessibilityPageSize:Tc(new rc(3,"accessibilityPageSize",10,1,1073741824,{description:$n.kg("accessibilityPageSize","Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:Tc(new hc(4,"ariaLabel",$n.kg("editorViewAccessibleLabel","Editor content"))),ariaRequired:Tc(new sc(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:Tc(new sc(8,"screenReaderAnnounceInlineSuggestion",!0,{description:$n.kg("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:Tc(new cc(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",$n.kg("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),$n.kg("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:$n.kg("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:Tc(new cc(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",$n.kg("editor.autoClosingComments.languageDefined","Use language configurations to determine when to autoclose comments."),$n.kg("editor.autoClosingComments.beforeWhitespace","Autoclose comments only when the cursor is to the left of whitespace."),""],description:$n.kg("autoClosingComments","Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:Tc(new cc(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",$n.kg("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:$n.kg("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:Tc(new cc(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",$n.kg("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:$n.kg("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:Tc(new cc(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",$n.kg("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),$n.kg("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:$n.kg("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:Tc(new uc(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(e){switch(e){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[$n.kg("editor.autoIndent.none","The editor will not insert indentation automatically."),$n.kg("editor.autoIndent.keep","The editor will keep the current line's indentation."),$n.kg("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),$n.kg("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),$n.kg("editor.autoIndent.full","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:$n.kg("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:Tc(new sc(13,"automaticLayout",!1)),autoSurround:Tc(new cc(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[$n.kg("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),$n.kg("editor.autoSurround.quotes","Surround with quotes but not brackets."),$n.kg("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:$n.kg("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:Tc(new class extends Xd{constructor(){const e={enabled:Gd.R.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Gd.R.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:$n.kg("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:$n.kg("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:nc(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:nc(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:Tc(new class extends Xd{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[$n.kg("editor.guides.bracketPairs.true","Enables bracket pair guides."),$n.kg("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),$n.kg("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:$n.kg("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[$n.kg("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),$n.kg("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),$n.kg("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:$n.kg("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:$n.kg("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:$n.kg("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[$n.kg("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),$n.kg("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),$n.kg("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:$n.kg("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{bracketPairs:Ic(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Ic(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:nc(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:nc(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:Ic(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:Tc(new sc(117,"stickyTabStops",!1,{description:$n.kg("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:Tc(new sc(17,"codeLens",!0,{description:$n.kg("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:Tc(new hc(18,"codeLensFontFamily","",{description:$n.kg("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:Tc(new rc(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:$n.kg("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:Tc(new sc(20,"colorDecorators",!0,{description:$n.kg("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:Tc(new cc(149,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[$n.kg("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),$n.kg("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),$n.kg("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:$n.kg("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:Tc(new rc(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:$n.kg("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:Tc(new sc(22,"columnSelection",!1,{description:$n.kg("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:Tc(new class extends Xd{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:$n.kg("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:$n.kg("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertSpace:nc(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:nc(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:Tc(new sc(24,"contextmenu",!0)),copyWithSyntaxHighlighting:Tc(new sc(25,"copyWithSyntaxHighlighting",!0,{description:$n.kg("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:Tc(new uc(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(e){switch(e){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:$n.kg("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:Tc(new cc(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[$n.kg("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),$n.kg("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),$n.kg("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:$n.kg("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:Tc(new uc(28,"cursorStyle",gc.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(e){switch(e){case"line":return gc.Line;case"block":return gc.Block;case"underline":return gc.Underline;case"line-thin":return gc.LineThin;case"block-outline":return gc.BlockOutline;case"underline-thin":return gc.UnderlineThin}}),{description:$n.kg("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:Tc(new rc(29,"cursorSurroundingLines",0,0,1073741824,{description:$n.kg("cursorSurroundingLines","Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:Tc(new cc(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[$n.kg("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),$n.kg("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],markdownDescription:$n.kg("cursorSurroundingLinesStyle","Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:Tc(new rc(31,"cursorWidth",0,0,1073741824,{markdownDescription:$n.kg("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:Tc(new sc(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:Tc(new sc(33,"disableMonospaceOptimizations",!1)),domReadOnly:Tc(new sc(34,"domReadOnly",!1)),dragAndDrop:Tc(new sc(35,"dragAndDrop",!0,{description:$n.kg("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:Tc(new class extends sc{constructor(){super(37,"emptySelectionClipboard",!0,{description:$n.kg("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}),dropIntoEditor:Tc(new class extends Xd{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:$n.kg("dropIntoEditor.enabled","Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:$n.kg("dropIntoEditor.showDropSelector","Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[$n.kg("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),$n.kg("dropIntoEditor.showDropSelector.never","Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:nc(t.enabled,this.defaultValue.enabled),showDropSelector:dc(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:Tc(new class extends Xd{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(116,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:$n.kg("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:$n.kg("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:$n.kg("editor.stickyScroll.defaultModel","Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:$n.kg("editor.stickyScroll.scrollWithEditor","Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:nc(t.enabled,this.defaultValue.enabled),maxLineCount:rc.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:dc(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:nc(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:Tc(new cc(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[$n.kg("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),$n.kg("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),$n.kg("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:$n.kg("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:Tc(new hc(39,"extraEditorClassName","")),fastScrollSensitivity:Tc(new lc(40,"fastScrollSensitivity",5,(e=>e<=0?5:e),{markdownDescription:$n.kg("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:Tc(new class extends Xd{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:$n.kg("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[$n.kg("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),$n.kg("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),$n.kg("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:$n.kg("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[$n.kg("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),$n.kg("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),$n.kg("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:$n.kg("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:$n.kg("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:f.zx},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:$n.kg("find.addExtraSpaceOnTop","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:$n.kg("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{cursorMoveOnType:nc(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof e.seedSearchStringFromSelection?e.seedSearchStringFromSelection?"always":"never":dc(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":dc(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:nc(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:nc(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:nc(t.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:Tc(new sc(42,"fixedOverflowWidgets",!1)),folding:Tc(new sc(43,"folding",!0,{description:$n.kg("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:Tc(new cc(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[$n.kg("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),$n.kg("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:$n.kg("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:Tc(new sc(45,"foldingHighlight",!0,{description:$n.kg("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:Tc(new sc(46,"foldingImportsByDefault",!1,{description:$n.kg("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:Tc(new rc(47,"foldingMaximumRegions",5e3,10,65e3,{description:$n.kg("foldingMaximumRegions","The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:Tc(new sc(48,"unfoldOnClickAfterEndOfLine",!1,{description:$n.kg("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:Tc(new hc(49,"fontFamily",Ec.fontFamily,{description:$n.kg("fontFamily","Controls the font family.")})),fontInfo:Tc(new class extends tc{constructor(){super(50)}compute(e,t,i){return e.fontInfo}}),fontLigatures2:Tc(new mc),fontSize:Tc(new class extends ic{constructor(){super(52,"fontSize",Ec.fontSize,{type:"number",minimum:6,maximum:100,default:Ec.fontSize,description:$n.kg("fontSize","Controls the font size in pixels.")})}validate(e){const t=lc.float(e,this.defaultValue);return 0===t?Ec.fontSize:lc.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}),fontWeight:Tc(new _c),fontVariations:Tc(new fc),formatOnPaste:Tc(new sc(55,"formatOnPaste",!1,{description:$n.kg("formatOnPaste","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:Tc(new sc(56,"formatOnType",!1,{description:$n.kg("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:Tc(new sc(57,"glyphMargin",!0,{description:$n.kg("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:Tc(new class extends Xd{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[$n.kg("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),$n.kg("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),$n.kg("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:$n.kg("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:$n.kg("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:$n.kg("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:$n.kg("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:$n.kg("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:$n.kg("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:$n.kg("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:$n.kg("alternativeTypeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:$n.kg("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:$n.kg("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:$n.kg("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{multiple:dc(t.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:t.multipleDefinitions??dc(t.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:t.multipleTypeDefinitions??dc(t.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:t.multipleDeclarations??dc(t.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:t.multipleImplementations??dc(t.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:t.multipleReferences??dc(t.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:t.multipleTests??dc(t.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:hc.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:hc.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:hc.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:hc.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:hc.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:hc.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}),hideCursorInOverviewRuler:Tc(new sc(59,"hideCursorInOverviewRuler",!1,{description:$n.kg("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:Tc(new class extends Xd{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:$n.kg("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:$n.kg("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:$n.kg("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:$n.kg("hover.hidingDelay","Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:$n.kg("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:nc(t.enabled,this.defaultValue.enabled),delay:rc.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:nc(t.sticky,this.defaultValue.sticky),hidingDelay:rc.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:nc(t.above,this.defaultValue.above)}}}),inDiffEditor:Tc(new sc(61,"inDiffEditor",!1)),letterSpacing:Tc(new lc(64,"letterSpacing",Ec.letterSpacing,(e=>lc.clamp(e,-5,20)),{description:$n.kg("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:Tc(new class extends Xd{constructor(){const e={enabled:pc.OnCode};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[pc.Off,pc.OnCode,pc.On],default:e.enabled,enumDescriptions:[$n.kg("editor.lightbulb.enabled.off","Disable the code action menu."),$n.kg("editor.lightbulb.enabled.onCode","Show the code action menu when the cursor is on lines with code."),$n.kg("editor.lightbulb.enabled.on","Show the code action menu when the cursor is on lines with code or on empty lines.")],description:$n.kg("enabled","Enables the Code Action lightbulb in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;return{enabled:dc(e.enabled,this.defaultValue.enabled,[pc.Off,pc.OnCode,pc.On])}}}),lineDecorationsWidth:Tc(new class extends Xd{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){if("string"==typeof e&&/^\d+(\.\d+)?ch$/.test(e)){return-parseFloat(e.substring(0,e.length-2))}return rc.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?rc.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}),lineHeight:Tc(new class extends lc{constructor(){super(67,"lineHeight",Ec.lineHeight,(e=>lc.clamp(e,0,150)),{markdownDescription:$n.kg("lineHeight","Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(e,t,i){return e.fontInfo.lineHeight}}),lineNumbers:Tc(new class extends Xd{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[$n.kg("lineNumbers.off","Line numbers are not rendered."),$n.kg("lineNumbers.on","Line numbers are rendered as absolute number."),$n.kg("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),$n.kg("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:$n.kg("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return void 0!==e&&("function"==typeof e?(t=4,i=e):t="interval"===e?3:"relative"===e?2:"on"===e?1:0),{renderType:t,renderFn:i}}}),lineNumbersMinChars:Tc(new rc(69,"lineNumbersMinChars",5,1,300)),linkedEditing:Tc(new sc(70,"linkedEditing",!1,{description:$n.kg("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:Tc(new sc(71,"links",!0,{description:$n.kg("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:Tc(new cc(72,"matchBrackets","always",["always","near","never"],{description:$n.kg("matchBrackets","Highlight matching brackets.")})),minimap:Tc(new class extends Xd{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:$n.kg("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:$n.kg("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[$n.kg("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),$n.kg("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),$n.kg("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:$n.kg("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:$n.kg("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:$n.kg("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:$n.kg("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:$n.kg("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:$n.kg("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:$n.kg("minimap.showRegionSectionHeaders","Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:$n.kg("minimap.showMarkSectionHeaders","Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:$n.kg("minimap.sectionHeaderFontSize","Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:e.sectionHeaderLetterSpacing,description:$n.kg("minimap.sectionHeaderLetterSpacing","Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:nc(t.enabled,this.defaultValue.enabled),autohide:nc(t.autohide,this.defaultValue.autohide),size:dc(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:dc(t.side,this.defaultValue.side,["right","left"]),showSlider:dc(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:nc(t.renderCharacters,this.defaultValue.renderCharacters),scale:rc.clampedInt(t.scale,1,1,3),maxColumn:rc.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:nc(t.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:nc(t.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:lc.clamp(t.sectionHeaderFontSize??this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:lc.clamp(t.sectionHeaderLetterSpacing??this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}),mouseStyle:Tc(new cc(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:Tc(new lc(75,"mouseWheelScrollSensitivity",1,(e=>0===e?1:e),{markdownDescription:$n.kg("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:Tc(new sc(76,"mouseWheelZoom",!1,{markdownDescription:f.zx?$n.kg("mouseWheelZoom.mac","Zoom the font of the editor when using mouse wheel and holding `Cmd`."):$n.kg("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:Tc(new sc(77,"multiCursorMergeOverlapping",!0,{description:$n.kg("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:Tc(new uc(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(e){return"ctrlCmd"===e?f.zx?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[$n.kg("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),$n.kg("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:$n.kg({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:Tc(new cc(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[$n.kg("multiCursorPaste.spread","Each cursor pastes a single line of the text."),$n.kg("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:$n.kg("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:Tc(new rc(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:$n.kg("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:Tc(new cc(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[$n.kg("occurrencesHighlight.off","Does not highlight occurrences."),$n.kg("occurrencesHighlight.singleFile","Highlights occurrences only in the current file."),$n.kg("occurrencesHighlight.multiFile","Experimental: Highlights occurrences across all valid open files.")],markdownDescription:$n.kg("occurrencesHighlight","Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:Tc(new sc(82,"overviewRulerBorder",!0,{description:$n.kg("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:Tc(new rc(83,"overviewRulerLanes",3,0,3)),padding:Tc(new class extends Xd{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:$n.kg("padding.top","Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:$n.kg("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{top:rc.clampedInt(t.top,0,0,1e3),bottom:rc.clampedInt(t.bottom,0,0,1e3)}}}),pasteAs:Tc(new class extends Xd{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:$n.kg("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:$n.kg("pasteAs.showPasteSelector","Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[$n.kg("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),$n.kg("pasteAs.showPasteSelector.never","Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:nc(t.enabled,this.defaultValue.enabled),showPasteSelector:dc(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:Tc(new class extends Xd{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:$n.kg("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:$n.kg("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:nc(t.enabled,this.defaultValue.enabled),cycle:nc(t.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:Tc(new cc(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[$n.kg("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),$n.kg("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:$n.kg("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:Tc(new class extends Xd{constructor(){super(88,"placeholder",void 0)}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?e:this.defaultValue}}),definitionLinkOpensInPeek:Tc(new sc(89,"definitionLinkOpensInPeek",!1,{description:$n.kg("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:Tc(new class extends Xd{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[$n.kg("on","Quick suggestions show inside the suggest widget"),$n.kg("inline","Quick suggestions show as ghost text"),$n.kg("off","Quick suggestions are disabled")]}];super(90,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:$n.kg("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:$n.kg("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:$n.kg("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:$n.kg("quickSuggestions","Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.","`#editor.suggestOnTriggerCharacters#`")}),this.defaultValue=e}validate(e){if("boolean"==typeof e){const t=e?"on":"off";return{comments:t,strings:t,other:t}}if(!e||"object"!=typeof e)return this.defaultValue;const{other:t,comments:i,strings:n}=e,s=["on","inline","off"];let o,r,a;return o="boolean"==typeof t?t?"on":"off":dc(t,this.defaultValue.other,s),r="boolean"==typeof i?i?"on":"off":dc(i,this.defaultValue.comments,s),a="boolean"==typeof n?n?"on":"off":dc(n,this.defaultValue.strings,s),{other:o,comments:r,strings:a}}}),quickSuggestionsDelay:Tc(new rc(91,"quickSuggestionsDelay",10,0,1073741824,{description:$n.kg("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:Tc(new sc(92,"readOnly",!1)),readOnlyMessage:Tc(new class extends Xd{constructor(){super(93,"readOnlyMessage",undefined)}validate(e){return e&&"object"==typeof e?e:this.defaultValue}}),renameOnType:Tc(new sc(94,"renameOnType",!1,{description:$n.kg("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:$n.kg("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:Tc(new sc(95,"renderControlCharacters",!0,{description:$n.kg("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:Tc(new cc(96,"renderFinalNewline",f.j9?"dimmed":"on",["off","on","dimmed"],{description:$n.kg("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:Tc(new cc(97,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",$n.kg("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:$n.kg("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:Tc(new sc(98,"renderLineHighlightOnlyWhenFocus",!1,{description:$n.kg("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:Tc(new cc(99,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:Tc(new cc(100,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",$n.kg("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),$n.kg("renderWhitespace.selection","Render whitespace characters only on selected text."),$n.kg("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:$n.kg("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:Tc(new rc(101,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:Tc(new sc(102,"roundedSelection",!0,{description:$n.kg("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:Tc(new class extends Xd{constructor(){const e=[],t={type:"number",description:$n.kg("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(103,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:$n.kg("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:$n.kg("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(const i of e)if("number"==typeof i)t.push({column:rc.clampedInt(i,0,0,1e4),color:null});else if(i&&"object"==typeof i){const e=i;t.push({column:rc.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort(((e,t)=>e.column-t.column)),t}return this.defaultValue}}),scrollbar:Tc(new class extends Xd{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(104,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[$n.kg("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),$n.kg("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),$n.kg("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:$n.kg("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[$n.kg("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),$n.kg("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),$n.kg("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:$n.kg("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:$n.kg("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:$n.kg("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:$n.kg("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:$n.kg("scrollbar.ignoreHorizontalScrollbarInContentHeight","When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e,i=rc.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),n=rc.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:rc.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:Cc(t.vertical,this.defaultValue.vertical),horizontal:Cc(t.horizontal,this.defaultValue.horizontal),useShadows:nc(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:nc(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:nc(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:nc(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:nc(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:rc.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:n,verticalSliderSize:rc.clampedInt(t.verticalSliderSize,n,0,1e3),scrollByPage:nc(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:nc(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:Tc(new rc(105,"scrollBeyondLastColumn",4,0,1073741824,{description:$n.kg("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:Tc(new sc(106,"scrollBeyondLastLine",!0,{description:$n.kg("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:Tc(new sc(107,"scrollPredominantAxis",!0,{description:$n.kg("scrollPredominantAxis","Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:Tc(new sc(108,"selectionClipboard",!0,{description:$n.kg("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:f.j9})),selectionHighlight:Tc(new sc(109,"selectionHighlight",!0,{description:$n.kg("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:Tc(new sc(110,"selectOnLineNumbers",!0)),showFoldingControls:Tc(new cc(111,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[$n.kg("showFoldingControls.always","Always show the folding controls."),$n.kg("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),$n.kg("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:$n.kg("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:Tc(new sc(112,"showUnused",!0,{description:$n.kg("showUnused","Controls fading out of unused code.")})),showDeprecated:Tc(new sc(141,"showDeprecated",!0,{description:$n.kg("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:Tc(new class extends Xd{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(142,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:$n.kg("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[$n.kg("editor.inlayHints.on","Inlay hints are enabled"),$n.kg("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",f.zx?"Ctrl+Option":"Ctrl+Alt"),$n.kg("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",f.zx?"Ctrl+Option":"Ctrl+Alt"),$n.kg("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:$n.kg("inlayHints.fontSize","Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:$n.kg("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:$n.kg("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return"boolean"==typeof t.enabled&&(t.enabled=t.enabled?"on":"off"),{enabled:dc(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:rc.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:hc.string(t.fontFamily,this.defaultValue.fontFamily),padding:nc(t.padding,this.defaultValue.padding)}}}),snippetSuggestions:Tc(new cc(113,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[$n.kg("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),$n.kg("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),$n.kg("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),$n.kg("snippetSuggestions.none","Do not show snippet suggestions.")],description:$n.kg("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:Tc(new class extends Xd{constructor(){super(114,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:$n.kg("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:$n.kg("selectSubwords","Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return e&&"object"==typeof e?{selectLeadingAndTrailingWhitespace:nc(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:nc(e.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:Tc(new sc(115,"smoothScrolling",!1,{description:$n.kg("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:Tc(new rc(118,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:Tc(new class extends Xd{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(119,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[$n.kg("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),$n.kg("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:$n.kg("suggest.insertMode","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:$n.kg("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:$n.kg("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:$n.kg("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[$n.kg("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),$n.kg("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),$n.kg("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),$n.kg("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:$n.kg("suggest.selectionMode","Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.","`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:$n.kg("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:$n.kg("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:$n.kg("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:$n.kg("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:$n.kg("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:$n.kg("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:$n.kg("deprecated","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.matchOnWordStartOnly","When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:$n.kg("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertMode:dc(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:nc(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:nc(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:nc(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:nc(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:dc(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:nc(t.showIcons,this.defaultValue.showIcons),showStatusBar:nc(t.showStatusBar,this.defaultValue.showStatusBar),preview:nc(t.preview,this.defaultValue.preview),previewMode:dc(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:nc(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:nc(t.showMethods,this.defaultValue.showMethods),showFunctions:nc(t.showFunctions,this.defaultValue.showFunctions),showConstructors:nc(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:nc(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:nc(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:nc(t.showFields,this.defaultValue.showFields),showVariables:nc(t.showVariables,this.defaultValue.showVariables),showClasses:nc(t.showClasses,this.defaultValue.showClasses),showStructs:nc(t.showStructs,this.defaultValue.showStructs),showInterfaces:nc(t.showInterfaces,this.defaultValue.showInterfaces),showModules:nc(t.showModules,this.defaultValue.showModules),showProperties:nc(t.showProperties,this.defaultValue.showProperties),showEvents:nc(t.showEvents,this.defaultValue.showEvents),showOperators:nc(t.showOperators,this.defaultValue.showOperators),showUnits:nc(t.showUnits,this.defaultValue.showUnits),showValues:nc(t.showValues,this.defaultValue.showValues),showConstants:nc(t.showConstants,this.defaultValue.showConstants),showEnums:nc(t.showEnums,this.defaultValue.showEnums),showEnumMembers:nc(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:nc(t.showKeywords,this.defaultValue.showKeywords),showWords:nc(t.showWords,this.defaultValue.showWords),showColors:nc(t.showColors,this.defaultValue.showColors),showFiles:nc(t.showFiles,this.defaultValue.showFiles),showReferences:nc(t.showReferences,this.defaultValue.showReferences),showFolders:nc(t.showFolders,this.defaultValue.showFolders),showTypeParameters:nc(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:nc(t.showSnippets,this.defaultValue.showSnippets),showUsers:nc(t.showUsers,this.defaultValue.showUsers),showIssues:nc(t.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:Tc(new class extends Xd{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:$n.kg("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[$n.kg("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),$n.kg("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),$n.kg("inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:$n.kg("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:$n.kg("inlineSuggest.suppressSuggestions","Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:e.fontFamily,description:$n.kg("inlineSuggest.fontFamily","Controls the font family of the inline suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:nc(t.enabled,this.defaultValue.enabled),mode:dc(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:dc(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:nc(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:nc(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:hc.string(t.fontFamily,this.defaultValue.fontFamily)}}}),inlineEdit:Tc(new class extends Xd{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:$n.kg("inlineEdit.enabled","Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[$n.kg("inlineEdit.showToolbar.always","Show the inline edit toolbar whenever an inline suggestion is shown."),$n.kg("inlineEdit.showToolbar.onHover","Show the inline edit toolbar when hovering over an inline suggestion."),$n.kg("inlineEdit.showToolbar.never","Never show the inline edit toolbar.")],description:$n.kg("inlineEdit.showToolbar","Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:$n.kg("inlineEdit.fontFamily","Controls the font family of the inline edit.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:nc(t.enabled,this.defaultValue.enabled),showToolbar:dc(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:hc.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:nc(t.keepOnBlur,this.defaultValue.keepOnBlur)}}}),inlineCompletionsAccessibilityVerbose:Tc(new sc(150,"inlineCompletionsAccessibilityVerbose",!1,{description:$n.kg("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:Tc(new rc(120,"suggestFontSize",0,0,1e3,{markdownDescription:$n.kg("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:Tc(new rc(121,"suggestLineHeight",0,0,1e3,{markdownDescription:$n.kg("suggestLineHeight","Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:Tc(new sc(122,"suggestOnTriggerCharacters",!0,{description:$n.kg("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:Tc(new cc(123,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[$n.kg("suggestSelection.first","Always select the first suggestion."),$n.kg("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),$n.kg("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:$n.kg("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:Tc(new cc(124,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[$n.kg("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),$n.kg("tabCompletion.off","Disable tab completions."),$n.kg("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:$n.kg("tabCompletion","Enables tab completions.")})),tabIndex:Tc(new rc(125,"tabIndex",0,-1,1073741824)),unicodeHighlight:Tc(new class extends Xd{constructor(){const e={nonBasicASCII:wc,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:wc,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(126,"unicodeHighlight",e,{[kc]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,wc],default:e.nonBasicASCII,description:$n.kg("unicodeHighlight.nonBasicASCII","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[Sc]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:$n.kg("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[Lc]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:$n.kg("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[xc]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,wc],default:e.includeComments,description:$n.kg("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[Dc]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,wc],default:e.includeStrings,description:$n.kg("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[yc]:{restricted:!0,type:"object",default:e.allowedCharacters,description:$n.kg("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Nc]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:$n.kg("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(ql.aI(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&(ql.aI(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},i=!0));const n=super.applyUpdate(e,t);return i?new Jd(n.newValue,!0):n}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{nonBasicASCII:Ic(t.nonBasicASCII,wc,[!0,!1,wc]),invisibleCharacters:nc(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:nc(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Ic(t.includeComments,wc,[!0,!1,wc]),includeStrings:Ic(t.includeStrings,wc,[!0,!1,wc]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if("object"!=typeof e||!e)return t;const i={};for(const[n,s]of Object.entries(e))!0===s&&(i[n]=!0);return i}}),unusualLineTerminators:Tc(new cc(127,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[$n.kg("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),$n.kg("unusualLineTerminators.off","Unusual line terminators are ignored."),$n.kg("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:$n.kg("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:Tc(new sc(128,"useShadowDOM",!0)),useTabStops:Tc(new sc(129,"useTabStops",!0,{description:$n.kg("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:Tc(new cc(130,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[$n.kg("wordBreak.normal","Use the default line break rule."),$n.kg("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:$n.kg("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:Tc(new class extends Xd{constructor(){super(131,"wordSegmenterLocales",[],{anyOf:[{description:$n.kg("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:$n.kg("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(e){if("string"==typeof e&&(e=[e]),Array.isArray(e)){const t=[];for(const i of e)if("string"==typeof i)try{Intl.Segmenter.supportedLocalesOf(i).length>0&&t.push(i)}catch{}return t}return this.defaultValue}}),wordSeparators:Tc(new hc(132,"wordSeparators",Qd.J3,{description:$n.kg("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:Tc(new cc(133,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[$n.kg("wordWrap.off","Lines will never wrap."),$n.kg("wordWrap.on","Lines will wrap at the viewport width."),$n.kg({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),$n.kg({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:$n.kg({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:Tc(new hc(134,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;\xa2\xb0\u2032\u2033\u2030\u2103\u3001\u3002\uff61\uff64\uffe0\uff0c\uff0e\uff1a\uff1b\uff1f\uff01\uff05\u30fb\uff65\u309d\u309e\u30fd\u30fe\u30fc\u30a1\u30a3\u30a5\u30a7\u30a9\u30c3\u30e3\u30e5\u30e7\u30ee\u30f5\u30f6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308e\u3095\u3096\u31f0\u31f1\u31f2\u31f3\u31f4\u31f5\u31f6\u31f7\u31f8\u31f9\u31fa\u31fb\u31fc\u31fd\u31fe\u31ff\u3005\u303b\uff67\uff68\uff69\uff6a\uff6b\uff6c\uff6d\uff6e\uff6f\uff70\u201d\u3009\u300b\u300d\u300f\u3011\u3015\uff09\uff3d\uff5d\uff63")),wordWrapBreakBeforeCharacters:Tc(new hc(135,"wordWrapBreakBeforeCharacters","([{\u2018\u201c\u3008\u300a\u300c\u300e\u3010\u3014\uff08\uff3b\uff5b\uff62\xa3\xa5\uff04\uffe1\uffe5+\uff0b")),wordWrapColumn:Tc(new rc(136,"wordWrapColumn",80,1,1073741824,{markdownDescription:$n.kg({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:Tc(new cc(137,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:Tc(new cc(138,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:Tc(new class extends tc{constructor(){super(143)}compute(e,t,i){const n=["monaco-editor"];return t.get(39)&&n.push(t.get(39)),e.extraEditorClassName&&n.push(e.extraEditorClassName),"default"===t.get(74)?n.push("mouse-default"):"copy"===t.get(74)&&n.push("mouse-copy"),t.get(112)&&n.push("showUnused"),t.get(141)&&n.push("showDeprecated"),n.join(" ")}}),defaultColorDecorators:Tc(new sc(148,"defaultColorDecorators",!1,{markdownDescription:$n.kg("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:Tc(new class extends tc{constructor(){super(144)}compute(e,t,i){return e.pixelRatio}}),tabFocusMode:Tc(new sc(145,"tabFocusMode",!1,{markdownDescription:$n.kg("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:Tc(new vc),wrappingInfo:Tc(new class extends tc{constructor(){super(147)}compute(e,t,i){const n=t.get(146);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:n.isWordWrapMinified,isViewportWrapping:n.isViewportWrapping,wrappingColumn:n.wrappingColumn}}}),wrappingIndent:Tc(new class extends Xd{constructor(){super(139,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[$n.kg("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),$n.kg("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),$n.kg("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),$n.kg("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:$n.kg("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return 2===t.get(2)?0:i}}),wrappingStrategy:Tc(new class extends Xd{constructor(){super(140,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[$n.kg("wrappingStrategy.simple","Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),$n.kg("wrappingStrategy.advanced","Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:$n.kg("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return dc(e,"simple",["simple","advanced"])}compute(e,t,i){return 2===t.get(2)?"advanced":i}})};var Ac=i(27142);const Pc=Object.freeze({id:"editor",order:5,type:"object",title:$n.kg("editorConfigurationTitle","Editor"),scope:5}),Oc={...Pc,properties:{"editor.tabSize":{type:"number",default:Gd.R.tabSize,minimum:1,markdownDescription:$n.kg("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:$n.kg("indentSize",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:Gd.R.insertSpaces,markdownDescription:$n.kg("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:Gd.R.detectIndentation,markdownDescription:$n.kg("detectIndentation","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:Gd.R.trimAutoWhitespace,description:$n.kg("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:Gd.R.largeFileOptimizations,description:$n.kg("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[$n.kg("wordBasedSuggestions.off","Turn off Word Based Suggestions."),$n.kg("wordBasedSuggestions.currentDocument","Only suggest words from the active document."),$n.kg("wordBasedSuggestions.matchingDocuments","Suggest words from all open documents of the same language."),$n.kg("wordBasedSuggestions.allDocuments","Suggest words from all open documents.")],description:$n.kg("wordBasedSuggestions","Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[$n.kg("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),$n.kg("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),$n.kg("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:$n.kg("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:$n.kg("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:$n.kg("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!0,description:$n.kg("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:$n.kg("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:$n.kg("editor.experimental.asyncTokenizationVerification","Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.experimental.treeSitterTelemetry":{type:"boolean",default:!1,markdownDescription:$n.kg("editor.experimental.treeSitterTelemetry","Controls whether tree sitter parsing should be turned on and telemetry collected. Setting `editor.experimental.preferTreeSitter` for specific languages will take precedence."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:$n.kg("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:$n.kg("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:$n.kg("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:$n.kg("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:$n.kg("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:$n.kg("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:qd.maxComputationTime,description:$n.kg("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:qd.maxFileSize,description:$n.kg("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:qd.renderSideBySide,description:$n.kg("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:qd.renderSideBySideInlineBreakpoint,description:$n.kg("renderSideBySideInlineBreakpoint","If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:qd.useInlineViewWhenSpaceIsLimited,description:$n.kg("useInlineViewWhenSpaceIsLimited","If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:qd.renderMarginRevertIcon,description:$n.kg("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:qd.renderGutterMenu,description:$n.kg("renderGutterMenu","When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:qd.ignoreTrimWhitespace,description:$n.kg("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:qd.renderIndicators,description:$n.kg("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:qd.diffCodeLens,description:$n.kg("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:qd.diffWordWrap,markdownEnumDescriptions:[$n.kg("wordWrap.off","Lines will never wrap."),$n.kg("wordWrap.on","Lines will wrap at the viewport width."),$n.kg("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:qd.diffAlgorithm,markdownEnumDescriptions:[$n.kg("diffAlgorithm.legacy","Uses the legacy diffing algorithm."),$n.kg("diffAlgorithm.advanced","Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:qd.hideUnchangedRegions.enabled,markdownDescription:$n.kg("hideUnchangedRegions.enabled","Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:qd.hideUnchangedRegions.revealLineCount,markdownDescription:$n.kg("hideUnchangedRegions.revealLineCount","Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:qd.hideUnchangedRegions.minimumLineCount,markdownDescription:$n.kg("hideUnchangedRegions.minimumLineCount","Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:qd.hideUnchangedRegions.contextLineCount,markdownDescription:$n.kg("hideUnchangedRegions.contextLineCount","Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:qd.experimental.showMoves,markdownDescription:$n.kg("showMoves","Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:qd.experimental.showEmptyDecorations,description:$n.kg("showEmptyDecorations","Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")},"diffEditor.experimental.useTrueInlineView":{type:"boolean",default:qd.experimental.useTrueInlineView,description:$n.kg("useTrueInlineView","If enabled and the editor uses the inline view, word changes are rendered inline.")}}};for(const e0 of Mc){const e=e0.schema;if(void 0!==e)if(void 0!==(Fc=e).type||void 0!==Fc.anyOf)Oc.properties[`editor.${e0.name}`]=e;else for(const t in e)Object.hasOwnProperty.call(e,t)&&(Oc.properties[t]=e[t])}var Fc;let Wc=null;function Bc(){return null===Wc&&(Wc=Object.create(null),Object.keys(Oc.properties).forEach((e=>{Wc[e]=!0}))),Wc}ds.O.as(Ac.Fd.Configuration).registerConfiguration(Oc);const Hc=new class{constructor(){this.QuickFix=new ua("quickfix"),this.Refactor=new ua("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new ua("notebook"),this.Source=new ua("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Vc;function zc(e,t,i){return!!t.contains(e)&&(!i||!t.contains(i))}!function(e){e.Refactor="refactor",e.RefactorPreview="refactor preview",e.Lightbulb="lightbulb",e.Default="other (default)",e.SourceAction="source action",e.QuickFix="quick fix action",e.FixAll="fix all",e.OrganizeImports="organize imports",e.AutoFix="auto fix",e.QuickFixHover="quick fix hover window",e.OnSave="save participants",e.ProblemsView="problems view"}(Vc||(Vc={}));class Uc{static fromUser(e,t){return e&&"object"==typeof e?new Uc(Uc.getKindFromUser(e,t.kind),Uc.getApplyFromUser(e,t.apply),Uc.getPreferredUser(e)):new Uc(t.kind,t.apply,!1)}static getApplyFromUser(e,t){switch("string"==typeof e.apply?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return"string"==typeof e.kind?new ua(e.kind):t}static getPreferredUser(e){return"boolean"==typeof e.preferred&&e.preferred}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class Kc{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){if(this.provider?.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(t){(0,b.M_)(t)}i&&(this.action.edit=i.edit)}return this}}const jc="editor.action.codeAction",$c="editor.action.quickFix",qc="editor.action.autoFix",Gc="editor.action.refactor",Qc="editor.action.sourceAction",Yc="editor.action.organizeImports",Zc="editor.action.fixAll";class Xc extends Ae.jG{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:(0,na.EI)(e.diagnostics)?(0,na.EI)(t.diagnostics)?Xc.codeActionsPreferredComparator(e,t):-1:(0,na.EI)(t.diagnostics)?1:Xc.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Xc.codeActionsComparator),this.validActions=this.allActions.filter((({action:e})=>!e.disabled))}get hasAutoFix(){return this.validActions.some((({action:e})=>!!e.kind&&Hc.QuickFix.contains(new ua(e.kind))&&!!e.isPreferred))}get hasAIFix(){return this.validActions.some((({action:e})=>!!e.isAI))}get allAIFixes(){return this.validActions.every((({action:e})=>!!e.isAI))}}const Jc={actions:[],documentation:void 0};async function eu(e,t,i,n,s,o){const r=n.filter||{},a={...r,excludes:[...r.excludes||[],Hc.Notebook]},l={only:r.include?.value,trigger:n.type},h=new vl(t,o),d=2===n.type,c=function(e,t,i){return e.all(t).filter((e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some((e=>function(e,t){return!(e.include&&!e.include.intersects(t)||e.excludes&&e.excludes.some((i=>zc(t,i,e.include)))||!e.includeSourceActions&&Hc.Source.contains(t))}(i,new ua(e))))))}(e,t,d?a:r),u=new Ae.Cm,g=c.map((async e=>{try{s.report(e);const n=await e.provideCodeActions(t,i,l,h.token);if(n&&u.add(n),h.token.isCancellationRequested)return Jc;const o=(n?.actions||[]).filter((e=>e&&function(e,t){const i=t.kind?new ua(t.kind):void 0;return!(!(!e.include||i&&e.include.contains(i))||e.excludes&&i&&e.excludes.some((t=>zc(i,t,e.include)))||!e.includeSourceActions&&i&&Hc.Source.contains(i)||e.onlyIncludePreferredActions&&!t.isPreferred)}(r,e))),a=function(e,t,i){if(!e.documentation)return;const n=e.documentation.map((e=>({kind:new ua(e.kind),command:e.command})));if(i){let e;for(const t of n)t.kind.contains(i)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return e?.command}for(const s of t)if(s.kind)for(const e of n)if(e.kind.contains(new ua(s.kind)))return e.command;return}(e,o,r.include);return{actions:o.map((t=>new Kc(t,e))),documentation:a}}catch(n){if((0,b.MB)(n))throw n;return(0,b.M_)(n),Jc}})),p=e.onDidChange((()=>{const i=e.all(t);(0,na.aI)(i,c)||h.cancel()}));try{const i=await Promise.all(g),s=i.map((e=>e.actions)).flat(),o=[...(0,na.Yc)(i.map((e=>e.documentation))),...tu(e,t,n,s)];return new Xc(s,o,u)}finally{p.dispose(),h.dispose()}}function*tu(e,t,i,n){if(t&&n.length)for(const s of e.all(t))s._getAdditionalMenuItems&&(yield*s._getAdditionalMenuItems?.({trigger:i.type,only:i.filter?.include?.value},n.map((e=>e.action))))}var iu;async function nu(e,t,i,n,s=sa.XO.None){const o=e.get(wa),r=e.get(as),a=e.get(xs),l=e.get(Sd);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:i}),await t.resolve(s),!s.isCancellationRequested){if(t.action.edit?.edits.length){if(!(await o.apply(t.action.edit,{editor:n?.editor,label:t.action.title,quotableLabel:t.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:i!==iu.OnSave,showPreview:n?.preview})).isApplied)return}if(t.action.command)try{await r.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(h){const e=function(e){return"string"==typeof e?e:e instanceof Error&&"string"==typeof e.message?e.message:void 0}(h);l.error("string"==typeof e?e:$n.kg("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}}!function(e){e.OnSave="onSave",e.FromProblemsView="fromProblemsView",e.FromCodeActions="fromCodeActions",e.FromAILightbulb="fromAILightbulb"}(iu||(iu={})),ls.registerCommand("_executeCodeActionProvider",(async function(e,t,i,n,s){if(!(t instanceof Hn.r))throw(0,b.Qg)();const{codeActionProvider:o}=e.get(xa.ILanguageFeaturesService),r=e.get(Yn.IModelService).getModel(t);if(!r)throw(0,b.Qg)();const a=qs.L.isISelection(i)?qs.L.liftSelection(i):Js.Q.isIRange(i)?r.validateRange(i):void 0;if(!a)throw(0,b.Qg)();const l="string"==typeof n?new ua(n):void 0,h=await eu(o,r,a,{type:1,triggerAction:Vc.Default,filter:{includeSourceActions:!0,include:l}},qh.None,sa.XO.None),d=[],c=Math.min(h.validActions.length,"number"==typeof s?s:0);for(let u=0;ue.action))}finally{setTimeout((()=>h.dispose()),100)}}));var su,ou=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ru=function(e,t){return function(i,n){t(i,n,e)}};let au=class{static{su=this}static{this.codeActionCommands=[Gc,jc,Qc,Yc,Zc]}constructor(e){this.keybindingService=e}getResolver(){const e=new Ol.d((()=>this.keybindingService.getKeybindings().filter((e=>su.codeActionCommands.indexOf(e.command)>=0)).filter((e=>e.resolvedKeybinding)).map((e=>{let t=e.commandArgs;return e.command===Yc?t={kind:Hc.SourceOrganizeImports.value}:e.command===Zc&&(t={kind:Hc.SourceFixAll.value}),{resolvedKeybinding:e.resolvedKeybinding,...Uc.fromUser(t,{kind:ua.None,apply:"never"})}}))));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i?.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new ua(e.kind);return t.filter((e=>e.kind.contains(i))).filter((t=>!t.preferred||e.isPreferred)).reduceRight(((e,t)=>e?e.kind.contains(t.kind)?t:e:t),void 0)}};au=su=ou([ru(0,Cd)],au);(0,io.x1A)("symbolIcon.arrayForeground",io.CU6,(0,$n.kg)("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.booleanForeground",io.CU6,(0,$n.kg)("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,$n.kg)("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.colorForeground",io.CU6,(0,$n.kg)("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.constantForeground",io.CU6,(0,$n.kg)("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,$n.kg)("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,$n.kg)("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,$n.kg)("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,$n.kg)("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,$n.kg)("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.fileForeground",io.CU6,(0,$n.kg)("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.folderForeground",io.CU6,(0,$n.kg)("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,$n.kg)("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,$n.kg)("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.keyForeground",io.CU6,(0,$n.kg)("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.keywordForeground",io.CU6,(0,$n.kg)("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,$n.kg)("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.moduleForeground",io.CU6,(0,$n.kg)("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.namespaceForeground",io.CU6,(0,$n.kg)("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.nullForeground",io.CU6,(0,$n.kg)("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.numberForeground",io.CU6,(0,$n.kg)("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.objectForeground",io.CU6,(0,$n.kg)("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.operatorForeground",io.CU6,(0,$n.kg)("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.packageForeground",io.CU6,(0,$n.kg)("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.propertyForeground",io.CU6,(0,$n.kg)("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.referenceForeground",io.CU6,(0,$n.kg)("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.snippetForeground",io.CU6,(0,$n.kg)("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.stringForeground",io.CU6,(0,$n.kg)("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.structForeground",io.CU6,(0,$n.kg)("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.textForeground",io.CU6,(0,$n.kg)("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.typeParameterForeground",io.CU6,(0,$n.kg)("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.unitForeground",io.CU6,(0,$n.kg)("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,io.x1A)("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,$n.kg)("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const lu=Object.freeze({kind:ua.Empty,title:(0,$n.kg)("codeAction.widget.id.more","More Actions...")}),hu=Object.freeze([{kind:Hc.QuickFix,title:(0,$n.kg)("codeAction.widget.id.quickfix","Quick Fix")},{kind:Hc.RefactorExtract,title:(0,$n.kg)("codeAction.widget.id.extract","Extract"),icon:bl.W.wrench},{kind:Hc.RefactorInline,title:(0,$n.kg)("codeAction.widget.id.inline","Inline"),icon:bl.W.wrench},{kind:Hc.RefactorRewrite,title:(0,$n.kg)("codeAction.widget.id.convert","Rewrite"),icon:bl.W.wrench},{kind:Hc.RefactorMove,title:(0,$n.kg)("codeAction.widget.id.move","Move"),icon:bl.W.wrench},{kind:Hc.SurroundWith,title:(0,$n.kg)("codeAction.widget.id.surround","Surround With"),icon:bl.W.surroundWith},{kind:Hc.Source,title:(0,$n.kg)("codeAction.widget.id.source","Source Action"),icon:bl.W.symbolFile},lu]);var du=i(50969),cu=i(19892),uu=i(51460);var gu,pu;!function(e){e.getDefinition=function(e,t){let i=e.defaults;for(;En.L.isThemeIcon(i);){const e=mu.getIcon(i.id);if(!e)return;i=e.defaults}return i}}(gu||(gu={})),function(e){e.toJSONObject=function(e){return{weight:e.weight,style:e.style,src:e.src.map((e=>({format:e.format,location:e.location.toString()})))}},e.fromJSONObject=function(e){const t=e=>(0,rs.Kg)(e)?e:void 0;if(e&&Array.isArray(e.src)&&e.src.every((e=>(0,rs.Kg)(e.format)&&(0,rs.Kg)(e.location))))return{weight:t(e.weight),style:t(e.style),src:e.src.map((e=>({format:e.format,location:Hn.r.parse(e.location)})))}}}(pu||(pu={}));const mu=new class{constructor(){this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:(0,$n.kg)("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:(0,$n.kg)("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${En.L.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,i,n){const s=this.iconsById[e];if(s){if(i&&!s.description){s.description=i,this.iconSchema.properties[e].markdownDescription=`${i} $(${e})`;const t=this.iconReferenceSchema.enum.indexOf(e);-1!==t&&(this.iconReferenceSchema.enumDescriptions[t]=i),this._onDidChange.fire()}return s}const o={id:e,description:i,defaults:t,deprecationMessage:n};this.iconsById[e]=o;const r={$ref:"#/definitions/icons"};return n&&(r.deprecationMessage=n),i&&(r.markdownDescription=`${i}: $(${e})`),this.iconSchema.properties[e]=r,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(i||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map((e=>this.iconsById[e]))}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(e,t)=>e.id.localeCompare(t.id),t=e=>{for(;En.L.isThemeIcon(e.defaults);)e=this.iconsById[e.defaults.id];return`codicon codicon-${e?e.id:""}`},i=[];i.push("| preview | identifier | default codicon ID | description"),i.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const n=Object.keys(this.iconsById).map((e=>this.iconsById[e]));for(const s of n.filter((e=>!!e.description)).sort(e))i.push(`||${s.id}|${En.L.isThemeIcon(s.defaults)?s.defaults.id:s.id}|${s.description||""}|`);i.push("| preview | identifier "),i.push("| ----------- | --------------------------------- |");for(const s of n.filter((e=>!En.L.isThemeIcon(e.defaults))).sort(e))i.push(`||${s.id}|`);return i.join("\n")}};function fu(e,t,i,n){return mu.registerIcon(e,t,i,n)}function _u(){return mu}ds.O.add("base.contributions.icons",mu),function(){const e=(0,cu.J)();for(const t in e){const i="\\"+e[t].toString(16);mu.registerIcon(t,{fontCharacter:i})}}();const vu="vscode://schemas/icons",bu=ds.O.as(uu.F.JSONContribution);bu.registerSchema(vu,mu.getIconSchema());const Cu=new A.uC((()=>bu.notifySchemaChanged(vu)),200);mu.onDidChange((()=>{Cu.isScheduled()||Cu.schedule()}));const wu=fu("widget-close",bl.W.close,(0,$n.kg)("widgetClose","Icon for the close action in widgets."));fu("goto-previous-location",bl.W.arrowUp,(0,$n.kg)("previousChangeIcon","Icon for goto previous editor location.")),fu("goto-next-location",bl.W.arrowDown,(0,$n.kg)("nextChangeIcon","Icon for goto next editor location.")),En.L.modify(bl.W.sync,"spin"),En.L.modify(bl.W.loading,"spin");var yu,Su=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ku=function(e,t){return function(i,n){t(i,n,e)}};const Lu=fu("gutter-lightbulb",bl.W.lightBulb,$n.kg("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),xu=fu("gutter-lightbulb-auto-fix",bl.W.lightbulbAutofix,$n.kg("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),Du=fu("gutter-lightbulb-sparkle",bl.W.lightbulbSparkle,$n.kg("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),Nu=fu("gutter-lightbulb-aifix-auto-fix",bl.W.lightbulbSparkleAutofix,$n.kg("gutterLightbulbAIFixAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),Iu=fu("gutter-lightbulb-sparkle-filled",bl.W.sparkleFilled,$n.kg("gutterLightbulbSparkleFilledWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var Eu;!function(e){e.Hidden={type:0};e.Showing=class{constructor(e,t,i,n){this.actions=e,this.trigger=t,this.editorPosition=i,this.widgetPosition=n,this.type=1}}}(Eu||(Eu={}));let Mu=class extends Ae.jG{static{yu=this}static{this.GUTTER_DECORATION=to.kI.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:En.L.asClassName(bl.W.lightBulb),glyphMargin:{position:eo.ZS.Left},stickiness:1})}static{this.ID="editor.contrib.lightbulbWidget"}static{this._posPref=[0]}constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new P.vl),this.onClick=this._onClick.event,this._state=Eu.Hidden,this._gutterState=Eu.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+Lu.id,"codicon-"+Nu.id,"codicon-"+xu.id,"codicon-"+Du.id,"codicon-"+Iu.id],this.gutterDecoration=yu.GUTTER_DECORATION,this._domNode=ei("div.lightBulbWidget"),this._domNode.role="listbox",this._register(sd.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((e=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide(),(1!==this.gutterState.type||!t||this.gutterState.editorPosition.lineNumber>=t.getLineCount())&&this.gutterHide()}))),this._register(Je(this._domNode,(e=>{if(1!==this.state.type)return;this._editor.focus(),e.preventDefault();const{top:t,height:i}=ct(this._domNode),n=this._editor.getOption(67);let s=Math.floor(n/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1&~e.buttons||this.hide()}))),this._register(P.Jh.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,(()=>{this._preferredKbLabel=this._keybindingService.lookupKeybinding(qc)?.getLabel()??void 0,this._quickFixKbLabel=this._keybindingService.lookupKeybinding($c)?.getLabel()??void 0,this._updateLightBulbTitleAndIcon()}))),this._register(this._editor.onMouseDown((async e=>{if(!e.target.element||!this.lightbulbClasses.some((t=>e.target.element&&e.target.element.classList.contains(t))))return;if(1!==this.gutterState.type)return;this._editor.focus();const{top:t,height:i}=ct(e.target.element),n=this._editor.getOption(67);let s=Math.floor(n/3);null!==this.gutterState.widgetPosition.position&&this.gutterState.widgetPosition.position.lineNumber22,c=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1),u=this._editor.getLineDecorations(s);let g=!1;if(u)for(const v of u){const e=v.options.glyphMarginClassName;if(e&&!this.lightbulbClasses.some((t=>e.includes(t)))){g=!0;break}}let p=s,m=1;if(!d){const r=e=>{const t=n.getLineContent(e);return/^\s*$|^\s+/.test(t)||t.length<=m};if(s>1&&!c(s-1)){const o=s===n.getLineCount(),a=s>1&&r(s-1),l=!o&&r(s+1),h=r(s),d=!l&&!a;if(!(l||a||g))return this.gutterState=new Eu.Showing(e,t,i,{position:{lineNumber:p,column:m},preference:yu._posPref}),this.renderGutterLightbub(),this.hide();a||o||a&&!h?p-=1:(l||d&&h)&&(p+=1)}else if(1!==s||s!==n.getLineCount()&&(r(s+1)||r(s))){if(s{this._gutterDecorationID=t.addDecoration(new Js.Q(e,0,e,0),this.gutterDecoration)}))}_removeGutterDecoration(e){this._editor.changeDecorations((t=>{t.removeDecoration(e),this._gutterDecorationID=void 0}))}_updateGutterDecoration(e,t){this._editor.changeDecorations((i=>{i.changeDecoration(e,new Js.Q(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)}))}_updateLightbulbTitle(e,t){1===this.state.type&&(t?this.title=$n.kg("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=$n.kg("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=$n.kg("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=$n.kg("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}};Mu=yu=Su([ku(1,Cd)],Mu);class Tu{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach((n=>n.splice(e,t,i)))}}var Ru=i(62992);class Au extends Error{constructor(e,t){super(`ListError [${e}] ${t}`)}}class Pu{constructor(){this._hooks=new Ae.Cm,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;const i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,n,s){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=n,this._onStopCallback=s;let o=e;try{e.setPointerCapture(t),this._hooks.add((0,Ae.s)((()=>{try{e.releasePointerCapture(t)}catch(i){}})))}catch(r){o=We(e)}this._hooks.add(Ye(o,Ut.POINTER_MOVE,(e=>{e.buttons===i?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)}))),this._hooks.add(Ye(o,Ut.POINTER_UP,(e=>this.stopMonitoring(!0))))}}class Ou extends Ae.jG{onclick(e,t){this._register(Ye(e,Ut.CLICK,(i=>t(new T(We(e),i)))))}onmousedown(e,t){this._register(Ye(e,Ut.MOUSE_DOWN,(i=>t(new T(We(e),i)))))}onmouseover(e,t){this._register(Ye(e,Ut.MOUSE_OVER,(i=>t(new T(We(e),i)))))}onmouseleave(e,t){this._register(Ye(e,Ut.MOUSE_LEAVE,(i=>t(new T(We(e),i)))))}onkeydown(e,t){this._register(Ye(e,Ut.KEY_DOWN,(e=>t(new N(e)))))}onkeyup(e,t){this._register(Ye(e,Ut.KEY_UP,(e=>t(new N(e)))))}oninput(e,t){this._register(Ye(e,Ut.INPUT,t))}onblur(e,t){this._register(Ye(e,Ut.BLUR,t))}onfocus(e,t){this._register(Ye(e,Ut.FOCUS,t))}ignoreGesture(e){return sd.ignoreTarget(e)}}const Fu=11;class Wu extends Ou{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",void 0!==e.top&&(this.bgDomNode.style.top="0px"),void 0!==e.left&&(this.bgDomNode.style.left="0px"),void 0!==e.bottom&&(this.bgDomNode.style.bottom="0px"),void 0!==e.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...En.L.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px",void 0!==e.top&&(this.domNode.style.top=e.top+"px"),void 0!==e.left&&(this.domNode.style.left=e.left+"px"),void 0!==e.bottom&&(this.domNode.style.bottom=e.bottom+"px"),void 0!==e.right&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new Pu),this._register(Xe(this.bgDomNode,Ut.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._register(Xe(this.domNode,Ut.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._pointerdownRepeatTimer=this._register(new st),this._pointerdownScheduleRepeatTimer=this._register(new A.pc)}_arrowPointerDown(e){if(!(e.target&&e.target instanceof Element))return;this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet((()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24,We(e))}),200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{}),(()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()})),e.preventDefault()}}class Bu extends Ae.jG{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new A.pc)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{this._domNode?.setClassName(this._visibleClassName)}),0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?" fade":"")))}}class Hu extends Ou{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new Bu(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Pu),this._shouldRender=!0,this.domNode=Lh(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Ye(this.domNode.domNode,Ut.POINTER_DOWN,(e=>this._domNodePointerDown(e))))}_createArrow(e){const t=this._register(new Wu(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,n){this.slider=Lh(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),"number"==typeof i&&this.slider.setWidth(i),"number"==typeof n&&this.slider.setHeight(n),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Ye(this.slider.domNode,Ut.POINTER_DOWN,(e=>{0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}))),this.onclick(this.slider.domNode,(e=>{e.leftButton&&e.stopPropagation()}))}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),n=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),s=this._sliderPointerPosition(e);i<=s&&s<=n?0===e.button&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&"number"==typeof e.offsetX&&"number"==typeof e.offsetY)t=e.offsetX,i=e.offsetY;else{const n=ct(this.domNode.domNode);t=e.pageX-n.left,i=e.pageY-n.top}const n=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(n):this._scrollbarState.getDesiredScrollPositionFromOffset(n)),0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),n=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{const s=this._sliderOrthogonalPointerPosition(e),o=Math.abs(s-i);if(f.uF&&o>140)return void this._setDesiredScrollPositionNow(n.getScrollPosition());const r=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(n.getDesiredScrollPositionFromDelta(r))}),(()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()})),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}class Vu{constructor(e,t,i,n,s,o){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=n,this._scrollSize=s,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new Vu(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,n,s){const o=Math.max(0,i-e),r=Math.max(0,o-2*t),a=n>0&&n>i;if(!a)return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(r),computedSliderRatio:0,computedSliderPosition:0};const l=Math.round(Math.max(20,Math.floor(i*r/n))),h=(r-l)/(n-i),d=s*h;return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:h,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){const e=Vu._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return tthis._host.onMouseWheel(new R(null,1,0))}),this._createArrow({className:"scra",icon:bl.W.scrollbarButtonRight,top:i,left:void 0,bottom:void 0,right:e,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new R(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(2===e.horizontal?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class Uu extends Hu{constructor(e,t,i){const n=e.getScrollDimensions(),s=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new Vu(t.verticalHasArrows?t.arrowSize:0,2===t.vertical?0:t.verticalScrollbarSize,0,n.height,n.scrollHeight,s.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const e=(t.arrowSize-Fu)/2,i=(t.verticalScrollbarSize-Fu)/2;this._createArrow({className:"scra",icon:bl.W.scrollbarButtonUp,top:e,left:i,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new R(null,0,1))}),this._createArrow({className:"scra",icon:bl.W.scrollbarButtonDown,top:void 0,left:i,bottom:e,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new R(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class Ku{constructor(e,t,i,n,s,o,r){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,i|=0,n|=0,s|=0,o|=0,r|=0),this.rawScrollLeft=n,this.rawScrollTop=r,t<0&&(t=0),n+t>i&&(n=i-t),n<0&&(n=0),s<0&&(s=0),r+s>o&&(r=o-s),r<0&&(r=0),this.width=t,this.scrollWidth=i,this.scrollLeft=n,this.height=s,this.scrollHeight=o,this.scrollTop=r}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new Ku(this._forceIntegerValues,void 0!==e.width?e.width:this.width,void 0!==e.scrollWidth?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,void 0!==e.height?e.height:this.height,void 0!==e.scrollHeight?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new Ku(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==e.scrollLeft?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==e.scrollTop?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,s=this.scrollLeft!==e.scrollLeft,o=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,a=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:n,scrollLeftChanged:s,heightChanged:o,scrollHeightChanged:r,scrollTopChanged:a}}}class ju extends Ae.jG{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new P.vl),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new Ku(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){const i=this._state.withScrollDimensions(e,t);this._setState(i,Boolean(this._smoothScrolling)),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let n;n=t?new Gu(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=n}else{const t=this._state.withScrollPosition(e);this._smoothScrolling=Gu.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);return this._setState(t,!0),this._smoothScrolling?e.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}}class $u{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function qu(e,t){const i=t-e;return function(t){return e+i*(1-function(e){return Math.pow(e,3)}(1-t))}}class Gu{constructor(e,t,i,n){this.from=e,this.to=t,this.duration=n,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,i){if(Math.abs(e-t)>2.5*i){let r,a;return e0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if(this._isAlmostInt(e.deltaX)&&this._isAlmostInt(e.deltaY)||(i+=.25),t){const n=Math.abs(e.deltaX),s=Math.abs(e.deltaY),o=Math.abs(t.deltaX),r=Math.abs(t.deltaY),a=Math.max(Math.min(n,o),1),l=Math.max(Math.min(s,r),1),h=Math.max(n,o),d=Math.max(s,r);h%a==0&&d%l==0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}class Zu extends Ou{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new P.vl),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new P.vl),e.style.overflow="hidden",this._options=function(e){const t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==e.consumeMouseWheelIfScrollbarIsNeeded&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,scrollPredominantAxis:void 0===e.scrollPredominantAxis||e.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:1,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:1,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0,scrollByPage:void 0!==e.scrollByPage&&e.scrollByPage};t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,f.zx&&(t.className+=" mac");return t}(t),this._scrollable=i,this._register(this._scrollable.onScroll((e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)})));const n={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Uu(this._scrollable,this._options,n)),this._horizontalScrollbar=this._register(new zu(this._scrollable,this._options,n)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Lh(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Lh(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Lh(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(e=>this._onMouseOver(e))),this.onmouseleave(this._listenOnDomNode,(e=>this._onMouseLeave(e))),this._hideTimeout=this._register(new A.pc),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=(0,Ae.AS)(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,f.zx&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){void 0!==e.handleMouseWheel&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==e.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),void 0!==e.fastScrollSensitivity&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),void 0!==e.scrollPredominantAxis&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),void 0!==e.horizontal&&(this._options.horizontal=e.horizontal),void 0!==e.vertical&&(this._options.vertical=e.vertical),void 0!==e.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),void 0!==e.verticalScrollbarSize&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),void 0!==e.scrollByPage&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new R(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=(0,Ae.AS)(this._mouseWheelToDispose),e)){const e=e=>{this._onMouseWheel(new R(e))};this._mouseWheelToDispose.push(Ye(this._listenOnDomNode,Ut.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;const t=Yu.INSTANCE;t.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let n=e.deltaY*this._options.mouseWheelScrollSensitivity,s=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&s+n===0?s=n=0:Math.abs(n)>=Math.abs(s)?s=0:n=0),this._options.flipAxes&&([n,s]=[s,n]);const o=!f.zx&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!o||s||(s=n,n=0),e.browserEvent&&e.browserEvent.altKey&&(s*=this._options.fastScrollSensitivity,n*=this._options.fastScrollSensitivity);const r=this._scrollable.getFutureScrollPosition();let a={};if(n){const e=50*n,t=r.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(a,t)}if(s){const e=50*s,t=r.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(a,t)}if(a=this._scrollable.validateScrollPosition(a),r.scrollLeft!==a.scrollLeft||r.scrollTop!==a.scrollTop){this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),i=!0}}let n=i;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,n=i?" left":"",s=t?" top":"",o=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${n}`),this._topShadowDomNode.setClassName(`shadow${s}`),this._topLeftShadowDomNode.setClassName(`shadow${o}${s}${n}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((()=>this._hide()),500)}}class Xu extends Zu{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new ju({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>nt(We(e),t)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class Ju extends Zu{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class eg extends Zu{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new ju({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>nt(We(e),t)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll((e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)}))),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}var tg;function ig(e,t){const i=[];for(const n of t){if(e.start>=n.range.end)continue;if(e.end=t.end||t.start>=e.end)return{start:0,end:0};const i=Math.max(e.start,t.start),n=Math.min(e.end,t.end);return n-i<=0?{start:0,end:0}:{start:i,end:n}}function i(e){return e.end-e.start<=0}e.intersect=t,e.isEmpty=i,e.intersects=function(e,n){return!i(t(e,n))},e.relativeComplement=function(e,t){const n=[],s={start:e.start,end:Math.min(t.start,e.end)},o={start:Math.max(t.end,e.start),end:e.end};return i(s)||n.push(s),i(o)||n.push(o),n}}(tg||(tg={}));class sg{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e??0,this._size=this._paddingTop}splice(e,t,i=[]){const n=i.length-t,s=ig({start:0,end:e},this.groups),o=ig({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map((e=>({range:ng(e.range,n),size:e.size}))),r=i.map(((t,i)=>({range:{start:e+i,end:e+i+1},size:t.size})));this.groups=function(...e){return function(e){const t=[];let i=null;for(const n of e){const e=n.range.start,s=n.range.end,o=n.size;i&&o===i.size?i.range.end=s:(i={range:{start:e,end:s},size:o},t.push(i))}return t}(e.reduce(((e,t)=>e.concat(t)),[]))}(s,r,o),this._size=this._paddingTop+this.groups.reduce(((e,t)=>e+t.size*(t.range.end-t.range.start)),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const i of e){this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}})),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}var rg=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};const ag={CurrentDragAndDropData:void 0},lg={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:e=>[e],getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class hg{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class dg{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class cg{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;ti,this.getPosInSet=e?.getPosInSet?e.getPosInSet.bind(e):(e,t)=>t+1,this.getRole=e?.getRole?e.getRole.bind(e):e=>"listitem",this.isChecked=e?.isChecked?e.isChecked.bind(e):e=>{}}}class gg{static{this.InstanceCount=0}get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const e of this.items)this.measureItemWidth(e);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:pt(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(e,t,i,n=lg){if(this.virtualDelegate=t,this.domId="list_id_"+ ++gg.InstanceCount,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new A.ve(50),this.splicing=!1,this.dragOverAnimationStopDisposable=Ae.jG.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=Ae.jG.None,this.onDragLeaveTimeout=Ae.jG.None,this.disposables=new Ae.Cm,this._onDidChangeContentHeight=new P.vl,this._onDidChangeContentWidth=new P.vl,this.onDidChangeContentHeight=P.Jh.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,n.horizontalScrolling&&n.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(n.paddingTop??0);for(const s of i)this.renderers.set(s.templateId,s);this.cache=this.disposables.add(new og(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support","boolean"!=typeof n.mouseSupport||n.mouseSupport),this._horizontalScrolling=n.horizontalScrolling??lg.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=void 0===n.paddingBottom?0:n.paddingBottom,this.accessibilityProvider=new ug(n.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows";(n.transformOptimization??lg.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(sd.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new ju({forceIntegerValues:!0,smoothScrollDuration:n.smoothScrolling?125:0,scheduleAtNextAnimationFrame:e=>nt(We(this.domNode),e)})),this.scrollableElement=this.disposables.add(new Ju(this.rowsContainer,{alwaysConsumeMouseWheel:n.alwaysConsumeMouseWheel??lg.alwaysConsumeMouseWheel,horizontal:1,vertical:n.verticalScrollMode??lg.verticalScrollMode,useShadows:n.useShadows??lg.useShadows,mouseWheelScrollSensitivity:n.mouseWheelScrollSensitivity,fastScrollSensitivity:n.fastScrollSensitivity,scrollByPage:n.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(Ye(this.rowsContainer,id.Change,(e=>this.onTouchChange(e)))),this.disposables.add(Ye(this.scrollableElement.getDomNode(),"scroll",(e=>e.target.scrollTop=0))),this.disposables.add(Ye(this.domNode,"dragover",(e=>this.onDragOver(this.toDragEvent(e))))),this.disposables.add(Ye(this.domNode,"drop",(e=>this.onDrop(this.toDragEvent(e))))),this.disposables.add(Ye(this.domNode,"dragleave",(e=>this.onDragLeave(this.toDragEvent(e))))),this.disposables.add(Ye(this.domNode,"dragend",(e=>this.onDragEnd(e)))),this.setRowLineHeight=n.setRowLineHeight??lg.setRowLineHeight,this.setRowHeight=n.setRowHeight??lg.setRowHeight,this.supportDynamicHeights=n.supportDynamicHeights??lg.supportDynamicHeights,this.dnd=n.dnd??this.disposables.add(lg.dnd),this.layout(n.initialSize?.height,n.initialSize?.width)}updateOptions(e){let t;if(void 0!==e.paddingBottom&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),void 0!==e.smoothScrolling&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),void 0!==e.horizontalScrolling&&(this.horizontalScrolling=e.horizontalScrolling),void 0!==e.scrollByPage&&(t={...t??{},scrollByPage:e.scrollByPage}),void 0!==e.mouseWheelScrollSensitivity&&(t={...t??{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),void 0!==e.fastScrollSensitivity&&(t={...t??{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),void 0!==e.paddingTop&&e.paddingTop!==this.rangeMap.paddingTop){const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),i=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(t,Math.max(0,this.lastRenderTop+i),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new sg(e)}splice(e,t,i=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,i)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,i=[]){const n=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),s={start:e,end:e+t},o=tg.intersect(n,s),r=new Map;for(let b=o.end-1;b>=o.start;b--){const e=this.items[b];if(e.dragStartDisposable.dispose(),e.checkedDisposable.dispose(),e.row){let t=r.get(e.templateId);t||(t=[],r.set(e.templateId,t));const i=this.renderers.get(e.templateId);i&&i.disposeElement&&i.disposeElement(e.element,b,e.row.templateData,e.size),t.unshift(e.row)}e.row=null,e.stale=!0}const a={start:e+t,end:this.items.length},l=tg.intersect(a,n),h=tg.relativeComplement(a,n),d=i.map((e=>({id:String(this.itemId++),element:e,templateId:this.virtualDelegate.getTemplateId(e),size:this.virtualDelegate.getHeight(e),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(e),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:Ae.jG.None,checkedDisposable:Ae.jG.None,stale:!1})));let c;0===e&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,d),c=this.items,this.items=d):(this.rangeMap.splice(e,t,d),c=this.items.splice(e,t,...d));const u=i.length-t,g=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),p=ng(l,u),m=tg.intersect(g,p);for(let b=m.start;bng(e,u))),v=[{start:e,end:e+i.length},..._].map((e=>tg.intersect(g,e))).reverse();for(const b of v)for(let e=b.end-1;e>=b.start;e--){const t=this.items[e],i=r.get(t.templateId),n=i?.pop();this.insertItemInDOM(e,n)}for(const b of r.values())for(const e of b)this.cache.release(e);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),c.map((e=>e.element))}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=nt(We(this.domNode),(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})))}eventuallyUpdateScrollWidth(){this.horizontalScrolling?this.scrollableElementWidthDelayer.trigger((()=>this.updateScrollWidth())):this.scrollableElementWidthDelayer.cancel()}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)void 0!==t.width&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:0===e?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(e){return this.items[e].element}indexOf(e){return this.items.findIndex((t=>t.element===e))}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const i={height:"number"==typeof e?e:mt(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,i.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(i),void 0!==t&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:"number"==typeof t?t:pt(this.domNode)})}render(e,t,i,n,s,o=!1){const r=this.getRenderRange(t,i),a=tg.relativeComplement(r,e).reverse(),l=tg.relativeComplement(e,r);if(o){const t=tg.intersect(e,r);for(let e=t.start;e{for(const e of l)for(let t=e.start;t=e.start;t--)this.insertItemInDOM(t)})),void 0!==n&&(this.rowsContainer.style.left=`-${n}px`),this.rowsContainer.style.top=`-${t}px`,this.horizontalScrolling&&void 0!==s&&(this.rowsContainer.style.width=`${Math.max(s,this.renderWidth)}px`),this.lastRenderTop=t,this.lastRenderHeight=i}insertItemInDOM(e,t){const i=this.items[e];if(!i.row)if(t)i.row=t,i.stale=!0;else{const e=this.cache.alloc(i.templateId);i.row=e.row,i.stale||=e.isReusingConnectedDomNode}const n=this.accessibilityProvider.getRole(i.element)||"listitem";i.row.domNode.setAttribute("role",n);const s=this.accessibilityProvider.isChecked(i.element);if("boolean"==typeof s)i.row.domNode.setAttribute("aria-checked",String(!!s));else if(s){const e=e=>i.row.domNode.setAttribute("aria-checked",String(!!e));e(s.value),i.checkedDisposable=s.onDidChange((()=>e(s.value)))}if(i.stale||!i.row.domNode.parentElement){const t=this.items.at(e+1)?.row?.domNode??null;i.row.domNode.parentElement===this.rowsContainer&&i.row.domNode.nextElementSibling===t||this.rowsContainer.insertBefore(i.row.domNode,t),i.stale=!1}this.updateItemInDOM(i,e);const o=this.renderers.get(i.templateId);if(!o)throw new Error(`No renderer found for template id ${i.templateId}`);o?.renderElement(i.element,e,i.row.templateData,i.size);const r=this.dnd.getDragURI(i.element);i.dragStartDisposable.dispose(),i.row.domNode.draggable=!!r,r&&(i.dragStartDisposable=Ye(i.row.domNode,"dragstart",(e=>this.onDragStart(i.element,r,e)))),this.horizontalScrolling&&(this.measureItemWidth(i),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=pt(e.row.domNode);const t=We(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute("data-index",`${t}`),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2==0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return P.Jh.map(this.disposables.add(new zr(this.domNode,"click")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseDblClick(){return P.Jh.map(this.disposables.add(new zr(this.domNode,"dblclick")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseMiddleClick(){return P.Jh.filter(P.Jh.map(this.disposables.add(new zr(this.domNode,"auxclick")).event,(e=>this.toMouseEvent(e)),this.disposables),(e=>1===e.browserEvent.button),this.disposables)}get onMouseDown(){return P.Jh.map(this.disposables.add(new zr(this.domNode,"mousedown")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOver(){return P.Jh.map(this.disposables.add(new zr(this.domNode,"mouseover")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOut(){return P.Jh.map(this.disposables.add(new zr(this.domNode,"mouseout")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onContextMenu(){return P.Jh.any(P.Jh.map(this.disposables.add(new zr(this.domNode,"contextmenu")).event,(e=>this.toMouseEvent(e)),this.disposables),P.Jh.map(this.disposables.add(new zr(this.domNode,id.Contextmenu)).event,(e=>this.toGestureEvent(e)),this.disposables))}get onTouchStart(){return P.Jh.map(this.disposables.add(new zr(this.domNode,"touchstart")).event,(e=>this.toTouchEvent(e)),this.disposables)}get onTap(){return P.Jh.map(this.disposables.add(new zr(this.rowsContainer,id.Tap)).event,(e=>this.toGestureEvent(e)),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element,sector:this.getTargetSector(e,t)}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error("Got bad scroll event:",e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,i){if(!i.dataTransfer)return;const n=this.dnd.getDragElements(e);if(i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setData(ga.TEXT,t),i.dataTransfer.setDragImage){let e;this.dnd.getDragLabel&&(e=this.dnd.getDragLabel(n,i)),void 0===e&&(e=String(n.length));const t=ei(".monaco-drag-image");t.textContent=e;(e=>{for(;e&&!e.classList.contains("monaco-workbench");)e=e.parentElement;return e||this.domNode.ownerDocument})(this.domNode).appendChild(t),i.dataTransfer.setDragImage(t,-10,-10),setTimeout((()=>t.remove()),0)}this.domNode.classList.add("dragging"),this.currentDragData=new hg(n),ag.CurrentDragAndDropData=new dg(n),this.dnd.onDragStart?.(this.currentDragData,i)}onDragOver(e){if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),ag.CurrentDragAndDropData&&"vscode-ui"===ag.CurrentDragAndDropData.getData())return!1;if(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(ag.CurrentDragAndDropData)this.currentDragData=ag.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new cg}const t=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop="boolean"==typeof t?t:t.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;let i;e.browserEvent.dataTransfer.dropEffect="boolean"!=typeof t&&0===t.effect?.type?"copy":"move",i="boolean"!=typeof t&&t.feedback?t.feedback:void 0===e.index?[-1]:[e.index],i=(0,na.dM)(i).filter((e=>e>=-1&&ee-t)),i=-1===i[0]?[-1]:i;let n="boolean"!=typeof t&&t.effect&&t.effect.position?t.effect.position:"drop-target";if(s=this.currentDragFeedback,o=i,(Array.isArray(s)&&Array.isArray(o)?(0,na.aI)(s,o):s===o)&&this.currentDragFeedbackPosition===n)return!0;var s,o;if(this.currentDragFeedback=i,this.currentDragFeedbackPosition=n,this.currentDragFeedbackDisposable.dispose(),-1===i[0])this.domNode.classList.add(n),this.rowsContainer.classList.add(n),this.currentDragFeedbackDisposable=(0,Ae.s)((()=>{this.domNode.classList.remove(n),this.rowsContainer.classList.remove(n)}));else{if(i.length>1&&"drop-target"!==n)throw new Error("Can't use multiple feedbacks with position different than 'over'");"drop-target-after"===n&&i[0]{for(const e of i){const t=this.items[e];t.dropTarget=!1,t.row?.domNode.classList.remove(n)}}))}return!0}onDragLeave(e){this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=(0,A.EQ)((()=>this.clearDragOverFeedback()),100,this.disposables),this.currentDragData&&this.dnd.onDragLeave?.(this.currentDragData,e.element,e.index,e.browserEvent)}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,ag.CurrentDragAndDropData=void 0,t&&e.browserEvent.dataTransfer&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,ag.CurrentDragAndDropData=void 0,this.dnd.onDragEnd?.(e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=Ae.jG.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const e=dt(this.domNode).top;this.dragOverAnimationDisposable=function(e,t){const i=()=>{t(),n=nt(e,i)};let n=nt(e,i);return(0,Ae.s)((()=>n.dispose()))}(We(this.domNode),this.animateDragAndDropScrollTop.bind(this,e))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=(0,A.EQ)((()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}),1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(void 0===this.dragOverMouseY)return;const t=this.dragOverMouseY-e,i=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>i&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-i))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(void 0===t)return;const i=e.offsetY/this.items[t].size,n=Math.floor(i/.25);return(0,Ru.qE)(n,0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let i=e;for(;(Bt(i)||((n=i)instanceof SVGElement||n instanceof We(n).SVGElement))&&i!==this.rowsContainer&&t.contains(i);){const e=i.getAttribute("data-index");if(e){const t=Number(e);if(!isNaN(t))return t}i=i.parentElement}var n}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,i){const n=this.getRenderRange(e,t);let s,o;e===this.elementTop(n.start)?(s=n.start,o=0):n.end-n.start>1&&(s=n.start+1,o=this.elementTop(s)-e);let r=0;for(;;){const a=this.getRenderRange(e,t);let l=!1;for(let e=a.start;e=e.start;t--)this.insertItemInDOM(t);for(let e=a.start;e=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};class vg{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,i){const n=this.renderedElements.findIndex((e=>e.templateData===i));if(n>=0){const e=this.renderedElements[n];this.trait.unrender(i),e.index=t}else{const e={index:t,templateData:i};this.renderedElements.push(e)}this.trait.renderIndex(t,i)}splice(e,t,i){const n=[];for(const s of this.renderedElements)s.index=e+t&&n.push({index:s.index+i-t,templateData:s.templateData});this.renderedElements=n}renderIndexes(e){for(const{index:t,templateData:i}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,i)}disposeTemplate(e){const t=this.renderedElements.findIndex((t=>t.templateData===e));t<0||this.renderedElements.splice(t,1)}}class bg{get name(){return this._trait}get renderer(){return new vg(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new P.vl,this.onChange=this._onChange.event}splice(e,t,i){const n=i.length-t,s=e+t,o=[];let r=0;for(;r=s;)o.push(this.sortedIndexes[r++]+n);this.renderer.splice(e,t,i.length),this._set(o,o)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(Hg),t)}_set(e,t,i){const n=this.indexes,s=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const o=Bg(s,e);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:e,browserEvent:i}),n}get(){return this.indexes}contains(e){return(0,na.El)(this.sortedIndexes,e,Hg)>=0}dispose(){(0,Ae.AS)(this._onChange)}}_g([td],bg.prototype,"renderer",null);class Cg extends bg{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class wg{constructor(e,t,i){this.trait=e,this.view=t,this.identityProvider=i}splice(e,t,i){if(!this.identityProvider)return this.trait.splice(e,t,new Array(i.length).fill(!1));const n=this.trait.get().map((e=>this.identityProvider.getId(this.view.element(e)).toString()));if(0===n.length)return this.trait.splice(e,t,new Array(i.length).fill(!1));const s=new Set(n),o=i.map((e=>s.has(this.identityProvider.getId(e).toString())));this.trait.splice(e,t,o)}}function yg(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function Sg(e,t){return!!e.classList.contains(t)||!e.classList.contains("monaco-list")&&(!!e.parentElement&&Sg(e.parentElement,t))}function kg(e){return Sg(e,"monaco-editor")}function Lg(e){return Sg(e,"monaco-tree-sticky-row")}function xg(e){return e.classList.contains("monaco-tree-sticky-container")}function Dg(e){return!!("A"===e.tagName&&e.classList.contains("monaco-button")||"DIV"===e.tagName&&e.classList.contains("monaco-button-dropdown"))||!e.classList.contains("monaco-list")&&(!!e.parentElement&&Dg(e.parentElement))}class Ng{get onKeyDown(){return P.Jh.chain(this.disposables.add(new zr(this.view.domNode,"keydown")).event,(e=>e.filter((e=>!yg(e.target))).map((e=>new N(e)))))}constructor(e,t,i){this.list=e,this.view=t,this.disposables=new Ae.Cm,this.multipleSelectionDisposables=new Ae.Cm,this.multipleSelectionSupport=i.multipleSelectionSupport,this.disposables.add(this.onKeyDown((e=>{switch(e.keyCode){case 3:return this.onEnter(e);case 16:return this.onUpArrow(e);case 18:return this.onDownArrow(e);case 11:return this.onPageUpArrow(e);case 12:return this.onPageDownArrow(e);case 9:return this.onEscape(e);case 31:this.multipleSelectionSupport&&(f.zx?e.metaKey:e.ctrlKey)&&this.onCtrlA(e)}})))}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection((0,na.y1)(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}_g([td],Ng.prototype,"onKeyDown",null),function(e){e[e.Automatic=0]="Automatic",e[e.Trigger=1]="Trigger"}(pg||(pg={})),function(e){e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(mg||(mg={}));const Ig=new class{mightProducePrintableCharacter(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=98&&e.keyCode<=107||e.keyCode>=85&&e.keyCode<=95)}};class Eg{constructor(e,t,i,n,s){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=i,this.keyboardNavigationEventFilter=n,this.delegate=s,this.enabled=!1,this.state=mg.Idle,this.mode=pg.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new Ae.Cm,this.disposables=new Ae.Cm,this.updateOptions(e.options)}updateOptions(e){e.typeNavigationEnabled??1?this.enable():this.disable(),this.mode=e.typeNavigationMode??pg.Automatic}enable(){if(this.enabled)return;let e=!1;const t=P.Jh.chain(this.enabledDisposables.add(new zr(this.view.domNode,"keydown")).event,(t=>t.filter((e=>!yg(e.target))).filter((()=>this.mode===pg.Automatic||this.triggered)).map((e=>new N(e))).filter((t=>e||this.keyboardNavigationEventFilter(t))).filter((e=>this.delegate.mightProducePrintableCharacter(e))).forEach((e=>jt(e,!0))).map((e=>e.browserEvent.key)))),i=P.Jh.debounce(t,(()=>null),800,void 0,void 0,void 0,this.enabledDisposables);P.Jh.reduce(P.Jh.any(t,i),((e,t)=>null===t?null:(e||"")+t),void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),i(this.onClear,this,this.enabledDisposables),t((()=>e=!0),void 0,this.enabledDisposables),i((()=>e=!1),void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){const e=this.list.getFocus();if(e.length>0&&e[0]===this.previouslyFocused){const t=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(e[0]));"string"==typeof t?wi(t):t&&wi(t.get())}this.previouslyFocused=-1}onInput(e){if(!e)return this.state=mg.Idle,void(this.triggered=!1);const t=this.list.getFocus(),i=t.length>0?t[0]:0,n=this.state===mg.Idle?1:0;this.state=mg.Typing;for(let s=0;s1&&1===n.length)return this.previouslyFocused=i,this.list.setFocus([t]),void this.list.reveal(t)}}}else if(void 0===r||Pi(e,r))return this.previouslyFocused=i,this.list.setFocus([t]),void this.list.reveal(t)}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class Mg{constructor(e,t){this.list=e,this.view=t,this.disposables=new Ae.Cm;const i=P.Jh.chain(this.disposables.add(new zr(t.domNode,"keydown")).event,(e=>e.filter((e=>!yg(e.target))).map((e=>new N(e))))),n=P.Jh.chain(i,(e=>e.filter((e=>!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)))));n(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(0===t.length)return;const i=this.view.domElement(t[0]);if(!i)return;const n=i.querySelector("[tabIndex]");if(!n||!Bt(n)||-1===n.tabIndex)return;const s=We(n).getComputedStyle(n);"hidden"!==s.visibility&&"none"!==s.display&&(e.preventDefault(),e.stopPropagation(),n.focus())}dispose(){this.disposables.dispose()}}function Tg(e){return f.zx?e.browserEvent.metaKey:e.browserEvent.ctrlKey}function Rg(e){return e.browserEvent.shiftKey}const Ag={isSelectionSingleChangeEvent:Tg,isSelectionRangeChangeEvent:Rg};class Pg{constructor(e){this.list=e,this.disposables=new Ae.Cm,this._onPointer=new P.vl,this.onPointer=this._onPointer.event,!1!==e.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||Ag),this.mouseSupport=void 0===e.options.mouseSupport||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(sd.addTarget(e.getHTMLElement()))),P.Jh.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||Ag))}isSelectionSingleChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(e)}isSelectionRangeChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(e)}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){kg(e.browserEvent.target)||yt()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(yg(e.browserEvent.target)||kg(e.browserEvent.target))return;const t=void 0===e.index?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport)return;if(yg(e.browserEvent.target)||kg(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;return void 0===t?(this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),void this.list.setAnchor(void 0)):this.isSelectionChangeEvent(e)?this.changeSelection(e):(this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),Vt(i=e.browserEvent)&&2===i.button||this.list.setSelection([t],e.browserEvent),void this._onPointer.fire(e));var i}onDoubleClick(e){if(yg(e.browserEvent.target)||kg(e.browserEvent.target))return;if(this.isSelectionChangeEvent(e))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let i=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(void 0===i){i=this.list.getFocus()[0]??t,this.list.setAnchor(i)}const n=Math.min(i,t),s=Math.max(i,t),o=(0,na.y1)(n,s+1),r=this.list.getSelection(),a=function(e,t){const i=e.indexOf(t);if(-1===i)return[];const n=[];let s=i-1;for(;s>=0&&e[s]===t-(i-s);)n.push(e[s--]);n.reverse(),s=i;for(;s=e.length)i.push(t[s++]);else if(s>=t.length)i.push(e[n++]);else{if(e[n]===t[s]){n++,s++;continue}e[n]e!==t));this.list.setFocus([t]),this.list.setAnchor(t),i.length===n.length?this.list.setSelection([...n,t],e.browserEvent):this.list.setSelection(n,e.browserEvent)}}dispose(){this.disposables.dispose()}}class Og{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){const t=this.selectorSuffix&&`.${this.selectorSuffix}`,i=[];e.listBackground&&i.push(`.monaco-list${t} .monaco-list-rows { background: ${e.listBackground}; }`),e.listFocusBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionBackground&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }\n\t\t\t`),e.listFocusAndSelectionForeground&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }\n\t\t\t`),e.listInactiveFocusForeground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&i.push(`.monaco-list${t} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(i.push(`.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&i.push(`.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const n=ai(e.listFocusAndSelectionOutline,ai(e.listSelectionOutline,e.listFocusOutline??""));n&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused.selected { outline: 1px solid ${n}; outline-offset: -1px;}`),e.listFocusOutline&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);const s=ai(e.listSelectionOutline,e.listInactiveFocusOutline??"");s&&i.push(`.monaco-list${t} .monaco-list-row.focused.selected { outline: 1px dotted ${s}; outline-offset: -1px; }`),e.listSelectionOutline&&i.push(`.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&i.push(`.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&i.push(`.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&i.push(`\n\t\t\t\t.monaco-list${t}.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropOverBackground} !important; color: inherit !important; }\n\t\t\t`),e.listDropBetweenBackground&&(i.push(`\n\t\t\t.monaco-list${t} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,\n\t\t\t.monaco-list${t} .monaco-list-row.drop-target-before::before {\n\t\t\t\tcontent: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`),i.push(`\n\t\t\t.monaco-list${t} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,\n\t\t\t.monaco-list${t} .monaco-list-row.drop-target-after::after {\n\t\t\t\tcontent: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`)),e.tableColumnsBorder&&i.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${e.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`),e.tableOddRowsBackgroundColor&&i.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${e.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=i.join("\n")}}const Fg={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:dd.Q1.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:dd.Q1.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:dd.Q1.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},Wg={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}}};function Bg(e,t){const i=[];let n=0,s=0;for(;n=e.length)i.push(t[s++]);else if(s>=t.length)i.push(e[n++]);else{if(e[n]===t[s]){i.push(e[n]),n++,s++;continue}e[n]e-t;class Vg{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map((t=>t.renderTemplate(e)))}renderElement(e,t,i,n){let s=0;for(const o of this.renderers)o.renderElement(e,t,i[s++],n)}disposeElement(e,t,i,n){let s=0;for(const o of this.renderers)o.disposeElement?.(e,t,i[s],n),s+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class zg{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new Ae.Cm}}renderElement(e,t,i){const n=this.accessibilityProvider.getAriaLabel(e),s=n&&"string"!=typeof n?n:(0,fg.lk)(n);i.disposables.add((0,fg.fm)((e=>{this.setAriaLabel(e.readObservable(s),i.container)})));const o=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);"number"==typeof o?i.container.setAttribute("aria-level",`${o}`):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i,n){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class Ug{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){this.dnd.onDragStart?.(e,t)}onDragOver(e,t,i,n,s){return this.dnd.onDragOver(e,t,i,n,s)}onDragLeave(e,t,i,n){this.dnd.onDragLeave?.(e,t,i,n)}onDragEnd(e){this.dnd.onDragEnd?.(e)}drop(e,t,i,n,s){this.dnd.drop(e,t,i,n,s)}dispose(){this.dnd.dispose()}}class Kg{get onDidChangeFocus(){return P.Jh.map(this.eventBufferer.wrapEvent(this.focus.onChange),(e=>this.toListEvent(e)),this.disposables)}get onDidChangeSelection(){return P.Jh.map(this.eventBufferer.wrapEvent(this.selection.onChange),(e=>this.toListEvent(e)),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=P.Jh.chain(this.disposables.add(new zr(this.view.domNode,"keydown")).event,(t=>t.map((e=>new N(e))).filter((t=>e=58===t.keyCode||t.shiftKey&&68===t.keyCode)).map((e=>jt(e,!0))).filter((()=>!1)))),i=P.Jh.chain(this.disposables.add(new zr(this.view.domNode,"keyup")).event,(t=>t.forEach((()=>e=!1)).map((e=>new N(e))).filter((e=>58===e.keyCode||e.shiftKey&&68===e.keyCode)).map((e=>jt(e,!0))).map((({browserEvent:e})=>{const t=this.getFocus(),i=t.length?t[0]:void 0;return{index:i,element:void 0!==i?this.view.element(i):void 0,anchor:void 0!==i?this.view.domElement(i):this.view.domNode,browserEvent:e}})))),n=P.Jh.chain(this.view.onContextMenu,(t=>t.filter((t=>!e)).map((({element:e,index:t,browserEvent:i})=>({element:e,index:t,anchor:new T(We(this.view.domNode),i),browserEvent:i})))));return P.Jh.any(t,i,n)}get onKeyDown(){return this.disposables.add(new zr(this.view.domNode,"keydown")).event}get onDidFocus(){return P.Jh.signal(this.disposables.add(new zr(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return P.Jh.signal(this.disposables.add(new zr(this.view.domNode,"blur",!0)).event)}constructor(e,t,i,n,s=Wg){this.user=e,this._options=s,this.focus=new bg("focused"),this.anchor=new bg("anchor"),this.eventBufferer=new P.at,this._ariaLabel="",this.disposables=new Ae.Cm,this._onDidDispose=new P.vl,this.onDidDispose=this._onDidDispose.event;const o=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?this._options.accessibilityProvider?.getWidgetRole():"list";this.selection=new Cg("listbox"!==o);const r=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=s.accessibilityProvider,this.accessibilityProvider&&(r.push(new zg(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant?.(this.onDidChangeActiveDescendant,this,this.disposables)),n=n.map((e=>new Vg(e.templateId,[...r,e])));const a={...s,dnd:s.dnd&&new Ug(this,s.dnd)};if(this.view=this.createListView(t,i,n,a),this.view.domNode.setAttribute("role",o),s.styleController)this.styleController=s.styleController(this.view.domId);else{const e=Et(this.view.domNode);this.styleController=new Og(e,this.view.domId)}if(this.spliceable=new Tu([new wg(this.focus,this.view,s.identityProvider),new wg(this.selection,this.view,s.identityProvider),new wg(this.anchor,this.view,s.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new Mg(this,this.view)),("boolean"!=typeof s.keyboardSupport||s.keyboardSupport)&&(this.keyboardController=new Ng(this,this.view,s),this.disposables.add(this.keyboardController)),s.keyboardNavigationLabelProvider){const e=s.keyboardNavigationDelegate||Ig;this.typeNavigationController=new Eg(this,this.view,s.keyboardNavigationLabelProvider,s.keyboardNavigationEventFilter??(()=>!0),e),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(s),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),!1!==this._options.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,i,n){return new gg(e,t,i,n)}createMouseController(e){return new Pg(this)}updateOptions(e={}){this._options={...this._options,...e},this.typeNavigationController?.updateOptions(this._options),void 0!==this._options.multipleSelectionController&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),this.keyboardController?.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,i=[]){if(e<0||e>this.view.length)throw new Au(this.user,`Invalid start index: ${e}`);if(t<0)throw new Au(this.user,`Invalid delete count: ${t}`);0===t&&0===i.length||this.eventBufferer.bufferEvents((()=>this.spliceable.splice(e,t,i)))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const i of e)if(i<0||i>=this.length)throw new Au(this.user,`Invalid index ${i}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((e=>this.view.element(e)))}setAnchor(e){if(void 0!==e){if(e<0||e>=this.length)throw new Au(this.user,`Invalid index ${e}`);this.anchor.set([e])}else this.anchor.set([])}getAnchor(){return(0,na.Fy)(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return void 0===e?void 0:this.element(e)}setFocus(e,t){for(const i of e)if(i<0||i>=this.length)throw new Au(this.user,`Invalid index ${i}`);this.focus.set(e,t)}focusNext(e=1,t=!1,i,n){if(0===this.length)return;const s=this.focus.get(),o=this.findNextIndex(s.length>0?s[0]+e:0,t,n);o>-1&&this.setFocus([o],i)}focusPrevious(e=1,t=!1,i,n){if(0===this.length)return;const s=this.focus.get(),o=this.findPreviousIndex(s.length>0?s[0]-e:0,t,n);o>-1&&this.setFocus([o],i)}async focusNextPage(e,t){let i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=0===i?0:i-1;const n=this.getFocus()[0];if(n!==i&&(void 0===n||i>n)){const s=this.findPreviousIndex(i,!1,t);s>-1&&n!==s?this.setFocus([s],e):this.setFocus([i],e)}else{const s=this.view.getScrollTop();let o=s+this.view.renderHeight;i>n&&(o-=this.view.elementHeight(i)),this.view.setScrollTop(o),this.view.getScrollTop()!==s&&(this.setFocus([]),await(0,A.wR)(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,i=()=>0){let n;const s=i(),o=this.view.getScrollTop()+s;n=0===o?this.view.indexAt(o):this.view.indexAfter(o-1);const r=this.getFocus()[0];if(r!==n&&(void 0===r||r>=n)){const i=this.findNextIndex(n,!1,t);i>-1&&r!==i?this.setFocus([i],e):this.setFocus([n],e)}else{const n=o;this.view.setScrollTop(o-this.view.renderHeight-s),this.view.getScrollTop()+i()!==n&&(this.setFocus([]),await(0,A.wR)(0),await this.focusPreviousPage(e,t,i))}}focusLast(e,t){if(0===this.length)return;const i=this.findPreviousIndex(this.length-1,!1,t);i>-1&&this.setFocus([i],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,i){if(0===this.length)return;const n=this.findNextIndex(e,!1,i);n>-1&&this.setFocus([n],t)}findNextIndex(e,t=!1,i){for(let n=0;n=this.length&&!t)return-1;if(e%=this.length,!i||i(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,i){for(let n=0;nthis.view.element(e)))}reveal(e,t,i=0){if(e<0||e>=this.length)throw new Au(this.user,`Invalid index ${e}`);const n=this.view.getScrollTop(),s=this.view.elementTop(e),o=this.view.elementHeight(e);if((0,rs.Et)(t)){const e=o-this.view.renderHeight+i;this.view.setScrollTop(e*(0,Ru.qE)(t,0,1)+s-i)}else{const e=s+o,t=n+this.view.renderHeight;s=t||(s=t&&o>=this.view.renderHeight?this.view.setScrollTop(s-i):e>=t&&this.view.setScrollTop(e-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new Au(this.user,`Invalid index ${e}`);const i=this.view.getScrollTop(),n=this.view.elementTop(e),s=this.view.elementHeight(e);if(ni+this.view.renderHeight)return null;const o=s-this.view.renderHeight+t;return Math.abs((i+t-n)/o)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map((e=>this.view.element(e))),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){const e=this.focus.get();if(e.length>0){let t;this.accessibilityProvider?.getActiveDescendantId&&(t=this.accessibilityProvider.getActiveDescendantId(this.view.element(e[0]))),this.view.domNode.setAttribute("aria-activedescendant",t||this.view.getElementDomId(e[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",0===e.length),this.view.domNode.classList.toggle("selection-single",1===e.length),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}_g([td],Kg.prototype,"onDidChangeFocus",null),_g([td],Kg.prototype,"onDidChangeSelection",null),_g([td],Kg.prototype,"onContextMenu",null),_g([td],Kg.prototype,"onKeyDown",null),_g([td],Kg.prototype,"onDidFocus",null),_g([td],Kg.prototype,"onDidBlur",null);const jg=ei,$g="selectOption.entry.template";class qg{get templateId(){return $g}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=Gt(e,jg(".option-text")),t.detail=Gt(e,jg(".option-detail")),t.decoratorRight=Gt(e,jg(".option-decorator-right")),t}renderElement(e,t,i){const n=i,s=e.text,o=e.detail,r=e.decoratorRight,a=e.isDisabled;n.text.textContent=s,n.detail.textContent=o||"",n.decoratorRight.innerText=r||"",a?n.root.classList.add("option-disabled"):n.root.classList.remove("option-disabled")}disposeTemplate(e){}}class Gg extends Ae.jG{static{this.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN=32}static{this.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN=2}static{this.DEFAULT_MINIMUM_VISIBLE_OPTIONS=3}constructor(e,t,i,n,s){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=n,this.selectBoxOptions=s||Object.create(null),"number"!=typeof this.selectBoxOptions.minBottomMargin?this.selectBoxOptions.minBottomMargin=Gg.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding","string"==typeof this.selectBoxOptions.ariaLabel&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),"string"==typeof this.selectBoxOptions.ariaDescription&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new P.vl,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(i),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(ud().setupManagedHover(ld("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return $g}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=ei(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=Gt(this.selectDropDownContainer,jg(".select-box-details-pane"));const t=Gt(this.selectDropDownContainer,jg(".select-box-dropdown-container-width-control")),i=Gt(t,jg(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",Gt(i,this.widthControlElement),this._dropDownPosition=0,this.styleElement=Et(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(Ye(this.selectDropDownContainer,Ut.DRAG_START,(e=>{jt(e,!0)})))}registerListeners(){let e;this._register(Xe(this.selectElement,"change",(e=>{this.selected=e.target.selectedIndex,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}))),this._register(Ye(this.selectElement,Ut.CLICK,(e=>{jt(e),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Ye(this.selectElement,Ut.MOUSE_DOWN,(e=>{jt(e)}))),this._register(Ye(this.selectElement,"touchstart",(t=>{e=this._isVisible}))),this._register(Ye(this.selectElement,"touchend",(t=>{jt(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Ye(this.selectElement,Ut.KEY_DOWN,(e=>{const t=new N(e);let i=!1;f.zx?18!==t.keyCode&&16!==t.keyCode&&10!==t.keyCode&&3!==t.keyCode||(i=!0):(18===t.keyCode&&t.altKey||16===t.keyCode&&t.altKey||10===t.keyCode||3===t.keyCode)&&(i=!0),i&&(this.showSelectDropDown(),jt(e,!0))})))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){na.aI(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach(((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled)),"string"==typeof e.description&&(this._hasDetails=!0)}))),void 0!==t&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){this.selectList?.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(e.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=e.join("\n")}styleSelectElement(){const e=this.styles.selectBackground??"",t=this.styles.selectForeground??"",i=this.styles.selectBorder??"";this.selectElement.style.backgroundColor=e,this.selectElement.style.color=t,this.selectElement.style.borderColor=i}styleList(){const e=this.styles.selectBackground??"",t=ai(this.styles.selectListBackground,e);this.selectDropDownListContainer.style.backgroundColor=t,this.selectionDetailsPane.style.backgroundColor=t;const i=this.styles.focusBorder??"";this.selectDropDownContainer.style.outlineColor=i,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,i){const n=document.createElement("option");return n.value=e,n.text=e,n.disabled=!!i,n}showSelectDropDown(){this.selectionDetailsPane.innerText="",this.contextViewProvider&&!this._isVisible&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){this.contextViewProvider&&this._isVisible&&(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach(((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)})),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=We(this.selectElement),i=ct(this.selectElement),n=We(this.selectElement).getComputedStyle(this.selectElement),s=parseFloat(n.getPropertyValue("--dropdown-padding-top"))+parseFloat(n.getPropertyValue("--dropdown-padding-bottom")),o=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),r=i.top-Gg.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,a=this.selectElement.offsetWidth,l=this.setWidthControlElement(this.widthControlElement),h=Math.max(l,Math.round(a)).toString()+"px";this.selectDropDownContainer.style.width=h,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let d=this.selectList.contentHeight;this._hasDetails&&void 0===this._cachedMaxDetailsHeight&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const c=this._hasDetails?this._cachedMaxDetailsHeight:0,u=d+s+c,g=Math.floor((o-s-c)/this.getHeight()),p=Math.floor((r-s-c)/this.getHeight());if(e)return!(i.top+i.height>t.innerHeight-22||i.topg&&this.options.length>g?(this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(i.top+i.height>t.innerHeight-22||i.topo&&(d=g*this.getHeight())}else u>r&&(d=p*this.getHeight());return this.selectList.layout(d),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=d+s+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=d+s+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=h,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}return!1}setWidthControlElement(e){let t=0;if(e){let i=0,n=0;this.options.forEach(((e,t)=>{const s=e.detail?e.detail.length:0,o=e.decoratorRight?e.decoratorRight.length:0,r=e.text.length+s+o;r>n&&(i=t,n=r)})),e.textContent=this.options[i].text+(this.options[i].decoratorRight?this.options[i].decoratorRight+" ":""),t=gt(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=Gt(e,jg(".select-box-dropdown-list-container")),this.listRenderer=new qg,this.selectList=this._register(new Kg("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:e=>{let t=e.text;return e.detail&&(t+=`. ${e.detail}`),e.decoratorRight&&(t+=`. ${e.decoratorRight}`),e.description&&(t+=`. ${e.description}`),t},getWidgetAriaLabel:()=>(0,$n.kg)({key:"selectBox",comment:["Behave like native select dropdown element."]},"Select Box"),getRole:()=>f.zx?"":"option",getWidgetRole:()=>"listbox"}})),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new zr(this.selectDropDownListContainer,"keydown")),i=P.Jh.chain(t.event,(e=>e.filter((()=>this.selectList.length>0)).map((e=>new N(e)))));this._register(P.Jh.chain(i,(e=>e.filter((e=>3===e.keyCode))))(this.onEnter,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>2===e.keyCode))))(this.onEnter,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>9===e.keyCode))))(this.onEscape,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>16===e.keyCode))))(this.onUpArrow,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>18===e.keyCode))))(this.onDownArrow,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>12===e.keyCode))))(this.onPageDown,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>11===e.keyCode))))(this.onPageUp,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>14===e.keyCode))))(this.onHome,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>13===e.keyCode))))(this.onEnd,this)),this._register(P.Jh.chain(i,(e=>e.filter((e=>e.keyCode>=21&&e.keyCode<=56||e.keyCode>=85&&e.keyCode<=113))))(this.onCharacter,this)),this._register(Ye(this.selectList.getHTMLElement(),Ut.POINTER_UP,(e=>this.onPointerUp(e)))),this._register(this.selectList.onMouseOver((e=>void 0!==e.index&&this.selectList.setFocus([e.index])))),this._register(this.selectList.onDidChangeFocus((e=>this.onListFocus(e)))),this._register(Ye(this.selectDropDownContainer,Ut.FOCUS_OUT,(e=>{this._isVisible&&!_t(e.relatedTarget,this.selectDropDownContainer)&&this.onListBlur()}))),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;jt(e);const t=e.target;if(!t)return;if(t.classList.contains("slider"))return;const i=t.closest(".monaco-list-row");if(!i)return;const n=Number(i.getAttribute("data-index")),s=i.classList.contains("option-disabled");n>=0&&n{for(let t=0;tthis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){if(this.selected>0){jt(e,!0);this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onPageUp(e){jt(e),this.selectList.focusPreviousPage(),setTimeout((()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)}),1)}onHome(e){jt(e),this.options.length<2||(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(e){jt(e),this.options.length<2||(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(e){const t=v.YM.toString(e.keyCode);let i=-1;for(let n=0;n{this._register(Ye(this.selectElement,e,(e=>{this.selectElement.focus()})))})),this._register(Xe(this.selectElement,"click",(e=>{jt(e,!0)}))),this._register(Xe(this.selectElement,"change",(e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})}))),this._register(Xe(this.selectElement,"keydown",(e=>{let t=!1;f.zx?18!==e.keyCode&&16!==e.keyCode&&10!==e.keyCode||(t=!0):(18===e.keyCode&&e.altKey||10===e.keyCode||3===e.keyCode)&&(t=!0),t&&e.stopPropagation()})))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){this.options&&na.aI(this.options,e)||(this.options=e,this.selectElement.options.length=0,this.options.forEach(((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled))}))),void 0!==t&&this.select(t)}select(e){0===this.options.length?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(e)})))}handleActionChangeEvent(e){void 0!==e.enabled&&this.updateEnabled(),void 0!==e.checked&&this.updateChecked(),void 0!==e.class&&this.updateClass(),void 0!==e.label&&(this.updateLabel(),this.updateTooltip()),void 0!==e.tooltip&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new Jn)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(sd.addTarget(e));const i=this.options&&this.options.draggable;i&&(e.draggable=!0,h&&this._register(Ye(e,Ut.DRAG_START,(e=>e.dataTransfer?.setData(ga.TEXT,this._action.label))))),this._register(Ye(t,id.Tap,(e=>this.onClick(e,!0)))),this._register(Ye(t,Ut.MOUSE_DOWN,(e=>{i||jt(e,!0),this._action.enabled&&0===e.button&&t.classList.add("active")}))),f.zx&&this._register(Ye(t,Ut.CONTEXT_MENU,(e=>{0===e.button&&!0===e.ctrlKey&&this.onClick(e)}))),this._register(Ye(t,Ut.CLICK,(e=>{jt(e,!0),this.options&&this.options.isMenu||this.onClick(e)}))),this._register(Ye(t,Ut.DBLCLICK,(e=>{jt(e,!0)}))),[Ut.MOUSE_UP,Ut.MOUSE_OUT].forEach((e=>{this._register(Ye(t,e,(e=>{jt(e),t.classList.remove("active")})))}))}onClick(e,t=!1){jt(e,!0);const i=rs.z(this._context)?this.options?.useEventAsContext?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,i)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){if(!this.element)return;const e=this.getTooltip()??"";if(this.updateAriaLabel(),this.options.hoverDelegate?.showNativeHover)this.element.title=e;else if(this.customHover||""===e)this.customHover&&this.customHover.update(e);else{const t=this.options.hoverDelegate??ld("element");this.customHover=this._store.add(ud().setupManagedHover(t,this.element,e))}}updateAriaLabel(){if(this.element){const e=this.getTooltip()??"";this.element.setAttribute("aria-label",e)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class Xg extends Zg{constructor(e,t,i){super(e,t,i),this.options=i,this.options.icon=void 0!==i.icon&&i.icon,this.options.label=void 0===i.label||i.label,this.cssClass=""}render(e){super.render(e),rs.j(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const e=document.createElement("span");e.classList.add("keybinding"),e.textContent=this.options.keybinding,this.element.appendChild(e)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===es.ID?"presentation":this.options.isMenu?"menuitem":this.options.isTabList?"tab":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=$n.kg({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e??void 0}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):this.label?.classList.remove("codicon")}updateEnabled(){this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),this.element?.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),this.element?.classList.add("disabled"))}updateAriaLabel(){if(this.label){const e=this.getTooltip()??"";this.label.setAttribute("aria-label",e)}}updateChecked(){this.label&&(void 0!==this.action.checked?(this.label.classList.toggle("checked",this.action.checked),this.options.isTabList?this.label.setAttribute("aria-selected",this.action.checked?"true":"false"):(this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox"))):(this.label.classList.remove("checked"),this.label.removeAttribute(this.options.isTabList?"aria-selected":"aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class Jg extends Zg{constructor(e,t,i,n,s,o,r){super(e,t),this.selectBox=new Yg(i,n,s,o,r),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect((e=>this.runAction(e.selected,e.index))))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){this.selectBox?.focus()}blur(){this.selectBox?.blur()}render(e){this.selectBox.render(e)}}class ep extends Ae.jG{constructor(e,t={}){let i,n;switch(super(),this._actionRunnerDisposables=this._register(new Ae.Cm),this.viewItemDisposables=this._register(new Ae.$w),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new P.vl),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new P.vl({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new P.vl),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new P.vl),this.onWillRun=this._onWillRun.event,this.options=t,this._context=t.context??null,this._orientation=this.options.orientation??0,this._triggerKeys={keyDown:this.options.triggerKeys?.keyDown??!1,keys:this.options.triggerKeys?.keys??[3,10]},this._hoverDelegate=t.hoverDelegate??this._register(hd()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new Jn,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e)))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",this._orientation){case 0:i=[15],n=[17];break;case 1:i=[16],n=[18],this.domNode.className+=" vertical"}this._register(Ye(this.domNode,Ut.KEY_DOWN,(e=>{const t=new N(e);let s=!0;const o="number"==typeof this.focusedItem?this.viewItems[this.focusedItem]:void 0;i&&(t.equals(i[0])||t.equals(i[1]))?s=this.focusPrevious():n&&(t.equals(n[0])||t.equals(n[1]))?s=this.focusNext():t.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():t.equals(14)?s=this.focusFirst():t.equals(13)?s=this.focusLast():t.equals(2)&&o instanceof Zg&&o.trapsArrowNavigation?s=this.focusNext(void 0,!0):this.isTriggerKeyEvent(t)?this._triggerKeys.keyDown?this.doTrigger(t):this.triggerKeyDown=!0:s=!1,s&&(t.preventDefault(),t.stopPropagation())}))),this._register(Ye(this.domNode,Ut.KEY_UP,(e=>{const t=new N(e);this.isTriggerKeyEvent(t)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(t)),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026)||t.equals(16)||t.equals(18)||t.equals(15)||t.equals(17))&&this.updateFocusedItem()}))),this.focusTracker=this._register(qt(this.domNode)),this._register(this.focusTracker.onDidBlur((()=>{yt()!==this.domNode&&_t(yt(),this.domNode)||(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)}))),this._register(this.focusTracker.onDidFocus((()=>this.updateFocusedItem()))),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const e=this.viewItems.find((e=>e instanceof Zg&&e.isEnabled()));e instanceof Zg&&e.setFocusable(!0)}else this.viewItems.forEach((e=>{e instanceof Zg&&e.setFocusable(!1)}))}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach((i=>{t=t||e.equals(i)})),t}updateFocusedItem(){for(let e=0;et.setActionContext(e)))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e)))),this.viewItems.forEach((t=>t.actionRunner=e))}getContainer(){return this.domNode}getAction(e){if("number"==typeof e)return this.viewItems[e]?.action;if(Bt(e)){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let t=0;t{const i=document.createElement("li");let s;i.className="action-item",i.setAttribute("role","presentation");const o={hoverDelegate:this._hoverDelegate,...t,isTabList:"tablist"===this.options.ariaRole};this.options.actionViewItemProvider&&(s=this.options.actionViewItemProvider(e,o)),s||(s=new Xg(this.context,e,o)),this.options.allowContextMenu||this.viewItemDisposables.set(s,Ye(i,Ut.CONTEXT_MENU,(e=>{jt(e,!0)}))),s.actionRunner=this._actionRunner,s.setActionContext(this.context),s.render(i),this.focusable&&s instanceof Zg&&0===this.viewItems.length&&s.setFocusable(!0),null===n||n<0||n>=this.actionsList.children.length?(this.actionsList.appendChild(i),this.viewItems.push(s)):(this.actionsList.insertBefore(i,this.actionsList.children[n]),this.viewItems.splice(n,0,s),n++)})),"number"==typeof this.focusedItem&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=(0,Ae.AS)(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),Ge(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return 0===this.viewItems.length}focus(e){let t,i=!1;if(void 0===e?i=!0:"number"==typeof e?t=e:"boolean"==typeof e&&(i=e),i&&void 0===this.focusedItem){const e=this.viewItems.findIndex((e=>e.isEnabled()));this.focusedItem=-1===e?void 0:e,this.updateFocus(void 0,void 0,!0)}else void 0!==t&&(this.focusedItem=t),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e,t){if(void 0===this.focusedItem)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let n;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,n=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!n.isEnabled()||n.action.id===es.ID));return this.updateFocus(void 0,void 0,t),!0}focusPrevious(e){if(void 0===this.focusedItem)this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===es.ID));return this.updateFocus(!0),!0}updateFocus(e,t,i=!1){void 0===this.focusedItem&&this.actionsList.focus({preventScroll:t}),void 0!==this.previouslyFocusedItem&&this.previouslyFocusedItem!==this.focusedItem&&this.viewItems[this.previouslyFocusedItem]?.blur();const n=void 0!==this.focusedItem?this.viewItems[this.focusedItem]:void 0;if(n){let s=!0;rs.Tn(n.focus)||(s=!1),this.options.focusOnlyEnabledItems&&rs.Tn(n.isEnabled)&&!n.isEnabled()&&(s=!1),n.action.id===es.ID&&(s=!1),s?(i||this.previouslyFocusedItem!==this.focusedItem)&&(n.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),s&&n.showHover?.()}}doTrigger(e){if(void 0===this.focusedItem)return;const t=this.viewItems[this.focusedItem];if(t instanceof Zg){const i=null===t._context||void 0===t._context?e:t._context;this.run(t._action,i)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=(0,Ae.AS)(this.viewItems),this.getContainer().remove(),super.dispose()}}class tp{constructor(e,t,i=t){this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=i}toLabel(e,t,i){if(0===t.length)return null;const n=[];for(let s=0,o=t.length;s=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},yp=function(e,t){return function(i,n){t(i,n,e)}};const Sp="acceptSelectedCodeAction",kp="previewSelectedCodeAction";class Lp{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){i.text.textContent=e.group?.title??""}disposeTemplate(e){}}let xp=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);return{container:e,icon:t,text:i,keybinding:new hp(e,f.OS)}}renderElement(e,t,i){if(e.group?.icon?(i.icon.className=En.L.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=(0,io.GuP)(e.group.icon.color.id))):(i.icon.className=En.L.asClassName(bl.W.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=Mp(e.label),i.keybinding.set(e.keybinding),function(e,...t){e?ti(...t):ii(...t)}(!!e.keybinding,i.keybinding.element);const n=this._keybindingService.lookupKeybinding(Sp)?.getLabel(),s=this._keybindingService.lookupKeybinding(kp)?.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:n&&s?this._supportsPreview&&e.canPreview?i.container.title=(0,$n.kg)({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",n,s):i.container.title=(0,$n.kg)({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};xp=wp([yp(1,Cd)],xp);class Dp extends UIEvent{constructor(){super("acceptSelectedAction")}}class Np extends UIEvent{constructor(){super("previewSelectedAction")}}function Ip(e){if("action"===e.kind)return e.label}let Ep=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._delegate=n,this._contextViewService=s,this._keybindingService=o,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new sa.Qi),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const r={getHeight:e=>"header"===e.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:e=>e.kind};this._list=this._register(new Kg(e,this.domNode,r,[new xp(t,this._keybindingService),new Lp],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:Ip},accessibilityProvider:{getAriaLabel:e=>{if("action"===e.kind){let t=e.label?Mp(e?.label):"";return e.disabled&&(t=(0,$n.kg)({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",t,e.disabled)),t}return null},getWidgetAriaLabel:()=>(0,$n.kg)({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:e=>"action"===e.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(_p),this._register(this._list.onMouseClick((e=>this.onListClick(e)))),this._register(this._list.onMouseOver((e=>this.onListHover(e)))),this._register(this._list.onDidChangeFocus((()=>this.onFocus()))),this._register(this._list.onDidChangeSelection((e=>this.onListSelection(e)))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&"action"===e.kind}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter((e=>"header"===e.kind)).length,i=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(i);let n=e;if(this._allMenuItems.length>=50)n=380;else{const t=this._allMenuItems.map(((e,t)=>{const i=this.domNode.ownerDocument.getElementById(this._list.getElementID(t));if(i){i.style.width="auto";const e=i.getBoundingClientRect().width;return i.style.width="",e}return 0}));n=Math.max(...t,e)}const s=Math.min(i,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(s,n),this.domNode.style.height=`${s}px`,this._list.domFocus(),n}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(0===t.length)return;const i=t[0],n=this._list.element(i);if(!this.focusCondition(n))return;const s=e?new Np:new Dp;this._list.setSelection([i],s)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof Np):this._list.setSelection([])}onFocus(){const e=this._list.getFocus();if(0===e.length)return;const t=e[0],i=this._list.element(t);this._delegate.onFocus?.(i.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&"action"===t.kind){const e=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=e?e.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus("number"==typeof e.index?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};function Mp(e){return e.replace(/\r\n|\r|\n/g," ")}Ep=wp([yp(4,vd),yp(5,Cd)],Ep);var Tp=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Rp=function(e,t){return function(i,n){t(i,n,e)}};(0,io.x1A)("actionBar.toggledBackground",io.c1f,(0,$n.kg)("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Ap={Visible:new hs.N1("codeActionMenuVisible",!1,(0,$n.kg)("codeActionMenuVisible","Whether the action widget list is visible"))},Pp=(0,qn.u1)("actionWidgetService");let Op=class extends Ae.jG{get isVisible(){return Ap.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Ae.HE)}show(e,t,i,n,s,o,r){const a=Ap.Visible.bindTo(this._contextKeyService),l=this._instantiationService.createInstance(Ep,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:e=>(a.set(!0),this._renderWidget(e,l,r??[])),onHide:e=>{a.reset(),this._onWidgetClosed(e)}},o,!1)}acceptSelected(e){this._list.value?.acceptSelected(e)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}hide(e){this._list.value?.hide(e),this._list.clear()}_renderWidget(e,t,i){const n=document.createElement("div");if(n.classList.add("action-widget"),e.appendChild(n),this._list.value=t,!this._list.value)throw new Error("List has no value");n.appendChild(this._list.value.domNode);const s=new Ae.Cm,o=document.createElement("div"),r=e.appendChild(o);r.classList.add("context-view-block"),s.add(Ye(r,Ut.MOUSE_DOWN,(e=>e.stopPropagation())));const a=document.createElement("div"),l=e.appendChild(a);l.classList.add("context-view-pointerBlock"),s.add(Ye(l,Ut.POINTER_MOVE,(()=>l.remove()))),s.add(Ye(l,Ut.MOUSE_DOWN,(()=>l.remove())));let h=0;if(i.length){const e=this._createActionBar(".action-widget-action-bar",i);e&&(n.appendChild(e.getContainer().parentElement),s.add(e),h=e.getContainer().offsetWidth)}const d=this._list.value?.layout(h);n.style.width=`${d}px`;const c=s.add(qt(e));return s.add(c.onDidBlur((()=>this.hide(!0)))),s}_createActionBar(e,t){if(!t.length)return;const i=ei(e),n=new ep(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){this._list.value?.hide(e)}};Op=Tp([Rp(0,vd),Rp(1,hs.fN),Rp(2,qn._Y)],Op),(0,ul.v)(Pp,Op,1);const Fp=1100;Ls(class extends ks{constructor(){super({id:"hideCodeActionWidget",title:(0,$n.aS)("hideCodeActionWidget.title","Hide action widget"),precondition:Ap.Visible,keybinding:{weight:Fp,primary:9,secondary:[1033]}})}run(e){e.get(Pp).hide(!0)}}),Ls(class extends ks{constructor(){super({id:"selectPrevCodeAction",title:(0,$n.aS)("selectPrevCodeAction.title","Select previous action"),precondition:Ap.Visible,keybinding:{weight:Fp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){const t=e.get(Pp);t instanceof Op&&t.focusPrevious()}}),Ls(class extends ks{constructor(){super({id:"selectNextCodeAction",title:(0,$n.aS)("selectNextCodeAction.title","Select next action"),precondition:Ap.Visible,keybinding:{weight:Fp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){const t=e.get(Pp);t instanceof Op&&t.focusNext()}}),Ls(class extends ks{constructor(){super({id:Sp,title:(0,$n.aS)("acceptSelected.title","Accept selected action"),precondition:Ap.Visible,keybinding:{weight:Fp,primary:3,secondary:[2137]}})}run(e){const t=e.get(Pp);t instanceof Op&&t.acceptSelected()}}),Ls(class extends ks{constructor(){super({id:kp,title:(0,$n.aS)("previewSelected.title","Preview selected action"),precondition:Ap.Visible,keybinding:{weight:Fp,primary:2051}})}run(e){const t=e.get(Pp);t instanceof Op&&t.acceptSelected(!0)}});var Wp=i(85753),Bp=i(27619),Hp=i(89563),Vp=i(23013);const zp=new hs.N1("supportedCodeAction",""),Up="_typescript.applyFixAllCodeAction";class Kp extends Ae.jG{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new A.pc),this._register(this._markerService.onMarkerChanged((e=>this._onMarkerChanges(e)))),this._register(this._editor.onDidChangeCursorPosition((()=>this._tryAutoTrigger())))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some((e=>(0,Bn.n4)(e,t.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:Vc.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(1===e.type)return t;const i=this._editor.getOption(65).enabled;if(i!==pc.Off){if(i===pc.On)return t;if(i===pc.OnCode){if(!t.isEmpty())return t;const e=this._editor.getModel(),{lineNumber:i,column:n}=t.getPosition(),s=e.getLineContent(i);if(0===s.length)return;if(1===n){if(/\s/.test(s[0]))return}else if(n===e.getLineMaxColumn(i)){if(/\s/.test(s[s.length-1]))return}else if(/\s/.test(s[n-2])&&/\s/.test(s[n-1]))return}return t}}}var jp;!function(e){e.Empty={type:0};e.Triggered=class{constructor(e,t,i){this.trigger=e,this.position=t,this._cancellablePromise=i,this.type=1,this.actions=i.catch((e=>{if((0,b.MB)(e))return $p;throw e}))}cancel(){this._cancellablePromise.cancel()}}}(jp||(jp={}));const $p=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class qp extends Ae.jG{constructor(e,t,i,n,s,o,r){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=s,this._configurationService=o,this._telemetryService=r,this._codeActionOracle=this._register(new Ae.HE),this._state=jp.Empty,this._onDidChangeState=this._register(new P.vl),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=zp.bindTo(n),this._register(this._editor.onDidChangeModel((()=>this._update()))),this._register(this._editor.onDidChangeModelLanguage((()=>this._update()))),this._register(this._registry.onDidChange((()=>this._update()))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(65)&&this._update()}))),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(jp.Empty,!0))}_settingEnabledNearbyQuickfixes(){const e=this._editor?.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:e?.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(jp.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(92)){const t=this._registry.all(e).flatMap((e=>e.providedCodeActionKinds??[]));this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new Kp(this._editor,this._markerService,(t=>{if(!t)return void this.setState(jp.Empty);const i=t.selection.getStartPosition(),n=(0,A.SS)((async i=>{if(this._settingEnabledNearbyQuickfixes()&&1===t.trigger.type&&(t.trigger.triggerAction===Vc.QuickFix||t.trigger.filter?.include?.contains(Hc.QuickFix))){const n=await eu(this._registry,e,t.selection,t.trigger,qh.None,i),s=[...n.allActions];if(i.isCancellationRequested)return $p;const o=n.validActions?.some((e=>!!e.action.kind&&Hc.QuickFix.contains(new ua(e.action.kind)))),r=this._markerService.read({resource:e.uri});if(o){for(const e of n.validActions)e.action.command?.arguments?.some((e=>"string"==typeof e&&e.includes(Up)))&&(e.action.diagnostics=[...r.filter((e=>e.relatedInformation))]);return{validActions:n.validActions,allActions:s,documentation:n.documentation,hasAutoFix:n.hasAutoFix,hasAIFix:n.hasAIFix,allAIFixes:n.allAIFixes,dispose:()=>{n.dispose()}}}if(!o&&r.length>0){const o=t.selection.getPosition();let a=o,l=Number.MAX_VALUE;const h=[...n.validActions];for(const c of r){const d=c.endColumn,u=c.endLineNumber,g=c.startLineNumber;if(u===o.lineNumber||g===o.lineNumber){a=new Qn.y(u,d);const c={type:t.trigger.type,triggerAction:t.trigger.triggerAction,filter:{include:t.trigger.filter?.include?t.trigger.filter?.include:Hc.QuickFix},autoApply:t.trigger.autoApply,context:{notAvailableMessage:t.trigger.context?.notAvailableMessage||"",position:a}},g=new qs.L(a.lineNumber,a.column,a.lineNumber,a.column),p=await eu(this._registry,e,g,c,qh.None,i);if(0!==p.validActions.length){for(const e of p.validActions)e.action.command?.arguments?.some((e=>"string"==typeof e&&e.includes(Up)))&&(e.action.diagnostics=[...r.filter((e=>e.relatedInformation))]);0===n.allActions.length&&s.push(...p.allActions),Math.abs(o.column-d)i.findIndex((t=>t.action.title===e.action.title))===t));return d.sort(((e,t)=>e.action.isPreferred&&!t.action.isPreferred?-1:!e.action.isPreferred&&t.action.isPreferred||e.action.isAI&&!t.action.isAI?1:!e.action.isAI&&t.action.isAI?-1:0)),{validActions:d,allActions:s,documentation:n.documentation,hasAutoFix:n.hasAutoFix,hasAIFix:n.hasAIFix,allAIFixes:n.allAIFixes,dispose:()=>{n.dispose()}}}}if(1===t.trigger.type){const n=new Vp.W,s=await eu(this._registry,e,t.selection,t.trigger,qh.None,i);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:s.validActions.length,duration:n.elapsed()}),s}return eu(this._registry,e,t.selection,t.trigger,qh.None,i)}));1===t.trigger.type&&this._progressService?.showWhile(n,250);const s=new jp.Triggered(t.trigger,i,n);let o=!1;1===this._state.type&&(o=1===this._state.trigger.type&&1===s.type&&2===s.trigger.type&&this._state.position!==s.position),o?setTimeout((()=>{this.setState(s)}),500):this.setState(s)}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:Vc.Default})}else this._supportedCodeActions.reset()}trigger(e){this._codeActionOracle.value?.trigger(e)}setState(e,t){e!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=e,t||this._disposed||this._onDidChangeState.fire(e))}}var Gp,Qp=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Yp=function(e,t){return function(i,n){t(i,n,e)}};let Zp=class extends Ae.jG{static{Gp=this}static{this.ID="editor.contrib.codeActionController"}static get(e){return e.getContribution(Gp.ID)}constructor(e,t,i,n,s,o,r,a,l,h,d){super(),this._commandService=r,this._configurationService=a,this._actionWidgetService=l,this._instantiationService=h,this._telemetryService=d,this._activeCodeActions=this._register(new Ae.HE),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new qp(this._editor,s.codeActionProvider,t,i,o,a,this._telemetryService)),this._register(this._model.onDidChangeState((e=>this.update(e)))),this._lightBulbWidget=new Ol.d((()=>{const e=this._editor.getContribution(Mu.ID);return e&&this._register(e.onClick((e=>this.showCodeActionsFromLightbulb(e.actions,e)))),e})),this._resolver=n.createInstance(au),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&1===e.validActions.length){const t=e.validActions[0],i=t.action.command;return i&&"inlineChat.start"===i.id&&i.arguments&&i.arguments.length>=1&&(i.arguments[0]={...i.arguments[0],autoSend:!1}),void await this._applyCodeAction(t,!1,!1,iu.FromAILightbulb)}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,n){if(!this._editor.hasModel())return;Uh.get(this._editor)?.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:n,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,n){try{await this._instantiationService.invokeFunction(nu,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Vc.QuickFix,filter:{}})}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(e){if(1!==e.type)return void this.hideLightBulbWidget();let t;try{t=await e.actions}catch(n){return void(0,b.dz)(n)}if(this._disposed)return;const i=this._editor.getSelection();if(i?.startLineNumber===e.position.lineNumber)if(this._lightBulbWidget.value?.update(t,e.trigger,e.position),1===e.trigger.type){if(e.trigger.filter?.include){const i=this.tryGetValidActionToApply(e.trigger,t);if(i){try{this.hideLightBulbWidget(),await this._applyCodeAction(i,!1,!1,iu.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const i=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(i&&i.action.disabled)return Uh.get(this._editor)?.showMessage(i.action.disabled,e.trigger.context.position),void t.dispose()}}const i=!!e.trigger.filter?.include;if(e.trigger.context&&(!t.allActions.length||!i&&!t.validActions.length))return Uh.get(this._editor)?.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,void t.dispose();this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:i,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length)return"first"===e.autoApply&&0===t.validActions.length||"ifSingle"===e.autoApply&&1===t.allActions.length?t.allActions.find((({action:e})=>e.disabled)):void 0}tryGetValidActionToApply(e,t){if(t.validActions.length)return"first"===e.autoApply&&t.validActions.length>0||"ifSingle"===e.autoApply&&1===t.validActions.length?t.validActions[0]:void 0}static{this.DECORATION=to.kI.register({description:"quickfix-highlight",className:"quickfix-edit-highlight"})}async showCodeActionList(e,t,i){const n=this._editor.createDecorationsCollection(),s=this._editor.getDomNode();if(!s)return;const o=i.includeDisabledActions&&(this._showDisabled||0===e.validActions.length)?e.allActions:e.validActions;if(!o.length)return;const r=Qn.y.isIPosition(t)?this.toCoords(t):t,a={onSelect:async(e,t)=>{this._applyCodeAction(e,!0,!!t,i.fromLightbulb?iu.FromAILightbulb:iu.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:e=>{this._editor?.focus(),n.clear()},onHover:async(e,t)=>{if(t.isCancellationRequested)return;let i=!1;const n=e.action.kind;if(n){const e=new ua(n);i=[Hc.RefactorExtract,Hc.RefactorInline,Hc.RefactorRewrite,Hc.RefactorMove,Hc.Source].some((t=>t.contains(e)))}return{canPreview:i||!!e.action.edit?.edits.length}},onFocus:e=>{if(e&&e.action){const t=e.action.ranges,i=e.action.diagnostics;if(n.clear(),t&&t.length>0){const e=i&&i?.length>1?i.map((e=>({range:e,options:Gp.DECORATION}))):t.map((e=>({range:e,options:Gp.DECORATION})));n.set(e)}else if(i&&i.length>0){const e=i.map((e=>({range:e,options:Gp.DECORATION})));n.set(e);const t=i[0];if(t.startLineNumber&&t.startColumn){const e=this._editor.getModel()?.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn})?.word;yi((0,$n.kg)("editingNewSelection","Context: {0} at line {1} and column {2}.",e,t.startLineNumber,t.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,function(e,t,i){if(!t)return e.map((e=>({kind:"action",item:e,group:lu,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title,canPreview:!!e.action.edit?.edits.length})));const n=hu.map((e=>({group:e,actions:[]})));for(const o of e){const e=o.action.kind?new ua(o.action.kind):ua.None;for(const t of n)if(t.group.kind.contains(e)){t.actions.push(o);break}}const s=[];for(const o of n)if(o.actions.length){s.push({kind:"header",group:o.group});for(const e of o.actions){const t=o.group;s.push({kind:"action",item:e,group:e.action.isAI?{title:t.title,kind:t.kind,icon:bl.W.sparkle}:t,label:e.action.title,disabled:!!e.action.disabled,keybinding:i(e.action)})}}return s}(o,this._shouldShowHeaders(),this._resolver.getResolver()),a,r,s,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=ct(this._editor.getDomNode());return{x:i.left+t.left,y:i.top+t.top+t.height}}_shouldShowHeaders(){const e=this._editor?.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e?.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const n=e.documentation.map((e=>({id:e.id,label:e.title,tooltip:e.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(e.id,...e.arguments??[])})));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&n.push(this._showDisabled?{id:"hideMoreActions",label:(0,$n.kg)("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:(0,$n.kg)("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}};function Xp(e){return hs.M$.regex(zp.keys()[0],new RegExp("(\\s|^)"+(0,Ri.bm)(e.value)+"\\b"))}Zp=Gp=Qp([Yp(1,Bp.DR),Yp(2,hs.fN),Yp(3,qn._Y),Yp(4,xa.ILanguageFeaturesService),Yp(5,Gh),Yp(6,as),Yp(7,Wp.pG),Yp(8,Pp),Yp(9,qn._Y),Yp(10,xs)],Zp),(0,no.zy)(((e,t)=>{var i,n;i=".quickfix-edit-highlight",(n=e.getColor(io.Ubg))&&t.addRule(`.monaco-editor ${i} { background-color: ${n}; }`);const s=e.getColor(io.ECk);s&&t.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${(0,Hp.Bb)(e.type)?"dotted":"solid"} ${s}; box-sizing: border-box; }`)}));const Jp={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:$n.kg("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:$n.kg("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[$n.kg("args.schema.apply.first","Always apply the first returned code action."),$n.kg("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),$n.kg("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:$n.kg("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function em(e,t,i,n,s=Vc.Default){if(e.hasModel()){const o=Zp.get(e);o?.manualTriggerAtCurrentPosition(t,s,i,n)}}Hs(Zp.ID,Zp,3),Hs(Mu.ID,Mu,4),Ws(class extends Rs{constructor(){super({id:$c,label:$n.kg("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:hs.M$.and($s.writable,$s.hasCodeActionsProvider),kbOpts:{kbExpr:$s.textInputFocus,primary:2137,weight:100}})}run(e,t){return em(t,$n.kg("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Vc.QuickFix)}}),Ws(class extends Rs{constructor(){super({id:Gc,label:$n.kg("refactor.label","Refactor..."),alias:"Refactor...",precondition:hs.M$.and($s.writable,$s.hasCodeActionsProvider),kbOpts:{kbExpr:$s.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:hs.M$.and($s.writable,Xp(Hc.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:Jp}]}})}run(e,t,i){const n=Uc.fromUser(i,{kind:Hc.Refactor,apply:"never"});return em(t,"string"==typeof i?.kind?n.preferred?$n.kg("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):$n.kg("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?$n.kg("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):$n.kg("editor.action.refactor.noneMessage","No refactorings available"),{include:Hc.Refactor.contains(n.kind)?n.kind:ua.None,onlyIncludePreferredActions:n.preferred},n.apply,Vc.Refactor)}}),Ws(class extends Rs{constructor(){super({id:Qc,label:$n.kg("source.label","Source Action..."),alias:"Source Action...",precondition:hs.M$.and($s.writable,$s.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:hs.M$.and($s.writable,Xp(Hc.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:Jp}]}})}run(e,t,i){const n=Uc.fromUser(i,{kind:Hc.Source,apply:"never"});return em(t,"string"==typeof i?.kind?n.preferred?$n.kg("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):$n.kg("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?$n.kg("editor.action.source.noneMessage.preferred","No preferred source actions available"):$n.kg("editor.action.source.noneMessage","No source actions available"),{include:Hc.Source.contains(n.kind)?n.kind:ua.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Vc.SourceAction)}}),Ws(class extends Rs{constructor(){super({id:Yc,label:$n.kg("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:hs.M$.and($s.writable,Xp(Hc.SourceOrganizeImports)),kbOpts:{kbExpr:$s.textInputFocus,primary:1581,weight:100}})}run(e,t){return em(t,$n.kg("editor.action.organize.noneMessage","No organize imports action available"),{include:Hc.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Vc.OrganizeImports)}}),Ws(class extends Rs{constructor(){super({id:qc,label:$n.kg("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:hs.M$.and($s.writable,Xp(Hc.QuickFix)),kbOpts:{kbExpr:$s.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return em(t,$n.kg("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Hc.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Vc.AutoFix)}}),Ws(class extends Rs{constructor(){super({id:Zc,label:$n.kg("fixAll.label","Fix All"),alias:"Fix All",precondition:hs.M$.and($s.writable,Xp(Hc.SourceFixAll))})}run(e,t){return em(t,$n.kg("fixAll.noneMessage","No fix all action available"),{include:Hc.SourceFixAll,includeSourceActions:!0},"ifSingle",Vc.FixAll)}}),Fs(new class extends Ts{constructor(){super({id:jc,precondition:hs.M$.and($s.writable,$s.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:Jp}]}})}runEditorCommand(e,t,i){const n=Uc.fromUser(i,{kind:ua.Empty,apply:"ifSingle"});return em(t,"string"==typeof i?.kind?n.preferred?$n.kg("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):$n.kg("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?$n.kg("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):$n.kg("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}),ds.O.as(Ac.Fd.Configuration).registerConfiguration({...Pc,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:$n.kg("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}}),ds.O.as(Ac.Fd.Configuration).registerConfiguration({...Pc,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:$n.kg("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}}),ds.O.as(Ac.Fd.Configuration).registerConfiguration({...Pc,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:$n.kg("triggerOnFocusChange","Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});var tm=i(80886),im=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},nm=function(e,t){return function(i,n){t(i,n,e)}};let sm=class{static{this.ID="editor.contrib.markerDecorations"}constructor(e,t){}dispose(){}};sm=im([nm(1,tm.IMarkerDecorationsService)],sm),Hs(sm.ID,sm,0);class om extends Ae.jG{constructor(e,t){super(),this._onDidChange=this._register(new P.vl),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;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let i=!1,n=!1;const s=()=>{if(i&&!n)try{i=!1,n=!0,t()}finally{nt(We(this._referenceDomElement),(()=>{n=!1,s()}))}};this._resizeObserver=new ResizeObserver((t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,i=!0,s()})),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,n=0;t?(i=t.width,n=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,n=this._referenceDomElement.clientHeight),i=Math.max(5,i),n=Math.max(5,n),this._width===i&&this._height===n||(this._width=i,this._height=n,e&&this._onDidChange.fire())}}class rm extends Ae.jG{constructor(e){super(),this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){this._mediaQueryList?.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class am extends Ae.jG{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new rm(e));this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)})))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d");return(e.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}const lm=new class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=ze(e);let i=this.mapWindowIdToPixelRatioMonitor.get(t);return i||(i=(0,Ae.lC)(new am(e)),this.mapWindowIdToPixelRatioMonitor.set(t,i),(0,Ae.lC)(P.Jh.once(qe)((({vscodeWindowId:e})=>{e===t&&(i?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})))),i}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}};class hm{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class dm{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");xh(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");xh(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const n=document.createElement("div");xh(n,this._bareFontInfo),n.style.fontStyle="italic",e.appendChild(n);const s=[];for(const o of this._requests){let e;0===o.type&&(e=t),2===o.type&&(e=i),1===o.type&&(e=n),e.appendChild(document.createElement("br"));const r=document.createElement("span");dm._render(r,o),e.appendChild(r),s.push(r)}this._container=e,this._testElements=s}static _render(e,t){if(" "===t.chr){let t="\xa0";for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let i=t.chr;for(let e=0;e<8;e++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)}),5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues();let n=!1;for(const s of i)s.isTrusted||(n=!0,t.remove(s));n&&this._onDidChange.fire()}readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let i=this._actualReadFontInfo(e,t);(i.typicalHalfwidthCharacterWidth<=2||i.typicalFullwidthCharacterWidth<=2||i.spaceWidth<=2||i.maxDigitWidth<=2)&&(i=new pm({pixelRatio:lm.getInstance(e).value,fontFamily:i.fontFamily,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFeatureSettings:i.fontFeatureSettings,fontVariationSettings:i.fontVariationSettings,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,isMonospace:i.isMonospace,typicalHalfwidthCharacterWidth:Math.max(i.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(i.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:i.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(i.spaceWidth,5),middotWidth:Math.max(i.middotWidth,5),wsmiddotWidth:Math.max(i.wsmiddotWidth,5),maxDigitWidth:Math.max(i.maxDigitWidth,5)},!1)),this._writeToCache(e,t,i)}return i.get(t)}_createRequest(e,t,i,n){const s=new hm(e,t);return i.push(s),n?.push(s),s}_actualReadFontInfo(e,t){const i=[],n=[],s=this._createRequest("n",0,i,n),o=this._createRequest("\uff4d",0,i,null),r=this._createRequest(" ",0,i,n),a=this._createRequest("0",0,i,n),l=this._createRequest("1",0,i,n),h=this._createRequest("2",0,i,n),d=this._createRequest("3",0,i,n),c=this._createRequest("4",0,i,n),u=this._createRequest("5",0,i,n),g=this._createRequest("6",0,i,n),p=this._createRequest("7",0,i,n),m=this._createRequest("8",0,i,n),f=this._createRequest("9",0,i,n),_=this._createRequest("\u2192",0,i,n),v=this._createRequest("\uffeb",0,i,null),b=this._createRequest("\xb7",0,i,n),C=this._createRequest(String.fromCharCode(11825),0,i,null),w="|/-_ilm%";for(let x=0,D=8;x.001){S=!1;break}}let L=!0;return S&&v.width!==k&&(L=!1),v.width>_.width&&(L=!1),new pm({pixelRatio:lm.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:S,typicalHalfwidthCharacterWidth:s.width,typicalFullwidthCharacterWidth:o.width,canUseHalfwidthRightwardsArrow:L,spaceWidth:r.width,middotWidth:b.width,wsmiddotWidth:C.width,maxDigitWidth:y},!0)}}class fm{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map((e=>this._values[e]))}}const _m=new mm;class vm{static{this.items=[]}constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=vm._read(e,this.key);this.migrate(t,(t=>vm._read(e,t)),((t,i)=>vm._write(e,t,i)))}static _read(e,t){if(void 0===e)return;const i=t.indexOf(".");if(i>=0){const n=t.substring(0,i);return this._read(e[n],t.substring(i+1))}return e[t]}static _write(e,t,i){const n=t.indexOf(".");if(n>=0){const s=t.substring(0,n);return e[s]=e[s]||{},void this._write(e[s],t.substring(n+1),i)}e[t]=i}}function bm(e,t){vm.items.push(new vm(e,t))}function Cm(e,t){bm(e,((i,n,s)=>{if(void 0!==i)for(const[o,r]of t)if(i===o)return void s(e,r)}))}Cm("wordWrap",[[!0,"on"],[!1,"off"]]),Cm("lineNumbers",[[!0,"on"],[!1,"off"]]),Cm("cursorBlinking",[["visible","solid"]]),Cm("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),Cm("renderLineHighlight",[[!0,"line"],[!1,"none"]]),Cm("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),Cm("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),Cm("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Cm("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Cm("autoIndent",[[!1,"advanced"],[!0,"full"]]),Cm("matchBrackets",[[!0,"always"],[!1,"never"]]),Cm("renderFinalNewline",[[!0,"on"],[!1,"off"]]),Cm("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),Cm("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),Cm("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),bm("autoClosingBrackets",((e,t,i)=>{!1===e&&(i("autoClosingBrackets","never"),void 0===t("autoClosingQuotes")&&i("autoClosingQuotes","never"),void 0===t("autoSurround")&&i("autoSurround","never"))})),bm("renderIndentGuides",((e,t,i)=>{void 0!==e&&(i("renderIndentGuides",void 0),void 0===t("guides.indentation")&&i("guides.indentation",!!e))})),bm("highlightActiveIndentGuide",((e,t,i)=>{void 0!==e&&(i("highlightActiveIndentGuide",void 0),void 0===t("guides.highlightActiveIndentation")&&i("guides.highlightActiveIndentation",!!e))}));const wm={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"};bm("suggest.filteredTypes",((e,t,i)=>{if(e&&"object"==typeof e){for(const n of Object.entries(wm)){!1===e[n[0]]&&void 0===t(`suggest.${n[1]}`)&&i(`suggest.${n[1]}`,!1)}i("suggest.filteredTypes",void 0)}})),bm("quickSuggestions",((e,t,i)=>{if("boolean"==typeof e){const t=e?"on":"off";i("quickSuggestions",{comments:t,strings:t,other:t})}})),bm("experimental.stickyScroll.enabled",((e,t,i)=>{"boolean"==typeof e&&(i("experimental.stickyScroll.enabled",void 0),void 0===t("stickyScroll.enabled")&&i("stickyScroll.enabled",e))})),bm("experimental.stickyScroll.maxLineCount",((e,t,i)=>{"number"==typeof e&&(i("experimental.stickyScroll.maxLineCount",void 0),void 0===t("stickyScroll.maxLineCount")&&i("stickyScroll.maxLineCount",e))})),bm("codeActionsOnSave",((e,t,i)=>{if(e&&"object"==typeof e){let t=!1;const n={};for(const i of Object.entries(e))"boolean"==typeof i[1]?(t=!0,n[i[0]]=i[1]?"explicit":"never"):n[i[0]]=i[1];t&&i("codeActionsOnSave",n)}})),bm("codeActionWidget.includeNearbyQuickfixes",((e,t,i)=>{"boolean"==typeof e&&(i("codeActionWidget.includeNearbyQuickfixes",void 0),void 0===t("codeActionWidget.includeNearbyQuickFixes")&&i("codeActionWidget.includeNearbyQuickFixes",e))})),bm("lightbulb.enabled",((e,t,i)=>{"boolean"==typeof e&&i("lightbulb.enabled",e?void 0:"off")}));const ym=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new P.vl,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}};var Sm=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},km=function(e,t){return function(i,n){t(i,n,e)}};let Lm=class extends Ae.jG{constructor(e,t,i,n,s){super(),this._accessibilityService=s,this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new P.vl),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new Zd,this.isSimpleWidget=e,this.contextMenuId=t,this._containerObserver=this._register(new om(n,i.dimension)),this._targetWindowId=We(n).vscodeWindowId,this._rawOptions=Em(i),this._validatedOptions=Im.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(cm.onDidChangeZoomLevel((()=>this._recomputeOptions()))),this._register(ym.onDidChangeTabFocus((()=>this._recomputeOptions()))),this._register(this._containerObserver.onDidChange((()=>this._recomputeOptions()))),this._register(_m.onDidChange((()=>this._recomputeOptions()))),this._register(lm.getInstance(We(n)).onDidChange((()=>this._recomputeOptions()))),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized((()=>this._recomputeOptions())))}_recomputeOptions(){const e=this._computeOptions(),t=Im.checkEquals(this.options,e);null!==t&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=gm.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),n={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:ym.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return Im.computeOptions(this._validatedOptions,n)}_readEnvConfiguration(){return{extraEditorClassName:xm(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:d||h,pixelRatio:lm.getInstance(Ue(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return _m.readFontInfo(Ue(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=Em(e);Im.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=Im.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=function(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}(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())}};function xm(){let e="";return u||g||(e+="no-user-select "),u&&(e+="no-minimap-shadow ",e+="enable-user-select "),f.zx&&(e+="mac "),e}Lm=Sm([km(4,$r)],Lm);class Dm{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class Nm{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class Im{static validateOptions(e){const t=new Dm;for(const i of Mc){const n="_never_"===i.name?void 0:e[i.name];t._write(i.id,i.validate(n))}return t}static computeOptions(e,t){const i=new Nm;for(const n of Mc)i._write(n.id,n.compute(t,i,e._read(n.id)));return i}static _deepEquals(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return!(!Array.isArray(e)||!Array.isArray(t))&&na.aI(e,t);if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!Im._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let n=!1;for(const s of Mc){const o=!Im._deepEquals(e._read(s.id),t._read(s.id));i[s.id]=o,o&&(n=!0)}return n?new Yd(i):null}static applyUpdate(e,t){let i=!1;for(const n of Mc)if(t.hasOwnProperty(n.name)){const s=n.applyUpdate(e[n.name],t[n.name]);e[n.name]=s.newValue,i=i||s.didChange}return i}}function Em(e){const t=ql.Go(e);return function(e){vm.items.forEach((t=>t.apply(e)))}(t),t}class Mm{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new Tm(this.x-e.scrollX,this.y-e.scrollY)}}class Tm{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new Mm(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class Rm{constructor(e,t,i,n){this.x=e,this.y=t,this.width=i,this.height=n,this._editorPagePositionBrand=void 0}}class Am{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function Pm(e){const t=ct(e);return new Rm(t.left,t.top,t.width,t.height)}function Om(e,t,i){const n=t.width/e.offsetWidth,s=t.height/e.offsetHeight,o=(i.x-t.x)/n,r=(i.y-t.y)/s;return new Am(o,r)}class Fm extends T{constructor(e,t,i){super(We(i),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new Mm(this.posx,this.posy),this.editorPos=Pm(i),this.relativePos=Om(i,this.editorPos,this.pos)}}class Wm{constructor(e){this._editorViewDomNode=e}_create(e){return new Fm(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return Ye(e,"contextmenu",(e=>{t(this._create(e))}))}onMouseUp(e,t){return Ye(e,"mouseup",(e=>{t(this._create(e))}))}onMouseDown(e,t){return Ye(e,Ut.MOUSE_DOWN,(e=>{t(this._create(e))}))}onPointerDown(e,t){return Ye(e,Ut.POINTER_DOWN,(e=>{t(this._create(e),e.pointerId)}))}onMouseLeave(e,t){return Ye(e,Ut.MOUSE_LEAVE,(e=>{t(this._create(e))}))}onMouseMove(e,t){return Ye(e,"mousemove",(e=>t(this._create(e))))}}class Bm{constructor(e){this._editorViewDomNode=e}_create(e){return new Fm(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return Ye(e,"pointerup",(e=>{t(this._create(e))}))}onPointerDown(e,t){return Ye(e,Ut.POINTER_DOWN,(e=>{t(this._create(e),e.pointerId)}))}onPointerLeave(e,t){return Ye(e,Ut.POINTER_LEAVE,(e=>{t(this._create(e))}))}onPointerMove(e,t){return Ye(e,"pointermove",(e=>t(this._create(e))))}}class Hm extends Ae.jG{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new Pu),this._keydownListener=null}startMonitoring(e,t,i,n,s){this._keydownListener=Xe(e.ownerDocument,"keydown",(e=>{e.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,e.browserEvent)}),!0),this._globalPointerMoveMonitor.startMonitoring(e,t,i,(e=>{n(new Fm(e,!0,this._editorViewDomNode))}),(e=>{this._keydownListener.dispose(),s(e)}))}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class Vm{static{this._idPool=0}constructor(e){this._editor=e,this._instanceId=++Vm._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new A.uC((()=>this.garbageCollect()),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const n=this._counter++;i=new zm(t,`dyn-rule-${this._instanceId}-${n}`,Ct(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}class zm{constructor(e,t,i,n){this.key=e,this.className=t,this.properties=n,this._referenceCount=0,this._styleElementDisposables=new Ae.Cm,this._styleElement=Et(i,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=`.${e} {`;for(const n in t){const e=t[n];let s;s="object"==typeof e?(0,io.GuP)(e.id):e;i+=`\n\t${Um(n)}: ${s};`}return i+="\n}",i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function Um(e){return e.replace(/(^[A-Z])/,(([e])=>e.toLowerCase())).replace(/([A-Z])/g,(([e])=>`-${e.toLowerCase()}`))}class Km extends Ae.jG{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,n=e.length;i=o.left?n.width=Math.max(n.width,o.left+o.width-n.left):(t[i++]=n,n=o)}return t[i++]=n,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||0===e.length)return null;const n=[];for(let s=0,o=e.length;sr)return null;if((t=Math.min(r,Math.max(0,t)))===(n=Math.min(r,Math.max(0,n)))&&i===s&&0===i&&!e.children[t].firstChild){const i=e.children[t].getClientRects();return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(i,o.clientRectDeltaLeft,o.clientRectScale)}t!==n&&n>0&&0===s&&(n--,s=1073741824);let a=e.children[t].firstChild,l=e.children[n].firstChild;if(a&&l||(!a&&0===i&&t>0&&(a=e.children[t-1].firstChild,i=1073741824),!l&&0===s&&n>0&&(l=e.children[n-1].firstChild,s=1073741824)),!a||!l)return null;i=Math.min(a.textContent.length,Math.max(0,i)),s=Math.min(l.textContent.length,Math.max(0,s));const h=this._readClientRects(a,i,l,s,o.endNode);return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(h,o.clientRectDeltaLeft,o.clientRectScale)}}class tf{constructor(e,t,i,n){this.startColumn=e,this.endColumn=t,this.className=i,this.type=n,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(e,t){const i=e.length;if(i!==t.length)return!1;for(let n=0;n=s||(r[a++]=new tf(Math.max(1,l.startColumn-n+1),Math.min(o+1,l.endColumn-n+1),l.className,l.type));return r}static filter(e,t,i,n){if(0===e.length)return[];const s=[];let o=0;for(let r=0,a=e.length;rt)continue;if(l.isEmpty()&&(0===a.type||3===a.type))continue;const h=l.startLineNumber===t?l.startColumn:i,d=l.endLineNumber===t?l.endColumn:n;s[o++]=new tf(h,d,a.inlineClassName,a.type)}return s}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=tf._typeCompare(e.type,t.type);return 0!==i?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t),this.metadata.splice(n,0,i);break}this.count++}}class of{static normalize(e,t){if(0===t.length)return[];const i=[],n=new sf;let s=0;for(let o=0,r=t.length;o1){const t=e.charCodeAt(a-2);Ri.pc(t)&&a--}if(l>1){const t=e.charCodeAt(l-2);Ri.pc(t)&&l--}const c=a-1,u=l-2;s=n.consumeLowerThan(c,s,i),0===n.count&&(s=c),n.insert(u,h,d)}return n.consumeLowerThan(1073741824,s,i),i}}var rf=i(54324);class af{constructor(e,t,i,n){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=n,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class lf{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class hf{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u,g,p,m,f,_,v){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=n,this.isBasicASCII=s,this.containsRTL=o,this.fauxIndentLength=r,this.lineTokens=a,this.lineDecorations=l.sort(tf.compare),this.tabSize=h,this.startVisibleColumn=d,this.spaceWidth=c,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===m?4:"boundary"===m?1:"selection"===m?2:"trailing"===m?3:0,this.renderControlCharacters=f,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort(((e,t)=>e.startOffset>>16}static getCharIndex(e){return(65535&e)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,n){const s=(t<<16|i)>>>0;this._data[e-1]=s,this._horizontalOffset[e-1]=n}getHorizontalOffset(e){return 0===this._horizontalOffset.length?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=cf.getPartIndex(t),n=cf.getCharIndex(t);return new df(i,n)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(0===this.length)return 0;const n=(e<<16|i)>>>0;let s=0,o=this.length-1;for(;s+1>>1,t=this._data[e];if(t===n)return e;t>n?o=e:s=e}if(s===o)return s;const r=this._data[s],a=this._data[o];if(r===n)return s;if(a===n)return o;const l=cf.getPartIndex(r),h=cf.getCharIndex(r);let d;d=l!==cf.getPartIndex(a)?t:cf.getCharIndex(a);return i-h<=d-i?s:o}}class uf{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function gf(e,t){if(0===e.lineContent.length){if(e.lineDecorations.length>0){t.appendString("");let i=0,n=0,s=0;for(const r of e.lineDecorations)1!==r.type&&2!==r.type||(t.appendString(''),1===r.type&&(s|=1,i++),2===r.type&&(s|=2,n++));t.appendString("");const o=new cf(1,i+n);return o.setColumnInfo(1,i,0,0),new uf(o,!1,s)}return t.appendString(""),new uf(new cf(0,0),!1,0)}return function(e,t){const i=e.fontIsMonospace,n=e.canUseHalfwidthRightwardsArrow,s=e.containsForeignElements,o=e.lineContent,r=e.len,a=e.isOverflowing,l=e.overflowingCharCount,h=e.parts,d=e.fauxIndentLength,c=e.tabSize,u=e.startVisibleColumn,g=e.containsRTL,p=e.spaceWidth,m=e.renderSpaceCharCode,f=e.renderWhitespace,_=e.renderControlCharacters,v=new cf(r+1,h.length);let b=!1,C=0,w=u,y=0,S=0,k=0;g?t.appendString(''):t.appendString("");for(let L=0,x=h.length;L=d&&(i+=n)}}for(x&&(t.appendString(' style="width:'),t.appendString(String(p*e)),t.appendString('px"')),t.appendASCIICharCode(62);C1?t.appendCharCode(8594):t.appendCharCode(65515);for(let e=2;e<=i;e++)t.appendCharCode(160)}else e=2,i=1,t.appendCharCode(m),t.appendCharCode(8204);y+=e,S+=i,C>=d&&(w+=i)}}else for(t.appendASCIICharCode(62);C=d&&(w+=n)}D?k++:k=0,C>=r&&!b&&e.isPseudoAfter()&&(b=!0,v.setColumnInfo(C+1,L,y,S)),t.appendString("")}b||v.setColumnInfo(r+1,h.length-1,y,S);a&&(t.appendString(''),t.appendString($n.kg("showMore","Show more ({0})",function(e){if(e<1024)return $n.kg("overflow.chars","{0} chars",e);if(e<1048576)return`${(e/1024).toFixed(1)} KB`;return`${(e/1024/1024).toFixed(1)} MB`}(l))),t.appendString(""));return t.appendString(""),new uf(v,g,s)}(function(e){const t=e.lineContent;let i,n,s;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(o[r++]=new af(n,"",0,!1));let a=n;for(let l=0,h=i.getCount();l=s){const i=!!t&&Ri.E_(e.substring(a,s));o[r++]=new af(s,d,0,i);break}const c=!!t&&Ri.E_(e.substring(a,h));o[r++]=new af(h,d,0,c),a=h}return o}(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,s);e.renderControlCharacters&&!e.isBasicASCII&&(o=function(e,t){const i=[];let n=new af(0,"",0,!1),s=0;for(const o of t){const t=o.endIndex;for(;sn.endIndex&&(n=new af(s,o.type,o.metadata,o.containsRTL),i.push(n)),n=new af(s+1,"mtkcontrol",o.metadata,!1),i.push(n))}s>n.endIndex&&(n=new af(t,o.type,o.metadata,o.containsRTL),i.push(n))}return i}(t,o));(4===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine||3===e.renderWhitespace&&!e.continuesWithWrappedLine)&&(o=function(e,t,i,n){const s=e.continuesWithWrappedLine,o=e.fauxIndentLength,r=e.tabSize,a=e.startVisibleColumn,l=e.useMonospaceOptimizations,h=e.selectionsOnLine,d=1===e.renderWhitespace,c=3===e.renderWhitespace,u=e.renderSpaceWidth!==e.spaceWidth,g=[];let p=0,m=0,f=n[m].type,_=n[m].containsRTL,v=n[m].endIndex;const b=n.length;let C,w=!1,y=Ri.HG(t);-1===y?(w=!0,y=i,C=i):C=Ri.lT(t);let S=!1,k=0,L=h&&h[k],x=a%r;for(let N=o;N=L.endOffset&&(k++,L=h&&h[k]),NC)s=!0;else if(9===e)s=!0;else if(32===e)if(d)if(S)s=!0;else{const e=N+1N),s&&c&&(s=w||N>C),s&&_&&N>=y&&N<=C&&(s=!1),S){if(!s||!l&&x>=r){if(u){for(let e=(p>0?g[p-1].endIndex:o)+1;e<=N;e++)g[p++]=new af(e,"mtkw",1,!1)}else g[p++]=new af(N,"mtkw",1,!1);x%=r}}else(N===v||s&&N>o)&&(g[p++]=new af(N,f,0,_),x%=r);for(9===e?x=r:Ri.ne(e)?x+=2:x++,S=s;N===v&&(m++,m0?t.charCodeAt(i-1):0,n=i>1?t.charCodeAt(i-2):0;32===e&&32!==n&&9!==n||(D=!0)}else D=!0;if(D)if(u){for(let e=(p>0?g[p-1].endIndex:o)+1;e<=i;e++)g[p++]=new af(e,"mtkw",1,!1)}else g[p++]=new af(i,"mtkw",1,!1);else g[p++]=new af(i,f,0,_);return g}(e,t,s,o));let r=0;if(e.lineDecorations.length>0){for(let t=0,i=e.lineDecorations.length;th&&(h=e.startOffset,a[l++]=new af(h,n,d,u)),!(e.endOffset+1<=t)){h=t,a[l++]=new af(h,n+" "+e.className,d|e.metadata,u);break}h=e.endOffset+1,a[l++]=new af(h,n+" "+e.className,d|e.metadata,u),r++}t>h&&(h=t,a[l++]=new af(h,n,d,u))}const d=i[i.length-1].endIndex;if(r=50&&(s[o++]=new af(h+1,t,r,l),d=h+1,h=-1);d!==a&&(s[o++]=new af(a,t,r,l))}else s[o++]=i;n=a}else for(let r=0,a=t.length;r50){const t=e.type,r=e.metadata,l=e.containsRTL,h=Math.ceil(a/50);for(let e=1;e=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||1564===e)}function vf(e){return e.toString(16).toUpperCase().padStart(4,"0")}const bf=!!f.ib||!(f.j9||h||u);let Cf=!0;class wf{constructor(e,t){this.themeType=t;const i=e.options,n=i.get(50),s=i.get(38);this.renderWhitespace="off"===s?i.get(100):"none",this.renderControlCharacters=i.get(95),this.spaceWidth=n.spaceWidth,this.middotWidth=n.middotWidth,this.wsmiddotWidth=n.wsmiddotWidth,this.useMonospaceOptimizations=n.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=n.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(118),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class yf{static{this.CLASS_NAME="view-line"}constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=Lh(e)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return!(!(0,Hp.Bb)(this._options.themeType)&&"selection"!==this._options.renderWhitespace)&&(this._isMaybeInvalid=!0,!0)}renderLine(e,t,i,n,s){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;const o=n.getViewLineRenderingData(e),r=this._options,a=tf.filter(o.inlineDecorations,e,o.minColumn,o.maxColumn);let l=null;if((0,Hp.Bb)(r.themeType)||"selection"===this._options.renderWhitespace){const t=n.selections;for(const i of t){if(i.endLineNumbere)continue;const t=i.startLineNumber===e?i.startColumn:o.minColumn,n=i.endLineNumber===e?i.endColumn:o.maxColumn;t');const d=gf(h,s);s.appendString("
    ");let c=null;return Cf&&bf&&o.isBasicASCII&&r.useMonospaceOptimizations&&0===d.containsForeignElements&&(c=new Sf(this._renderedViewLine?this._renderedViewLine.domNode:null,h,d.characterMapping)),c||(c=xf(this._renderedViewLine?this._renderedViewLine.domNode:null,h,d.characterMapping,d.containsRTL,d.containsForeignElements)),this._renderedViewLine=c,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof Sf}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof Sf?this._renderedViewLine.monospaceAssumptionsAreValid():Cf}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof Sf&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,n){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const s=this._renderedViewLine.input.stopRenderingLineAfter;if(-1!==s&&t>s+1&&i>s+1)return new Jm(!0,[new Zm(this.getWidth(n),0)]);-1!==s&&t>s+1&&(t=s+1),-1!==s&&i>s+1&&(i=s+1);const o=this._renderedViewLine.getVisibleRangesForRange(e,t,i,n);return o&&o.length>0?new Jm(!1,o):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}class Sf{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const n=Math.floor(t.lineContent.length/300);if(n>0){this._keyColumnPixelOffsetCache=new Float32Array(n);for(let e=0;e=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),Cf=!1)}return Cf}toSlowRenderedLine(){return xf(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,n){const s=this._getColumnPixelOffset(e,t,n),o=this._getColumnPixelOffset(e,i,n);return[new Zm(s,o-s)]}_getColumnPixelOffset(e,t,i){if(t<=300){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const n=Math.floor((t-1)/300)-1,s=300*(n+1)+1;let o=-1;if(this._keyColumnPixelOffsetCache&&(o=this._keyColumnPixelOffsetCache[n],-1===o&&(o=this._actualReadPixelOffset(e,s,i),this._keyColumnPixelOffsetCache[n]=o)),-1===o){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const r=this._characterMapping.getHorizontalOffset(s),a=this._characterMapping.getHorizontalOffset(t);return o+this._charWidth*(a-r)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return-1;const n=this._characterMapping.getDomPosition(t),s=ef.readHorizontalRanges(this._getReadingTarget(this.domNode),n.partIndex,n.charIndex,n.partIndex,n.charIndex,i);return s&&0!==s.length?s[0].left:-1}getColumnOfNodeOffset(e,t){return If(this._characterMapping,e,t)}}class kf{constructor(e,t,i,n,s){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=s,this._cachedWidth=-1,this._pixelOffsetCache=null,!n||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e?.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return-1!==this._cachedWidth}getVisibleRangesForRange(e,t,i,n){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){const s=this._readPixelOffset(this.domNode,e,t,n);if(-1===s)return null;const o=this._readPixelOffset(this.domNode,e,i,n);return-1===o?null:[new Zm(s,o-s)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,n)}_readVisibleRangesForRange(e,t,i,n,s){if(i===n){const n=this._readPixelOffset(e,t,i,s);return-1===n?null:[new Zm(n,0)]}return this._readRawVisibleRangesForRange(e,i,n,s)}_readPixelOffset(e,t,i,n){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth(n);const t=this._getReadingTarget(e);return t.firstChild?(n.markDidDomLayout(),t.firstChild.offsetWidth):0}if(null!==this._pixelOffsetCache){const s=this._pixelOffsetCache[i];if(-1!==s)return s;const o=this._actualReadPixelOffset(e,t,i,n);return this._pixelOffsetCache[i]=o,o}return this._actualReadPixelOffset(e,t,i,n)}_actualReadPixelOffset(e,t,i,n){if(0===this._characterMapping.length){const t=ef.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,n);return t&&0!==t.length?t[0].left:-1}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth(n);const s=this._characterMapping.getDomPosition(i),o=ef.readHorizontalRanges(this._getReadingTarget(e),s.partIndex,s.charIndex,s.partIndex,s.charIndex,n);if(!o||0===o.length)return-1;const r=o[0].left;if(this.input.isBasicASCII){const e=this._characterMapping.getHorizontalOffset(i),t=Math.round(this.input.spaceWidth*e);if(Math.abs(t-r)<=1)return t}return r}_readRawVisibleRangesForRange(e,t,i,n){if(1===t&&i===this._characterMapping.length)return[new Zm(0,this.getWidth(n))];const s=this._characterMapping.getDomPosition(t),o=this._characterMapping.getDomPosition(i);return ef.readHorizontalRanges(this._getReadingTarget(e),s.partIndex,s.charIndex,o.partIndex,o.charIndex,n)}getColumnOfNodeOffset(e,t){return If(this._characterMapping,e,t)}}class Lf extends kf{_readVisibleRangesForRange(e,t,i,n,s){const o=super._readVisibleRangesForRange(e,t,i,n,s);if(!o||0===o.length||i===n||1===i&&n===this._characterMapping.length)return o;if(!this.input.containsRTL){const i=this._readPixelOffset(e,t,n,s);if(-1!==i){const e=o[o.length-1];e.left=4&&3===e[0]&&8===e[3]}static isStrictChildOfViewLines(e){return e.length>4&&3===e[0]&&8===e[3]}static isChildOfScrollableElement(e){return e.length>=2&&3===e[0]&&6===e[1]}static isChildOfMinimap(e){return e.length>=2&&3===e[0]&&9===e[1]}static isChildOfContentWidgets(e){return e.length>=4&&3===e[0]&&1===e[3]}static isChildOfOverflowGuard(e){return e.length>=1&&3===e[0]}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&2===e[0]}static isChildOfOverlayWidgets(e){return e.length>=2&&3===e[0]&&4===e[1]}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&5===e[0]}}class Of{constructor(e,t,i){this.viewModel=e.viewModel;const n=e.configuration.options;this.layoutInfo=n.get(146),this.viewDomNode=t.viewDomNode,this.lineHeight=n.get(67),this.stickyTabStops=n.get(117),this.typicalHalfwidthCharacterWidth=n.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return Of.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const n=i.verticalOffset+i.height/2,s=e.viewModel.getLineCount();let o,r=null,a=null;return i.afterLineNumber!==s&&(a=new Qn.y(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(r=new Qn.y(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),o=null===a?r:null===r?a:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Vf._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class Wf extends Ff{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=$m.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,i,n,s){super(e,t,i,n),this.hitTestResult=new Ol.d((()=>Vf.doHitTest(this._ctx,this))),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=s;const o=Boolean(this._eventTarget);this._useHitTestTarget=!o}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&null!==this.hitTestResult.value.hitTarget&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columno.contentLeft+o.width)continue;const i=e.getVerticalOffsetForLineNumber(o.position.lineNumber);if(i<=s&&s<=i+o.height)return t.fulfillContentText(o.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const e=t.isInContentArea?8:5;return t.fulfillViewZone(e,i.position,i)}return null}static _hitTestTextArea(e,t){return Pf.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),n=i.range.getStartPosition();let s=Math.abs(t.relativePos.x);const o={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:s};if(s-=e.layoutInfo.glyphMarginLeft,s<=e.layoutInfo.glyphMarginWidth){const r=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),a=e.viewModel.glyphLanes.getLanesAtLine(r.lineNumber);return o.glyphMarginLane=a[Math.floor(s/e.lineHeight)],t.fulfillMargin(2,n,i.range,o)}return s-=e.layoutInfo.glyphMarginWidth,s<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,n,i.range,o):(s-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,n,i.range,o))}return null}static _hitTestViewLines(e,t){if(!Pf.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new Qn.y(1,1),Bf);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const i=e.viewModel.getLineCount(),n=e.viewModel.getLineMaxColumn(i);return t.fulfillContentEmpty(new Qn.y(i,n),Bf)}if(Pf.isStrictChildOfViewLines(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(0===e.viewModel.getLineLength(i)){const n=e.getLineWidth(i),s=Hf(t.mouseContentHorizontalOffset-n);return t.fulfillContentEmpty(new Qn.y(i,1),s)}const n=e.getLineWidth(i);if(t.mouseContentHorizontalOffset>=n){const s=Hf(t.mouseContentHorizontalOffset-n),o=new Qn.y(i,e.viewModel.getLineMaxColumn(i));return t.fulfillContentEmpty(o,s)}}const i=t.hitTestResult.value;return 1===i.type?Vf.createMouseTargetFromHitTestPosition(e,t,i.spanNode,i.position,i.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(Pf.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Qn.y(i,n))}return null}static _hitTestScrollbarSlider(e,t){if(Pf.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Qn.y(i,n))}}return null}static _hitTestScrollbar(e,t){if(Pf.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Qn.y(i,n))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(146),n=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return Vf._getMouseColumn(n,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){if(e<0)return 1;return Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,n,s){const o=n.lineNumber,r=n.column,a=e.getLineWidth(o);if(t.mouseContentHorizontalOffset>a){const e=Hf(t.mouseContentHorizontalOffset-a);return t.fulfillContentEmpty(n,e)}const l=e.visibleRangeForPosition(o,r);if(!l)return t.fulfillUnknown(n);const h=l.left;if(Math.abs(t.mouseContentHorizontalOffset-h)<1)return t.fulfillContentText(n,null,{mightBeForeignElement:!!s,injectedText:s});const d=[];if(d.push({offset:l.left,column:r}),r>1){const t=e.visibleRangeForPosition(o,r-1);t&&d.push({offset:t.left,column:r-1})}if(re.offset-t.offset));const c=t.pos.toClientCoordinates(We(e.viewDomNode)),u=i.getBoundingClientRect(),g=u.left<=c.clientX&&c.clientX<=u.right;let p=null;for(let m=1;ms)){const i=Math.floor((n+s)/2);let o=t.pos.y+(i-t.mouseVerticalOffset);o<=t.editorPos.y&&(o=t.editorPos.y+1),o>=t.editorPos.y+t.editorPos.height&&(o=t.editorPos.y+t.editorPos.height-1);const r=new Mm(t.pos.x,o),a=this._actualDoHitTestWithCaretRangeFromPoint(e,r.toClientCoordinates(We(e.viewDomNode)));if(1===a.type)return a}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(We(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=wt(e.viewDomNode);let n;if(n=i?void 0===i.caretRangeFromPoint?function(e,t,i){const n=document.createRange();let s=e.elementFromPoint(t,i);if(null!==s){for(;s&&s.firstChild&&s.firstChild.nodeType!==s.firstChild.TEXT_NODE&&s.lastChild&&s.lastChild.firstChild;)s=s.lastChild;const e=s.getBoundingClientRect(),i=We(s),o=`${i.getComputedStyle(s,null).getPropertyValue("font-style")} ${i.getComputedStyle(s,null).getPropertyValue("font-variant")} ${i.getComputedStyle(s,null).getPropertyValue("font-weight")} ${i.getComputedStyle(s,null).getPropertyValue("font-size")}/${i.getComputedStyle(s,null).getPropertyValue("line-height")} ${i.getComputedStyle(s,null).getPropertyValue("font-family")}`,r=s.innerText;let a,l=e.left,h=0;if(t>e.left+e.width)h=r.length;else{const e=zf.getInstance();for(let i=0;ithis._createMouseTarget(e,t)),(e=>this._getMouseColumn(e)))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(146).height;const n=new Wm(this.viewHelper.viewDomNode);this._register(n.onContextMenu(this.viewHelper.viewDomNode,(e=>this._onContextMenu(e,!0)))),this._register(n.onMouseMove(this.viewHelper.viewDomNode,(e=>{this._onMouseMove(e),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=Ye(this.viewHelper.viewDomNode.ownerDocument,"mousemove",(e=>{this.viewHelper.viewDomNode.contains(e.target)||this._onMouseLeave(new Fm(e,!1,this.viewHelper.viewDomNode))})))}))),this._register(n.onMouseUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(n.onMouseLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e))));let s=0;this._register(n.onPointerDown(this.viewHelper.viewDomNode,((e,t)=>{s=t}))),this._register(Ye(this.viewHelper.viewDomNode,Ut.POINTER_UP,(e=>{this._mouseDownOperation.onPointerUp()}))),this._register(n.onMouseDown(this.viewHelper.viewDomNode,(e=>this._onMouseDown(e,s)))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=Yu.INSTANCE;let t=0,i=cm.getZoomLevel(),n=!1,s=0;function o(e){return f.zx?(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey:e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}this._register(Ye(this.viewHelper.viewDomNode,Ut.MOUSE_WHEEL,(r=>{if(this.viewController.emitMouseWheel(r),!this._context.configuration.options.get(76))return;const a=new R(r);if(e.acceptStandardWheelEvent(a),e.isPhysicalMouseWheel()){if(o(r)){const e=cm.getZoomLevel(),t=a.deltaY>0?1:-1;cm.setZoomLevel(e+t),a.preventDefault(),a.stopPropagation()}}else Date.now()-t>50&&(i=cm.getZoomLevel(),n=o(r),s=0),t=Date.now(),s+=a.deltaY,n&&(cm.setZoomLevel(i+s/5),a.preventDefault(),a.stopPropagation())}),{capture:!0,passive:!1}))}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(146)){const e=this._context.configuration.options.get(146).height;this._height!==e&&(this._height=e,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const i=new Tm(e,t).toPageCoordinates(We(this.viewHelper.viewDomNode)),n=Pm(this.viewHelper.viewDomNode);if(i.yn.y+n.height||i.xn.x+n.width)return null;const s=Om(this.viewHelper.viewDomNode,n,i);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),n,i,s,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const t=wt(this.viewHelper.viewDomNode);t&&(i=t.elementsFromPoint(e.posx,e.posy).find((e=>this.viewHelper.viewDomNode.contains(e))))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){if(this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),this._mouseDownOperation.isActive())return;e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(h&&(n||o&&r))d(),this._mouseDownOperation.start(i.type,e,t);else if(s)e.preventDefault();else if(a){const n=i.detail;h&&this.viewHelper.shouldSuppressMouseDownOnViewZone(n.viewZoneId)&&(d(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else l&&this.viewHelper.shouldSuppressMouseDownOnWidget(i.detail)&&(d(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:i})}}class Kf extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._mouseTargetFactory=n,this._createMouseTarget=s,this._getMouseColumn=o,this._mouseMoveMonitor=this._register(new Hm(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new jf(this._context,this._viewHelper,this._mouseTargetFactory,((e,t,i)=>this._dispatchMouse(e,t,i)))),this._mouseState=new qf,this._currentSelection=new qs.L(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):13!==t.type||"above"!==t.outsidePosition&&"below"!==t.outsidePosition?(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)):this._topBottomDragScrolling.start(t,e))}start(e,t,i){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(3===e),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const n=this._findMousePosition(t,!0);if(!n||!n.position)return;this._mouseState.trySetCount(t.detail,n.position),t.detail=this._mouseState.count;const s=this._context.configuration.options;if(!s.get(92)&&s.get(35)&&!s.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&6===n.type&&n.position&&this._currentSelection.containsPosition(n.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,(e=>this._onMouseDownThenMove(e)),(e=>{const t=this._findMousePosition(this._lastMouseEvent,!1);zt(e)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:t?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(n,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,(e=>this._onMouseDownThenMove(e)),(()=>this._stop())))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,n=this._context.viewLayout,s=this._getMouseColumn(e);if(e.posyt.y+t.height){const o=e.posy-t.y-t.height,r=n.getCurrentScrollTop()+e.relativePos.y,a=Of.getZoneAtCoord(this._context,r);if(a){const e=this._helpPositionJumpOverViewZone(a);if(e)return Af.createOutsideEditor(s,e,"below",o)}const l=n.getLineNumberAtVerticalOffset(r);return Af.createOutsideEditor(s,new Qn.y(l,i.getLineMaxColumn(l)),"below",o)}const o=n.getLineNumberAtVerticalOffset(n.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const n=e.posx-t.x-t.width;return Af.createOutsideEditor(s,new Qn.y(o,i.getLineMaxColumn(o)),"right",n)}return null}_findMousePosition(e,t){const i=this._getPositionOutsideEditor(e);if(i)return i;const n=this._createMouseTarget(e,t);if(!n.position)return null;if(8===n.type||5===n.type){const e=this._helpPositionJumpOverViewZone(n.detail);if(e)return Af.createViewZone(n.type,n.element,n.mouseColumn,e,n.detail)}return n}_helpPositionJumpOverViewZone(e){const t=new Qn.y(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),i=e.positionBefore,n=e.positionAfter;return i&&n?i.isBefore(t)?i:n:null}_dispatchMouse(e,t,i){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:i,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:6===e.type&&null!==e.detail.injectedText})}}class jf extends Ae.jG{constructor(e,t,i,n){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=n,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new $f(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class $f extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=n,this._position=s,this._mouseEvent=o,this._lastTime=Date.now(),this._animationFrameDisposable=nt(We(o.browserEvent),(()=>this._execute()))}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(146).height/e,i=this._position.outsideDistance/e;return i<=1.5?Math.max(30,t*(1+i)):i<=3?Math.max(60,t*(2+i)):Math.max(200,t*(7+i))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed()*(this._tick()/1e3)*e,i="above"===this._position.outsidePosition?-t:t;this._context.viewModel.viewLayout.deltaScrollNow(0,i),this._viewHelper.renderNow();const n=this._context.viewLayout.getLinesViewportData(),s="above"===this._position.outsidePosition?n.startLineNumber:n.endLineNumber;let o;{const e=Pm(this._viewHelper.viewDomNode),t=this._context.configuration.options.get(146).horizontalScrollbarHeight,i=new Mm(this._mouseEvent.pos.x,e.y+e.height-t-.1),n=Om(this._viewHelper.viewDomNode,e,i);o=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),e,i,n,null)}o.position&&o.position.lineNumber===s||(o="above"===this._position.outsidePosition?Af.createOutsideEditor(this._position.mouseColumn,new Qn.y(s,1),"above",this._position.outsideDistance):Af.createOutsideEditor(this._position.mouseColumn,new Qn.y(s,this._context.viewModel.getLineMaxColumn(s)),"below",this._position.outsideDistance)),this._dispatchMouse(o,!0,2),this._animationFrameDisposable=nt(We(o.element),(()=>this._execute()))}}class qf{static{this.CLEAR_MOUSE_DOWN_COUNT_TIME=400}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const i=(new Date).getTime();i-this._lastSetMouseDownCountTime>qf.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=i,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}class Gf extends Uf{constructor(e,t,i){super(e,t,i),this._register(sd.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ye(this.viewHelper.linesContentDomNode,id.Tap,(e=>this.onTap(e)))),this._register(Ye(this.viewHelper.linesContentDomNode,id.Change,(e=>this.onChange(e)))),this._register(Ye(this.viewHelper.linesContentDomNode,id.Contextmenu,(e=>this._onContextMenu(new Fm(e,!1,this.viewHelper.viewDomNode),!1)))),this._lastPointerType="mouse",this._register(Ye(this.viewHelper.linesContentDomNode,"pointerdown",(e=>{const t=e.pointerType;this._lastPointerType="mouse"!==t?"touch"===t?"touch":"pen":"mouse"})));const n=new Bm(this.viewHelper.viewDomNode);this._register(n.onPointerMove(this.viewHelper.viewDomNode,(e=>this._onMouseMove(e)))),this._register(n.onPointerUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(n.onPointerLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e)))),this._register(n.onPointerDown(this.viewHelper.viewDomNode,((e,t)=>this._onMouseDown(e,t))))}onTap(e){e.initialTarget&&this.viewHelper.linesContentDomNode.contains(e.initialTarget)&&(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){"touch"===this._lastPointerType&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),"pen"===this._lastPointerType&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const i=this._createMouseTarget(new Fm(e,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:6===i.type&&null!==i.detail.injectedText})}_onMouseDown(e,t){"touch"!==e.browserEvent.pointerType&&super._onMouseDown(e,t)}}class Qf extends Uf{constructor(e,t,i){super(e,t,i),this._register(sd.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ye(this.viewHelper.linesContentDomNode,id.Tap,(e=>this.onTap(e)))),this._register(Ye(this.viewHelper.linesContentDomNode,id.Change,(e=>this.onChange(e)))),this._register(Ye(this.viewHelper.linesContentDomNode,id.Contextmenu,(e=>this._onContextMenu(new Fm(e,!1,this.viewHelper.viewDomNode),!1))))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new Fm(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const e=document.createEvent("CustomEvent");e.initEvent(Gr.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(e),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class Yf extends Ae.jG{constructor(e,t,i){super();(f.un||f.m0&&f.Fr)&&_?this.handler=this._register(new Gf(e,t,i)):o.TouchEvent?this.handler=this._register(new Qf(e,t,i)):this.handler=this._register(new Uf(e,t,i))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}class Zf extends Km{}var Xf=i(48295);class Jf extends Zf{static{this.CLASS_NAME="line-numbers"}constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new Qn.y(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(96);const i=e.get(146);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),2!==this._renderLineNumbers&&3!==this._renderLineNumbers||(i=!0),i}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Qn.y(e,1));if(1!==t.column)return"";const i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(2===this._renderLineNumbers){const e=Math.abs(this._lastCursorModelPosition.lineNumber-i);return 0===e?''+i+"":String(e)}if(3===this._renderLineNumbers){if(this._lastCursorModelPosition.lineNumber===i)return String(i);if(i%10==0)return String(i);return i===this._context.viewModel.getLineCount()?String(i):""}return String(i)}prepareRender(e){if(0===this._renderLineNumbers)return void(this._renderResult=null);const t=f.j9?this._lineHeight%2==0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,s=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter((e=>!!e.options.lineNumberClassName));s.sort(((e,t)=>Js.Q.compareRangesUsingEnds(e.range,t.range)));let o=0;const r=this._context.viewModel.getLineCount(),a=[];for(let l=i;l<=n;l++){const e=l-i;let n=this._getLineRenderLineNumber(l),h="";for(;o${n}
    `):a[e]=""}this._renderResult=a}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}(0,no.zy)(((e,t)=>{const i=e.getColor(Xf.Qt),n=e.getColor(Xf.JB);n?t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${n}; }`):i&&t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${i.transparent(.4)}; }`)}));class e_ extends jm{static{this.CLASS_NAME="glyph-margin"}static{this.OUTER_CLASS_NAME="margin"}constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=Lh(document.createElement("div")),this._domNode.setClassName(e_.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=Lh(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(e_.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}const t_="monaco-mouse-cursor-text";const i_=new class{constructor(){this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}};var n_=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},s_=function(e,t){return function(i,n){t(i,n,e)}};class o_{constructor(e,t,i,n,s){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=n,this.distanceToModelLineEnd=s,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new Qn.y(this.modelLineNumber,this.distanceToModelLineStart+1),i=new Qn.y(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(this._previousPresentation=e||{foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const r_=h;let a_=class extends jm{constructor(e,t,i,n,s){super(e),this._keybindingService=n,this._instantiationService=s,this._primaryCursorPosition=new Qn.y(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=i,this._scrollLeft=0,this._scrollTop=0;const o=this._context.configuration.options,r=o.get(146);this._setAccessibilityOptions(o),this._contentLeft=r.contentLeft,this._contentWidth=r.contentWidth,this._contentHeight=r.height,this._fontInfo=o.get(50),this._lineHeight=o.get(67),this._emptySelectionClipboard=o.get(37),this._copyWithSyntaxHighlighting=o.get(25),this._visibleTextArea=null,this._selections=[new qs.L(1,1,1,1)],this._modelSelections=[new qs.L(1,1,1,1)],this._lastRenderPosition=null,this.textArea=Lh(document.createElement("textarea")),$m.write(this.textArea,7),this.textArea.setClassName(`inputarea ${t_}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:a}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=a*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(o)),this.textArea.setAttribute("aria-required",o.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(o.get(125))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",$n.kg("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",o.get(92)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=Lh(document.createElement("div")),this.textAreaCover.setPosition("absolute");const l={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:e=>this._context.viewModel.getLineMaxColumn(e),getValueInRange:(e,t)=>this._context.viewModel.getValueInRange(e,t),getValueLengthInRange:(e,t)=>this._context.viewModel.getValueLengthInRange(e,t),modifyPosition:(e,t)=>this._context.viewModel.modifyPosition(e,t)},d={getDataToCopy:()=>{const e=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,f.uF),t=this._context.viewModel.model.getEOL(),i=this._emptySelectionClipboard&&1===this._modelSelections.length&&this._modelSelections[0].isEmpty(),n=Array.isArray(e)?e:null,s=Array.isArray(e)?e.join(t):e;let o,r=null;if(Zr.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&s.length<65536){const e=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);e&&(o=e.html,r=e.mode)}return{isFromEmptySelection:i,multicursorText:n,text:s,html:o,mode:r}},getScreenReaderContent:()=>{if(1===this._accessibilitySupport){const e=this._selections[0];if(f.zx&&e.isEmpty()){const t=e.getStartPosition();let i=this._getWordBeforePosition(t);if(0===i.length&&(i=this._getCharacterBeforePosition(t)),i.length>0)return new Kr(i,i.length,i.length,Js.Q.fromPositions(t),0)}const t=500;if(f.zx&&!e.isEmpty()&&l.getValueLengthInRange(e,0)0)return new Kr(i,n,n,Js.Q.fromPositions(t),0)}return Kr.EMPTY}return jr.fromEditorSelection(l,this._selections[0],this._accessibilityPageSize,0===this._accessibilitySupport)},deduceModelPosition:(e,t,i)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(e,t,i)},g=this._register(new ia(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(ea,d,g,f.OS,{isAndroid:p,isChrome:c,isFirefox:h,isSafari:u})),this._register(this._textAreaInput.onKeyDown((e=>{this._viewController.emitKeyDown(e)}))),this._register(this._textAreaInput.onKeyUp((e=>{this._viewController.emitKeyUp(e)}))),this._register(this._textAreaInput.onPaste((e=>{let t=!1,i=null,n=null;e.metadata&&(t=this._emptySelectionClipboard&&!!e.metadata.isFromEmptySelection,i=void 0!==e.metadata.multicursorText?e.metadata.multicursorText:null,n=e.metadata.mode),this._viewController.paste(e.text,t,i,n)}))),this._register(this._textAreaInput.onCut((()=>{this._viewController.cut()}))),this._register(this._textAreaInput.onType((e=>{e.replacePrevCharCnt||e.replaceNextCharCnt||e.positionDelta?this._viewController.compositionType(e.text,e.replacePrevCharCnt,e.replaceNextCharCnt,e.positionDelta):this._viewController.type(e.text)}))),this._register(this._textAreaInput.onSelectionChangeRequest((e=>{this._viewController.setSelection(e)}))),this._register(this._textAreaInput.onCompositionStart((e=>{const t=this.textArea.domNode,i=this._modelSelections[0],{distanceToModelLineStart:n,widthOfHiddenTextBefore:s}=(()=>{const e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),n=e.lastIndexOf("\n"),s=e.substring(n+1),o=s.lastIndexOf("\t"),r=s.length-o-1,a=i.getStartPosition(),l=Math.min(a.column-1,r),h=a.column-1-l,d=s.substring(0,s.length-l),{tabSize:c}=this._context.viewModel.model.getOptions(),u=function(e,t,i,n){if(0===t.length)return 0;const s=e.createElement("div");s.style.position="absolute",s.style.top="-50000px",s.style.width="50000px";const o=e.createElement("span");xh(o,i),o.style.whiteSpace="pre",o.style.tabSize=n*i.spaceWidth+"px",o.append(t),s.appendChild(o),e.body.appendChild(s);const r=o.offsetWidth;return s.remove(),r}(this.textArea.domNode.ownerDocument,d,this._fontInfo,c);return{distanceToModelLineStart:h,widthOfHiddenTextBefore:u}})(),{distanceToModelLineEnd:o}=(()=>{const e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),n=e.indexOf("\n"),s=-1===n?e:e.substring(0,n),o=s.indexOf("\t"),r=-1===o?s.length:s.length-o-1,a=i.getEndPosition(),l=Math.min(this._context.viewModel.model.getLineMaxColumn(a.lineNumber)-a.column,r);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(a.lineNumber)-a.column-l}})();this._context.viewModel.revealRange("keyboard",!0,Js.Q.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new o_(this._context,i.startLineNumber,n,s,o),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${t_} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()}))),this._register(this._textAreaInput.onCompositionUpdate((e=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())}))),this._register(this._textAreaInput.onCompositionEnd((()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${t_}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}))),this._register(this._textAreaInput.onFocus((()=>{this._context.viewModel.setHasFocus(!0)}))),this._register(this._textAreaInput.onBlur((()=>{this._context.viewModel.setHasFocus(!1)}))),this._register(i_.onDidChange((()=>{this._ensureReadOnlyAttribute()})))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=(0,To.i)('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',[]);let n=!0,s=e.column,o=!0,r=e.column,a=0;for(;a<50&&(n||o);){if(n&&s<=1&&(n=!1),n){const e=t.charCodeAt(s-2);0!==i.get(e)?n=!1:s--}if(o&&r>t.length&&(o=!1),o){const e=t.charCodeAt(r-1);0!==i.get(e)?o=!1:r++}a++}return[t.substring(s-1,r-1),e.column-s]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=(0,To.i)(this._context.configuration.options.get(132),[]);let n=e.column,s=0;for(;n>1;){const o=t.charCodeAt(n-2);if(0!==i.get(o)||s>50)return t.substring(n-1,e.column-1);s++,n--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const t=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!Ri.pc(t.charCodeAt(0)))return t}return""}_getAriaLabel(e){if(1===e.get(2)){const e=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode")?.getAriaLabel(),t=this._keybindingService.lookupKeybinding("workbench.action.showCommands")?.getAriaLabel(),i=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings")?.getAriaLabel(),n=$n.kg("accessibilityModeOff","The editor is not accessible at this time.");return e?$n.kg("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",n,e):t?$n.kg("accessibilityOffAriaLabelNoKb","{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",n,t):i?$n.kg("accessibilityOffAriaLabelNoKbs","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",n,i):n}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);2===this._accessibilitySupport&&t===Rc.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const i=e.get(146).wrappingColumn;if(-1!==i&&1!==this._accessibilitySupport){const t=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(i*t.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=r_?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(50),this._lineHeight=t.get(67),this._emptySelectionClipboard=t.get(37),this._copyWithSyntaxHighlighting=t.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:n}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=n*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("aria-required",t.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(125))),(e.hasChanged(34)||e.hasChanged(92))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!i_.enabled||e.get(34)&&e.get(92)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){this._primaryCursorPosition=new Qn.y(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea?.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){if(this._visibleTextArea){const e=this._visibleTextArea.visibleTextareaStart,t=this._visibleTextArea.visibleTextareaEnd,i=this._visibleTextArea.startPosition,n=this._visibleTextArea.endPosition;if(i&&n&&e&&t&&t.left>=this._scrollLeft&&e.left<=this._scrollLeft+this._contentWidth){const s=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,o=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let r=this._visibleTextArea.widthOfHiddenLineTextBefore,a=this._contentLeft+e.left-this._scrollLeft,l=t.left-e.left+1;if(athis._contentWidth&&(l=this._contentWidth);const h=this._context.viewModel.getViewLineData(i.lineNumber),d=h.tokens.findTokenIndexAtOffset(i.column-1),c=d===h.tokens.findTokenIndexAtOffset(n.column-1),u=this._visibleTextArea.definePresentation(c?h.tokens.getPresentation(d):null);this.textArea.domNode.scrollTop=o*this._lineHeight,this.textArea.domNode.scrollLeft=r,this._doRender({lastRenderPosition:null,top:s,left:a,width:l,height:this._lineHeight,useCover:!1,color:(La.dG.getColorMap()||[])[u.foreground],italic:u.italic,bold:u.bold,underline:u.underline,strikethrough:u.strikethrough})}return}if(!this._primaryCursorVisibleRange)return void this._renderAtTopLeft();const e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ethis._contentLeft+this._contentWidth)return void this._renderAtTopLeft();const t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(t<0||t>this._contentHeight)this._renderAtTopLeft();else if(f.zx||2===this._accessibilitySupport){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const i=this._textAreaInput.textAreaState.newlineCountBeforeSelection??this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=i*this._lineHeight}else this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:r_?0:1,useCover:!1})}_newlinecount(e){let t=0,i=-1;for(;;){if(i=e.indexOf("\n",i+1),-1===i)break;t++}return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:r_?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,i=this.textAreaCover;xh(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?dd.Q1.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration(`${e.underline?" underline":""}${e.strikethrough?" line-through":""}`),i.setTop(e.useCover?e.top:0),i.setLeft(e.useCover?e.left:0),i.setWidth(e.useCover?e.width:0),i.setHeight(e.useCover?e.height:0);const n=this._context.configuration.options;n.get(57)?i.setClassName("monaco-editor-background textAreaCover "+e_.OUTER_CLASS_NAME):0!==n.get(68).renderType?i.setClassName("monaco-editor-background textAreaCover "+Jf.CLASS_NAME):i.setClassName("monaco-editor-background textAreaCover")}};a_=n_([s_(3,Cd),s_(4,qn._Y)],a_);class l_{constructor(e,t,i,n){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=n}paste(e,t,i,n){this.commandDelegate.paste(e,t,i,n)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,n){this.commandDelegate.compositionType(e,t,i,n)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){Mr.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):2===e.mouseDownCount?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey||n?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){Mr.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){Mr.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,i){e=this._validateViewColumn(e),Mr.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),Mr.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){Mr.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){Mr.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){Mr.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){Mr.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){Mr.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){Mr.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){Mr.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){Mr.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){Mr.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class h_{constructor(e){this._lineFactory=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new b.D7("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(0===this.getCount())return null;const i=this.getStartLineNumber(),n=this.getEndLineNumber();if(tn)return null;let s=0,o=0;for(let r=i;r<=n;r++){const i=r-this._rendLineNumberStart;e<=r&&r<=t&&(0===o?(s=i,o=1):o++)}if(e=n&&r<=s&&(this._lines[r-this._rendLineNumberStart].onContentChanged(),o=!0);return o}onLinesInserted(e,t){if(0===this.getCount())return null;const i=t-e+1,n=this.getStartLineNumber(),s=this.getEndLineNumber();if(e<=n)return this._rendLineNumberStart+=i,null;if(e>s)return null;if(i+e>s){return this._lines.splice(e-this._rendLineNumberStart,s-e+1)}const o=[];for(let d=0;di)continue;const r=Math.max(t,o.fromLineNumber),a=Math.min(i,o.toLineNumber);for(let e=r;e<=a;e++){const t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),n=!0}}return n}}class d_{constructor(e){this._lineFactory=e,this.domNode=this._createDomNode(),this._linesCollection=new h_(this._lineFactory)}_createDomNode(){const e=Lh(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(146)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let i=0,n=t.length;ie})}constructor(e,t,i){this._domNode=e,this._lineFactory=t,this._viewportData=i}render(e,t,i,n){const s={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(s.rendLineNumberStart+s.linesLength-1t){const e=t,o=Math.min(i,s.rendLineNumberStart-1);e<=o&&(this._insertLinesBefore(s,e,o,n,t),s.linesLength+=o-e+1)}else if(s.rendLineNumberStart0&&(this._removeLinesBefore(s,e),s.linesLength-=e)}if(s.rendLineNumberStart=t,s.rendLineNumberStart+s.linesLength-1i){const e=Math.max(0,i-s.rendLineNumberStart+1),t=s.linesLength-1-e+1;t>0&&(this._removeLinesAfter(s,t),s.linesLength-=t)}return this._finishRendering(s,!1,n),s}_renderUntouchedLines(e,t,i,n,s){const o=e.rendLineNumberStart,r=e.lines;for(let a=t;a<=i;a++){const e=o+a;r[a].layoutLine(e,n[e-s],this._viewportData.lineHeight)}}_insertLinesBefore(e,t,i,n,s){const o=[];let r=0;for(let a=t;a<=i;a++)o[r++]=this._lineFactory.createLine();e.lines=o.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i=0;r--){const t=e.lines[r];n[r]&&(t.setDomNode(o),o=o.previousSibling)}}_finishRenderingInvalidLines(e,t,i){const n=document.createElement("div");c_._ttPolicy&&(t=c_._ttPolicy.createHTML(t)),n.innerHTML=t;for(let s=0;snew g_(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const t=this._context.configuration.options.get(50);xh(this.domNode,t),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ee.shouldRender()));for(let i=0,n=t.length;i'),s.appendString(o),s.appendString("
    "),!0)}layoutLine(e,t,i){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(i))}}class p_ extends u_{constructor(e){super(e);const t=this._context.configuration.options.get(146);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const t=this._context.configuration.options.get(146);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class m_ extends u_{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),xh(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;xh(this.domNode,t.get(50));const i=t.get(146);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class f_{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){this.onKeyDown?.(e)}emitKeyUp(e){this.onKeyUp?.(e)}emitContextMenu(e){this.onContextMenu?.(this._convertViewToModelMouseEvent(e))}emitMouseMove(e){this.onMouseMove?.(this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){this.onMouseLeave?.(this._convertViewToModelMouseEvent(e))}emitMouseDown(e){this.onMouseDown?.(this._convertViewToModelMouseEvent(e))}emitMouseUp(e){this.onMouseUp?.(this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){this.onMouseDrag?.(this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){this.onMouseDrop?.(this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){this.onMouseDropCanceled?.()}emitMouseWheel(e){this.onMouseWheel?.(e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return f_.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const i={...e};return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),5!==i.type&&8!==i.type||(i.detail=this.convertViewToModelViewZoneData(i.detail,t)),i}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new Qn.y(e.afterLineNumber,1)).lineNumber}}}class __ extends jm{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=Lh(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const t=this._context.configuration.options.get(146),i=t.contentWidth-t.verticalScrollbarWidth;this.contentWidth!==i&&(this.contentWidth=i,e=!0);const n=t.contentLeft;return this.contentLeft!==n&&(this.contentLeft=n,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){let t=0;const i=e.getDecorationsInViewport();for(const n of i){if(!n.options.blockClassName)continue;let i,s,o=this.blocks[t];o||(o=this.blocks[t]=Lh(document.createElement("div")),this.domNode.appendChild(o)),n.options.blockIsAfterEnd?(i=e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!1),s=e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!0)):(i=e.getVerticalOffsetForLineNumber(n.range.startLineNumber,!0),s=n.range.isEmpty()&&!n.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(n.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(n.range.endLineNumber,!0));const[r,a,l,h]=n.options.blockPadding??[0,0,0,0];o.setClassName("blockDecorations-block "+n.options.blockClassName),o.setLeft(this.contentLeft-h),o.setWidth(this.contentWidth+h+a),o.setTop(i-e.scrollTop-r),o.setHeight(s-i+r+l),t++}for(let n=t;n0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,n){const s=e.top,o=s,r=e.top+e.height,a=s-i,l=o>=i,h=r,d=n.viewportHeight-r>=i;let c=e.left;return c+t>n.scrollLeft+n.viewportWidth&&(c=n.scrollLeft+n.viewportWidth-t),co){const e=a-(o-n);a-=e,i-=e}if(a=22,m=d+i<=c.height-22;return this._fixedOverflowWidgets?{fitsAbove:p,aboveTop:Math.max(h,22),fitsBelow:m,belowTop:d,left:g}:{fitsAbove:p,aboveTop:s,fitsBelow:m,belowTop:o,left:u}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new w_(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){return{primary:t(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:t(this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function t(t,i,n){if(!t)return null;const s=e.visibleRangeForPosition(t);if(!s)return null;const o=1===t.column&&3===i?0:s.left,r=e.getVerticalOffsetForLineNumber(t.lineNumber)-e.scrollTop;return new y_(r,o,n)}}_reduceAnchorCoordinates(e,t,i){if(!t)return e;const n=this._context.configuration.options.get(50);let s=t.left;return s=se.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData||"offViewport"===this._renderData.kind)return this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,"offViewport"===this._renderData?.kind&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),void("function"==typeof this._actual.afterRender&&S_(this._actual.afterRender,this._actual,null));this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),"function"==typeof this._actual.afterRender&&S_(this._actual.afterRender,this._actual,this._renderData.position)}}class C_{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class w_{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class y_{constructor(e,t,i){this.top=e,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function S_(e,t,...i){try{return e.call(t,...i)}catch{return null}}class k_ extends Zf{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(146);this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new qs.L(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const s of this._selections)t.add(s.positionLineNumber);const i=Array.from(t);i.sort(((e,t)=>e-t)),na.aI(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,e=!0);const n=this._selections.every((e=>e.isEmpty()));return this._selectionIsEmpty!==n&&(this._selectionIsEmpty=n,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=e.isFocused,!0)}prepareRender(e){if(!this._shouldRenderThis())return void(this._renderData=null);const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=[];for(let o=t;o<=i;o++){n[o-t]=""}if(this._wordWrap){const s=this._renderOne(e,!1);for(const e of this._cursorLineNumbers){const o=this._context.viewModel.coordinatesConverter,r=o.convertViewPositionToModelPosition(new Qn.y(e,1)).lineNumber,a=o.convertModelPositionToViewPosition(new Qn.y(r,1)).lineNumber,l=o.convertModelPositionToViewPosition(new Qn.y(r,this._context.viewModel.model.getLineMaxColumn(r))).lineNumber,h=Math.max(a,t),d=Math.min(l,i);for(let e=h;e<=d;e++){n[e-t]=s}}}const s=this._renderOne(e,!0);for(const o of this._cursorLineNumbers){if(oi)continue;n[o-t]=s}this._renderData=n}render(e,t){if(!this._renderData)return"";const i=t-e;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class L_ extends k_{_renderOne(e,t){return`
    `}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class x_ extends k_{_renderOne(e,t){return`
    `}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}(0,no.zy)(((e,t)=>{const i=e.getColor(Xf.kG);if(i&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${i}; border: none; }`)),!i||i.isTransparent()||e.defines(Xf.Mf)){const i=e.getColor(Xf.Mf);i&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${i}; }`),(0,Hp.Bb)(e.type)&&(t.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}}));class D_ extends Zf{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let i=[],n=0;for(let a=0,l=t.length;a{if(e.options.zIndext.options.zIndex)return 1;const i=e.options.className,n=t.options.className;return in?1:Js.Q.compareRangesUsingStarts(e.range,t.range)}));const s=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,r=[];for(let a=s;a<=o;a++){r[a-s]=""}this._renderWholeLineDecorations(e,i,r),this._renderNormalDecorations(e,i,r),this._renderResult=r}_renderWholeLineDecorations(e,t,i){const n=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber;for(let o=0,r=t.length;o
    ',a=Math.max(e.range.startLineNumber,n),l=Math.min(e.range.endLineNumber,s);for(let t=a;t<=l;t++){i[t-n]+=r}}}_renderNormalDecorations(e,t,i){const n=e.visibleRange.startLineNumber;let s=null,o=!1,r=null,a=!1;for(let l=0,h=t.length;l
    ';r[t]+=h}}}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class N_ extends jm{constructor(e,t,i,n){super(e);const s=this._context.configuration.options,o=s.get(104),r=s.get(75),a=s.get(40),l=s.get(107),h={listenOnDomNode:i.domNode,className:"editor-scrollable "+(0,no.Pz)(e.theme.type),useShadows:!1,lazyRender:!0,vertical:o.vertical,horizontal:o.horizontal,verticalHasArrows:o.verticalHasArrows,horizontalHasArrows:o.horizontalHasArrows,verticalScrollbarSize:o.verticalScrollbarSize,verticalSliderSize:o.verticalSliderSize,horizontalScrollbarSize:o.horizontalScrollbarSize,horizontalSliderSize:o.horizontalSliderSize,handleMouseWheel:o.handleMouseWheel,alwaysConsumeMouseWheel:o.alwaysConsumeMouseWheel,arrowSize:o.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:a,scrollPredominantAxis:l,scrollByPage:o.scrollByPage};this.scrollbar=this._register(new Ju(t.domNode,h,this._context.viewLayout.getScrollable())),$m.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=Lh(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const d=(e,t,i)=>{const n={};if(t){const t=e.scrollTop;t&&(n.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(i){const t=e.scrollLeft;t&&(n.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(n,1)};this._register(Ye(i.domNode,"scroll",(e=>d(i.domNode,!0,!0)))),this._register(Ye(t.domNode,"scroll",(e=>d(t.domNode,!0,!1)))),this._register(Ye(n.domNode,"scroll",(e=>d(n.domNode,!0,!1)))),this._register(Ye(this.scrollbarDomNode.domNode,"scroll",(e=>d(this.scrollbarDomNode.domNode,!0,!1))))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(146);this.scrollbarDomNode.setLeft(t.contentLeft);"right"===e.get(73).side?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(104)||e.hasChanged(75)||e.hasChanged(40)){const e=this._context.configuration.options,t=e.get(104),i=e.get(75),n=e.get(40),s=e.get(107),o={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:i,fastScrollSensitivity:n,scrollPredominantAxis:s};this.scrollbar.updateOptions(o)}return e.hasChanged(146)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+(0,no.Pz)(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}class I_{constructor(e,t,i,n,s){this.startLineNumber=e,this.endLineNumber=t,this.className=i,this.tooltip=n,this._decorationToRenderBrand=void 0,this.zIndex=s??0}}class E_{constructor(e,t,i){this.className=e,this.zIndex=t,this.tooltip=i}}class M_{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class T_ extends Zf{_render(e,t,i){const n=[];for(let r=e;r<=t;r++){n[r-e]=new M_}if(0===i.length)return n;i.sort(((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.classNamen)continue;const a=Math.max(o,i),l=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Qn.y(a,0)),h=this._context.viewModel.glyphLanes.getLanesAtLine(l.lineNumber).indexOf(s.preference.lane);t.push(new P_(a,h,s.preference.zIndex,s))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.laneIndex===t.laneIndex?e.zIndex===t.zIndex?t.type===e.type?0===e.type&&0===t.type?e.className0;){const e=t.peek();if(!e)break;const n=t.takeWhile((t=>t.lineNumber===e.lineNumber&&t.laneIndex===e.laneIndex));if(!n||0===n.length)break;const s=n[0];if(0===s.type){const e=[];for(const t of n){if(t.zIndex!==s.zIndex||t.type!==s.type)break;0!==e.length&&e[e.length-1]===t.className||e.push(t.className)}i.push(s.accept(e.join(" ")))}else s.widget.renderInfo={lineNumber:s.lineNumber,laneIndex:s.laneIndex}}this._decorationGlyphsToRender=i}render(e){if(!this._glyphMargin){for(const e of Object.values(this._widgets))e.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const e=this._managedDomNodes.pop();e?.domNode.remove()}return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const i of Object.values(this._widgets))if(i.renderInfo){const n=e.viewportData.relativeVerticalOffset[i.renderInfo.lineNumber-e.viewportData.startLineNumber],s=this._glyphMarginLeft+i.renderInfo.laneIndex*this._lineHeight;i.domNode.setDisplay("block"),i.domNode.setTop(n),i.domNode.setLeft(s),i.domNode.setWidth(t),i.domNode.setHeight(this._lineHeight)}else i.domNode.setDisplay("none");for(let i=0;ithis._decorationGlyphsToRender.length;){const e=this._managedDomNodes.pop();e?.domNode.remove()}}}class A_{constructor(e,t,i,n){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.className=n,this.type=0}accept(e){return new O_(this.lineNumber,this.laneIndex,e)}}class P_{constructor(e,t,i,n){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.widget=n,this.type=1}}class O_{constructor(e,t,i){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=i}}var F_=i(52818),W_=i(60779);class B_ extends Zf{constructor(e){super(),this._context=e,this._primaryPosition=null;const t=this._context.configuration.options,i=t.get(147),n=t.get(50);this._spaceWidth=n.spaceWidth,this._maxIndentLeft=-1===i.wrappingColumn?-1:i.wrappingColumn*n.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(147),n=t.get(50);return this._spaceWidth=n.spaceWidth,this._maxIndentLeft=-1===i.wrappingColumn?-1:i.wrappingColumn*n.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();return!this._primaryPosition?.equals(t)&&(this._primaryPosition=t,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){if(!this._bracketPairGuideOptions.indentation&&!1===this._bracketPairGuideOptions.bracketPairs)return void(this._renderResult=null);const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,n=e.scrollWidth,s=this._primaryPosition,o=this.getGuidesByLine(t,Math.min(i+1,this._context.viewModel.getLineCount()),s),r=[];for(let a=t;a<=i;a++){const i=a-t,s=o[i];let l="";const h=e.visibleRangeForPosition(new Qn.y(a,1))?.left??0;for(const t of s){const i=-1===t.column?h+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new Qn.y(a,t.column)).left;if(i>n||this._maxIndentLeft>0&&i>this._maxIndentLeft)break;const s=t.horizontalLine?t.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",o=t.horizontalLine?(e.visibleRangeForPosition(new Qn.y(a,t.horizontalLine.endColumn))?.left??i+this._spaceWidth)-i:this._spaceWidth;l+=`
    `}r[i]=l}this._renderResult=r}getGuidesByLine(e,t,i){const n=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?W_.N6.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?W_.N6.EnabledForActive:W_.N6.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,s=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let o=0,r=0,a=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&i){const n=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);o=n.startLineNumber,r=n.endLineNumber,a=n.indent}const{indentSize:l}=this._context.viewModel.model.getOptions(),h=[];for(let d=e;d<=t;d++){const t=new Array;h.push(t);const i=n?n[d-e]:[],c=new na.j3(i),u=s?s[d-e]:0;for(let e=1;e<=u;e++){const n=(e-1)*l+1,s=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===i.length)&&o<=d&&d<=r&&e===a;t.push(...c.takeWhile((e=>e.visibleColumn!0))||[])}return h}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function H_(e){if(!e||!e.isTransparent())return e}(0,no.zy)(((e,t)=>{const i=[{bracketColor:Xf.sN,guideColor:Xf.n4,guideColorActive:Xf.bB},{bracketColor:Xf.lQ,guideColor:Xf.I2,guideColorActive:Xf.WS},{bracketColor:Xf.ss,guideColor:Xf.Bo,guideColorActive:Xf.Pe},{bracketColor:Xf.l5,guideColor:Xf.If,guideColorActive:Xf.WD},{bracketColor:Xf.sH,guideColor:Xf.BD,guideColorActive:Xf.P1},{bracketColor:Xf.zp,guideColor:Xf.IW,guideColorActive:Xf.WY}],n=new F_.k,s=[{indentColor:Xf.vV,indentColorActive:Xf.H0},{indentColor:Xf.ob,indentColorActive:Xf.Am},{indentColor:Xf.hz,indentColorActive:Xf.tK},{indentColor:Xf.ow,indentColorActive:Xf.A3},{indentColor:Xf.vP,indentColorActive:Xf.tp},{indentColor:Xf.CM,indentColorActive:Xf.As}],o=i.map((t=>{const i=e.getColor(t.bracketColor),n=e.getColor(t.guideColor),s=e.getColor(t.guideColorActive),o=H_(H_(n)??i?.transparent(.3)),r=H_(H_(s)??i);if(o&&r)return{guideColor:o,guideColorActive:r}})).filter(rs.O9),r=s.map((t=>{const i=e.getColor(t.indentColor),n=e.getColor(t.indentColorActive),s=H_(i),o=H_(n);if(s&&o)return{indentColor:s,indentColorActive:o}})).filter(rs.O9);if(o.length>0){for(let e=0;e<30;e++){const i=o[e%o.length];t.addRule(`.monaco-editor .${n.getInlineClassNameOfLevel(e).replace(/ /g,".")} { --guide-color: ${i.guideColor}; --guide-color-active: ${i.guideColorActive}; }`)}t.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),t.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),t.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),t.addRule(`.monaco-editor .vertical.${n.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${n.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${n.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let e=0;e<30;e++){const i=r[e%r.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${e} { --indent-color: ${i.indentColor}; --indent-color-active: ${i.indentColorActive}; }`)}t.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),t.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}}));class V_{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class z_{constructor(){this._currentVisibleRange=new Js.Q(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class U_{constructor(e,t,i,n,s,o,r){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=n,this.startScrollTop=s,this.stopScrollTop=o,this.scrollType=r,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class K_{constructor(e,t,i,n,s){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=n,this.scrollType=s,this.type="selections";let o=t[0].startLineNumber,r=t[0].endLineNumber;for(let a=1,l=t.length;anew yf(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,$m.write(this.domNode,8),this.domNode.setClassName(`view-lines ${t_}`),xh(this.domNode,s),this._maxLineWidth=0,this._asyncUpdateLineWidths=new A.uC((()=>{this._updateLineWidthsSlow()}),200),this._asyncCheckMonospaceFontAssumptions=new A.uC((()=>{this._checkMonospaceFontAssumptions()}),2e3),this._lastRenderedData=new z_,this._horizontalRevealRequest=null,this._stickyScrollEnabled=n.get(116).enabled,this._maxNumberStickyLines=n.get(116).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(147)&&(this._maxLineWidth=0);const t=this._context.configuration.options,i=t.get(50),n=t.get(147);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=n.isViewportWrapping,this._revealHorizontalRightPadding=t.get(101),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(116).enabled,this._maxNumberStickyLines=t.get(116).maxLineCount,xh(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(146)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new wf(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const e=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let t=e;t<=i;t++){this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions)}return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let n=!1;for(let s=t;s<=i;s++)n=this._visibleLines.getVisibleLine(s).onSelectionChanged()||n;return n}onDecorationsChanged(e){{const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++)this._visibleLines.getVisibleLine(i).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(-1===t)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new U_(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new K_(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const n=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,n),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopi)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const i=this._getViewLineDomNode(e);if(null===i)return null;const n=this._getLineNumberFor(i);if(-1===n)return null;if(n<1||n>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(n))return new Qn.y(n,1);const s=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(no)return null;let r=this._visibleLines.getVisibleLine(n).getColumnOfNodeOffset(e,t);const a=this._context.viewModel.getLineMinColumn(n);return ri)return-1;const n=new V_(this.domNode.domNode,this._textRangeRestingSpot),s=this._visibleLines.getVisibleLine(e).getWidth(n);return this._updateLineWidthsSlowIfDomDidLayout(n),s}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const i=e.endLineNumber,n=Js.Q.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!n)return null;const s=[];let o=0;const r=new V_(this.domNode.domNode,this._textRangeRestingSpot);let a=0;t&&(a=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Qn.y(n.startLineNumber,1)).lineNumber);const l=this._visibleLines.getStartLineNumber(),h=this._visibleLines.getEndLineNumber();for(let d=n.startLineNumber;d<=n.endLineNumber;d++){if(dh)continue;const e=d===n.startLineNumber?n.startColumn:1,c=d!==n.endLineNumber,u=c?this._context.viewModel.getLineMaxColumn(d):n.endColumn,g=this._visibleLines.getVisibleLine(d).getVisibleRangesForRange(d,e,u,r);if(g){if(t&&dthis._visibleLines.getEndLineNumber())return null;const n=new V_(this.domNode.domNode,this._textRangeRestingSpot),s=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,n);return this._updateLineWidthsSlowIfDomDidLayout(n),s}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new Xm(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let n=1,s=!0;for(let o=t;o<=i;o++){const t=this._visibleLines.getVisibleLine(o);!e||t.getWidthIsFast()?n=Math.max(n,t.getWidth(null)):s=!1}return s&&1===t&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(n),s}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const i=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let s=i;s<=n;s++){const i=this._visibleLines.getVisibleLine(s);if(i.needsMonospaceFontCheck()){const n=i.getWidth(null);n>t&&(t=n,e=s)}}if(-1!==e&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let s=i;s<=n;s++){this._visibleLines.getVisibleLine(s).onMonospaceAssumptionsInvalidated()}}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),f.j9&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++){if(this._visibleLines.getVisibleLine(i).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let e=s[0].startLineNumber,t=s[0].endLineNumber;for(let i=1,n=s.length;ia){if(!h)return-1;u=d}else if(5===o||6===o)if(6===o&&r<=d&&c<=l)u=r;else{const e=d-Math.max(5*this._lineHeight,.2*a),t=c-a;u=Math.max(t,e)}else if(1===o||2===o)if(2===o&&r<=d&&c<=l)u=r;else{const e=(d+c)/2;u=Math.max(0,e-a/2)}else u=this._computeMinimumScrolling(r,l,d,c,3===o,4===o);return u}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),i=this._context.configuration.options.get(146),n=t.left,s=n+t.width-i.verticalScrollbarWidth;let o=1073741824,r=0;if("range"===e.type){const t=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!t)return null;for(const e of t.ranges)o=Math.min(o,Math.round(e.left)),r=Math.max(r,Math.round(e.left+e.width))}else for(const a of e.selections){if(a.startLineNumber!==a.endLineNumber)return null;const e=this._visibleRangesForLineRange(a.startLineNumber,a.startColumn,a.endColumn);if(!e)return null;for(const t of e.ranges)o=Math.min(o,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}if(e.minimalReveal||(o=Math.max(0,o-j_.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===e.type&&r-o>t.width)return null;return{scrollLeft:this._computeMinimumScrolling(n,s,o,r),maxHorizontalOffset:r}}_computeMinimumScrolling(e,t,i,n,s,o){s=!!s,o=!!o;const r=(t|=0)-(e|=0);return(n|=0)-(i|=0)t?Math.max(0,n-r):e:i}}class $_ extends T_{constructor(e){super(),this._context=e;const t=this._context.configuration.options.get(146);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options.get(146);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){const t=e.getDecorationsInViewport(),i=[];let n=0;for(let s=0,o=t.length;s
    ',o=[];for(let r=t;r<=i;r++){const e=r-t,i=n[e].getDecorations();let a="";for(const t of i){let e='
    ';s[e]=r}this._renderResult=s}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}class G_{static{this.Empty=new G_(0,0,0,0)}constructor(e,t,i,n){this._rgba8Brand=void 0,this.r=G_._clamp(e),this.g=G_._clamp(t),this.b=G_._clamp(i),this.a=G_._clamp(n)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:0|e}}class Q_ extends Ae.jG{static{this._INSTANCE=null}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,Ae.lC)(new Q_)),this._INSTANCE}constructor(){super(),this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(La.dG.onDidChange((e=>{e.changedColorMap&&this._updateColorMap()})))}_updateColorMap(){const e=La.dG.getColorMap();if(!e)return this._colors=[G_.Empty],void(this._backgroundIsLight=!0);this._colors=[G_.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}class Y_{constructor(e,t,i,n){this._viewportBrand=void 0,this.top=0|e,this.left=0|t,this.width=0|i,this.height=0|n}}class Z_{constructor(e,t){this.tabSize=e,this.data=t}}class X_{constructor(e,t,i,n,s,o,r){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=n,this.startVisibleColumn=s,this.tokens=o,this.inlineDecorations=r}}class J_{constructor(e,t,i,n,s,o,r,a,l,h){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=n,this.isBasicASCII=J_.isBasicASCII(i,o),this.containsRTL=J_.containsRTL(i,this.isBasicASCII,s),this.tokens=r,this.inlineDecorations=a,this.tabSize=l,this.startVisibleColumn=h}static isBasicASCII(e,t){return!t||Ri.aC(e)}static containsRTL(e,t,i){return!(t||!i)&&Ri.E_(e)}}class ev{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class tv{constructor(e,t,i,n){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=n}toInlineDecoration(e){return new ev(new Js.Q(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class iv{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class nv{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&na.aI(e.data,t.data)}static equalsArr(e,t){return na.aI(e,t,nv.equals)}}const sv=(()=>{const e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})();var ov=i(37512);class rv{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=rv.soften(e,.8),this.charDataLight=rv.soften(e,50/60)}static soften(e,t){const i=new Uint8ClampedArray(e.length);for(let n=0,s=e.length;ne.width||i+g>e.height)return void console.warn("bad render request outside image data");const p=h?this.charDataLight:this.charDataNormal,m=((e,t)=>(e-=32)<0||e>96?t<=2?(e+96)%96:95:e)(n,l),f=4*e.width,_=r.r,v=r.g,b=r.b,C=s.r-_,w=s.g-v,y=s.b-b,S=Math.max(o,a),k=e.data;let L=m*c*u,x=i*f+4*t;for(let D=0;De.width||i+d>e.height)return void console.warn("bad render request outside image data");const c=4*e.width,u=s/255*.5,g=o.r,p=o.g,m=o.b,f=g+(n.r-g)*u,_=p+(n.g-p)*u,v=m+(n.b-m)*u,b=Math.max(s,r),C=e.data;let w=i*c+4*t;for(let y=0;y{const t=new Uint8ClampedArray(e.length/2);for(let i=0;i>1]=lv[e[i]]<<4|15&lv[e[i+1]];return t},dv={1:(0,av.P)((()=>hv("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792"))),2:(0,av.P)((()=>hv("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126")))};class cv{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let i;return i=dv[e]?new rv(dv[e](),e):cv.createFromSampleData(cv.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i}static createSampleData(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",i.fillStyle="#ffffff",i.font=`bold 16px ${e}`,i.textBaseline="middle";let n=0;for(const s of sv)i.fillText(String.fromCharCode(s),n,8),n+=10;return i.getImageData(0,0,960,16)}static createFromSampleData(e,t){if(61440!==e.length)throw new Error("Unexpected source in MinimapCharRenderer");const i=cv._downsample(e,t);return new rv(i,t)}static _downsampleChar(e,t,i,n,s){const o=1*s,r=2*s;let a=n,l=0;for(let h=0;h0){const e=255/a;for(let t=0;tcv.create(this.fontScale,a.fontFamily))),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=gv._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=gv._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const i=e.getColor(io.ILr);return i?new G_(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(io.K1Z);return t?G_._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const i=e.getColor(io.By2);return i?new G_(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===e.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class pv{constructor(e,t,i,n,s,o,r,a,l){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=n,this.sliderTop=s,this.sliderHeight=o,this.topPaddingLineCount=r,this.startLineNumber=a,this.endLineNumber=l}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),i=Math.min(this.endLineNumber,e.endLineNumber);return t>i?null:[t,i]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,i,n,s,o,r,a,l,h,d){const c=e.pixelRatio,u=e.minimapLineHeight,g=Math.floor(e.canvasInnerHeight/u),p=e.lineHeight;if(e.minimapHeightIsEditorHeight){let t=a*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(t+=Math.max(0,s-e.lineHeight-e.paddingBottom));const i=Math.max(1,Math.floor(s*s/t)),n=Math.max(0,e.minimapHeight-i),o=n/(h-s),d=l*o,c=n>0,u=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),g=Math.floor(e.paddingTop/e.lineHeight);return new pv(l,h,c,o,d,i,g,1,Math.min(r,u))}let m;if(o&&i!==r){const e=i-t+1;m=Math.floor(e*u/c)}else{const e=s/p;m=Math.floor(e*u/c)}const f=Math.floor(e.paddingTop/p);let _,v=Math.floor(e.paddingBottom/p);if(e.scrollBeyondLastLine){const e=s/p;v=Math.max(v,e-1)}if(v>0){_=(f+r+v-s/p-1)*u/c}else _=Math.max(0,(f+r)*u/c-m);_=Math.min(e.minimapHeight-m,_);const b=_/(h-s),C=l*b;if(g>=f+r+v){return new pv(l,h,_>0,b,C,m,f,1,r)}{let i,s;i=t>1?t+f:Math.max(1,l/p);let o=Math.max(1,Math.floor(i-C*c/u));ol&&(o=Math.min(o,d.startLineNumber),s=Math.max(s,d.topPaddingLineCount)),d.scrollTop=e.paddingTop?(t-o+s+_)*u/c:l/e.paddingTop*(s+_)*u/c,new pv(l,h,!0,b,v,m,s,o,a)}}}class mv{static{this.INVALID=new mv(-1)}constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}class fv{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLines=new h_({createLine:()=>mv.INVALID}),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;const t=this._renderedLines._get().lines;for(let i=0,n=t.length;i1){for(let t=0,i=n-1;t0&&this.minimapLines[i-1]>=e;)i--;let n=this.modelLineToMinimapLine(t)-1;for(;n+1t)return null}return[i+1,n+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),n=this.modelLineToMinimapLine(t);return e!==t&&n===i&&(n===this.minimapLines.length?i>1&&i--:n++),[i,n]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let i=this.minimapLines.length,n=0;for(let s=this.minimapLines.length-1;s>=0&&!(this.minimapLines[s]=0&&!(this.minimapLines[i]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(n)}_recreateLineSampling(){this._minimapSelections=null;const e=Boolean(this._samplingState),[t,i]=vv.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const n of i)switch(n.type){case"deleted":this._actual.onLinesDeleted(n.deleteFromLineNumber,n.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(n.insertFromLineNumber,n.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){const n=[];for(let s=0,o=t-e+1;s!e.options.minimap?.sectionHeaderStyle));if(this._samplingState){const e=[];for(const t of i){if(!t.options.minimap)continue;const i=t.range,n=this._samplingState.modelLineToMinimapLine(i.startLineNumber),s=this._samplingState.modelLineToMinimapLine(i.endLineNumber);e.push(new iv(new Js.Q(n,i.startColumn,s,i.endColumn),t.options))}return e}return i}getSectionHeaderDecorationsInViewport(e,t){const i=this.options.minimapLineHeight,n=this.options.sectionHeaderFontSize/i;return e=Math.floor(Math.max(1,e-n)),this._getMinimapDecorationsInViewport(e,t).filter((e=>!!e.options.minimap?.sectionHeaderStyle))}_getMinimapDecorationsInViewport(e,t){let i;if(this._samplingState){const n=this._samplingState.minimapLines[e-1],s=this._samplingState.minimapLines[t-1];i=new Js.Q(n,1,s,this._context.viewModel.getLineMaxColumn(s))}else i=new Js.Q(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(i)}getSectionHeaderText(e,t){const i=e.options.minimap?.sectionHeaderText;if(!i)return null;const n=this._sectionHeaderCache.get(i);if(n)return n;const s=t(i);return this._sectionHeaderCache.set(i,s),s}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new Js.Q(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class Cv extends Ae.jG{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(io.yr0),this._domNode=Lh(document.createElement("div")),$m.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=Lh(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=Lh(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=Lh(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=Lh(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=Lh(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=Xe(this._domNode.domNode,Ut.POINTER_DOWN,(e=>{e.preventDefault();if(0===this._model.options.renderMinimap)return;if(!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===e.button&&this._lastRenderData){const t=ct(this._slider.domNode),i=t.top+t.height/2;this._startSliderDragging(e,i,this._lastRenderData.renderedLayout)}return}const t=this._model.options.minimapLineHeight,i=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY;let n=Math.floor(i/t)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;n=Math.min(n,this._model.getLineCount()),this._model.revealLineNumber(n)})),this._sliderPointerMoveMonitor=new Pu,this._sliderPointerDownListener=Xe(this._slider.domNode,Ut.POINTER_DOWN,(e=>{e.preventDefault(),e.stopPropagation(),0===e.button&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)})),this._gestureDisposable=sd.addTarget(this._domNode.domNode),this._sliderTouchStartListener=Ye(this._domNode.domNode,id.Start,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))}),{passive:!1}),this._sliderTouchMoveListener=Ye(this._domNode.domNode,id.Change,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)}),{passive:!1}),this._sliderTouchEndListener=Xe(this._domNode.domNode,id.End,(e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)}))}_startSliderDragging(e,t,i){if(!(e.target&&e.target instanceof Element))return;const n=e.pageX;this._slider.toggleClassName("active",!0);const s=(e,s)=>{const o=ct(this._domNode.domNode),r=Math.min(Math.abs(s-n),Math.abs(s-o.left),Math.abs(s-o.left-o.width));if(f.uF&&r>140)return void this._model.setScrollTop(i.scrollTop);const a=e-t;this._model.setScrollTop(i.getDesiredScrollTopFromDelta(a))};e.pageY!==t&&s(e.pageY,n),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>s(e.pageY,e.pageX)),(()=>{this._slider.toggleClassName("active",!1)}))}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const e=["minimap"];return"always"===this._model.options.showSlider?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new _v(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e,t)}onLinesDeleted(e,t){return this._lastRenderData?.onLinesDeleted(e,t),!0}onLinesInserted(e,t){return this._lastRenderData?.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(io.yr0),this._renderDecorations=!0,!0}onTokensChanged(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(0===this._model.options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const t=pv.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?"block":"none"),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(Js.Q.compareRangesUsingStarts);const i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort(((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0)));const{canvasInnerWidth:n,canvasInnerHeight:s}=this._model.options,o=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,a=this._model.getOptions().tabSize,l=this._decorationsCanvas.domNode.getContext("2d");l.clearRect(0,0,n,s);const h=new wv(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(l,t,h,e,o),this._renderDecorationsLineHighlights(l,i,h,e,o);const d=new wv(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(l,t,d,e,o,a,r,n),this._renderDecorationsHighlights(l,i,d,e,o,a,r,n),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,i,n,s){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let o=0,r=0;for(const a of t){const t=n.intersectWithViewport(a);if(!t)continue;const[l,h]=t;for(let e=l;e<=h;e++)i.set(e,!0);const d=n.getYForLineNumber(l,s),c=n.getYForLineNumber(h,s);r>=d||(r>o&&e.fillRect(8,o,e.canvas.width,r-o),o=d),r=c}r>o&&e.fillRect(8,o,e.canvas.width,r-o)}_renderDecorationsLineHighlights(e,t,i,n,s){const o=new Map;for(let r=t.length-1;r>=0;r--){const a=t[r],l=a.options.minimap;if(!l||1!==l.position)continue;const h=n.intersectWithViewport(a.range);if(!h)continue;const[d,c]=h,u=l.getColor(this._theme.value);if(!u||u.isTransparent())continue;let g=o.get(u.toString());g||(g=u.transparent(.5).toString(),o.set(u.toString(),g)),e.fillStyle=g;for(let t=d;t<=c;t++){if(i.has(t))continue;i.set(t,!0);const o=n.getYForLineNumber(d,s);e.fillRect(8,o,e.canvas.width,s)}}}_renderSelectionsHighlights(e,t,i,n,s,o,r,a){if(this._selectionColor&&!this._selectionColor.isTransparent())for(const l of t){const t=n.intersectWithViewport(l);if(!t)continue;const[h,d]=t;for(let c=h;c<=d;c++)this.renderDecorationOnLine(e,i,l,this._selectionColor,n,c,s,s,o,r,a)}}_renderDecorationsHighlights(e,t,i,n,s,o,r,a){for(const l of t){const t=l.options.minimap;if(!t)continue;const h=n.intersectWithViewport(l.range);if(!h)continue;const[d,c]=h,u=t.getColor(this._theme.value);if(u&&!u.isTransparent())for(let g=d;g<=c;g++)switch(t.position){case 1:this.renderDecorationOnLine(e,i,l.range,u,n,g,s,s,o,r,a);continue;case 2:{const t=n.getYForLineNumber(g,s),i=2;this.renderDecoration(e,u,i,t,2,s);continue}}}}renderDecorationOnLine(e,t,i,n,s,o,r,a,l,h,d){const c=s.getYForLineNumber(o,a);if(c+r<0||c>this._model.options.canvasInnerHeight)return;const{startLineNumber:u,endLineNumber:g}=i,p=u===o?i.startColumn:1,m=g===o?i.endColumn:this._model.getLineMaxColumn(o),f=this.getXOffsetForPosition(t,o,p,l,h,d),_=this.getXOffsetForPosition(t,o,m,l,h,d);this.renderDecoration(e,n,f,c,_-f,r)}getXOffsetForPosition(e,t,i,n,s,o){if(1===i)return 8;if((i-1)*s>=o)return o;let r=e.get(t);if(!r){const i=this._model.getLineContent(t);r=[8];let a=8;for(let e=1;e=o){r[e]=o;break}r[e]=l,a=l}e.set(t,r)}return i-1e.range.startLineNumber-t.range.startLineNumber));const g=Cv._fitSectionHeader.bind(null,c,o-8);for(const p of u){const n=e.getYForLineNumber(p.range.startLineNumber,t)+i,r=n-i,l=r+2,d=this._model.getSectionHeaderText(p,g);Cv._renderSectionLabel(c,d,2===p.options.minimap?.sectionHeaderStyle,a,h,o,r,s,n,l)}}static _fitSectionHeader(e,t,i){if(!i)return i;const n=e.measureText(i).width,s=e.measureText("\u2026").width;if(n<=t||n<=s)return i;const o=i.length,r=n/i.length,a=Math.floor((t-s)/r)-1;let l=Math.ceil(a/2);for(;l>0&&/\s/.test(i[l-1]);)--l;return i.substring(0,l)+"\u2026"+i.substring(o-(a-l))}static _renderSectionLabel(e,t,i,n,s,o,r,a,l,h){t&&(e.fillStyle=n,e.fillRect(0,r,o,a),e.fillStyle=s,e.fillText(t,8,l)),i&&(e.beginPath(),e.moveTo(0,h),e.lineTo(o,h),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,i=e.endLineNumber,n=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const t=this._lastRenderData._get();return new fv(e,t.imageData,t.lines)}const s=this._getBuffer();if(!s)return null;const[o,r,a]=Cv._renderUntouchedLines(s,e.topPaddingLineCount,t,i,n,this._lastRenderData),l=this._model.getMinimapLinesRenderingData(t,i,a),h=this._model.getOptions().tabSize,d=this._model.options.defaultBackgroundColor,c=this._model.options.backgroundColor,u=this._model.options.foregroundAlpha,g=this._model.tokensColorTracker,p=g.backgroundIsLight(),m=this._model.options.renderMinimap,f=this._model.options.charRenderer(),_=this._model.options.fontScale,v=this._model.options.minimapCharWidth,b=(1===m?2:3)*_,C=n>b?Math.floor((n-b)/2):0,w=c.a/255,y=new G_(Math.round((c.r-d.r)*w+d.r),Math.round((c.g-d.g)*w+d.g),Math.round((c.b-d.b)*w+d.b),255);let S=e.topPaddingLineCount*n;const k=[];for(let D=0,N=i-t+1;D=0&&t_)return;const r=m.charCodeAt(C);if(9===r){const e=c-(C+w)%c;w+=e-1,b+=e*o}else if(32===r)b+=o;else{const c=Ri.ne(r)?2:1;for(let u=0;u_)return}}}}}class wv{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let n=0,s=this._endLineNumber-this._startLineNumber+1;nthis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}class yv extends jm{constructor(e,t){super(e),this._viewDomNode=t;const i=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=Lh(document.createElement("div")),$m.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=Lh(document.createElement("div")),$m.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){const t=Lh(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const i=this._widgets[e.getId()],n=t?t.preference:null,s=t?.stackOridinal;return i.preference===n&&i.stack===s?(this._updateMaxMinWidth(),!1):(i.preference=n,i.stack=s,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let e=0;const t=Object.keys(this._widgets);for(let i=0,n=t.length;i0));t.sort(((e,t)=>(this._widgets[e].stack||0)-(this._widgets[t].stack||0)));for(let n=0,s=t.length;n=3){const t=Math.floor(n/3),i=Math.floor(n/3),s=n-t-i,o=e+t;return[[0,e,o,e,e+t+s,e,o,e],[0,t,s,t+s,i,t+s+i,s+i,t+s+i]]}if(2===i){const t=Math.floor(n/2),i=n-t;return[[0,e,e,e,e+t,e,e,e],[0,t,t,t,i,t+i,t+i,t+i]]}return[[0,e,e,e,e,e,e,e],[0,n,n,n,n,n,n,n]]}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&dd.Q1.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class kv extends jm{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=Lh(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=La.dG.onDidChange((e=>{e.changedColorMap&&this._updateSettings(!0)})),this._cursorPositions=[{position:new Qn.y(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new Sv(this._context.configuration,this._context.theme);return(!this._settings||!this._settings.equals(t))&&(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;t1&&(n=0===t?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:n})}return this._cursorPositions.sort(((e,t)=>Qn.y.compare(e.position,t.position))),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return!!e.affectsOverviewRuler&&this._markRenderingIsMaybeNeeded()}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return!!e.scrollHeightChanged&&this._markRenderingIsNeeded()}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(0===this._settings.overviewRulerLanes)return this._domNode.setBackgroundColor(e?dd.Q1.Format.CSS.formatHexA(e):""),void this._domNode.setDisplay("none");const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(nv.compareByRenderingProps),1!==this._actualShouldRender||nv.equalsArr(this._renderedDecorations,t)||(this._actualShouldRender=2),1!==this._actualShouldRender||(0,na.aI)(this._renderedCursorPositions,this._cursorPositions,((e,t)=>e.position.lineNumber===t.position.lineNumber&&e.color===t.color))||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const i=this._settings.canvasWidth,n=this._settings.canvasHeight,s=this._settings.lineHeight,o=this._context.viewLayout,r=n/this._context.viewLayout.getScrollHeight(),a=6*this._settings.pixelRatio|0,l=a/2|0,h=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(h.fillStyle=dd.Q1.Format.CSS.formatHexA(e),h.fillRect(0,0,i,n)):(h.clearRect(0,0,i,n),h.fillStyle=dd.Q1.Format.CSS.formatHexA(e),h.fillRect(0,0,i,n)):h.clearRect(0,0,i,n);const d=this._settings.x,c=this._settings.w;for(const u of t){const e=u.color,t=u.data;h.fillStyle=e;let i=0,g=0,p=0;for(let u=0,m=t.length/3;un&&(e=n-l),_=e-l,v=e+l}_>p+1||e!==i?(0!==u&&h.fillRect(d[i],g,c[i],p-g),i=e,g=_,p=v):v>p&&(p=v)}h.fillRect(d[i],g,c[i],p-g)}if(!this._settings.hideCursor){const e=2*this._settings.pixelRatio|0,t=e/2|0,i=this._settings.x[7],s=this._settings.w[7];let a=-100,l=-100,d=null;for(let c=0,u=this._cursorPositions.length;cn&&(p=n-t);const m=p-t,f=m+e;m>l+1||u!==d?(0!==c&&d&&h.fillRect(i,a,s,l-a),a=m,l=f):f>l&&(l=f),d=u,h.fillStyle=u}d&&h.fillRect(i,a,s,l-a)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(h.beginPath(),h.lineWidth=1,h.strokeStyle=this._settings.borderColor,h.moveTo(0,0),h.lineTo(0,n),h.moveTo(1,0),h.lineTo(i,0),h.stroke())}}class Lv{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=0|e,this.to=0|t,this.colorId=0|i}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class xv{constructor(e,t,i,n){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=n,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colori&&(u=i-g);const p=a.color;let m=this._color2Id[p];m||(m=++this._lastAssignedId,this._color2Id[p]=m,this._id2Color[m]=p);const f=new Lv(u-g,u+g,m);a.setColorZone(f),o.push(f)}return this._colorZonesInvalid=!1,o.sort(Lv.compare),o}}class Nv extends Km{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;this._domNode=Lh(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new Dv((e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e))),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(67)),this._zoneManager.setPixelRatio(i.get(144)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(144)&&(this._zoneManager.setPixelRatio(t.get(144)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),n=this._zoneManager.getId2Color(),s=this._domNode.domNode.getContext("2d");return s.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(s,i,n,e),!0}_renderOneLane(e,t,i,n){let s=0,o=0,r=0;for(const a of t){const t=a.colorId,l=a.from,h=a.to;t!==s?(e.fillRect(0,o,n,r-o),s=t,e.fillStyle=i[s],o=l,r=h):r>=l?r=Math.max(r,h):(e.fillRect(0,o,n,r-o),o=l,r=h)}e.fillRect(0,o,n,r-o)}}class Iv extends jm{constructor(e){super(e),this.domNode=Lh(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const e=Lh(document.createElement("div"));e.setClassName("view-ruler"),e.setWidth(n),this.domNode.appendChild(e),this._renderedRulers.push(e),s--}return}let i=e-t;for(;i>0;){const e=this._renderedRulers.pop();this.domNode.removeChild(e),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t0;return this._shouldShow!==e&&(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){const e=this._context.configuration.options.get(146);0===e.minimap.renderMinimap||e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){const t=this._context.configuration.options.get(104);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class Mv{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class Tv{constructor(e,t){this.lineNumber=e,this.ranges=t}}function Rv(e){return new Mv(e)}function Av(e){return new Tv(e.lineNumber,e.ranges.map(Rv))}class Pv extends Zf{static{this.SELECTION_CLASS_NAME="selected-text"}static{this.SELECTION_TOP_LEFT="top-left-radius"}static{this.SELECTION_BOTTOM_LEFT="bottom-left-radius"}static{this.SELECTION_TOP_RIGHT="top-right-radius"}static{this.SELECTION_BOTTOM_RIGHT="bottom-right-radius"}static{this.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background"}static{this.ROUNDED_PIECE_WIDTH=10}constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t1)return!0}return!1}_enrichVisibleRangesWithStyle(e,t,i){const n=this._typicalHalfwidthCharacterWidth/4;let s=null,o=null;if(i&&i.length>0&&t.length>0){const n=t[0].lineNumber;if(n===e.startLineNumber)for(let e=0;!s&&e=0;e--)i[e].lineNumber===r&&(o=i[e].ranges[0]);s&&!s.startStyle&&(s=null),o&&!o.startStyle&&(o=null)}for(let r=0,a=t.length;r0){const e=t[r-1].ranges[0].left,s=t[r-1].ranges[0].left+t[r-1].ranges[0].width;Ov(i-e)e&&(h.top=1),Ov(l-s)
    '}_actualRenderOneSelection(e,t,i,n){if(0===n.length)return;const s=!!n[0].ranges[0].startStyle,o=n[0].lineNumber,r=n[n.length-1].lineNumber;for(let a=0,l=n.length;a1,r)}this._previousFrameVisibleRangesWithStyle=s,this._renderResult=t.map((([e,t])=>e+t))}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function Ov(e){return e<0?-e:e}(0,no.zy)(((e,t)=>{const i=e.getColor(io.rm4);i&&!i.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${i}; }`)}));class Fv{constructor(e,t,i,n,s,o,r){this.top=e,this.left=t,this.paddingLeft=i,this.width=n,this.height=s,this.textContent=o,this.textContentClassName=r}}var Wv;!function(e){e[e.Single=0]="Single",e[e.MultiPrimary=1]="MultiPrimary",e[e.MultiSecondary=2]="MultiSecondary"}(Wv||(Wv={}));class Bv{constructor(e,t){this._context=e;const i=this._context.configuration.options,n=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(67),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=Lh(document.createElement("div")),this._domNode.setClassName(`cursor ${t_}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),xh(this._domNode,n),this._domNode.setDisplay("none"),this._position=new Qn.y(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case Wv.Single:this._pluralityClass="";break;case Wv.MultiPrimary:this._pluralityClass="cursor-primary";break;case Wv.MultiSecondary:this._pluralityClass="cursor-secondary"}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),xh(this._domNode,i),!0}onCursorPositionChanged(e,t){return this._domNode.domNode.style.transitionProperty=t?"none":"",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[n,s]=Ri.m(i,t-1);return[new Qn.y(e,n+1),i.substring(n,s)]}_prepareRender(e){let t="",i="";const[n,s]=this._getGraphemeAwarePosition();if(this._cursorStyle===gc.Line||this._cursorStyle===gc.LineThin){const o=e.visibleRangeForPosition(n);if(!o||o.outsideRenderedLine)return null;const r=We(this._domNode.domNode);let a;this._cursorStyle===gc.Line?(a=ni(r,this._lineCursorWidth>0?this._lineCursorWidth:2),a>2&&(t=s,i=this._getTokenClassName(n))):a=ni(r,1);let l=o.left,h=0;a>=2&&l>=1&&(h=1,l-=h);const d=e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta;return new Fv(d,l,h,a,this._lineHeight,t,i)}const o=e.linesVisibleRangesForRange(new Js.Q(n.lineNumber,n.column,n.lineNumber,n.column+s.length),!1);if(!o||0===o.length)return null;const r=o[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;const a=r.ranges[0],l="\t"===s||a.width<1?this._typicalHalfwidthCharacterWidth:a.width;this._cursorStyle===gc.Block&&(t=s,i=this._getTokenClassName(n));let h=e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return this._cursorStyle!==gc.Underline&&this._cursorStyle!==gc.UnderlineThin||(h+=this._lineHeight-2,d=2),new Fv(h,a.left,0,l,d,t,i)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),i=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(i)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${t_} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class Hv extends jm{static{this.BLINK_INTERVAL=500}constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new Bv(this._context,Wv.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=Lh(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new A.pc,this._cursorFlatBlinkInterval=new st,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let i=0,n=this._secondaryCursors.length;it.length){const e=this._secondaryCursors.length-t.length;for(let t=0;t{for(let i=0,n=e.ranges.length;i{this._isVisible?this._hide():this._show()}),Hv.BLINK_INTERVAL,We(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet((()=>{this._blinkingEnabled=!0,this._updateDomClassName()}),Hv.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case gc.Line:e+=" cursor-line-style";break;case gc.Block:e+=" cursor-block-style";break;case gc.Underline:e+=" cursor-underline-style";break;case gc.LineThin:e+=" cursor-line-thin-style";break;case gc.BlockOutline:e+=" cursor-block-outline-style";break;case gc.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return"on"!==this._cursorSmoothCaretAnimation&&"explicit"!==this._cursorSmoothCaretAnimation||(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const i=[{class:".cursor",foreground:Xf.D0,background:Xf.kM},{class:".cursor-primary",foreground:Xf.sC,background:Xf.je},{class:".cursor-secondary",foreground:Xf.we,background:Xf.L0}];for(const n of i){const i=e.getColor(n.foreground);if(i){let s=e.getColor(n.background);s||(s=i.opposite()),t.addRule(`.monaco-editor .cursors-layer ${n.class} { background-color: ${i}; border-color: ${i}; color: ${s}; }`),(0,Hp.Bb)(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${n.class} { border-left: 1px solid ${s}; border-right: 1px solid ${s}; }`)}}}));const Vv=()=>{throw new Error("Invalid change accessor")};class zv extends jm{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=Lh(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=Lh(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const n of e)t.set(n.id,n);let i=!1;return this._context.viewModel.changeWhitespace((e=>{const n=Object.keys(this._zones);for(let s=0,o=n.length;s{const n={addZone:e=>(t=!0,this._addZone(i,e)),removeZone:e=>{e&&(t=this._removeZone(i,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(i,e)||t)}};!function(e,t){try{return e(t)}catch(i){(0,b.dz)(i)}}(e,n),n.addZone=Vv,n.removeZone=Vv,n.layoutZone=Vv})),t}_addZone(e,t){const i=this._computeWhitespaceProps(t),n={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:Lh(t.domNode),marginDomNode:t.marginDomNode?Lh(t.marginDomNode):null};return this._safeCallOnComputedHeight(n.delegate,i.heightInPx),n.domNode.setPosition("absolute"),n.domNode.domNode.style.width="100%",n.domNode.setDisplay("none"),n.domNode.setAttribute("monaco-view-zone",n.whitespaceId),this.domNode.appendChild(n.domNode),n.marginDomNode&&(n.marginDomNode.setPosition("absolute"),n.marginDomNode.domNode.style.width="100%",n.marginDomNode.setDisplay("none"),n.marginDomNode.setAttribute("monaco-view-zone",n.whitespaceId),this.marginDomNode.appendChild(n.marginDomNode)),this._zones[n.whitespaceId]=n,this.setShouldRender(),n.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.remove(),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t],n=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=n.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,n.afterViewLineNumber,n.heightInPx),this._safeCallOnComputedHeight(i.delegate,n.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){if(this._zones.hasOwnProperty(e)){const t=this._zones[e];return Boolean(t.delegate.suppressMouseDown)}return!1}_heightInPixels(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(i){(0,b.dz)(i)}}_safeCallOnDomNodeTop(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(i){(0,b.dz)(i)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,i={};let n=!1;for(const o of t)this._zones[o.id].isInHiddenArea||(i[o.id]=o,n=!0);const s=Object.keys(this._zones);for(let o=0,r=s.length;oo)continue;const e=t.startLineNumber===o?t.startColumn:i.minColumn,s=t.endLineNumber===o?t.endColumn:i.maxColumn;e=S.endOffset&&(y++,S=i&&i[y]),9!==n&&32!==n)continue;if(c&&!C&&L<=v)continue;if(d&&L>=w&&L<=v&&32===n){const e=L-1>=0?r.charCodeAt(L-1):0,t=L+1=0?r.charCodeAt(L-1):0;if(32===n&&32!==e&&9!==e)continue}if(i&&(!S||S.startOffset>L||S.endOffset<=L))continue;const s=e.visibleRangeForPosition(new Qn.y(t,L+1));s&&(o?(k=Math.max(k,s.left),b+=9===n?this._renderArrow(u,m,s.left):``):b+=9===n?`
    ${_?String.fromCharCode(65515):String.fromCharCode(8594)}
    `:`
    ${String.fromCharCode(f)}
    `)}return o?(k=Math.round(k+m),``+b+""):b}_renderArrow(e,t,i){const n=e/2,s=i,o={x:0,y:t/7/2},r={x:.8*t,y:o.y},a={x:r.x-.2*r.x,y:r.y+.2*r.x},l={x:a.x+.1*r.x,y:a.y+.1*r.x},h={x:l.x+.35*r.x,y:l.y-.35*r.x};return``}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class Kv{constructor(e){const t=e.options,i=t.get(50),n=t.get(38);"off"===n?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===n?(this.renderWhitespace=t.get(100),this.renderWithSVG=!0):(this.renderWhitespace=t.get(100),this.renderWithSVG=!1),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(118)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class jv{constructor(e,t,i,n){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.lineHeight=0|t.lineHeight,this.whitespaceViewportData=i,this._model=n,this.visibleRange=new Js.Q(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class $v{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class qv{constructor(e,t,i){this.configuration=e,this.theme=new $v(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}var Gv=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Qv=function(e,t){return function(i,n){t(i,n,e)}};let Yv=class extends Km{constructor(e,t,i,n,s,o,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new qs.L(1,1,1,1)],this._renderAnimationFrame=null;const a=new l_(t,n,s,e);this._context=new qv(t,i,n),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(a_,this._context,a,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=Lh(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=Lh(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=Lh(document.createElement("div")),$m.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new N_(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new j_(this._context,this._linesContent),this._viewZones=new zv(this._context),this._viewParts.push(this._viewZones);const l=new kv(this._context);this._viewParts.push(l);const h=new Ev(this._context);this._viewParts.push(h);const d=new p_(this._context);this._viewParts.push(d),d.addDynamicOverlay(new L_(this._context)),d.addDynamicOverlay(new Pv(this._context)),d.addDynamicOverlay(new B_(this._context)),d.addDynamicOverlay(new D_(this._context)),d.addDynamicOverlay(new Uv(this._context));const c=new m_(this._context);this._viewParts.push(c),c.addDynamicOverlay(new x_(this._context)),c.addDynamicOverlay(new q_(this._context)),c.addDynamicOverlay(new $_(this._context)),c.addDynamicOverlay(new Jf(this._context)),this._glyphMarginWidgets=new R_(this._context),this._viewParts.push(this._glyphMarginWidgets);const u=new e_(this._context);u.getDomNode().appendChild(this._viewZones.marginDomNode),u.getDomNode().appendChild(c.getDomNode()),u.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(u),this._contentWidgets=new v_(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new Hv(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new yv(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const g=new Iv(this._context);this._viewParts.push(g);const p=new __(this._context);this._viewParts.push(p);const m=new bv(this._context);if(this._viewParts.push(m),l){const e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(l.getDomNode(),e.insertBefore)}this._linesContent.appendChild(d.getDomNode()),this._linesContent.appendChild(g.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(u.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(h.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(m.getDomNode()),this._overflowGuardContainer.appendChild(p.domNode),this.domNode.appendChild(this._overflowGuardContainer),o?(o.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),o.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new Yf(this._context,a,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let i=[],n=0;i=i.concat(e.getAllMarginDecorations().map((e=>{const t=e.options.glyphMargin?.position??eo.ZS.Center;return n=Math.max(n,e.range.endLineNumber),{range:e.range,lane:t,persist:e.options.glyphMargin?.persistLane}}))),i=i.concat(this._glyphMarginWidgets.getWidgets().map((t=>{const i=e.validateRange(t.preference.range);return n=Math.max(n,i.endLineNumber),{range:i,lane:t.preference.lane}}))),i.sort(((e,t)=>Js.Q.compareRangesUsingStarts(e.range,t.range))),t.reset(n);for(const s of i)t.push(s.lane,s.range,s.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new Rf(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new Qn.y(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const e=this._context.configuration.options.get(146);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(143)+" "+(0,no.Pz)(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new b.D7;if(null===this._renderAnimationFrame){const e=this._createCoordinatedRendering();this._renderAnimationFrame=Xv.INSTANCE.scheduleCoordinatedRendering({window:We(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new b.D7;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new b.D7;return e.renderText()},prepareRender:(t,i)=>{if(this._store.isDisposed)throw new b.D7;return e.prepareRender(t,i)},render:(t,i)=>{if(this._store.isDisposed)throw new b.D7;return e.render(t,i)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();Zv((()=>e.prepareRenderText()));const t=Zv((()=>e.renderText()));if(t){const[i,n]=t;Zv((()=>e.prepareRender(i,n))),Zv((()=>e.render(i,n)))}}_getViewPartsToRender(){const e=[];let t=0;for(const i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}Fr.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===e.length)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const i=new jv(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new Gm(this._context.viewLayout,i,this._viewLines)]},prepareRender:(e,t)=>{for(const i of e)i.prepareRender(t)},render:(e,t)=>{for(const i of e)i.render(t),i.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),n=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();const s=this._viewLines.visibleRangeForPosition(new Qn.y(n.lineNumber,n.column));return s?s.left:-1}getTargetAtClientPoint(e,t){const i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?f_.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new Nv(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const e of this._viewParts)e.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){this._contentWidgets.setWidgetPosition(e.widget,e.position?.position??null,e.position?.secondaryPosition??null,e.position?.preference??null,e.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){this._overlayWidgets.setWidgetPosition(e.widget,e.position)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function Zv(e){try{return e()}catch(t){return(0,b.dz)(t),null}}Yv=Gv([Qv(6,qn._Y)],Yv);class Xv{static{this.INSTANCE=new Xv}constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(-1!==t&&(this._coordinatedRenderings.splice(t,1),0===this._coordinatedRenderings.length)){for(const[e,t]of this._animationFrameRunners)t.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,it(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of e)Zv((()=>i.prepareRenderText()));const t=[];for(let i=0,n=e.length;in.renderText()))}for(let i=0,n=e.length;in.prepareRender(o,r)))}for(let i=0,n=e.length;in.render(o,r)))}}}var Jv=i(87110);class eb{constructor(e,t,i,n,s){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=n,this.wrappedTextIndentLength=s}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let i=this.breakOffsets[e]-t;return e>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let i=0===e?t:this.breakOffsets[e-1]+t;if(null!==this.injectionOffsets)for(let n=0;nthis.injectionOffsets[n];n++)i0?this.breakOffsets[s-1]:0,0===t)if(e<=o)n=s-1;else{if(!(e>r))break;i=s+1}else if(e=r))break;i=s+1}}let r=e-o;return s>0&&(r+=this.wrappedTextIndentLength),new nb(s,r)}normalizeOutputPosition(e,t,i){if(null!==this.injectionOffsets){const n=this.outputPositionToOffsetInInputWithInjections(e,t),s=this.normalizeOffsetInInputWithInjectionsAroundInjections(n,i);if(s!==n)return this.offsetInInputWithInjectionsToOutputPosition(s,i)}if(0===i){if(e>0&&t===this.getMinOutputOffset(e))return new nb(e-1,this.getMaxOutputOffset(e-1))}else if(1===i){if(e0&&(t=Math.max(0,t-this.wrappedTextIndentLength));return(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(2===t){if(e===i.offsetInInputWithInjections+i.length&&tb(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let e=i.offsetInInputWithInjections;if(ib(this.injectionOptions[i.injectedTextIndex].cursorStops))return e;let t=i.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[i.injectedTextIndex]&&!tb(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!ib(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t||4===t){let e=i.offsetInInputWithInjections+i.length,t=i.injectedTextIndex;for(;t+1=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}(0,Jv.xb)(t)}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),n=this.getInjectedTextAtOffset(i);return n?{options:this.injectionOptions[n.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(null!==t){let n=0;for(let s=0;se)break;if(e<=a)return{injectedTextIndex:s,offsetInInputWithInjections:r,length:o};n+=o}}}}function tb(e){return null==e||(e===eo.VW.Right||e===eo.VW.Both)}function ib(e){return null==e||(e===eo.VW.Left||e===eo.VW.Both)}class nb{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new Qn.y(e+this.outputLineIndex,this.outputOffset+1)}}var sb=i(83455);const ob=yh("domLineBreaksComputer",{createHTML:e=>e});class rb{static create(e){return new rb(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,i,n,s){const o=[],r=[];return{addRequest:(e,t,i)=>{o.push(e),r.push(t)},finalize:()=>function(e,t,i,n,s,o,r,a){function l(e){const i=a[e];if(i){const n=sb.uK.applyInjectedText(t[e],i),s=i.map((e=>e.options)),o=i.map((e=>e.column-1));return new eb(o,s,[n.length],[],0)}return null}if(-1===s){const e=[];for(let i=0,n=t.length;ih?(s=0,r=0):l=h-t}const d=e.substr(s),c=ab(d,r,n,l,p,u);m[L]=s,f[L]=r,_[L]=d,v[L]=c[0],b[L]=c[1]}const C=p.build(),w=ob?.createHTML(C)??C;g.innerHTML=w,g.style.position="absolute",g.style.top="10000","keepAll"===r?(g.style.wordBreak="keep-all",g.style.overflowWrap="anywhere"):(g.style.wordBreak="inherit",g.style.overflowWrap="break-word");e.document.body.appendChild(g);const y=document.createRange(),S=Array.prototype.slice.call(g.children,0),k=[];for(let L=0;Le.options)),r=h.map((e=>e.column-1))):(o=null,r=null),k[L]=new eb(r,o,e,s,i)}return g.remove(),k}((0,rs.eU)(this.targetWindow.deref()),o,e,t,i,n,s,r)}}}function ab(e,t,i,n,s,o){if(0!==o){const e=String(o);s.appendString('
    ');const r=e.length;let a=t,l=0;const h=[],d=[];let c=0");for(let u=0;u"),h[u]=l,d[u]=a;const t=c;c=u+1"),h[e.length]=l,d[e.length]=a,s.appendString("
    "),[h,d]}function lb(e,t,i,n){if(i.length<=1)return null;const s=Array.prototype.slice.call(t.children,0),o=[];try{hb(e,s,n,0,null,i.length-1,null,o)}catch(r){return console.log(r),null}return 0===o.length?null:(o.push(i.length),o)}function hb(e,t,i,n,s,o,r,a){if(n===o)return;if(s=s||db(e,t,i[n],i[n+1]),r=r||db(e,t,i[o],i[o+1]),Math.abs(s[0].top-r[0].top)<=.1)return;if(n+1===o)return void a.push(o);const l=n+(o-n)/2|0,h=db(e,t,i[l],i[l+1]);hb(e,t,i,n,s,l,h,a),hb(e,t,i,l,h,o,r,a)}function db(e,t,i,n){return e.setStart(t[i/16384|0].firstChild,i%16384),e.setEnd(t[n/16384|0].firstChild,n%16384),e.getClientRects()}class cb extends Ae.jG{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new Ae.$w),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,i){this._editor=e,this._instantiationService=i;for(const n of t)this._pending.has(n.id)?(0,b.dz)(new Error(`Cannot have two contributions with the same id ${n.id}`)):this._pending.set(n.id,n);this._instantiateSome(0),this._register(et(We(this._editor.getDomNode()),(()=>{this._instantiateSome(1)}))),this._register(et(We(this._editor.getDomNode()),(()=>{this._instantiateSome(2)}))),this._register(et(We(this._editor.getDomNode()),(()=>{this._instantiateSome(3)}),5e3))}saveViewState(){const e={};for(const[t,i]of this._instances)"function"==typeof i.saveViewState&&(e[t]=i.saveViewState());return e}restoreViewState(e){for(const[t,i]of this._instances)"function"==typeof i.restoreViewState&&i.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return et(We(this._editor?.getDomNode()),(()=>{this._instantiateSome(1)}),50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const i of t)this._instantiateById(i.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,i]of this._pending)i.instantiation===e&&t.push(i);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const e=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,e),"function"==typeof e.restoreViewState&&0!==t.instantiation&&console.warn(`Editor contribution '${t.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(i){(0,b.dz)(i)}}}}class ub{constructor(e,t,i,n,s,o,r){this.id=e,this.label=t,this.alias=i,this.metadata=n,this._precondition=s,this._run=o,this._contextKeyService=r}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}const gb={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};var pb=i(27454);class mb{static create(e){return new mb(e.get(135),e.get(134))}constructor(e,t){this.classifier=new fb(e,t)}createLineBreaksComputer(e,t,i,n,s){const o=[],r=[],a=[];return{addRequest:(e,t,i)=>{o.push(e),r.push(t),a.push(i)},finalize:()=>{const l=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,h=[];for(let e=0,d=o.length;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}}let _b=[],vb=[];function bb(e,t,i,n,s,o,r,a){if(-1===s)return null;const l=i.length;if(l<=1)return null;const h="keepAll"===a,d=t.breakOffsets,c=t.breakOffsetsVisibleColumn,u=kb(i,n,s,o,r),g=s-u,p=_b,m=vb;let f=0,_=0,v=0,b=s;const C=d.length;let w=0;if(w>=0){let e=Math.abs(c[w]-b);for(;w+1=e)break;e=t,w++}}for(;wt&&(t=_,s=v);let r=0,a=0,u=0,y=0;if(s<=b){let v=s,C=0===t?0:i.charCodeAt(t-1),w=0===t?0:e.get(C),S=!0;for(let s=t;s_&&Sb(C,w,l,d,h)&&(r=t,a=v),v+=c,v>b){t>_?(u=t,y=v-c):(u=s+1,y=v),v-a>g&&(r=0),S=!1;break}C=l,w=d}if(S){f>0&&(p[f]=d[d.length-1],m[f]=c[d.length-1],f++);break}}if(0===r){let l=s,d=i.charCodeAt(t),c=e.get(d),p=!1;for(let n=t-1;n>=_;n--){const t=n+1,s=i.charCodeAt(n);if(9===s){p=!0;break}let m,f;if(Ri.LJ(s)?(n--,m=0,f=2):(m=e.get(s),f=Ri.ne(s)?o:1),l<=b){if(0===u&&(u=t,y=l),l<=b-g)break;if(Sb(s,m,d,c,h)){r=t,a=l;break}}l-=f,d=s,c=m}if(0!==r){const e=g-(y-a);if(e<=n){const t=i.charCodeAt(u);let s;s=Ri.pc(t)?2:wb(t,y,n,o),e-s<0&&(r=0)}}if(p){w--;continue}}if(0===r&&(r=u,a=y),r<=_){const e=i.charCodeAt(_);Ri.pc(e)?(r=_+2,a=v+2):(r=_+1,a=v+wb(e,v,n,o))}for(_=r,p[f]=r,v=a,m[f]=a,f++,b=a+g;w<0||w=S)break;S=e,w++}}return 0===f?null:(p.length=f,m.length=f,_b=t.breakOffsets,vb=t.breakOffsetsVisibleColumn,t.breakOffsets=p,t.breakOffsetsVisibleColumn=m,t.wrappedTextIndentLength=u,t)}function Cb(e,t,i,n,s,o,r,a){const l=sb.uK.applyInjectedText(t,i);let h,d;if(i&&i.length>0?(h=i.map((e=>e.options)),d=i.map((e=>e.column-1))):(h=null,d=null),-1===s)return h?new eb(d,h,[l.length],[],0):null;const c=l.length;if(c<=1)return h?new eb(d,h,[l.length],[],0):null;const u="keepAll"===a,g=kb(l,n,s,o,r),p=s-g,m=[],f=[];let _=0,v=0,b=0,C=s,w=l.charCodeAt(0),y=e.get(w),S=wb(w,0,n,o),k=1;Ri.pc(w)&&(S+=1,w=l.charCodeAt(1),y=e.get(w),k++);for(let L=k;LC&&((0===v||S-b>p)&&(v=t,b=S-r),m[_]=v,f[_]=b,_++,C=b+p,v=0),w=i,y=s}return 0!==_||i&&0!==i.length?(m[_]=c,f[_]=S,new eb(d,h,m,f,g)):null}function wb(e,t,i,n){return 9===e?i-t%i:Ri.ne(e)||e<32?n:1}function yb(e,t){return t-e%t}function Sb(e,t,i,n,s){return 32!==i&&(2===t&&2!==n||1!==t&&1===n||!s&&3===t&&2!==n||!s&&3===n&&1!==t)}function kb(e,t,i,n,s){let o=0;if(0!==s){const r=Ri.HG(e);if(-1!==r){for(let i=0;ii&&(o=0)}}return o}var Lb=i(97393);class xb{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new vo(new Js.Q(1,1,1,1),0,0,new Qn.y(1,1),0),new vo(new Js.Q(1,1,1,1),0,0,new Qn.y(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 mo(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?qs.L.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):qs.L.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,i){this._setState(e,t,i)}static _validatePositionWithCache(e,t,i,n){return t.equals(i)?n:e.normalizePosition(t,2)}static _validateViewState(e,t){const i=t.position,n=t.selectionStart.getStartPosition(),s=t.selectionStart.getEndPosition(),o=e.normalizePosition(i,2),r=this._validatePositionWithCache(e,n,i,o),a=this._validatePositionWithCache(e,s,n,r);return i.equals(o)&&n.equals(r)&&s.equals(a)?t:new vo(Js.Q.fromPositions(r,a),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+n.column-r.column,o,t.leftoverVisibleColumns+i.column-o.column)}_setState(e,t,i){if(i&&(i=xb._validateViewState(e.viewModel,i)),t){const i=e.model.validateRange(t.selectionStart),n=t.selectionStart.equalsRange(i)?t.selectionStartLeftoverVisibleColumns:0,s=e.model.validatePosition(t.position),o=t.position.equals(s)?t.leftoverVisibleColumns:0;t=new vo(i,t.selectionStartKind,n,s,o)}else{if(!i)return;const n=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(i.selectionStart)),s=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(i.position));t=new vo(n,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,s,i.leftoverVisibleColumns)}if(i){const n=e.coordinatesConverter.validateViewRange(i.selectionStart,t.selectionStart),s=e.coordinatesConverter.validateViewPosition(i.position,t.position);i=new vo(n,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,s,t.leftoverVisibleColumns)}else{const n=e.coordinatesConverter.convertModelPositionToViewPosition(new Qn.y(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),s=e.coordinatesConverter.convertModelPositionToViewPosition(new Qn.y(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),o=new Js.Q(n.lineNumber,n.column,s.lineNumber,s.column),r=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new vo(o,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,r,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}}class Db{constructor(e){this.context=e,this.cursors=[new xb(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const 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(0,Lb.kh)(this.cursors,(0,na.VE)((e=>e.viewState.position),Qn.y.compare)).viewState.position}getBottomMostViewPosition(){return(0,Lb.ot)(this.cursors,(0,na.VE)((e=>e.viewState.position),Qn.y.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(mo.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){null!==e&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,i=e.length;if(ti){const e=t-i;for(let t=0;t=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(1===this.cursors.length)return;const e=this.cursors.slice(0),t=[];for(let i=0,n=e.length;ie.selection),Js.Q.compareRangesUsingStarts));for(let i=0;ia&&e.index--;e.splice(a,1),t.splice(r,1),this._removeSecondaryCursor(a-1),i--}}}}class Nb{constructor(e,t,i,n){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=n}}class Ib{constructor(){this.type=0}}class Eb{constructor(){this.type=1}}class Mb{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class Tb{constructor(e,t,i){this.selections=e,this.modelSelections=t,this.reason=i,this.type=3}}class Rb{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)}}class Ab{constructor(){this.type=5}}class Pb{constructor(e){this.type=6,this.isFocused=e}}class Ob{constructor(){this.type=7}}class Fb{constructor(){this.type=8}}class Wb{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class Bb{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class Hb{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class Vb{constructor(e,t,i,n,s,o,r){this.source=e,this.minimalReveal=t,this.range=i,this.selections=n,this.verticalType=s,this.revealHorizontal=o,this.scrollType=r,this.type=12}}class zb{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}}class Ub{constructor(e){this.theme=e,this.type=14}}class Kb{constructor(e){this.type=15,this.ranges=e}}class jb{constructor(){this.type=16}}class $b{constructor(){this.type=17}}class qb extends Ae.jG{constructor(){super(),this._onEvent=this._register(new P.vl),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,i=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t0&&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):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}}class Gb{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class Qb{constructor(e,t,i,n){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=n,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new Qb(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class Yb{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new Yb(this.oldHasFocus,e.hasFocus)}}class Zb{constructor(e,t,i,n,s,o,r,a){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=n,this.scrollWidth=s,this.scrollLeft=o,this.scrollHeight=r,this.scrollTop=a,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(e){return e.kind!==this.kind?null:new Zb(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class Xb{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class Jb{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class eC{constructor(e,t,i,n,s,o,r){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=n,this.source=s,this.reason=o,this.reachedMaxCursorCount=r}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length;if(i!==t.length)return!1;for(let n=0;n0){const e=this._cursors.getSelections();for(let t=0;to&&(n=n.slice(0,o),s=!0);const r=hC.from(this._model,this);return this._cursors.setStates(n),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,r,s)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,i,n,s,o){const r=this._cursors.getViewPositions();let a=null,l=null;r.length>1?l=this._cursors.getViewSelections():a=Js.Q.fromPositions(r[0],r[0]),e.emitViewEvent(new Vb(t,i,a,l,n,s,o))}revealPrimary(e,t,i,n,s,o){const r=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new Vb(t,i,null,r,n,s,o))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,n=t.length;i0){const t=mo.fromModelSelections(i.resultingSelection);this.setStates(e,"modelChange",i.isUndoing?5:i.isRedoing?6:2,t)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const t=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,mo.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;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),i=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:i.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,i,n){this.setStates(e,t,n,mo.fromModelSelections(i))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const i=[],n=[];for(let r=0,a=e.length;r0&&this._pushAutoClosedAction(i,n),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,i,n,s){const o=hC.from(this._model,this);if(o.equals(n))return!1;const r=this._cursors.getSelections(),a=this._cursors.getViewSelections();if(e.emitViewEvent(new Tb(a,r,i)),!n||n.cursorState.length!==o.cursorState.length||o.cursorState.some(((e,t)=>!e.modelState.equals(n.cursorState[t].modelState)))){const a=n?n.cursorState.map((e=>e.modelState.selection)):null,l=n?n.modelVersionId:0;e.emitOutgoingEvent(new eC(a,r,l,o.modelVersionId,t||"keyboard",i,s))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let i=0,n=e.length;i=0)return null;const s=n.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!s)return null;const o=s[1],r=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(o);if(!r||1!==r.length)return null;const a=r[0].open,l=n.text.length-s[2].length-1,h=n.text.lastIndexOf(a,l-1);if(-1===h)return null;t.push([h,l])}return t}executeEdits(e,t,i,n){let s=null;"snippet"===t&&(s=this._findAutoClosingPairs(i)),s&&(i[0]._isTracked=!0);const o=[],r=[],a=this._model.pushEditOperations(this.getSelections(),i,(e=>{if(s)for(let i=0,n=s.length;i0&&this._pushAutoClosedAction(o,r)}_executeEdit(e,t,i,n=0){if(this.context.cursorConfig.readOnly)return;const s=hC.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(o){(0,b.dz)(o)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,n,s,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return dC.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new gC(this._model,this.getSelections())}endComposition(e,t){const i=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit((()=>{"keyboard"===t&&this._executeEditOperation(xr.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,i,this.getSelections(),this.getAutoClosedCharacters()))}),e,t)}type(e,t,i){this._executeEdit((()=>{if("keyboard"===i){const e=t.length;let i=0;for(;i{this._executeEditOperation(xr.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,n,s))}),e,o);else if(0!==s){const t=this.getSelections().map((e=>{const t=e.getPosition();return new qs.L(t.lineNumber,t.column+s,t.lineNumber,t.column+s)}));this.setSelections(e,o,t,0)}}paste(e,t,i,n,s){this._executeEdit((()=>{this._executeEditOperation(xr.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,n||[]))}),e,s,4)}cut(e,t){this._executeEdit((()=>{this._executeEditOperation(Eo.cut(this.context.cursorConfig,this._model,this.getSelections()))}),e,t)}executeCommand(e,t,i){this._executeEdit((()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new bo(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,i)}executeCommands(e,t,i){this._executeEdit((()=>{this._executeEditOperation(new bo(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,i)}}class hC{static from(e,t){return new hC(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t=t.length)return!1;if(!t[i].strictContainsRange(e[i]))return!1}return!0}}class cC{static executeCommands(e,t,i){const n={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},s=this._innerExecuteCommands(n,i);for(let o=0,r=n.trackedRanges.length;o0&&(o[0]._isTracked=!0);let r=e.model.pushEditOperations(e.selectionsBefore,o,(i=>{const n=[];for(let t=0;te.identifier.minor-t.identifier.minor,o=[];for(let r=0;r0?(n[r].sort(s),o[r]=t[r].computeCursorState(e.model,{getInverseEditOperations:()=>n[r],getTrackedSelection:t=>{const i=parseInt(t,10),n=e.model._getTrackedRange(e.trackedRanges[i]);return 0===e.trackedRangesDirection[i]?new qs.L(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new qs.L(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn)}})):o[r]=e.selectionsBefore[r];return o}));r||(r=e.selectionsBefore);const a=[];for(const l in s)s.hasOwnProperty(l)&&a.push(parseInt(l,10));a.sort(((e,t)=>t-e));for(const l of a)r.splice(l,1);return r}static _arrayIsEmpty(e){for(let t=0,i=e.length;t{Js.Q.isEmpty(e)&&""===o||n.push({identifier:{major:t,minor:s++},range:e,text:o,forceMoveMarkers:r,isAutoWhitespaceEdit:i.insertsAutoWhitespace})};let r=!1;const a={addEditOperation:o,addTrackedEditOperation:(e,t,i)=>{r=!0,o(e,t,i)},trackSelection:(t,i)=>{const n=qs.L.liftSelection(t);let s;if(n.isEmpty())if("boolean"==typeof i)s=i?2:3;else{const t=e.model.getLineMaxColumn(n.startLineNumber);s=n.startColumn===t?2:3}else s=1;const o=e.trackedRanges.length,r=e.model._setTrackedRange(null,n,s);return e.trackedRanges[o]=r,e.trackedRangesDirection[o]=n.getDirection(),o.toString()}};try{i.getEditOperations(e.model,a)}catch(l){return(0,b.dz)(l),{operations:[],hadTrackedEditOperation:!1}}return{operations:n,hadTrackedEditOperation:r}}static _getLoserCursorMap(e){(e=e.slice(0)).sort(((e,t)=>-Js.Q.compareRangesUsingEnds(e.range,t.range)));const t={};for(let i=1;is.identifier.major?n.identifier.major:s.identifier.major,t[o.toString()]=!0;for(let t=0;t0&&i--}}return t}}class uC{constructor(e,t,i){this.text=e,this.startSelection=t,this.endSelection=i}}class gC{static _capture(e,t){const i=[];for(const n of t){if(n.startLineNumber!==n.endLineNumber)return null;i.push(new uC(e.getLineContent(n.startLineNumber),n.startColumn-1,n.endColumn-1))}return i}constructor(e,t){this._original=gC._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const i=gC._capture(e,t);if(!i)return null;if(this._original.length!==i.length)return null;const n=[];for(let s=0,o=this._original.length;s>>1;t===e[o].afterLineNumber?i{t=!0,e|=0,i|=0,n|=0,s|=0;const o=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new mC(o,e,i,n,s)),o},changeOneWhitespace:(e,i,n)=>{t=!0,i|=0,n|=0,this._pendingChanges.change({id:e,newAfterLineNumber:i,newHeight:n})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const t of e)this._insertWhitespace(t);for(const e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(const e of i){const t=this._findWhitespaceIndex(e.id);-1!==t&&this._removeWhitespace(t)}return}const n=new Set;for(const a of i)n.add(a.id);const s=new Map;for(const a of t)s.set(a.id,a);const o=e=>{const t=[];for(const i of e)if(!n.has(i.id)){if(s.has(i.id)){const e=s.get(i.id);i.afterLineNumber=e.newAfterLineNumber,i.height=e.newHeight}t.push(i)}return t},r=o(this._arr).concat(o(e));r.sort(((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber)),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=fC.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,n=t.length;it&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let i=0,n=this._arr.length;i=t.length||t[s+1].afterLineNumber>=e)return s;i=s+1|0}else n=s-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;const t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?this._lineHeight*(e-1):0;return i+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){this._checkPendingChanges(),e|=0;return this._lineHeight*e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let e=0;for(let t=0,i=this._arr.length;tthis.getLinesTotalHeight()}isInTopPadding(e){return 0!==this._paddingTop&&(this._checkPendingChanges(),e=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;const t=0|this._lineCount,i=this._lineHeight;let n=1,s=t;for(;n=o+i)n=t+1;else{if(e>=o)return t;s=t}}return n>t?t:n}getLinesViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this._lineHeight,n=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(n);let o=0|this._lineCount,r=0|this.getFirstWhitespaceIndexAfterLineNumber(n);const a=0|this.getWhitespacesCount();let l,h;-1===r?(r=a,h=o+1,l=0):(h=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));let d=s,c=d;const u=5e5;let g=0;s>=u&&(g=Math.floor(s/u)*u,g=Math.floor(g/i)*i,c-=g);const p=[],m=e+(t-e)/2;let f=-1;for(let C=n;C<=o;C++){if(-1===f){(d<=m&&mm)&&(f=C)}for(d+=i,p[C-n]=c,c+=i;h===C;)c+=l,d+=l,r++,r>=a?h=o+1:(h=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));if(d>=t){o=C;break}}-1===f&&(f=o);const _=0|this.getVerticalOffsetForLineNumber(o);let v=n,b=o;return vt&&b--,{bigNumbersDelta:g,startLineNumber:n,endLineNumber:o,relativeVerticalOffset:p,centeredLineNumber:f,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:b,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i,n;return i=t>=1?this._lineHeight*t:0,n=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,i+n+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(i)+this.getHeightForWhitespaceIndex(i))return-1;for(;t=s+this.getHeightForWhitespaceIndex(n))t=n+1;else{if(e>=s)return n;i=n}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const n=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:i,height:n}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),n=this.getWhitespacesCount()-1;if(i<0)return[];const s=[];for(let o=i;o<=n;o++){const e=this.getVerticalOffsetForWhitespaceIndex(o),i=this.getHeightForWhitespaceIndex(o);if(e>=t)break;s.push({id:this.getIdForWhitespaceIndex(o),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(o),verticalOffset:e,height:i})}return s}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}}class _C{constructor(e,t,i,n){(e|=0)<0&&(e=0),(t|=0)<0&&(t=0),(i|=0)<0&&(i=0),(n|=0)<0&&(n=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=n,this.scrollHeight=Math.max(i,n)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class vC extends Ae.jG{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new P.vl),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new _C(0,0,0,0),this._scrollable=this._register(new ju({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;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,n=t.contentHeight!==e.contentHeight;(i||n)&&this._onDidContentSizeChange.fire(new Qb(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()}}class bC extends Ae.jG{constructor(e,t,i){super(),this._configuration=e;const n=this._configuration.options,s=n.get(146),o=n.get(84);this._linesLayout=new fC(t,n.get(67),o.top,o.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new vC(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new _C(s.contentWidth,0,s.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(115)?125:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const e=t.get(84);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(146)){const e=t.get(146),i=e.contentWidth,n=e.height,s=this._scrollable.getScrollDimensions(),o=s.contentWidth;this._scrollable.setScrollDimensions(new _C(i,s.contentWidth,n,this._getContentHeight(i,n,o)))}else this._updateHeight();e.hasChanged(115)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const i=this._configuration.options.get(104);return 2===i.horizontal||e>=t?0:i.horizontalScrollbarSize}_getContentHeight(e,t,i){const n=this._configuration.options;let s=this._linesLayout.getLinesTotalHeight();return n.get(106)?s+=Math.max(0,t-n.get(67)-n.get(84).bottom):n.get(104).ignoreHorizontalScrollbarInContentHeight||(s+=this._getHorizontalScrollbarHeight(e,i)),s}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,n=e.contentWidth;this._scrollable.setScrollDimensions(new _C(t,e.contentWidth,i,this._getContentHeight(t,i,n)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Y_(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Y_(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,i=e.get(147),n=e.get(50),s=e.get(146);if(i.isViewportWrapping){const i=e.get(73);return t>s.contentWidth+n.typicalHalfwidthCharacterWidth&&i.enabled&&"right"===i.side?t+s.verticalScrollbarWidth:t}{const i=e.get(105)*n.typicalHalfwidthCharacterWidth,o=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+i+s.verticalScrollbarWidth,o,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new _C(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i),scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(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)}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(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const 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(){const 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){1===t?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}}class CC{constructor(e,t,i,n,s){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=n,this._coordinatesConverter=s,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const n=e.range,s=e.options;let o;if(s.isWholeLine){const e=this._coordinatesConverter.convertModelPositionToViewPosition(new Qn.y(n.startLineNumber,1),0,!1,!0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new Qn.y(n.endLineNumber,this.model.getLineMaxColumn(n.endLineNumber)),1);o=new Js.Q(e.lineNumber,e.column,t.lineNumber,t.column)}else o=this._coordinatesConverter.convertModelRangeToViewRange(n,1);i=new iv(o,s),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=null!==this._cachedModelDecorationsResolver;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,i=!1){const n=new Js.Q(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(n,t,i).inlineDecorations[0]}_getDecorationsInRange(e,t,i){const n=this._linesCollection.getDecorationsInRange(e,this.editorId,bc(this.configuration.options),t,i),s=e.startLineNumber,o=e.endLineNumber,r=[];let a=0;const l=[];for(let h=s;h<=o;h++)l[h-s]=[];for(let h=0,d=n.length;h1===e))}function SC(e,t){return kC(e,t.range,(e=>2===e))}function kC(e,t,i){for(let n=t.startLineNumber;n<=t.endLineNumber;n++){const s=e.tokenization.getLineTokens(n),o=n===t.startLineNumber,r=n===t.endLineNumber;let a=o?s.findTokenIndexAtOffset(t.startColumn-1):0;for(;at.endColumn-1)break}if(!i(s.getStandardTokenType(a)))return!1;a++}}return!0}function LC(e,t){return null===e?t?DC.INSTANCE:NC.INSTANCE:new xC(e,t)}class xC{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,i){this._assertVisible();const n=i>0?this._projectionData.breakOffsets[i-1]:0,s=this._projectionData.breakOffsets[i];let o;if(null!==this._projectionData.injectionOffsets){const i=this._projectionData.injectionOffsets.map(((e,t)=>new sb.uK(0,0,e+1,this._projectionData.injectionOptions[t],0)));o=sb.uK.applyInjectedText(e.getLineContent(t),i).substring(n,s)}else o=e.getValueInRange({startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:s+1});return i>0&&(o=EC(this._projectionData.wrappedTextIndentLength)+o),o}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const n=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],n),n[0]}getViewLinesData(e,t,i,n,s,o,r){this._assertVisible();const a=this._projectionData,l=a.injectionOffsets,h=a.injectionOptions;let d,c=null;if(l){c=[];let e=0,t=0;for(let i=0;i0?a.breakOffsets[i-1]:0,o=a.breakOffsets[i];for(;to)break;if(s0?a.wrappedTextIndentLength:0,r=t+Math.max(d-s,0),l=t+Math.min(c-s,o-s);r!==l&&n.push(new tv(r,l,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(!(c<=o))break;e+=r,t++}}}d=l?e.tokenization.getLineTokens(t).withInserted(l.map(((e,t)=>({offset:e,text:h[t].content,tokenMetadata:Bo.f.defaultTokenMetadata})))):e.tokenization.getLineTokens(t);for(let u=i;u0?n.wrappedTextIndentLength:0,o=i>0?n.breakOffsets[i-1]:0,r=n.breakOffsets[i],a=e.sliceAndInflate(o,r,s);let l=a.getLineContent();i>0&&(l=EC(n.wrappedTextIndentLength)+l);const h=this._projectionData.getMinOutputOffset(i)+1,d=l.length+1,c=i+1=IC.length)for(let t=1;t<=e;t++)IC[t]=MC(t);return IC[e]}function MC(e){return new Array(e+1).join(" ")}var TC=i(56158);class RC{constructor(e,t,i,n,s,o,r,a,l,h){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=i,this._monospaceLineBreaksComputerFactory=n,this.fontInfo=s,this.tabSize=o,this.wrappingStrategy=r,this.wrappingColumn=a,this.wrappingIndent=l,this.wordBreak=h,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new OC(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const i=this.model.getLinesContent(),n=this.model.getInjectedTextDecorations(this._editorId),s=i.length,o=this.createLineBreaksComputer(),r=new na.j3(sb.uK.fromDecorations(n));for(let p=0;pe.lineNumber===p+1));o.addRequest(i[p],e,t?t[p]:null)}const a=o.finalize(),l=[],h=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(Js.Q.compareRangesUsingStarts);let d=1,c=0,u=-1,g=u+1=d&&e<=c,i=LC(a[p],!t);l[p]=i.getViewLineCount(),this.modelLineProjections[p]=i}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new TC.c2(l)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e)))}setHiddenAreas(e){const t=function(e){if(0===e.length)return[];const t=e.slice();t.sort(Js.Q.compareRangesUsingStarts);const i=[];let n=t[0].startLineNumber,s=t[0].endLineNumber;for(let o=1,r=t.length;os+1?(i.push(new Js.Q(n,1,s,1)),n=e.startLineNumber,s=e.endLineNumber):e.endLineNumber>s&&(s=e.endLineNumber)}return i.push(new Js.Q(n,1,s,1)),i}(e.map((e=>this.model.validateRange(e)))),i=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(Js.Q.compareRangesUsingStarts);if(t.length===i.length){let e=!1;for(let n=0;n({range:e,options:to.kI.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,n);const s=t;let o=1,r=0,a=-1,l=a+1=o&&e<=r?this.modelLineProjections[d].isVisible()&&(this.modelLineProjections[d]=this.modelLineProjections[d].setVisible(!1),t=!0):(h=!0,this.modelLineProjections[d].isVisible()||(this.modelLineProjections[d]=this.modelLineProjections[d].setVisible(!0),t=!0)),t){const e=this.modelLineProjections[d].getViewLineCount();this.projectedModelLineLineCounts.setValue(d,e)}}return h||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return!(e<1||e>this.modelLineProjections.length)&&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,i,n,s){const o=this.fontInfo.equals(e),r=this.wrappingStrategy===t,a=this.wrappingColumn===i,l=this.wrappingIndent===n,h=this.wordBreak===s;if(o&&r&&a&&l&&h)return!1;const d=o&&r&&!a&&l&&h;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=n,this.wordBreak=s;let c=null;if(d){c=[];for(let e=0,t=this.modelLineProjections.length;e2&&!this.modelLineProjections[t-2].isVisible(),o=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let r=0;const a=[],l=[];for(let h=0,d=n.length;hr?(l=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,h=l+r-1,u=h+1,g=u+(s-r)-1,a=!0):st?t:0|e}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),s=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),o=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),r=this.model.guides.getActiveIndentGuide(n.lineNumber,s.lineNumber,o.lineNumber),a=this.convertModelPositionToViewPosition(r.startLineNumber,1),l=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:a.lineNumber,endLineNumber:l.lineNumber,indent:r.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,n=t.remainder;return new AC(i+1,n)}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){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Qn.y(e.modelLineNumber,n)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Qn.y(e.modelLineNumber,n)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),n=this.getViewLineInfo(t),s=new Array;let o=this.getModelStartPositionOfViewLine(i),r=new Array;for(let a=i.modelLineNumber;a<=n.modelLineNumber;a++){const e=this.modelLineProjections[a-1];if(e.isVisible()){const t=a===i.modelLineNumber?i.modelLineWrappedLineIdx:0,s=a===n.modelLineNumber?n.modelLineWrappedLineIdx+1:e.getViewLineCount();for(let e=t;e{if(-1!==e.forWrappedLinesAfterColumn){if(this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=i.modelLineWrappedLineIdx)return}if(-1!==e.forWrappedLinesBeforeOrAtColumn){if(this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumberi.modelLineWrappedLineIdx)return}const n=this.convertModelPositionToViewPosition(i.modelLineNumber,e.horizontalLine.endColumn),s=this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return s.lineNumber===i.modelLineWrappedLineIdx?new W_.TH(e.visibleColumn,t,e.className,new W_.pv(e.horizontalLine.top,n.column),-1,-1):s.lineNumber!!e)))}}return o}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),n=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let s=[];const o=[],r=[],a=i.lineNumber-1,l=n.lineNumber-1;let h=null;for(let g=a;g<=l;g++){const e=this.modelLineProjections[g];if(e.isVisible()){const t=e.getViewLineNumberOfModelPosition(0,g===a?i.column:1),n=e.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(g+1)),s=n-t+1;let l=0;s>1&&1===e.getViewLineMinColumn(this.model,g+1,n)&&(l=0===t?1:2),o.push(s),r.push(l),null===h&&(h=new Qn.y(g+1,0))}else null!==h&&(s=s.concat(this.model.guides.getLinesIndentGuides(h.lineNumber,g)),h=null)}null!==h&&(s=s.concat(this.model.guides.getLinesIndentGuides(h.lineNumber,n.lineNumber)),h=null);const d=t-e+1,c=new Array(d);let u=0;for(let g=0,p=s.length;gt&&(c=!0,d=t-s+1),n.getViewLinesData(this.model,l+1,h,d,s-e,i,a),s+=d,c)break}return a}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const n=this.projectedModelLineLineCounts.getIndexOf(e-1),s=n.index,o=n.remainder,r=this.modelLineProjections[s],a=r.getViewLineMinColumn(this.model,s+1,o),l=r.getViewLineMaxColumn(this.model,s+1,o);tl&&(t=l);const h=r.getModelColumnOfViewPosition(o,t);return this.model.validatePosition(new Qn.y(s+1,h)).equals(i)?new Qn.y(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),n=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new Js.Q(i.lineNumber,i.column,n.lineNumber,n.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),n=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new Qn.y(i.modelLineNumber,n))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new Js.Q(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2,n=!1,s=!1){const o=this.model.validatePosition(new Qn.y(e,t)),r=o.lineNumber,a=o.column;let l=r-1,h=!1;if(s)for(;l0&&!this.modelLineProjections[l].isVisible();)l--,h=!0;if(0===l&&!this.modelLineProjections[l].isVisible())return new Qn.y(n?0:1,1);const d=1+this.projectedModelLineLineCounts.getPrefixSum(l);let c;return c=h?s?this.modelLineProjections[l].getViewPositionOfModelPosition(d,1,i):this.modelLineProjections[l].getViewPositionOfModelPosition(d,this.model.getLineMaxColumn(l+1),i):this.modelLineProjections[r-1].getViewPositionOfModelPosition(d,a,i),c}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return Js.Q.fromPositions(i)}{const t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),i=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new Js.Q(t.lineNumber,t.column,i.lineNumber,i.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const e=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(e,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(0===i&&!this.modelLineProjections[i].isVisible())return 1;const n=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(n,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i,n,s){const o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),r=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(r.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new Js.Q(o.lineNumber,1,r.lineNumber,r.column),t,i,n,s);let a=[];const l=o.lineNumber-1,h=r.lineNumber-1;let d=null;for(let p=l;p<=h;p++){if(this.modelLineProjections[p].isVisible())null===d&&(d=new Qn.y(p+1,p===l?o.column:1));else if(null!==d){const e=this.model.getLineMaxColumn(p);a=a.concat(this.model.getDecorationsInRange(new Js.Q(d.lineNumber,d.column,p,e),t,i,n)),d=null}}null!==d&&(a=a.concat(this.model.getDecorationsInRange(new Js.Q(d.lineNumber,d.column,r.lineNumber,r.column),t,i,n)),d=null),a.sort(((e,t)=>{const i=Js.Q.compareRangesUsingStarts(e.range,t.range);return 0===i?e.idt.id?1:0:i}));const c=[];let u=0,g=null;for(const p of a){const e=p.id;g!==e&&(g=e,c[u++]=p)}return c}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return 0===t.modelLineWrappedLineIdx?this.model.getLineIndentColumn(t.modelLineNumber):0}}class AC{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class PC{constructor(e,t){this.modelRange=e,this.viewLines=t}}class OC{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,i,n){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,i,n)}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)}}class FC{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new WC(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,n){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new Bb(t,i)}onModelLinesInserted(e,t,i,n){return new Hb(t,i)}onModelLineChanged(e,t,i){return[!1,new Wb(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,n=new Array(i);for(let s=0;st)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}const BC=eo.ZS.Right;class HC{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*BC/8))}reset(e){const t=Math.ceil((e+1)*BC/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow()),0)),this._hasFocus=!1,this._viewportStart=zC.create(this.model),this.glyphLanes=new HC(0),this.model.isTooLargeForTokenization())this._lines=new FC(this.model);else{const e=this._configuration.options,t=e.get(50),i=e.get(140),o=e.get(147),r=e.get(139),a=e.get(130);this._lines=new RC(this._editorId,this.model,n,s,t,this.model.getOptions().tabSize,i,o.wrappingColumn,r,a)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new lC(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new bC(this._configuration,this.getLineCount(),o)),this._register(this.viewLayout.onDidScroll((e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new zb(e)),this._eventDispatcher.emitOutgoingEvent(new Zb(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 CC(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}}))),this._register(Q_.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new jb)}))),this._register(this._themeService.onDidColorThemeChange((e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new Ub(e))}))),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new Js.Q(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new Pb(e)),this._eventDispatcher.emitOutgoingEvent(new Yb(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new Ib)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new Eb)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new Qn.y(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new $C(t,this._viewportStart.startLineDelta)}return new $C(null,0)}_onConfigurationChanged(e,t){const i=this._captureStableViewport(),n=this._configuration.options,s=n.get(50),o=n.get(140),r=n.get(147),a=n.get(139),l=n.get(130);this._lines.setWrappingSettings(s,o,r.wrappingColumn,a,l)&&(e.emitViewEvent(new Ab),e.emitViewEvent(new Fb),e.emitViewEvent(new Rb(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(92)&&(this._decorations.reset(),e.emitViewEvent(new Rb(null))),t.hasChanged(99)&&(this._decorations.reset(),e.emitViewEvent(new Rb(null))),e.emitViewEvent(new Mb(t)),this.viewLayout.onConfigurationChanged(t),i.recoverViewportStart(this.coordinatesConverter,this.viewLayout),po.shouldRecreate(t)&&(this.cursorConfig=new po(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();let i=!1,n=!1;const s=e instanceof sb.Ic?e.rawContentChangedEvent.changes:e.changes,o=e instanceof sb.Ic?e.rawContentChangedEvent.versionId:null,r=this._lines.createLineBreaksComputer();for(const e of s)switch(e.changeType){case 4:for(let t=0;t!e.ownerId||e.ownerId===this._editorId))),r.addRequest(i,n,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter((e=>!e.ownerId||e.ownerId===this._editorId))),r.addRequest(e.detail,t,null);break}}const a=r.finalize(),l=new na.j3(a);for(const e of s)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new Ab),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),i=!0;break;case 3:{const n=this._lines.onModelLinesDeleted(o,e.fromLineNumber,e.toLineNumber);null!==n&&(t.emitViewEvent(n),this.viewLayout.onLinesDeleted(n.fromLineNumber,n.toLineNumber)),i=!0;break}case 4:{const n=l.takeCount(e.detail.length),s=this._lines.onModelLinesInserted(o,e.fromLineNumber,e.toLineNumber,n);null!==s&&(t.emitViewEvent(s),this.viewLayout.onLinesInserted(s.fromLineNumber,s.toLineNumber)),i=!0;break}case 2:{const i=l.dequeue(),[s,r,a,h]=this._lines.onModelLineChanged(o,e.lineNumber,i);n=s,r&&t.emitViewEvent(r),a&&(t.emitViewEvent(a),this.viewLayout.onLinesInserted(a.fromLineNumber,a.toLineNumber)),h&&(t.emitViewEvent(h),this.viewLayout.onLinesDeleted(h.fromLineNumber,h.toLineNumber));break}}null!==o&&this._lines.acceptVersionId(o),this.viewLayout.onHeightMaybeChanged(),!i&&n&&(t.emitViewEvent(new Fb),t.emitViewEvent(new Rb(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){const t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),i=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:i+this._viewportStart.startLineDelta},1)}}try{const t=this._eventDispatcher.beginEmitViewEvents();e instanceof sb.Ic&&t.emitOutgoingEvent(new oC(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()}))),this._register(this.model.onDidChangeTokens((e=>{const t=[];for(let i=0,n=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new Ob),this.cursorConfig=new po(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new sC(e))}))),this._register(this.model.onDidChangeLanguage((e=>{this.cursorConfig=new po(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new nC(e))}))),this._register(this.model.onDidChangeOptions((e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new Ab),e.emitViewEvent(new Fb),e.emitViewEvent(new Rb(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new po(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new rC(e))}))),this._register(this.model.onDidChangeDecorations((e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new Rb(e)),this._eventDispatcher.emitOutgoingEvent(new iC(e))})))}setHiddenAreas(e,t){this.hiddenAreasModel.setHiddenAreas(t,e);const i=this.hiddenAreasModel.getMergedRanges();if(i===this.previousHiddenAreas)return;this.previousHiddenAreas=i;const n=this._captureStableViewport();let s=!1;try{const e=this._eventDispatcher.beginEmitViewEvents();s=this._lines.setHiddenAreas(i),s&&(e.emitViewEvent(new Ab),e.emitViewEvent(new Fb),e.emitViewEvent(new Rb(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const t=n.viewportStartModelPosition?.lineNumber,o=t&&i.some((e=>e.startLineNumber<=t&&t<=e.endLineNumber));o||n.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),s&&this._eventDispatcher.emitOutgoingEvent(new Jb)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(146),t=this._configuration.options.get(67),i=Math.max(20,Math.round(e.height/t)),n=this.viewLayout.getLinesViewportData(),s=Math.max(1,n.completelyVisibleStartLineNumber-i),o=Math.min(this.getLineCount(),n.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new Js.Q(s,this.getLineMinColumn(s),o,this.getLineMaxColumn(o)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(0===i.length)return[t];const n=[];let s=0,o=t.startLineNumber,r=t.startColumn;const a=t.endLineNumber,l=t.endColumn;for(let h=0,d=i.length;ha||(ot.toInlineDecoration(e)))]),new J_(o.minColumn,o.maxColumn,o.content,o.continuesWithWrappedLine,i,n,o.tokens,t,s,o.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const n=this._lines.getViewLinesData(e,t,i);return new Z_(this.getTabSize(),n)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,bc(this._configuration.options)),i=new UC;for(const n of t){const t=n.options,s=t.overviewRuler;if(!s)continue;const o=s.position;if(0===o)continue;const r=s.getColor(e.value),a=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.startLineNumber,n.range.startColumn),l=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.endLineNumber,n.range.endColumn);i.accept(r,t.zIndex,a,l,o)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const e=t.options.overviewRuler;e?.invalidateCachedColor();const i=t.options.minimap;i?.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}getValueLengthInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(i,t)}modifyPosition(e,t){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e),n=this.model.modifyPosition(i,t);return this.coordinatesConverter.convertModelPositionToViewPosition(n)}deduceModelPositionRelativeToViewPosition(e,t,i){const n=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=i:t+=i);const s=this.model.getOffsetAt(n)+t;return this.model.getPositionAt(s)}getPlainTextToCopy(e,t,i){const n=i?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(Js.Q.compareRangesUsingStarts);let s=!1,o=!1;for(const a of e)a.isEmpty()?s=!0:o=!0;if(!o){if(!t)return"";const i=e.map((e=>e.startLineNumber));let s="";for(let e=0;e0&&i[e-1]===i[e]||(s+=this.model.getLineContent(i[e])+n);return s}if(s&&t){const t=[];let n=0;for(const s of e){const e=s.startLineNumber;s.isEmpty()?e!==n&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(s,i?2:0)),n=e}return 1===t.length?t[0]:t}const r=[];for(const a of e)a.isEmpty()||r.push(this.model.getValueInRange(a,i?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===Nh.vH)return null;if(1!==e.length)return null;let n=e[0];if(n.isEmpty()){if(!t)return null;const e=n.startLineNumber;n=new Js.Q(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}const s=this._configuration.options.get(50),o=this._getColorMap();let r;if(/[:;\\\/<>]/.test(s.fontFamily)||s.fontFamily===Ec.fontFamily)r=Ec.fontFamily;else{r=s.fontFamily,r=r.replace(/"/g,"'");if(!/[,']/.test(r)){/[+ ]/.test(r)&&(r=`'${r}'`)}r=`${r}, ${Ec.fontFamily}`}return{mode:i,html:`
    `+this._getHTMLToCopy(n,o)+"
    "}}_getHTMLToCopy(e,t){const i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,o=e.endColumn,r=this.getTabSize();let a="";for(let l=i;l<=s;l++){const e=this.model.tokenization.getLineTokens(l),h=e.getLineContent(),d=l===i?n-1:0,c=l===s?o-1:h.length;a+=""===h?"
    ":Mh(h,e.inflate(),t,d,c,r,f.uF)}return a}_getColorMap(){const e=La.dG.getColorMap(),t=["#000000"];if(e)for(let i=1,n=e.length;ithis._cursor.setStates(n,e,t,i)))}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,i=0){this._withViewEventsCollector((n=>this._cursor.setSelections(n,e,t,i)))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector((t=>this._cursor.restoreState(t,e)))}_executeCursorEdit(e){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new tC):this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit((n=>this._cursor.executeEdits(n,e,t,i)))}startComposition(){this._executeCursorEdit((e=>this._cursor.startComposition(e)))}endComposition(e){this._executeCursorEdit((t=>this._cursor.endComposition(t,e)))}type(e,t){this._executeCursorEdit((i=>this._cursor.type(i,e,t)))}compositionType(e,t,i,n,s){this._executeCursorEdit((o=>this._cursor.compositionType(o,e,t,i,n,s)))}paste(e,t,i,n){this._executeCursorEdit((s=>this._cursor.paste(s,e,t,i,n)))}cut(e){this._executeCursorEdit((t=>this._cursor.cut(t,e)))}executeCommand(e,t){this._executeCursorEdit((i=>this._cursor.executeCommand(i,e,t)))}executeCommands(e,t){this._executeCursorEdit((i=>this._cursor.executeCommands(i,e,t)))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector((n=>this._cursor.revealAll(n,e,i,0,t,0)))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector((n=>this._cursor.revealPrimary(n,e,i,0,t,0)))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new Js.Q(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new Vb(e,!1,i,null,0,!0,0))))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new Js.Q(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new Vb(e,!1,i,null,0,!0,0))))}revealRange(e,t,i,n,s){this._withViewEventsCollector((o=>o.emitViewEvent(new Vb(e,!1,i,null,n,t,s))))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new $b),this._eventDispatcher.emitOutgoingEvent(new Xb))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges((()=>{try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}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)}}class zC{static create(e){const t=e._setTrackedRange(null,new Js.Q(1,1,1,1),1);return new zC(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,i,n,s){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=n,this._startLineDelta=s}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new Qn.y(t,e.getLineMinColumn(t))),n=e.model._setTrackedRange(this._modelTrackedRange,new Js.Q(i.lineNumber,i.column,i.lineNumber,i.column),1),s=e.viewLayout.getVerticalOffsetForLineNumber(t),o=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=n,this._startLineDelta=o-s}invalidate(){this._isValid=!1}}class UC{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,n,s){const o=this._asMap[e];if(o){const e=o.data,t=e[e.length-3],r=e[e.length-1];if(t===s&&r+1>=i)return void(n>r&&(e[e.length-1]=n));e.push(s,i,n)}else{const o=new nv(e,t,[s,i,n]);this._asMap[e]=o,this.asArray.push(o)}}}class KC{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const i=this.hiddenAreas.get(e);i&&jC(i,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce(((e,t)=>function(e,t){const i=[];let n=0,s=0;for(;n=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},YC=function(e,t){return function(i,n){t(i,n,e)}};let ZC=class extends Ae.jG{static{GC=this}static{this.dropIntoEditorDecorationOptions=to.kI.register({description:"workbench-dnd-target",className:"dnd-target"})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(e,t,i,n,s,o,r,a,l,h,d,c){super(),this.languageConfigurationService=d,this._deliveryQueue=(0,P.Qy)(),this._contributions=this._register(new cb),this._onDidDispose=this._register(new P.vl),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new tw(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new ew({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new ew({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new tw(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new tw(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new tw(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new tw(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new tw(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new tw(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new tw(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new tw(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new tw(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new tw(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new tw(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new tw(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new tw(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new tw(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new tw(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new tw(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new tw(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new P.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onBeginUpdate=this._register(new P.vl),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new P.vl),this.onEndUpdate=this._onEndUpdate.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),s.willCreateCodeEditor();const u={...t};let g;this._domElement=e,this._overflowWidgetsDomNode=u.overflowWidgetsDomNode,delete u.overflowWidgetsDomNode,this._id=++XC,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,i.contextMenuId??(i.isSimpleWidget?vs.SimpleEditorContext:vs.EditorContext),u,h)),this._register(this._configuration.onDidChange((e=>{this._onDidChangeConfiguration.fire(e);const t=this._configuration.options;if(e.hasChanged(146)){const e=t.get(146);this._onDidLayoutChange.fire(e)}}))),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=l,this._codeEditorService=s,this._commandService=o,this._themeService=a,this._register(new iw(this,this._contextKeyService)),this._register(new nw(this,this._contextKeyService,c)),this._instantiationService=this._register(n.createChild(new qC([hs.fN,this._contextKeyService]))),this._modelData=null,this._focusTracker=new sw(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange((()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())}))),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},g=Array.isArray(i.contributions)?i.contributions:Ds.getEditorContributions(),this._contributions.initialize(this,g,this._instantiationService);for(const m of Ds.getEditorActions()){if(this._actions.has(m.id)){(0,b.dz)(new Error(`Cannot have two actions with the same id ${m.id}`));continue}const e=new ub(m.id,m.label,m.alias,m.metadata,m.precondition??void 0,(e=>this._instantiationService.invokeFunction((t=>Promise.resolve(m.runEditorCommand(t,this,e))))),this._contextKeyService);this._actions.set(e.id,e)}const p=()=>!this._configuration.options.get(92)&&this._configuration.options.get(36).enabled;this._register(new di(this._domElement,{onDragOver:e=>{if(!p())return;const t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!p())return;if(this.removeDropIndicator(),!e.dataTransfer)return;const 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,i,n){return new Lm(e,t,i,this._domElement,n)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return gb.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),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?Ro.getWordAtPosition(this._modelData.model,this._configuration.options.get(132),this._configuration.options.get(131),e):null}getValue(e=null){if(!this._modelData)return"";const t=!(!e||!e.preserveBOM);let i=0;return e&&e.lineEnding&&"\n"===e.lineEnding?i=1:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(i=2),this._modelData.model.getValue(i,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();const t=e;if(null===this._modelData&&null===t)return;if(this._modelData&&this._modelData.model===t)return;const i={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(i);const n=this.hasTextFocus(),s=this._detachModel();this._attachModel(t),n&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(s),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}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,i,n){const s=e.model.validatePosition({lineNumber:t,column:i}),o=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(o.lineNumber,n)}getTopForLineNumber(e,t=!1){return this._modelData?GC._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?GC._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,n=!1){const s=e.model.validatePosition({lineNumber:t,column:i}),o=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(o.lineNumber,n)}getBottomForLineNumber(e,t=!1){if(!this._modelData)return-1;const i=this._modelData.model.getLineMaxColumn(e);return GC._getVerticalOffsetAfterPosition(this._modelData,e,i,t)}setHiddenAreas(e,t){this._modelData?.viewModel.setHiddenAreas(e.map((e=>Js.Q.lift(e))),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return lo.A.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!Qn.y.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,n){if(!this._modelData)return;if(!Js.Q.isIRange(e))throw new Error("Invalid arguments");const s=this._modelData.model.validateRange(e),o=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(s);this._modelData.viewModel.revealRange("api",i,o,t,n)}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,i){if("number"!=typeof e)throw new Error("Invalid arguments");this._sendRevealRange(new Js.Q(e,1,e,1),t,!1,i)}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,i,n){if(!Qn.y.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new Js.Q(e.lineNumber,e.column,e.lineNumber,e.column),t,i,n)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=qs.L.isISelection(e),n=Js.Q.isIRange(e);if(!i&&!n)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(n){const i={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(i,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new qs.L(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,n){if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new Js.Q(e,1,t,1),i,!1,n)}revealRange(e,t=0,i=!1,n=!0){this._revealRange(e,i?1:0,n,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,i,n){if(!Js.Q.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(Js.Q.lift(e),t,i,n)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||0===e.length)throw new Error("Invalid arguments");for(let t=0,i=e.length;t0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]),this._contributions.restoreViewState(t.contributionsState||{});const i=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(i)}}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,i){i=i||{};try{switch(this._beginUpdate(),t){case"compositionStart":return void this._startComposition();case"compositionEnd":return void this._endComposition(e);case"type":{const t=i;return void this._type(e,t.text||"")}case"replacePreviousChar":{const t=i;return void this._compositionType(e,t.text||"",t.replaceCharCnt||0,0,0)}case"compositionType":{const t=i;return void this._compositionType(e,t.text||"",t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0)}case"paste":{const t=i;return void this._paste(e,t.text||"",t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent)}case"cut":return void this._cut(e)}const n=this.getAction(t);if(n)return void Promise.resolve(n.run(i)).then(void 0,b.dz);if(!this._modelData)return;if(this._triggerEditorCommand(e,t,i))return;this._triggerCommand(t,i)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&0!==t.length&&("keyboard"===e&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),"keyboard"===e&&this._onDidType.fire(t))}_compositionType(e,t,i,n,s){this._modelData&&this._modelData.viewModel.compositionType(t,i,n,s,e)}_paste(e,t,i,n,s,o){if(!this._modelData)return;const r=this._modelData.viewModel,a=r.getSelection().getStartPosition();r.paste(t,i,n,e);const l=r.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire({clipboardEvent:o,range:new Js.Q(a.lineNumber,a.column,l.lineNumber,l.column),languageId:s})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){const n=Ds.getEditorCommand(t);return!!n&&((i=i||{}).source=e,this._instantiationService.invokeFunction((e=>{Promise.resolve(n.runEditorCommand(e,this,i)).then(void 0,b.dz)})),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!!this._modelData&&(!this._configuration.options.get(92)&&(this._modelData.model.pushStackElement(),!0))}popUndoStop(){return!!this._modelData&&(!this._configuration.options.get(92)&&(this._modelData.model.popStackElement(),!0))}executeEdits(e,t,i){if(!this._modelData)return!1;if(this._configuration.options.get(92))return!1;let n;return n=i?Array.isArray(i)?()=>i:i:()=>null,this._modelData.viewModel.executeEdits(e,t,n),!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 ow(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,bc(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,bc(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?0===e.length&&0===t.length?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&0!==e.length&&this._modelData.model.changeDecorations((t=>{t.deltaDecorations(e,[])}))}removeDecorationsByType(e){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations((e=>e.deltaDecorations(t,[]))),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(146)}createOverviewRuler(e){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(e):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}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)&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const 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){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){const 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){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){const 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){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(i)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const 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?this._modelData.view.getTargetAtClientPoint(e,t):null}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const t=this._modelData.model.validatePosition(e),i=this._configuration.options,n=i.get(146);return{top:GC._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:i.get(67)}}getOffsetForColumn(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(e,t):-1}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents((()=>{this._modelData.view.render(!0,e)}))}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){xh(e,this._configuration.options.get(50))}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)return void(this._modelData=null);const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const i=e.onBeforeAttached(),n=new VC(this._id,this._configuration,e,rb.create(We(this._domElement)),mb.create(this._configuration.options),(e=>nt(We(this._domElement),e)),this.languageConfigurationService,this._themeService,i,{batchChanges:e=>{try{return this._beginUpdate(),e()}finally{this._endUpdate()}}});t.push(e.onWillDispose((()=>this.setModel(null)))),t.push(n.onEvent((t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(t.reachedMaxCursorCount){const e=this.getOption(80),t=$n.kg("cursors.maximum","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.",e);this._notificationService.prompt(yd.Warning,t,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:$n.kg("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const e=[];for(let s=0,o=t.selections.length;s{this._paste("keyboard",e,t,i,n)},type:e=>{this._type("keyboard",e)},compositionType:(e,t,i,n)=>{this._compositionType("keyboard",e,t,i,n)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(e,t,i,n)=>{const s={text:e,pasteOnNewLine:t,multicursorText:i,mode:n};this._commandService.executeCommand("paste",s)},type:e=>{const t={text:e};this._commandService.executeCommand("type",t)},compositionType:(e,t,i,n)=>{if(i||n){const s={text:e,replacePrevCharCnt:t,replaceNextCharCnt:i,positionDelta:n};this._commandService.executeCommand("compositionType",s)}else{const i={text:e,replaceCharCnt:t};this._commandService.executeCommand("replacePreviousChar",i)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const i=new f_(e.coordinatesConverter);i.onKeyDown=e=>this._onKeyDown.fire(e),i.onKeyUp=e=>this._onKeyUp.fire(e),i.onContextMenu=e=>this._onContextMenu.fire(e),i.onMouseMove=e=>this._onMouseMove.fire(e),i.onMouseLeave=e=>this._onMouseLeave.fire(e),i.onMouseDown=e=>this._onMouseDown.fire(e),i.onMouseUp=e=>this._onMouseUp.fire(e),i.onMouseDrag=e=>this._onMouseDrag.fire(e),i.onMouseDrop=e=>this._onMouseDrop.fire(e),i.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),i.onMouseWheel=e=>this._onMouseWheel.fire(e);return[new Yv(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const 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 null!==this._modelData}showDropIndicatorAt(e){const t=[{range:new Js.Q(e.lineNumber,e.column,e.lineNumber,e.column),options:GC.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,0===this._updateCounter&&this._onEndUpdate.fire()}};ZC=GC=QC([YC(3,qn._Y),YC(4,Gn),YC(5,as),YC(6,hs.fN),YC(7,no.Gy),YC(8,Sd),YC(9,$r),YC(10,Wo.JZ),YC(11,xa.ILanguageFeaturesService)],ZC);let XC=0;class JC{constructor(e,t,i,n,s,o){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=n,this.listenersToRemove=s,this.attachedView=o}dispose(){(0,Ae.AS)(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class ew extends Ae.jG{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new P.vl(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new P.vl(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class tw extends P.vl{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class iw extends Ae.jG{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=$s.editorSimpleInput.bindTo(t),this._editorFocus=$s.focus.bindTo(t),this._textInputFocus=$s.textInputFocus.bindTo(t),this._editorTextFocus=$s.editorTextFocus.bindTo(t),this._tabMovesFocus=$s.tabMovesFocus.bindTo(t),this._editorReadonly=$s.readOnly.bindTo(t),this._inDiffEditor=$s.inDiffEditor.bindTo(t),this._editorColumnSelection=$s.columnSelection.bindTo(t),this._hasMultipleSelections=$s.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=$s.hasNonEmptySelection.bindTo(t),this._canUndo=$s.canUndo.bindTo(t),this._canRedo=$s.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(ym.onDidChangeTabFocus((e=>this._tabMovesFocus.set(e)))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(ym.getTabFocusMode()),this._editorReadonly.set(e.get(92)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const 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(){const e=this._editor.getModel();this._canUndo.set(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))}}class nw extends Ae.jG{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=$s.languageId.bindTo(t),this._hasCompletionItemProvider=$s.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=$s.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=$s.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=$s.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=$s.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=$s.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=$s.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=$s.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=$s.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=$s.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=$s.hasReferenceProvider.bindTo(t),this._hasRenameProvider=$s.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=$s.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=$s.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=$s.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=$s.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=$s.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=$s.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=$s.isInEmbeddedEditor.bindTo(t);const n=()=>this._update();this._register(e.onDidChangeModel(n)),this._register(e.onDidChangeModelLanguage(n)),this._register(i.completionProvider.onDidChange(n)),this._register(i.codeActionProvider.onDidChange(n)),this._register(i.codeLensProvider.onDidChange(n)),this._register(i.definitionProvider.onDidChange(n)),this._register(i.declarationProvider.onDidChange(n)),this._register(i.implementationProvider.onDidChange(n)),this._register(i.typeDefinitionProvider.onDidChange(n)),this._register(i.hoverProvider.onDidChange(n)),this._register(i.documentHighlightProvider.onDidChange(n)),this._register(i.documentSymbolProvider.onDidChange(n)),this._register(i.referenceProvider.onDidChange(n)),this._register(i.renameProvider.onDidChange(n)),this._register(i.documentFormattingEditProvider.onDidChange(n)),this._register(i.documentRangeFormattingEditProvider.onDidChange(n)),this._register(i.signatureHelpProvider.onDidChange(n)),this._register(i.inlayHintsProvider.onDidChange(n)),n()}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(){const e=this._editor.getModel();e?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===Pe.ny.walkThroughSnippet||e.uri.scheme===Pe.ny.vscodeChatCodeBlock)})):this.reset()}}class sw extends Ae.jG{constructor(e,t){super(),this._onChange=this._register(new P.vl),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(qt(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus((()=>{this._hasDomElementFocus=!0,this._update()}))),this._register(this._domFocusTracker.onDidBlur((()=>{this._hasDomElementFocus=!1,this._update()}))),t&&(this._overflowWidgetsDomNode=this._register(qt(t)),this._register(this._overflowWidgetsDomNode.onDidFocus((()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()}))),this._register(this._overflowWidgetsDomNode.onDidBlur((()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()}))))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){return this._hadFocus??!1}}class ow{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,i){return this._editor.onDidChangeModelDecorations((i=>{this._isChangingDecorations||e.call(t,i)}),i)}getRange(e){return this._editor.hasModel()?e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e]):null}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const i of this._decorationIds){const n=e.getDecorationRange(i);n&&t.push(n)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){0!==this._decorationIds.length&&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((i=>{t=i.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)}))}finally{this._isChangingDecorations=!1}return t}}const rw=encodeURIComponent("");function lw(e){return rw+encodeURIComponent(e.toString())+aw}const hw=encodeURIComponent('');(0,no.zy)(((e,t)=>{const i=e.getColor(io.Rbi);i&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${lw(i)}") repeat-x bottom left; }`);const n=e.getColor(io.Hng);n&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${lw(n)}") repeat-x bottom left; }`);const s=e.getColor(io.pOz);s&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${lw(s)}") repeat-x bottom left; }`);const o=e.getColor(io.i61);var r;o&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${r=o,hw+encodeURIComponent(r.toString())+dw}") no-repeat bottom left; }`);const a=e.getColor(Xf.yw);a&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${a.rgba.a}; }`)}));class cw{static capture(e){if(0===e.getScrollTop()||e.hasPendingScrollAnimation())return new cw(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,i=0;const n=e.getVisibleRanges();if(n.length>0){t=n[0].getStartPosition();const s=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-s}return new cw(e.getScrollTop(),e.getContentHeight(),t,i,e.getPosition())}constructor(e,t,i,n,s){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=i,this._visiblePositionScrollDelta=n,this._cursorPosition=s}restore(e){if((this._initialContentHeight!==e.getContentHeight()||this._initialScrollTop!==e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+i,1)}}class uw{constructor(){this.lenses=[],this._disposables=new Ae.Cm}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function gw(e,t,i){const n=e.ordered(t),s=new Map,o=new uw,r=n.map((async(e,n)=>{s.set(e,n);try{const n=await Promise.resolve(e.provideCodeLenses(t,i));n&&o.add(n,e)}catch(r){(0,b.M_)(r)}}));return await Promise.all(r),o.lenses=o.lenses.sort(((e,t)=>e.symbol.range.startLineNumbert.symbol.range.startLineNumber?1:s.get(e.provider)s.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0)),o}var pw,mw;ls.registerCommand("_executeCodeLensProvider",(function(e,...t){let[i,n]=t;(0,rs.j)(Hn.r.isUri(i)),(0,rs.j)("number"==typeof n||!n);const{codeLensProvider:s}=e.get(xa.ILanguageFeaturesService),o=e.get(Yn.IModelService).getModel(i);if(!o)throw(0,b.Qg)();const r=[],a=new Ae.Cm;return gw(s,o,sa.XO.None).then((e=>{a.add(e);const t=[];for(const i of e.lenses)null==n||Boolean(i.symbol.command)?r.push(i.symbol):n-- >0&&i.provider.resolveCodeLens&&t.push(Promise.resolve(i.provider.resolveCodeLens(o,i.symbol,sa.XO.None)).then((e=>r.push(e||i.symbol))));return Promise.all(t)})).then((()=>r)).finally((()=>{setTimeout((()=>a.dispose()),100)}))})),function(e){e[e.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",e[e.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"}(pw||(pw={})),function(e){e[e.None=0]="None",e[e.Initialized=1]="Initialized",e[e.Closed=2]="Closed"}(mw||(mw={}));class fw extends Ae.jG{static{this.DEFAULT_FLUSH_DELAY=100}constructor(e,t=Object.create(null)){super(),this.database=e,this.options=t,this._onDidChangeStorage=this._register(new P.fV),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=mw.None,this.cache=new Map,this.flushDelayer=this._register(new A.Th(fw.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((e=>this.onDidChangeItemsExternal(e))))}onDidChangeItemsExternal(e){this._onDidChangeStorage.pause();try{e.changed?.forEach(((e,t)=>this.acceptExternal(t,e))),e.deleted?.forEach((e=>this.acceptExternal(e,void 0)))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===mw.Closed)return;let i=!1;if((0,rs.z)(t))i=this.cache.delete(e);else{this.cache.get(e)!==t&&(this.cache.set(e,t),i=!0)}i&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const i=this.cache.get(e);return(0,rs.z)(i)?t:i}getBoolean(e,t){const i=this.get(e);return(0,rs.z)(i)?t:"true"===i}getNumber(e,t){const i=this.get(e);return(0,rs.z)(i)?t:parseInt(i,10)}async set(e,t,i=!1){if(this.state===mw.Closed)return;if((0,rs.z)(t))return this.delete(e,i);const n=(0,rs.Gv)(t)||Array.isArray(t)?(s=t,JSON.stringify(s,jl)):String(t);var s;return this.cache.get(e)!==n?(this.cache.set(e,n),this.pendingInserts.set(e,n),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:i}),this.doFlush()):void 0}async delete(e,t=!1){if(this.state===mw.Closed)return;return this.cache.delete(e)?(this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()):void 0}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally((()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()}))}async doFlush(e){return this.options.hint===pw.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger((()=>this.flushPending()),e)}}class _w{constructor(){this.onDidChangeItemsExternal=P.Jh.None,this.items=new Map}async updateItems(e){e.insert?.forEach(((e,t)=>this.items.set(t,e))),e.delete?.forEach((e=>this.items.delete(e)))}}const vw="__$__targetStorageMarker",bw=(0,qn.u1)("storageService");var Cw;!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(Cw||(Cw={}));class ww extends Ae.jG{static{this.DEFAULT_FLUSH_INTERVAL=6e4}constructor(e={flushInterval:ww.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new P.fV),this._onDidChangeTarget=this._register(new P.fV),this._onWillSaveState=this._register(new P.vl),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,i){return P.Jh.filter(this._onDidChangeValue.event,(i=>i.scope===e&&(void 0===t||i.key===t)),i)}emitDidChangeValue(e,t){const{key:i,external:n}=t;if(i===vw){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:i,target:this.getKeyTargets(e)[i],external:n})}get(e,t,i){return this.getStorage(t)?.get(e,i)}getBoolean(e,t,i){return this.getStorage(t)?.getBoolean(e,i)}getNumber(e,t,i){return this.getStorage(t)?.getNumber(e,i)}store(e,t,i,n,s=!1){(0,rs.z)(t)?this.remove(e,i,s):this.withPausedEmitters((()=>{this.updateKeyTarget(e,i,n),this.getStorage(i)?.set(e,t,s)}))}remove(e,t,i=!1){this.withPausedEmitters((()=>{this.updateKeyTarget(e,t,void 0),this.getStorage(t)?.delete(e,i)}))}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,i,n=!1){const s=this.getKeyTargets(t);"number"==typeof i?s[e]!==i&&(s[e]=i,this.getStorage(t)?.set(vw,JSON.stringify(s),n)):"number"==typeof s[e]&&(delete s[e],this.getStorage(t)?.set(vw,JSON.stringify(s),n))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?function(e){const t=e.get(vw);if(t)try{return JSON.parse(t)}catch(i){}return Object.create(null)}(t):Object.create(null)}}var yw=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Sw=function(e,t){return function(i,n){t(i,n,e)}};const kw=(0,qn.u1)("ICodeLensCache");class Lw{constructor(e,t){this.lineCount=e,this.data=t}}let xw=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new ki.qK(20,.75);et(o,(()=>e.remove("codelens/cache",1)));const t="codelens/cache2",i=e.get(t,1,"{}");this._deserialize(i);const n=P.Jh.filter(e.onWillSaveState,(e=>e.reason===Cw.SHUTDOWN));P.Jh.once(n)((i=>{e.store(t,this._serialize(),1,1)}))}put(e,t){const i=t.lenses.map((e=>({range:e.symbol.range,command:e.symbol.command&&{id:"",title:e.symbol.command?.title}}))),n=new uw;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new Lw(e.getLineCount(),n);this._cache.set(e.uri.toString(),s)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const n=new Set;for(const e of i.data.lenses)n.add(e.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...n.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const e in t){const i=t[e],n=[];for(const e of i.lines)n.push({range:new Js.Q(e,1,e,11)});const s=new uw;s.add({lenses:n,dispose(){}},this._fakeProvider),this._cache.set(e,new Lw(i.lineCount,s))}}catch{}}};xw=yw([Sw(0,bw)],xw),(0,ul.v)(kw,xw,1);class Dw{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class Nw{static{this._idPool=0}constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-"+Nw._idPool++,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let n=!1;for(let s=0;s{e.symbol.command&&a.push(e.symbol),i.addDecoration({range:e.symbol.range,options:Ew},(e=>this._decorationIds[t]=e)),r=r?Js.Q.plusRange(r,e.symbol.range):Js.Q.lift(e.symbol.range)})),this._viewZone=new Dw(r.startLineNumber-1,s,o),this._viewZoneId=n.addZone(this._viewZone),a.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(a,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new Nw(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t?.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some(((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),n=this._data[t].symbol;return!(!i||Js.Q.isEmpty(n.range)!==i.isEmpty())}))}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach(((e,i)=>{t.addDecoration({range:e.symbol.range,options:Ew},(e=>this._decorationIds[i]=e))}))}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Aw=function(e,t){return function(i,n){t(i,n,e)}};let Pw=class{static{this.ID="css.editor.codeLens"}constructor(e,t,i,n,s,o){this._editor=e,this._languageFeaturesService=t,this._commandService=n,this._notificationService=s,this._codeLensCache=o,this._disposables=new Ae.Cm,this._localToDispose=new Ae.Cm,this._lenses=[],this._oldCodeLensModels=new Ae.Cm,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new A.uC((()=>this._resolveCodeLensesInViewport()),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{(e.hasChanged(50)||e.hasChanged(19)||e.hasChanged(18))&&this._updateLensStyle(),e.hasChanged(17)&&this._onModelChange()}))),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),this._currentCodeLensModel?.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=.9*this._editor.getOption(52)|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),n=this._editor.getOption(50),{style:s}=this._editor.getContainerDomNode();s.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),s.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),s.setProperty("--vscode-editorCodeLens-fontFeatureSettings",n.fontFeatureSettings),i&&(s.setProperty("--vscode-editorCodeLens-fontFamily",i),s.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Ec.fontFamily)),this._editor.changeViewZones((t=>{for(const i of this._lenses)i.updateHeight(e,t)}))}_localDispose(){this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=void 0,this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),this._currentCodeLensModel?.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e)return;if(!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e))return void(t&&(0,A.EQ)((()=>{const i=this._codeLensCache.get(e);t===i&&(this._codeLensCache.delete(e),this._onModelChange())}),3e4,this._localToDispose));for(const n of this._languageFeaturesService.codeLensProvider.all(e))if("function"==typeof n.onDidChange){const e=n.onDidChange((()=>i.schedule()));this._localToDispose.add(e)}const i=new A.uC((()=>{const t=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=(0,A.SS)((t=>gw(this._languageFeaturesService.codeLensProvider,e,t))),this._getCodeLensModelPromise.then((n=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=n,this._codeLensCache.put(e,n);const s=this._provideCodeLensDebounce.update(e,Date.now()-t);i.delay=s,this._renderCodeLensSymbols(n),this._resolveCodeLensesInViewportSoon()}),b.dz)}),this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add((0,Ae.s)((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const i=[];let n=-1;this._lenses.forEach((e=>{e.isValid()&&n!==e.getLineNumber()?(e.update(t),n=e.getLineNumber()):i.push(e)}));const s=new Iw;i.forEach((e=>{e.dispose(s,t),this._lenses.splice(this._lenses.indexOf(e),1)})),s.commit(e)}))})),i.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0}))),this._localToDispose.add(this._editor.onDidFocusEditorText((()=>{i.schedule()}))),this._localToDispose.add(this._editor.onDidBlurEditorText((()=>{i.cancel()}))),this._localToDispose.add(this._editor.onDidScrollChange((e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add((0,Ae.s)((()=>{if(this._editor.getModel()){const e=cw.capture(this._editor);this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{this._disposeAllLenses(e,t)}))})),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((e=>{if(9!==e.target.type)return;let t=e.target.element;if("SPAN"===t?.tagName&&(t=t.parentElement),"A"===t?.tagName)for(const i of this._lenses){const e=i.getCommand(t);if(e){this._commandService.executeCommand(e.id,...e.arguments||[]).catch((e=>this._notificationService.error(e)));break}}}))),i.schedule()}_disposeAllLenses(e,t){const i=new Iw;for(const n of this._lenses)n.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let n;for(const r of e.lenses){const e=r.symbol.range.startLineNumber;e<1||e>t||(n&&n[n.length-1].symbol.range.startLineNumber===e?n.push(r):(n=[r],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=cw.capture(this._editor),o=this._getLayoutInfo();this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const n=new Iw;let s=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),s++,r++)}for(;sthis._resolveCodeLensesInViewportSoon()))),r++;n.commit(e)}))})),s.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach((n=>{const s=n.computeIfNecessary(e);s&&(t.push(s),i.push(n))})),0===t.length)return;const n=Date.now(),s=(0,A.SS)((n=>{const s=t.map(((t,s)=>{const o=new Array(t.length),r=t.map(((t,i)=>t.symbol.command||"function"!=typeof t.provider.resolveCodeLens?(o[i]=t.symbol,Promise.resolve(void 0)):Promise.resolve(t.provider.resolveCodeLens(e,t.symbol,n)).then((e=>{o[i]=e}),b.M_)));return Promise.all(r).then((()=>{n.isCancellationRequested||i[s].isDisposed()||i[s].updateCommands(o)}))}));return Promise.all(s)}));this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then((()=>{const t=this._resolveCodeLensesDebounce.update(e,Date.now()-n);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(e=>{(0,b.dz)(e),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,this._currentCodeLensModel?.isDisposed?void 0:this._currentCodeLensModel}};Pw=Rw([Aw(1,xa.ILanguageFeaturesService),Aw(2,Tw.ILanguageFeatureDebounceService),Aw(3,as),Aw(4,Sd),Aw(5,kw)],Pw),Hs(Pw.ID,Pw,1),Ws(class extends Rs{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:$s.hasCodeLensProvider,label:(0,$n.kg)("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(ed),n=e.get(as),s=e.get(Sd),o=t.getSelection().positionLineNumber,r=t.getContribution(Pw.ID);if(!r)return;const a=await r.getModel();if(!a)return;const l=[];for(const u of a.lenses)u.symbol.command&&u.symbol.range.startLineNumber===o&&l.push({label:u.symbol.command.title,command:u.symbol.command});if(0===l.length)return;const h=await i.pick(l,{canPickMany:!1,placeHolder:(0,$n.kg)("placeHolder","Select a command")});if(!h)return;let d=h.command;if(a.isDisposed){const e=await r.getModel(),t=e?.lenses.find((e=>e.symbol.range.startLineNumber===o&&e.symbol.command?.title===d.title));if(!t||!t.symbol.command)return;d=t.symbol.command}try{await n.executeCommand(d.id,...d.arguments||[])}catch(c){s.error(c)}}});const Ow=[];function Fw(e){Ow.push(e)}function Ww(){return Ow.slice(0)}var Bw=i(90304),Hw=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Vw=function(e,t){return function(i,n){t(i,n,e)}};let zw=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const n=t.range,s=t.color,o=s.alpha,r=new dd.Q1(new dd.bU(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),o)),a=o?dd.Q1.Format.CSS.formatRGB(r):dd.Q1.Format.CSS.formatRGBA(r),l=o?dd.Q1.Format.CSS.formatHSL(r):dd.Q1.Format.CSS.formatHSLA(r),h=o?dd.Q1.Format.CSS.formatHex(r):dd.Q1.Format.CSS.formatHexA(r),d=[];return d.push({label:a,textEdit:{range:n,text:a}}),d.push({label:l,textEdit:{range:n,text:l}}),d.push({label:h,textEdit:{range:n,text:h}}),d}};zw=Hw([Vw(0,Bw.IEditorWorkerService)],zw);let Uw=class extends Ae.jG{constructor(e,t){super(),this._register(e.colorProvider.register("*",new zw(t)))}};async function Kw(e,t,i,n=!0){return Qw(new $w,e,t,i,n)}function jw(e,t,i,n){return Promise.resolve(i.provideColorPresentations(e,t,n))}Uw=Hw([Vw(0,xa.ILanguageFeaturesService),Vw(1,Bw.IEditorWorkerService)],Uw),Fw(Uw);class $w{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const o of s)n.push({colorInfo:o,provider:e});return Array.isArray(s)}}class qw{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const o of s)n.push({range:o.range,color:[o.color.red,o.color.green,o.color.blue,o.color.alpha]});return Array.isArray(s)}}class Gw{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,sa.XO.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function Qw(e,t,i,n,s){let o,r=!1;const a=[],l=t.ordered(i);for(let d=l.length-1;d>=0;d--){const t=l[d];if(t instanceof zw)o=t;else try{await e.compute(t,i,n,a)&&(r=!0)}catch(h){(0,b.M_)(h)}}return r?a:o&&s?(await e.compute(o,i,n,a),a):[]}function Yw(e,t){const{colorProvider:i}=e.get(xa.ILanguageFeaturesService),n=e.get(Yn.IModelService).getModel(t);if(!n)throw(0,b.Qg)();return{model:n,colorProviderRegistry:i,isDefaultColorDecoratorsEnabled:e.get(Wp.pG).getValue("editor.defaultColorDecorators",{resource:t})}}ls.registerCommand("_executeDocumentColorProvider",(function(e,...t){const[i]=t;if(!(i instanceof Hn.r))throw(0,b.Qg)();const{model:n,colorProviderRegistry:s,isDefaultColorDecoratorsEnabled:o}=Yw(e,i);return Qw(new qw,s,n,sa.XO.None,o)})),ls.registerCommand("_executeColorPresentationProvider",(function(e,...t){const[i,n]=t,{uri:s,range:o}=n;if(!(s instanceof Hn.r&&Array.isArray(i)&&4===i.length&&Js.Q.isIRange(o)))throw(0,b.Qg)();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:l}=Yw(e,s),[h,d,c,u]=i;return Qw(new Gw({range:o,color:{red:h,green:d,blue:c,alpha:u}}),a,r,sa.XO.None,l)}));var Zw,Xw=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Jw=function(e,t){return function(i,n){t(i,n,e)}};const ey=Object.create({});let ty=class extends Ae.jG{static{Zw=this}static{this.ID="editor.contrib.colorDetector"}static{this.RECOMPUTE_TIME=1e3}constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Ae.Cm),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new Vm(this._editor),this._decoratorLimitReporter=new iy,this._colorDecorationClassRefs=this._register(new Ae.Cm),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:Zw.RECOMPUTE_TIME}),this._register(e.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()}))),this._register(e.onDidChangeModelLanguage((()=>this.updateColors()))),this._register(i.colorProvider.onDidChange((()=>this.updateColors()))),this._register(e.onDidChangeConfiguration((e=>{const t=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const i=t!==this._isColorDecoratorsEnabled||e.hasChanged(21),n=e.hasChanged(148);(i||n)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&"object"==typeof i){const e=i.colorDecorators;if(e&&void 0!==e.enable&&!e.enable)return e.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();e&&this._languageFeaturesService.colorProvider.has(e)&&(this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._timeoutTimer||(this._timeoutTimer=new A.pc,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(e)))}))),this.beginCompute())}async beginCompute(){this._computePromise=(0,A.SS)((async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Vp.W(!1),n=await Kw(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),n}));try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){(0,b.dz)(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map((e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:to.kI.EMPTY})));this._editor.changeDecorations((i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach(((t,i)=>this._colorDatas.set(t,e[i])))}))}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let s=0;sthis._colorDatas.has(e.id)));return 0===i.length?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};ty=Zw=Xw([Jw(1,Wp.pG),Jw(2,xa.ILanguageFeaturesService),Jw(3,Tw.ILanguageFeatureDebounceService)],ty);class iy{constructor(){this._onDidChange=new P.vl,this._computed=0,this._limited=!1}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}Hs(ty.ID,ty,1);class ny{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new P.vl,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new P.vl,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new P.vl,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let n=0;n{this.backgroundColor=e.getColor(io.WfR)||dd.Q1.white}))),this._register(Ye(this._pickedColorNode,Ut.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(Ye(this._originalColorNode,Ut.CLICK,(()=>{this.model.color=this.model.originalColor,this.model.flushColor()}))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=dd.Q1.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new ry(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=dd.Q1.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class ry extends Ae.jG{constructor(e){super(),this._onClicked=this._register(new P.vl),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Gt(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),Gt(this._button,t);Gt(t,sy(".button"+En.L.asCSSSelector(fu("color-picker-close",bl.W.close,(0,$n.kg)("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Ye(this._button,Ut.CLICK,(()=>{this._onClicked.fire()})))}}class ay extends Ae.jG{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=sy(".colorpicker-body"),Gt(e,this._domNode),this._saturationBox=new ly(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new dy(this._domNode,this.model,n),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new cy(this._domNode,this.model,n),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),n&&(this._insertButton=this._register(new uy(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new dd.Q1(new dd.$J(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new dd.Q1(new dd.$J(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=360*(1-e);this.model.color=new dd.Q1(new dd.$J(360===i?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class ly extends Ae.jG{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new P.vl,this.onColorFlushed=this._onColorFlushed.event,this._domNode=sy(".saturation-wrap"),Gt(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Gt(this._domNode,this._canvas),this.selection=sy(".saturation-selection"),Gt(this._domNode,this.selection),this.layout(),this._register(Ye(this._domNode,Ut.POINTER_DOWN,(e=>this.onPointerDown(e)))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!(e.target&&e.target instanceof Element))return;this.monitor=this._register(new Pu);const t=ct(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top)),(()=>null));const i=Ye(e.target.ownerDocument,Ut.POINTER_UP,(()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,n),this._onDidChange.fire({s:i,v:n})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new dd.Q1(new dd.$J(e.h,1,1,1)),i=this._canvas.getContext("2d"),n=i.createLinearGradient(0,0,this._canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=dd.Q1.Format.CSS.format(t),i.fill(),i.fillStyle=n,i.fill(),i.fillStyle=s,i.fill()}paintSelection(e,t){this.selection.style.left=e*this.width+"px",this.selection.style.top=this.height-t*this.height+"px"}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class hy extends Ae.jG{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new P.vl,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=Gt(e,sy(".standalone-strip")),this.overlay=Gt(this.domNode,sy(".standalone-overlay"))):(this.domNode=Gt(e,sy(".strip")),this.overlay=Gt(this.domNode,sy(".overlay"))),this.slider=Gt(this.domNode,sy(".slider")),this.slider.style.top="0px",this._register(Ye(this.domNode,Ut.POINTER_DOWN,(e=>this.onPointerDown(e)))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._register(new Pu),i=ct(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangeTop(e.pageY-i.top)),(()=>null));const n=Ye(e.target.ownerDocument,Ut.POINTER_UP,(()=>{this._onColorFlushed.fire(),n.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")}),!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=(1-e)*this.height+"px"}}class dy extends hy{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:n}=e.rgba,s=new dd.Q1(new dd.bU(t,i,n,1)),o=new dd.Q1(new dd.bU(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${o} 100%)`}getValue(e){return e.hsva.a}}class cy extends hy{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class uy extends Ae.jG{constructor(e){super(),this._onClicked=this._register(new P.vl),this.onClicked=this._onClicked.event,this._button=Gt(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Ye(this._button,Ut.CLICK,(()=>{this._onClicked.fire()})))}get button(){return this._button}}class gy extends Ou{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(lm.getInstance(We(e)).onDidChange((()=>this.layout()))),this._domNode=sy(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new oy(this._domNode,this.model,n,s)),this.body=this._register(new ay(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class py{constructor(e,t,i,n){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=n,this.type=1}equals(e){return 1===e.type&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return 1===e.type&&t.lineNumber===this.range.startLineNumber}}class my{constructor(e,t,i,n,s,o){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=n,this.initialMousePosY=s,this.supportsMarkerHover=o,this.type=2}equals(e){return 2===e.type&&this.owner===e.owner}canAdoptVisibleHover(e,t){return 2===e.type&&this.owner===e.owner}}class fy{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const _y=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var vy=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},by=function(e,t){return function(i,n){t(i,n,e)}};class Cy{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let wy=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return A.AE.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=ty.get(this._editor);if(!n)return[];for(const s of t){if(!n.isColorDecoration(s))continue;const e=n.getColorData(s.range.getStartPosition());if(e){return[await ky(this,this._editor.getModel(),e.colorInfo,e.provider)]}}return[]}renderHoverParts(e,t){const i=Ly(this,this._editor,this._themeService,t,e);if(!i)return new fy([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new fy([n])}handleResize(){this._colorPicker?.layout()}isColorPickerVisible(){return!!this._colorPicker}};wy=vy([by(1,no.Gy)],wy);class yy{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Sy=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel())return null;if(!ty.get(this._editor))return null;const n=await Kw(i,this._editor.getModel(),sa.XO.None);let s=null,o=null;for(const h of n){const t=h.colorInfo;Js.Q.containsRange(t.range,e.range)&&(s=t,o=h.provider)}const r=s??e,a=o??t,l=!!s;return{colorHover:await ky(this,this._editor.getModel(),r,a),foundInEditor:l}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new Js.Q(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await Dy(this._editor.getModel(),t,this._color,i,e),i=xy(this._editor,i,t))}renderHoverParts(e,t){return Ly(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};async function ky(e,t,i,n){const s=t.getValueInRange(i.range),{red:o,green:r,blue:a,alpha:l}=i.color,h=new dd.bU(Math.round(255*o),Math.round(255*r),Math.round(255*a),l),d=new dd.Q1(h),c=await jw(t,i,n,sa.XO.None),u=new ny(d,[],0);return u.colorPresentations=c||[],u.guessColorPresentation(d,s),e instanceof wy?new Cy(e,Js.Q.lift(i.range),u,n):new yy(e,Js.Q.lift(i.range),u,n)}function Ly(e,t,i,n,s){if(0===n.length||!t.hasModel())return;if(s.setMinimumDimensions){const e=t.getOption(67)+8;s.setMinimumDimensions(new ht(302,e))}const o=new Ae.Cm,r=n[0],a=t.getModel(),l=r.model,h=o.add(new gy(s.fragment,l,t.getOption(144),i,e instanceof Sy));let d=!1,c=new Js.Q(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(e instanceof Sy){const t=r.model.color;e.color=t,Dy(a,l,t,c,r),o.add(l.onColorFlushed((t=>{e.color=t})))}else o.add(l.onColorFlushed((async e=>{await Dy(a,l,e,c,r),d=!0,c=xy(t,c,l)})));return o.add(l.onDidChangeColor((e=>{Dy(a,l,e,c,r)}))),o.add(t.onDidChangeModelContent((e=>{d?d=!1:(s.hide(),t.focus())}))),{hoverPart:r,colorPicker:h,disposables:o}}function xy(e,t,i){const n=[],s=i.presentation.textEdit??{range:t,text:i.presentation.label,forceMoveMarkers:!1};n.push(s),i.presentation.additionalTextEdits&&n.push(...i.presentation.additionalTextEdits);const o=Js.Q.lift(s.range),r=e.getModel()._setTrackedRange(null,o,3);return e.executeEdits("colorpicker",n),e.pushUndoStop(),e.getModel()._getTrackedRange(r)??o}async function Dy(e,t,i,n,s){const o=await jw(e,{range:n,color:{red:i.rgba.r/255,green:i.rgba.g/255,blue:i.rgba.b/255,alpha:i.rgba.a}},s.provider,sa.XO.None);t.colorPresentations=o||[]}Sy=vy([by(1,no.Gy)],Sy);const Ny="editor.action.showHover",Iy="editor.action.increaseHoverVerbosityLevel",Ey=$n.kg({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),My="editor.action.decreaseHoverVerbosityLevel",Ty=$n.kg({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level");var Ry=i(18366);const Ay="editor.action.inlineSuggest.commit",Py="editor.action.inlineSuggest.showPrevious",Oy="editor.action.inlineSuggest.showNext";class Fy extends Jn{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new P.vl),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=Gt(e,ei(".monaco-dropdown")),this._label=Gt(this._element,ei(".dropdown-label"));let i=t.labelRenderer;i||(i=e=>(e.textContent=t.label||"",null));for(const s of[Ut.CLICK,Ut.MOUSE_DOWN,id.Tap])this._register(Ye(this.element,s,(e=>jt(e,!0))));for(const s of[Ut.MOUSE_DOWN,id.Tap])this._register(Ye(this._label,s,(e=>{Vt(e)&&(e.detail>1||0!==e.button)||(this.visible?this.hide():this.show())})));this._register(Ye(this._label,Ut.KEY_UP,(e=>{const t=new N(e);(t.equals(3)||t.equals(10))&&(jt(e,!0),this.visible?this.hide():this.show())})));const n=i(this._label);n&&this._register(n),this._register(sd.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class Wy extends Fy{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class By extends Zg{constructor(e,t,i,n=Object.create(null)){super(null,e,n),this.actionItem=null,this._onDidChangeVisibility=this._register(new P.vl),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=n,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=Array.isArray(this.menuActionsOrProvider),i={contextMenuProvider:this.contextMenuProvider,labelRenderer:e=>{this.element=Gt(e,ei("a.action-label"));let t=[];return"string"==typeof this.options.classNames?t=this.options.classNames.split(/\s+/g).filter((e=>!!e)):this.options.classNames&&(t=this.options.classNames),t.find((e=>"icon"===e))||t.push("codicon"),this.element.classList.add(...t),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(ud().setupManagedHover(this.options.hoverDelegate??ld("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},menuAsChild:this.options.menuAsChild,actions:t?this.menuActionsOrProvider:void 0,actionProvider:t?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new Wy(e,i)),this._register(this.dropdownMenu.onDidChangeVisibility((e=>{this.element?.setAttribute("aria-expanded",`${e}`),this._onDidChangeVisibility.fire(e)}))),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const e=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return e.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),e??void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){this.dropdownMenu?.show()}updateEnabled(){const e=!this.action.enabled;this.actionItem?.classList.toggle("disabled",e),this.element?.classList.toggle("disabled",e)}}var Hy=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Vy=function(e,t){return function(i,n){t(i,n,e)}};function zy(e,t,i,n,s,o){let r,a,l,h,d;if(Array.isArray(e))d=e,r=t,a=i,l=n,h=s;else{const c=t;d=e.getActions(c),r=i,a=n,l=s,h=o}Uy(d,r,!1,"string"==typeof a?e=>e===a:a,l,h)}function Uy(e,t,i,n=e=>"navigation"===e,s=()=>!1,o=!1){let r,a;Array.isArray(t)?(r=t,a=t):(r=t.primary,a=t.secondary);const l=new Set;for(const[h,d]of e){let e;n(h)?(e=r,e.length>0&&o&&e.push(new es)):(e=a,e.length>0&&e.push(new es));for(let t of d){i&&(t=t instanceof Ss&&t.alt?t.alt:t);const n=e.push(t);t instanceof ts&&l.add({group:h,action:t,index:n-1})}}for(const{group:h,action:d,index:c}of l){const e=n(h)?r:a,t=d.actions;s(d,h,e.length)&&e.splice(c,1,...t)}}let Ky=class extends Xg{constructor(e,t,i,n,s,o,r,a){super(void 0,e,{icon:!(!e.class&&!e.item.icon),label:!e.class&&!e.item.icon,draggable:t?.draggable,keybinding:t?.keybinding,hoverDelegate:t?.hoverDelegate}),this._options=t,this._keybindingService=i,this._notificationService=n,this._contextKeyService=s,this._themeService=o,this._contextMenuService=r,this._accessibilityService=a,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new Ae.HE),this._altKey=hi.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const i=()=>{const e=!!this._menuItemAction.alt?.enabled&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);e!==this._wantsAltCommand&&(this._wantsAltCommand=e,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(i)),this._register(Ye(e,"mouseleave",(e=>{t=!1,i()}))),this._register(Ye(e,"mouseenter",(e=>{t=!0,i()}))),i()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){const e=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),t=e&&e.getLabel(),i=this._commandAction.tooltip||this._commandAction.label;let n=t?(0,$n.kg)("titleAndKb","{0} ({1})",i,t):i;if(!this._wantsAltCommand&&this._menuItemAction.alt?.enabled){const e=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,t=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),i=t&&t.getLabel(),s=i?(0,$n.kg)("titleAndKb","{0} ({1})",e,i):e;n=(0,$n.kg)("titleAndKbAndAlt","{0}\n[{1}] {2}",n,ip.modifierLabels[f.OS].altKey,s)}return n}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const n=this._commandAction.checked&&((s=e.toggled)&&void 0!==s.condition)&&e.toggled.icon?e.toggled.icon:e.icon;var s;if(n)if(En.L.isThemeIcon(n)){const e=En.L.asClassNameArray(n);i.classList.add(...e),this._itemClassDispose.value=(0,Ae.s)((()=>{i.classList.remove(...e)}))}else i.style.backgroundImage=(0,Hp.HD)(this._themeService.getColorTheme().type)?oi(n.dark):oi(n.light),i.classList.add("icon"),this._itemClassDispose.value=(0,Ae.qE)((0,Ae.s)((()=>{i.style.backgroundImage="",i.classList.remove("icon")})),this._themeService.onDidColorThemeChange((()=>{this.updateClass()})))}};Ky=Hy([Vy(2,Cd),Vy(3,Sd),Vy(4,hs.fN),Vy(5,no.Gy),Vy(6,bd),Vy(7,$r)],Ky);class jy extends Ky{render(e){this.options.label=!0,this.options.icon=!1,super.render(e),e.classList.add("text-only"),e.classList.toggle("use-comma",this._options?.useComma??!1)}updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=jy._symbolPrintEnter(e);this._options?.conversational?this.label.textContent=(0,$n.kg)({key:"content2",comment:['A label with keybindg like "ESC to dismiss"']},"{1} to {0}",this._action.label,t):this.label.textContent=(0,$n.kg)({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,t)}}static _symbolPrintEnter(e){return e.getLabel()?.replace(/\benter\b/gi,"\u23ce").replace(/\bEscape\b/gi,"Esc")}}let $y=class extends By{constructor(e,t,i,n,s){const o={...t,menuAsChild:t?.menuAsChild??!1,classNames:t?.classNames??(En.L.isThemeIcon(e.item.icon)?En.L.asClassName(e.item.icon):void 0),keybindingProvider:t?.keybindingProvider??(e=>i.lookupKeybinding(e.id))};super(e,{getActions:()=>e.actions},n,o),this._keybindingService=i,this._contextMenuService=n,this._themeService=s}render(e){super.render(e),(0,rs.j)(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!En.L.isThemeIcon(i)){this.element.classList.add("icon");const e=()=>{this.element&&(this.element.style.backgroundImage=(0,Hp.HD)(this._themeService.getColorTheme().type)?oi(i.dark):oi(i.light))};e(),this._register(this._themeService.onDidColorThemeChange((()=>{e()})))}}};$y=Hy([Vy(2,Cd),Vy(3,bd),Vy(4,no.Gy)],$y);let qy=class extends Zg{constructor(e,t,i,n,s,o,r,a){let l;super(null,e),this._keybindingService=i,this._notificationService=n,this._contextMenuService=s,this._menuService=o,this._instaService=r,this._storageService=a,this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;const h=t?.persistLastActionId?a.get(this._storageKey,1):void 0;h&&(l=e.actions.find((e=>h===e.id))),l||(l=e.actions[0]),this._defaultAction=this._instaService.createInstance(Ky,l,{keybinding:this._getDefaultActionKeybindingLabel(l)});const d={keybindingProvider:e=>this._keybindingService.lookupKeybinding(e.id),...t,menuAsChild:t?.menuAsChild??!0,classNames:t?.classNames??["codicon","codicon-chevron-down"],actionRunner:t?.actionRunner??new Jn};this._dropdown=new By(e,e.actions,this._contextMenuService,d),this._register(this._dropdown.actionRunner.onDidRun((e=>{e.action instanceof Ss&&this.update(e.action)})))}update(e){this._options?.persistLastActionId&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(Ky,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends Jn{async runAction(e,t){await e.run(void 0)}},this._container&&this._defaultAction.render(Qt(this._container,ei(".action-container")))}_getDefaultActionKeybindingLabel(e){let t;if(this._options?.renderKeybindingWithDefaultActionLabel){const i=this._keybindingService.lookupKeybinding(e.id);i&&(t=`(${i.getLabel()})`)}return t}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=ei(".action-container");this._defaultAction.render(Gt(this._container,t)),this._register(Ye(t,Ut.KEY_DOWN,(e=>{const t=new N(e);t.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),t.stopPropagation())})));const i=ei(".dropdown-action-container");this._dropdown.render(Gt(this._container,i)),this._register(Ye(i,Ut.KEY_DOWN,(e=>{const t=new N(e);t.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),this._defaultAction.element?.focus(),t.stopPropagation())})))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};qy=Hy([Vy(2,Cd),Vy(3,Sd),Vy(4,bd),Vy(5,bs),Vy(6,qn._Y),Vy(7,bw)],qy);let Gy=class extends Jg{constructor(e,t){super(null,e,e.actions.map((e=>({text:e.id===es.ID?"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500":e.label,isDisabled:!e.enabled}))),0,t,bp,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex((e=>e.checked))))}render(e){super.render(e),e.style.borderColor=(0,io.GuP)(io.HcB)}runAction(e,t){const i=this.action.actions[t];i&&this.actionRunner.run(i)}};function Qy(e,t,i){return t instanceof Ss?e.createInstance(Ky,t,i):t instanceof ys?t.item.isSelection?e.createInstance(Gy,t):t.item.rememberDefaultAction?e.createInstance(qy,t,{...i,persistLastActionId:!0}):e.createInstance($y,t,i):void 0}Gy=Hy([Vy(1,vd)],Gy);class Yy extends Ae.jG{constructor(e,t,i={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new P._B),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new Ae.Cm),i.hoverDelegate=i.hoverDelegate??this._register(hd()),this.options=i,this.toggleMenuAction=this._register(new Zy((()=>this.toggleMenuActionViewItem?.show()),i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new ep(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(e,n)=>{if(e.id===Zy.ID)return this.toggleMenuActionViewItem=new By(e,e.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:En.L.asClassNameArray(i.moreIcon??bl.W.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const t=i.actionViewItemProvider(e,n);if(t)return t}if(e instanceof ts){const i=new By(e,e.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:e.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return i.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(i),this.disposables.add(this._onDidChangeDropdownVisibility.add(i.onDidChangeVisibility)),i}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach((e=>{this.actionBar.push(e,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(e)})}))}getKeybindingLabel(e){const t=this.options.getKeyBinding?.(e);return t?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class Zy extends Xn{static{this.ID="toolbar.toggle.more"}constructor(e,t){t=t||$n.kg("moreActions","More Actions..."),super(Zy.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}var Xy,Jy,eS=i(88436),tS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},iS=function(e,t){return function(i,n){t(i,n,e)}};let nS=class{constructor(e,t,i){this._commandService=e,this._keybindingService=t,this._hiddenStates=new sS(i)}createMenu(e,t,i){return new aS(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t)}getMenuActions(e,t,i){const n=new aS(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t),s=n.getActions(i);return n.dispose(),s}resetHiddenStates(e){this._hiddenStates.reset(e)}};nS=tS([iS(0,as),iS(1,Cd),iS(2,bw)],nS);let sS=class{static{Xy=this}static{this._key="menu.hiddenCommands"}constructor(e){this._storageService=e,this._disposables=new Ae.Cm,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(Xy._key,0,"{}");this._data=JSON.parse(t)}catch(t){this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,Xy._key,this._disposables)((()=>{if(!this._ignoreChangeEvent)try{const t=e.get(Xy._key,0,"{}");this._data=JSON.parse(t)}catch(t){console.log("FAILED to read storage after UPDATE",t)}this._onDidChange.fire()})))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){return this._hiddenByDefaultCache.get(`${e.id}/${t}`)??!1}setDefaultState(e,t,i){this._hiddenByDefaultCache.set(`${e.id}/${t}`,i)}isHidden(e,t){const i=this._isHiddenByDefault(e,t),n=this._data[e.id]?.includes(t)??!1;return i?!n:n}updateHidden(e,t,i){this._isHiddenByDefault(e,t)&&(i=!i);const n=this._data[e.id];if(i)if(n){n.indexOf(t)<0&&n.push(t)}else this._data[e.id]=[t];else if(n){const i=n.indexOf(t);i>=0&&(0,na.UH)(n,i),0===n.length&&delete this._data[e.id]}this._persist()}reset(e){if(void 0===e)this._data=Object.create(null),this._persist();else{for(const{id:t}of e)this._data[t]&&delete this._data[t];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const e=JSON.stringify(this._data);this._storageService.store(Xy._key,e,0,0)}finally{this._ignoreChangeEvent=!1}}};sS=Xy=tS([iS(0,bw)],sS);class oS{constructor(e,t){this._id=e,this._collectContextKeysForSubmenus=t,this._menuGroups=[],this._allMenuIds=new Set,this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get allMenuIds(){return this._allMenuIds}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._allMenuIds.clear(),this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const e=this._sort(ws.getMenuItems(this._id));let t;for(const i of e){const e=i.group||"";t&&t[0]===e||(t=[e,[]],this._menuGroups.push(t)),t[1].push(i),this._collectContextKeysAndSubmenuIds(i)}this._allMenuIds.add(this._id)}_sort(e){return e}_collectContextKeysAndSubmenuIds(e){if(oS._fillInKbExprKeys(e.when,this._structureContextKeys),_s(e)){if(e.command.precondition&&oS._fillInKbExprKeys(e.command.precondition,this._preconditionContextKeys),e.command.toggled){const t=e.command.toggled.condition||e.command.toggled;oS._fillInKbExprKeys(t,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&(ws.getMenuItems(e.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(e.submenu))}static _fillInKbExprKeys(e,t){if(e)for(const i of e.keys())t.add(i)}}let rS=Jy=class extends oS{constructor(e,t,i,n,s,o){super(e,i),this._hiddenStates=t,this._commandService=n,this._keybindingService=s,this._contextKeyService=o,this.refresh()}createActionGroups(e){const t=[];for(const i of this._menuGroups){const[n,s]=i;let o;for(const t of s)if(this._contextKeyService.contextMatchesRules(t.when)){const i=_s(t);i&&this._hiddenStates.setDefaultState(this._id,t.command.id,!!t.isHiddenByDefault);const n=lS(this._id,i?t.command:t,this._hiddenStates);if(i){const i=hS(this._commandService,this._keybindingService,t.command.id,t.when);(o??=[]).push(new Ss(t.command,t.alt,e,n,i,this._contextKeyService,this._commandService))}else{const i=new Jy(t.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(e),s=es.join(...i.map((e=>e[1])));s.length>0&&(o??=[]).push(new ys(t,n,s))}}o&&o.length>0&&t.push([n,o])}return t}_sort(e){return e.sort(Jy._compareMenuItems)}static _compareMenuItems(e,t){const i=e.group,n=t.group;if(i!==n){if(!i)return 1;if(!n)return-1;if("navigation"===i)return-1;if("navigation"===n)return 1;const e=i.localeCompare(n);if(0!==e)return e}const s=e.order||0,o=t.order||0;return so?1:Jy._compareTitles(_s(e)?e.command.title:e.title,_s(t)?t.command.title:t.title)}static _compareTitles(e,t){const i="string"==typeof e?e:e.original,n="string"==typeof t?t:t.original;return i.localeCompare(n)}};rS=Jy=tS([iS(3,as),iS(4,Cd),iS(5,hs.fN)],rS);let aS=class{constructor(e,t,i,n,s,o){this._disposables=new Ae.Cm,this._menuInfo=new rS(e,t,i.emitEventsForSubmenuChanges,n,s,o);const r=new A.uC((()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})}),i.eventDebounceDelay);this._disposables.add(r),this._disposables.add(ws.onDidChangeMenu((e=>{for(const t of this._menuInfo.allMenuIds)if(e.has(t)){r.schedule();break}})));const a=this._disposables.add(new Ae.Cm);this._onDidChange=new P.uI({onWillAddFirstListener:()=>{a.add(o.onDidChangeContext((e=>{const t=e.affectsSome(this._menuInfo.structureContextKeys),i=e.affectsSome(this._menuInfo.preconditionContextKeys),n=e.affectsSome(this._menuInfo.toggledContextKeys);(t||i||n)&&this._onDidChange.fire({menu:this,isStructuralChange:t,isEnablementChange:i,isToggleChange:n})}))),a.add(t.onDidChange((e=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})})))},onDidRemoveLastListener:a.clear.bind(a),delay:i.eventDebounceDelay,merge:e=>{let t=!1,i=!1,n=!1;for(const s of e)if(t=t||s.isStructuralChange,i=i||s.isEnablementChange,n=n||s.isToggleChange,t&&i&&n)break;return{menu:this,isStructuralChange:t,isEnablementChange:i,isToggleChange:n}}}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};function lS(e,t,i){const n=void 0!==t.submenu?t.submenu.id:t.id;const s="string"==typeof t.title?t.title:t.title.value,o=ns({id:`hide/${e.id}/${n}`,label:(0,$n.kg)("hide.label","Hide '{0}'",s),run(){i.updateHidden(e,n,!0)}}),r=ns({id:`toggle/${e.id}/${n}`,label:s,get checked(){return!i.isHidden(e,n)},run(){i.updateHidden(e,n,!!this.checked)}});return{hide:o,toggle:r,get isHidden(){return!r.checked}}}function hS(e,t,i,n=void 0,s=!0){return ns({id:`configureKeybinding/${i}`,label:(0,$n.kg)("configure keybinding","Configure Keybinding"),enabled:s,run(){const s=!!!t.lookupKeybinding(i)&&n?n.serialize():void 0;e.executeCommand("workbench.action.openGlobalKeybindings",`@command:${i}`+(s?` +when:${s}`:""))}})}aS=tS([iS(3,as),iS(4,Cd),iS(5,hs.fN)],aS);var dS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},cS=function(e,t){return function(i,n){t(i,n,e)}};let uS=class extends Yy{constructor(e,t,i,n,s,o,r,a){super(e,s,{getKeyBinding:e=>o.lookupKeybinding(e.id)??void 0,...t,allowContextMenu:!0,skipTelemetry:"string"==typeof t?.telemetrySource}),this._options=t,this._menuService=i,this._contextKeyService=n,this._contextMenuService=s,this._keybindingService=o,this._commandService=r,this._sessionDisposables=this._store.add(new Ae.Cm);const l=t?.telemetrySource;l&&this._store.add(this.actionBar.onDidRun((e=>a.publicLog2("workbenchActionExecuted",{id:e.action.id,from:l}))))}setActions(e,t=[],i){this._sessionDisposables.clear();const n=e.slice(),s=t.slice(),o=[];let r=0;const a=[];let l=!1;if(-1!==this._options?.hiddenItemStrategy)for(let h=0;he?.id))),t=this._options.overflowBehavior.maxItems-e.size;let i=0;for(let s=0;s=t&&(n[s]=void 0,a[s]=o))}}(0,na.SK)(n),(0,na.SK)(a),super.setActions(n,es.join(a,s)),(o.length>0||n.length>0)&&this._sessionDisposables.add(Ye(this.getElement(),"contextmenu",(e=>{const t=new T(We(this.getElement()),e),n=this.getItemAction(t.target);if(!n)return;t.preventDefault(),t.stopPropagation();const s=[];if(n instanceof Ss&&n.menuKeybinding)s.push(n.menuKeybinding);else if(!(n instanceof ys||n instanceof Zy)){const e=!!this._keybindingService.lookupKeybinding(n.id);s.push(hS(this._commandService,this._keybindingService,n.id,void 0,e))}if(o.length>0){let e=!1;if(1===r&&0===this._options?.hiddenItemStrategy){e=!0;for(let e=0;ethis._menuService.resetHiddenStates(i)}))),0!==a.length&&this._contextMenuService.showContextMenu({getAnchor:()=>t,getActions:()=>a,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:"string"==typeof this._options?.telemetrySource,contextKeyService:this._contextKeyService})})))}};uS=dS([cS(2,bs),cS(3,hs.fN),cS(4,bd),cS(5,Cd),cS(6,as),cS(7,xs)],uS);let gS=class extends uS{constructor(e,t,i,n,s,o,r,a,l){super(e,{resetMenu:t,...i},n,s,o,r,a,l),this._onDidChangeMenuItems=this._store.add(new P.vl),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const h=this._store.add(n.createMenu(t,s,{emitEventsForSubmenuChanges:!0})),d=()=>{const t=[],n=[];zy(h,i?.menuOptions,{primary:t,secondary:n},i?.toolbarOptions?.primaryGroup,i?.toolbarOptions?.shouldInlineSubmenu,i?.toolbarOptions?.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",0===t.length&&0===n.length),super.setActions(t,n)};this._store.add(h.onDidChange((()=>{d(),this._onDidChangeMenuItems.fire(this)}))),d()}setActions(){throw new b.D7("This toolbar is populated from a menu.")}};gS=dS([cS(3,bs),cS(4,hs.fN),cS(5,bd),cS(6,Cd),cS(7,as),cS(8,xs)],gS);var pS,mS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},fS=function(e,t){return function(i,n){t(i,n,e)}};let _S=class extends Ae.jG{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=(0,fg.y0)(this,this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(62).showToolbar)),this.sessionPosition=void 0,this.position=(0,fg.un)(this,(e=>{const t=this.model.read(e)?.primaryGhostText.read(e);if(!this.alwaysShowToolbar.read(e)||!t||0===t.parts.length)return this.sessionPosition=void 0,null;const i=t.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==t.lineNumber&&(this.sessionPosition=void 0);const n=new Qn.y(t.lineNumber,Math.min(i,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=n,n})),this._register((0,fg.yC)(((t,i)=>{const n=this.model.read(t);if(!n||!this.alwaysShowToolbar.read(t))return;const s=(0,Ry.rm)(((t,i)=>{const s=i.add(this.instantiationService.createInstance(CS,this.editor,!0,this.position,n.selectedInlineCompletionIndex,n.inlineCompletionsCount,n.activeCommands));return e.addContentWidget(s),i.add((0,Ae.s)((()=>e.removeContentWidget(s)))),i.add((0,fg.fm)((e=>{this.position.read(e)&&n.lastTriggerKind.read(e)!==La.qw.Explicit&&n.triggerExplicitly()}))),s})),o=(0,fg.ZX)(this,((e,t)=>!!this.position.read(e)||!!t));i.add((0,fg.fm)((e=>{o.read(e)&&s.read(e)})))})))}};_S=mS([fS(2,qn._Y)],_S);const vS=fu("inline-suggestion-hints-next",bl.W.chevronRight,(0,$n.kg)("parameterHintsNextIcon","Icon for show next parameter hint.")),bS=fu("inline-suggestion-hints-previous",bl.W.chevronLeft,(0,$n.kg)("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let CS=class extends Ae.jG{static{pS=this}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(e,t,i){const n=new Xn(e,t,i,!0,(()=>this._commandService.executeCommand(e))),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let o=t;return s&&(o=(0,$n.kg)({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=o,n}constructor(e,t,i,n,s,o,r,a,l,h,d){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=o,this._commandService=r,this.keybindingService=l,this._contextKeyService=h,this._menuService=d,this.id="InlineSuggestionHintsContentWidget"+pS.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=ui("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[ui("div@toolBar")]),this.previousAction=this.createCommandAction(Py,(0,$n.kg)("previous","Previous"),En.L.asClassName(bS)),this.availableSuggestionCountAction=new Xn("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(Oy,(0,$n.kg)("next","Next"),En.L.asClassName(vS)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(vs.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new A.uC((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new A.uC((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.toolBar=this._register(a.createInstance(SS,this.nodes.toolBar,vs.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof Ss)return a.createInstance(yS,e,void 0);if(e===this.availableSuggestionCountAction){const t=new wS(void 0,e,{label:!0,icon:!1});return t.setClass("availableSuggestionCount"),t}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((e=>{pS._dropDownVisible=e}))),this._register((0,fg.fm)((e=>{this._position.read(e),this.editor.layoutContentWidget(this)}))),this._register((0,fg.fm)((e=>{const t=this._suggestionCount.read(e),i=this._currentSuggestionIdx.read(e);void 0!==t?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${i+1}/${t}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==t&&t>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()}))),this._register((0,fg.fm)((e=>{const t=this._extraCommands.read(e).map((e=>({class:void 0,id:e.id,enabled:!0,tooltip:e.tooltip||"",label:e.title,run:t=>this._commandService.executeCommand(e.id)})));for(const[i,n]of this.inlineCompletionsActionsMenus.getActions())for(const e of n)e instanceof Ss&&t.push(e);t.length>0&&t.unshift(new es),this.toolBar.setAdditionalSecondaryActions(t)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};CS=pS=mS([fS(6,as),fS(7,qn._Y),fS(8,Cd),fS(9,hs.fN),fS(10,bs)],CS);class wS extends Xg{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}class yS extends Ky{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=ui("div.keybinding").root;this._register(new hp(t,f.OS,{disableTitle:!0,...lp})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}}let SS=class extends uS{constructor(e,t,i,n,s,o,r,a,l){super(e,{resetMenu:t,...i},n,s,o,r,a,l),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){const e=[],t=[];zy(this.menu,this.options2?.menuOptions,{primary:e,secondary:t},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){(0,na.aI)(this.prependedPrimaryActions,e,((e,t)=>e===t))||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){(0,na.aI)(this.additionalActions,e,((e,t)=>e===t))||(this.additionalActions=e,this.updateToolbar())}};function kS(e,t,i){const n=ct(e);return!(tn.left+n.width||in.top+n.height)}SS=mS([fS(3,bs),fS(4,hs.fN),fS(5,bd),fS(6,Cd),fS(7,as),fS(8,xs)],SS);class LS{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}}class xS extends Ae.jG{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new P.vl),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new A.uC((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new A.uC((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new A.uC((()=>this._triggerLoadingMessage()),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=(0,A.bI)((e=>this._computer.computeAsync(e))),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(e){(0,b.dz)(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const e=0===this._state,t=4===this._state;this._onResult.fire(new LS(this._result.slice(0),e,t))}start(e){if(0===e)0===this._state&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}var DS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};var NS;!function(e){e.North="north",e.South="south",e.East="east",e.West="west"}(NS||(NS={}));const IS=new P.vl;const ES=new P.vl;class MS{constructor(e){this.el=e,this.disposables=new Ae.Cm}get onPointerMove(){return this.disposables.add(new zr(We(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new zr(We(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}DS([td],MS.prototype,"onPointerMove",null),DS([td],MS.prototype,"onPointerUp",null);class TS{get onPointerMove(){return this.disposables.add(new zr(this.el,id.Change)).event}get onPointerUp(){return this.disposables.add(new zr(this.el,id.End)).event}constructor(e){this.el=e,this.disposables=new Ae.Cm}dispose(){this.disposables.dispose()}}DS([td],TS.prototype,"onPointerMove",null),DS([td],TS.prototype,"onPointerUp",null);class RS{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}}DS([td],RS.prototype,"onPointerMove",null),DS([td],RS.prototype,"onPointerUp",null);const AS="pointer-events-disabled";class PS extends Ae.jG{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",0===e),this.el.classList.toggle("minimum",1===e),this.el.classList.toggle("maximum",2===e),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=t=>{this.orthogonalStartDragHandleDisposables.clear(),0!==t&&(this._orthogonalStartDragHandle=Gt(this.el,ei(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add((0,Ae.s)((()=>this._orthogonalStartDragHandle.remove()))),this.orthogonalStartDragHandleDisposables.add(new zr(this._orthogonalStartDragHandle,"mouseenter")).event((()=>PS.onMouseEnter(e)),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new zr(this._orthogonalStartDragHandle,"mouseleave")).event((()=>PS.onMouseLeave(e)),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=t=>{this.orthogonalEndDragHandleDisposables.clear(),0!==t&&(this._orthogonalEndDragHandle=Gt(this.el,ei(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add((0,Ae.s)((()=>this._orthogonalEndDragHandle.remove()))),this.orthogonalEndDragHandleDisposables.add(new zr(this._orthogonalEndDragHandle,"mouseenter")).event((()=>PS.onMouseEnter(e)),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new zr(this._orthogonalEndDragHandle,"mouseleave")).event((()=>PS.onMouseLeave(e)),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,i){super(),this.hoverDelay=300,this.hoverDelayer=this._register(new A.ve(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new P.vl),this._onDidStart=this._register(new P.vl),this._onDidChange=this._register(new P.vl),this._onDidReset=this._register(new P.vl),this._onDidEnd=this._register(new P.vl),this.orthogonalStartSashDisposables=this._register(new Ae.Cm),this.orthogonalStartDragHandleDisposables=this._register(new Ae.Cm),this.orthogonalEndSashDisposables=this._register(new Ae.Cm),this.orthogonalEndDragHandleDisposables=this._register(new Ae.Cm),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=Gt(e,ei(".monaco-sash")),i.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${i.orthogonalEdge}`),f.zx&&this.el.classList.add("mac");const n=this._register(new zr(this.el,"mousedown")).event;this._register(n((t=>this.onPointerStart(t,new MS(e))),this));const s=this._register(new zr(this.el,"dblclick")).event;this._register(s(this.onPointerDoublePress,this));const o=this._register(new zr(this.el,"mouseenter")).event;this._register(o((()=>PS.onMouseEnter(this))));const r=this._register(new zr(this.el,"mouseleave")).event;this._register(r((()=>PS.onMouseLeave(this)))),this._register(sd.addTarget(this.el));const a=this._register(new zr(this.el,id.Start)).event;this._register(a((e=>this.onPointerStart(e,new TS(this.el))),this));const l=this._register(new zr(this.el,id.Tap)).event;let h;this._register(l((e=>{if(h)return clearTimeout(h),h=void 0,void this.onPointerDoublePress(e);clearTimeout(h),h=setTimeout((()=>h=void 0),250)}),this)),"number"==typeof i.size?(this.size=i.size,0===i.orientation?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=4,this._register(IS.event((e=>{this.size=e,this.layout()})))),this._register(ES.event((e=>this.hoverDelay=e))),this.layoutProvider=t,this.orthogonalStartSash=i.orthogonalStartSash,this.orthogonalEndSash=i.orthogonalEndSash,this.orientation=i.orientation||0,1===this.orientation?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",false),this.layout()}onPointerStart(e,t){jt(e);let i=!1;if(!e.__orthogonalSashEvent){const n=this.getOrthogonalSash(e);n&&(i=!0,e.__orthogonalSashEvent=!0,n.onPointerStart(e,new RS(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new RS(t))),!this.state)return;const n=this.el.ownerDocument.getElementsByTagName("iframe");for(const c of n)c.classList.add(AS);const s=e.pageX,o=e.pageY,r=e.altKey,a={startX:s,currentX:s,startY:o,currentY:o,altKey:r};this.el.classList.add("active"),this._onDidStart.fire(a);const l=Et(this.el),h=()=>{let e="";e=i?"all-scroll":1===this.orientation?1===this.state?"s-resize":2===this.state?"n-resize":f.zx?"row-resize":"ns-resize":1===this.state?"e-resize":2===this.state?"w-resize":f.zx?"col-resize":"ew-resize",l.textContent=`* { cursor: ${e} !important; }`},d=new Ae.Cm;h(),i||this.onDidEnablementChange.event(h,null,d);t.onPointerMove((e=>{jt(e,!1);const t={startX:s,currentX:e.pageX,startY:o,currentY:e.pageY,altKey:r};this._onDidChange.fire(t)}),null,d),t.onPointerUp((e=>{jt(e,!1),l.remove(),this.el.classList.remove("active"),this._onDidEnd.fire(),d.dispose();for(const t of n)t.classList.remove(AS)}),null,d),d.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger((()=>e.el.classList.add("hover")),e.hoverDelay).then(void 0,(()=>{})),!t&&e.linkedSash&&PS.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&PS.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){PS.onMouseLeave(this)}layout(){if(0===this.orientation){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){const t=e.initialTarget??e.target;if(t&&Bt(t))return t.classList.contains("orthogonal-drag-handle")?t.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash:void 0}dispose(){super.dispose(),this.el.remove()}}class OS{constructor(){let e;this._onDidWillResize=new P.vl,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new P.vl,this.onDidResize=this._onDidResize.event,this._sashListener=new Ae.Cm,this._size=new ht(0,0),this._minSize=new ht(0,0),this._maxSize=new ht(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new PS(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new PS(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new PS(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:NS.North}),this._southSash=new PS(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:NS.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let t=0,i=0;this._sashListener.add(P.Jh.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{void 0===e&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)}))),this._sashListener.add(P.Jh.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{void 0!==e&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(this._eastSash.onDidChange((n=>{e&&(i=n.currentX-n.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))}))),this._sashListener.add(this._westSash.onDidChange((n=>{e&&(i=-(n.currentX-n.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))}))),this._sashListener.add(this._northSash.onDidChange((n=>{e&&(t=-(n.currentY-n.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}))),this._sashListener.add(this._southSash.onDidChange((n=>{e&&(t=n.currentY-n.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))}))),this._sashListener.add(P.Jh.any(this._eastSash.onDidReset,this._westSash.onDidReset)((e=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(P.Jh.any(this._northSash.onDidReset,this._southSash.onDidReset)((e=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))})))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,n){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=n?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:n}=this._minSize,{height:s,width:o}=this._maxSize;e=Math.max(i,Math.min(s,e)),t=Math.max(n,Math.min(o,t));const r=new ht(t,e);ht.equals(r,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=r,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}class FS extends Ae.jG{constructor(e,t=new ht(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new OS),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=ht.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((e=>{this._resize(new ht(e.dimension.width,e.dimension.height)),e.done&&(this._isResizing=!1)}))),this._register(this._resizableNode.onDidWillResize((()=>{this._isResizing=!0})))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){return this._contentPosition?.position?Qn.y.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;return ct(t).top+i.top-30}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=ct(t),s=at(t.ownerDocument.body),o=n.top+i.top+i.height;return s.height-o-24}_findPositionPreference(e,t){const i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),n=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),s=Math.min(Math.max(n,i),e),o=Math.min(e,s);let r;return r=this._editor.getOption(60).above?o<=n?1:2:o<=i?2:1,1===r?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),r}_resize(e){this._resizableNode.layout(e.height,e.width)}}const WS=ei;class BS extends Ae.jG{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",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 eg(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class HS extends Ae.jG{static render(e,t,i){return new HS(e,t,i)}constructor(e,t,i){super(),this.actionLabel=t.label,this.actionKeybindingLabel=i,this.actionContainer=Gt(e,WS("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=Gt(this.actionContainer,WS("a.action")),this.action.setAttribute("role","button"),t.iconClass&&Gt(this.action,WS(`span.icon.${t.iconClass}`));Gt(this.action,WS("span")).textContent=i?`${t.label} (${i})`:t.label,this._store.add(new zS(this.actionContainer,t.run)),this._store.add(new US(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 VS(e,t){return e&&t?(0,$n.kg)("acessibleViewHint","Inspect this in the accessible view with {0}.",t):e?(0,$n.kg)("acessibleViewHintNoKbOpen","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}class zS extends Ae.jG{constructor(e,t){super(),this._register(Ye(e,Ut.CLICK,(i=>{i.stopPropagation(),i.preventDefault(),t(e)})))}}class US extends Ae.jG{constructor(e,t,i){super(),this._register(Ye(e,Ut.KEY_DOWN,(n=>{const s=new N(n);i.some((e=>s.equals(e)))&&(n.stopPropagation(),n.preventDefault(),t(e))})))}}var KS,jS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},$S=function(e,t){return function(i,n){t(i,n,e)}};let qS=class extends FS{static{KS=this}static{this.ID="editor.contrib.resizableContentHoverWidget"}static{this._lastDimensions=new ht(0,0)}get isVisibleFromKeyboard(){return 1===this._renderedHover?.source}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,n,s){const o=e.getOption(67)+8,r=new ht(150,o);super(e,r),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new BS),this._onDidResize=this._register(new P.vl),this.onDidResize=this._onDidResize.event,this._minimumSize=r,this._hoverVisibleKey=$s.hoverVisible.bindTo(t),this._hoverFocusedKey=$s.hoverFocused.bindTo(t),Gt(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange((()=>{this.isVisible&&this._updateMaxDimensions()}))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()})));const a=this._register(qt(this._resizableNode.domNode));this._register(a.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(a.onDidBlur((()=>{this._hoverFocusedKey.set(!1)}))),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return KS.ID}static _applyDimensions(e,t,i){const n="number"==typeof t?`${t}px`:t,s="number"==typeof i?`${i}px`:i;e.style.width=n,e.style.height=s}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return KS._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return KS._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const n="number"==typeof t?`${t}px`:t,s="number"==typeof i?`${i}px`:i;e.style.maxWidth=n,e.style.maxHeight=s}_setHoverWidgetMaxDimensions(e,t){KS._applyMaxDimensions(this._hover.contentsDomNode,e,t),KS._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof e?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i)}_updateResizableNodeMaxDimensions(){const e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new ht(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){KS._lastDimensions=new ht(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){const e=this._renderedHover?.showAtPosition;if(e)return 1===this._positionPreference?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=6;return Array.from(this._hover.contentsDomNode.children).forEach((e=>{t+=e.clientHeight})),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some((e=>e.scrollWidth>e.clientWidth));return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=void 0===this._contentWidth?0:this._contentWidth-2;if(e||this._hover.containerDomNode.clientWidththis._renderedHover.closestMouseDistance+4)&&(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,n),!0)}_setRenderedHover(e){this._renderedHover?.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=""+t/e;Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,KS._lastDimensions.height),t=Math.max(.66*this._editor.getLayoutInfo().width,500,KS._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){if(!this._editor||!this._editor.hasModel())return;this._render(e);const t=ft(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,i)??1,this.onContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const n=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&VS(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel()??"");n&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+n)}hide(){if(!this._renderedHover)return;const e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new ht(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}setMinimumDimensions(e){this._minimumSize=new ht(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new ht(e,this._minimumSize.height)}onContentsChanged(){this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=ft(e),i=gt(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=ft(e),i=gt(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),this._renderedHover?.showAtPosition){const e=ft(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(e,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-30})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+30})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};function GS(e,t,i,n,s,o){const r=i+s/2,a=n+o/2,l=Math.max(Math.abs(e-r)-s/2,0),h=Math.max(Math.abs(t-a)-o/2,0);return Math.sqrt(l*l+h*h)}qS=KS=jS([$S(1,hs.fN),$S(2,Wp.pG),$S(3,$r),$S(4,Cd)],qS);class QS{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(1!==t.type&&!t.supportsMarkerHover)return[];const i=e.getModel(),n=t.range.startLineNumber;if(n>i.getLineCount())return[];const s=i.getLineMaxColumn(n);return e.getLineDecorations(n).filter((e=>{if(e.options.isWholeLine)return!0;const i=e.range.startLineNumber===n?e.range.startColumn:1,o=e.range.endLineNumber===n?e.range.endColumn:s;if(e.options.showIfCollapsed){if(i>t.range.startColumn+1||t.range.endColumn-1>o)return!1}else if(i>t.range.startColumn||t.range.endColumn>o)return!1;return!0}))}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return A.AE.EMPTY;const i=QS._getLineDecorations(this._editor,t);return A.AE.merge(this._participants.map((n=>n.computeAsync?n.computeAsync(t,i,e):A.AE.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=QS._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return(0,na.Yc)(t)}}class YS{constructor(e,t,i){this.anchor=e,this.hoverParts=t,this.isComplete=i}filter(e){const t=this.hoverParts.filter((t=>t.isValidForHoverAnchor(e)));return t.length===this.hoverParts.length?this:new ZS(this,this.anchor,t,this.isComplete)}}class ZS extends YS{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var XS=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},JS=function(e,t){return function(i,n){t(i,n,e)}};const ek=ei;let tk=class extends Ae.jG{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=ek("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=Gt(this.hoverElement,ek("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(HS.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=Gt(this.actionsElement,e);return this._hasContent=!0,t}};tk=XS([JS(0,Cd)],tk);var ik=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},nk=function(e,t){return function(i,n){t(i,n,e)}};const sk=(0,qn.u1)("hoverService");let ok=class extends Ae.jG{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,i={},n,s){super(),this.placement=e,this.instantHover=t,this.overrideOptions=i,this.configurationService=n,this.hoverService=s,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new Ae.Cm),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){const i="function"==typeof this.overrideOptions?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const n=Bt(e.target)?[e.target]:e.target.targetElements;for(const o of n)this.hoverDisposables.add(Xe(o,"keydown",(e=>{e.equals(9)&&this.hoverService.hideHover()})));const s=Bt(e.content)?void 0:e.content.toString();return this.hoverService.showHover({...e,...i,persistence:{hideOnKeyDown:!0,...i.persistence},id:s,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...i.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTimeasync function(e,t,i,n,s){const o=await Promise.resolve(e.provideHover(i,n,s)).catch(b.M_);if(o&&function(e){const t=void 0!==e.range,i=void 0!==e.contents&&e.contents&&e.contents.length>0;return t&&i}(o))return new rk(e,o,t)}(e,s,t,i,n)));return A.AE.fromPromises(o).coalesce()}function lk(e,t,i,n,s=!1){return ak(e,t,i,n,s).map((e=>e.hover)).toPromise()}Os("_executeHoverProvider",((e,t,i)=>lk(e.get(xa.ILanguageFeaturesService).hoverProvider,t,i,sa.XO.None))),Os("_executeHoverProvider_recursive",((e,t,i)=>lk(e.get(xa.ILanguageFeaturesService).hoverProvider,t,i,sa.XO.None,!0)));var hk=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},dk=function(e,t){return function(i,n){t(i,n,e)}};const ck=ei,uk=fu("hover-increase-verbosity",bl.W.add,$n.kg("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),gk=fu("hover-decrease-verbosity",bl.W.remove,$n.kg("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class pk{constructor(e,t,i,n,s,o=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=n,this.ordinal=s,this.source=o}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}class mk{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case La.M$.Increase:return this.hover.canIncreaseVerbosity??!1;case La.M$.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let fk=class{constructor(e,t,i,n,s,o,r,a){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=o,this._hoverService=r,this._commandService=a,this.hoverOrdinal=3}createLoadingMessage(e){return new pk(this,e.range,[(new Vn).appendText($n.kg("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),o=[];let r=1e3;const a=i.getLineLength(n),l=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),h=this._editor.getOption(118),d=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:l});let c=!1;h>=0&&a>h&&e.range.startColumn>=h&&(c=!0,o.push(new pk(this,e.range,[{value:$n.kg("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,r++))),!c&&"number"==typeof d&&a>=d&&o.push(new pk(this,e.range,[{value:$n.kg("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,r++));let u=!1;for(const g of t){const t=g.range.startLineNumber===n?g.range.startColumn:1,i=g.range.endLineNumber===n?g.range.endColumn:s,a=g.options.hoverMessage;if(!a||zn(a))continue;g.options.beforeContentClassName&&(u=!0);const l=new Js.Q(e.range.startLineNumber,t,e.range.startLineNumber,i);o.push(new pk(this,l,(0,na._j)(a),u,r++))}return o}computeAsync(e,t,i){if(!this._editor.hasModel()||1!==e.type)return A.AE.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;if(!s.has(n))return A.AE.EMPTY;return this._getMarkdownHovers(s,n,e,i)}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition(),o=ak(e,t,s,n).filter((e=>!zn(e.hover.contents))).map((e=>{const t=e.hover.range?Js.Q.lift(e.hover.range):i.range,n=new mk(e.hover,e.provider,s);return new pk(this,t,e.hover.contents,!1,e.ordinal,n)}));return o}renderHoverParts(e,t){return this._renderedHoverParts=new vk(t,e.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(e,t,i){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(e,t,i))}};fk=hk([dk(1,Dh.L),dk(2,Rh),dk(3,Wp.pG),dk(4,xa.ILanguageFeaturesService),dk(5,Cd),dk(6,sk),dk(7,as)],fk);class _k{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class vk{constructor(e,t,i,n,s,o,r,a,l,h,d){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=o,this._commandService=r,this._keybindingService=a,this._hoverService=l,this._configurationService=h,this._onFinishedRendering=d,this._ongoingHoverOperations=new Map,this._disposables=new Ae.Cm,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add((0,Ae.s)((()=>{this.renderedHoverParts.forEach((e=>{e.dispose()})),this._ongoingHoverOperations.forEach((e=>{e.tokenSource.dispose(!0)}))})))}_renderHoverParts(e,t,i){return e.sort((0,na.VE)((e=>e.ordinal),na.U9)),e.map((e=>{const n=this._renderHoverPart(e,i);return t.appendChild(n.hoverElement),n}))}_renderHoverPart(e,t){const i=this._renderMarkdownHover(e,t),n=i.hoverElement,s=e.source,o=new Ae.Cm;if(o.add(i),!s)return new _k(e,n,o);const r=s.supportsVerbosityAction(La.M$.Increase),a=s.supportsVerbosityAction(La.M$.Decrease);if(!r&&!a)return new _k(e,n,o);const l=ck("div.verbosity-actions");return n.prepend(l),o.add(this._renderHoverExpansionAction(l,La.M$.Increase,r)),o.add(this._renderHoverExpansionAction(l,La.M$.Decrease,a)),new _k(e,n,o)}_renderMarkdownHover(e,t){return bk(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new Ae.Cm,s=t===La.M$.Increase,o=Gt(e,ck(En.L.asCSSSelector(s?uk:gk)));o.tabIndex=0;const r=new ok("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(r,o,function(e,t){switch(t){case La.M$.Increase:{const t=e.lookupKeybinding(Iy);return t?$n.kg("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):$n.kg("increaseVerbosity","Increase Hover Verbosity")}case La.M$.Decrease:{const t=e.lookupKeybinding(My);return t?$n.kg("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):$n.kg("decreaseVerbosity","Decrease Hover Verbosity")}}}(this._keybindingService,t))),!i)return o.classList.add("disabled"),n;o.classList.add("enabled");const a=()=>this._commandService.executeCommand(t===La.M$.Increase?Iy:My);return n.add(new zS(o,a)),n.add(new US(o,a,[3,10])),n}async updateMarkdownHoverPartVerbosityLevel(e,t,i=!0){const n=this._editor.getModel();if(!n)return;const s=this._getRenderedHoverPartAtIndex(t),o=s?.hoverPart.source;if(!s||!o?.supportsVerbosityAction(e))return;const r=await this._fetchHover(o,n,e);if(!r)return;const a=new mk(r,o.hoverProvider,o.hoverPosition),l=s.hoverPart,h=new pk(this._hoverParticipant,l.range,r.contents,l.isBeforeContent,l.ordinal,a),d=this._renderHoverPart(h,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,d,h),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:h,hoverElement:d.hoverElement}}async _fetchHover(e,t,i){let n=i===La.M$.Increase?1:-1;const s=e.hoverProvider,o=this._ongoingHoverOperations.get(s);o&&(o.tokenSource.cancel(),n+=o.verbosityDelta);const r=new sa.Qi;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:r});const a={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let l;try{l=await Promise.resolve(s.provideHover(t,e.hoverPosition,r.token,a))}catch(h){(0,b.M_)(h)}return r.dispose(),this._ongoingHoverOperations.delete(s),l}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const n=this.renderedHoverParts[e],s=n.hoverElement,o=t.hoverElement,r=Array.from(o.children);s.replaceChildren(...r);const a=new _k(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=a}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function bk(e,t,i,n,s){const o=new Ae.Cm,r=ck("div.hover-row"),a=ck("div.hover-row-contents");r.appendChild(a);const l=t.contents;for(const h of l){if(zn(h))continue;const t=ck("div.markdown-hover"),r=Gt(t,ck("div.hover-contents")),l=o.add(new Fh({editor:e},i,n));o.add(l.onDidRenderAsync((()=>{r.className="hover-contents code-hover-contents",s()})));const d=o.add(l.render(h));r.appendChild(d.element),a.appendChild(t)}return{hoverPart:t,hoverElement:r,dispose(){o.dispose()}}}class Ck{static insert(e,t){return{range:new Js.Q(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}function wk(e,t){return!!e[t]}class yk{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=wk(e.event,t.triggerModifier),this.hasSideBySideModifier=wk(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class Sk{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=wk(e,t.triggerModifier)}}class kk{constructor(e,t,i,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=n}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function Lk(e){return"altKey"===e?f.zx?new kk(57,"metaKey",6,"altKey"):new kk(5,"ctrlKey",6,"altKey"):f.zx?new kk(6,"altKey",57,"metaKey"):new kk(6,"altKey",5,"ctrlKey")}class xk extends Ae.jG{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new P.vl),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new P.vl),this.onExecute=this._onExecute.event,this._onCancel=this._register(new P.vl),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(e=>e.target.position?e.target.position.lineNumber:0),this._opts=Lk(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(78)){const e=Lk(this._editor.getOption(78));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((e=>this._onEditorMouseMove(new yk(e,this._opts))))),this._register(this._editor.onMouseDown((e=>this._onEditorMouseDown(new yk(e,this._opts))))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(new yk(e,this._opts))))),this._register(this._editor.onKeyDown((e=>this._onEditorKeyDown(new Sk(e,this._opts))))),this._register(this._editor.onKeyUp((e=>this._onEditorKeyUp(new Sk(e,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((e=>this._onDidChangeCursorSelection(e)))),this._register(this._editor.onDidChangeModel((e=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((e=>{(e.scrollTopChanged||e.scrollLeftChanged)&&this._resetHandler()})))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class Dk{constructor(e,t){this.range=e,this.direction=t}}class Nk{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new Nk(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,e.isCancellationRequested)return;return this.resolve(e)}this._isResolved||(this._currentResolve=this._doResolve(e).finally((()=>this._currentResolve=void 0))),await this._currentResolve}}async _doResolve(e){try{const t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=t?.tooltip??this.hint.tooltip,this.hint.label=t?.label??this.hint.label,this.hint.textEdits=t?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(t){(0,b.M_)(t),this._isResolved=!1}}}class Ik{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(e,t,i,n){const s=[],o=e.ordered(t).reverse().map((e=>i.map((async i=>{try{const o=await e.provideInlayHints(t,i,n);(o?.hints.length||e.onDidChangeInlayHints)&&s.push([o??Ik._emptyInlayHintList,e])}catch(o){(0,b.M_)(o)}}))));if(await Promise.all(o.flat()),n.isCancellationRequested||t.isDisposed())throw new b.AL;return new Ik(i,s,t)}constructor(e,t,i){this._disposables=new Ae.Cm,this.ranges=e,this.provider=new Set;const n=[];for(const[s,o]of t){this._disposables.add(s),this.provider.add(o);for(const e of s.hints){const t=i.validatePosition(e.position);let s="before";const r=Ik._getRangeAtPosition(i,t);let a;r.getStartPosition().isBefore(t)?(a=Js.Q.fromPositions(r.getStartPosition(),t),s="after"):(a=Js.Q.fromPositions(t,r.getEndPosition()),s="before"),n.push(new Nk(e,new Dk(a,s),o))}}this.items=n.sort(((e,t)=>Qn.y.compare(e.hint.position,t.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,n=e.getWordAtPosition(t);if(n)return new Js.Q(i,n.startColumn,i,n.endColumn);e.tokenization.tokenizeIfCheap(i);const s=e.tokenization.getLineTokens(i),o=t.column-1,r=s.findTokenIndexAtOffset(o);let a=s.getStartOffset(r),l=s.getEndOffset(r);return l-a==1&&(a===o&&r>1?(a=s.getStartOffset(r-1),l=s.getEndOffset(r-1)):l===o&&r=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Ak=function(e,t){return function(i,n){t(i,n,e)}};let Pk=class extends ZC{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,o,r,a,l,h,d,c,u),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration((e=>this._onParentConfigurationChanged(e))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){ql.co(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Pk=Rk([Ak(4,qn._Y),Ak(5,Gn),Ak(6,as),Ak(7,hs.fN),Ak(8,no.Gy),Ak(9,Sd),Ak(10,$r),Ak(11,Wo.JZ),Ak(12,xa.ILanguageFeaturesService)],Pk);const Ok=new dd.Q1(new dd.bU(0,122,204)),Fk={showArrow:!0,showFrame:!0,className:"",frameColor:Ok,arrowColor:Ok,keepEditorSelection:!1};class Wk{constructor(e,t,i,n,s,o,r,a){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=r,this.ordinal=a,this._onDomNodeTop=s,this._onComputedHeight=o}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class Bk{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class Hk{static{this._IdGenerator=new Al(".arrow-decoration-")}constructor(e){this._editor=e,this._ruleName=Hk._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),Ft(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){Ft(this._ruleName),Ot(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){1===e.column&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:Js.Q.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}class Vk{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Ae.Cm,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=ql.Go(t),ql.co(this.options,Fk,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange((e=>{const t=this._getWidth(e);this.domNode.style.width=t+"px",this.domNode.style.left=this._getLeft(e)+"px",this._onWidth(t)})))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null})),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new Hk(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){if(this.domNode.style.height=`${e}px`,this.container){const t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;const i=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(i))}this._resizeSash?.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=Js.Q.isIRange(e)?Js.Q.lift(e):Js.Q.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:to.kI.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow?.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){t+=2*Math.round(e/3)}if(this.options.showFrame){t+=2*Math.round(e/9)}return t}_showImpl(e,t){const i=e.getStartPosition(),n=this.editor.getLayoutInfo(),s=this._getWidth(n);this.domNode.style.width=`${s}px`,this.domNode.style.left=this._getLeft(n)+"px";const o=document.createElement("div");o.style.overflow="hidden";const r=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const e=Math.max(12,this.editor.getLayoutInfo().height/r*.8);t=Math.min(t,e)}let a=0,l=0;if(this._arrow&&this.options.showArrow&&(a=Math.round(r/3),this._arrow.height=a,this._arrow.show(i)),this.options.showFrame&&(l=Math.round(r/9)),this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new Wk(o,i.lineNumber,i.column,t,(e=>this._onViewZoneTop(e)),(e=>this._onViewZoneHeight(e)),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new Bk("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const e=this.options.frameWidth?this.options.frameWidth:l;this.container.style.borderTopWidth=e+"px",this.container.style.borderBottomWidth=e+"px"}const h=t*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=a+"px",this.container.style.height=h+"px",this.container.style.overflow="hidden"),this._doLayout(h,s),this.options.keepEditorSelection||this.editor.setSelection(e);const d=this.editor.getModel();if(d){const t=d.validateRange(new Js.Q(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(t,t.startLineNumber===d.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones((t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))}))}_initSash(){if(this._resizeSash)return;let e;this._resizeSash=this._disposables.add(new PS(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart((t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})}))),this._disposables.add(this._resizeSash.onDidEnd((()=>{e=void 0}))),this._disposables.add(this._resizeSash.onDidChange((t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),n=i<0?Math.ceil(i):Math.floor(i),s=e.heightInLines+n;s>5&&s<35&&this._relayout(s)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var zk=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Uk=function(e,t){return function(i,n){t(i,n,e)}};const Kk=(0,qn.u1)("IPeekViewService");var jk;(0,ul.v)(Kk,class{constructor(){this._widgets=new Map}addExclusiveWidget(e,t){const i=this._widgets.get(e);i&&(i.listener.dispose(),i.widget.dispose());this._widgets.set(e,{widget:t,listener:t.onDidClose((()=>{const i=this._widgets.get(e);i&&i.widget===t&&(i.listener.dispose(),this._widgets.delete(e))}))})}},1),function(e){e.inPeekEditor=new hs.N1("inReferenceSearchEditor",!0,$n.kg("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),e.notInPeekEditor=e.inPeekEditor.toNegated()}(jk||(jk={}));let $k=class{static{this.ID="editor.contrib.referenceController"}constructor(e,t){e instanceof Pk&&jk.inPeekEditor.bindTo(t)}dispose(){}};$k=zk([Uk(1,hs.fN)],$k),Hs($k.ID,$k,0);const qk={headerBackgroundColor:dd.Q1.white,primaryHeadingColor:dd.Q1.fromHex("#333333"),secondaryHeadingColor:dd.Q1.fromHex("#6c6c6cb3")};let Gk=class extends Vk{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new P.vl,this.onDidClose=this._onDidClose.event,ql.co(this.options,qk,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=ei(".head"),this._bodyElement=ei(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=ei(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Xe(this._titleElement,"click",(e=>this._onTitleClick(e)))),Gt(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=ei("span.filename"),this._secondaryHeading=ei("span.dirname"),this._metaHeading=ei("span.meta"),Gt(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=ei(".peekview-actions");Gt(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new ep(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Xn("peekview.close",$n.kg("label.close","Close"),En.L.asClassName(bl.W.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:Qy.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:Ge(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,ti(this._metaHeading)):ii(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0)return void this.dispose();const i=Math.ceil(1.2*this.editor.getOption(67)),n=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(n,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};Gk=zk([Uk(2,qn._Y)],Gk);const Qk=(0,io.x1A)("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:dd.Q1.black,hcLight:dd.Q1.white},$n.kg("peekViewTitleBackground","Background color of the peek view title area.")),Yk=(0,io.x1A)("peekViewTitleLabel.foreground",{dark:dd.Q1.white,light:dd.Q1.black,hcDark:dd.Q1.white,hcLight:io.By2},$n.kg("peekViewTitleForeground","Color of the peek view title.")),Zk=(0,io.x1A)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},$n.kg("peekViewTitleInfoForeground","Color of the peek view title info.")),Xk=(0,io.x1A)("peekView.border",{dark:io.pOz,light:io.pOz,hcDark:io.b1q,hcLight:io.b1q},$n.kg("peekViewBorder","Color of the peek view borders and arrow.")),Jk=(0,io.x1A)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:dd.Q1.black,hcLight:dd.Q1.white},$n.kg("peekViewResultsBackground","Background color of the peek view result list.")),eL=((0,io.x1A)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:dd.Q1.white,hcLight:io.By2},$n.kg("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),(0,io.x1A)("peekViewResult.fileForeground",{dark:dd.Q1.white,light:"#1E1E1E",hcDark:dd.Q1.white,hcLight:io.By2},$n.kg("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),(0,io.x1A)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},$n.kg("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),(0,io.x1A)("peekViewResult.selectionForeground",{dark:dd.Q1.white,light:"#6C6C6C",hcDark:dd.Q1.white,hcLight:io.By2},$n.kg("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),(0,io.x1A)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:dd.Q1.black,hcLight:dd.Q1.white},$n.kg("peekViewEditorBackground","Background color of the peek view editor.")));(0,io.x1A)("peekViewEditorGutter.background",eL,$n.kg("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),(0,io.x1A)("peekViewEditorStickyScroll.background",eL,$n.kg("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor.")),(0,io.x1A)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},$n.kg("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),(0,io.x1A)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},$n.kg("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),(0,io.x1A)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:io.buw,hcLight:io.buw},$n.kg("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class tL{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:Ae.jG.None}}renderElement(e,t,i,n){if(i.disposable?.dispose(),!i.data)return;const s=this.modelProvider();if(s.isResolved(e))return this.renderer.renderElement(s.get(e),e,i.data,n);const o=new sa.Qi,r=s.resolve(e,o.token);i.disposable={dispose:()=>o.cancel()},this.renderer.renderPlaceholder(e,i.data),r.then((t=>this.renderer.renderElement(t,e,i.data,n)))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class iL{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}class nL{constructor(e,t,i,n,s={}){const o=()=>this.model,r=n.map((e=>new tL(e,o)));this.list=new Kg(e,t,i,r,function(e,t){return{...t,accessibilityProvider:t.accessibilityProvider&&new iL(e,t.accessibilityProvider)}}(o,s))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return P.Jh.map(this.list.onMouseDblClick,(({element:e,index:t,browserEvent:i})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:i})))}get onPointer(){return P.Jh.map(this.list.onPointer,(({element:e,index:t,browserEvent:i})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:i})))}get onDidChangeSelection(){return P.Jh.map(this.list.onDidChangeSelection,(({elements:e,indexes:t,browserEvent:i})=>({elements:e.map((e=>this._model.get(e))),indexes:t,browserEvent:i})))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,(0,na.y1)(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((e=>this.model.get(e)))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}const sL={separatorBorder:dd.Q1.transparent};class oL{set size(e){this._size=e}get size(){return this._size}get visible(){return void 0===this._cachedVisibleSize}setVisible(e,t){if(e!==this.visible){e?(this.size=(0,Ru.qE)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof t?t:this.size,this.size=0),this.container.classList.toggle("visible",e);try{this.view.setVisible?.(e)}catch(i){console.error("Splitview: Failed to set visible view"),console.error(i)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){return this.view.proportionalLayout??!0}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,i,n){this.container=e,this.view=t,this.disposable=n,this._cachedVisibleSize=void 0,"number"==typeof i?(this._size=i,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=i.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch(i){console.error("Splitview: Failed to layout view"),console.error(i)}}dispose(){this.disposable.dispose()}}class rL extends oL{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}}class aL extends oL{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}}var lL,hL;!function(e){e[e.Idle=0]="Idle",e[e.Busy=1]="Busy"}(lL||(lL={})),function(e){e.Distribute={type:"distribute"},e.Split=function(e){return{type:"split",index:e}},e.Auto=function(e){return{type:"auto",index:e}},e.Invisible=function(e){return{type:"invisible",cachedVisibleSize:e}}}(hL||(hL={}));class dL extends Ae.jG{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=lL.Idle,this._onDidSashChange=this._register(new P.vl),this._onDidSashReset=this._register(new P.vl),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=t.orientation??0,this.inverseAltBehavior=t.inverseAltBehavior??!1,this.proportionalLayout=t.proportionalLayout??!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(0===this.orientation?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=Gt(this.el,ei(".sash-container")),this.viewContainer=ei(".split-view-container"),this.scrollable=this._register(new ju({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:e=>nt(We(this.el),e)})),this.scrollableElement=this._register(new Ju(this.viewContainer,{vertical:0===this.orientation?t.scrollbarVisibility??1:2,horizontal:1===this.orientation?t.scrollbarVisibility??1:2},this.scrollable));const i=this._register(new zr(this.viewContainer,"scroll")).event;this._register(i((e=>{const t=this.scrollableElement.getScrollPosition(),i=Math.abs(this.viewContainer.scrollLeft-t.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,n=Math.abs(this.viewContainer.scrollTop-t.scrollTop)<=1?void 0:this.viewContainer.scrollTop;void 0===i&&void 0===n||this.scrollableElement.setScrollPosition({scrollLeft:i,scrollTop:n})}))),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll((e=>{e.scrollTopChanged&&(this.viewContainer.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this.viewContainer.scrollLeft=e.scrollLeft)}))),Gt(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||sL),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach(((e,t)=>{const i=rs.b0(e.visible)||e.visible?e.size:{type:"invisible",cachedVisibleSize:e.size},n=e.view;this.doAddView(n,i,t,!0)})),this._contentSize=this.viewItems.reduce(((e,t)=>e+t.size),0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,i=this.viewItems.length,n){this.doAddView(e,t,i,n)}layout(e,t){const i=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let t=0;for(let i=0;i0&&(n.size=(0,Ru.qE)(Math.round(s*e/t),n.minimumSize,n.maximumSize))}}else{const t=(0,na.y1)(this.viewItems.length),n=t.filter((e=>1===this.viewItems[e].priority)),s=t.filter((e=>2===this.viewItems[e].priority));this.resize(this.viewItems.length-1,e-i,void 0,n,s)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map((e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0)))}onSashStart({sash:e,start:t,alt:i}){for(const r of this.viewItems)r.enabled=!1;const n=this.sashItems.findIndex((t=>t.sash===e)),s=(0,Ae.qE)(Ye(this.el.ownerDocument.body,"keydown",(e=>o(this.sashDragState.current,e.altKey))),Ye(this.el.ownerDocument.body,"keyup",(()=>o(this.sashDragState.current,!1)))),o=(e,t)=>{const i=this.viewItems.map((e=>e.size));let o,r,a=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(t=!t),t){if(n===this.sashItems.length-1){const e=this.viewItems[n];a=(e.minimumSize-e.size)/2,l=(e.maximumSize-e.size)/2}else{const e=this.viewItems[n+1];a=(e.size-e.maximumSize)/2,l=(e.size-e.minimumSize)/2}}if(!t){const e=(0,na.y1)(n,-1),t=(0,na.y1)(n+1,this.viewItems.length),s=e.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-i[t])),0),a=e.reduce(((e,t)=>e+(this.viewItems[t].viewMaximumSize-i[t])),0),l=0===t.length?Number.POSITIVE_INFINITY:t.reduce(((e,t)=>e+(i[t]-this.viewItems[t].minimumSize)),0),h=0===t.length?Number.NEGATIVE_INFINITY:t.reduce(((e,t)=>e+(i[t]-this.viewItems[t].viewMaximumSize)),0),d=Math.max(s,h),c=Math.min(l,a),u=this.findFirstSnapIndex(e),g=this.findFirstSnapIndex(t);if("number"==typeof u){const e=this.viewItems[u],t=Math.floor(e.viewMinimumSize/2);o={index:u,limitDelta:e.visible?d-t:d+t,size:e.size}}if("number"==typeof g){const e=this.viewItems[g],t=Math.floor(e.viewMinimumSize/2);r={index:g,limitDelta:e.visible?c+t:c-t,size:e.size}}}this.sashDragState={start:e,current:e,index:n,sizes:i,minDelta:a,maxDelta:l,alt:t,snapBefore:o,snapAfter:r,disposable:s}};o(t,i)}onSashChange({current:e}){const{index:t,start:i,sizes:n,alt:s,minDelta:o,maxDelta:r,snapBefore:a,snapAfter:l}=this.sashDragState;this.sashDragState.current=e;const h=e-i,d=this.resize(t,h,n,void 0,void 0,o,r,a,l);if(s){const e=t===this.sashItems.length-1,i=this.viewItems.map((e=>e.size)),n=e?t:t+1,s=this.viewItems[n],o=s.size-s.maximumSize,r=s.size-s.minimumSize,a=e?t-1:t+1;this.resize(a,-d,i,void 0,void 0,o,r)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(e,t){const i=this.viewItems.indexOf(e);i<0||i>=this.viewItems.length||(t="number"==typeof t?t:e.size,t=(0,Ru.qE)(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&i>0?(this.resize(i-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([i],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==lL.Idle)throw new Error("Cant modify splitview");this.state=lL.Busy;try{const i=(0,na.y1)(this.viewItems.length).filter((t=>t!==e)),n=[...i.filter((e=>1===this.viewItems[e].priority)),e],s=i.filter((e=>2===this.viewItems[e].priority)),o=this.viewItems[e];t=Math.round(t),t=(0,Ru.qE)(t,o.minimumSize,Math.min(o.maximumSize,this.size)),o.size=t,this.relayout(n,s)}finally{this.state=lL.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const r of this.viewItems)r.maximumSize-r.minimumSize>0&&(e.push(r),t+=r.size);const i=Math.floor(t/e.length);for(const r of e)r.size=(0,Ru.qE)(i,r.minimumSize,r.maximumSize);const n=(0,na.y1)(this.viewItems.length),s=n.filter((e=>1===this.viewItems[e].priority)),o=n.filter((e=>2===this.viewItems[e].priority));this.relayout(s,o)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,i=this.viewItems.length,n){if(this.state!==lL.Idle)throw new Error("Cant modify splitview");this.state=lL.Busy;try{const s=ei(".split-view-view");i===this.viewItems.length?this.viewContainer.appendChild(s):this.viewContainer.insertBefore(s,this.viewContainer.children.item(i));const o=e.onDidChange((e=>this.onViewChange(h,e))),r=(0,Ae.s)((()=>s.remove())),a=(0,Ae.qE)(o,r);let l;"number"==typeof t?l=t:("auto"===t.type&&(t=this.areViewsDistributed()?{type:"distribute"}:{type:"split",index:t.index}),l="split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize);const h=0===this.orientation?new rL(s,e,l,a):new aL(s,e,l,a);if(this.viewItems.splice(i,0,h),this.viewItems.length>1){const e={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},t=0===this.orientation?new PS(this.sashContainer,{getHorizontalSashTop:e=>this.getSashPosition(e),getHorizontalSashWidth:this.getSashOrthogonalSize},{...e,orientation:1}):new PS(this.sashContainer,{getVerticalSashLeft:e=>this.getSashPosition(e),getVerticalSashHeight:this.getSashOrthogonalSize},{...e,orientation:0}),n=0===this.orientation?e=>({sash:t,start:e.startY,current:e.currentY,alt:e.altKey}):e=>({sash:t,start:e.startX,current:e.currentX,alt:e.altKey}),s=P.Jh.map(t.onDidStart,n)(this.onSashStart,this),o=P.Jh.map(t.onDidChange,n)(this.onSashChange,this),r=P.Jh.map(t.onDidEnd,(()=>this.sashItems.findIndex((e=>e.sash===t)))),a=r(this.onSashEnd,this),l=t.onDidReset((()=>{const e=this.sashItems.findIndex((e=>e.sash===t)),i=(0,na.y1)(e,-1),n=(0,na.y1)(e+1,this.viewItems.length),s=this.findFirstSnapIndex(i),o=this.findFirstSnapIndex(n);("number"!=typeof s||this.viewItems[s].visible)&&("number"!=typeof o||this.viewItems[o].visible)&&this._onDidSashReset.fire(e)})),h=(0,Ae.qE)(s,o,a,l,t),d={sash:t,disposable:h};this.sashItems.splice(i-1,0,d)}let d;s.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(d=[t.index]),n||this.relayout([i],d),n||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()}finally{this.state=lL.Idle}}relayout(e,t){const i=this.viewItems.reduce(((e,t)=>e+t.size),0);this.resize(this.viewItems.length-1,this.size-i,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,i=this.viewItems.map((e=>e.size)),n,s,o=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY,a,l){if(e<0||e>=this.viewItems.length)return 0;const h=(0,na.y1)(e,-1),d=(0,na.y1)(e+1,this.viewItems.length);if(s)for(const y of s)(0,na._A)(h,y),(0,na._A)(d,y);if(n)for(const y of n)(0,na.r7)(h,y),(0,na.r7)(d,y);const c=h.map((e=>this.viewItems[e])),u=h.map((e=>i[e])),g=d.map((e=>this.viewItems[e])),p=d.map((e=>i[e])),m=h.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-i[t])),0),f=h.reduce(((e,t)=>e+(this.viewItems[t].maximumSize-i[t])),0),_=0===d.length?Number.POSITIVE_INFINITY:d.reduce(((e,t)=>e+(i[t]-this.viewItems[t].minimumSize)),0),v=0===d.length?Number.NEGATIVE_INFINITY:d.reduce(((e,t)=>e+(i[t]-this.viewItems[t].maximumSize)),0),b=Math.max(m,v,o),C=Math.min(_,f,r);let w=!1;if(a){const e=this.viewItems[a.index],i=t>=a.limitDelta;w=i!==e.visible,e.setVisible(i,a.size)}if(!w&&l){const e=this.viewItems[l.index],i=te+t.size),0);let i=this.size-t;const n=(0,na.y1)(this.viewItems.length-1,-1),s=n.filter((e=>1===this.viewItems[e].priority)),o=n.filter((e=>2===this.viewItems[e].priority));for(const r of o)(0,na._A)(n,r);for(const r of s)(0,na.r7)(n,r);"number"==typeof e&&(0,na.r7)(n,e);for(let r=0;0!==i&&re+t.size),0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach((e=>e.sash.layout())),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){0===this.orientation?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map((t=>e=t.size-t.minimumSize>0||e));e=!1;const i=this.viewItems.map((t=>e=t.maximumSize-t.size>0||e)),n=[...this.viewItems].reverse();e=!1;const s=n.map((t=>e=t.size-t.minimumSize>0||e)).reverse();e=!1;const o=n.map((t=>e=t.maximumSize-t.size>0||e)).reverse();let r=0;for(let a=0;a0||this.startSnappingEnabled)?e.state=1:d&&t[a]&&(r0)return;if(!e.visible&&e.snap)return t}}areViewsDistributed(){let e,t;for(const i of this.viewItems)if(e=void 0===e?i.size:Math.min(e,i.size),t=void 0===t?i.size:Math.max(t,i.size),t-e>2)return!1;return!0}dispose(){this.sashDragState?.disposable.dispose(),(0,Ae.AS)(this.viewItems),this.viewItems=[],this.sashItems.forEach((e=>e.disposable.dispose())),this.sashItems=[],super.dispose()}}class cL{static{this.TemplateId="row"}constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=cL.TemplateId,this.renderedTemplates=new Set;const n=new Map(t.map((e=>[e.templateId,e])));this.renderers=[];for(const s of e){const e=n.get(s.templateId);if(!e)throw new Error(`Table cell renderer for template id ${s.templateId} not found.`);this.renderers.push(e)}}renderTemplate(e){const t=Gt(e,ei(".monaco-table-tr")),i=[],n=[];for(let o=0;othis.disposables.add(new uL(e,t)))),a={size:r.reduce(((e,t)=>e+t.column.weight),0),views:r.map((e=>({size:e.column.weight,view:e})))};this.splitview=this.disposables.add(new dL(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:a})),this.splitview.el.style.height=`${i.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${i.headerRowHeight}px`;const l=new cL(n,s,(e=>this.splitview.getViewSize(e)));var h;this.list=this.disposables.add(new Kg(e,this.domNode,(h=i,{getHeight:e=>h.getHeight(e),getTemplateId:()=>cL.TemplateId}),[l],o)),P.Jh.any(...r.map((e=>e.onDidLayout)))((([e,t])=>l.layoutColumn(e,t)),null,this.disposables),this.splitview.onDidSashReset((e=>{const t=n.reduce(((e,t)=>e+t.weight),0),i=n[e].weight/t*this.cachedWidth;this.splitview.resizeView(e,i)}),null,this.disposables),this.styleElement=Et(this.domNode),this.style(Fg)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,i=[]){this.list.splice(e,t,i)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=t.join("\n"),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}class pL extends Ou{constructor(e){super(),this._onChange=this._register(new P.vl),this.onChange=this._onChange.event,this._onKeyDown=this._register(new P.vl),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const t=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,t.push(...En.L.asClassNameArray(this._icon))),this._opts.actionClassName&&t.push(...this._opts.actionClassName.split(" ")),this._checked&&t.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(ud().setupManagedHover(e.hoverDelegate??ld("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...t),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,(e=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),e.preventDefault())})),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,(e=>{if(10===e.keyCode||3===e.keyCode)return this.checked=!this._checked,this._onChange.fire(!0),e.preventDefault(),void e.stopPropagation();this._onKeyDown.fire(e)}))}get enabled(){return"true"!==this.domNode.getAttribute("aria-disabled")}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}const mL=$n.kg("caseDescription","Match Case"),fL=$n.kg("wordsDescription","Match Whole Word"),_L=$n.kg("regexDescription","Use Regular Expression");class vL extends pL{constructor(e){super({icon:bl.W.caseSensitive,title:mL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ld("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class bL extends pL{constructor(e){super({icon:bl.W.wholeWord,title:fL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ld("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class CL extends pL{constructor(e){super({icon:bl.W.regex,title:_L+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ld("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class wL{constructor(e,t=0,i=e.length,n=t-1){this.items=e,this.start=t,this.end=i,this.index=n}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class yL{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return 0!==this._currentPosition()?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return null===this._navigator.current()}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new wL(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach((t=>e.push(t))),e}}const SL=ei;class kL extends Ou{constructor(e,t,i){super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new P.vl),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new P.vl),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=i,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=this.options.tooltip??(this.placeholder||""),this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=Gt(e,SL(".monaco-inputbox.idle"));const n=this.options.flexibleHeight?"textarea":"input",s=Gt(this.element,SL(".ibwrapper"));if(this.input=Gt(s,SL(n+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,(()=>this.element.classList.add("synthetic-focus"))),this.onblur(this.input,(()=>this.element.classList.remove("synthetic-focus"))),this.options.flexibleHeight){this.maxHeight="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=Gt(s,SL("div.mirror")),this.mirror.innerText="\xa0",this.scrollableElement=new Xu(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),Gt(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll((e=>this.input.scrollTop=e.scrollTop)));const t=this._register(new zr(e.ownerDocument,"selectionchange")),i=P.Jh.filter(t.event,(()=>{const t=e.ownerDocument.getSelection();return t?.anchorNode===s}));this._register(i(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,(()=>this.onValueChange())),this.onblur(this.input,(()=>this.onBlur())),this.onfocus(this.input,(()=>this.onFocus())),this._register(this.ignoreGesture(this.input)),setTimeout((()=>this.updateMirror()),0),this.options.actions&&(this.actionbar=this._register(new ep(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(ud().setupManagedHover(ld("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:ft(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return St(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){const e=this.input.selectionStart;if(null===e)return null;return{start:e,end:this.input.selectionEnd??e}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,i=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:i})}showMessage(e,t){if("open"===this.state&&(0,ql.aI)(this.message,e))return;this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const i=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${ai(i.border,"transparent")}`,this.message.content&&(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),e?.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=gt(this.element)+"px";let i;this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:i=>{if(!this.message)return null;e=Gt(i,SL(".monaco-inputbox-container")),t();const n={inline:!0,className:"monaco-inputbox-message"},s=this.message.formatContent?Ll(this.message.content,n):function(e,t={}){const i=xl(t);return i.textContent=e,i}(this.message.content,n);s.classList.add(this.classForType(this.message.type));const o=this.stylesForType(this.message.type);return s.style.backgroundColor=o.background??"",s.style.color=o.foreground??"",s.style.border=o.border?`1px solid ${o.border}`:"",Gt(e,s),null},onHide:()=>{this.state="closed"},layout:t}),i=3===this.message.type?$n.kg("alertErrorMessage","Error: {0}",this.message.content):2===this.message.type?$n.kg("alertWarningMessage","Warning: {0}",this.message.content):$n.kg("alertInfoMessage","Info: {0}",this.message.content),wi(i),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,t=10===e.charCodeAt(e.length-1)?" ":"";(e+t).replace(/\u000c/g,"")?this.mirror.textContent=e+t:this.mirror.innerText="\xa0",this.layout()}applyStyles(){const e=this.options.inputBoxStyles,t=e.inputBackground??"",i=e.inputForeground??"",n=e.inputBorder??"";this.element.style.backgroundColor=t,this.element.style.color=i,this.input.style.backgroundColor="inherit",this.input.style.color=i,this.element.style.border=`1px solid ${ai(n,"transparent")}`}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=ft(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,i=t.selectionStart,n=t.selectionEnd,s=t.value;null!==i&&null!==n&&(this.value=s.substr(0,i)+e+s.substr(n),t.setSelectionRange(i+1,i+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar?.dispose(),super.dispose()}}class LL extends kL{constructor(e,t,i){const n=$n.kg({key:"history.inputbox.hint.suffix.noparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis ")", for example "Filter (e.g. text, !exclude)". The character inserted into the final string is \u21c5 to represent the up and down arrow keys.']}," or {0} for history","\u21c5"),s=$n.kg({key:"history.inputbox.hint.suffix.inparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. "Find"). The character inserted into the final string is \u21c5 to represent the up and down arrow keys.']}," ({0} for history)","\u21c5");super(e,t,i),this._onDidFocus=this._register(new P.vl),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new P.vl),this.onDidBlur=this._onDidBlur.event,this.history=new yL(i.history,100);const o=()=>{if(i.showHistoryHint&&i.showHistoryHint()&&!this.placeholder.endsWith(n)&&!this.placeholder.endsWith(s)&&this.history.getHistory().length){const e=this.placeholder.endsWith(")")?n:s,t=this.placeholder+e;i.showPlaceholderOnFocus&&!St(this.input)?this.placeholder=t:this.setPlaceHolder(t)}};this.observer=new MutationObserver(((e,t)=>{e.forEach((e=>{e.target.textContent||o()}))})),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,(()=>o())),this.onblur(this.input,(()=>{const e=e=>{if(this.placeholder.endsWith(e)){const t=this.placeholder.slice(0,this.placeholder.length-e.length);return i.showPlaceholderOnFocus?this.placeholder=t:this.setPlaceHolder(t),!0}return!1};e(s)||e(n)}))}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=e??"",yi(this.value?this.value:$n.kg("clearedInput","Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,yi(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const xL=$n.kg("defaultLabel","input");class DL extends Ou{constructor(e,t,i){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new Ae.HE),this.additionalToggles=[],this._onDidOptionChange=this._register(new P.vl),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new P.vl),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new P.vl),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new P.vl),this._onKeyUp=this._register(new P.vl),this._onCaseSensitiveKeyDown=this._register(new P.vl),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new P.vl),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||xL,this.showCommonFindToggles=!!i.showCommonFindToggles;const n=i.appendCaseSensitiveLabel||"",s=i.appendWholeWordsLabel||"",o=i.appendRegexLabel||"",r=i.history||[],a=!!i.flexibleHeight,l=!!i.flexibleWidth,h=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new LL(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:i.showHistoryHint,flexibleHeight:a,flexibleWidth:l,flexibleMaxHeight:h,inputBoxStyles:i.inputBoxStyles}));const d=this._register(hd());if(this.showCommonFindToggles){this.regex=this._register(new CL({appendTitle:o,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.regex.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.regex.onKeyDown((e=>{this._onRegexKeyDown.fire(e)}))),this.wholeWords=this._register(new bL({appendTitle:s,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.wholeWords.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this.caseSensitive=this._register(new vL({appendTitle:n,isChecked:!1,hoverDelegate:d,...i.toggleStyles})),this._register(this.caseSensitive.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.caseSensitive.onKeyDown((e=>{this._onCaseSensitiveKeyDown.fire(e)})));const e=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const i=e.indexOf(this.domNode.ownerDocument.activeElement);if(i>=0){let n=-1;t.equals(17)?n=(i+1)%e.length:t.equals(15)&&(n=0===i?e.length-1:i-1),t.equals(9)?(e[i].blur(),this.inputBox.focus()):n>=0&&e[n].focus(),jt(t,!0)}}}))}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(i?.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),e?.appendChild(this.domNode),this._register(Ye(this.inputBox.inputElement,"compositionstart",(e=>{this.imeSessionInProgress=!0}))),this._register(Ye(this.inputBox.inputElement,"compositionend",(e=>{this.imeSessionInProgress=!1,this._onInput.fire()}))),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex?.enable(),this.wholeWords?.enable(),this.caseSensitive?.enable();for(const e of this.additionalToggles)e.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex?.disable(),this.wholeWords?.disable(),this.caseSensitive?.disable();for(const e of this.additionalToggles)e.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new Ae.Cm;for(const t of e??[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()}))),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){this.inputBox.paddingRight=e?0:(this.caseSensitive?.width()??0)+(this.wholeWords?.width()??0)+(this.regex?.width()??0)+this.additionalToggles.reduce(((e,t)=>e+t.width()),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive?.checked??!1}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){return this.wholeWords?.checked??!1}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){return this.regex?.checked??!1}setRegex(e){this.regex&&(this.regex.checked=e,this.validate())}focusOnCaseSensitive(){this.caseSensitive?.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}}var NL,IL;!function(e){e[e.Expanded=0]="Expanded",e[e.Collapsed=1]="Collapsed",e[e.PreserveOrExpanded=2]="PreserveOrExpanded",e[e.PreserveOrCollapsed=3]="PreserveOrCollapsed"}(NL||(NL={})),function(e){e[e.Unknown=0]="Unknown",e[e.Twistie=1]="Twistie",e[e.Element=2]="Element",e[e.Filter=3]="Filter"}(IL||(IL={}));class EL extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class ML{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}var TL,RL=i(51055),AL=i(47531);function PL(e){return"object"==typeof e&&"visibility"in e&&"data"in e}function OL(e){switch(e){case!0:return 1;case!1:return 0;default:return e}}function FL(e){return"boolean"==typeof e.collapsible}class WL{constructor(e,t,i,n={}){this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new P.at,this._onDidChangeCollapseState=new P.vl,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new P.vl,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new P.vl,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new A.ve(RL.h),this.collapseByDefault=void 0!==n.collapseByDefault&&n.collapseByDefault,this.allowNonCollapsibleParents=n.allowNonCollapsibleParents??!1,this.filter=n.filter,this.autoExpandSingleChildren=void 0!==n.autoExpandSingleChildren&&n.autoExpandSingleChildren,this.root={parent:void 0,element:i,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,i=os.f.empty(),n={}){if(0===e.length)throw new EL(this.user,"Invalid tree location");n.diffIdentityProvider?this.spliceSmart(n.diffIdentityProvider,e,t,i,n):this.spliceSimple(e,t,i,n)}spliceSmart(e,t,i,n=os.f.empty(),s,o=s.diffDepth??0){const{parentNode:r}=this.getParentNodeWithListIndex(t);if(!r.lastDiffIds)return this.spliceSimple(t,i,n,s);const a=[...n],l=t[t.length-1],h=new AL.uP({getElements:()=>r.lastDiffIds},{getElements:()=>[...r.children.slice(0,l),...a,...r.children.slice(l+i)].map((t=>e.getId(t.element).toString()))}).ComputeDiff(!1);if(h.quitEarly)return r.lastDiffIds=void 0,this.spliceSimple(t,i,a,s);const d=t.slice(0,-1),c=(t,i,n)=>{if(o>0)for(let r=0;rt.originalStart-e.originalStart)))c(u,g,u-(p.originalStart+p.originalLength)),u=p.originalStart,g=p.modifiedStart-l,this.spliceSimple([...d,u],p.originalLength,os.f.slice(a,g,g+p.modifiedLength),s);c(u,g,u)}spliceSimple(e,t,i=os.f.empty(),{onDidCreateNode:n,onDidDeleteNode:s,diffIdentityProvider:o}){const{parentNode:r,listIndex:a,revealed:l,visible:h}=this.getParentNodeWithListIndex(e),d=[],c=os.f.map(i,(e=>this.createTreeNode(e,r,r.visible?1:0,l,d,n))),u=e[e.length-1];let g=0;for(let C=u;C>=0&&Co.getId(e.element).toString()))):r.lastDiffIds=r.children.map((e=>o.getId(e.element).toString())):r.lastDiffIds=void 0;let v=0;for(const C of _)C.visible&&v++;if(0!==v)for(let C=u+p.length;Ce+(t.visible?t.renderNodeCount:0)),0);this._updateAncestorsRenderNodeCount(r,f-e),this.list.splice(a,e,d)}if(_.length>0&&s){const e=t=>{s(t),t.children.forEach(e)};_.forEach(e)}this._onDidSplice.fire({insertedNodes:p,deletedNodes:_});let b=r;for(;b;){if(2===b.visibility){this.refilterDelayer.trigger((()=>this.refilter()));break}b=b.parent}}rerender(e){if(0===e.length)throw new EL(this.user,"Invalid tree location");const{node:t,listIndex:i,revealed:n}=this.getTreeNodeWithListIndex(e);t.visible&&n&&this.list.splice(i,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:i,revealed:n}=this.getTreeNodeWithListIndex(e);return i&&n?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const i=this.getTreeNode(e);void 0===t&&(t=!i.collapsible);const n={collapsible:t};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,n)))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,i){const n=this.getTreeNode(e);void 0===t&&(t=!n.collapsed);const s={collapsed:t,recursive:i||!1};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,s)))}_setCollapseState(e,t){const{node:i,listIndex:n,revealed:s}=this.getTreeNodeWithListIndex(e),o=this._setListNodeCollapseState(i,n,s,t);if(i!==this.root&&this.autoExpandSingleChildren&&o&&!FL(t)&&i.collapsible&&!i.collapsed&&!t.recursive){let n=-1;for(let e=0;e-1){n=-1;break}n=e}}n>-1&&this._setCollapseState([...e,n],t)}return o}_setListNodeCollapseState(e,t,i,n){const s=this._setNodeCollapseState(e,n,!1);if(!i||!e.visible||!s)return s;const o=e.renderNodeCount,r=this.updateNodeAfterCollapseChange(e),a=o-(-1===t?0:1);return this.list.splice(t+1,a,r.slice(1)),s}_setNodeCollapseState(e,t,i){let n;if(e===this.root?n=!1:(FL(t)?(n=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(n=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):n=!1,n&&this._onDidChangeCollapseState.fire({node:e,deep:i})),!FL(t)&&t.recursive)for(const s of e.children)n=this._setNodeCollapseState(s,t,!0)||n;return n}expandTo(e){this.eventBufferer.bufferEvents((()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})}))}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,i,n,s,o){const r={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:"boolean"==typeof e.collapsible?e.collapsible:void 0!==e.collapsed,collapsed:void 0===e.collapsed?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},a=this._filterNode(r,i);r.visibility=a,n&&s.push(r);const l=e.children||os.f.empty(),h=n&&0!==a&&!r.collapsed;let d=0,c=1;for(const u of l){const e=this.createTreeNode(u,r,a,h,s,o);r.children.push(e),c+=e.renderNodeCount,e.visible&&(e.visibleChildIndex=d++)}return this.allowNonCollapsibleParents||(r.collapsible=r.collapsible||r.children.length>0),r.visibleChildrenCount=d,r.visible=2===a?d>0:1===a,r.visible?r.collapsed||(r.renderNodeCount=c):(r.renderNodeCount=0,n&&s.pop()),o?.(r),r}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterCollapseChange(e,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterCollapseChange(e,t){if(!1===e.visible)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const i of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(i,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterFilterChange(e,t,i,n=!0){let s;if(e!==this.root){if(s=this._filterNode(e,t),0===s)return e.visible=!1,e.renderNodeCount=0,!1;n&&i.push(e)}const o=i.length;e.renderNodeCount=e===this.root?0:1;let r=!1;if(e.collapsed&&0===s)e.visibleChildrenCount=0;else{let t=0;for(const o of e.children)r=this._updateNodeAfterFilterChange(o,s,i,n&&!e.collapsed)||r,o.visible&&(o.visibleChildIndex=t++);e.visibleChildrenCount=t}return e!==this.root&&(e.visible=2===s?r:1===s,e.visibility=s),e.visible?e.collapsed||(e.renderNodeCount+=i.length-o):(e.renderNodeCount=0,n&&i.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(0!==t)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const i=this.filter?this.filter.filter(e.element,t):1;return"boolean"==typeof i?(e.filterData=void 0,i?1:0):PL(i)?(e.filterData=i.data,OL(i.visibility)):(e.filterData=void 0,OL(i))}hasTreeNode(e,t=this.root){if(!e||0===e.length)return!0;const[i,...n]=e;return!(i<0||i>t.children.length)&&this.hasTreeNode(n,t.children[i])}getTreeNode(e,t=this.root){if(!e||0===e.length)return t;const[i,...n]=e;if(i<0||i>t.children.length)throw new EL(this.user,"Invalid tree location");return this.getTreeNode(n,t.children[i])}getTreeNodeWithListIndex(e){if(0===e.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:i,revealed:n,visible:s}=this.getParentNodeWithListIndex(e),o=e[e.length-1];if(o<0||o>t.children.length)throw new EL(this.user,"Invalid tree location");const r=t.children[o];return{node:r,listIndex:i,revealed:n,visible:s&&r.visible}}getParentNodeWithListIndex(e,t=this.root,i=0,n=!0,s=!0){const[o,...r]=e;if(o<0||o>t.children.length)throw new EL(this.user,"Invalid tree location");for(let a=0;ae.element))),this.data=e}}function HL(e){return e instanceof hg?new BL(e):e}class VL{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=Ae.jG.None,this.disposables=new Ae.Cm}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){this.dnd.onDragStart?.(HL(e),t)}onDragOver(e,t,i,n,s,o=!0){const r=this.dnd.onDragOver(HL(e),t&&t.element,i,n,s),a=this.autoExpandNode!==t;if(a&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),void 0===t)return r;if(a&&"boolean"!=typeof r&&r.autoExpand&&(this.autoExpandDisposable=(0,A.EQ)((()=>{const e=this.modelProvider(),i=e.getNodeLocation(t);e.isCollapsed(i)&&e.setCollapsed(i,!1),this.autoExpandNode=void 0}),500,this.disposables)),"boolean"==typeof r||!r.accept||void 0===r.bubble||r.feedback){if(!o){return{accept:"boolean"==typeof r?r:r.accept,effect:"boolean"==typeof r?void 0:r.effect,feedback:[i]}}return r}if(1===r.bubble){const i=this.modelProvider(),o=i.getNodeLocation(t),r=i.getParentNodeLocation(o),a=i.getNode(r),l=r&&i.getListIndex(r);return this.onDragOver(e,a,l,n,s,!1)}const l=this.modelProvider(),h=l.getNodeLocation(t),d=l.getListIndex(h),c=l.getListRenderCount(h);return{...r,feedback:(0,na.y1)(d,d+c)}}drop(e,t,i,n,s){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(HL(e),t&&t.element,i,n,s)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function zL(e,t){return t&&{...t,identityProvider:t.identityProvider&&{getId:e=>t.identityProvider.getId(e.element)},dnd:t.dnd&&new VL(e,t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent:e=>t.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element}),isSelectionRangeChangeEvent:e=>t.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})},accessibilityProvider:t.accessibilityProvider&&{...t.accessibilityProvider,getSetSize(t){const i=e(),n=i.getNodeLocation(t),s=i.getParentNodeLocation(n);return i.getNode(s).visibleChildrenCount},getPosInSet:e=>e.visibleChildIndex+1,isChecked:t.accessibilityProvider&&t.accessibilityProvider.isChecked?e=>t.accessibilityProvider.isChecked(e.element):void 0,getRole:t.accessibilityProvider&&t.accessibilityProvider.getRole?e=>t.accessibilityProvider.getRole(e.element):()=>"treeitem",getAriaLabel:e=>t.accessibilityProvider.getAriaLabel(e.element),getWidgetAriaLabel:()=>t.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:t.accessibilityProvider&&t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:t.accessibilityProvider&&t.accessibilityProvider.getAriaLevel?e=>t.accessibilityProvider.getAriaLevel(e.element):e=>e.depth,getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(e=>t.accessibilityProvider.getActiveDescendantId(e.element))},keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:e=>t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}}class UL{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){this.delegate.setDynamicHeight?.(e.element,t)}}!function(e){e.None="none",e.OnHover="onHover",e.Always="always"}(TL||(TL={}));class KL{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new Ae.Cm,this.onDidChange=P.Jh.forEach(e,(e=>this._elements=e),this.disposables)}dispose(){this.disposables.dispose()}}class jL{static{this.DefaultIndent=8}constructor(e,t,i,n,s,o={}){this.renderer=e,this.modelProvider=t,this.activeNodes=n,this.renderedIndentGuides=s,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=jL.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=Ae.jG.None,this.disposables=new Ae.Cm,this.templateId=e.templateId,this.updateOptions(o),P.Jh.map(i,(e=>e.node))(this.onDidChangeNodeTwistieState,this,this.disposables),e.onDidChangeTwistieState?.(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(void 0!==e.indent){const t=(0,Ru.qE)(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[e,t]of this.renderedNodes)this.renderTreeElement(e,t)}}if(void 0!==e.renderIndentGuides){const t=e.renderIndentGuides!==TL.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[e,t]of this.renderedNodes)this._renderIndentGuides(e,t);if(this.indentGuidesDisposable.dispose(),t){const e=new Ae.Cm;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,e),this.indentGuidesDisposable=e,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}void 0!==e.hideTwistiesOfChildlessElements&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=Gt(e,ei(".monaco-tl-row")),i=Gt(t,ei(".monaco-tl-indent")),n=Gt(t,ei(".monaco-tl-twistie")),s=Gt(t,ei(".monaco-tl-contents")),o=this.renderer.renderTemplate(s);return{container:e,indent:i,twistie:n,indentGuidesDisposable:Ae.jG.None,templateData:o}}renderElement(e,t,i,n){this.renderedNodes.set(e,i),this.renderedElements.set(e.element,e),this.renderTreeElement(e,i),this.renderer.renderElement(e,t,i.templateData,n)}disposeElement(e,t,i,n){i.indentGuidesDisposable.dispose(),this.renderer.disposeElement?.(e,t,i.templateData,n),"number"==typeof n&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const i=jL.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft=`${i}px`,t.indent.style.width=i+this.indent-16+"px",e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...En.L.asClassNameArray(bl.W.treeItemExpanded));let n=!1;this.renderer.renderTwistie&&(n=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(n||t.twistie.classList.add(...En.L.asClassNameArray(bl.W.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(Ge(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const i=new Ae.Cm,n=this.modelProvider();for(;;){const s=n.getNodeLocation(e),o=n.getParentNodeLocation(s);if(!o)break;const r=n.getNode(o),a=ei(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(r)&&a.classList.add("active"),0===t.indent.childElementCount?t.indent.appendChild(a):t.indent.insertBefore(a,t.indent.firstElementChild),this.renderedIndentGuides.add(r,a),i.add((0,Ae.s)((()=>this.renderedIndentGuides.delete(r,a)))),e=r}t.indentGuidesDisposable=i}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,i=this.modelProvider();e.forEach((e=>{const n=i.getNodeLocation(e);try{const s=i.getParentNodeLocation(n);e.collapsible&&e.children.length>0&&!e.collapsed?t.add(e):s&&t.add(i.getNode(s))}catch{}})),this.activeIndentNodes.forEach((e=>{t.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.remove("active")))})),t.forEach((e=>{this.activeIndentNodes.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.add("active")))})),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),(0,Ae.AS)(this.disposables)}}class $L{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new Ae.Cm,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let i=1;if(this._filter){const n=this._filter.filter(e,t);if(i="boolean"==typeof n?n?1:0:PL(n)?OL(n.visibility):n,0===i)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:kn.Default,visibility:i};const n=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),s=Array.isArray(n)?n:[n];for(const o of s){const e=o&&o.toString();if(void 0===e)return{data:kn.Default,visibility:i};let t;if(this.tree.findMatchType===GL.Contiguous){const i=e.toLowerCase().indexOf(this._lowercasePattern);if(i>-1){t=[Number.MAX_SAFE_INTEGER,0];for(let e=this._lowercasePattern.length;e>0;e--)t.push(i+e-1)}}else t=xn(this._pattern,this._lowercasePattern,0,e,e.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(t)return this._matchCount++,1===s.length?{data:t,visibility:i}:{data:{label:e,score:t},visibility:i}}return this.tree.findMode===qL.Filter?"number"==typeof this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:kn.Default,visibility:i}}reset(){this._totalCount=0,this._matchCount=0}dispose(){(0,Ae.AS)(this.disposables)}}var qL,GL;!function(e){e[e.Highlight=0]="Highlight",e[e.Filter=1]="Filter"}(qL||(qL={})),function(e){e[e.Fuzzy=0]="Fuzzy",e[e.Contiguous=1]="Contiguous"}(GL||(GL={}));Ae.jG;class QL{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,i,n,s,o={}){this.tree=e,this.view=i,this.filter=n,this.contextViewProvider=s,this.options=o,this._pattern="",this.width=0,this._onDidChangeMode=new P.vl,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new P.vl,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new P.vl,this._onDidChangeOpenState=new P.vl,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new Ae.Cm,this.disposables=new Ae.Cm,this._mode=e.options.defaultFindMode??qL.Highlight,this._matchType=e.options.defaultFindMatchType??GL.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){void 0!==e.defaultFindMode&&(this.mode=e.defaultFindMode),void 0!==e.defaultFindMatchType&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){this.widget&&0!==this.pattern.length&&(this.tree.refilter(),this.render())}render(){const e=this.filter.totalCount>0&&0===this.filter.matchCount;this.pattern&&e?(wi((0,$n.kg)("replFindNoResults","No results")),this.tree.options.showNotFoundMessage??1?this.widget?.showMessage({type:2,content:(0,$n.kg)("not found","No elements found.")}):this.widget?.showMessage({type:2})):(this.widget?.clearMessage(),this.pattern&&wi((0,$n.kg)("replFindResults","{0} results",this.filter.matchCount)))}shouldAllowFocus(e){return!this.widget||!this.pattern||(this.filter.totalCount>0&&this.filter.matchCount<=1||!kn.isDefault(e.filterData))}layout(e){this.width=e,this.widget?.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function YL(e,t){return e.position===t.position&&ZL(e,t)}function ZL(e,t){return e.node.element===t.node.element&&e.startIndex===t.startIndex&&e.height===t.height&&e.endIndex===t.endIndex}class XL{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return(0,na.aI)(this.stickyNodes,e.stickyNodes,YL)}lastNodePartiallyVisible(){if(0===this.count)return!1;const e=this.stickyNodes[this.count-1];if(1===this.count)return 0!==e.position;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!(0,na.aI)(this.stickyNodes,e.stickyNodes,ZL))return!1;if(0===this.count)return!1;const t=this.stickyNodes[this.count-1],i=e.stickyNodes[e.count-1];return t.position!==i.position}}class JL{constrainStickyScrollNodes(e,t,i){for(let n=0;ni||n>=t)return e.slice(0,n)}return e}}class ex extends Ae.jG{constructor(e,t,i,n,s,o={}){super(),this.tree=e,this.model=t,this.view=i,this.treeDelegate=s,this.maxWidgetViewRatio=.4;const r=this.validateStickySettings(o);this.stickyScrollMaxItemCount=r.stickyScrollMaxItemCount,this.stickyScrollDelegate=o.stickyScrollDelegate??new JL,this._widget=this._register(new tx(i.getScrollableElement(),i,e,n,s,o.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(i.onDidScroll((()=>this.update()))),this._register(i.onDidChangeContentHeight((()=>this.update()))),this._register(e.onDidChangeCollapseState((()=>this.update()))),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(t=0===e?this.view.firstVisibleIndex:this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||0===this.tree.scrollTop)return void this._widget.setState(void 0);const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let i=e,n=0,s=this.getNextStickyNode(i,void 0,n);for(;s&&(t.push(s),n+=s.height,!(t.length<=this.stickyScrollMaxItemCount)||(i=this.getNextVisibleNode(s),i));)s=this.getNextStickyNode(i,s.node,n);const o=this.constrainStickyNodes(t);return o.length?new XL(o):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,i){const n=this.getAncestorUnderPrevious(e,t);if(n){if(n===e){if(!this.nodeIsUncollapsedParent(e))return;if(this.nodeTopAlignsWithStickyNodesBottom(e,i))return}return this.createStickyScrollNode(n,i)}}nodeTopAlignsWithStickyNodesBottom(e,t){const i=this.getNodeIndex(e),n=this.view.getElementTop(i),s=t;return this.view.scrollTop===n-s}createStickyScrollNode(e,t){const i=this.treeDelegate.getHeight(e),{startIndex:n,endIndex:s}=this.getNodeRange(e);return{node:e,position:this.calculateStickyNodePosition(s,t,i),height:i,startIndex:n,endIndex:s}}getAncestorUnderPrevious(e,t=void 0){let i=e,n=this.getParentNode(i);for(;n;){if(n===t)return i;i=n,n=this.getParentNode(i)}if(void 0===t)return i}calculateStickyNodePosition(e,t,i){let n=this.view.getRelativeTop(e);if(null===n&&this.view.firstVisibleIndex===e&&e+1r&&t<=r?r-i:t}constrainStickyNodes(e){if(0===e.length)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,i=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&i.position+i.height<=t)return e;const n=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!n.length)return[];const s=n[n.length-1];if(n.length>this.stickyScrollMaxItemCount||s.position+s.height>t)throw new Error("stickyScrollDelegate violates constraints");return n}getParentNode(e){const t=this.model.getNodeLocation(e),i=this.model.getParentNodeLocation(t);return i?this.model.getNode(i):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),i=this.model.getListIndex(t);if(i<0)throw new Error("Node not found in tree");return{startIndex:i,endIndex:i+this.model.getListRenderCount(t)-1}}nodePositionTopBelowWidget(e){const t=[];let i=this.getParentNode(e);for(;i;)t.push(i),i=this.getParentNode(i);let n=0;for(let s=0;s0,i=!!e&&e.count>0;if(!t&&!i||t&&i&&this._previousState.equal(e))return;if(t!==i&&this.setVisible(i),!i)return this._previousState=void 0,this._previousElements=[],void this._previousStateDisposables.clear();const n=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${n.position}px`;else{this._previousStateDisposables.clear();const t=Array(e.count);for(let i=e.count-1;i>=0;i--){const n=e.stickyNodes[i],{element:s,disposable:o}=this.createElement(n,i,e.count);t[i]=s,this._rootDomNode.appendChild(s),this._previousStateDisposables.add(o)}this.stickyScrollFocus.updateElements(t,e),this._previousElements=t}this._previousState=e,this._rootDomNode.style.height=`${n.position+n.height}px`}createElement(e,t,i){const n=e.startIndex,s=document.createElement("div");s.style.top=`${e.position}px`,!1!==this.tree.options.setRowHeight&&(s.style.height=`${e.height}px`),!1!==this.tree.options.setRowLineHeight&&(s.style.lineHeight=`${e.height}px`),s.classList.add("monaco-tree-sticky-row"),s.classList.add("monaco-list-row"),s.setAttribute("data-index",`${n}`),s.setAttribute("data-parity",n%2==0?"even":"odd"),s.setAttribute("id",this.view.getElementID(n));const o=this.setAccessibilityAttributes(s,e.node.element,t,i),r=this.treeDelegate.getTemplateId(e.node),a=this.treeRenderers.find((e=>e.templateId===r));if(!a)throw new Error(`No renderer found for template id ${r}`);let l=e.node;l===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(l=new Proxy(e.node,{}));const h=a.renderTemplate(s);a.renderElement(l,e.startIndex,h,e.height);const d=(0,Ae.s)((()=>{o.dispose(),a.disposeElement(l,e.startIndex,h,e.height),a.disposeTemplate(h),s.remove()}));return{element:s,disposable:d}}setAccessibilityAttributes(e,t,i,n){if(!this.accessibilityProvider)return Ae.jG.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,i,n))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,i))),this.accessibilityProvider.getRole&&e.setAttribute("role",this.accessibilityProvider.getRole(t)??"treeitem");const s=this.accessibilityProvider.getAriaLabel(t),o=s&&"string"!=typeof s?s:(0,fg.lk)(s),r=(0,fg.fm)((t=>{const i=t.readObservable(o);i?e.setAttribute("aria-label",i):e.removeAttribute("aria-label")}));"string"==typeof s||s&&e.setAttribute("aria-label",s.get());const a=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return"number"==typeof a&&e.setAttribute("aria-level",`${a}`),e.setAttribute("aria-selected",String(!1)),r}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}}class ix extends Ae.jG{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new P.vl,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new P.vl,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register(Ye(this.container,"focus",(()=>this.onFocus()))),this._register(Ye(this.container,"blur",(()=>this.onBlur()))),this._register(this.view.onDidFocus((()=>this.toggleStickyScrollFocused(!1)))),this._register(this.view.onKeyDown((e=>this.onKeyDown(e)))),this._register(this.view.onMouseDown((e=>this.onMouseDown(e)))),this._register(this.view.onContextMenu((e=>this.handleContextMenu(e))))}handleContextMenu(e){const t=e.browserEvent.target;if(!xg(t)&&!Lg(t))return void(this.focusedLast()&&this.view.domFocus());if(!zt(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const t=this.state.stickyNodes.findIndex((t=>t.node.element===e.element?.element));if(-1===t)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");return this.container.focus(),void this.setFocus(t)}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const i=this.state.stickyNodes[this.focusedIndex].node.element,n=this.elements[this.focusedIndex];this._onContextMenu.fire({element:i,anchor:n,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state)if("ArrowUp"===e.key)this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if("ArrowDown"===e.key||"ArrowRight"===e.key){if(this.focusedIndex>=this.state.count-1){const e=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([e]),this.scrollNodeUnderWidget(e,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}onMouseDown(e){const t=e.browserEvent.target;(xg(t)||Lg(t))&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&0===t.count)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const i=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const e=(0,Ru.qE)(i,0,t.count-1);this.setFocus(e)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,s=this.view.getElementTop(e),o=n?n.position+n.height+i.height:i.height;this.view.scrollTop=s-o}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return!!this.state&&this.view.getHTMLElement().classList.contains("sticky-scroll-focused")}removeFocus(){-1!==this.focusedIndex&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){-1!==this.focusedIndex&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||0===this.elements.length)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),-1===this.focusedIndex&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function nx(e){let t=IL.Unknown;return vt(e.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?t=IL.Twistie:vt(e.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?t=IL.Element:vt(e.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(t=IL.Filter),{browserEvent:e.browserEvent,element:e.element?e.element.element:null,target:t}}function sx(e){const t=xg(e.browserEvent.target);return{element:e.element?e.element.element:null,browserEvent:e.browserEvent,anchor:e.anchor,isStickyScroll:t}}function ox(e,t){t(e),e.children.forEach((e=>ox(e,t)))}class rx{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event}set(e,t){!t?.__forceEvent&&(0,na.aI)(this.nodes,e)||this._set(e,!1,t)}_set(e,t,i){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const e=this;this._onDidChange.fire({get elements(){return e.get()},browserEvent:i})}}get(){return this.elements||(this.elements=this.nodes.map((e=>e.element))),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const e=this.createNodeSet(),i=t=>e.delete(t);return t.forEach((e=>ox(e,i))),void this.set([...e.values()])}const i=new Set,n=e=>i.add(this.identityProvider.getId(e.element).toString());t.forEach((e=>ox(e,n)));const s=new Map,o=e=>s.set(this.identityProvider.getId(e.element).toString(),e);e.forEach((e=>ox(e,o)));const r=[];for(const a of this.nodes){const e=this.identityProvider.getId(a.element).toString();if(i.has(e)){const t=s.get(e);t&&t.visible&&r.push(t)}else r.push(a)}if(this.nodes.length>0&&0===r.length){const e=this.getFirstViewElementWithTrait();e&&r.push(e)}this._set(r,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class ax extends Pg{constructor(e,t,i){super(e),this.tree=t,this.stickyScrollProvider=i}onViewPointer(e){if(Dg(e.browserEvent.target)||yg(e.browserEvent.target)||kg(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const i=e.browserEvent.target,n=i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,s=Lg(e.browserEvent.target);let o=!1;if(o=!!s||("function"==typeof this.tree.expandOnlyOnTwistieClick?this.tree.expandOnlyOnTwistieClick(t.element):!!this.tree.expandOnlyOnTwistieClick),s)this.handleStickyScrollMouseEvent(e,t);else{if(o&&!n&&2!==e.browserEvent.detail)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&2===e.browserEvent.detail)return super.onViewPointer(e)}if(t.collapsible&&(!s||n)){const i=this.tree.getNodeLocation(t),s=e.browserEvent.altKey;if(this.tree.setFocus([i]),this.tree.toggleCollapsed(i,s),n)return void(e.browserEvent.isHandledByList=!0)}s||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(function(e){return Sg(e,"monaco-custom-toggle")}(e.browserEvent.target)||function(e){return Sg(e,"action-item")}(e.browserEvent.target))return;const i=this.stickyScrollProvider();if(!i)throw new Error("Sticky scroll controller not found");const n=this.list.indexOf(t),s=this.list.getElementTop(n),o=i.nodePositionTopBelowWidget(t);this.tree.scrollTop=s-o,this.list.domFocus(),this.list.setFocus([n]),this.list.setSelection([n])}onDoubleClick(e){!e.browserEvent.target.classList.contains("monaco-tl-twistie")&&this.tree.expandOnDoubleClick&&(e.browserEvent.isHandledByList||super.onDoubleClick(e))}onMouseDown(e){const t=e.browserEvent.target;xg(t)||Lg(t)||super.onMouseDown(e)}onContextMenu(e){const t=e.browserEvent.target;xg(t)||Lg(t)||super.onContextMenu(e)}}class lx extends Kg{constructor(e,t,i,n,s,o,r,a){super(e,t,i,n,a),this.focusTrait=s,this.selectionTrait=o,this.anchorTrait=r}createMouseController(e){return new ax(this,e.tree,e.stickyScrollProvider)}splice(e,t,i=[]){if(super.splice(e,t,i),0===i.length)return;const n=[],s=[];let o;i.forEach(((t,i)=>{this.focusTrait.has(t)&&n.push(e+i),this.selectionTrait.has(t)&&s.push(e+i),this.anchorTrait.has(t)&&(o=e+i)})),n.length>0&&super.setFocus((0,na.dM)([...super.getFocus(),...n])),s.length>0&&super.setSelection((0,na.dM)([...super.getSelection(),...s])),"number"==typeof o&&super.setAnchor(o)}setFocus(e,t,i=!1){super.setFocus(e,t),i||this.focusTrait.set(e.map((e=>this.element(e))),t)}setSelection(e,t,i=!1){super.setSelection(e,t),i||this.selectionTrait.set(e.map((e=>this.element(e))),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(void 0===e?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class hx{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return P.Jh.filter(P.Jh.map(this.view.onMouseDblClick,nx),(e=>e.target!==IL.Filter))}get onMouseOver(){return P.Jh.map(this.view.onMouseOver,nx)}get onMouseOut(){return P.Jh.map(this.view.onMouseOut,nx)}get onContextMenu(){return P.Jh.any(P.Jh.filter(P.Jh.map(this.view.onContextMenu,sx),(e=>!e.isStickyScroll)),this.stickyScrollController?.onContextMenu??P.Jh.None)}get onPointer(){return P.Jh.map(this.view.onPointer,nx)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return P.Jh.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){return this.findController?.mode??qL.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){return this.findController?.matchType??GL.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return void 0===this._options.expandOnDoubleClick||this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return void 0===this._options.expandOnlyOnTwistieClick||this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,i,n,s={}){this._user=e,this._options=s,this.eventBufferer=new P.at,this.onDidChangeFindOpenState=P.Jh.None,this.onDidChangeStickyScrollFocused=P.Jh.None,this.disposables=new Ae.Cm,this._onWillRefilter=new P.vl,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new P.vl,this.treeDelegate=new UL(i);const o=new P.Wj,r=new P.Wj,a=this.disposables.add(new KL(r.event)),l=new ki.db;this.renderers=n.map((e=>new jL(e,(()=>this.model),o.event,a,l,s)));for(const g of this.renderers)this.disposables.add(g);let h;s.keyboardNavigationLabelProvider&&(h=new $L(this,s.keyboardNavigationLabelProvider,s.filter),s={...s,filter:h},this.disposables.add(h)),this.focus=new rx((()=>this.view.getFocusedElements()[0]),s.identityProvider),this.selection=new rx((()=>this.view.getSelectedElements()[0]),s.identityProvider),this.anchor=new rx((()=>this.view.getAnchorElement()),s.identityProvider),this.view=new lx(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...zL((()=>this.model),s),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,s),o.input=this.model.onDidChangeCollapseState;const d=P.Jh.forEach(this.model.onDidSplice,(e=>{this.eventBufferer.bufferEvents((()=>{this.focus.onDidModelSplice(e),this.selection.onDidModelSplice(e)}))}),this.disposables);d((()=>null),null,this.disposables);const c=this.disposables.add(new P.vl),u=this.disposables.add(new A.ve(0));if(this.disposables.add(P.Jh.any(d,this.focus.onDidChange,this.selection.onDidChange)((()=>{u.trigger((()=>{const e=new Set;for(const t of this.focus.getNodes())e.add(t);for(const t of this.selection.getNodes())e.add(t);c.fire([...e.values()])}))}))),r.input=c.event,!1!==s.keyboardSupport){const e=P.Jh.chain(this.view.onKeyDown,(e=>e.filter((e=>!yg(e.target))).map((e=>new N(e)))));P.Jh.chain(e,(e=>e.filter((e=>15===e.keyCode))))(this.onLeftArrow,this,this.disposables),P.Jh.chain(e,(e=>e.filter((e=>17===e.keyCode))))(this.onRightArrow,this,this.disposables),P.Jh.chain(e,(e=>e.filter((e=>10===e.keyCode))))(this.onSpace,this,this.disposables)}if((s.findWidgetEnabled??1)&&s.keyboardNavigationLabelProvider&&s.contextViewProvider){const e=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new QL(this,this.model,this.view,h,s.contextViewProvider,e),this.focusNavigationFilter=e=>this.findController.shouldAllowFocus(e),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=P.Jh.None,this.onDidChangeFindMatchType=P.Jh.None;s.enableStickyScroll&&(this.stickyScrollController=new ex(this,this.model,this.view,this.renderers,this.treeDelegate,s),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=Et(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===TL.Always)}updateOptions(e={}){this._options={...this._options,...e};for(const t of this.renderers)t.updateOptions(e);this.view.updateOptions(this._options),this.findController?.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===TL.Always)}get options(){return this._options}updateStickyScroll(e){!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new ex(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=P.Jh.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),this.stickyScrollController?.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){this.stickyScrollController?.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){this.view.layout(e,t),(0,rs.Et)(t)&&this.findController?.layout(t)}style(e){const t=`.${this.view.domId}`,i=[];e.treeIndentGuidesStroke&&(i.push(`.monaco-list${t}:hover .monaco-tl-indent > .indent-guide, .monaco-list${t}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeInactiveIndentGuidesStroke}; }`),i.push(`.monaco-list${t} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`));const n=e.treeStickyScrollBackground??e.listBackground;n&&(i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${n}; }`),i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${n}; }`)),e.treeStickyScrollBorder&&i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${e.treeStickyScrollBorder}; }`),e.treeStickyScrollShadow&&i.push(`.monaco-list${t} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${e.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`),e.listFocusForeground&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const s=ai(e.listFocusAndSelectionOutline,ai(e.listSelectionOutline,e.listFocusOutline??""));s&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${s}; outline-offset: -1px;}`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),e.listFocusOutline&&(i.push(`.monaco-list${t}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-list${t}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=i.join("\n"),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents((()=>{const i=e.map((e=>this.model.getNode(e)));this.selection.set(i,t);const n=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setSelection(n,t,!0)}))}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents((()=>{const i=e.map((e=>this.model.getNode(e)));this.focus.set(i,t);const n=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setFocus(n,t,!0)}))}focusNext(e=1,t=!1,i,n=(zt(i)&&i.altKey?void 0:this.focusNavigationFilter)){this.view.focusNext(e,t,i,n)}focusPrevious(e=1,t=!1,i,n=(zt(i)&&i.altKey?void 0:this.focusNavigationFilter)){this.view.focusPrevious(e,t,i,n)}focusNextPage(e,t=(zt(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=(zt(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusPreviousPage(e,t,(()=>this.stickyScrollController?.height??0))}focusLast(e,t=(zt(e)&&e.altKey?void 0:this.focusNavigationFilter)){this.view.focusLast(e,t)}focusFirst(e,t=(zt(e)&&e.altKey?void 0:this.focusNavigationFilter)){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(-1!==i)if(this.stickyScrollController){const n=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,n)}else this.view.reveal(i,t)}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!0)){const e=this.model.getParentNodeLocation(n);if(!e)return;const t=this.model.getListIndex(e);this.view.reveal(t),this.view.setFocus([t])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!1)){if(!i.children.some((e=>e.visible)))return;const[e]=this.view.getFocus(),t=e+1;this.view.reveal(t),this.view.setFocus([t])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],n=this.model.getNodeLocation(i),s=e.browserEvent.altKey;this.model.setCollapsed(n,void 0,s)}dispose(){(0,Ae.AS)(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose()}}class dx{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new WL(e,t,null,i),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,i.sorter&&(this.sorter={compare:(e,t)=>i.sorter.compare(e.element,t.element)}),this.identityProvider=i.identityProvider}setChildren(e,t=os.f.empty(),i={}){const n=this.getElementLocation(e);this._setChildren(n,this.preserveCollapseState(t),i)}_setChildren(e,t=os.f.empty(),i){const n=new Set,s=new Set;this.model.splice([...e,0],Number.MAX_VALUE,t,{...i,onDidCreateNode:e=>{if(null===e.element)return;const t=e;if(n.add(t.element),this.nodes.set(t.element,t),this.identityProvider){const e=this.identityProvider.getId(t.element).toString();s.add(e),this.nodesByIdentity.set(e,t)}i.onDidCreateNode?.(t)},onDidDeleteNode:e=>{if(null===e.element)return;const t=e;if(n.has(t.element)||this.nodes.delete(t.element),this.identityProvider){const e=this.identityProvider.getId(t.element).toString();s.has(e)||this.nodesByIdentity.delete(e)}i.onDidDeleteNode?.(t)}})}preserveCollapseState(e=os.f.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),os.f.map(e,(e=>{let t=this.nodes.get(e.element);if(!t&&this.identityProvider){const i=this.identityProvider.getId(e.element).toString();t=this.nodesByIdentity.get(i)}if(!t){let t;return t=void 0===e.collapsed?void 0:e.collapsed===NL.Collapsed||e.collapsed===NL.PreserveOrCollapsed||e.collapsed!==NL.Expanded&&e.collapsed!==NL.PreserveOrExpanded&&Boolean(e.collapsed),{...e,children:this.preserveCollapseState(e.children),collapsed:t}}const i="boolean"==typeof e.collapsible?e.collapsible:t.collapsible;let n;return n=void 0===e.collapsed||e.collapsed===NL.PreserveOrCollapsed||e.collapsed===NL.PreserveOrExpanded?t.collapsed:e.collapsed===NL.Collapsed||e.collapsed!==NL.Expanded&&Boolean(e.collapsed),{...e,collapsible:i,collapsed:n,children:this.preserveCollapseState(e.children)}}))}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getElementLocation(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const n=this.getElementLocation(e);return this.model.setCollapsed(n,t,i)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(null===e)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new EL(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(null===e)throw new EL(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new EL(this.user,`Tree element not found: ${e}`);const i=this.model.getNodeLocation(t),n=this.model.getParentNodeLocation(i);return this.model.getNode(n).element}getElementLocation(e){if(null===e)return[];const t=this.nodes.get(e);if(!t)throw new EL(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}}function cx(e){return{element:{elements:[e.element],incompressible:e.incompressible||!1},children:os.f.map(os.f.from(e.children),cx),collapsible:e.collapsible,collapsed:e.collapsed}}function ux(e){const t=[e.element],i=e.incompressible||!1;let n,s;for(;[s,n]=os.f.consume(os.f.from(e.children),2),1===s.length&&!s[0].incompressible;)e=s[0],t.push(e.element);return{element:{elements:t,incompressible:i},children:os.f.map(os.f.concat(s,n),ux),collapsible:e.collapsible,collapsed:e.collapsed}}function gx(e,t=0){let i;return i=tgx(e,0))),0===t&&e.element.incompressible?{element:e.element.elements[t],children:i,incompressible:!0,collapsible:e.collapsible,collapsed:e.collapsed}:{element:e.element.elements[t],children:i,collapsible:e.collapsible,collapsed:e.collapsed}}function px(e){return gx(e,0)}function mx(e,t,i){return e.element===t?{...e,children:i}:{...e,children:os.f.map(os.f.from(e.children),(e=>mx(e,t,i)))}}class fx{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new dx(e,t,i),this.enabled=void 0===i.compressionEnabled||i.compressionEnabled,this.identityProvider=i.identityProvider}setChildren(e,t=os.f.empty(),i){const n=i.diffIdentityProvider&&(e=>({getId:t=>t.elements.map((t=>e.getId(t).toString())).join("\0")}))(i.diffIdentityProvider);if(null===e){const e=os.f.map(t,this.enabled?ux:cx);return void this._setChildren(null,e,{diffIdentityProvider:n,diffDepth:1/0})}const s=this.nodes.get(e);if(!s)throw new EL(this.user,"Unknown compressed tree node");const o=this.model.getNode(s),r=this.model.getParentNodeLocation(s),a=this.model.getNode(r),l=mx(px(o),e,t),h=(this.enabled?ux:cx)(l),d=i.diffIdentityProvider?(e,t)=>i.diffIdentityProvider.getId(e)===i.diffIdentityProvider.getId(t):void 0;if((0,na.aI)(h.element.elements,o.element.elements,d))return void this._setChildren(s,h.children||os.f.empty(),{diffIdentityProvider:n,diffDepth:1});const c=a.children.map((e=>e===o?h:e));this._setChildren(a.element,c,{diffIdentityProvider:n,diffDepth:o.depth-a.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const t=this.model.getNode().children,i=os.f.map(t,px),n=os.f.map(i,e?ux:cx);this._setChildren(null,n,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,i){const n=new Set;this.model.setChildren(e,t,{...i,onDidCreateNode:e=>{for(const t of e.element.elements)n.add(t),this.nodes.set(t,e.element)},onDidDeleteNode:e=>{for(const t of e.element.elements)n.has(t)||this.nodes.delete(t)}})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(void 0===e)return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return null===t?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),i=this.model.getParentNodeLocation(t);return null===i?null:i.elements[i.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getCompressedNode(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const n=this.getCompressedNode(e);return this.model.setCollapsed(n,t,i)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(null===e)return null;const t=this.nodes.get(e);if(!t)throw new EL(this.user,`Tree element not found: ${e}`);return t}}const _x=e=>e[e.length-1];class vx{get element(){return null===this.node.element?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((e=>new vx(this.unwrapper,e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}}class bx{get onDidSplice(){return P.Jh.map(this.model.onDidSplice,(({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map((e=>this.nodeMapper.map(e))),deletedNodes:t.map((e=>this.nodeMapper.map(e)))})))}get onDidChangeCollapseState(){return P.Jh.map(this.model.onDidChangeCollapseState,(({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t})))}get onDidChangeRenderNodeCount(){return P.Jh.map(this.model.onDidChangeRenderNodeCount,(e=>this.nodeMapper.map(e)))}constructor(e,t,i={}){this.rootRef=null,this.elementMapper=i.elementMapper||_x;const n=e=>this.elementMapper(e.elements);this.nodeMapper=new ML((e=>new vx(n,e))),this.model=new fx(e,function(e,t){return{splice(i,n,s){t.splice(i,n,s.map((t=>e.map(t))))},updateElementHeight(e,i){t.updateElementHeight(e,i)}}}(this.nodeMapper,t),function(e,t){return{...t,identityProvider:t.identityProvider&&{getId:i=>t.identityProvider.getId(e(i))},sorter:t.sorter&&{compare:(e,i)=>t.sorter.compare(e.elements[0],i.elements[0])},filter:t.filter&&{filter:(i,n)=>t.filter.filter(e(i),n)}}}(n,i))}setChildren(e,t=os.f.empty(),i={}){this.model.setChildren(e,t,i)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return null==t?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,i){return this.model.setCollapsed(e,t,i)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}var Cx=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};class wx extends hx{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,i,n,s={}){super(e,t,i,n,s),this.user=e}setChildren(e,t=os.f.empty(),i){this.model.setChildren(e,t,i)}rerender(e){void 0!==e?this.model.rerender(e):this.view.rerender()}hasElement(e){return this.model.has(e)}createModel(e,t,i){return new dx(e,t,i)}}class yx{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,i){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){let s=this.stickyScrollDelegate.getCompressedNode(e);s||(s=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),1===s.element.elements.length?(i.compressedTreeNode=void 0,this.renderer.renderElement(e,t,i.data,n)):(i.compressedTreeNode=s,this.renderer.renderCompressedElements(s,t,i.data,n))}disposeElement(e,t,i,n){i.compressedTreeNode?this.renderer.disposeCompressedElements?.(i.compressedTreeNode,t,i.data,n):this.renderer.disposeElement?.(e,t,i.data,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return!!this.renderer.renderTwistie&&this.renderer.renderTwistie(e,t)}}Cx([td],yx.prototype,"compressedTreeNodeProvider",null);class Sx{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,i){if(this.compressedStickyNodes.clear(),0===e.length)return[];for(let n=0;ni||n>=t-1&&tthis,r=new Sx((()=>this.model));super(e,t,i,n.map((e=>new yx(o,r,e))),{...kx(o,s),stickyScrollDelegate:r})}setChildren(e,t=os.f.empty(),i){this.model.setChildren(e,t,i)}createModel(e,t,i){return new bx(e,t,i)}updateOptions(e={}){super.updateOptions(e),void 0!==e.compressionEnabled&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}function xx(e){return{...e,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function Dx(e,t){return!!t.parent&&(t.parent===e||Dx(e,t.parent))}class Nx{get element(){return this.node.element.element}get children(){return this.node.children.map((e=>new Nx(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Ix{constructor(e,t,i){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,n)}renderTwistie(e,t){return e.slow?(t.classList.add(...En.L.asClassNameArray(bl.W.treeItemLoading)),!0):(t.classList.remove(...En.L.asClassNameArray(bl.W.treeItemLoading)),!1)}disposeElement(e,t,i,n){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,i.templateData,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function Ex(e){return{browserEvent:e.browserEvent,elements:e.elements.map((e=>e.element))}}function Mx(e){return{browserEvent:e.browserEvent,element:e.element&&e.element.element,target:e.target}}class Tx extends hg{constructor(e){super(e.elements.map((e=>e.element))),this.data=e}}function Rx(e){return e instanceof hg?new Tx(e):e}class Ax{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){this.dnd.onDragStart?.(Rx(e),t)}onDragOver(e,t,i,n,s,o=!0){return this.dnd.onDragOver(Rx(e),t&&t.element,i,n,s)}drop(e,t,i,n,s){this.dnd.drop(Rx(e),t&&t.element,i,n,s)}onDragEnd(e){this.dnd.onDragEnd?.(e)}dispose(){this.dnd.dispose()}}function Px(e){return e&&{...e,collapseByDefault:!0,identityProvider:e.identityProvider&&{getId:t=>e.identityProvider.getId(t.element)},dnd:e.dnd&&new Ax(e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent:t=>e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element}),isSelectionRangeChangeEvent:t=>e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",isChecked:e.accessibilityProvider.isChecked?t=>!!e.accessibilityProvider?.isChecked(t.element):void 0,getAriaLabel:t=>e.accessibilityProvider.getAriaLabel(t.element),getWidgetAriaLabel:()=>e.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider.getAriaLevel&&(t=>e.accessibilityProvider.getAriaLevel(t.element)),getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},filter:e.filter&&{filter:(t,i)=>e.filter.filter(t.element,i)},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)},sorter:void 0,expandOnlyOnTwistieClick:void 0===e.expandOnlyOnTwistieClick?void 0:"function"!=typeof e.expandOnlyOnTwistieClick?e.expandOnlyOnTwistieClick:t=>e.expandOnlyOnTwistieClick(t.element),defaultFindVisibility:t=>t.hasChildren&&t.stale?1:"number"==typeof e.defaultFindVisibility?e.defaultFindVisibility:void 0===e.defaultFindVisibility?2:e.defaultFindVisibility(t.element)}}function Ox(e,t){t(e),e.children.forEach((e=>Ox(e,t)))}class Fx{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return P.Jh.map(this.tree.onDidChangeFocus,Ex)}get onDidChangeSelection(){return P.Jh.map(this.tree.onDidChangeSelection,Ex)}get onMouseDblClick(){return P.Jh.map(this.tree.onMouseDblClick,Mx)}get onPointer(){return P.Jh.map(this.tree.onPointer,Mx)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,i,n,s,o={}){this.user=e,this.dataSource=s,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new P.vl,this._onDidChangeNodeSlowState=new P.vl,this.nodeMapper=new ML((e=>new Nx(e))),this.disposables=new Ae.Cm,this.identityProvider=o.identityProvider,this.autoExpandSingleChildren=void 0!==o.autoExpandSingleChildren&&o.autoExpandSingleChildren,this.sorter=o.sorter,this.getDefaultCollapseState=e=>o.collapseByDefault?o.collapseByDefault(e)?NL.PreserveOrCollapsed:NL.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,i,n,o),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=xx({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(e,t,i,n,s){const o=new UL(i),r=n.map((e=>new Ix(e,this.nodeMapper,this._onDidChangeNodeSlowState.event))),a=Px(s)||{};return new wx(e,t,o,r,a)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach((e=>e.cancel())),this.refreshPromises.clear(),this.root.element=e;const i=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,i),i&&(this.tree.setFocus(i.focus),this.tree.setSelection(i.selection)),t&&"number"==typeof t.scrollTop&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,i=!1,n,s){if(void 0===this.root.element)throw new EL(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await P.Jh.toPromise(this._onDidRender.event));const o=this.getDataNode(e);if(await this.refreshAndRenderNode(o,t,n,s),i)try{this.tree.rerender(o)}catch{}}rerender(e){if(void 0===e||e===this.root.element)return void this.tree.rerender();const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(i)}collapse(e,t=!1){const i=this.getDataNode(e);return this.tree.collapse(i===this.root?null:i,t)}async expand(e,t=!1){if(void 0===this.root.element)throw new EL(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await P.Jh.toPromise(this._onDidRender.event));const i=this.getDataNode(e);if(this.tree.hasElement(i)&&!this.tree.isCollapsible(i))return!1;if(i.refreshPromise&&(await this.root.refreshPromise,await P.Jh.toPromise(this._onDidRender.event)),i!==this.root&&!i.refreshPromise&&!this.tree.isCollapsed(i))return!1;const n=this.tree.expand(i===this.root?null:i,t);return i.refreshPromise&&(await this.root.refreshPromise,await P.Jh.toPromise(this._onDidRender.event)),n}setSelection(e,t){const i=e.map((e=>this.getDataNode(e)));this.tree.setSelection(i,t)}getSelection(){return this.tree.getSelection().map((e=>e.element))}setFocus(e,t){const i=e.map((e=>this.getDataNode(e)));this.tree.setFocus(i,t)}getFocus(){return this.tree.getFocus().map((e=>e.element))}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getFirstElementChild(t===this.root?null:t);return i&&i.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new EL(this.user,`Data tree node not found: ${e}`);return t}async refreshAndRenderNode(e,t,i,n){await this.refreshNode(e,t,i),this.disposables.isDisposed||this.render(e,i,n)}async refreshNode(e,t,i){let n;if(this.subTreeRefreshPromises.forEach(((s,o)=>{!n&&function(e,t){return e===t||Dx(e,t)||Dx(t,e)}(o,e)&&(n=s.then((()=>this.refreshNode(e,t,i))))})),n)return n;if(e!==this.root){if(this.tree.getNode(e).collapsed)return e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,void this.setChildren(e,[],t,i)}return this.doRefreshSubTree(e,t,i)}async doRefreshSubTree(e,t,i){let n;e.refreshPromise=new Promise((e=>n=e)),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally((()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)}));try{const n=await this.doRefreshNode(e,t,i);e.stale=!1,await A.HC.settled(n.map((e=>this.doRefreshSubTree(e,t,i))))}finally{n()}}async doRefreshNode(e,t,i){let n;if(e.hasChildren=!!this.dataSource.hasChildren(e.element),e.hasChildren){const t=this.doGetChildren(e);if((0,rs.xZ)(t))n=Promise.resolve(t);else{const i=(0,A.wR)(800);i.then((()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)}),(e=>null)),n=t.finally((()=>i.cancel()))}}else n=Promise.resolve(os.f.empty());try{const s=await n;return this.setChildren(e,s,t,i)}catch(s){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),(0,b.MB)(s))return[];throw s}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const i=this.dataSource.getChildren(e.element);return(0,rs.xZ)(i)?this.processChildren(i):(t=(0,A.SS)((async()=>this.processChildren(await i))),this.refreshPromises.set(e,t),t.finally((()=>{this.refreshPromises.delete(e)})))}_onDidChangeCollapseState({node:e,deep:t}){null!==e.element&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(b.dz))}setChildren(e,t,i,n){const s=[...t];if(0===e.children.length&&0===s.length)return[];const o=new Map,r=new Map;for(const h of e.children)o.set(h.element,h),this.identityProvider&&r.set(h.id,{node:h,collapsed:this.tree.hasElement(h)&&this.tree.isCollapsed(h)});const a=[],l=s.map((t=>{const s=!!this.dataSource.hasChildren(t);if(!this.identityProvider){const i=xx({element:t,parent:e,hasChildren:s,defaultCollapseState:this.getDefaultCollapseState(t)});return s&&i.defaultCollapseState===NL.PreserveOrExpanded&&a.push(i),i}const l=this.identityProvider.getId(t).toString(),h=r.get(l);if(h){const e=h.node;return o.delete(e.element),this.nodes.delete(e.element),this.nodes.set(t,e),e.element=t,e.hasChildren=s,i?h.collapsed?(e.children.forEach((e=>Ox(e,(e=>this.nodes.delete(e.element))))),e.children.splice(0,e.children.length),e.stale=!0):a.push(e):s&&!h.collapsed&&a.push(e),e}const d=xx({element:t,parent:e,id:l,hasChildren:s,defaultCollapseState:this.getDefaultCollapseState(t)});return n&&n.viewState.focus&&n.viewState.focus.indexOf(l)>-1&&n.focus.push(d),n&&n.viewState.selection&&n.viewState.selection.indexOf(l)>-1&&n.selection.push(d),(n&&n.viewState.expanded&&n.viewState.expanded.indexOf(l)>-1||s&&d.defaultCollapseState===NL.PreserveOrExpanded)&&a.push(d),d}));for(const h of o.values())Ox(h,(e=>this.nodes.delete(e.element)));for(const h of l)this.nodes.set(h.element,h);return e.children.splice(0,e.children.length,...l),e!==this.root&&this.autoExpandSingleChildren&&1===l.length&&0===a.length&&(l[0].forceExpanded=!0,a.push(l[0])),a}render(e,t,i){const n=e.children.map((e=>this.asTreeElement(e,t))),s=i&&{...i,diffIdentityProvider:i.diffIdentityProvider&&{getId:e=>i.diffIdentityProvider.getId(e.element)}};this.tree.setChildren(e===this.root?null:e,n,s),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let i;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?i=!1:e.forceExpanded?(i=!1,e.forceExpanded=!1):i=e.defaultCollapseState,{element:e,children:e.hasChildren?os.f.map(e.children,(e=>this.asTreeElement(e,t))):[],collapsible:e.hasChildren,collapsed:i}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}}class Wx{get element(){return{elements:this.node.element.elements.map((e=>e.element)),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((e=>new Wx(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Bx{constructor(e,t,i,n){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=i,this.onDidChangeTwistieState=n,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,n)}renderCompressedElements(e,t,i,n){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,n)}renderTwistie(e,t){return e.slow?(t.classList.add(...En.L.asClassNameArray(bl.W.treeItemLoading)),!0):(t.classList.remove(...En.L.asClassNameArray(bl.W.treeItemLoading)),!1)}disposeElement(e,t,i,n){this.renderer.disposeElement?.(this.nodeMapper.map(e),t,i.templateData,n)}disposeCompressedElements(e,t,i,n){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(e),t,i.templateData,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=(0,Ae.AS)(this.disposables)}}class Hx extends Fx{constructor(e,t,i,n,s,o,r={}){super(e,t,i,s,o,r),this.compressionDelegate=n,this.compressibleNodeMapper=new ML((e=>new Wx(e))),this.filter=r.filter}createTree(e,t,i,n,s){const o=new UL(i),r=n.map((e=>new Bx(e,this.nodeMapper,(()=>this.compressibleNodeMapper),this._onDidChangeNodeSlowState.event))),a=function(e){const t=e&&Px(e);return t&&{...t,keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map((e=>e.element)))}}}(s)||{};return new Lx(e,t,o,r,a)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,i){if(!this.identityProvider)return super.render(e,t);const n=e=>this.identityProvider.getId(e).toString(),s=e=>{const t=new Set;for(const i of e){const e=this.tree.getCompressedTreeNode(i===this.root?null:i);if(e.element)for(const i of e.element.elements)t.add(n(i.element))}return t},o=s(this.tree.getSelection()),r=s(this.tree.getFocus());super.render(e,t,i);const a=this.getSelection();let l=!1;const h=this.getFocus();let d=!1;const c=e=>{const t=e.element;if(t)for(let i=0;i{const t=this.filter.filter(e,1),i="boolean"==typeof(n=t)?n?1:0:PL(n)?OL(n.visibility):OL(n);var n;if(2===i)throw new Error("Recursive tree visibility not supported in async data compressed trees");return 1===i}))),super.processChildren(e)}}class Vx extends hx{constructor(e,t,i,n,s,o={}){super(e,t,i,n,o),this.user=e,this.dataSource=s,this.identityProvider=o.identityProvider}createModel(e,t,i){return new dx(e,t,i)}}new hs.N1("isMac",f.zx,(0,$n.kg)("isMac","Whether the operating system is macOS")),new hs.N1("isLinux",f.j9,(0,$n.kg)("isLinux","Whether the operating system is Linux"));const zx=new hs.N1("isWindows",f.uF,(0,$n.kg)("isWindows","Whether the operating system is Windows")),Ux=new hs.N1("isWeb",f.HZ,(0,$n.kg)("isWeb","Whether the platform is a web browser")),Kx=(new hs.N1("isMacNative",f.zx&&!f.HZ,(0,$n.kg)("isMacNative","Whether the operating system is macOS on a non-browser platform")),new hs.N1("isIOS",f.un,(0,$n.kg)("isIOS","Whether the operating system is iOS")),new hs.N1("isMobile",f.Fr,(0,$n.kg)("isMobile","Whether the platform is a mobile web browser")),new hs.N1("isDevelopment",!1,!0),new hs.N1("productQualityType","",(0,$n.kg)("productQualityType","Quality type of VS Code")),"inputFocus"),jx=new hs.N1(Kx,!1,(0,$n.kg)("inputFocus","Whether keyboard focus is inside an input box"));var $x=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},qx=function(e,t){return function(i,n){t(i,n,e)}};const Gx=(0,qn.u1)("listService");const Qx=new hs.N1("listScrollAtBoundary","none"),Yx=(hs.M$.or(Qx.isEqualTo("top"),Qx.isEqualTo("both")),hs.M$.or(Qx.isEqualTo("bottom"),Qx.isEqualTo("both")),new hs.N1("listFocus",!0)),Zx=new hs.N1("treestickyScrollFocused",!1),Xx=new hs.N1("listSupportsMultiselect",!0),Jx=hs.M$.and(Yx,hs.M$.not(Kx),Zx.negate()),eD=new hs.N1("listHasSelectionOrFocus",!1),tD=new hs.N1("listDoubleSelection",!1),iD=new hs.N1("listMultiSelection",!1),nD=new hs.N1("listSelectionNavigation",!1),sD=new hs.N1("listSupportsFind",!0),oD=new hs.N1("treeElementCanCollapse",!1),rD=new hs.N1("treeElementHasParent",!1),aD=new hs.N1("treeElementCanExpand",!1),lD=new hs.N1("treeElementHasChild",!1),hD=new hs.N1("treeFindOpen",!1),dD="listTypeNavigationMode",cD="listAutomaticKeyboardNavigation";function uD(e,t){const i=e.createScoped(t.getHTMLElement());return Yx.bindTo(i),i}function gD(e,t){const i=Qx.bindTo(e),n=()=>{const e=0===t.scrollTop,n=t.scrollHeight-t.renderHeight-t.scrollTop<1;e&&n?i.set("both"):e?i.set("top"):n?i.set("bottom"):i.set("none")};return n(),t.onDidScroll(n)}const pD="workbench.list.multiSelectModifier",mD="workbench.list.openMode",fD="workbench.list.horizontalScrolling",_D="workbench.list.defaultFindMode",vD="workbench.list.typeNavigationMode",bD="workbench.list.keyboardNavigation",CD="workbench.list.scrollByPage",wD="workbench.list.defaultFindMatchType",yD="workbench.tree.indent",SD="workbench.tree.renderIndentGuides",kD="workbench.list.smoothScrolling",LD="workbench.list.mouseWheelScrollSensitivity",xD="workbench.list.fastScrollSensitivity",DD="workbench.tree.expandMode",ND="workbench.tree.enableStickyScroll",ID="workbench.tree.stickyScrollMaxItemCount";function ED(e){return"alt"===e.getValue(pD)}class MD extends Ae.jG{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=ED(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(pD)&&(this.useAltAsMultipleSelectionModifier=ED(this.configurationService))})))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:Tg(e)}isSelectionRangeChangeEvent(e){return Rg(e)}}function TD(e,t){const i=e.get(Wp.pG),n=e.get(Cd),s=new Ae.Cm;return[{...t,keyboardNavigationDelegate:{mightProducePrintableCharacter:e=>n.mightProducePrintableCharacter(e)},smoothScrolling:Boolean(i.getValue(kD)),mouseWheelScrollSensitivity:i.getValue(LD),fastScrollSensitivity:i.getValue(xD),multipleSelectionController:t.multipleSelectionController??s.add(new MD(i)),keyboardNavigationEventFilter:HD(n),scrollByPage:Boolean(i.getValue(CD))},s]}let RD=class extends Kg{constructor(e,t,i,n,s,o,r,a,l){const h=void 0!==s.horizontalScrolling?s.horizontalScrolling:Boolean(a.getValue(fD)),[d,c]=l.invokeFunction(TD,s);super(e,t,i,n,{keyboardSupport:!1,...d,horizontalScrolling:h}),this.disposables.add(c),this.contextKeyService=uD(o,this),this.disposables.add(gD(this.contextKeyService,this)),this.listSupportsMultiSelect=Xx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==s.multipleSelectionSupport);nD.bindTo(this.contextKeyService).set(Boolean(s.selectionNavigation)),this.listHasSelectionOrFocus=eD.bindTo(this.contextKeyService),this.listDoubleSelection=tD.bindTo(this.contextKeyService),this.listMultiSelection=iD.bindTo(this.contextKeyService),this.horizontalScrolling=s.horizontalScrolling,this._useAltAsMultipleSelectionModifier=ED(a),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(s.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(a.onDidChangeConfiguration((e=>{e.affectsConfiguration(pD)&&(this._useAltAsMultipleSelectionModifier=ED(a));let t={};if(e.affectsConfiguration(fD)&&void 0===this.horizontalScrolling){const e=Boolean(a.getValue(fD));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(CD)){const e=Boolean(a.getValue(CD));t={...t,scrollByPage:e}}if(e.affectsConfiguration(kD)){const e=Boolean(a.getValue(kD));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(LD)){const e=a.getValue(LD);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(xD)){const e=a.getValue(xD);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new FD(this,{configurationService:a,...s}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?vp(e):_p)}};RD=$x([qx(5,hs.fN),qx(6,Gx),qx(7,Wp.pG),qx(8,qn._Y)],RD);let AD=class extends nL{constructor(e,t,i,n,s,o,r,a,l){const h=void 0!==s.horizontalScrolling?s.horizontalScrolling:Boolean(a.getValue(fD)),[d,c]=l.invokeFunction(TD,s);super(e,t,i,n,{keyboardSupport:!1,...d,horizontalScrolling:h}),this.disposables=new Ae.Cm,this.disposables.add(c),this.contextKeyService=uD(o,this),this.disposables.add(gD(this.contextKeyService,this.widget)),this.horizontalScrolling=s.horizontalScrolling,this.listSupportsMultiSelect=Xx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==s.multipleSelectionSupport);nD.bindTo(this.contextKeyService).set(Boolean(s.selectionNavigation)),this._useAltAsMultipleSelectionModifier=ED(a),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(s.overrideStyles),this.disposables.add(a.onDidChangeConfiguration((e=>{e.affectsConfiguration(pD)&&(this._useAltAsMultipleSelectionModifier=ED(a));let t={};if(e.affectsConfiguration(fD)&&void 0===this.horizontalScrolling){const e=Boolean(a.getValue(fD));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(CD)){const e=Boolean(a.getValue(CD));t={...t,scrollByPage:e}}if(e.affectsConfiguration(kD)){const e=Boolean(a.getValue(kD));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(LD)){const e=a.getValue(LD);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(xD)){const e=a.getValue(xD);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new FD(this,{configurationService:a,...s}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?vp(e):_p)}dispose(){this.disposables.dispose(),super.dispose()}};AD=$x([qx(5,hs.fN),qx(6,Gx),qx(7,Wp.pG),qx(8,qn._Y)],AD);let PD=class extends gL{constructor(e,t,i,n,s,o,r,a,l,h){const d=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(l.getValue(fD)),[c,u]=h.invokeFunction(TD,o);super(e,t,i,n,s,{keyboardSupport:!1,...c,horizontalScrolling:d}),this.disposables.add(u),this.contextKeyService=uD(r,this),this.disposables.add(gD(this.contextKeyService,this)),this.listSupportsMultiSelect=Xx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport);nD.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this.listHasSelectionOrFocus=eD.bindTo(this.contextKeyService),this.listDoubleSelection=tD.bindTo(this.contextKeyService),this.listMultiSelection=iD.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=ED(l),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(l.onDidChangeConfiguration((e=>{e.affectsConfiguration(pD)&&(this._useAltAsMultipleSelectionModifier=ED(l));let t={};if(e.affectsConfiguration(fD)&&void 0===this.horizontalScrolling){const e=Boolean(l.getValue(fD));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(CD)){const e=Boolean(l.getValue(CD));t={...t,scrollByPage:e}}if(e.affectsConfiguration(kD)){const e=Boolean(l.getValue(kD));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(LD)){const e=l.getValue(LD);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(xD)){const e=l.getValue(xD);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new WD(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?vp(e):_p)}dispose(){this.disposables.dispose(),super.dispose()}};PD=$x([qx(6,hs.fN),qx(7,Gx),qx(8,Wp.pG),qx(9,qn._Y)],PD);class OD extends Ae.jG{constructor(e,t){super(),this.widget=e,this._onDidOpen=this._register(new P.vl),this.onDidOpen=this._onDidOpen.event,this._register(P.Jh.filter(this.widget.onDidChangeSelection,(e=>zt(e.browserEvent)))((e=>this.onSelectionFromKeyboard(e)))),this._register(this.widget.onPointer((e=>this.onPointer(e.element,e.browserEvent)))),this._register(this.widget.onMouseDblClick((e=>this.onMouseDblClick(e.element,e.browserEvent)))),"boolean"!=typeof t?.openOnSingleClick&&t?.configurationService?(this.openOnSingleClick="doubleClick"!==t?.configurationService.getValue(mD),this._register(t?.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(mD)&&(this.openOnSingleClick="doubleClick"!==t?.configurationService.getValue(mD))})))):this.openOnSingleClick=t?.openOnSingleClick??!0}onSelectionFromKeyboard(e){if(1!==e.elements.length)return;const t=e.browserEvent,i="boolean"!=typeof t.preserveFocus||t.preserveFocus,n="boolean"==typeof t.pinned?t.pinned:!i;this._open(this.getSelectedElement(),i,n,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick)return;if(2===t.detail)return;const i=1===t.button,n=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!0,i,n,t)}onMouseDblClick(e,t){if(!t)return;const i=t.target;if(i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&t.offsetX<16)return;const n=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!1,!0,n,t)}_open(e,t,i,n,s){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:i,revealIfVisible:!0},sideBySide:n,element:e,browserEvent:s})}}class FD extends OD{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class WD extends OD{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class BD extends OD{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}}function HD(e){let t=!1;return i=>{if(i.toKeyCodeChord().isModifierKey())return!1;if(t)return t=!1,!1;const n=e.softDispatch(i,i.target);return 1===n.kind?(t=!0,!1):(t=!1,0===n.kind)}}let VD=class extends wx{constructor(e,t,i,n,s,o,r,a,l){const{options:h,getTypeNavigationMode:d,disposable:c}=o.invokeFunction(GD,s);super(e,t,i,n,h),this.disposables.add(c),this.internals=new QD(this,s,d,s.overrideStyles,r,a,l),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};VD=$x([qx(5,qn._Y),qx(6,hs.fN),qx(7,Gx),qx(8,Wp.pG)],VD);let zD=class extends Lx{constructor(e,t,i,n,s,o,r,a,l){const{options:h,getTypeNavigationMode:d,disposable:c}=o.invokeFunction(GD,s);super(e,t,i,n,h),this.disposables.add(c),this.internals=new QD(this,s,d,s.overrideStyles,r,a,l),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};zD=$x([qx(5,qn._Y),qx(6,hs.fN),qx(7,Gx),qx(8,Wp.pG)],zD);let UD=class extends Vx{constructor(e,t,i,n,s,o,r,a,l,h){const{options:d,getTypeNavigationMode:c,disposable:u}=r.invokeFunction(GD,o);super(e,t,i,n,s,d),this.disposables.add(u),this.internals=new QD(this,o,c,o.overrideStyles,a,l,h),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),void 0!==e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};UD=$x([qx(6,qn._Y),qx(7,hs.fN),qx(8,Gx),qx(9,Wp.pG)],UD);let KD=class extends Fx{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,i,n,s,o,r,a,l,h){const{options:d,getTypeNavigationMode:c,disposable:u}=r.invokeFunction(GD,o);super(e,t,i,n,s,d),this.disposables.add(u),this.internals=new QD(this,o,c,o.overrideStyles,a,l,h),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};KD=$x([qx(6,qn._Y),qx(7,hs.fN),qx(8,Gx),qx(9,Wp.pG)],KD);let jD=class extends Hx{constructor(e,t,i,n,s,o,r,a,l,h,d){const{options:c,getTypeNavigationMode:u,disposable:g}=a.invokeFunction(GD,r);super(e,t,i,n,s,o,c),this.disposables.add(g),this.internals=new QD(this,r,u,r.overrideStyles,l,h,d),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};function $D(e){const t=e.getValue(_D);if("highlight"===t)return qL.Highlight;if("filter"===t)return qL.Filter;const i=e.getValue(bD);return"simple"===i||"highlight"===i?qL.Highlight:"filter"===i?qL.Filter:void 0}function qD(e){const t=e.getValue(wD);return"fuzzy"===t?GL.Fuzzy:"contiguous"===t?GL.Contiguous:void 0}function GD(e,t){const i=e.get(Wp.pG),n=e.get(vd),s=e.get(hs.fN),o=e.get(qn._Y),r=void 0!==t.horizontalScrolling?t.horizontalScrolling:Boolean(i.getValue(fD)),[a,l]=o.invokeFunction(TD,t),h=t.paddingBottom,d=void 0!==t.renderIndentGuides?t.renderIndentGuides:i.getValue(SD);return{getTypeNavigationMode:()=>{const e=s.getContextKeyValue(dD);if("automatic"===e)return pg.Automatic;if("trigger"===e)return pg.Trigger;if(!1===s.getContextKeyValue(cD))return pg.Trigger;const t=i.getValue(vD);return"automatic"===t?pg.Automatic:"trigger"===t?pg.Trigger:void 0},disposable:l,options:{keyboardSupport:!1,...a,indent:"number"==typeof i.getValue(yD)?i.getValue(yD):void 0,renderIndentGuides:d,smoothScrolling:Boolean(i.getValue(kD)),defaultFindMode:$D(i),defaultFindMatchType:qD(i),horizontalScrolling:r,scrollByPage:Boolean(i.getValue(CD)),paddingBottom:h,hideTwistiesOfChildlessElements:t.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:t.expandOnlyOnTwistieClick??"doubleClick"===i.getValue(DD),contextViewProvider:n,findWidgetStyles:mp,enableStickyScroll:Boolean(i.getValue(ND)),stickyScrollMaxItemCount:Number(i.getValue(ID))}}}jD=$x([qx(7,qn._Y),qx(8,hs.fN),qx(9,Gx),qx(10,Wp.pG)],jD);let QD=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,i,n,s,o,r){this.tree=e,this.disposables=[],this.contextKeyService=uD(s,e),this.disposables.push(gD(this.contextKeyService,e)),this.listSupportsMultiSelect=Xx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==t.multipleSelectionSupport);nD.bindTo(this.contextKeyService).set(Boolean(t.selectionNavigation)),this.listSupportFindWidget=sD.bindTo(this.contextKeyService),this.listSupportFindWidget.set(t.findWidgetEnabled??!0),this.hasSelectionOrFocus=eD.bindTo(this.contextKeyService),this.hasDoubleSelection=tD.bindTo(this.contextKeyService),this.hasMultiSelection=iD.bindTo(this.contextKeyService),this.treeElementCanCollapse=oD.bindTo(this.contextKeyService),this.treeElementHasParent=rD.bindTo(this.contextKeyService),this.treeElementCanExpand=aD.bindTo(this.contextKeyService),this.treeElementHasChild=lD.bindTo(this.contextKeyService),this.treeFindOpen=hD.bindTo(this.contextKeyService),this.treeStickyScrollFocused=Zx.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=ED(r),this.updateStyleOverrides(n);const a=()=>{const t=e.getFocus()[0];if(!t)return;const i=e.getNode(t);this.treeElementCanCollapse.set(i.collapsible&&!i.collapsed),this.treeElementHasParent.set(!!e.getParentElement(t)),this.treeElementCanExpand.set(i.collapsible&&i.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(t))},l=new Set;l.add(dD),l.add(cD),this.disposables.push(this.contextKeyService,o.register(e),e.onDidChangeSelection((()=>{const t=e.getSelection(),i=e.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.hasSelectionOrFocus.set(t.length>0||i.length>0),this.hasMultiSelection.set(t.length>1),this.hasDoubleSelection.set(2===t.length)}))})),e.onDidChangeFocus((()=>{const t=e.getSelection(),i=e.getFocus();this.hasSelectionOrFocus.set(t.length>0||i.length>0),a()})),e.onDidChangeCollapseState(a),e.onDidChangeModel(a),e.onDidChangeFindOpenState((e=>this.treeFindOpen.set(e))),e.onDidChangeStickyScrollFocused((e=>this.treeStickyScrollFocused.set(e))),r.onDidChangeConfiguration((n=>{let s={};if(n.affectsConfiguration(pD)&&(this._useAltAsMultipleSelectionModifier=ED(r)),n.affectsConfiguration(yD)){const e=r.getValue(yD);s={...s,indent:e}}if(n.affectsConfiguration(SD)&&void 0===t.renderIndentGuides){const e=r.getValue(SD);s={...s,renderIndentGuides:e}}if(n.affectsConfiguration(kD)){const e=Boolean(r.getValue(kD));s={...s,smoothScrolling:e}}if(n.affectsConfiguration(_D)||n.affectsConfiguration(bD)){const e=$D(r);s={...s,defaultFindMode:e}}if(n.affectsConfiguration(vD)||n.affectsConfiguration(bD)){const e=i();s={...s,typeNavigationMode:e}}if(n.affectsConfiguration(wD)){const e=qD(r);s={...s,defaultFindMatchType:e}}if(n.affectsConfiguration(fD)&&void 0===t.horizontalScrolling){const e=Boolean(r.getValue(fD));s={...s,horizontalScrolling:e}}if(n.affectsConfiguration(CD)){const e=Boolean(r.getValue(CD));s={...s,scrollByPage:e}}if(n.affectsConfiguration(DD)&&void 0===t.expandOnlyOnTwistieClick&&(s={...s,expandOnlyOnTwistieClick:"doubleClick"===r.getValue(DD)}),n.affectsConfiguration(ND)){const e=r.getValue(ND);s={...s,enableStickyScroll:e}}if(n.affectsConfiguration(ID)){const e=Math.max(1,r.getValue(ID));s={...s,stickyScrollMaxItemCount:e}}if(n.affectsConfiguration(LD)){const e=r.getValue(LD);s={...s,mouseWheelScrollSensitivity:e}}if(n.affectsConfiguration(xD)){const e=r.getValue(xD);s={...s,fastScrollSensitivity:e}}Object.keys(s).length>0&&e.updateOptions(s)})),this.contextKeyService.onDidChangeContext((t=>{t.affectsSome(l)&&e.updateOptions({typeNavigationMode:i()})}))),this.navigator=new BD(e,{configurationService:r,...t}),this.disposables.push(this.navigator)}updateOptions(e){void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?vp(e):_p)}dispose(){this.disposables=(0,Ae.AS)(this.disposables)}};QD=$x([qx(4,hs.fN),qx(5,Gx),qx(6,Wp.pG)],QD);ds.O.as(Ac.Fd.Configuration).registerConfiguration({id:"workbench",order:7,title:(0,$n.kg)("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[pD]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[(0,$n.kg)("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),(0,$n.kg)("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:(0,$n.kg)({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[mD]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,$n.kg)({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[fD]:{type:"boolean",default:!1,description:(0,$n.kg)("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[CD]:{type:"boolean",default:!1,description:(0,$n.kg)("list.scrollByPage","Controls whether clicks in the scrollbar scroll page by page.")},[yD]:{type:"number",default:8,minimum:4,maximum:40,description:(0,$n.kg)("tree indent setting","Controls tree indentation in pixels.")},[SD]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:(0,$n.kg)("render tree indent guides","Controls whether the tree should render indent guides.")},[kD]:{type:"boolean",default:!1,description:(0,$n.kg)("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[LD]:{type:"number",default:1,markdownDescription:(0,$n.kg)("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[xD]:{type:"number",default:5,markdownDescription:(0,$n.kg)("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[_D]:{type:"string",enum:["highlight","filter"],enumDescriptions:[(0,$n.kg)("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),(0,$n.kg)("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:(0,$n.kg)("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[bD]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[(0,$n.kg)("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),(0,$n.kg)("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),(0,$n.kg)("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:(0,$n.kg)("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:(0,$n.kg)("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.")},[wD]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[(0,$n.kg)("defaultFindMatchTypeSettingKey.fuzzy","Use fuzzy matching when searching."),(0,$n.kg)("defaultFindMatchTypeSettingKey.contiguous","Use contiguous matching when searching.")],default:"fuzzy",description:(0,$n.kg)("defaultFindMatchTypeSettingKey","Controls the type of matching used when searching lists and trees in the workbench.")},[DD]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,$n.kg)("expand mode","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[ND]:{type:"boolean",default:!0,description:(0,$n.kg)("sticky scroll","Controls whether sticky scrolling is enabled in trees.")},[ID]:{type:"number",minimum:1,default:7,markdownDescription:(0,$n.kg)("sticky scroll maximum items","Controls the number of sticky elements displayed in the tree when {0} is enabled.","`#workbench.tree.enableStickyScroll#`")},[vD]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:(0,$n.kg)("typeNavigationMode2","Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});class YD{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=Pl.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){const e=this.parent.getPreview(this)?.preview(this.range);return e?(0,$n.kg)({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",e.value,(0,Bn.P8)(this.uri),this.range.startLineNumber,this.range.startColumn):(0,$n.kg)("aria.oneReference","in {0} on line {1} at column {2}",(0,Bn.P8)(this.uri),this.range.startLineNumber,this.range.startColumn)}}class ZD{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:n,startColumn:s,endLineNumber:o,endColumn:r}=e,a=i.getWordUntilPosition({lineNumber:n,column:s-t}),l=new Js.Q(n,a.startColumn,n,s),h=new Js.Q(o,r,o,1073741824),d=i.getValueInRange(l).replace(/^\s+/,""),c=i.getValueInRange(e);return{value:d+c+i.getValueInRange(h).replace(/\s+$/,""),highlight:{start:d.length,end:d.length+c.length}}}}class XD{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new ki.fT}dispose(){(0,Ae.AS)(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return 1===e?(0,$n.kg)("aria.fileReferences.1","1 symbol in {0}, full path {1}",(0,Bn.P8)(this.uri),this.uri.fsPath):(0,$n.kg)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,(0,Bn.P8)(this.uri),this.uri.fsPath)}async resolve(e){if(0!==this._previews.size)return this;for(const i of this.children)if(!this._previews.has(i.uri))try{const t=await e.createModelReference(i.uri);this._previews.set(i.uri,new ZD(t))}catch(t){(0,b.dz)(t)}return this}}class JD{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new P.vl,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;let n;e.sort(JD._compareReferences);for(const s of e)if(n&&Bn.er.isEqual(n.uri,s.uri,!0)||(n=new XD(this,s.uri),this.groups.push(n)),0===n.children.length||0!==JD._compareReferences(s,n.children[n.children.length-1])){const e=new YD(i===s,n,s,(e=>this._onDidChangeReferenceRange.fire(e)));this.references.push(e),n.children.push(e)}}dispose(){(0,Ae.AS)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new JD(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?(0,$n.kg)("aria.result.0","No results found"):1===this.references.length?(0,$n.kg)("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?(0,$n.kg)("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):(0,$n.kg)("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let n=i.children.indexOf(e);const s=i.children.length,o=i.parent.groups.length;return 1===o||t&&n+10?(n=t?(n+1)%s:(n+s-1)%s,i.children[n]):(n=i.parent.groups.indexOf(i),t?(n=(n+1)%o,i.parent.groups[n].children[0]):(n=(n+o-1)%o,i.parent.groups[n].children[i.parent.groups[n].children.length-1]))}nearestReference(e,t){const i=this.references.map(((i,n)=>({idx:n,prefixLen:Ri.Qp(i.uri.toString(),e.toString()),offsetDist:100*Math.abs(i.range.startLineNumber-t.lineNumber)+Math.abs(i.range.startColumn-t.column)}))).sort(((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0))[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&Js.Q.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return Bn.er.compare(e.uri,t.uri)||Js.Q.compareRangesUsingStarts(e.range,t.range)}}class eN{constructor(e,t,i){this.options=t,this.styles=i,this.count=0,this.element=Gt(e,ei(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){this.element.textContent=(0,Ri.GP)(this.countFormat,this.count),this.element.title=(0,Ri.GP)(this.titleFormat,this.count),this.element.style.backgroundColor=this.styles.badgeBackground??"",this.element.style.color=this.styles.badgeForeground??"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}class tN extends Ae.jG{constructor(e,t){super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=t?.supportIcons??!1,this.domNode=Gt(e,ei("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],i="",n){e||(e=""),n&&(e=tN.escapeNewLines(e,t)),this.didEverRender&&this.text===e&&this.title===i&&ql.aI(this.highlights,t)||(this.text=e,this.title=i,this.highlights=t,this.render())}render(){const e=[];let t=0;for(const i of this.highlights){if(i.end===i.start)continue;if(t{n="\r\n"===e?-1:0,s+=i;for(const i of t)i.end<=s||(i.start>=s&&(i.start+=n),i.end>=s&&(i.end+=n));return i+=n,"\u23ce"}))}}class iN{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set classNames(e){this.disposed||(0,ql.aI)(e,this._classNames)||(this._classNames=e,this._element.classList.value="",this._element.classList.add(...e))}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class nN extends Ae.jG{constructor(e,t){super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new iN(Gt(e,ei(".monaco-icon-label")))),this.labelContainer=Gt(this.domNode.element,ei(".monaco-icon-label-container")),this.nameContainer=Gt(this.labelContainer,ei("span.monaco-icon-name-container")),this.nameNode=t?.supportHighlights||t?.supportIcons?this._register(new oN(this.nameContainer,!!t.supportIcons)):new sN(this.nameContainer),this.hoverDelegate=t?.hoverDelegate??ld("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){const n=["monaco-icon-label"],s=["monaco-icon-label-container"];let o="";i&&(i.extraClasses&&n.push(...i.extraClasses),i.italic&&n.push("italic"),i.strikethrough&&n.push("strikethrough"),i.disabledCommand&&s.push("disabled"),i.title&&("string"==typeof i.title?o+=i.title:o+=e));const r=this.domNode.element.querySelector(".monaco-icon-label-iconpath");if(i?.iconPath){let e;r&&Bt(r)?e=r:(e=ei(".monaco-icon-label-iconpath"),this.domNode.element.prepend(e)),e.style.backgroundImage=oi(i?.iconPath)}else r&&r.remove();if(this.domNode.classNames=n,this.domNode.element.setAttribute("aria-label",o),this.labelContainer.classList.value="",this.labelContainer.classList.add(...s),this.setupHover(i?.descriptionTitle?this.labelContainer:this.element,i?.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const e=this.getOrCreateDescriptionNode();e instanceof tN?(e.set(t||"",i?i.descriptionMatches:void 0,void 0,i?.labelEscapeNewLines),this.setupHover(e.element,i?.descriptionTitle)):(e.textContent=t&&i?.labelEscapeNewLines?tN.escapeNewLines(t,[]):t||"",this.setupHover(e.element,i?.descriptionTitle||""),e.empty=!t)}if(i?.suffix||this.suffixNode){this.getOrCreateSuffixNode().textContent=i?.suffix??""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),t)if(this.hoverDelegate.showNativeHover){function n(e,t){(0,rs.Kg)(t)?e.title=Pn(t):t?.markdownNotSupportedFallback?e.title=t.markdownNotSupportedFallback:e.removeAttribute("title")}n(e,t)}else{const s=ud().setupManagedHover(this.hoverDelegate,e,t);s&&this.customHovers.set(e,s)}else e.removeAttribute("title")}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const i=this._register(new iN((e=this.nameContainer,t=ei("span.monaco-icon-suffix-container"),e.after(t),t)));this.suffixNode=this._register(new iN(Gt(i.element,ei("span.label-suffix"))))}var e,t;return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){const e=this._register(new iN(Gt(this.labelContainer,ei("span.monaco-icon-description-container"))));this.creationOptions?.supportDescriptionHighlights?this.descriptionNode=this._register(new tN(Gt(e.element,ei("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new iN(Gt(e.element,ei("span.label-description"))))}return this.descriptionNode}}class sN{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(this.label!==e||!(0,ql.aI)(this.options,t))if(this.label=e,this.options=t,"string"==typeof e)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=Gt(this.container,ei("a.label-name",{id:t?.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i{const s={start:n,end:n+e.length},o=i.map((e=>tg.intersect(s,e))).filter((e=>!tg.isEmpty(e))).map((({start:e,end:t})=>({start:e-n,end:t-n})));return n=s.end+t.length,o}))}(e,i,t?.matches);for(let s=0;s=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},hN=function(e,t){return function(i,n){t(i,n,e)}};let dN=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof JD||e instanceof XD}getChildren(e){if(e instanceof JD)return e.groups;if(e instanceof XD)return e.resolve(this._resolverService).then((e=>e.children));throw new Error("bad tree")}};dN=lN([hN(0,Zn.ITextModelService)],dN);class cN{getHeight(){return 23}getTemplateId(e){return e instanceof XD?mN.id:_N.id}}let uN=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){if(e instanceof YD){const t=e.parent.getPreview(e)?.preview(e.range);if(t)return t.value}return(0,Bn.P8)(e.uri)}};uN=lN([hN(0,Cd)],uN);class gN{getId(e){return e instanceof YD?e.id:e.uri}}let pN=class extends Ae.jG{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new nN(i,{supportHighlights:!0})),this.badge=new eN(Gt(i,ei(".count")),{},fp),e.appendChild(i)}set(e,t){const i=(0,Bn.pD)(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat((0,$n.kg)("referencesCount","{0} references",n)):this.badge.setTitleFormat((0,$n.kg)("referenceCount","{0} reference",n))}};pN=lN([hN(1,rN)],pN);let mN=class{static{aN=this}static{this.id="FileReferencesRenderer"}constructor(e){this._instantiationService=e,this.templateId=aN.id}renderTemplate(e){return this._instantiationService.createInstance(pN,e)}renderElement(e,t,i){i.set(e.element,dn(e.filterData))}disposeTemplate(e){e.dispose()}};mN=aN=lN([hN(0,qn._Y)],mN);class fN extends Ae.jG{constructor(e){super(),this.label=this._register(new tN(e))}set(e,t){const i=e.parent.getPreview(e)?.preview(e.range);if(i&&i.value){const{value:e,highlight:n}=i;t&&!kn.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(e,dn(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(e,[n]))}else this.label.set(`${(0,Bn.P8)(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`)}}class _N{constructor(){this.templateId=_N.id}static{this.id="OneReferenceRenderer"}renderTemplate(e){return new fN(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}}class vN{getWidgetAriaLabel(){return(0,$n.kg)("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var bN=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},CN=function(e,t){return function(i,n){t(i,n,e)}};class wN{static{this.DecorationOptions=to.kI.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"})}constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Ae.Cm,this._callOnModelChange=new Ae.Cm,this._callOnDispose.add(this._editor.onDidChangeModel((()=>this._onModelChanged()))),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e)for(const t of this._model.references)if(t.uri.toString()===e.uri.toString())return void this._addDecorations(t.parent)}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const t=[],i=[];for(let n=0,s=e.children.length;n{const s=n.deltaDecorations([],t);for(let t=0;t{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(SN,"ReferencesWidget",this._treeContainer,new cN,[this._instantiationService.createInstance(mN),this._instantiationService.createInstance(_N)],this._instantiationService.createInstance(dN),t),this._splitView.addView({onDidChange:P.Jh.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},hL.Distribute),this._splitView.addView({onDidChange:P.Jh.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},hL.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const i=(e,t)=>{e instanceof YD&&("show"===t&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:"tree"}))};this._disposables.add(this._tree.onDidOpen((e=>{e.sideBySide?i(e.element,"side"):e.editorOptions.pinned?i(e.element,"goto"):i(e.element,"show")}))),ii(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new ht(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then((()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))}))}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=$n.kg("noResults","No results"),ti(this._messageContainer),Promise.resolve(void 0)):(ii(this._messageContainer),this._decorationsManager=new wN(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((e=>this._tree.rerender(e)))),this._disposeOnNewModel.add(this._preview.onMouseDown((e=>{const{event:t,target:i}=e;if(2!==t.detail)return;const n=this._getFocusedReference();n&&this._onDidSelectReference.fire({element:{uri:n.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),ti(this._treeContainer),ti(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();return e instanceof YD?e:e instanceof XD&&e.children.length>0?e.children[0]:void 0}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==Pe.ny.inMemory?this.setTitle((0,Bn.Pi)(e.uri),this._uriLabel.getUriLabel((0,Bn.pD)(e.uri))):this.setTitle($n.kg("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent||(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent)),this._tree.reveal(e);const n=await i;if(!this._model)return void n.dispose();(0,Ae.AS)(this._previewModelReference);const s=n.object;if(s){const t=this._preview.getModel()===s.textEditorModel?0:1,i=Js.Q.lift(e.range).collapseToStart();this._previewModelReference=n,this._preview.setModel(s.textEditorModel),this._preview.setSelection(i),this._preview.revealRangeInCenter(i,t)}else this._preview.setModel(this._previewNotAvailableMessage),n.dispose()}};kN=bN([CN(3,no.Gy),CN(4,Zn.ITextModelService),CN(5,qn._Y),CN(6,Kk),CN(7,rN),CN(8,Cd)],kN);var LN,xN=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},DN=function(e,t){return function(i,n){t(i,n,e)}};const NN=new hs.N1("referenceSearchVisible",!1,$n.kg("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let IN=class{static{LN=this}static{this.ID="editor.contrib.referencesController"}static get(e){return e.getContribution(LN.ID)}constructor(e,t,i,n,s,o,r,a){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=o,this._storageService=r,this._configurationService=a,this._disposables=new Ae.Cm,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=NN.bindTo(i)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let n;if(this._widget&&(n=this._widget.position),this.closeWidget(),n&&e.containsPosition(n))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const s="peekViewLayout",o=yN.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(kN,this._editor,this._defaultTreeKeyboardSupport,o),this._widget.setTitle($n.kg("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose((()=>{t.cancel(),this._widget?(this._storageService.store(s,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((e=>{const{element:t,kind:n}=e;if(t)switch(n){case"open":"editor"===e.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(t,!1,!1);break;case"side":this.openReference(t,!0,!1);break;case"goto":i?this._gotoReference(t,!0):this.openReference(t,!1,!0)}})));const r=++this._requestIdPool;t.then((t=>{if(r===this._requestIdPool&&this._widget)return this._model?.dispose(),this._model=t,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle($n.kg("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const t=this._editor.getModel().uri,i=new Qn.y(e.startLineNumber,e.startColumn),n=this._model.nearestReference(t,i);if(n)return this._widget.setSelection(n).then((()=>{this._widget&&"editor"===this._editor.getOption(87)&&this._widget.focusOnPreviewEditor()}))}}));t.dispose()}),(e=>{this._notificationService.error(e)}))}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),s=this._editor.hasTextFocus(),o=this._widget.isPreviewEditorFocused();await this._widget.setSelection(n),await this._gotoReference(n,!1),s?this._editor.focus():this._widget&&o&&this._widget.focusOnPreviewEditor()}async revealReference(e){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(e)}closeWidget(e=!0){this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){this._widget?.hide(),this._ignoreModelChangeEvent=!0;const i=Js.Q.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then((e=>{if(this._ignoreModelChangeEvent=!1,e&&this._widget)if(this._editor===e)this._widget.show(i),this._widget.focusOnReferenceTree();else{const t=LN.get(e),n=this._model.clone();this.closeWidget(),e.focus(),t?.toggleWidget(i,(0,A.SS)((e=>Promise.resolve(n))),this._peekMode??!1)}else this.closeWidget()}),(e=>{this._ignoreModelChangeEvent=!1,(0,b.dz)(e)}))}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:s}=e;this._editorService.openCodeEditor({resource:n,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor,t)}};function EN(e,t){const i=function(e){const t=e.get(Gn).getFocusedCodeEditor();return t instanceof Pk?t.getParentEditor():t}(e);if(!i)return;const n=IN.get(i);n&&t(n)}IN=LN=xN([DN(2,hs.fN),DN(3,Gn),DN(4,Sd),DN(5,qn._Y),DN(6,bw),DN(7,Wp.pG)],IN),us.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:(0,v.m5)(2089,60),when:hs.M$.or(NN,jk.inPeekEditor),handler(e){EN(e,(e=>{e.changeFocusBetweenPreviewAndReferences()}))}}),us.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:hs.M$.or(NN,jk.inPeekEditor),handler(e){EN(e,(e=>{e.goToNextOrPreviousReference(!0)}))}}),us.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:hs.M$.or(NN,jk.inPeekEditor),handler(e){EN(e,(e=>{e.goToNextOrPreviousReference(!1)}))}}),ls.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),ls.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),ls.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),ls.registerCommand("closeReferenceSearch",(e=>EN(e,(e=>e.closeWidget())))),us.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:hs.M$.and(jk.inPeekEditor,hs.M$.not("config.editor.stablePeek"))}),us.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:hs.M$.and(NN,hs.M$.not("config.editor.stablePeek"),hs.M$.or($s.editorTextFocus,jx.negate()))}),us.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:hs.M$.and(NN,Jx,oD.negate(),aD.negate()),handler(e){const t=e.get(Gx),i=t.lastFocusedList?.getFocus();Array.isArray(i)&&i[0]instanceof YD&&EN(e,(e=>e.revealReference(i[0])))}}),us.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:hs.M$.and(NN,Jx,oD.negate(),aD.negate()),handler(e){const t=e.get(Gx),i=t.lastFocusedList?.getFocus();Array.isArray(i)&&i[0]instanceof YD&&EN(e,(e=>e.openReference(i[0],!0,!0)))}}),ls.registerCommand("openReference",(e=>{const t=e.get(Gx),i=t.lastFocusedList?.getFocus();Array.isArray(i)&&i[0]instanceof YD&&EN(e,(e=>e.openReference(i[0],!1,!0)))}));var MN=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},TN=function(e,t){return function(i,n){t(i,n,e)}};const RN=new hs.N1("hasSymbols",!1,(0,$n.kg)("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),AN=(0,qn.u1)("ISymbolNavigationService");let PN=class{constructor(e,t,i,n){this._editorService=t,this._notificationService=i,this._keybindingService=n,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=RN.bindTo(e)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1)return void this.reset();this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new ON(this._editorService),n=i.onDidChange((e=>{if(this._ignoreEditorChange)return;const i=this._editorService.getActiveCodeEditor();if(!i)return;const n=i.getModel(),s=i.getPosition();if(!n||!s)return;let o=!1,r=!1;for(const a of t.references)if((0,Bn.n4)(a.uri,n.uri))o=!0,r=r||Js.Q.containsPosition(a.range,s);else if(o)break;o&&r||this.reset()}));this._currentState=(0,Ae.qE)(i,n)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:Js.Q.collapseToStart(t.range),selectionRevealType:3}},e).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){this._currentMessage?.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?(0,$n.kg)("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):(0,$n.kg)("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};PN=MN([TN(0,hs.fN),TN(1,Gn),TN(2,Sd),TN(3,Cd)],PN),(0,ul.v)(AN,PN,1),Fs(new class extends Ts{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:RN,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(AN).revealNext(t)}}),us.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:RN,primary:9,handler(e){e.get(AN).reset()}});let ON=class{constructor(e){this._listener=new Map,this._disposables=new Ae.Cm,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),(0,Ae.AS)(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,(0,Ae.qE)(e.onDidChangeCursorPosition((t=>this._onDidChange.fire({editor:e}))),e.onDidChangeModelContent((t=>this._onDidChange.fire({editor:e})))))}_onDidRemoveEditor(e){this._listener.get(e)?.dispose(),this._listener.delete(e)}};function FN(e,t){return t.uri.scheme===e.uri.scheme||!(0,Pe.fV)(t.uri,Pe.ny.walkThroughSnippet,Pe.ny.vscodeChatCodeBlock,Pe.ny.vscodeChatCodeCompareBlock)}async function WN(e,t,i,n,s){const o=i.ordered(e,n).map((i=>Promise.resolve(s(i,e,t)).then(void 0,(e=>{(0,b.M_)(e)})))),r=await Promise.all(o);return(0,na.Yc)(r.flat()).filter((t=>FN(e,t)))}function BN(e,t,i,n,s){return WN(t,i,e,n,((e,t,i)=>e.provideDefinition(t,i,s)))}function HN(e,t,i,n,s){return WN(t,i,e,n,((e,t,i)=>e.provideDeclaration(t,i,s)))}function VN(e,t,i,n,s){return WN(t,i,e,n,((e,t,i)=>e.provideImplementation(t,i,s)))}function zN(e,t,i,n,s){return WN(t,i,e,n,((e,t,i)=>e.provideTypeDefinition(t,i,s)))}function UN(e,t,i,n,s,o){return WN(t,i,e,s,(async(e,t,i)=>{const s=(await e.provideReferences(t,i,{includeDeclaration:!0},o))?.filter((e=>FN(t,e)));if(!n||!s||2!==s.length)return s;const r=(await e.provideReferences(t,i,{includeDeclaration:!1},o))?.filter((e=>FN(t,e)));return r&&1===r.length?r:s}))}async function KN(e){const t=await e(),i=new JD(t,""),n=i.references.map((e=>e.link));return i.dispose(),n}ON=MN([TN(0,Gn)],ON),Os("_executeDefinitionProvider",((e,t,i)=>{const n=BN(e.get(xa.ILanguageFeaturesService).definitionProvider,t,i,!1,sa.XO.None);return KN((()=>n))})),Os("_executeDefinitionProvider_recursive",((e,t,i)=>{const n=BN(e.get(xa.ILanguageFeaturesService).definitionProvider,t,i,!0,sa.XO.None);return KN((()=>n))})),Os("_executeTypeDefinitionProvider",((e,t,i)=>{const n=zN(e.get(xa.ILanguageFeaturesService).typeDefinitionProvider,t,i,!1,sa.XO.None);return KN((()=>n))})),Os("_executeTypeDefinitionProvider_recursive",((e,t,i)=>{const n=zN(e.get(xa.ILanguageFeaturesService).typeDefinitionProvider,t,i,!0,sa.XO.None);return KN((()=>n))})),Os("_executeDeclarationProvider",((e,t,i)=>{const n=HN(e.get(xa.ILanguageFeaturesService).declarationProvider,t,i,!1,sa.XO.None);return KN((()=>n))})),Os("_executeDeclarationProvider_recursive",((e,t,i)=>{const n=HN(e.get(xa.ILanguageFeaturesService).declarationProvider,t,i,!0,sa.XO.None);return KN((()=>n))})),Os("_executeReferenceProvider",((e,t,i)=>{const n=UN(e.get(xa.ILanguageFeaturesService).referenceProvider,t,i,!1,!1,sa.XO.None);return KN((()=>n))})),Os("_executeReferenceProvider_recursive",((e,t,i)=>{const n=UN(e.get(xa.ILanguageFeaturesService).referenceProvider,t,i,!1,!0,sa.XO.None);return KN((()=>n))})),Os("_executeImplementationProvider",((e,t,i)=>{const n=VN(e.get(xa.ILanguageFeaturesService).implementationProvider,t,i,!1,sa.XO.None);return KN((()=>n))})),Os("_executeImplementationProvider_recursive",((e,t,i)=>{const n=VN(e.get(xa.ILanguageFeaturesService).implementationProvider,t,i,!0,sa.XO.None);return KN((()=>n))})),ws.appendMenuItem(vs.EditorContext,{submenu:vs.EditorContextPeek,title:$n.kg("peek.submenu","Peek"),group:"navigation",order:100});class jN{static is(e){return!(!e||"object"!=typeof e)&&(e instanceof jN||!(!Qn.y.isIPosition(e.position)||!e.model))}constructor(e,t){this.model=e,this.position=t}}class $N extends Ps{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return $N._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of os.f.wrap(t.menu))i.id!==vs.EditorContext&&i.id!==vs.EditorContextPeek||(i.when=hs.M$.and(e.precondition,i.when));return t}constructor(e,t){super($N._patchConfig(t)),this.configuration=e,$N._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(Sd),o=e.get(Gn),r=e.get(Gh),a=e.get(AN),l=e.get(xa.ILanguageFeaturesService),h=e.get(qn._Y),d=t.getModel(),c=t.getPosition(),u=jN.is(i)?i:new jN(d,c),g=new _l(t,5),p=(0,A.PK)(this._getLocationModel(l,u.model,u.position,g.token),g.token).then((async e=>{if(!e||g.token.isCancellationRequested)return;let s;if(wi(e.ariaMessage),e.referenceAt(d.uri,c)){const e=this._getAlternativeCommand(t);!$N._activeAlternativeCommands.has(e)&&$N._allSymbolNavigationCommands.has(e)&&(s=$N._allSymbolNavigationCommands.get(e))}const r=e.references.length;if(0===r){if(!this.configuration.muteMessage){const e=d.getWordAtPosition(c);Uh.get(t)?.showMessage(this._getNoResultFoundMessage(e),c)}}else{if(1!==r||!s)return this._onResult(o,a,t,e,n);$N._activeAlternativeCommands.add(this.desc.id),h.invokeFunction((e=>s.runEditorCommand(e,t,i,n).finally((()=>{$N._activeAlternativeCommands.delete(this.desc.id)}))))}}),(e=>{s.error(e)})).finally((()=>{g.dispose()}));return r.showWhile(p,250),p}async _onResult(e,t,i,n,s){const o=this._getGoToPreference(i);if(i instanceof Pk||!(this.configuration.openInPeek||"peek"===o&&n.references.length>1)){const r=n.firstReference(),a=n.references.length>1&&"gotoAndPeek"===o,l=await this._openReference(i,e,r,this.configuration.openToSide,!a);a&&l?this._openInPeek(l,n,s):n.dispose(),"goto"===o&&t.put(r)}else this._openInPeek(i,n,s)}async _openReference(e,t,i,n,s){let o;if((0,La.Iu)(i)&&(o=i.targetSelectionRange),o||(o=i.range),!o)return;const r=await t.openCodeEditor({resource:i.uri,options:{selection:Js.Q.collapseToStart(o),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(r){if(s){const e=r.getModel(),t=r.createDecorationsCollection([{range:o,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{r.getModel()===e&&t.clear()}),350)}return r}}_openInPeek(e,t,i){const n=IN.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),(0,A.SS)((e=>Promise.resolve(t))),this.configuration.openInPeek):t.dispose()}}class qN extends $N{async _getLocationModel(e,t,i,n){return new JD(await BN(e.definitionProvider,t,i,!1,n),$n.kg("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?$n.kg("noResultWord","No definition found for '{0}'",e.word):$n.kg("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}Ls(class e extends qN{static{this.id="editor.action.revealDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...$n.aS("actions.goToDecl.label","Go to Definition"),mnemonicTitle:$n.kg({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:$s.hasDefinitionProvider,keybinding:[{when:$s.editorTextFocus,primary:70,weight:100},{when:hs.M$.and($s.editorTextFocus,Ux),primary:2118,weight:100}],menu:[{id:vs.EditorContext,group:"navigation",order:1.1},{id:vs.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),ls.registerCommandAlias("editor.action.goToDeclaration",e.id)}}),Ls(class e extends qN{static{this.id="editor.action.revealDefinitionAside"}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:e.id,title:$n.aS("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:hs.M$.and($s.hasDefinitionProvider,$s.isInEmbeddedEditor.toNegated()),keybinding:[{when:$s.editorTextFocus,primary:(0,v.m5)(2089,70),weight:100},{when:hs.M$.and($s.editorTextFocus,Ux),primary:(0,v.m5)(2089,2118),weight:100}]}),ls.registerCommandAlias("editor.action.openDeclarationToTheSide",e.id)}}),Ls(class e extends qN{static{this.id="editor.action.peekDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.id,title:$n.aS("actions.previewDecl.label","Peek Definition"),precondition:hs.M$.and($s.hasDefinitionProvider,jk.notInPeekEditor,$s.isInEmbeddedEditor.toNegated()),keybinding:{when:$s.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:vs.EditorContextPeek,group:"peek",order:2}}),ls.registerCommandAlias("editor.action.previewDeclaration",e.id)}});class GN extends $N{async _getLocationModel(e,t,i,n){return new JD(await HN(e.declarationProvider,t,i,!1,n),$n.kg("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?$n.kg("decl.noResultWord","No declaration found for '{0}'",e.word):$n.kg("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}Ls(class e extends GN{static{this.id="editor.action.revealDeclaration"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...$n.aS("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:$n.kg({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:hs.M$.and($s.hasDeclarationProvider,$s.isInEmbeddedEditor.toNegated()),menu:[{id:vs.EditorContext,group:"navigation",order:1.3},{id:vs.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?$n.kg("decl.noResultWord","No declaration found for '{0}'",e.word):$n.kg("decl.generic.noResults","No declaration found")}}),Ls(class extends GN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:$n.aS("actions.peekDecl.label","Peek Declaration"),precondition:hs.M$.and($s.hasDeclarationProvider,jk.notInPeekEditor,$s.isInEmbeddedEditor.toNegated()),menu:{id:vs.EditorContextPeek,group:"peek",order:3}})}});class QN extends $N{async _getLocationModel(e,t,i,n){return new JD(await zN(e.typeDefinitionProvider,t,i,!1,n),$n.kg("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?$n.kg("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):$n.kg("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}Ls(class e extends QN{static{this.ID="editor.action.goToTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...$n.aS("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:$n.kg({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:$s.hasTypeDefinitionProvider,keybinding:{when:$s.editorTextFocus,primary:0,weight:100},menu:[{id:vs.EditorContext,group:"navigation",order:1.4},{id:vs.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}),Ls(class e extends QN{static{this.ID="editor.action.peekTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:$n.aS("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:hs.M$.and($s.hasTypeDefinitionProvider,jk.notInPeekEditor,$s.isInEmbeddedEditor.toNegated()),menu:{id:vs.EditorContextPeek,group:"peek",order:4}})}});class YN extends $N{async _getLocationModel(e,t,i,n){return new JD(await VN(e.implementationProvider,t,i,!1,n),$n.kg("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?$n.kg("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):$n.kg("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}Ls(class e extends YN{static{this.ID="editor.action.goToImplementation"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...$n.aS("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:$n.kg({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:$s.hasImplementationProvider,keybinding:{when:$s.editorTextFocus,primary:2118,weight:100},menu:[{id:vs.EditorContext,group:"navigation",order:1.45},{id:vs.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}),Ls(class e extends YN{static{this.ID="editor.action.peekImplementation"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:$n.aS("actions.peekImplementation.label","Peek Implementations"),precondition:hs.M$.and($s.hasImplementationProvider,jk.notInPeekEditor,$s.isInEmbeddedEditor.toNegated()),keybinding:{when:$s.editorTextFocus,primary:3142,weight:100},menu:{id:vs.EditorContextPeek,group:"peek",order:5}})}});class ZN extends $N{_getNoResultFoundMessage(e){return e?$n.kg("references.no","No references found for '{0}'",e.word):$n.kg("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Ls(class extends ZN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...$n.aS("goToReferences.label","Go to References"),mnemonicTitle:$n.kg({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:hs.M$.and($s.hasReferenceProvider,jk.notInPeekEditor,$s.isInEmbeddedEditor.toNegated()),keybinding:{when:$s.editorTextFocus,primary:1094,weight:100},menu:[{id:vs.EditorContext,group:"navigation",order:1.45},{id:vs.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new JD(await UN(e.referenceProvider,t,i,!0,!1,n),$n.kg("ref.title","References"))}}),Ls(class extends ZN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:$n.aS("references.action.label","Peek References"),precondition:hs.M$.and($s.hasReferenceProvider,jk.notInPeekEditor,$s.isInEmbeddedEditor.toNegated()),menu:{id:vs.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new JD(await UN(e.referenceProvider,t,i,!1,!1,n),$n.kg("ref.title","References"))}});class XN extends $N{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:$n.aS("label.generic","Go to Any Symbol"),precondition:hs.M$.and(jk.notInPeekEditor,$s.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new JD(this._references,$n.kg("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&$n.kg("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}async function JN(e,t,i,n){const s=e.get(Zn.ITextModelService),o=e.get(bd),r=e.get(as),a=e.get(qn._Y),l=e.get(Sd);if(await n.item.resolve(sa.XO.None),!n.part.location)return;const h=n.part.location,d=[],c=new Set(ws.getMenuItems(vs.EditorContext).map((e=>_s(e)?e.command.id:oa())));for(const g of $N.all())c.has(g.desc.id)&&d.push(new Xn(g.desc.id,Ss.label(g.desc,{renderShortTitle:!0}),void 0,!0,(async()=>{const e=await s.createModelReference(h.uri);try{const i=new jN(e.object.textEditorModel,Js.Q.getStartPosition(h.range)),s=n.item.anchor.range;await a.invokeFunction(g.runEditorCommand.bind(g),t,i,s)}finally{e.dispose()}})));if(n.part.command){const{command:e}=n.part;d.push(new es),d.push(new Xn(e.id,e.title,void 0,!0,(async()=>{try{await r.executeCommand(e.id,...e.arguments??[])}catch(t){l.notify({severity:yd.Error,source:n.item.provider.displayName,message:t})}})))}const u=t.getOption(128);o.showContextMenu({domForShadowRoot:u?t.getDomNode()??void 0:void 0,getAnchor:()=>{const e=ct(i);return{x:e.left,y:e.top+e.height+8}},getActions:()=>d,onHide:()=>{t.focus()},autoSelectFirstItem:!0})}async function eI(e,t,i,n){const s=e.get(Zn.ITextModelService),o=await s.createModelReference(n.uri);await i.invokeWithinContext((async e=>{const s=t.hasSideBySideModifier,r=e.get(hs.fN),a=jk.inPeekEditor.getValue(r),l=!s&&i.getOption(89)&&!a;return new qN({openToSide:s,openInPeek:l,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e,new jN(o.object.textEditorModel,Js.Q.getStartPosition(n.range)),Js.Q.lift(n.range))})),o.dispose()}ls.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:Hn.r},{name:"position",description:"The position at which to start",constraint:Qn.y.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(e,t,i,n,s,o,r)=>{(0,rs.j)(Hn.r.isUri(t)),(0,rs.j)(Qn.y.isIPosition(i)),(0,rs.j)(Array.isArray(n)),(0,rs.j)(void 0===s||"string"==typeof s),(0,rs.j)(void 0===r||"boolean"==typeof r);const a=e.get(Gn),l=await a.openCodeEditor({resource:t},a.getFocusedCodeEditor());if(Ek(l))return l.setPosition(i),l.revealPositionInCenterIfOutsideViewport(i,0),l.invokeWithinContext((e=>{const t=new class extends XN{_getNoResultFoundMessage(e){return o||super._getNoResultFoundMessage(e)}}({muteMessage:!Boolean(o),openInPeek:Boolean(r),openToSide:!1},n,s);e.get(qn._Y).invokeFunction(t.run.bind(t),l)}))}}),ls.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:Hn.r},{name:"position",description:"The position at which to start",constraint:Qn.y.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(e,t,i,n,s)=>{e.get(as).executeCommand("editor.action.goToLocations",t,i,n,s,void 0,!0)}}),ls.registerCommand({id:"editor.action.findReferences",handler:(e,t,i)=>{(0,rs.j)(Hn.r.isUri(t)),(0,rs.j)(Qn.y.isIPosition(i));const n=e.get(xa.ILanguageFeaturesService),s=e.get(Gn);return s.openCodeEditor({resource:t},s.getFocusedCodeEditor()).then((e=>{if(!Ek(e)||!e.hasModel())return;const t=IN.get(e);if(!t)return;const s=(0,A.SS)((t=>UN(n.referenceProvider,e.getModel(),Qn.y.lift(i),!1,!1,t).then((e=>new JD(e,$n.kg("ref.title","References")))))),o=new Js.Q(i.lineNumber,i.column,i.lineNumber,i.column);return Promise.resolve(t.toggleWidget(o,s,!1))}))}}),ls.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var tI,iI=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},nI=function(e,t){return function(i,n){t(i,n,e)}};class sI{constructor(){this._entries=new ki.qK(50)}get(e){const t=sI._key(e);return this._entries.get(t)}set(e,t){const i=sI._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const oI=(0,qn.u1)("IInlayHintsCache");(0,ul.v)(oI,sI,1);class rI{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return"string"==typeof e?{label:e}:e[this.index]}}class aI{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let lI=class{static{tI=this}static{this.ID="editor.contrib.InlayHints"}static{this._MAX_DECORATORS=1500}static{this._MAX_LABEL_LEN=43}static get(e){return e.getContribution(tI.ID)??void 0}constructor(e,t,i,n,s,o,r){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=n,this._commandService=s,this._notificationService=o,this._instaService=r,this._disposables=new Ae.Cm,this._sessionDisposables=new Ae.Cm,this._decorationsMetadata=new Map,this._ruleFactory=new Vm(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange((()=>this._update()))),this._disposables.add(e.onDidChangeModel((()=>this._update()))),this._disposables.add(e.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(e.onDidChangeConfiguration((e=>{e.hasChanged(142)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(142);if("off"===e.enabled)return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if("on"===e.enabled)this._activeRenderMode=0;else{let t,i;"onUnlessPressed"===e.enabled?(t=0,i=1):(t=1,i=0),this._activeRenderMode=t,this._sessionDisposables.add(hi.getInstance().event((e=>{if(!this._editor.hasModel())return;const n=e.altKey&&e.ctrlKey&&!e.shiftKey&&!e.metaKey?i:t;if(n!==this._activeRenderMode){this._activeRenderMode=n;const e=this._editor.getModel(),t=this._copyInlayHintsWithCurrentAnchor(e);this._updateHintsDecorators([e.getFullModelRange()],t),o.schedule(0)}})))}const i=this._inlayHintsCache.get(t);let n;i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add((0,Ae.s)((()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)})));const s=new Set,o=new A.uC((async()=>{const e=Date.now();n?.dispose(!0),n=new sa.Qi;const i=t.onWillDispose((()=>n?.cancel()));try{const i=n.token,r=await Ik.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),i);if(o.delay=this._debounceInfo.update(t,Date.now()-e),i.isCancellationRequested)return void r.dispose();for(const e of r.provider)"function"!=typeof e.onDidChangeInlayHints||s.has(e)||(s.add(e),this._sessionDisposables.add(e.onDidChangeInlayHints((()=>{o.isScheduled()||o.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(t)}catch(r){(0,b.dz)(r)}finally{n.dispose(),i.dispose()}}),this._debounceInfo.get(t));this._sessionDisposables.add(o),this._sessionDisposables.add((0,Ae.s)((()=>n?.dispose(!0)))),o.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((e=>{!e.scrollTopChanged&&o.isScheduled()||o.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((e=>{n?.cancel();const t=Math.max(o.delay,1250);o.schedule(t)}))),this._sessionDisposables.add(this._installDblClickGesture((()=>o.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new Ae.Cm,t=e.add(new xk(this._editor)),i=new Ae.Cm;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown((e=>{const[t]=e,n=this._getInlayHintLabelPart(t),s=this._editor.getModel();if(!n||!s)return void i.clear();const o=new sa.Qi;i.add((0,Ae.s)((()=>o.dispose(!0)))),n.item.resolve(o.token),this._activeInlayHintPart=n.part.command||n.part.location?new aI(n,t.hasTriggerModifier):void 0;const r=s.validatePosition(n.item.hint.position).lineNumber,a=new Js.Q(r,1,r,s.getLineMaxColumn(r)),l=this._getInlineHintsForRange(a);this._updateHintsDecorators([a],l),i.add((0,Ae.s)((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([a],l)})))}))),e.add(t.onCancel((()=>i.clear()))),e.add(t.onExecute((async e=>{const t=this._getInlayHintLabelPart(e);if(t){const i=t.part;i.location?this._instaService.invokeFunction(eI,e,this._editor,i.location):La.uB.is(i.command)&&await this._invokeCommand(i.command,t.item)}}))),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp((async t=>{if(2!==t.event.detail)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(sa.XO.None),(0,na.EI)(i.item.hint.textEdits))){const t=i.item.hint.textEdits.map((e=>Ck.replace(Js.Q.lift(e.range),e.text)));this._editor.executeEdits("inlayHint.default",t),e()}}))}_installContextMenu(){return this._editor.onContextMenu((async e=>{if(!Bt(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(JN,this._editor,e.event.target,t)}))}_getInlayHintLabelPart(e){if(6!==e.target.type)return;const t=e.target.detail.injectedText?.options;return t instanceof to.Ho&&t?.attachedData instanceof rI?t.attachedData:void 0}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:yd.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,n]of this._decorationsMetadata){if(t.has(n.item))continue;const s=e.getDecorationRange(i);if(s){const e=new Dk(s,n.item.anchor.direction),i=n.item.with({anchor:e});t.set(n.item,i)}}return Array.from(t.values())}_getHintsRanges(){const e=this._editor.getModel(),t=this._editor.getVisibleRangesPlusViewportAboveBelow(),i=[];for(const n of t.sort(Js.Q.compareRangesUsingStarts)){const t=e.validateRange(new Js.Q(n.startLineNumber-30,n.startColumn,n.endLineNumber+30,n.endColumn));0!==i.length&&Js.Q.areIntersectingOrTouching(i[i.length-1],t)?i[i.length-1]=Js.Q.plusRange(i[i.length-1],t):i.push(t)}return i}_updateHintsDecorators(e,t){const i=[],n=(e,t,n,s,o)=>{const r={content:n,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:t.className,cursorStops:s,attachedData:o};i.push({item:e,classNameRef:t,decoration:{range:e.anchor.range,options:{description:"InlayHint",showIfCollapsed:e.anchor.range.isEmpty(),collapseOnReplaceEdit:!e.anchor.range.isEmpty(),stickiness:0,[e.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},s=(e,t)=>{const i=this._ruleFactory.createClassNameRef({width:(o/3|0)+"px",display:"inline-block"});n(e,i,"\u200a",t?eo.VW.Right:eo.VW.None)},{fontSize:o,fontFamily:r,padding:a,isUniform:l}=this._getLayoutInfo(),h="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(h,r);let d={line:0,totalLen:0};for(const g of t){if(d.line!==g.anchor.range.startLineNumber&&(d={line:g.anchor.range.startLineNumber,totalLen:0}),d.totalLen>tI._MAX_LABEL_LEN)continue;g.hint.paddingLeft&&s(g,!1);const e="string"==typeof g.hint.label?[{label:g.hint.label}]:g.hint.label;for(let t=0;t0&&(u=u.slice(0,-m)+"\u2026",p=!0),n(g,this._ruleFactory.createClassNameRef(c),hI(u),r&&!g.hint.paddingRight?eo.VW.Right:eo.VW.None,new rI(g,t)),p)break}if(g.hint.paddingRight&&s(g,!0),i.length>tI._MAX_DECORATORS)break}const c=[];for(const[g,p]of this._decorationsMetadata){const t=this._editor.getModel()?.getDecorationRange(g);t&&e.some((e=>e.containsRange(t)))&&(c.push(g),p.classNameRef.dispose(),this._decorationsMetadata.delete(g))}const u=cw.capture(this._editor);this._editor.changeDecorations((e=>{const t=e.deltaDecorations(c,i.map((e=>e.decoration)));for(let n=0;ni)&&(s=i);const o=e.fontFamily||n;return{fontSize:s,fontFamily:o,padding:t,isUniform:!t&&o===n&&s===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};function hI(e){return e.replace(/[ \t]/g,"\xa0")}lI=tI=iI([nI(1,xa.ILanguageFeaturesService),nI(2,Tw.ILanguageFeatureDebounceService),nI(3,oI),nI(4,as),nI(5,Sd),nI(6,qn._Y)],lI),ls.registerCommand("_executeInlayHintProvider",(async(e,...t)=>{const[i,n]=t;(0,rs.j)(Hn.r.isUri(i)),(0,rs.j)(Js.Q.isIRange(n));const{inlayHintsProvider:s}=e.get(xa.ILanguageFeaturesService),o=await e.get(Zn.ITextModelService).createModelReference(i);try{const e=await Ik.create(s,o.object.textEditorModel,[Js.Q.lift(n)],sa.XO.None),t=e.items.map((e=>e.hint));return setTimeout((()=>e.dispose()),0),t}finally{o.dispose()}}));var dI=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},cI=function(e,t){return function(i,n){t(i,n,e)}};class uI extends my{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let gI=class extends fk{constructor(e,t,i,n,s,o,r,a,l){super(e,t,i,o,a,n,s,l),this._resolverService=r,this.hoverOrdinal=6}suggestHoverAnchor(e){if(!lI.get(this._editor))return null;if(6!==e.target.type)return null;const t=e.target.detail.injectedText?.options;return t instanceof to.Ho&&t.attachedData instanceof rI?new uI(t.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof uI?new A.AE((async t=>{const{part:n}=e;if(await n.item.resolve(i),i.isCancellationRequested)return;let s,o;if("string"==typeof n.item.hint.tooltip?s=(new Vn).appendText(n.item.hint.tooltip):n.item.hint.tooltip&&(s=n.item.hint.tooltip),s&&t.emitOne(new pk(this,e.range,[s],!1,0)),(0,na.EI)(n.item.hint.textEdits)&&t.emitOne(new pk(this,e.range,[(new Vn).appendText((0,$n.kg)("hint.dbl","Double-click to insert"))],!1,10001)),"string"==typeof n.part.tooltip?o=(new Vn).appendText(n.part.tooltip):n.part.tooltip&&(o=n.part.tooltip),o&&t.emitOne(new pk(this,e.range,[o],!1,1)),n.part.location||n.part.command){let i;const s="altKey"===this._editor.getOption(78)?f.zx?(0,$n.kg)("links.navigate.kb.meta.mac","cmd + click"):(0,$n.kg)("links.navigate.kb.meta","ctrl + click"):f.zx?(0,$n.kg)("links.navigate.kb.alt.mac","option + click"):(0,$n.kg)("links.navigate.kb.alt","alt + click");n.part.location&&n.part.command?i=(new Vn).appendText((0,$n.kg)("hint.defAndCommand","Go to Definition ({0}), right click for more",s)):n.part.location?i=(new Vn).appendText((0,$n.kg)("hint.def","Go to Definition ({0})",s)):n.part.command&&(i=new Vn(`[${(0,$n.kg)("hint.cmd","Execute Command")}](${r=n.part.command,Hn.r.from({scheme:Pe.ny.command,path:r.id,query:r.arguments&&encodeURIComponent(JSON.stringify(r.arguments))}).toString()} "${n.part.command.title}") (${s})`,{isTrusted:!0})),i&&t.emitOne(new pk(this,e.range,[i],!1,1e4))}var r;const a=await this._resolveInlayHintLabelPartHover(n,i);for await(const e of a)t.emitOne(e)})):A.AE.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return A.AE.EMPTY;const{uri:i,range:n}=e.part.location,s=await this._resolverService.createModelReference(i);try{const i=s.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(i)?ak(this._languageFeaturesService.hoverProvider,i,new Qn.y(n.startLineNumber,n.startColumn),t).filter((e=>!zn(e.hover.contents))).map((t=>new pk(this,e.item.anchor.range,t.hover.contents,!1,2+t.ordinal))):A.AE.EMPTY}finally{s.dispose()}}};gI=dI([cI(1,Dh.L),cI(2,Rh),cI(3,Cd),cI(4,sk),cI(5,Wp.pG),cI(6,Zn.ITextModelService),cI(7,xa.ILanguageFeaturesService),cI(8,as)],gI);class pI extends Ae.jG{constructor(e,t,i,n,s,o){super();const r=t.anchor,a=t.hoverParts;this._renderedHoverParts=this._register(new fI(e,i,a,o,s));const{showAtPosition:l,showAtSecondaryPosition:h}=pI.computeHoverPositions(e,r.range,a);this.shouldAppearBeforeContent=a.some((e=>e.isBeforeContent)),this.showAtPosition=l,this.showAtSecondaryPosition=h,this.initialMousePosX=r.initialMousePosX,this.initialMousePosY=r.initialMousePosY,this.shouldFocus=n.shouldFocus,this.source=n.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let n=1;if(e.hasModel()){const i=e._getViewModel(),s=i.coordinatesConverter,o=s.convertModelRangeToViewRange(t),r=i.getLineMinColumn(o.startLineNumber),a=new Qn.y(o.startLineNumber,r);n=s.convertViewPositionToModelPosition(a).column}const s=t.startLineNumber;let o,r,a,l=t.startColumn;for(const h of i){const e=h.range,t=e.startLineNumber===s,i=e.endLineNumber===s;if(t&&i){const t=e.startColumn,i=Math.min(l,t);l=Math.max(i,n)}h.forceShowAtRange&&(o=e)}if(o){const e=o.getStartPosition();r=e,a=e}else r=t.getStartPosition(),a=new Qn.y(s,l);return{showAtPosition:r,showAtSecondaryPosition:a}}}class mI{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}class fI extends Ae.jG{static{this._DECORATION_OPTIONS=to.kI.register({description:"content-hover-highlight",className:"hoverHighlight"})}constructor(e,t,i,n,s){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=s,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,s,n)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(0===t.length)return Ae.jG.None;let i=t[0].range;for(const s of t){const e=s.range;i=Js.Q.plusRange(i,e)}const n=e.createDecorationsCollection();return n.set([{range:i,options:fI._DECORATION_OPTIONS}]),(0,Ae.s)((()=>{n.clear()}))}_renderParts(e,t,i,n){const s=new tk(n),o={fragment:this._fragment,statusBar:s,...i},r=new Ae.Cm;for(const l of e){const e=this._renderHoverPartsForParticipant(t,l,o);r.add(e);for(const t of e.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:l,hoverPart:t.hoverPart,hoverElement:t.hoverElement})}const a=this._renderStatusBar(this._fragment,s);return a&&(r.add(a),this._renderedParts.push({type:"statusBar",hoverElement:a.hoverElement,actions:a.actions})),(0,Ae.s)((()=>{r.dispose()}))}_renderHoverPartsForParticipant(e,t,i){const n=e.filter((e=>e.owner===t));return n.length>0?t.renderHoverParts(i,n):new fy([])}_renderStatusBar(e,t){if(t.hasContent)return new mI(e,t)}_registerListenersOnRenderedParts(){const e=new Ae.Cm;return this._renderedParts.forEach(((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Ye(n,Ut.FOCUS_IN,(e=>{e.stopPropagation(),this._focusedHoverPartIndex=i}))),e.add(Ye(n,Ut.FOCUS_OUT,(e=>{e.stopPropagation(),this._focusedHoverPartIndex=-1})))})),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find((e=>e instanceof fk&&!(e instanceof gI)));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find((e=>e instanceof wy))}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;const n=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(void 0===n)return;const s=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,n,i);s&&(this._renderedParts[t]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:s.hoverPart,hoverElement:s.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){const i=this._renderedParts[t];if(!i||"hoverPart"!==i.type)return;if(!(i.participant===e))return;const n=this._renderedParts.findIndex((t=>"hoverPart"===t.type&&t.participant===e));if(-1===n)throw new b.D7;return t-n}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}}var _I=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},vI=function(e,t){return function(i,n){t(i,n,e)}};let bI=class extends Ae.jG{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new P.vl),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(qS,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new QS(this._editor,this._participants),this._hoverOperation=this._register(new xS(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of _y.getAll()){const i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort(((e,t)=>e.hoverOrdinal-t.hoverOrdinal)),this._register(this._contentHoverWidget.onDidResize((()=>{this._participants.forEach((e=>e.handleResize?.()))}))),e}_registerListeners(){this._register(this._hoverOperation.onResult((e=>{if(!this._computer.anchor)return;const t=e.hasLoadingMessage?this._addLoadingMessage(e.value):e.value;this._withResult(new YS(this._computer.anchor,t,e.isComplete))})));const e=this._contentHoverWidget.getDomNode();this._register(Xe(e,"keydown",(e=>{e.equals(9)&&this.hide()}))),this._register(Xe(e,"mouseleave",(e=>{this._onMouseLeave(e)}))),this._register(La.dG.onDidChange((()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})))}_startShowingOrUpdateHover(e,t,i,n,s){if(!(this._contentHoverWidget.position&&this._currentResult))return!!e&&(this._startHoverOperationIfNecessary(e,t,i,n,!1),!0);const o=this._editor.getOption(60).sticky,r=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);if(o&&r)return e&&this._startHoverOperationIfNecessary(e,t,i,n,!0),!0;if(!e)return this._setCurrentResult(null),!1;if(this._currentResult.anchor.equals(e))return!0;return e.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0)}_startHoverOperationIfNecessary(e,t,i,n,s){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=n,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=s,this._hoverOperation.start(t))}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&0===t.hoverParts.length&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){if(!this._computer.anchor)return e;for(const t of this._participants){if(!t.createLoadingMessage)continue;const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e){this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e);if(!e.isComplete)return;const t=0===e.hoverParts.length,i=this._computer.insistOnKeepingHoverVisible;t&&i||this._setCurrentResult(e)}_showHover(e){const t=this._getHoverContext();this._renderedContentHover=new pI(this._editor,e,this._participants,this._computer,t,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:e=>{this._contentHoverWidget.setMinimumDimensions(e)}}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;const t=this._findHoverAnchorCandidates(e);if(!(t.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);const i=t[0];return this._startShowingOrUpdateHover(i,0,0,!1,e)}_findHoverAnchorCandidates(e){const t=[];for(const n of this._participants){if(!n.suggestHoverAnchor)continue;const i=n.suggestHoverAnchor(e);i&&t.push(i)}const i=e.target;switch(i.type){case 6:t.push(new py(0,i.range,e.event.posx,e.event.posy));break;case 7:{const n=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&"number"==typeof i.detail.horizontalDistanceToText&&i.detail.horizontalDistanceToTextt.priority-e.priority)),t}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!kS(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new py(0,e,void 0,void 0),t,i,n,null)}async updateHoverVerbosityLevel(e,t,i){this._renderedContentHover?.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){return this._renderedContentHover?.focusedHoverPartIndex??-1}containsNode(e){return!!e&&this._contentHoverWidget.getDomNode().contains(e)}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){return this._renderedContentHover?.isColorPickerVisible()??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};bI=_I([vI(1,qn._Y),vI(2,Cd)],bI);var CI,wI=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},yI=function(e,t){return function(i,n){t(i,n,e)}};let SI=class extends Ae.jG{static{CI=this}static{this.ID="editor.contrib.contentHover"}constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new P.vl),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Ae.Cm,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new A.uC((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())})))}static get(e){return e.getContribution(CI.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown((e=>this._onEditorMouseDown(e)))),this._listenersStore.add(this._editor.onMouseUp((()=>this._onEditorMouseUp()))),this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))):(this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))),this._listenersStore.add(this._editor.onMouseLeave((e=>this._onEditorMouseLeave(e)))),this._listenersStore.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._listenersStore.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._listenersStore.add(this._editor.onDidScrollChange((e=>this._onEditorScrollChanged(e))))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0;this._shouldNotHideCurrentHoverWidget(e)||this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(e){const t=this._contentWidget?.getDomNode();return!!t&&kS(t,e.event.posx,e.event.posy)}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;this._cancelScheduler();this._shouldNotHideCurrentHoverWidget(e)||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky;return((e,t)=>{const i=this._isMouseOnContentHoverWidget(e);return t&&i})(e,t)||(e=>{const t=this._isMouseOnContentHoverWidget(e),i=this._contentWidget?.isColorPickerVisible??!1;return t&&i})(e)||((e,t)=>(t&&this._contentWidget?.containsNode(e.event.browserEvent.view?.document.activeElement)&&!e.event.browserEvent.view?.getSelection()?.isCollapsed)??!1)(e,t)}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=e,this._contentWidget?.isFocused||this._contentWidget?.isResizing)return;const t=this._hoverSettings.sticky;if(t&&this._contentWidget?.isVisibleFromKeyboard)return;if(this._shouldNotRecomputeCurrentHoverWidget(e))return void this._reactToEditorMouseMoveRunner.cancel();const i=this._hoverSettings.hidingDelay,n=this._contentWidget?.isVisible;n&&t&&i>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(i):this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){if(!e)return;const t=e.target,i=t.element?.classList.contains("colorpicker-color-decoration"),n=this._editor.getOption(149),s=this._hoverSettings.enabled,o=this._hoverState.activatedByDecoratorClick;if(i&&("click"===n&&!o||"hover"===n&&!s||"clickAndHover"===n&&!s&&!o)||!i&&!s&&!o)return void this._hideWidgets();this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateContentWidget().showsOrWillShow(e)}_onKeyDown(e){if(!this._editor.hasModel())return;const t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=1===t.kind||2===t.kind&&(t.commandId===Ny||t.commandId===Iy||t.commandId===My)&&this._contentWidget?.isVisible;5===e.keyCode||6===e.keyCode||57===e.keyCode||4===e.keyCode||i||this._hideWidgets()}_hideWidgets(){this._hoverState.mouseDown&&this._contentWidget?.isColorPickerVisible||CS.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._contentWidget?.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(bI,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged((()=>this._onHoverContentsChanged.fire())))),this._contentWidget}showContentHover(e,t,i,n,s=!1){this._hoverState.activatedByDecoratorClick=s,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,n)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){this._contentWidget?.focus()}scrollUp(){this._contentWidget?.scrollUp()}scrollDown(){this._contentWidget?.scrollDown()}scrollLeft(){this._contentWidget?.scrollLeft()}scrollRight(){this._contentWidget?.scrollRight()}pageUp(){this._contentWidget?.pageUp()}pageDown(){this._contentWidget?.pageDown()}goToTop(){this._contentWidget?.goToTop()}goToBottom(){this._contentWidget?.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._contentWidget?.dispose()}};SI=CI=wI([yI(1,qn._Y),yI(2,Cd)],SI);class kI extends Ae.jG{static{this.ID="editor.contrib.colorContribution"}constructor(e){super(),this._editor=e,this._register(e.onMouseDown((e=>this.onMouseDown(e))))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(149);if("click"!==t&&"clickAndHover"!==t)return;const i=e.target;if(6!==i.type)return;if(!i.detail.injectedText)return;if(i.detail.injectedText.options.attachedData!==ey)return;if(!i.range)return;const n=this._editor.getContribution(SI.ID);if(n&&!n.isColorPickerVisible){const e=new Js.Q(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(e,1,0,!1,!0)}}}Hs(kI.ID,kI,2),_y.register(wy);var LI,xI,DI=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},NI=function(e,t){return function(i,n){t(i,n,e)}};let II=class extends Ae.jG{static{LI=this}static{this.ID="editor.contrib.standaloneColorPickerController"}constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=$s.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=$s.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(EI,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerWidget?.hide(),this._editor.focus()}insertColor(){this._standaloneColorPickerWidget?.updateEditor(),this.hide()}static get(e){return e.getContribution(LI.ID)}};II=LI=DI([NI(1,hs.fN),NI(2,qn._Y)],II),Hs(II.ID,II,1);let EI=class extends Ae.jG{static{xI=this}static{this.ID="editor.contrib.standaloneColorPickerWidget"}constructor(e,t,i,n,s,o,r){super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=s,this._languageFeaturesService=o,this._editorWorkerService=r,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new P.vl),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Sy,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;const a=this._editor.getSelection(),l=a?{startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},h=this._register(qt(this._body));this._register(h.onDidBlur((e=>{this.hide()}))),this._register(h.onDidFocus((e=>{this.focus()}))),this._register(this._editor.onDidChangeCursorPosition((()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()}))),this._register(this._editor.onMouseMove((e=>{const t=e.target.element?.classList;t&&t.contains("colorpicker-color-decoration")&&this.hide()}))),this._register(this.onResult((e=>{this._render(e.value,e.foundInEditor)}))),this._start(l),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return xI.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new MI(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new zw(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),n={fragment:i,statusBar:this._register(new tk(this._keybindingService)),onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=e;const s=this._standaloneColorPickerParticipant.renderHoverParts(n,[e]);if(!s)return;this._register(s.disposables);const o=s.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),o.layout();const r=o.body,a=r.saturationBox.domNode.clientWidth,l=r.domNode.clientWidth-a-22-8,h=o.body.enterButton;h?.onClicked((()=>{this.updateEditor(),this.hide()}));const d=o.header;d.pickedColorNode.style.width=a+8+"px";d.originalColorNode.style.width=l+"px";const c=o.header.closeButton;c?.onClicked((()=>{this.hide()})),t&&(h&&(h.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};EI=xI=DI([NI(3,qn._Y),NI(4,Cd),NI(5,xa.ILanguageFeaturesService),NI(6,Bw.IEditorWorkerService)],EI);class MI{constructor(e,t){this.value=e,this.foundInEditor=t}}Ws(class extends Rs{constructor(){super({id:"editor.action.hideColorPicker",label:(0,$n.kg)({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:$s.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:(0,$n.aS)("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){II.get(t)?.hide()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:(0,$n.kg)({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:$s.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:(0,$n.aS)("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){II.get(t)?.insertColor()}}),Ls(class extends Ps{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...(0,$n.aS)("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:(0,$n.kg)({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:vs.CommandPalette}],metadata:{description:(0,$n.aS)("showOrFocusStandaloneColorPickerDescription","Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){II.get(t)?.showOrFocus()}});class TI{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length;if(i+n>e.length)return!1;for(let s=0;s=65&&n<=90&&n+32===o||o>=65&&o<=90&&o+32===n))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,o){const r=e.startLineNumber,a=e.startColumn,l=e.endLineNumber,h=e.endColumn,d=s.getLineContent(r),c=s.getLineContent(l);let u,g=d.lastIndexOf(t,a-1+t.length),p=c.indexOf(i,h-1-i.length);if(-1!==g&&-1!==p)if(r===l){d.substring(g+t.length,p).indexOf(i)>=0&&(g=-1,p=-1)}else{const e=d.substring(g+t.length),n=c.substring(0,p);(e.indexOf(i)>=0||n.indexOf(i)>=0)&&(g=-1,p=-1)}-1!==g&&-1!==p?(n&&g+t.length0&&32===c.charCodeAt(p-1)&&(i=" "+i,p-=1),u=TI._createRemoveBlockCommentOperations(new Js.Q(r,g+t.length+1,l,p+1),t,i)):(u=TI._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=1===u.length?i:null);for(const m of u)o.addTrackedEditOperation(m.range,m.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return Js.Q.isEmpty(e)?n.push(Ck.delete(new Js.Q(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Ck.delete(new Js.Q(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Ck.delete(new Js.Q(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return Js.Q.isEmpty(e)?s.push(Ck.replace(new Js.Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Ck.insert(new Qn.y(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Ck.insert(new Qn.y(e.endLineNumber,e.endColumn),(n?" ":"")+i))),s}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const s=e.getLanguageIdAtPosition(i,n),o=this.languageConfigurationService.getLanguageConfiguration(s).comments;o&&o.blockCommentStartToken&&o.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,o.blockCommentStartToken,o.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(2===i.length){const e=i[0],t=i[1];return new qs.L(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{const e=i[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new qs.L(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}}class RI{constructor(e,t,i,n,s,o,r){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=n,this._insertSpace=s,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=o,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const s=e.getLanguageIdAtPosition(t,1),o=n.getLanguageConfiguration(s).comments,r=o?o.lineCommentToken:null;if(!r)return null;const a=[];for(let l=0,h=i-t+1;lr?s-1:s}}}class AI extends Rs{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Wo.JZ);if(!t.hasModel())return;const n=[],s=t.getModel().getOptions(),o=t.getOption(23),r=t.getSelections().map(((e,t)=>({selection:e,index:t,ignoreFirstLine:!1})));r.sort(((e,t)=>Js.Q.compareRangesUsingStarts(e.selection,t.selection)));let a=r[0];for(let l=1;l=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},FI=function(e,t){return function(i,n){t(i,n,e)}};let WI=class{static{PI=this}static{this.ID="editor.contrib.contextmenu"}static get(e){return e.getContribution(PI.ID)}constructor(e,t,i,n,s,o,r,a){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=o,this._configurationService=r,this._workspaceContextService=a,this._toDispose=new Ae.Cm,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu((e=>this._onContextMenu(e)))),this._toDispose.add(this._editor.onMouseWheel((e=>{if(this._contextMenuIsBeingShownCount>0){const t=this._contextViewService.getContextViewElement(),i=e.srcElement;i.shadowRoot&&wt(t)===i.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((e=>{this._editor.getOption(24)&&58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),this.showContextMenu())})))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));if(12===e.target.type)return;if(6===e.target.type&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),11===e.target.type)return this._showScrollbarContextMenu(e.event);if(6!==e.target.type&&7!==e.target.type&&1!==e.target.type)return;if(this._editor.focus(),e.target.position){let t=!1;for(const i of this._editor.getSelections())if(i.containsPosition(e.target.position)){t=!0;break}t||this._editor.setPosition(e.target.position)}let t=null;1!==e.target.type&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const s of n){const[,t]=s;let n=0;for(const s of t)if(s instanceof ys){const t=this._getMenuActions(e,s.item.submenu);t.length>0&&(i.push(new ts(s.id,s.label,t)),n++)}else i.push(s),n++;n&&i.push(new es)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let n=t;if(!n){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),t=ct(this._editor.getDomNode()),i=t.left+e.left,s=t.top+e.top+e.height;n={x:i,y:s}}const s=this._editor.getOption(128)&&!f.un;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>n,getActions:()=>e,getActionViewItem:e=>{const t=this._keybindingFor(e);if(t)return new Xg(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});const i=e;return"function"==typeof i.getActionViewItem?i.getActionViewItem():new Xg(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel())return;if(this._workspaceContextService.getWorkspace().id===Va)return;const t=this._editor.getOption(73);let i=0;const n=e=>({id:"menu-action-"+ ++i,label:e.label,tooltip:"",class:void 0,enabled:void 0===e.enabled||e.enabled,checked:e.checked,run:e.run}),s=(e,t,s,o,r)=>{if(!t)return n({label:e,enabled:t,run:()=>{}});const a=e=>()=>{this._configurationService.updateValue(s,e)},l=[];for(const i of r)l.push(n({label:i.label,checked:o===i.value,run:a(i.value)}));return((e,t)=>new ts("menu-action-"+ ++i,e,t,void 0))(e,l)},o=[];o.push(n({label:$n.kg("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),o.push(new es),o.push(n({label:$n.kg("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),o.push(s($n.kg("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:$n.kg("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:$n.kg("context.minimap.size.fill","Fill"),value:"fill"},{label:$n.kg("context.minimap.size.fit","Fit"),value:"fit"}])),o.push(s($n.kg("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:$n.kg("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:$n.kg("context.minimap.slider.always","Always"),value:"always"}]));const r=this._editor.getOption(128)&&!f.un;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>o,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};WI=PI=OI([FI(1,bd),FI(2,vd),FI(3,hs.fN),FI(4,Cd),FI(5,bs),FI(6,Wp.pG),FI(7,Aa)],WI);Hs(WI.ID,WI,2),Ws(class extends Rs{constructor(){super({id:"editor.action.showContextMenu",label:$n.kg("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:$s.textInputFocus,primary:1092,weight:100}})}run(e,t){WI.get(t)?.showContextMenu()}});class BI{constructor(e){this.selections=e}equals(e){const t=this.selections.length;if(t!==e.selections.length)return!1;for(let i=0;i{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeModelContent((e=>{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeCursorSelection((t=>{if(this._isCursorUndoRedo)return;if(!t.oldSelections)return;if(t.oldModelVersionId!==t.modelVersionId)return;const i=new BI(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new HI(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new HI(new BI(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new HI(new BI(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}}Hs(VI.ID,VI,0),Ws(class extends Rs{constructor(){super({id:"cursorUndo",label:$n.kg("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:$s.textInputFocus,primary:2099,weight:100}})}run(e,t,i){VI.get(t)?.cursorUndo()}}),Ws(class extends Rs{constructor(){super({id:"cursorRedo",label:$n.kg("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){VI.get(t)?.cursorRedo()}});var zI=i(58357);function UI(e,t){const i=new Ae.Cm,n=e.createDecorationsCollection();return i.add((0,fg.zL)({debugName:()=>`Apply decorations from ${t.debugName}`},(e=>{const i=t.read(e);n.set(i)}))),i.add({dispose:()=>{n.clear()}}),i}function KI(e,t){return e.appendChild(t),(0,Ae.s)((()=>{t.remove()}))}class jI extends Ae.jG{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(e,t){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new om(e,t)),this._width=(0,fg.FY)(this,this.elementSizeObserver.getWidth()),this._height=(0,fg.FY)(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange((e=>(0,fg.Rn)((e=>{this._width.set(this.elementSizeObserver.getWidth(),e),this._height.set(this.elementSizeObserver.getHeight(),e)})))))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){this._automaticLayout=e,e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function $I(e,t,i){let n=t.get(),s=n,o=n;const r=(0,fg.FY)("animatedValue",n);let a=-1;let l;function h(){const t=Date.now()-a;var i,d,c,u;o=Math.floor((d=s,c=n-s,(i=t)===(u=300)?d+c:c*(1-Math.pow(2,-10*i/u))+d)),t<300?l=e.requestAnimationFrame(h):o=n,r.set(o,void 0)}return i.add((0,fg.Y)({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(e,i)=>(e.didChange(t)&&(i.animate=i.animate||e.change),!0)},((i,r)=>{void 0!==l&&(e.cancelAnimationFrame(l),l=void 0),s=o,n=t.read(i),a=Date.now()-(r.animate?0:300),h()}))),r}class qI extends Ae.jG{constructor(e,t,i){super(),this._register(new QI(e,i)),this._register(YI(i,{height:t.actualHeight,top:t.actualTop}))}}class GI{get afterLineNumber(){return this._afterLineNumber.get()}constructor(e,t){this._afterLineNumber=e,this.heightInPx=t,this.domNode=document.createElement("div"),this._actualTop=(0,fg.FY)(this,void 0),this._actualHeight=(0,fg.FY)(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=e=>{this._actualTop.set(e,void 0)},this.onComputedHeight=e=>{this._actualHeight.set(e,void 0)}}}class QI{static{this._counter=0}constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId="managedOverlayWidget-"+QI._counter++,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function YI(e,t){return(0,fg.fm)((i=>{for(let[n,s]of Object.entries(t))s&&"object"==typeof s&&"read"in s&&(s=s.read(i)),"number"==typeof s&&(s=`${s}px`),n=n.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase())),e.style[n]=s}))}function ZI(e,t,i,n){const s=new Ae.Cm,o=[];return s.add((0,fg.yC)(((s,r)=>{const a=t.read(s),l=new Map,h=new Map;i&&i(!0),e.changeViewZones((e=>{for(const t of o)e.removeZone(t),n?.delete(t);o.length=0;for(const t of a){const i=e.addZone(t);t.setZoneId&&t.setZoneId(i),o.push(i),n?.add(i),l.set(t,i)}})),i&&i(!1),r.add((0,fg.Y)({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(e,t){const i=h.get(e.changedObservable);return void 0!==i&&t.zoneIds.push(i),!0}},((t,n)=>{for(const e of a)e.onChange&&(h.set(e.onChange,l.get(e)),e.onChange.read(t));i&&i(!0),e.changeViewZones((e=>{for(const t of n.zoneIds)e.layoutZone(t)})),i&&i(!1)})))}))),s.add({dispose(){i&&i(!0),e.changeViewZones((e=>{for(const t of o)e.removeZone(t)})),n?.clear(),i&&i(!1)}}),s}class XI extends sa.Qi{dispose(){super.dispose(!0)}}function JI(e,t){const i=(0,Lb.Uk)(t,(t=>t.original.startLineNumber<=e.lineNumber));if(!i)return Js.Q.fromPositions(e);if(i.original.endLineNumberExclusive<=e.lineNumber){const t=e.lineNumber-i.original.endLineNumberExclusive+i.modified.endLineNumberExclusive;return Js.Q.fromPositions(new Qn.y(t,e.column))}if(!i.innerChanges)return Js.Q.fromPositions(new Qn.y(i.modified.startLineNumber,1));const n=(0,Lb.Uk)(i.innerChanges,(t=>t.originalRange.getStartPosition().isBeforeOrEqual(e)));if(!n){const t=e.lineNumber-i.original.startLineNumber+i.modified.startLineNumber;return Js.Q.fromPositions(new Qn.y(t,e.column))}if(n.originalRange.containsPosition(e))return n.modifiedRange;{const t=(s=n.originalRange.getEndPosition(),o=e,s.lineNumber===o.lineNumber?new zI.W(0,o.column-s.column):new zI.W(o.lineNumber-s.lineNumber,o.column-1));return Js.Q.fromPositions(t.addToPosition(n.modifiedRange.getEndPosition()))}var s,o}class eE{static create(e,t=void 0){return new tE(e,e,t)}static createWithDisposable(e,t,i=void 0){const n=new Ae.Cm;return n.add(t),n.add(e),new tE(e,n,i)}}class tE extends eE{constructor(e,t,i){super(),this.object=e,this._disposable=t,this._debugOwner=i,this._refCount=1,this._isDisposed=!1,this._owners=[],i&&this._addOwner(i)}_addOwner(e){e&&this._owners.push(e)}createNewRef(e){return this._refCount++,e&&this._addOwner(e),new iE(this,e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(e){if(this._refCount--,0===this._refCount&&this._disposable.dispose(),e){const t=this._owners.indexOf(e);-1!==t&&this._owners.splice(t,1)}}}class iE extends eE{constructor(e,t){super(),this._base=e,this._debugOwner=t,this._isDisposed=!1}get object(){return this._base.object}createNewRef(e){return this._base.createNewRef(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}var nE=i(79955),sE=i(72532),oE=i(39331);const rE=(0,qn.u1)("accessibilitySignalService");Symbol("AcknowledgeDocCommentsToken");class aE{static register(e){return new aE(e.fileName)}static{this.error=aE.register({fileName:"error.mp3"})}static{this.warning=aE.register({fileName:"warning.mp3"})}static{this.success=aE.register({fileName:"success.mp3"})}static{this.foldedArea=aE.register({fileName:"foldedAreas.mp3"})}static{this.break=aE.register({fileName:"break.mp3"})}static{this.quickFixes=aE.register({fileName:"quickFixes.mp3"})}static{this.taskCompleted=aE.register({fileName:"taskCompleted.mp3"})}static{this.taskFailed=aE.register({fileName:"taskFailed.mp3"})}static{this.terminalBell=aE.register({fileName:"terminalBell.mp3"})}static{this.diffLineInserted=aE.register({fileName:"diffLineInserted.mp3"})}static{this.diffLineDeleted=aE.register({fileName:"diffLineDeleted.mp3"})}static{this.diffLineModified=aE.register({fileName:"diffLineModified.mp3"})}static{this.chatRequestSent=aE.register({fileName:"chatRequestSent.mp3"})}static{this.chatResponseReceived1=aE.register({fileName:"chatResponseReceived1.mp3"})}static{this.chatResponseReceived2=aE.register({fileName:"chatResponseReceived2.mp3"})}static{this.chatResponseReceived3=aE.register({fileName:"chatResponseReceived3.mp3"})}static{this.chatResponseReceived4=aE.register({fileName:"chatResponseReceived4.mp3"})}static{this.clear=aE.register({fileName:"clear.mp3"})}static{this.save=aE.register({fileName:"save.mp3"})}static{this.format=aE.register({fileName:"format.mp3"})}static{this.voiceRecordingStarted=aE.register({fileName:"voiceRecordingStarted.mp3"})}static{this.voiceRecordingStopped=aE.register({fileName:"voiceRecordingStopped.mp3"})}static{this.progress=aE.register({fileName:"progress.mp3"})}constructor(e){this.fileName=e}}class lE{constructor(e){this.randomOneOf=e}}class hE{constructor(e,t,i,n,s,o){this.sound=e,this.name=t,this.legacySoundSettingsKey=i,this.settingsKey=n,this.legacyAnnouncementSettingsKey=s,this.announcementMessage=o}static{this._signals=new Set}static register(e){const t=new lE("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),i=new hE(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return hE._signals.add(i),i}static{this.errorAtPosition=hE.register({name:(0,$n.kg)("accessibilitySignals.positionHasError.name","Error at Position"),sound:aE.error,announcementMessage:(0,$n.kg)("accessibility.signals.positionHasError","Error"),settingsKey:"accessibility.signals.positionHasError",delaySettingsKey:"accessibility.signalOptions.delays.errorAtPosition"})}static{this.warningAtPosition=hE.register({name:(0,$n.kg)("accessibilitySignals.positionHasWarning.name","Warning at Position"),sound:aE.warning,announcementMessage:(0,$n.kg)("accessibility.signals.positionHasWarning","Warning"),settingsKey:"accessibility.signals.positionHasWarning",delaySettingsKey:"accessibility.signalOptions.delays.warningAtPosition"})}static{this.errorOnLine=hE.register({name:(0,$n.kg)("accessibilitySignals.lineHasError.name","Error on Line"),sound:aE.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:(0,$n.kg)("accessibility.signals.lineHasError","Error on Line"),settingsKey:"accessibility.signals.lineHasError"})}static{this.warningOnLine=hE.register({name:(0,$n.kg)("accessibilitySignals.lineHasWarning.name","Warning on Line"),sound:aE.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:(0,$n.kg)("accessibility.signals.lineHasWarning","Warning on Line"),settingsKey:"accessibility.signals.lineHasWarning"})}static{this.foldedArea=hE.register({name:(0,$n.kg)("accessibilitySignals.lineHasFoldedArea.name","Folded Area on Line"),sound:aE.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:(0,$n.kg)("accessibility.signals.lineHasFoldedArea","Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"})}static{this.break=hE.register({name:(0,$n.kg)("accessibilitySignals.lineHasBreakpoint.name","Breakpoint on Line"),sound:aE.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:(0,$n.kg)("accessibility.signals.lineHasBreakpoint","Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"})}static{this.inlineSuggestion=hE.register({name:(0,$n.kg)("accessibilitySignals.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:aE.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"})}static{this.terminalQuickFix=hE.register({name:(0,$n.kg)("accessibilitySignals.terminalQuickFix.name","Terminal Quick Fix"),sound:aE.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:(0,$n.kg)("accessibility.signals.terminalQuickFix","Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"})}static{this.onDebugBreak=hE.register({name:(0,$n.kg)("accessibilitySignals.onDebugBreak.name","Debugger Stopped on Breakpoint"),sound:aE.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:(0,$n.kg)("accessibility.signals.onDebugBreak","Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"})}static{this.noInlayHints=hE.register({name:(0,$n.kg)("accessibilitySignals.noInlayHints","No Inlay Hints on Line"),sound:aE.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:(0,$n.kg)("accessibility.signals.noInlayHints","No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"})}static{this.taskCompleted=hE.register({name:(0,$n.kg)("accessibilitySignals.taskCompleted","Task Completed"),sound:aE.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:(0,$n.kg)("accessibility.signals.taskCompleted","Task Completed"),settingsKey:"accessibility.signals.taskCompleted"})}static{this.taskFailed=hE.register({name:(0,$n.kg)("accessibilitySignals.taskFailed","Task Failed"),sound:aE.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:(0,$n.kg)("accessibility.signals.taskFailed","Task Failed"),settingsKey:"accessibility.signals.taskFailed"})}static{this.terminalCommandFailed=hE.register({name:(0,$n.kg)("accessibilitySignals.terminalCommandFailed","Terminal Command Failed"),sound:aE.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:(0,$n.kg)("accessibility.signals.terminalCommandFailed","Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"})}static{this.terminalCommandSucceeded=hE.register({name:(0,$n.kg)("accessibilitySignals.terminalCommandSucceeded","Terminal Command Succeeded"),sound:aE.success,announcementMessage:(0,$n.kg)("accessibility.signals.terminalCommandSucceeded","Command Succeeded"),settingsKey:"accessibility.signals.terminalCommandSucceeded"})}static{this.terminalBell=hE.register({name:(0,$n.kg)("accessibilitySignals.terminalBell","Terminal Bell"),sound:aE.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:(0,$n.kg)("accessibility.signals.terminalBell","Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"})}static{this.notebookCellCompleted=hE.register({name:(0,$n.kg)("accessibilitySignals.notebookCellCompleted","Notebook Cell Completed"),sound:aE.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:(0,$n.kg)("accessibility.signals.notebookCellCompleted","Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"})}static{this.notebookCellFailed=hE.register({name:(0,$n.kg)("accessibilitySignals.notebookCellFailed","Notebook Cell Failed"),sound:aE.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:(0,$n.kg)("accessibility.signals.notebookCellFailed","Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"})}static{this.diffLineInserted=hE.register({name:(0,$n.kg)("accessibilitySignals.diffLineInserted","Diff Line Inserted"),sound:aE.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"})}static{this.diffLineDeleted=hE.register({name:(0,$n.kg)("accessibilitySignals.diffLineDeleted","Diff Line Deleted"),sound:aE.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"})}static{this.diffLineModified=hE.register({name:(0,$n.kg)("accessibilitySignals.diffLineModified","Diff Line Modified"),sound:aE.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"})}static{this.chatRequestSent=hE.register({name:(0,$n.kg)("accessibilitySignals.chatRequestSent","Chat Request Sent"),sound:aE.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:(0,$n.kg)("accessibility.signals.chatRequestSent","Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"})}static{this.chatResponseReceived=hE.register({name:(0,$n.kg)("accessibilitySignals.chatResponseReceived","Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[aE.chatResponseReceived1,aE.chatResponseReceived2,aE.chatResponseReceived3,aE.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"})}static{this.progress=hE.register({name:(0,$n.kg)("accessibilitySignals.progress","Progress"),sound:aE.progress,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.progress",announcementMessage:(0,$n.kg)("accessibility.signals.progress","Progress"),settingsKey:"accessibility.signals.progress"})}static{this.clear=hE.register({name:(0,$n.kg)("accessibilitySignals.clear","Clear"),sound:aE.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:(0,$n.kg)("accessibility.signals.clear","Clear"),settingsKey:"accessibility.signals.clear"})}static{this.save=hE.register({name:(0,$n.kg)("accessibilitySignals.save","Save"),sound:aE.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:(0,$n.kg)("accessibility.signals.save","Save"),settingsKey:"accessibility.signals.save"})}static{this.format=hE.register({name:(0,$n.kg)("accessibilitySignals.format","Format"),sound:aE.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:(0,$n.kg)("accessibility.signals.format","Format"),settingsKey:"accessibility.signals.format"})}static{this.voiceRecordingStarted=hE.register({name:(0,$n.kg)("accessibilitySignals.voiceRecordingStarted","Voice Recording Started"),sound:aE.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"})}static{this.voiceRecordingStopped=hE.register({name:(0,$n.kg)("accessibilitySignals.voiceRecordingStopped","Voice Recording Stopped"),sound:aE.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"})}}var dE=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},cE=function(e,t){return function(i,n){t(i,n,e)}};const uE=fu("diff-review-insert",bl.W.add,(0,$n.kg)("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),gE=fu("diff-review-remove",bl.W.remove,(0,$n.kg)("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),pE=fu("diff-review-close",bl.W.close,(0,$n.kg)("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer."));let mE=class extends Ae.jG{static{this._ttPolicy=yh("diffReview",{createHTML:e=>e})}constructor(e,t,i,n,s,o,r,a,l){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=n,this._width=s,this._height=o,this._diffs=r,this._models=a,this._instantiationService=l,this._state=(0,fg.rm)(this,((e,t)=>{const i=this._visible.read(e);if(this._parentNode.style.visibility=i?"visible":"hidden",!i)return null;const n=t.add(this._instantiationService.createInstance(fE,this._diffs,this._models,this._setVisible,this._canClose));return{model:n,view:t.add(this._instantiationService.createInstance(kE,this._parentNode,n,this._width,this._height,this._models))}})).recomputeInitiallyAndOnChange(this._store)}next(){(0,fg.Rn)((e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)}))}prev(){(0,fg.Rn)((e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)}))}close(){(0,fg.Rn)((e=>{this._setVisible(!1,e)}))}};mE=dE([cE(8,qn._Y)],mE);let fE=class extends Ae.jG{constructor(e,t,i,n,s){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=n,this._accessibilitySignalService=s,this._groups=(0,fg.FY)(this,[]),this._currentGroupIdx=(0,fg.FY)(this,0),this._currentElementIdx=(0,fg.FY)(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map(((e,t)=>this._groups.read(t)[e])),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map(((e,t)=>this.currentGroup.read(t)?.lines[e])),this._register((0,fg.fm)((e=>{const t=this._diffs.read(e);if(!t)return void this._groups.set([],void 0);const i=function(e,t,i){const n=[];for(const s of(0,na.n)(e,((e,t)=>t.modified.startLineNumber-e.modified.endLineNumberExclusive<2*_E))){const e=[];e.push(new CE);const o=new nE.M(Math.max(1,s[0].original.startLineNumber-_E),Math.min(s[s.length-1].original.endLineNumberExclusive+_E,t+1)),r=new nE.M(Math.max(1,s[0].modified.startLineNumber-_E),Math.min(s[s.length-1].modified.endLineNumberExclusive+_E,i+1));(0,na.pN)(s,((t,i)=>{const n=new nE.M(t?t.original.endLineNumberExclusive:o.startLineNumber,i?i.original.startLineNumber:o.endLineNumberExclusive),s=new nE.M(t?t.modified.endLineNumberExclusive:r.startLineNumber,i?i.modified.startLineNumber:r.endLineNumberExclusive);n.forEach((t=>{e.push(new SE(t,s.startLineNumber+(t-n.startLineNumber)))})),i&&(i.original.forEach((t=>{e.push(new wE(i,t))})),i.modified.forEach((t=>{e.push(new yE(i,t))})))}));const a=s[0].modified.join(s[s.length-1].modified),l=s[0].original.join(s[s.length-1].original);n.push(new bE(new oE.WL(a,l),e))}return n}(t,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());(0,fg.Rn)((e=>{const t=this._models.getModifiedPosition();if(t){const n=i.findIndex((e=>t?.lineNumber{const t=this.currentElement.read(e);t?.type===vE.Deleted?this._accessibilitySignalService.playSignal(hE.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):t?.type===vE.Added&&this._accessibilitySignalService.playSignal(hE.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})}))),this._register((0,fg.fm)((e=>{const t=this.currentElement.read(e);if(t&&t.type!==vE.Header){const e=t.modifiedLineNumber??t.diff.modified.startLineNumber;this._models.modifiedSetSelection(Js.Q.fromPositions(new Qn.y(e,1)))}})))}_goToGroupDelta(e,t){const i=this.groups.get();!i||i.length<=1||(0,fg.PO)(t,(t=>{this._currentGroupIdx.set(sE.L.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),t),this._currentElementIdx.set(0,t)}))}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||(0,fg.Rn)((i=>{this._currentElementIdx.set(sE.L.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)}))}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const i=t.lines.indexOf(e);-1!==i&&(0,fg.Rn)((e=>{this._currentElementIdx.set(i,e)}))}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===vE.Deleted?this._models.originalReveal(Js.Q.fromPositions(new Qn.y(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==vE.Header?Js.Q.fromPositions(new Qn.y(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};fE=dE([cE(4,rE)],fE);const _E=3;var vE;!function(e){e[e.Header=0]="Header",e[e.Unchanged=1]="Unchanged",e[e.Deleted=2]="Deleted",e[e.Added=3]="Added"}(vE||(vE={}));class bE{constructor(e,t){this.range=e,this.lines=t}}class CE{constructor(){this.type=vE.Header}}class wE{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=vE.Deleted,this.modifiedLineNumber=void 0}}class yE{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=vE.Added,this.originalLineNumber=void 0}}class SE{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=vE.Unchanged}}let kE=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._element=e,this._model=t,this._width=i,this._height=n,this._models=s,this._languageService=o,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new ep(r)),this._register((0,fg.fm)((e=>{this._actionBar.clear(),this._model.canClose.read(e)&&this._actionBar.push(new Xn("diffreview.close",(0,$n.kg)("label.close","Close"),"close-diff-review "+En.L.asClassName(pE),!0,(async()=>t.close())),{label:!1,icon:!0})}))),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new eg(this._content,{})),Yt(this.domNode,this._scrollbar.getDomNode(),r),this._register((0,fg.fm)((e=>{this._height.read(e),this._width.read(e),this._scrollbar.scanDomNode()}))),this._register((0,Ae.s)((()=>{Yt(this.domNode)}))),this._register(YI(this.domNode,{width:this._width,height:this._height})),this._register(YI(this._content,{width:this._width,height:this._height})),this._register((0,fg.yC)(((e,t)=>{this._model.currentGroup.read(e),this._render(t)}))),this._register(Xe(this.domNode,"keydown",(e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._model.goToNextLine()),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._model.goToPreviousLine()),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this._model.close()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this._model.revealCurrentElementInEditor())})))}_render(e){const t=this._models.getOriginalOptions(),i=this._models.getModifiedOptions(),n=document.createElement("div");n.className="diff-review-table",n.setAttribute("role","list"),n.setAttribute("aria-label",(0,$n.kg)("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),xh(n,i.get(50)),Yt(this._content,n);const s=this._models.getOriginalModel(),o=this._models.getModifiedModel();if(!s||!o)return;const r=s.getOptions(),a=o.getOptions(),l=i.get(67),h=this._model.currentGroup.get();for(const d of h?.lines||[]){if(!h)break;let c;if(d.type===vE.Header){const e=document.createElement("div");e.className="diff-review-row",e.setAttribute("role","listitem");const t=h.range,i=this._model.currentGroupIndex.get(),n=this._model.groups.get().length,s=e=>0===e?(0,$n.kg)("no_lines_changed","no lines changed"):1===e?(0,$n.kg)("one_line_changed","1 line changed"):(0,$n.kg)("more_lines_changed","{0} lines changed",e),o=s(t.original.length),r=s(t.modified.length);e.setAttribute("aria-label",(0,$n.kg)({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",i+1,n,t.original.startLineNumber,o,t.modified.startLineNumber,r));const a=document.createElement("div");a.className="diff-review-cell diff-review-summary",a.appendChild(document.createTextNode(`${i+1}/${n}: @@ -${t.original.startLineNumber},${t.original.length} +${t.modified.startLineNumber},${t.modified.length} @@`)),e.appendChild(a),c=e}else c=this._createRow(d,l,this._width.get(),t,s,r,i,o,a);n.appendChild(c);const u=(0,fg.un)((e=>this._model.currentElement.read(e)===d));e.add((0,fg.fm)((e=>{const t=u.read(e);c.tabIndex=t?0:-1,t&&c.focus()}))),e.add(Ye(c,"focus",(()=>{this._model.goToLine(d)})))}this._scrollbar.scanDomNode()}_createRow(e,t,i,n,s,o,r,a,l){const h=n.get(146),d=h.glyphMarginWidth+h.lineNumbersWidth,c=r.get(146),u=10+c.glyphMarginWidth+c.lineNumbersWidth;let g="diff-review-row",p="";let m=null;switch(e.type){case vE.Added:g="diff-review-row line-insert",p=" char-insert",m=uE;break;case vE.Deleted:g="diff-review-row line-delete",p=" char-delete",m=gE}const f=document.createElement("div");f.style.minWidth=i+"px",f.className=g,f.setAttribute("role","listitem"),f.ariaLevel="";const _=document.createElement("div");_.className="diff-review-cell",_.style.height=`${t}px`,f.appendChild(_);const v=document.createElement("span");v.style.width=d+"px",v.style.minWidth=d+"px",v.className="diff-review-line-number"+p,void 0!==e.originalLineNumber?v.appendChild(document.createTextNode(String(e.originalLineNumber))):v.innerText="\xa0",_.appendChild(v);const b=document.createElement("span");b.style.width=u+"px",b.style.minWidth=u+"px",b.style.paddingRight="10px",b.className="diff-review-line-number"+p,void 0!==e.modifiedLineNumber?b.appendChild(document.createTextNode(String(e.modifiedLineNumber))):b.innerText="\xa0",_.appendChild(b);const C=document.createElement("span");if(C.className="diff-review-spacer",m){const e=document.createElement("span");e.className=En.L.asClassName(m),e.innerText="\xa0\xa0",C.appendChild(e)}else C.innerText="\xa0\xa0";let w;if(_.appendChild(C),void 0!==e.modifiedLineNumber){let t=this._getLineHtml(a,r,l.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);mE._ttPolicy&&(t=mE._ttPolicy.createHTML(t)),_.insertAdjacentHTML("beforeend",t),w=a.getLineContent(e.modifiedLineNumber)}else{let t=this._getLineHtml(s,n,o.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);mE._ttPolicy&&(t=mE._ttPolicy.createHTML(t)),_.insertAdjacentHTML("beforeend",t),w=s.getLineContent(e.originalLineNumber)}0===w.length&&(w=(0,$n.kg)("blankLine","blank"));let y="";switch(e.type){case vE.Unchanged:y=e.originalLineNumber===e.modifiedLineNumber?(0,$n.kg)({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",w,e.originalLineNumber):(0,$n.kg)("equalLine","{0} original line {1} modified line {2}",w,e.originalLineNumber,e.modifiedLineNumber);break;case vE.Added:y=(0,$n.kg)("insertLine","+ {0} modified line {1}",w,e.modifiedLineNumber);break;case vE.Deleted:y=(0,$n.kg)("deleteLine","- {0} original line {1}",w,e.originalLineNumber)}return f.setAttribute("aria-label",y),f}_getLineHtml(e,t,i,n,s){const o=e.getLineContent(n),r=t.get(50),a=Bo.f.createEmpty(o,s),l=J_.isBasicASCII(o,e.mightContainNonBasicASCII()),h=J_.containsRTL(o,l,e.mightContainRTL());return mf(new hf(r.isMonospace&&!t.get(33),r.canUseHalfwidthRightwardsArrow,o,!1,l,h,0,a,[],i,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,t.get(118),t.get(100),t.get(95),t.get(51)!==mc.OFF,null)).html}};kE=dE([cE(5,Dh.L)],kE);class LE{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}(0,io.x1A)("diffEditor.move.border","#8b8b8b9c",(0,$n.kg)("diffEditor.move.border","The border color for text that got moved in the diff editor.")),(0,io.x1A)("diffEditor.moveActive.border","#FFA500",(0,$n.kg)("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor.")),(0,io.x1A)("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},(0,$n.kg)("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));const xE=fu("diff-insert",bl.W.add,(0,$n.kg)("diffInsertIcon","Line decoration for inserts in the diff editor.")),DE=fu("diff-remove",bl.W.remove,(0,$n.kg)("diffRemoveIcon","Line decoration for removals in the diff editor.")),NE=to.kI.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+En.L.asClassName(xE),marginClassName:"gutter-insert"}),IE=to.kI.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+En.L.asClassName(DE),marginClassName:"gutter-delete"}),EE=to.kI.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),ME=to.kI.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),TE=to.kI.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),RE=to.kI.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),AE=to.kI.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),PE=to.kI.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),OE=to.kI.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),FE=to.kI.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});var WE,BE=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},HE=function(e,t){return function(i,n){t(i,n,e)}};const VE=(0,qn.u1)("diffProviderFactoryService");let zE=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(UE,e)}};zE=BE([HE(0,qn._Y)],zE),(0,ul.v)(VE,zE,1);let UE=class{static{WE=this}static{this.diffCache=new Map}constructor(e,t,i){this.editorWorkerService=t,this.telemetryService=i,this.onDidChangeEventEmitter=new P.vl,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(e,t,i,n){if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(e,t,i,n);if(e.isDisposed()||t.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return 1===t.getLineCount()&&1===t.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new oE.wm(new nE.M(1,2),new nE.M(1,t.getLineCount()+1),[new oE.q6(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const s=JSON.stringify([e.uri.toString(),t.uri.toString()]),o=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(i)]),r=WE.diffCache.get(s);if(r&&r.context===o)return r.result;const a=Vp.W.create(),l=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),h=a.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:h,timedOut:l?.quitEarly??!0,detectedMoves:i.computeMoves?l?.moves.length??0:-1}),n.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!l)throw new Error("no diff result available");return WE.diffCache.size>10&&WE.diffCache.delete(WE.diffCache.keys().next().value),WE.diffCache.set(s,{result:l,context:o}),l}setOptions(e){let t=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,"string"!=typeof e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange((()=>this.onDidChangeEventEmitter.fire()))),t=!0),t&&this.onDidChangeEventEmitter.fire()}};UE=WE=BE([HE(1,Bw.IEditorWorkerService),HE(2,xs)],UE);var KE=i(9871);function jE(){return KE._K&&!!KE._K.VSCODE_DEV}function $E(e){if(jE()){const t=function(){qE||(qE=new Set);const e=globalThis;e.$hotReload_applyNewExports||(e.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e},i=[];for(const n of qE){const e=n(t);e&&i.push(e)}if(i.length>0)return e=>{let t=!1;for(const n of i)n(e)&&(t=!0);return t}});return qE}();return t.add(e),{dispose(){t.delete(e)}}}return{dispose(){}}}let qE;function GE(e,t){return function(e,t){if(jE()){(0,fg.yQ)("reload",(t=>$E((({oldExports:i})=>{if([...Object.values(i)].some((t=>e.includes(t))))return e=>(t(void 0),!0)})))).read(t)}}([e],t),e}jE()&&$E((({oldExports:e,newSrc:t,config:i})=>{if("patch-prototype"===i.mode)return t=>{for(const i in t){const n=t[i];if(console.log(`[hot-reload] Patching prototype methods of '${i}'`,{exportedItem:n}),"function"==typeof n&&n.prototype){const s=e[i];if(s){for(const e of Object.getOwnPropertyNames(n.prototype)){const t=Object.getOwnPropertyDescriptor(n.prototype,e),o=Object.getOwnPropertyDescriptor(s.prototype,e);t?.value?.toString()!==o?.value?.toString()&&console.log(`[hot-reload] Patching prototype method '${i}.${e}'`),Object.defineProperty(s.prototype,e,t)}t[i]=s}}}return!0}}));var QE=i(81429),YE=i(22994),ZE=i(47132),XE=i(52542),JE=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},eM=function(e,t){return function(i,n){t(i,n,e)}};let tM=class extends Ae.jG{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=(0,fg.FY)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,fg.FY)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,fg.FY)(this,void 0),this.unchangedRegions=(0,fg.un)(this,(e=>this._options.hideUnchangedRegions.read(e)?this._unchangedRegions.read(e)?.regions??[]:((0,fg.Rn)((e=>{for(const t of this._unchangedRegions.get()?.regions||[])t.collapseAll(e)})),[]))),this.movedTextToCompare=(0,fg.FY)(this,void 0),this._activeMovedText=(0,fg.FY)(this,void 0),this._hoveredMovedText=(0,fg.FY)(this,void 0),this.activeMovedText=(0,fg.un)(this,(e=>this.movedTextToCompare.read(e)??this._hoveredMovedText.read(e)??this._activeMovedText.read(e))),this._cancellationTokenSource=new sa.Qi,this._diffProvider=(0,fg.un)(this,(e=>{const t=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(e)});return{diffProvider:t,onChangeSignal:(0,fg.yQ)("onDidChange",t.onDidChange)}})),this._register((0,Ae.s)((()=>this._cancellationTokenSource.cancel())));const n=(0,fg.Yd)("contentChangedSignal"),s=this._register(new A.uC((()=>n.trigger(void 0)),200));this._register((0,fg.fm)((t=>{const i=this._unchangedRegions.read(t);if(!i||i.regions.some((e=>e.isDragged.read(t))))return;const n=i.originalDecorationIds.map((t=>e.original.getDecorationRange(t))).map((e=>e?nE.M.fromRangeInclusive(e):void 0)),s=i.modifiedDecorationIds.map((t=>e.modified.getDecorationRange(t))).map((e=>e?nE.M.fromRangeInclusive(e):void 0)),o=i.regions.map(((e,i)=>n[i]&&s[i]?new sM(n[i].startLineNumber,s[i].startLineNumber,n[i].length,e.visibleLineCountTop.read(t),e.visibleLineCountBottom.read(t)):void 0)).filter(rs.O9),r=[];let a=!1;for(const e of(0,na.n)(o,((e,i)=>e.getHiddenModifiedRange(t).endLineNumberExclusive===i.getHiddenModifiedRange(t).startLineNumber)))if(e.length>1){a=!0;const t=e.reduce(((e,t)=>e+t.lineCount),0),i=new sM(e[0].originalLineNumber,e[0].modifiedLineNumber,t,e[0].visibleLineCountTop.get(),e[e.length-1].visibleLineCountBottom.get());r.push(i)}else r.push(e[0]);if(a){const t=e.original.deltaDecorations(i.originalDecorationIds,r.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),n=e.modified.deltaDecorations(i.modifiedDecorationIds,r.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));(0,fg.Rn)((e=>{this._unchangedRegions.set({regions:r,originalDecorationIds:t,modifiedDecorationIds:n},e)}))}})));const o=(t,i,n)=>{const s=sM.fromDiffs(t.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(n),this._options.hideUnchangedRegionsContextLineCount.read(n));let o;const r=this._unchangedRegions.get();if(r){const t=r.originalDecorationIds.map((t=>e.original.getDecorationRange(t))).map((e=>e?nE.M.fromRangeInclusive(e):void 0)),i=r.modifiedDecorationIds.map((t=>e.modified.getDecorationRange(t))).map((e=>e?nE.M.fromRangeInclusive(e):void 0)),s=function(e,t){let i;return e.filter((e=>{const n=t(e,i);return i=e,n}))}(r.regions.map(((e,n)=>{if(!t[n]||!i[n])return;const s=t[n].length;return new sM(t[n].startLineNumber,i[n].startLineNumber,s,Math.min(e.visibleLineCountTop.get(),s),Math.min(e.visibleLineCountBottom.get(),s-e.visibleLineCountTop.get()))})).filter(rs.O9),((e,t)=>!t||e.modifiedLineNumber>=t.modifiedLineNumber+t.lineCount&&e.originalLineNumber>=t.originalLineNumber+t.lineCount));let a=s.map((e=>new oE.WL(e.getHiddenOriginalRange(n),e.getHiddenModifiedRange(n))));a=oE.WL.clip(a,nE.M.ofLength(1,e.original.getLineCount()),nE.M.ofLength(1,e.modified.getLineCount())),o=oE.WL.inverse(a,e.original.getLineCount(),e.modified.getLineCount())}const a=[];if(o)for(const e of s){const t=o.filter((t=>t.original.intersectsStrict(e.originalUnchangedRange)&&t.modified.intersectsStrict(e.modifiedUnchangedRange)));a.push(...e.setVisibleRanges(t,i))}else a.push(...s);const l=e.original.deltaDecorations(r?.originalDecorationIds||[],a.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),h=e.modified.deltaDecorations(r?.modifiedDecorationIds||[],a.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));this._unchangedRegions.set({regions:a,originalDecorationIds:l,modifiedDecorationIds:h},i)};this._register(e.modified.onDidChangeContent((t=>{if(this._diff.get()){const i=YE.c.fromModelContentChanges(t.changes),n=rM(this._lastDiff,i,e.original,e.modified);n&&(this._lastDiff=n,(0,fg.Rn)((e=>{this._diff.set(iM.fromDiffResult(this._lastDiff),e),o(n,e);const t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified))):void 0,e)})))}this._isDiffUpToDate.set(!1,void 0),s.schedule()}))),this._register(e.original.onDidChangeContent((t=>{if(this._diff.get()){const i=YE.c.fromModelContentChanges(t.changes),n=oM(this._lastDiff,i,e.original,e.modified);n&&(this._lastDiff=n,(0,fg.Rn)((e=>{this._diff.set(iM.fromDiffResult(this._lastDiff),e),o(n,e);const t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified))):void 0,e)})))}this._isDiffUpToDate.set(!1,void 0),s.schedule()}))),this._register((0,fg.yC)((async(t,i)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(t),this._options.hideUnchangedRegionsContextLineCount.read(t),s.cancel(),n.read(t);const r=this._diffProvider.read(t);r.onChangeSignal.read(t),GE(QE.D8,t),GE(XE.NC,t),this._isDiffUpToDate.set(!1,void 0);let a=[];i.add(e.original.onDidChangeContent((e=>{const t=YE.c.fromModelContentChanges(e.changes);a=(0,ZE.M)(a,t)})));let l=[];i.add(e.modified.onDidChangeContent((e=>{const t=YE.c.fromModelContentChanges(e.changes);l=(0,ZE.M)(l,t)})));let h=await r.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(t),maxComputationTimeMs:this._options.maxComputationTimeMs.read(t),computeMoves:this._options.showMoves.read(t)},this._cancellationTokenSource.token);var d,c,u;this._cancellationTokenSource.token.isCancellationRequested||(e.original.isDisposed()||e.modified.isDisposed()||(d=h,c=e.original,u=e.modified,h={changes:d.changes.map((e=>new oE.wm(e.original,e.modified,e.innerChanges?e.innerChanges.map((e=>function(e,t,i){let n=e.originalRange,s=e.modifiedRange;return 1===n.startColumn&&1===s.startColumn&&(1!==n.endColumn||1!==s.endColumn)&&n.endColumn===t.getLineMaxColumn(n.endLineNumber)&&s.endColumn===i.getLineMaxColumn(s.endLineNumber)&&n.endLineNumber{o(h,e),this._lastDiff=h;const t=iM.fromDiffResult(h);this._diff.set(t,e),this._isDiffUpToDate.set(!0,e);const i=this.movedTextToCompare.get();this.movedTextToCompare.set(i?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(i.lineRangeMapping.modified))):void 0,e)}))))})))}ensureModifiedLineIsVisible(e,t,i){if(0===this.diff.get()?.mappings.length)return;const n=this._unchangedRegions.get()?.regions||[];for(const s of n)if(s.getHiddenModifiedRange(void 0).contains(e))return void s.showModifiedLine(e,t,i)}ensureOriginalLineIsVisible(e,t,i){if(0===this.diff.get()?.mappings.length)return;const n=this._unchangedRegions.get()?.regions||[];for(const s of n)if(s.getHiddenOriginalRange(void 0).contains(e))return void s.showOriginalLine(e,t,i)}async waitForDiff(){await(0,fg.oJ)(this.isDiffUpToDate,(e=>e))}serializeState(){const e=this._unchangedRegions.get();return{collapsedRegions:e?.regions.map((e=>({range:e.getHiddenModifiedRange(void 0).serialize()})))}}restoreSerializedState(e){const t=e.collapsedRegions?.map((e=>nE.M.deserialize(e.range))),i=this._unchangedRegions.get();i&&t&&(0,fg.Rn)((e=>{for(const n of i.regions)for(const i of t)if(n.modifiedUnchangedRange.intersect(i)){n.setHiddenModifiedRange(i,e);break}}))}};tM=JE([eM(2,VE)],tM);class iM{static fromDiffResult(e){return new iM(e.changes.map((e=>new nM(e))),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,i,n){this.mappings=e,this.movedTexts=t,this.identical=i,this.quitEarly=n}}class nM{constructor(e){this.lineRangeMapping=e}}class sM{static fromDiffs(e,t,i,n,s){const o=oE.wm.inverse(e,t,i),r=[];for(const a of o){let e=a.original.startLineNumber,o=a.modified.startLineNumber,l=a.original.length;const h=1===e&&1===o,d=e+l===t+1&&o+l===i+1;(h||d)&&l>=s+n?(h&&!d&&(l-=s),d&&!h&&(e+=s,o+=s,l-=s),r.push(new sM(e,o,l,0,0))):l>=2*s+n&&(e+=s,o+=s,l-=2*s,r.push(new sM(e,o,l,0,0)))}return r}get originalUnchangedRange(){return nE.M.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return nE.M.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,i,n,s){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=i,this._visibleLineCountTop=(0,fg.FY)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,fg.FY)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,fg.un)(this,(e=>this.visibleLineCountTop.read(e)+this.visibleLineCountBottom.read(e)===this.lineCount&&!this.isDragged.read(e))),this.isDragged=(0,fg.FY)(this,void 0);const o=Math.max(Math.min(n,this.lineCount),0),r=Math.max(Math.min(s,this.lineCount-n),0);(0,Jv.V7)(n===o),(0,Jv.V7)(s===r),this._visibleLineCountTop.set(o,void 0),this._visibleLineCountBottom.set(r,void 0)}setVisibleRanges(e,t){const i=[],n=new nE.S(e.map((e=>e.modified))).subtractFrom(this.modifiedUnchangedRange);let s=this.originalLineNumber,o=this.modifiedLineNumber;const r=this.modifiedLineNumber+this.lineCount;if(0===n.ranges.length)this.showAll(t),i.push(this);else{let e=0;for(const a of n.ranges){const l=e===n.ranges.length-1;e++;const h=(l?r:a.endLineNumberExclusive)-o,d=new sM(s,o,h,0,0);d.setHiddenModifiedRange(a,t),i.push(d),s=d.originalUnchangedRange.endLineNumberExclusive,o=d.modifiedUnchangedRange.endLineNumberExclusive}}return i}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return nE.M.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return nE.M.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const i=e.startLineNumber-this.modifiedLineNumber,n=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(i,n,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const i=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,i),t)}showMoreBelow(e=10,t){const i=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,i),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,i){const n=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),s=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;0===t&&n{this._contextMenuService.showContextMenu({domForShadowRoot:c?i.getDomNode()??void 0:void 0,getAnchor:()=>({x:e,y:t}),getActions:()=>{const e=[],t=n.modified.isEmpty;e.push(new Xn("diff.clipboard.copyDeletedContent",t?n.original.length>1?(0,$n.kg)("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):(0,$n.kg)("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):n.original.length>1?(0,$n.kg)("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):(0,$n.kg)("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,(async()=>{const e=this._originalTextModel.getValueInRange(n.original.toExclusiveRange());await this._clipboardService.writeText(e)}))),n.original.length>1&&e.push(new Xn("diff.clipboard.copyDeletedLineContent",t?(0,$n.kg)("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",n.original.startLineNumber+d):(0,$n.kg)("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",n.original.startLineNumber+d),void 0,!0,(async()=>{let e=this._originalTextModel.getLineContent(n.original.startLineNumber+d);if(""===e){e=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"}await this._clipboardService.writeText(e)})));return i.getOption(92)||e.push(new Xn("diff.inline.revertChange",(0,$n.kg)("diff.inline.revertChange.label","Revert this change"),void 0,!0,(async()=>{this._editor.revert(this._diff)}))),e},autoSelectFirstItem:!0})};this._register(Xe(this._diffActions,"mousedown",(e=>{if(!e.leftButton)return;const{top:t,height:i}=ct(this._diffActions),n=Math.floor(h/3);e.preventDefault(),u(e.posx,t+i+n)}))),this._register(i.onMouseMove((e=>{8!==e.target.type&&5!==e.target.type||e.target.detail.viewZoneId!==this._getViewZoneId()?this.visibility=!1:(d=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,h),this.visibility=!0)}))),this._register(i.onMouseDown((e=>{if(e.event.leftButton&&(8===e.target.type||5===e.target.type)){e.target.detail.viewZoneId===this._getViewZoneId()&&(e.event.preventDefault(),d=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,h),u(e.event.posx,e.event.posy+h))}})))}_updateLightBulbPosition(e,t,i){const{top:n}=ct(e),s=t-n,o=Math.floor(s/i),r=o*i;if(this._diffActions.style.top=`${r}px`,this._viewLineCounts){let e=0;for(let t=0;te});function hM(e,t,i,n){xh(n,t.fontInfo);const s=i.length>0,o=new rf.fe(1e4);let r=0,a=0;const l=[];for(let c=0;c');const l=t.getLineContent(),h=J_.isBasicASCII(l,s),d=J_.containsRTL(l,h,o),c=gf(new hf(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,l,!1,h,d,0,t,i,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==mc.OFF,null),a);return a.appendString("
    "),c.characterMapping.getHorizontalOffset(c.characterMapping.length)}var gM=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},pM=function(e,t){return function(i,n){t(i,n,e)}};let mM=class extends Ae.jG{constructor(e,t,i,n,s,o,r,a,l,h){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=n,this._diffEditorWidget=s,this._canIgnoreViewZoneUpdateEvent=o,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=a,this._clipboardService=l,this._contextMenuService=h,this._originalTopPadding=(0,fg.FY)(this,0),this._originalScrollOffset=(0,fg.FY)(this,0),this._originalScrollOffsetAnimated=$I(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=(0,fg.FY)(this,0),this._modifiedScrollOffset=(0,fg.FY)(this,0),this._modifiedScrollOffsetAnimated=$I(this._targetWindow,this._modifiedScrollOffset,this._store);const d=(0,fg.FY)("invalidateAlignmentsState",0),c=this._register(new A.uC((()=>{d.set(d.get()+1,void 0)}),0));this._register(this._editors.original.onDidChangeViewZones((e=>{this._canIgnoreViewZoneUpdateEvent()||c.schedule()}))),this._register(this._editors.modified.onDidChangeViewZones((e=>{this._canIgnoreViewZoneUpdateEvent()||c.schedule()}))),this._register(this._editors.original.onDidChangeConfiguration((e=>{(e.hasChanged(147)||e.hasChanged(67))&&c.schedule()}))),this._register(this._editors.modified.onDidChangeConfiguration((e=>{(e.hasChanged(147)||e.hasChanged(67))&&c.schedule()})));const u=this._diffModel.map((e=>e?(0,fg.y0)(this,e.model.original.onDidChangeTokens,(()=>2===e.model.original.tokenization.backgroundTokenizationState)):void 0)).map(((e,t)=>e?.read(t))),g=(0,fg.un)((e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!t||!i)return null;d.read(e);const n=this._options.renderSideBySide.read(e);return fM(this._editors.original,this._editors.modified,i.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,n)})),p=(0,fg.un)((e=>{const t=this._diffModel.read(e)?.movedTextToCompare.read(e);if(!t)return null;d.read(e);const i=t.changes.map((e=>new nM(e)));return fM(this._editors.original,this._editors.modified,i,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)}));function m(){const e=document.createElement("div");return e.className="diagonal-fill",e}const f=this._register(new Ae.Cm);this.viewZones=(0,fg.rm)(this,((e,t)=>{f.clear();const i=g.read(e)||[],n=[],o=[],r=this._modifiedTopPadding.read(e);r>0&&o.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:r,showInHiddenAreas:!0,suppressMouseDown:!0});const a=this._originalTopPadding.read(e);a>0&&n.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:a,showInHiddenAreas:!0,suppressMouseDown:!0});const l=this._options.renderSideBySide.read(e),h=l?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer();if(h){const y=this._editors.original.getModel();for(const S of i)if(S.diff)for(let k=S.originalRange.startLineNumber;ky.getLineCount())return{orig:n,mod:o};h?.addRequest(y.getLineContent(k),null,null)}}const d=h?.finalize()??[];let c=0;const _=this._editors.modified.getOption(67),v=this._diffModel.read(e)?.movedTextToCompare.read(e),b=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,C=this._editors.original.getModel()?.mightContainRTL()??!1,w=cM.fromEditor(this._editors.modified);for(const L of i)if(!L.diff||l||this._options.useTrueInlineDiffRendering.read(e)&&vM(L.diff)){const x=L.modifiedHeightInPx-L.originalHeightInPx;if(x>0){if(v?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(L.originalRange.endLineNumberExclusive-1))continue;n.push({afterLineNumber:L.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:x,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(v?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(L.modifiedRange.endLineNumberExclusive-1))continue;function D(){const e=document.createElement("div");return e.className="arrow-revert-change "+En.L.asClassName(bl.W.arrowRight),t.add(Ye(e,"mousedown",(e=>e.stopPropagation()))),t.add(Ye(e,"click",(e=>{e.stopPropagation(),s.revert(L.diff)}))),ei("div",{},e)}let N;L.diff&&L.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(N=D()),o.push({afterLineNumber:L.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-x,marginDomNode:N,showInHiddenAreas:!0,suppressMouseDown:!0})}}else{if(!L.originalRange.isEmpty){u.read(e);const E=document.createElement("div");E.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const M=this._editors.original.getModel();if(L.originalRange.endLineNumberExclusive-1>M.getLineCount())return{orig:n,mod:o};const T=new dM(L.originalRange.mapToLineArray((e=>M.tokenization.getLineTokens(e))),L.originalRange.mapToLineArray((e=>d[c++])),b,C),R=[];for(const F of L.diff.innerChanges||[])R.push(new ev(F.originalRange.delta(-(L.diff.original.startLineNumber-1)),PE.className,0));const A=hM(T,w,R,E),P=document.createElement("div");if(P.className="inline-deleted-margin-view-zone",xh(P,w.fontInfo),this._options.renderIndicators.read(e))for(let W=0;W(0,rs.eU)(O)),P,this._editors.modified,L.diff,this._diffEditorWidget,A.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let H=0;H1&&n.push({afterLineNumber:L.originalRange.startLineNumber+H,domNode:m(),heightInPx:(V-1)*_,showInHiddenAreas:!0,suppressMouseDown:!0})}o.push({afterLineNumber:L.modifiedRange.startLineNumber-1,domNode:E,heightInPx:A.heightInLines*_,minWidthInPx:A.minWidthInPx,marginDomNode:P,setZoneId(e){O=e},showInHiddenAreas:!0,suppressMouseDown:!0})}const I=document.createElement("div");I.className="gutter-delete",n.push({afterLineNumber:L.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:L.modifiedHeightInPx,marginDomNode:I,showInHiddenAreas:!0,suppressMouseDown:!0})}for(const z of p.read(e)??[]){if(!v?.lineRangeMapping.original.intersect(z.originalRange)||!v?.lineRangeMapping.modified.intersect(z.modifiedRange))continue;const U=z.modifiedHeightInPx-z.originalHeightInPx;U>0?n.push({afterLineNumber:z.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:U,showInHiddenAreas:!0,suppressMouseDown:!0}):o.push({afterLineNumber:z.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-U,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:n,mod:o}}));let _=!1;this._register(this._editors.original.onDidScrollChange((e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.modified.setScrollLeft(e.scrollLeft),_=!1)}))),this._register(this._editors.modified.onDidScrollChange((e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.original.setScrollLeft(e.scrollLeft),_=!1)}))),this._originalScrollTop=(0,fg.y0)(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=(0,fg.y0)(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._register((0,fg.fm)((e=>{const t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)}))),this._register((0,fg.fm)((e=>{const t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)}))),this._register((0,fg.fm)((e=>{const t=this._diffModel.read(e)?.movedTextToCompare.read(e);let i=0;if(t){const e=this._editors.original.getTopForLineNumber(t.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();i=this._editors.modified.getTopForLineNumber(t.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-e}i>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(i,void 0)):i<0?(this._modifiedTopPadding.set(-i,void 0),this._originalTopPadding.set(0,void 0)):setTimeout((()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)}),400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-i,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+i,void 0,!0)})))}};function fM(e,t,i,n,s,o){const r=new na.j3(_M(e,n)),a=new na.j3(_M(t,s)),l=e.getOption(67),h=t.getOption(67),d=[];let c=0,u=0;function g(e,t){for(;;){let i=r.peek(),n=a.peek();if(i&&i.lineNumber>=e&&(i=void 0),n&&n.lineNumber>=t&&(n=void 0),!i&&!n)break;const s=i?i.lineNumber-c:Number.MAX_VALUE,o=n?n.lineNumber-u:Number.MAX_VALUE;so?(a.dequeue(),i={lineNumber:n.lineNumber-u+c,heightInPx:0}):(r.dequeue(),a.dequeue()),d.push({originalRange:nE.M.ofLength(i.lineNumber,1),modifiedRange:nE.M.ofLength(n.lineNumber,1),originalHeightInPx:l+i.heightInPx,modifiedHeightInPx:h+n.heightInPx,diff:void 0})}}for(const p of i){const m=p.lineRangeMapping;g(m.original.startLineNumber,m.modified.startLineNumber);let f=!0,_=m.modified.startLineNumber,v=m.original.startLineNumber;function b(e,t,i=!1){if(et.lineNumbere+t.heightInPx),0)??0,c=a.takeWhile((e=>e.lineNumbere+t.heightInPx),0)??0;d.push({originalRange:n,modifiedRange:s,originalHeightInPx:n.length*l+o,modifiedHeightInPx:s.length*h+c,diff:p.lineRangeMapping}),v=e,_=t}if(o)for(const C of m.innerChanges||[]){C.originalRange.startColumn>1&&C.modifiedRange.startColumn>1&&b(C.originalRange.startLineNumber,C.modifiedRange.startLineNumber);const w=e.getModel(),y=C.originalRange.endLineNumber<=w.getLineCount()?w.getLineMaxColumn(C.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;C.originalRange.endColumn1&&n.push({lineNumber:a,heightInPx:r*(e-1)})}for(const a of e.getWhitespaces()){if(t.has(a.id))continue;const e=0===a.afterLineNumber?0:o.convertViewPositionToModelPosition(new Qn.y(a.afterLineNumber,1)).lineNumber;i.push({lineNumber:e,heightInPx:a.height})}return function(e,t,i,n){if(0===e.length)return t;if(0===t.length)return e;const s=[];let o=0,r=0;for(;od?(s.push(l),r++):(s.push(n(a,l)),o++,r++)}for(;oe.lineNumber),((e,t)=>({lineNumber:e.lineNumber,heightInPx:e.heightInPx+t.heightInPx})))}function vM(e){return!!e.innerChanges&&e.innerChanges.every((e=>bM(e.modifiedRange)&&bM(e.originalRange)||e.originalRange.equalsRange(new Js.Q(1,1,1,1))))}function bM(e){return e.startLineNumber===e.endLineNumber}mM=gM([pM(8,jh),pM(9,bd)],mM);class CM extends Ae.jG{static{this.movedCodeBlockPadding=4}constructor(e,t,i,n,s){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=n,this._editors=s,this._originalScrollTop=(0,fg.y0)(this,this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=(0,fg.y0)(this,this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._viewZonesChanged=(0,fg.yQ)("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=(0,fg.FY)(this,0),this._modifiedViewZonesChangedSignal=(0,fg.yQ)("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=(0,fg.yQ)("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=(0,fg.rm)(this,((e,t)=>{this._element.replaceChildren();const i=this._diffModel.read(e),n=i?.diff.read(e)?.movedTexts;if(!n||0===n.length)return void this.width.set(0,void 0);this._viewZonesChanged.read(e);const s=this._originalEditorLayoutInfo.read(e),o=this._modifiedEditorLayoutInfo.read(e);if(!s||!o)return void this.width.set(0,void 0);this._modifiedViewZonesChangedSignal.read(e),this._originalViewZonesChangedSignal.read(e);const r=n.map((t=>{function i(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}const n=i(t.lineRangeMapping.original,this._editors.original),s=this._originalScrollTop.read(e),o=i(t.lineRangeMapping.modified,this._editors.modified),r=n-s,a=o-this._modifiedScrollTop.read(e),l=Math.min(n,o),h=Math.max(n,o);return{range:new sE.L(l,h),from:r,to:a,fromWithoutScroll:n,toWithoutScroll:o,move:t}}));r.sort((0,na.nH)((0,na.VE)((e=>e.fromWithoutScroll>e.toWithoutScroll),na.TS),(0,na.VE)((e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll),na.U9)));const a=wM.compute(r.map((e=>e.range))),l=s.verticalScrollbarWidth,h=10*(a.getTrackCount()-1)+20,d=l+h+(o.contentLeft-CM.movedCodeBlockPadding);let c=0;for(const u of r){const e=l+10+10*a.getTrack(c),n=15,s=15,r=d,h=o.glyphMarginWidth+o.lineNumbersWidth,g=18,p=document.createElementNS("http://www.w3.org/2000/svg","rect");p.classList.add("arrow-rectangle"),p.setAttribute("x",""+(r-h)),p.setAttribute("y",""+(u.to-g/2)),p.setAttribute("width",`${h}`),p.setAttribute("height",`${g}`),this._element.appendChild(p);const m=document.createElementNS("http://www.w3.org/2000/svg","g"),f=document.createElementNS("http://www.w3.org/2000/svg","path");f.setAttribute("d",`M 0 ${u.from} L ${e} ${u.from} L ${e} ${u.to} L ${r-s} ${u.to}`),f.setAttribute("fill","none"),m.appendChild(f);const _=document.createElementNS("http://www.w3.org/2000/svg","polygon");_.classList.add("arrow"),t.add((0,fg.fm)((e=>{f.classList.toggle("currentMove",u.move===i.activeMovedText.read(e)),_.classList.toggle("currentMove",u.move===i.activeMovedText.read(e))}))),_.setAttribute("points",`${r-s},${u.to-n/2} ${r},${u.to} ${r-s},${u.to+n/2}`),m.appendChild(_),this._element.appendChild(m),c++}this.width.set(h,void 0)})),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register((0,Ae.s)((()=>this._element.remove()))),this._register((0,fg.fm)((e=>{const t=this._originalEditorLayoutInfo.read(e),i=this._modifiedEditorLayoutInfo.read(e);t&&i&&(this._element.style.left=t.width-t.verticalScrollbarWidth+"px",this._element.style.height=`${t.height}px`,this._element.style.width=`${t.verticalScrollbarWidth+t.contentLeft-CM.movedCodeBlockPadding+this.width.read(e)}px`)}))),this._register((0,fg.OI)(this._state));const o=(0,fg.un)((e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);return i?i.movedTexts.map((e=>({move:e,original:new GI((0,fg.lk)(e.lineRangeMapping.original.startLineNumber-1),18),modified:new GI((0,fg.lk)(e.lineRangeMapping.modified.startLineNumber-1),18)}))):[]}));this._register(ZI(this._editors.original,o.map((e=>e.map((e=>e.original)))))),this._register(ZI(this._editors.modified,o.map((e=>e.map((e=>e.modified)))))),this._register((0,fg.yC)(((e,t)=>{const i=o.read(e);for(const n of i)t.add(new yM(this._editors.original,n.original,n.move,"original",this._diffModel.get())),t.add(new yM(this._editors.modified,n.modified,n.move,"modified",this._diffModel.get()))})));const r=(0,fg.yQ)("original.onDidFocusEditorWidget",(e=>this._editors.original.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0))))),a=(0,fg.yQ)("modified.onDidFocusEditorWidget",(e=>this._editors.modified.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0)))));let l="modified";this._register((0,fg.Y)({createEmptyChangeSummary:()=>{},handleChange:(e,t)=>(e.didChange(r)&&(l="original"),e.didChange(a)&&(l="modified"),!0)},(e=>{r.read(e),a.read(e);const t=this._diffModel.read(e);if(!t)return;const i=t.diff.read(e);let n;if(i&&"original"===l){const t=this._editors.originalCursor.read(e);t&&(n=i.movedTexts.find((e=>e.lineRangeMapping.original.contains(t.lineNumber))))}if(i&&"modified"===l){const t=this._editors.modifiedCursor.read(e);t&&(n=i.movedTexts.find((e=>e.lineRangeMapping.modified.contains(t.lineNumber))))}n!==t.movedTextToCompare.get()&&t.movedTextToCompare.set(void 0,void 0),t.setActiveMovedText(n)})))}}class wM{static compute(e){const t=[],i=[];for(const n of e){let e=t.findIndex((e=>!e.intersectsStrict(n)));if(-1===e){const i=6;t.length>=i?e=(0,Lb.TM)(t,(0,na.VE)((e=>e.intersectWithRangeLength(n)),na.U9)):(e=t.length,t.push(new sE.h))}t[e].addRange(n),i.push(e)}return new wM(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class yM extends qI{constructor(e,t,i,n,s){const o=ui("div.diff-hidden-lines-widget");super(e,t,o.root),this._editor=e,this._move=i,this._kind=n,this._diffModel=s,this._nodes=ui("div.diff-moved-code-block",{style:{marginRight:"4px"}},[ui("div.text-content@textContent"),ui("div.action-bar@actionBar")]),o.root.appendChild(this._nodes.root);const r=(0,fg.y0)(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));let a;this._register(YI(this._nodes.root,{paddingRight:r.map((e=>e.verticalScrollbarWidth))})),a=i.changes.length>0?"original"===this._kind?(0,$n.kg)("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,$n.kg)("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?(0,$n.kg)("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,$n.kg)("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const l=this._register(new ep(this._nodes.actionBar,{highlightToggledItems:!0})),h=new Xn("",a,"",!1);l.push(h,{icon:!1,label:!0});const d=new Xn("","Compare",En.L.asClassName(bl.W.compareChanges),!0,(()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)}));this._register((0,fg.fm)((e=>{const t=this._diffModel.movedTextToCompare.read(e)===i;d.checked=t}))),l.push(d,{icon:!1,label:!0})}}class SM extends Ae.jG{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=(0,fg.un)(this,(e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!i)return null;const n=this._diffModel.read(e).movedTextToCompare.read(e),s=this._options.renderIndicators.read(e),o=this._options.showEmptyDecorations.read(e),r=[],a=[];if(!n)for(const h of i.mappings)if(h.lineRangeMapping.original.isEmpty||r.push({range:h.lineRangeMapping.original.toInclusiveRange(),options:s?IE:ME}),h.lineRangeMapping.modified.isEmpty||a.push({range:h.lineRangeMapping.modified.toInclusiveRange(),options:s?NE:EE}),h.lineRangeMapping.modified.isEmpty||h.lineRangeMapping.original.isEmpty)h.lineRangeMapping.original.isEmpty||r.push({range:h.lineRangeMapping.original.toInclusiveRange(),options:OE}),h.lineRangeMapping.modified.isEmpty||a.push({range:h.lineRangeMapping.modified.toInclusiveRange(),options:RE});else{const i=this._options.useTrueInlineDiffRendering.read(e)&&vM(h.lineRangeMapping);for(const e of h.lineRangeMapping.innerChanges||[])if(h.lineRangeMapping.original.contains(e.originalRange.startLineNumber)&&r.push({range:e.originalRange,options:e.originalRange.isEmpty()&&o?FE:PE}),h.lineRangeMapping.modified.contains(e.modifiedRange.startLineNumber)&&a.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()&&o&&!i?AE:TE}),i){const i=t.model.original.getValueInRange(e.originalRange);a.push({range:e.modifiedRange,options:{description:"deleted-text",before:{content:i,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(n)for(const h of n.changes){const e=h.original.toInclusiveRange();e&&r.push({range:e,options:s?IE:ME});const t=h.modified.toInclusiveRange();t&&a.push({range:t,options:s?NE:EE});for(const i of h.innerChanges||[])r.push({range:i.originalRange,options:PE}),a.push({range:i.modifiedRange,options:TE})}const l=this._diffModel.read(e).activeMovedText.read(e);for(const h of i.movedTexts)r.push({range:h.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(h===l?" currentMove":""),blockPadding:[CM.movedCodeBlockPadding,0,CM.movedCodeBlockPadding,CM.movedCodeBlockPadding]}}),a.push({range:h.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(h===l?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:a}})),this._register(UI(this._editors.original,this._decorations.map((e=>e?.originalDecorations||[])))),this._register(UI(this._editors.modified,this._decorations.map((e=>e?.modifiedDecorations||[]))))}}class kM{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=(0,Ry.dQ)(this,(e=>{const t=this._sashRatio.read(e)??this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(t,e)}),((e,t)=>{const i=this.dimensions.width.get();this._sashRatio.set(e/i,t)})),this._sashRatio=(0,fg.FY)(this,void 0)}_computeSashLeft(e,t){const i=this.dimensions.width.read(t),n=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),s=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):n,o=100;return i<=200?n:si-o?i-o:s}}class LM extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._domNode=e,this._dimensions=t,this._enabled=i,this._boundarySashes=n,this.sashLeft=s,this._resetSash=o,this._sash=this._register(new PS(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart((()=>{this._startSashPosition=this.sashLeft.get()}))),this._register(this._sash.onDidChange((e=>{this.sashLeft.set(this._startSashPosition+(e.currentX-e.startX),void 0)}))),this._register(this._sash.onDidEnd((()=>this._sash.layout()))),this._register(this._sash.onDidReset((()=>this._resetSash()))),this._register((0,fg.fm)((e=>{const t=this._boundarySashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)}))),this._register((0,fg.fm)((e=>{const t=this._enabled.read(e);this._sash.state=t?3:0,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()})))}}class xM extends Ae.jG{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=(0,fg.y0)(this,this._editor.onDidScrollChange,(e=>this._editor.getScrollTop())),this.isScrollTopZero=this.scrollTop.map((e=>0===e)),this.modelAttached=(0,fg.y0)(this,this._editor.onDidChangeModel,(e=>this._editor.hasModel())),this.editorOnDidChangeViewZones=(0,fg.yQ)("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=(0,fg.yQ)("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=(0,fg.Yd)("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const n=this._domNode.appendChild(ui("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),s=new ResizeObserver((()=>{(0,fg.Rn)((e=>{this.domNodeSizeChanged.trigger(e)}))}));s.observe(this._domNode),this._register((0,Ae.s)((()=>s.disconnect()))),this._register((0,fg.fm)((e=>{n.className=this.isScrollTopZero.read(e)?"":"scroll-decoration"}))),this._register((0,fg.fm)((e=>this.render(e))))}dispose(){super.dispose(),Yt(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),n=new Set(this.views.keys()),s=sE.L.ofStartAndLength(0,this._domNode.clientHeight);if(!s.isEmpty)for(const o of i){const i=new nE.M(o.startLineNumber,o.endLineNumber+1),r=this.itemProvider.getIntersectingGutterItems(i,e);(0,fg.Rn)((e=>{for(const o of r){if(!o.range.intersect(i))continue;n.delete(o.id);let r=this.views.get(o.id);if(r)r.item.set(o,e);else{const e=document.createElement("div");this._domNode.appendChild(e);const t=(0,fg.FY)("item",o),i=this.itemProvider.createView(t,e);r=new DM(t,i,e),this.views.set(o.id,r)}const a=o.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(o.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(o.range.startLineNumber-1,!1)-t,l=(1===o.range.endLineNumberExclusive?Math.max(a,this._editor.getTopForLineNumber(o.range.startLineNumber,!1)-t):Math.max(a,this._editor.getBottomForLineNumber(o.range.endLineNumberExclusive-1,!0)-t))-a;r.domNode.style.top=`${a}px`,r.domNode.style.height=`${l}px`,r.gutterItemView.layout(sE.L.ofStartAndLength(a,l),s)}}))}for(const o of n){const e=this.views.get(o);e.gutterItemView.dispose(),e.domNode.remove(),this.views.delete(o)}}}class DM{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}class NM extends Jn{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}}var IM=i(6292);class EM extends IM.CO{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new zI.W(e-1,t)}}var MM=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},TM=function(e,t){return function(i,n){t(i,n,e)}};const RM=[];let AM=class extends Ae.jG{constructor(e,t,i,n,s,o,r,a,l){var h,d;super(),this._diffModel=t,this._editors=i,this._options=n,this._sashLayout=s,this._boundarySashes=o,this._instantiationService=r,this._contextKeyService=a,this._menuService=l,this._menu=this._register(this._menuService.createMenu(vs.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=(0,fg.y0)(this,this._menu.onDidChange,(()=>this._menu.getActions())),this._hasActions=this._actions.map((e=>e.length>0)),this._showSash=(0,fg.un)(this,(e=>this._options.renderSideBySide.read(e)&&this._hasActions.read(e))),this.width=(0,fg.un)(this,(e=>this._hasActions.read(e)?35:0)),this.elements=ui("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:"35px"}},[]),this._currentDiff=(0,fg.un)(this,(e=>{const t=this._diffModel.read(e);if(!t)return;const i=t.diff.read(e)?.mappings,n=this._editors.modifiedCursor.read(e);return n?i?.find((e=>e.lineRangeMapping.modified.contains(n.lineNumber))):void 0})),this._selectedDiffs=(0,fg.un)(this,(e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!i)return RM;const n=this._editors.modifiedSelections.read(e);if(n.every((e=>e.isEmpty())))return RM;const s=new nE.S(n.map((e=>nE.M.fromRangeInclusive(e)))),o=i.mappings.filter((e=>e.lineRangeMapping.innerChanges&&s.intersects(e.lineRangeMapping.modified))).map((e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter((e=>n.some((t=>Js.Q.areIntersecting(e.modifiedRange,t)))))})));return 0===o.length||o.every((e=>0===e.rangeMappings.length))?RM:o})),this._register((h=e,d=this.elements.root,h.prepend(d),(0,Ae.s)((()=>{d.remove()})))),this._register(Ye(this.elements.root,"click",(()=>{this._editors.modified.focus()}))),this._register(YI(this.elements.root,{display:this._hasActions.map((e=>e?"block":"none"))})),(0,Ry.a0)(this,(t=>this._showSash.read(t)?new LM(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,(0,Ry.dQ)(this,(e=>this._sashLayout.sashLeft.read(e)-35),((e,t)=>this._sashLayout.sashLeft.set(e+35,t))),(()=>this._sashLayout.resetSash())):void 0)).recomputeInitiallyAndOnChange(this._store),this._register(new xM(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>{const i=this._diffModel.read(t);if(!i)return[];const n=i.diff.read(t);if(!n)return[];const s=this._selectedDiffs.read(t);if(s.length>0){const e=oE.wm.fromRangeMappings(s.flatMap((e=>e.rangeMappings)));return[new PM(e,!0,vs.DiffEditorSelectionToolbar,void 0,i.model.original.uri,i.model.modified.uri)]}const o=this._currentDiff.read(t);return n.mappings.map((e=>new PM(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===o?.lineRangeMapping,vs.DiffEditorHunkToolbar,void 0,i.model.original.uri,i.model.modified.uri)))},createView:(e,t)=>this._instantiationService.createInstance(OM,e,t,this)})),this._register(Ye(this.elements.gutter,Ut.MOUSE_WHEEL,(e=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)}),{passive:!1}))}computeStagedValue(e){const t=e.innerChanges??[],i=new EM(this._editors.modifiedModel.get()),n=new EM(this._editors.original.getModel()),s=new IM.mF(t.map((e=>e.toTextEdit(i))));return s.apply(n)}layout(e){this.elements.gutter.style.left=e+"px"}};AM=MM([TM(6,qn._Y),TM(7,hs.fN),TM(8,bs)],AM);class PM{constructor(e,t,i,n,s,o){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=n,this.originalUri=s,this.modifiedUri=o}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let OM=class extends Ae.jG{constructor(e,t,i,n){super(),this._item=e,this._elements=ui("div.gutterItem",{style:{height:"20px",width:"34px"}},[ui("div.background@background",{},[]),ui("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,(e=>e.showAlways)),this._menuId=this._item.map(this,(e=>e.menuId)),this._isSmall=(0,fg.FY)(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const s=this._register(n.createInstance(ok,"element",!0,{position:{hoverPosition:1}}));this._register(KI(t,this._elements.root)),this._register((0,fg.fm)((e=>{const t=this._showAlways.read(e);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",t),setTimeout((()=>{this._elements.root.classList.toggle("noTransition",!1)}),0)}))),this._register((0,fg.yC)(((e,t)=>{this._elements.buttons.replaceChildren();const o=t.add(n.createInstance(gS,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:s,toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:new NM((()=>{const e=this._item.get(),t=e.mapping;return{mapping:t,originalWithModifiedChanges:i.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}})),menuOptions:{shouldForwardArgs:!0}}));t.add(o.onDidChangeMenuItems((()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)})))})))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(1===this._item.get().mapping.original.startLineNumber&&e.length<30,void 0),i=this._elements.buttons.clientHeight;const n=e.length/2-i/2,s=i;let o=e.start+n;const r=sE.L.tryCreate(s,t.endExclusive-s-i),a=sE.L.tryCreate(e.start+s,e.endExclusive-i-s);a&&r&&a.start{const t=HM._map.get(e);t&&(HM._map.delete(e),t.dispose(),i.dispose())}))}return t}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&(this._currentTransaction=new WM.XL((()=>{})))}_endUpdate(){if(this._updateCounter--,0===this._updateCounter){const e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=(0,fg.FY)(this,this.editor.getModel()),this.model=this._model,this.isReadonly=(0,fg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(92))),this._versionId=(0,fg.Zh)({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=(0,fg.Zh)({owner:this,equalsFn:(0,FM.KC)((0,FM.S3)(qs.L.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.isFocused=(0,fg.y0)(this,(e=>{const t=this.editor.onDidFocusEditorWidget(e),i=this.editor.onDidBlurEditorWidget(e);return{dispose(){t.dispose(),i.dispose()}}}),(()=>this.editor.hasWidgetFocus())),this.value=(0,Ry.dQ)(this,(e=>(this.versionId.read(e),this.model.read(e)?.getValue()??"")),((e,t)=>{const i=this.model.get();null!==i&&e!==i.getValue()&&i.setValue(e)})),this.valueIsEmpty=(0,fg.un)(this,(e=>(this.versionId.read(e),0===this.editor.getModel()?.getValueLength()))),this.cursorSelection=(0,fg.C)({owner:this,equalsFn:(0,FM.KC)(qs.L.selectionsEqual)},(e=>this.selections.read(e)?.[0]??null)),this.onDidType=(0,fg.Yd)(this),this.scrollTop=(0,fg.y0)(this.editor.onDidScrollChange,(()=>this.editor.getScrollTop())),this.scrollLeft=(0,fg.y0)(this.editor.onDidScrollChange,(()=>this.editor.getScrollLeft())),this.layoutInfo=(0,fg.y0)(this.editor.onDidLayoutChange,(()=>this.editor.getLayoutInfo())),this.layoutInfoContentLeft=this.layoutInfo.map((e=>e.contentLeft)),this.layoutInfoDecorationsLeft=this.layoutInfo.map((e=>e.decorationsLeft)),this.contentWidth=(0,fg.y0)(this.editor.onDidContentSizeChange,(()=>this.editor.getContentWidth())),this._overlayWidgetCounter=0,this._register(this.editor.onBeginUpdate((()=>this._beginUpdate()))),this._register(this.editor.onEndUpdate((()=>this._endUpdate()))),this._register(this.editor.onDidChangeModel((()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}}))),this._register(this.editor.onDidType((e=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,e)}finally{this._endUpdate()}}))),this._register(this.editor.onDidChangeModelContent((e=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}}))),this._register(this.editor.onDidChangeCursorSelection((e=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}})))}forceUpdate(e){this._beginUpdate();try{if(this._forceUpdate(),!e)return;return e(this._currentTransaction)}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e){return(0,fg.y0)(this,(t=>this.editor.onDidChangeConfiguration((i=>{i.hasChanged(e)&&t(void 0)}))),(()=>this.editor.getOption(e)))}setDecorations(e){const t=new Ae.Cm,i=this.editor.createDecorationsCollection();return t.add((0,fg.zL)({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},(t=>{const n=e.read(t);i.set(n)}))),t.add({dispose:()=>{i.clear()}}),t}createOverlayWidget(e){const t="observableOverlayWidget"+this._overlayWidgetCounter++,i={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(i);const n=(0,fg.fm)((t=>{e.position.read(t),e.minContentWidthInPx.read(t),this.editor.layoutOverlayWidget(i)}));return(0,Ae.s)((()=>{n.dispose(),this.editor.removeOverlayWidget(i)}))}}function VM(e,t){return(0,fg.ht)({createEmptyChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(t,i)=>{if(t.didChange(e)){const e=t.change;void 0!==e&&i.deltas.push(e),i.didChange=!0}return!0}},((i,n)=>{const s=e.read(i);n.didChange&&t(s,n.deltas)}))}var zM,UM=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},KM=function(e,t){return function(i,n){t(i,n,e)}};let jM=class extends Ae.jG{static{zM=this}static{this._breadcrumbsSourceFactory=(0,fg.FY)(zM,(()=>({dispose(){},getBreadcrumbItems:(e,t)=>[]})))}static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=n,this._modifiedOutlineSource=(0,Ry.a0)(this,(e=>{const t=this._editors.modifiedModel.read(e),i=zM._breadcrumbsSourceFactory.read(e);return t&&i?i(t,this._instantiationService):void 0})),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition((e=>{if(1===e.reason)return;const t=this._diffModel.get();(0,fg.Rn)((e=>{for(const i of this._editors.original.getSelections()||[])t?.ensureOriginalLineIsVisible(i.getStartPosition().lineNumber,0,e),t?.ensureOriginalLineIsVisible(i.getEndPosition().lineNumber,0,e)}))}))),this._register(this._editors.modified.onDidChangeCursorPosition((e=>{if(1===e.reason)return;const t=this._diffModel.get();(0,fg.Rn)((e=>{for(const i of this._editors.modified.getSelections()||[])t?.ensureModifiedLineIsVisible(i.getStartPosition().lineNumber,0,e),t?.ensureModifiedLineIsVisible(i.getEndPosition().lineNumber,0,e)}))})));const s=this._diffModel.map(((e,t)=>{const i=e?.unchangedRegions.read(t)??[];return 1===i.length&&1===i[0].modifiedLineNumber&&i[0].lineCount===this._editors.modifiedModel.read(t)?.getLineCount()?[]:i}));this.viewZones=(0,fg.rm)(this,((e,t)=>{const i=this._modifiedOutlineSource.read(e);if(!i)return{origViewZones:[],modViewZones:[]};const n=[],o=[],r=this._options.renderSideBySide.read(e),a=this._options.compactMode.read(e),l=s.read(e);for(let s=0;sh.getHiddenOriginalRange(e).startLineNumber-1)),i=new GI(e,12);n.push(i),t.add(new $M(this._editors.original,i,h,!r))}{const e=(0,fg.un)(this,(e=>h.getHiddenModifiedRange(e).startLineNumber-1)),i=new GI(e,12);o.push(i),t.add(new $M(this._editors.modified,i,h))}}else{{const e=(0,fg.un)(this,(e=>h.getHiddenOriginalRange(e).startLineNumber-1)),s=new GI(e,24);n.push(s),t.add(new qM(this._editors.original,s,h,h.originalUnchangedRange,!r,i,(e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0)),this._options))}{const e=(0,fg.un)(this,(e=>h.getHiddenModifiedRange(e).startLineNumber-1)),n=new GI(e,24);o.push(n),t.add(new qM(this._editors.modified,n,h,h.modifiedUnchangedRange,!1,i,(e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0)),this._options))}}}return{origViewZones:n,modViewZones:o}}));const o={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},r={description:"Fold Unchanged",glyphMarginHoverMessage:new Vn(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,$n.kg)("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+En.L.asClassName(bl.W.fold),zIndex:10001};this._register(UI(this._editors.original,(0,fg.un)(this,(e=>{const t=s.read(e),i=t.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:o})));for(const n of t)n.shouldHideControls(e)&&i.push({range:Js.Q.fromPositions(new Qn.y(n.originalLineNumber,1)),options:r});return i})))),this._register(UI(this._editors.modified,(0,fg.un)(this,(e=>{const t=s.read(e),i=t.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:o})));for(const n of t)n.shouldHideControls(e)&&i.push({range:nE.M.ofLength(n.modifiedLineNumber,1).toInclusiveRange(),options:r});return i})))),this._register((0,fg.fm)((e=>{const t=s.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map((t=>t.getHiddenOriginalRange(e).toInclusiveRange())).filter(rs.O9)),this._editors.modified.setHiddenAreas(t.map((t=>t.getHiddenModifiedRange(e).toInclusiveRange())).filter(rs.O9))}finally{this._isUpdatingHiddenAreas=!1}}))),this._register(this._editors.modified.onMouseUp((e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){const t=e.target.position.lineNumber,i=this._diffModel.get();if(!i)return;const n=i.unchangedRegions.get().find((e=>e.modifiedUnchangedRange.includes(t)));if(!n)return;n.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}}))),this._register(this._editors.original.onMouseUp((e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){const t=e.target.position.lineNumber,i=this._diffModel.get();if(!i)return;const n=i.unchangedRegions.get().find((e=>e.originalUnchangedRange.includes(t)));if(!n)return;n.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}})))}};jM=zM=UM([KM(3,qn._Y)],jM);class $M extends qI{constructor(e,t,i,n=!1){const s=ui("div.diff-hidden-lines-widget");super(e,t,s.root),this._unchangedRegion=i,this._hide=n,this._nodes=ui("div.diff-hidden-lines-compact",[ui("div.line-left",[]),ui("div.text@text",[]),ui("div.line-right",[])]),s.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register((0,fg.fm)((e=>{if(!this._hide){const t=this._unchangedRegion.getHiddenModifiedRange(e).length,i=(0,$n.kg)("hiddenLines","{0} hidden lines",t);this._nodes.text.innerText=i}})))}}class qM extends qI{constructor(e,t,i,n,s,o,r,a){const l=ui("div.diff-hidden-lines-widget");super(e,t,l.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=n,this._hide=s,this._modifiedOutlineSource=o,this._revealModifiedHiddenLine=r,this._options=a,this._nodes=ui("div.diff-hidden-lines",[ui("div.top@top",{title:(0,$n.kg)("diff.hiddenLines.top","Click or drag to show more above")}),ui("div.center@content",{style:{display:"flex"}},[ui("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[ei("a",{title:(0,$n.kg)("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...Tl("$(unfold)"))]),ui("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),ui("div.bottom@bottom",{title:(0,$n.kg)("diff.bottom","Click or drag to show more below"),role:"button"})]),l.root.appendChild(this._nodes.root),this._hide?Yt(this._nodes.first):this._register(YI(this._nodes.first,{width:BM(this._editor).layoutInfoContentLeft})),this._register((0,fg.fm)((e=>{const t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!t),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle("canMoveBottom",!t);const i=this._unchangedRegion.isDragged.read(e),n=this._editor.getDomNode();n&&(n.classList.toggle("draggingUnchangedRegion",!!i),"top"===i?(n.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),n.classList.toggle("canMoveBottom",!t)):"bottom"===i?(n.classList.toggle("canMoveTop",!t),n.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(n.classList.toggle("canMoveTop",!1),n.classList.toggle("canMoveBottom",!1)))})));const h=this._editor;this._register(Ye(this._nodes.top,"mousedown",(e=>{if(0!==e.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let i=!1;const n=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const s=We(this._nodes.top),o=Ye(s,"mousemove",(e=>{const s=e.clientY-t;i=i||Math.abs(s)>2;const o=Math.round(s/h.getOption(67)),r=Math.max(0,Math.min(n+o,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(r,void 0)})),r=Ye(s,"mouseup",(e=>{i||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),o.dispose(),r.dispose()}))}))),this._register(Ye(this._nodes.bottom,"mousedown",(e=>{if(0!==e.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let i=!1;const n=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const s=We(this._nodes.bottom),o=Ye(s,"mousemove",(e=>{const s=e.clientY-t;i=i||Math.abs(s)>2;const o=Math.round(s/h.getOption(67)),r=Math.max(0,Math.min(n-o,this._unchangedRegion.getMaxVisibleLineCountBottom())),a=this._unchangedRegionRange.endLineNumberExclusive>h.getModel().getLineCount()?h.getContentHeight():h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(r,void 0);const l=this._unchangedRegionRange.endLineNumberExclusive>h.getModel().getLineCount()?h.getContentHeight():h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);h.setScrollTop(h.getScrollTop()+(l-a))})),r=Ye(s,"mouseup",(e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!i){const e=h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const t=h.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);h.setScrollTop(h.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),o.dispose(),r.dispose()}))}))),this._register((0,fg.fm)((e=>{const t=[];if(!this._hide){const n=i.getHiddenModifiedRange(e).length,s=(0,$n.kg)("hiddenLines","{0} hidden lines",n),o=ei("span",{title:(0,$n.kg)("diff.hiddenLines.expandAll","Double click to unfold")},s);o.addEventListener("dblclick",(e=>{0===e.button&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))})),t.push(o);const r=this._unchangedRegion.getHiddenModifiedRange(e),a=this._modifiedOutlineSource.getBreadcrumbItems(r,e);if(a.length>0){t.push(ei("span",void 0,"\xa0\xa0|\xa0\xa0"));for(let e=0;e{this._revealModifiedHiddenLine(i.startLineNumber)}}}}Yt(this._nodes.others,...t)})))}}var GM,QM=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},YM=function(e,t){return function(i,n){t(i,n,e)}};let ZM=class extends Ae.jG{static{GM=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=2*this.ONE_OVERVIEW_WIDTH}constructor(e,t,i,n,s,o,r){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=n,this._rootHeight=s,this._modifiedEditorLayoutInfo=o,this._themeService=r,this.width=GM.ENTIRE_DIFF_OVERVIEW_WIDTH;const a=(0,fg.y0)(this._themeService.onDidColorThemeChange,(()=>this._themeService.getColorTheme())),l=(0,fg.un)((e=>{const t=a.read(e);return{insertColor:t.getColor(io.ld8)||(t.getColor(io.Gj6)||io.EY1).transparent(2),removeColor:t.getColor(io.$BZ)||(t.getColor(io.GNm)||io.ZEf).transparent(2)}})),h=Lh(document.createElement("div"));h.setClassName("diffViewport"),h.setPosition("absolute");const d=ui("div.diffOverview",{style:{position:"absolute",top:"0px",width:GM.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(KI(d,h.domNode)),this._register(Xe(d,Ut.POINTER_DOWN,(e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)}))),this._register(Ye(d,Ut.MOUSE_WHEEL,(e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)}),{passive:!1})),this._register(KI(this._rootElement,d)),this._register((0,fg.yC)(((e,t)=>{const i=this._diffModel.read(e),n=this._editors.original.createOverviewRuler("original diffOverviewRuler");n&&(t.add(n),t.add(KI(d,n.getDomNode())));const s=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(s&&(t.add(s),t.add(KI(d,s.getDomNode()))),!n||!s)return;const o=(0,fg.yQ)("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=(0,fg.yQ)("viewZoneChanged",this._editors.modified.onDidChangeViewZones),a=(0,fg.yQ)("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),c=(0,fg.yQ)("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);t.add((0,fg.fm)((e=>{o.read(e),r.read(e),a.read(e),c.read(e);const t=l.read(e),h=i?.diff.read(e)?.mappings;function d(e,t,i){const n=i._getViewModel();return n?e.filter((e=>e.length>0)).map((e=>{const i=n.coordinatesConverter.convertModelPositionToViewPosition(new Qn.y(e.startLineNumber,1)),s=n.coordinatesConverter.convertModelPositionToViewPosition(new Qn.y(e.endLineNumberExclusive,1)),o=s.lineNumber-i.lineNumber;return new xv(i.lineNumber,s.lineNumber,o,t.toString())})):[]}const u=d((h||[]).map((e=>e.lineRangeMapping.original)),t.removeColor,this._editors.original),g=d((h||[]).map((e=>e.lineRangeMapping.modified)),t.insertColor,this._editors.modified);n?.setZones(u),s?.setZones(g)}))),t.add((0,fg.fm)((e=>{const t=this._rootHeight.read(e),i=this._rootWidth.read(e),o=this._modifiedEditorLayoutInfo.read(e);if(o){const i=GM.ENTIRE_DIFF_OVERVIEW_WIDTH-2*GM.ONE_OVERVIEW_WIDTH;n.setLayout({top:0,height:t,right:i+GM.ONE_OVERVIEW_WIDTH,width:GM.ONE_OVERVIEW_WIDTH}),s.setLayout({top:0,height:t,right:0,width:GM.ONE_OVERVIEW_WIDTH});const r=this._editors.modifiedScrollTop.read(e),a=this._editors.modifiedScrollHeight.read(e),l=this._editors.modified.getOption(104),d=new Vu(l.verticalHasArrows?l.arrowSize:0,l.verticalScrollbarSize,0,o.height,a,r);h.setTop(d.getSliderPosition()),h.setHeight(d.getSliderSize())}else h.setTop(0),h.setHeight(0);d.style.height=t+"px",d.style.left=i-GM.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",h.setWidth(GM.ENTIRE_DIFF_OVERVIEW_WIDTH)})))})))}};ZM=GM=QM([YM(6,no.Gy)],ZM);const XM=[];class JM extends Ae.jG{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=n,this._selectedDiffs=(0,fg.un)(this,(e=>{const t=this._diffModel.read(e),i=t?.diff.read(e);if(!i)return XM;const n=this._editors.modifiedSelections.read(e);if(n.every((e=>e.isEmpty())))return XM;const s=new nE.S(n.map((e=>nE.M.fromRangeInclusive(e)))),o=i.mappings.filter((e=>e.lineRangeMapping.innerChanges&&s.intersects(e.lineRangeMapping.modified))).map((e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter((e=>n.some((t=>Js.Q.areIntersecting(e.modifiedRange,t)))))})));return 0===o.length||o.every((e=>0===e.rangeMappings.length))?XM:o})),this._register((0,fg.yC)(((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;const i=this._diffModel.read(e),n=i?.diff.read(e);if(!i||!n)return;if(i.movedTextToCompare.read(e))return;const s=[],o=this._selectedDiffs.read(e),r=new Set(o.map((e=>e.mapping)));if(o.length>0){const i=this._editors.modifiedSelections.read(e),n=t.add(new eT(i[i.length-1].positionLineNumber,this._widget,o.flatMap((e=>e.rangeMappings)),!0));this._editors.modified.addGlyphMarginWidget(n),s.push(n)}for(const a of n.mappings)if(!r.has(a)&&!a.lineRangeMapping.modified.isEmpty&&a.lineRangeMapping.innerChanges){const e=t.add(new eT(a.lineRangeMapping.modified.startLineNumber,this._widget,a.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(e),s.push(e)}t.add((0,Ae.s)((()=>{for(const e of s)this._editors.modified.removeGlyphMarginWidget(e)})))})))}}class eT extends Ae.jG{static{this.counter=0}getId(){return this._id}constructor(e,t,i,n){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=n,this._id="revertButton"+eT.counter++,this._domNode=ui("div.revertButton",{title:this._revertSelection?(0,$n.kg)("revertSelectedChanges","Revert Selected Changes"):(0,$n.kg)("revertChange","Revert Change")},[Rl(bl.W.arrowRight)]).root,this._register(Ye(this._domNode,Ut.MOUSE_DOWN,(e=>{2!==e.button&&(e.stopPropagation(),e.preventDefault())}))),this._register(Ye(this._domNode,Ut.MOUSE_UP,(e=>{e.stopPropagation(),e.preventDefault()}))),this._register(Ye(this._domNode,Ut.CLICK,(e=>{this._diffs instanceof oE.WL?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()})))}getDomNode(){return this._domNode}getPosition(){return{lane:eo.ZS.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}var tT=i(12146);function iT(e,t,i){const n=e.bindTo(t);return(0,fg.zL)({debugName:()=>`Set Context Key "${e.key}"`},(e=>{n.set(i(e))}))}var nT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},sT=function(e,t){return function(i,n){t(i,n,e)}};let oT=class extends Ae.jG{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,n,s,o,r){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=n,this._createInnerEditor=s,this._instantiationService=o,this._keybindingService=r,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new P.vl),this.modifiedScrollTop=(0,fg.y0)(this,this.modified.onDidScrollChange,(()=>this.modified.getScrollTop())),this.modifiedScrollHeight=(0,fg.y0)(this,this.modified.onDidScrollChange,(()=>this.modified.getScrollHeight())),this.modifiedObs=BM(this.modified),this.originalObs=BM(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=(0,fg.y0)(this,this.modified.onDidChangeCursorSelection,(()=>this.modified.getSelections()??[])),this.modifiedCursor=(0,fg.C)({owner:this,equalsFn:Qn.y.equals},(e=>this.modifiedSelections.read(e)[0]?.getPosition()??new Qn.y(1,1))),this.originalCursor=(0,fg.y0)(this,this.original.onDidChangeCursorPosition,(()=>this.original.getPosition()??new Qn.y(1,1))),this._argCodeEditorWidgetOptions=null,this._register((0,fg.Y)({createEmptyChangeSummary:()=>({}),handleChange:(e,t)=>(e.didChange(i.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)},((e,t)=>{i.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))})))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return n.setContextValue("isInDiffLeftEditor",!0),n}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return n.setContextValue("isInDiffRightEditor",!0),n}_constructInnerEditor(e,t,i,n){const s=this._createInnerEditor(e,t,i,n);return this._register(s.onDidContentSizeChange((e=>{const t=this.original.getContentWidth()+this.modified.getContentWidth()+ZM.ENTIRE_DIFF_OVERVIEW_WIDTH,i=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:i,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})}))),s}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=Rc.revealHorizontalRightPadding.defaultValue+ZM.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){e||(e="");const t=(0,$n.kg)("diff-aria-navigation-tip"," use {0} to open the accessibility help.",this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,""):""}};oT=nT([sT(5,qn._Y),sT(6,Cd)],oT);class rT extends Ae.jG{constructor(){super(...arguments),this._id=++rT.idCounter,this._onDidDispose=this._register(new P.vl),this.onDidDispose=this._onDidDispose.event}static{this.idCounter=0}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,n=!0){this._targetEditor.revealRange(e,t,i,n)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}var aT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},lT=function(e,t){return function(i,n){t(i,n,e)}};let hT=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=(0,fg.FY)(this,0),this._screenReaderMode=(0,fg.y0)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>this._accessibilityService.isScreenReaderOptimized())),this.couldShowInlineViewBecauseOfSize=(0,fg.un)(this,(e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint)),this.renderOverviewRuler=(0,fg.un)(this,(e=>this._options.read(e).renderOverviewRuler)),this.renderSideBySide=(0,fg.un)(this,(e=>(!this.compactMode.read(e)||!this.shouldRenderInlineViewInSmartMode.read(e))&&(this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e))))),this.readOnly=(0,fg.un)(this,(e=>this._options.read(e).readOnly)),this.shouldRenderOldRevertArrows=(0,fg.un)(this,(e=>!!this._options.read(e).renderMarginRevertIcon&&(!!this.renderSideBySide.read(e)&&(!this.readOnly.read(e)&&!this.shouldRenderGutterMenu.read(e))))),this.shouldRenderGutterMenu=(0,fg.un)(this,(e=>this._options.read(e).renderGutterMenu)),this.renderIndicators=(0,fg.un)(this,(e=>this._options.read(e).renderIndicators)),this.enableSplitViewResizing=(0,fg.un)(this,(e=>this._options.read(e).enableSplitViewResizing)),this.splitViewDefaultRatio=(0,fg.un)(this,(e=>this._options.read(e).splitViewDefaultRatio)),this.ignoreTrimWhitespace=(0,fg.un)(this,(e=>this._options.read(e).ignoreTrimWhitespace)),this.maxComputationTimeMs=(0,fg.un)(this,(e=>this._options.read(e).maxComputationTime)),this.showMoves=(0,fg.un)(this,(e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e))),this.isInEmbeddedEditor=(0,fg.un)(this,(e=>this._options.read(e).isInEmbeddedEditor)),this.diffWordWrap=(0,fg.un)(this,(e=>this._options.read(e).diffWordWrap)),this.originalEditable=(0,fg.un)(this,(e=>this._options.read(e).originalEditable)),this.diffCodeLens=(0,fg.un)(this,(e=>this._options.read(e).diffCodeLens)),this.accessibilityVerbose=(0,fg.un)(this,(e=>this._options.read(e).accessibilityVerbose)),this.diffAlgorithm=(0,fg.un)(this,(e=>this._options.read(e).diffAlgorithm)),this.showEmptyDecorations=(0,fg.un)(this,(e=>this._options.read(e).experimental.showEmptyDecorations)),this.onlyShowAccessibleDiffViewer=(0,fg.un)(this,(e=>this._options.read(e).onlyShowAccessibleDiffViewer)),this.compactMode=(0,fg.un)(this,(e=>this._options.read(e).compactMode)),this.trueInlineDiffRenderingEnabled=(0,fg.un)(this,(e=>this._options.read(e).experimental.useTrueInlineView)),this.useTrueInlineDiffRendering=(0,fg.un)(this,(e=>!this.renderSideBySide.read(e)&&this.trueInlineDiffRenderingEnabled.read(e))),this.hideUnchangedRegions=(0,fg.un)(this,(e=>this._options.read(e).hideUnchangedRegions.enabled)),this.hideUnchangedRegionsRevealLineCount=(0,fg.un)(this,(e=>this._options.read(e).hideUnchangedRegions.revealLineCount)),this.hideUnchangedRegionsContextLineCount=(0,fg.un)(this,(e=>this._options.read(e).hideUnchangedRegions.contextLineCount)),this.hideUnchangedRegionsMinimumLineCount=(0,fg.un)(this,(e=>this._options.read(e).hideUnchangedRegions.minimumLineCount)),this._model=(0,fg.FY)(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,(e=>(0,tT.t)(this,(t=>{const i=e?.diff.read(t);return i?(n=i,s=this.trueInlineDiffRenderingEnabled.read(t),n.mappings.every((e=>0===e.lineRangeMapping.original.length||function(e){return 0===e.modified.length}(e.lineRangeMapping)||s&&vM(e.lineRangeMapping)))):void 0;var n,s})))).flatten().map(this,(e=>!!e)),this.inlineViewHideOriginalLineNumbers=this.compactMode;const i={...e,...dT(e,qd)};this._options=(0,fg.FY)(this,i)}updateOptions(e){const t=dT(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};function dT(e,t){return{enableSplitViewResizing:nc(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:ac(e.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:nc(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:nc(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:oc(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:oc(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:nc(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:nc(e.renderIndicators,t.renderIndicators),originalEditable:nc(e.originalEditable,t.originalEditable),diffCodeLens:nc(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:nc(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:dc(e.diffWordWrap,t.diffWordWrap,["off","on","inherit"]),diffAlgorithm:dc(e.diffAlgorithm,t.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:nc(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:nc(e.experimental?.showMoves,t.experimental.showMoves),showEmptyDecorations:nc(e.experimental?.showEmptyDecorations,t.experimental.showEmptyDecorations),useTrueInlineView:nc(e.experimental?.useTrueInlineView,t.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:nc(e.hideUnchangedRegions?.enabled??e.experimental?.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:oc(e.hideUnchangedRegions?.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:oc(e.hideUnchangedRegions?.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:oc(e.hideUnchangedRegions?.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:nc(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:nc(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:oc(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:nc(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:nc(e.renderGutterMenu,t.renderGutterMenu),compactMode:nc(e.compactMode,t.compactMode)}}hT=aT([lT(1,$r)],hT);var cT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},uT=function(e,t){return function(i,n){t(i,n,e)}};let gT=class extends rT{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,n,s,o,r,a){super(),this._domElement=e,this._parentContextKeyService=n,this._parentInstantiationService=s,this._accessibilitySignalService=r,this._editorProgressService=a,this.elements=ui("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[ui("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),ui("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),ui("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register((0,fg.X2)(this,void 0)),this._diffModel=(0,fg.un)(this,(e=>this._diffModelSrc.read(e)?.object)),this.onDidChangeModel=P.Jh.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new qC([hs.fN,this._contextKeyService]))),this._boundarySashes=(0,fg.FY)(this,void 0),this._accessibleDiffViewerShouldBeVisible=(0,fg.FY)(this,!1),this._accessibleDiffViewerVisible=(0,fg.un)(this,(e=>!!this._options.onlyShowAccessibleDiffViewer.read(e)||this._accessibleDiffViewerShouldBeVisible.read(e))),this._movedBlocksLinesPart=(0,fg.FY)(this,void 0),this._layoutInfo=(0,fg.un)(this,(e=>{const t=this._rootSizeObserver.width.read(e),i=this._rootSizeObserver.height.read(e);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=i+"px";const n=this._sash.read(e),s=this._gutter.read(e),o=s?.width.read(e)??0,r=this._overviewRulerPart.read(e)?.width??0;let a,l,h,d,c;if(!!n){const i=n.sashLeft.read(e);a=0,l=i-o-(this._movedBlocksLinesPart.read(e)?.width.read(e)??0),c=i-o,h=i,d=t-h-r}else{c=0;a=o,l=this._options.inlineViewHideOriginalLineNumbers.read(e)?0:Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(e)),h=o+l,d=t-h-r}return this.elements.original.style.left=a+"px",this.elements.original.style.width=l+"px",this._editors.original.layout({width:l,height:i},!0),s?.layout(c),this.elements.modified.style.left=h+"px",this.elements.modified.style.width=d+"px",this._editors.modified.layout({width:d,height:i},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}})),this._diffValue=this._diffModel.map(((e,t)=>e?.diff.read(t))),this.onDidUpdateDiff=P.Jh.fromObservableLight(this._diffValue),o.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register((0,Ae.s)((()=>this.elements.root.remove()))),this._rootSizeObserver=this._register(new jI(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(t.automaticLayout??!1),this._options=this._instantiationService.createInstance(hT,t),this._register((0,fg.fm)((e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))}))),this._contextKeyService.createKey($s.isEmbeddedDiffEditor.key,!1),this._register(iT($s.isEmbeddedDiffEditor,this._contextKeyService,(e=>this._options.isInEmbeddedEditor.read(e)))),this._register(iT($s.comparingMovedCode,this._contextKeyService,(e=>!!this._diffModel.read(e)?.movedTextToCompare.read(e)))),this._register(iT($s.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,(e=>this._options.couldShowInlineViewBecauseOfSize.read(e)))),this._register(iT($s.diffEditorInlineMode,this._contextKeyService,(e=>!this._options.renderSideBySide.read(e)))),this._register(iT($s.hasChanges,this._contextKeyService,(e=>(this._diffModel.read(e)?.diff.read(e)?.mappings.length??0)>0))),this._editors=this._register(this._instantiationService.createInstance(oT,this.elements.original,this.elements.modified,this._options,i,((e,t,i,n)=>this._createInnerEditor(e,t,i,n)))),this._register(iT($s.diffEditorOriginalWritable,this._contextKeyService,(e=>this._options.originalEditable.read(e)))),this._register(iT($s.diffEditorModifiedWritable,this._contextKeyService,(e=>!this._options.readOnly.read(e)))),this._register(iT($s.diffEditorOriginalUri,this._contextKeyService,(e=>this._diffModel.read(e)?.model.original.uri.toString()??""))),this._register(iT($s.diffEditorModifiedUri,this._contextKeyService,(e=>this._diffModel.read(e)?.model.modified.uri.toString()??""))),this._overviewRulerPart=(0,Ry.a0)(this,(e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance(GE(ZM,e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map((e=>e.modifiedEditor))):void 0)).recomputeInitiallyAndOnChange(this._store);const l={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(((e,t)=>e-(this._overviewRulerPart.read(t)?.width??0)))};this._sashLayout=new kM(this._options,l),this._sash=(0,Ry.a0)(this,(e=>{const t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle("side-by-side",t),t?new LM(this.elements.root,l,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,(()=>this._sashLayout.resetSash())):void 0})).recomputeInitiallyAndOnChange(this._store);const h=(0,Ry.a0)(this,(e=>this._instantiationService.createInstance(GE(jM,e),this._editors,this._diffModel,this._options))).recomputeInitiallyAndOnChange(this._store);(0,Ry.a0)(this,(e=>this._instantiationService.createInstance(GE(SM,e),this._editors,this._diffModel,this._options,this))).recomputeInitiallyAndOnChange(this._store);const d=new Set,c=new Set;let u=!1;const g=(0,Ry.a0)(this,(e=>this._instantiationService.createInstance(GE(mM,e),We(this._domElement),this._editors,this._diffModel,this._options,this,(()=>u||h.get().isUpdatingHiddenAreas),d,c))).recomputeInitiallyAndOnChange(this._store),p=(0,fg.un)(this,(e=>{const t=g.read(e).viewZones.read(e).orig,i=h.read(e).viewZones.read(e).origViewZones;return t.concat(i)})),m=(0,fg.un)(this,(e=>{const t=g.read(e).viewZones.read(e).mod,i=h.read(e).viewZones.read(e).modViewZones;return t.concat(i)}));let f;this._register(ZI(this._editors.original,p,(e=>{u=e}),d)),this._register(ZI(this._editors.modified,m,(e=>{u=e,u?f=cw.capture(this._editors.modified):(f?.restore(this._editors.modified),f=void 0)}),c)),this._accessibleDiffViewer=(0,Ry.a0)(this,(e=>this._instantiationService.createInstance(GE(mE,e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,((e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t)),this._options.onlyShowAccessibleDiffViewer.map((e=>!e)),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map(((e,t)=>e?.diff.read(t)?.mappings.map((e=>e.lineRangeMapping)))),new LE(this._editors)))).recomputeInitiallyAndOnChange(this._store);const _=this._accessibleDiffViewerVisible.map((e=>e?"hidden":"visible"));this._register(YI(this.elements.modified,{visibility:_})),this._register(YI(this.elements.original,{visibility:_})),this._createDiffEditorContributions(),o.addDiffEditor(this),this._gutter=(0,Ry.a0)(this,(e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance(GE(AM,e),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0)),this._register((0,fg.OI)(this._layoutInfo)),(0,Ry.a0)(this,(e=>new(GE(CM,e))(this.elements.root,this._diffModel,this._layoutInfo.map((e=>e.originalEditor)),this._layoutInfo.map((e=>e.modifiedEditor)),this._editors))).recomputeInitiallyAndOnChange(this._store,(e=>{this._movedBlocksLinesPart.set(e,void 0)})),this._register(P.Jh.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,(e=>this._handleCursorPositionChange(e,!0)))),this._register(P.Jh.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,(e=>this._handleCursorPositionChange(e,!1))));const v=this._diffModel.map(this,((e,t)=>{if(e)return void 0===e.diff.read(t)&&!e.isDiffUpToDate.read(t)}));this._register((0,fg.yC)(((e,t)=>{if(!0===v.read(e)){const e=this._editorProgressService.show(!0,1e3);t.add((0,Ae.s)((()=>e.done())))}}))),this._register((0,fg.yC)(((e,t)=>{t.add(new(GE(JM,e))(this._editors,this._diffModel,this._options,this))}))),this._register((0,fg.yC)(((e,t)=>{const i=this._diffModel.read(e);if(i)for(const n of[i.model.original,i.model.modified])t.add(n.onWillDispose((e=>{(0,b.dz)(new b.D7("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)})))}))),this._register((0,fg.fm)((e=>{this._options.setModel(this._diffModel.read(e))})))}_createInnerEditor(e,t,i,n){return e.createInstance(ZC,t,i,n)}_createDiffEditorContributions(){const e=Ds.getDiffEditorContributions();for(const i of e)try{this._register(this._instantiationService.createInstance(i.ctor,this))}catch(t){(0,b.dz)(t)}}get _targetEditor(){return this._editors.modified}getEditorType(){return gb.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:this._diffModel.get()?.serializeState()}}restoreViewState(e){if(e&&e.original&&e.modified){const t=e;this._editors.original.restoreViewState(t.original),this._editors.modified.restoreViewState(t.modified),t.modelState&&this._diffModel.get()?.restoreSerializedState(t.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(tM,e,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(e){const t=e?"model"in e?eE.create(e).createNewRef(this):eE.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){const i=this._diffModel.get();!e&&i&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==e?.object&&(0,fg.PO)(t,(t=>{const i=e?.object;fg.y0.batchEventsGlobally(t,(()=>{this._editors.original.setModel(i?i.model.original:null),this._editors.modified.setModel(i?i.model.modified:null)}));const n=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(e?.createNewRef(this),t),setTimeout((()=>{n?.dispose()}),0)}))}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){const e=this._diffModel.get()?.diff.get();return e?e.mappings.map((e=>{const t=e.lineRangeMapping;let i,n,s,o,r=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,n=0,r=void 0):(i=t.original.startLineNumber,n=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(s=t.modified.startLineNumber-1,o=0,r=void 0):(s=t.modified.startLineNumber,o=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:n,modifiedStartLineNumber:s,modifiedEndLineNumber:o,charChanges:r?.map((e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn})))}})):null}revert(e){const t=this._diffModel.get();t&&t.isDiffUpToDate.get()&&this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map((e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)})));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new Qn.y(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){const t=this._diffModel.get()?.diff.get()?.mappings;if(!t||0===t.length)return;const i=this._editors.modified.getPosition().lineNumber;let n;n="next"===e?t.find((e=>e.lineRangeMapping.modified.startLineNumber>i))??t[0]:(0,Lb.Uk)(t,(e=>e.lineRangeMapping.modified.startLineNumber{const t=e.diff.get()?.mappings;t&&0!==t.length&&this._goTo(t[0])}))}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){const e=this._editors.modified.hasWidgetFocus(),t=e?this._editors.modified:this._editors.original,i=e?this._editors.original:this._editors.modified;let n;const s=t.getSelection();if(s){const t=this._diffModel.get()?.diff.get()?.mappings.map((t=>e?t.lineRangeMapping.flip():t.lineRangeMapping));if(t){const e=JI(s.getStartPosition(),t),i=JI(s.getEndPosition(),t);n=Js.Q.plusRange(e,i)}}return{destination:i,destinationSelection:n}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){const e=this._diffModel.get()?.unchangedRegions.get();e&&(0,fg.Rn)((t=>{for(const i of e)i.collapseAll(t)}))}showAllUnchangedRegions(){const e=this._diffModel.get()?.unchangedRegions.get();e&&(0,fg.Rn)((t=>{for(const i of e)i.showAll(t)}))}_handleCursorPositionChange(e,t){if(3===e?.reason){const i=this._diffModel.get()?.diff.get()?.mappings.find((i=>t?i.lineRangeMapping.modified.contains(e.position.lineNumber):i.lineRangeMapping.original.contains(e.position.lineNumber)));i?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(hE.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):i?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(hE.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):i&&this._accessibilitySignalService.playSignal(hE.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};gT=cT([uT(3,hs.fN),uT(4,qn._Y),uT(5,Gn),uT(6,rE),uT(7,Gh)],gT);class pT extends ks{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:(0,$n.aS)("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:hs.M$.has("isInDiffEditor")})}run(e,...t){const i=e.get(Wp.pG),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class mT extends ks{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:(0,$n.aS)("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:hs.M$.has("isInDiffEditor")})}run(e,...t){const i=e.get(Wp.pG),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const fT=(0,$n.aS)("diffEditor","Diff Editor");class _T extends ks{constructor(){super({id:"diffEditor.revert",title:(0,$n.aS)("revert","Revert"),f1:!1,category:fT})}run(e,t){const i=function(e,t,i){const n=e.get(Gn);return n.listDiffEditors().find((e=>{const n=e.getModifiedEditor(),s=e.getOriginalEditor();return n&&n.getModel()?.uri.toString()===i.toString()&&s&&s.getModel()?.uri.toString()===t.toString()}))||null}(e,t.originalUri,t.modifiedUri);i instanceof gT&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const vT=(0,$n.aS)("accessibleDiffViewer","Accessible Diff Viewer");class bT extends ks{static{this.id="editor.action.accessibleDiffViewer.next"}constructor(){super({id:bT.id,title:(0,$n.aS)("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:vT,precondition:hs.M$.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=wT(e);t?.accessibleDiffViewerNext()}}class CT extends ks{static{this.id="editor.action.accessibleDiffViewer.prev"}constructor(){super({id:CT.id,title:(0,$n.aS)("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:vT,precondition:hs.M$.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=wT(e);t?.accessibleDiffViewerPrev()}}function wT(e){const t=e.get(Gn).listDiffEditors(),i=yt();if(i)for(const n of t){if(yT(n.getContainerDomNode(),i))return n}return null}function yT(e,t){let i=t;for(;i;){if(i===e)return!0;i=i.parentElement}return!1}Ls(class extends ks{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:(0,$n.aS)("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:bl.W.map,toggled:hs.M$.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:hs.M$.has("isInDiffEditor"),menu:{when:hs.M$.has("isInDiffEditor"),id:vs.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Wp.pG),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}),Ls(pT),Ls(mT),ws.appendMenuItem(vs.EditorTitle,{command:{id:(new mT).desc.id,title:(0,$n.kg)("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:hs.M$.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:hs.M$.has("isInDiffEditor")},order:11,group:"1_diff",when:hs.M$.and($s.diffEditorRenderSideBySideInlineBreakpointReached,hs.M$.has("isInDiffEditor"))}),ws.appendMenuItem(vs.EditorTitle,{command:{id:(new pT).desc.id,title:(0,$n.kg)("showMoves","Show Moved Code Blocks"),icon:bl.W.move,toggled:hs.f1.create("config.diffEditor.experimental.showMoves",!0),precondition:hs.M$.has("isInDiffEditor")},order:10,group:"1_diff",when:hs.M$.has("isInDiffEditor")}),Ls(_T);for(const e0 of[{icon:bl.W.arrowRight,key:$s.diffEditorInlineMode.toNegated()},{icon:bl.W.discard,key:$s.diffEditorInlineMode}])ws.appendMenuItem(vs.DiffEditorHunkToolbar,{command:{id:(new _T).desc.id,title:(0,$n.kg)("revertHunk","Revert Block"),icon:e0.icon},when:hs.M$.and($s.diffEditorModifiedWritable,e0.key),order:5,group:"primary"}),ws.appendMenuItem(vs.DiffEditorSelectionToolbar,{command:{id:(new _T).desc.id,title:(0,$n.kg)("revertSelection","Revert Selection"),icon:e0.icon},when:hs.M$.and($s.diffEditorModifiedWritable,e0.key),order:5,group:"primary"});Ls(class extends Ps{constructor(){super({id:"diffEditor.switchSide",title:(0,$n.aS)("switchSide","Switch Side"),icon:bl.W.arrowSwap,precondition:hs.M$.has("isInDiffEditor"),f1:!0,category:fT})}runEditorCommand(e,t,i){const n=wT(e);if(n instanceof gT){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}),Ls(class extends Ps{constructor(){super({id:"diffEditor.exitCompareMove",title:(0,$n.aS)("exitCompareMove","Exit Compare Move"),icon:bl.W.close,precondition:$s.comparingMovedCode,f1:!1,category:fT,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=wT(e);n instanceof gT&&n.exitCompareMove()}}),Ls(class extends Ps{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:(0,$n.aS)("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:bl.W.fold,precondition:hs.M$.has("isInDiffEditor"),f1:!0,category:fT})}runEditorCommand(e,t,...i){const n=wT(e);n instanceof gT&&n.collapseAllUnchangedRegions()}}),Ls(class extends Ps{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:(0,$n.aS)("showAllUnchangedRegions","Show All Unchanged Regions"),icon:bl.W.unfold,precondition:hs.M$.has("isInDiffEditor"),f1:!0,category:fT})}runEditorCommand(e,t,...i){const n=wT(e);n instanceof gT&&n.showAllUnchangedRegions()}}),ws.appendMenuItem(vs.EditorTitle,{command:{id:bT.id,title:(0,$n.kg)("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:hs.M$.has("isInDiffEditor")},order:10,group:"2_diff",when:hs.M$.and($s.accessibleDiffViewerVisible.negate(),hs.M$.has("isInDiffEditor"))}),ls.registerCommandAlias("editor.action.diffReview.next",bT.id),Ls(bT),ls.registerCommandAlias("editor.action.diffReview.prev",CT.id),Ls(CT);var ST=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},kT=function(e,t){return function(i,n){t(i,n,e)}};class LT{remove(){this.parent?.children.delete(this.id)}static findId(e,t){let i;"string"==typeof e?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,void 0!==t.children.get(i)&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let n=i;for(let s=0;void 0!==t.children.get(n);s++)n=`${i}_${s}`;return n}static empty(e){return 0===e.children.size}}class xT extends LT{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class DT extends LT{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class NT extends LT{static create(e,t,i){const n=new sa.Qi(i),s=new NT(t.uri),o=e.ordered(t),r=o.map(((e,i)=>{const o=LT.findId(`provider_${i}`,s),r=new DT(o,s,e.displayName??"Unknown Outline Provider",i);return Promise.resolve(e.provideDocumentSymbols(t,n.token)).then((e=>{for(const t of e||[])NT._makeOutlineElement(t,r);return r}),(e=>((0,b.M_)(e),r))).then((e=>{LT.empty(e)?e.remove():s._groups.set(o,e)}))})),a=e.onDidChange((()=>{const i=e.ordered(t);(0,na.aI)(i,o)||n.cancel()}));return Promise.all(r).then((()=>n.token.isCancellationRequested&&!i.isCancellationRequested?NT.create(e,t,i):s._compact())).finally((()=>{n.dispose(),a.dispose(),n.dispose()}))}static _makeOutlineElement(e,t){const i=LT.findId(e,t),n=new xT(i,t,e);if(e.children)for(const s of e.children)NT._makeOutlineElement(s,n);t.children.set(n.id,n)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)0===i.children.size?this._groups.delete(t):e+=1;if(1!==e)this.children=this._groups;else{const e=os.f.first(this._groups.values());for(const[,t]of e.children)t.parent=this,this.children.set(t.id,t)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof xT?e.push(t.symbol):e.push(...os.f.map(t.children.values(),(e=>e.symbol)));return e.sort(((e,t)=>Js.Q.compareRangesUsingStarts(e.range,t.range)))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return NT._flattenDocumentSymbols(t,e,""),t.sort(((e,t)=>Qn.y.compare(Js.Q.getStartPosition(e.range),Js.Q.getStartPosition(t.range))||Qn.y.compare(Js.Q.getEndPosition(t.range),Js.Q.getEndPosition(e.range))))}static _flattenDocumentSymbols(e,t,i){for(const n of t)e.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&NT._flattenDocumentSymbols(e,n.children,n.name)}}const IT=(0,qn.u1)("IOutlineModelService");let ET=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Ae.Cm,this._cache=new ki.qK(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved((e=>{this._cache.delete(e.id)})))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,n=i.ordered(e);let s=this._cache.get(e.id);if(!s||s.versionId!==e.getVersionId()||!(0,na.aI)(s.provider,n)){const t=new sa.Qi;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:t,promise:NT.create(i,e,t.token),model:void 0},this._cache.set(e.id,s);const o=Date.now();s.promise.then((t=>{s.model=t,this._debounceInformation.update(e,Date.now()-o)})).catch((t=>{this._cache.delete(e.id)}))}if(s.model)return s.model;s.promiseCnt+=1;const o=t.onCancellationRequested((()=>{0==--s.promiseCnt&&(s.source.cancel(),this._cache.delete(e.id))}));try{return await s.promise}finally{o.dispose()}}};ET=ST([kT(0,xa.ILanguageFeaturesService),kT(1,Tw.ILanguageFeatureDebounceService),kT(2,Yn.IModelService)],ET),(0,ul.v)(IT,ET,1);var MT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},TT=function(e,t){return function(i,n){t(i,n,e)}};let RT=class extends Ae.jG{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=(0,fg.FY)(this,void 0);const n=(0,fg.yQ)("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=(0,fg.yQ)("_textModel.onDidChangeContent",P.Jh.debounce((e=>this._textModel.onDidChangeContent(e)),(()=>{}),100));this._register((0,fg.yC)((async(e,t)=>{n.read(e),s.read(e);const i=t.add(new XI),o=await this._outlineModelService.getOrCreate(this._textModel,i.token);t.isDisposed||this._currentModel.set(o,void 0)})))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter((t=>e.contains(t.range.startLineNumber)&&!e.contains(t.range.endLineNumber)));return n.sort((0,na.Hw)((0,na.VE)((e=>e.range.endLineNumber-e.range.startLineNumber),na.U9))),n.map((e=>({name:e.name,kind:e.kind,startLineNumber:e.range.startLineNumber})))}};RT=MT([TT(1,xa.ILanguageFeaturesService),TT(2,IT)],RT),jM.setBreadcrumbsSourceFactory(((e,t)=>t.createInstance(RT,e)));class AT{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new Js.Q(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new qs.L(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new qs.L(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumberthis._onEditorMouseDown(e)))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(e)))),this._register(this._editor.onMouseDrag((e=>this._onEditorMouseDrag(e)))),this._register(this._editor.onMouseDrop((e=>this._onEditorMouseDrop(e)))),this._register(this._editor.onMouseDropCanceled((()=>this._onEditorMouseDropCanceled()))),this._register(this._editor.onKeyDown((e=>this.onEditorKeyDown(e)))),this._register(this._editor.onKeyUp((e=>this.onEditorKeyUp(e)))),this._register(this._editor.onDidBlurEditorWidget((()=>this.onEditorBlur()))),this._register(this._editor.onDidBlurEditorText((()=>this.onEditorBlur()))),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){this._editor.getOption(35)&&!this._editor.getOption(22)&&(PT(e)&&(this._modifierPressed=!0),this._mouseDown&&PT(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){this._editor.getOption(35)&&!this._editor.getOption(22)&&(PT(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===OT.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(null===this._dragSelection){const e=(this._editor.getSelections()||[]).filter((e=>t.position&&e.containsPosition(t.position)));if(1!==e.length)return;this._dragSelection=e[0]}PT(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new Qn.y(e.target.position.lineNumber,e.target.position.column);if(null===this._dragSelection){let i=null;if(e.event.shiftKey){const e=this._editor.getSelection();if(e){const{selectionStartLineNumber:n,selectionStartColumn:s}=e;i=[new qs.L(n,s,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map((e=>e.containsPosition(t)?new qs.L(t.lineNumber,t.column,t.lineNumber,t.column):e));this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(PT(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(OT.ID,new AT(this._dragSelection,t,PT(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}static{this._DECORATION_OPTIONS=to.kI.register({description:"dnd-target",className:"dnd-target"})}showAt(e){this._dndDecorationIds.set([{range:new Js.Q(e.lineNumber,e.column,e.lineNumber,e.column),options:OT._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return 6===e.type||7===e.type}_hitMargin(e){return 2===e.type||3===e.type||4===e.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}Hs(OT.ID,OT,2),ls.registerCommand("_executeDocumentSymbolProvider",(async function(e,...t){const[i]=t;(0,rs.j)(Hn.r.isUri(i));const n=e.get(IT),s=e.get(Zn.ITextModelService),o=await s.createModelReference(i);try{return(await n.getOrCreate(o.object.textEditorModel,sa.XO.None)).getTopLevelSymbols()}finally{o.dispose()}})),Hs(Od.ID,Od,0),Fw(Za),Fs(new class extends Ts{constructor(){super({id:Rd,precondition:Ad,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t){return Od.get(t)?.changePasteType()}}),Fs(new class extends Ts{constructor(){super({id:"editor.hidePasteWidget",precondition:Ad,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t){Od.get(t)?.clearWidgets()}}),Ws(class e extends Rs{static{this.argsSchema={type:"object",properties:{kind:{type:"string",description:$n.kg("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}}}constructor(){super({id:"editor.action.pasteAs",label:$n.kg("pasteAs","Paste As..."),alias:"Paste As...",precondition:$s.writable,metadata:{description:"Paste as",args:[{name:"args",schema:e.argsSchema}]}})}run(e,t,i){let n="string"==typeof i?.kind?i.kind:void 0;return!n&&i&&(n="string"==typeof i.id?i.id:void 0),Od.get(t)?.pasteAs(n?new ua(n):void 0)}}),Ws(class extends Rs{constructor(){super({id:"editor.action.pasteAsText",label:$n.kg("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:$s.writable})}run(e,t){return Od.get(t)?.pasteAs({providerId:ja.id})}});var FT,WT=i(2603),BT=i(26756),HT=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},VT=function(e,t){return function(i,n){t(i,n,e)}};const zT="editor.experimental.dropIntoEditor.defaultProvider",UT="editor.changeDropType",KT=new hs.N1("dropWidgetVisible",!1,(0,$n.kg)("dropWidgetVisible","Whether the drop widget is showing"));let jT=class extends Ae.jG{static{FT=this}static{this.ID="editor.contrib.dropIntoEditorController"}static get(e){return e.getContribution(FT.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=fa.getInstance(),this._dropProgressManager=this._register(t.createInstance(kl,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(Id,"dropIntoEditor",e,KT,{id:UT,label:(0,$n.kg)("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor((t=>this.onDropIntoEditor(e,t.position,t.event))))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){if(!i.dataTransfer||!e.hasModel())return;this._currentOperation?.cancel(),e.focus(),e.setPosition(t);const n=(0,A.SS)((async s=>{const o=new Ae.Cm,r=o.add(new _l(e,1,void 0,s));try{const n=await this.extractDataTransferData(i);if(0===n.size||r.token.isCancellationRequested)return;const a=e.getModel();if(!a)return;const l=this._languageFeaturesService.documentDropEditProvider.ordered(a).filter((e=>!e.dropMimeTypes||e.dropMimeTypes.some((e=>n.matches(e))))),h=o.add(await this.getDropEdits(l,a,t,n,r));if(r.token.isCancellationRequested)return;if(h.edits.length){const i=this.getInitialActiveEditIndex(a,h.edits),n="afterDrop"===e.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([Js.Q.fromPositions(t)],{activeEditIndex:i,allEdits:h.edits},n,(async e=>e),s)}}finally{o.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}}));this._dropProgressManager.showWhile(t,(0,$n.kg)("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const o=new Ae.Cm,r=await(0,A.PK)(Promise.all(e.map((async e=>{try{const r=await e.provideDocumentDropEdits(t,i,n,s.token);return r&&o.add(r),r?.edits.map((t=>({...t,providerId:e.id})))}catch(r){console.error(r)}}))),s.token);return{edits:cl((0,na.Yc)(r??[]).flat()),dispose:()=>o.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(zT,{resource:e.uri});for(const[n,s]of Object.entries(i)){const e=new ua(s),i=t.findIndex((t=>e.value===t.providerId&&t.handledMimeType&&ha(n,[t.handledMimeType])));if(i>=0)return i}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new aa;const t=Ca(e.dataTransfer);if(this.treeItemsTransfer.hasData(WT.DraggedTreeItemsIdentifier.prototype)){const e=this.treeItemsTransfer.getData(WT.DraggedTreeItemsIdentifier.prototype);if(Array.isArray(e))for(const i of e){const e=await this._treeViewsDragAndDropService.removeDragOperationTransfer(i.identifier);if(e)for(const[i,n]of e)t.replace(i,n)}}return t}};jT=FT=HT([VT(1,qn._Y),VT(2,Wp.pG),VT(3,xa.ILanguageFeaturesService),VT(4,BT.ITreeViewsDnDService)],jT),Hs(jT.ID,jT,2),Fw(Ya),Fs(new class extends Ts{constructor(){super({id:UT,precondition:KT,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t,i){jT.get(t)?.changeDropType()}}),Fs(new class extends Ts{constructor(){super({id:"editor.hideDropWidget",precondition:KT,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t,i){jT.get(t)?.clearWidgets()}}),ds.O.as(Ac.Fd.Configuration).registerConfiguration({...Pc,properties:{[zT]:{type:"object",scope:5,description:$n.kg("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});var $T=i(104);class qT{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map((e=>this._editor.getModel().getDecorationRange(e))).filter((e=>!!e));if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e{if(null!==this._highlightedDecorationId&&(e.changeDecorationOptions(this._highlightedDecorationId,qT._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==t&&(this._highlightedDecorationId=t,e.changeDecorationOptions(this._highlightedDecorationId,qT._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(e.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==t){let i=this._editor.getModel().getDecorationRange(t);if(i.startLineNumber!==i.endLineNumber&&1===i.endColumn){const e=i.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);i=new Js.Q(i.startLineNumber,i.startColumn,e,t)}this._rangeHighlightDecorationId=e.addDecoration(i,qT._RANGE_HIGHLIGHT_DECORATION)}})),i}set(e,t){this._editor.changeDecorations((i=>{let n=qT._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=qT._FIND_MATCH_NO_OVERVIEW_DECORATION;const t=this._editor.getModel().getLineCount(),i=this._editor.getLayoutInfo().height/t,o=Math.max(2,Math.ceil(3/i));let r=e[0].range.startLineNumber,a=e[0].range.endLineNumber;for(let n=1,l=e.length;n=t.startLineNumber?t.endLineNumber>a&&(a=t.endLineNumber):(s.push({range:new Js.Q(r,1,a,1),options:qT._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=t.startLineNumber,a=t.endLineNumber)}s.push({range:new Js.Q(r,1,a,1),options:qT._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const o=new Array(e.length);for(let t=0,r=e.length;ti.removeDecoration(e))),this._findScopeDecorationIds=[]),t?.length&&(this._findScopeDecorationIds=t.map((e=>i.addDecoration(e,qT._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(e){if(0===this._decorations.length)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(n&&!(n.endLineNumber>e.lineNumber)){if(n.endLineNumbere.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(0===this._decorations.length)return null;for(let t=0,i=this._decorations.length;te.lineNumber)return n;if(!(n.startColumn0){const e=[];for(let t=0;tJs.Q.compareRangesUsingStarts(e.range,t.range)));const i=[];let n=e[0];for(let t=1;t0?t[0].toUpperCase()+t.substr(1):e[0][0].toUpperCase()!==e[0][0]&&t.length>0?t[0].toLowerCase()+t.substr(1):t}return t}function YT(e,t,i){return-1!==e[0].indexOf(i)&&-1!==t.indexOf(i)&&e[0].split(i).length===t.split(i).length}function ZT(e,t,i){const n=t.split(i),s=e[0].split(i);let o="";return n.forEach(((e,t)=>{o+=QT([s[t]],e)+i})),o.slice(0,-1)}class XT{constructor(e){this.staticValue=e,this.kind=0}}class JT{constructor(e){this.pieces=e,this.kind=1}}class eR{static fromStaticValue(e){return new eR([tR.staticValue(e)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(e){e&&0!==e.length?1===e.length&&null!==e[0].staticValue?this._state=new XT(e[0].staticValue):this._state=new JT(e):this._state=new XT("")}buildReplaceString(e,t){if(0===this._state.kind)return t?QT(e,this._state.staticValue):this._state.staticValue;let i="";for(let n=0,s=this._state.pieces.length;n0){const e=[],i=t.caseOps.length;let n=0;for(let o=0,r=s.length;o=i){e.push(s.slice(o));break}switch(t.caseOps[n]){case"U":e.push(s[o].toUpperCase());break;case"u":e.push(s[o].toUpperCase()),n++;break;case"L":e.push(s[o].toLowerCase());break;case"l":e.push(s[o].toLowerCase()),n++;break;default:e.push(s[o])}}s=e.join("")}i+=s}return i}static _substitute(e,t){if(null===t)return"";if(0===e)return t[0];let i="";for(;e>0;){if(e{if(this._editor.hasModel())return this.research(!1)}),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((e=>{3!==e.reason&&5!==e.reason&&6!==e.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,Ae.AS)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){if(!this._isDisposed&&this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)){this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)}),240)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)}}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;void 0!==t?null!==t&&(i=Array.isArray(t)?t:[t]):i=this._decorations.getFindScopes(),null!==i&&(i=i.map((e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return 1===e.endColumn&&(t-=1),new Js.Q(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e})));const n=this._findMatches(i,!1,IR);this._decorations.set(n,i);const s=this._editor.getSelection();let o=this._decorations.getCurrentMatchesPosition(s);if(0===o&&n.length>0){const e=(0,Lb.hw)(n.map((e=>e.range)),(e=>Js.Q.compareRangesUsingStarts(e,s)>=0));o=e>0?e-1+1:o}this._state.changeMatchInfo(o,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||1===n?(1===i?i=s.getLineCount():i--,n=s.getLineMaxColumn(i)):n--,new Qn.y(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const t=this._decorations.matchAfterPosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===s.getLineMaxColumn(i)?(i===s.getLineCount()?i=1:i++,n=1):n++,new Qn.y(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const t=this._decorations.matchBeforePosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=s)break;const o=e.charCodeAt(n);if(36===o){i.emitUnchanged(n-1),i.emitStatic("$",n+1);continue}if(48===o||38===o){i.emitUnchanged(n-1),i.emitMatchIndex(0,n+1,t),t.length=0;continue}if(49<=o&&o<=57){let r=o-48;if(n+1=s)break;const o=e.charCodeAt(n);switch(o){case 92:i.emitUnchanged(n-1),i.emitStatic("\\",n+1);break;case 110:i.emitUnchanged(n-1),i.emitStatic("\n",n+1);break;case 116:i.emitUnchanged(n-1),i.emitStatic("\t",n+1);break;case 117:case 85:case 108:case 76:i.emitUnchanged(n-1),i.emitStatic("",n+1),t.push(String.fromCharCode(o))}}}return i.finalize()}(this._state.replaceString):eR.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){const n=e.buildReplaceString(i.matches,this._state.preserveCase),s=new yo(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Qn.y(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const n=(e||[null]).map((e=>ER._getSearchRange(this._editor.getModel(),e)));return this._editor.getModel().findMatches(this._state.searchString,n,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();null===e&&this._state.matchesCount>=IR?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const e=new $T.lt(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e="mu";t.ignoreCase&&(e+="i"),t.global&&(e+="g"),t=new RegExp(t.source,e)}const i=this._editor.getModel(),n=i.getValue(1),s=i.getFullModelRange(),o=this._getReplacePattern();let r;const a=this._state.preserveCase;r=o.hasReplacementPatterns||a?n.replace(t,(function(){return o.buildReplaceString(arguments,a)})):n.replace(t,o.buildReplaceString(null,a));const l=new xo(s,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",l)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let o=0,r=i.length;oe.range)),n);this._executeEditorCommand("replaceAll",s)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let t=this._findMatches(e,!1,1073741824).map((e=>new qs.L(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)));const i=this._editor.getSelection();for(let n=0,s=t.length;nthis._hide()),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const n={inputActiveOptionBorder:(0,io.GuP)(io.uNK),inputActiveOptionForeground:(0,io.GuP)(io.$$0),inputActiveOptionBackground:(0,io.GuP)(io.c1f)},s=this._register(hd());this.caseSensitive=this._register(new vL({appendTitle:this._keybindingLabelFor(wR),isChecked:this._state.matchCase,hoverDelegate:s,...n})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new bL({appendTitle:this._keybindingLabelFor(yR),isChecked:this._state.wholeWord,hoverDelegate:s,...n})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new CL({appendTitle:this._keybindingLabelFor(SR),isChecked:this._state.isRegex,hoverDelegate:s,...n})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange((()=>{this._state.change({isRegex:this.regex.checked},!1)}))),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange((e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()}))),this._register(Ye(this._domNode,Ut.MOUSE_LEAVE,(e=>this._onMouseLeave()))),this._register(Ye(this._domNode,"mouseover",(e=>this._onMouseOver())))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return MR.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}function TR(e,t){return 1===e||2!==e&&t}class RR extends Ae.jG{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return TR(this._isRegexOverride,this._isRegex)}get wholeWord(){return TR(this._wholeWordOverride,this._wholeWord)}get matchCase(){return TR(this._matchCaseOverride,this._matchCase)}get preserveCase(){return TR(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new P.vl),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,s=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,s=!0),void 0!==i&&(Js.Q.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){const n={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const o=this.isRegex,r=this.wholeWord,a=this.matchCase,l=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,s=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,s=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,s=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,s=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase),void 0!==e.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&(e.searchScope?.every((e=>this._searchScope?.some((t=>!Js.Q.equalsRange(t,e)))))||(this._searchScope=e.searchScope,n.searchScope=!0,s=!0)),void 0!==e.loop&&this._loop!==e.loop&&(this._loop=e.loop,n.loop=!0,s=!0),void 0!==e.isSearching&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,n.isSearching=!0,s=!0),void 0!==e.filters&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,n.filters=!0,s=!0),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,o!==this.isRegex&&(s=!0,n.isRegex=!0),r!==this.wholeWord&&(s=!0,n.wholeWord=!0),a!==this.matchCase&&(s=!0,n.matchCase=!0),l!==this.preserveCase&&(s=!0,n.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=IR}}const AR=$n.kg("defaultLabel","input"),PR=$n.kg("label.preserveCaseToggle","Preserve Case");class OR extends pL{constructor(e){super({icon:bl.W.preserveCase,title:PR+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ld("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class FR extends Ou{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new P.vl),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new P.vl),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new P.vl),this._onInput=this._register(new P.vl),this._onKeyUp=this._register(new P.vl),this._onPreserveCaseKeyDown=this._register(new P.vl),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||AR;const s=n.appendPreserveCaseLabel||"",o=n.history||[],r=!!n.flexibleHeight,a=!!n.flexibleWidth,l=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new LL(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:o,showHistoryHint:n.showHistoryHint,flexibleHeight:r,flexibleWidth:a,flexibleMaxHeight:l,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new OR({appendTitle:s,isChecked:!1,...n.toggleStyles})),this._register(this.preserveCase.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((e=>{this._onPreserveCaseKeyDown.fire(e)}))),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const h=[this.preserveCase.domNode];this.onkeydown(this.domNode,(e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){const t=h.indexOf(this.domNode.ownerDocument.activeElement);if(t>=0){let i=-1;e.equals(17)?i=(t+1)%h.length:e.equals(15)&&(i=0===t?h.length-1:t-1),e.equals(9)?(h[t].blur(),this.inputBox.focus()):i>=0&&h[i].focus(),jt(e,!0)}}}));const d=document.createElement("div");d.className="controls",d.style.display=this._showOptionButtons?"block":"none",d.appendChild(this.preserveCase.domNode),this.domNode.appendChild(d),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var WR=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},BR=function(e,t){return function(i,n){t(i,n,e)}};const HR=new hs.N1("suggestWidgetVisible",!1,(0,$n.kg)("suggestWidgetVisible","Whether suggestion are visible")),VR="historyNavigationWidgetFocus",zR="historyNavigationForwardsEnabled",UR="historyNavigationBackwardsEnabled";let KR;const jR=[];function $R(e,t){if(jR.includes(t))throw new Error("Cannot register the same widget multiple times");jR.push(t);const i=new Ae.Cm,n=new hs.N1(VR,!1).bindTo(e),s=new hs.N1(zR,!0).bindTo(e),o=new hs.N1(UR,!0).bindTo(e),r=()=>{n.set(!0),KR=t},a=()=>{n.set(!1),KR===t&&(KR=void 0)};return St(t.element)&&r(),i.add(t.onDidFocus((()=>r()))),i.add(t.onDidBlur((()=>a()))),i.add((0,Ae.s)((()=>{jR.splice(jR.indexOf(t),1),a()}))),{historyNavigationForwardsEnablement:s,historyNavigationBackwardsEnablement:o,dispose(){i.dispose()}}}let qR=class extends DL{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register($R(s,this.inputBox))}};qR=WR([BR(3,hs.fN)],qR);let GR=class extends FR{constructor(e,t,i,n,s=!1){super(e,t,s,i);const o=this._register(n.createScoped(this.inputBox.element));this._register($R(o,this.inputBox))}};function QR(e){return"Up"===e.lookupKeybinding("history.showPrevious")?.getElectronAccelerator()&&"Down"===e.lookupKeybinding("history.showNext")?.getElectronAccelerator()}GR=WR([BR(3,hs.fN)],GR),us.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:hs.M$.and(hs.M$.has(VR),hs.M$.equals(UR,!0),hs.M$.not("isComposing"),HR.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{KR?.showPreviousValue()}}),us.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:hs.M$.and(hs.M$.has(VR),hs.M$.equals(zR,!0),hs.M$.not("isComposing"),HR.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{KR?.showNextValue()}});const YR=fu("find-collapsed",bl.W.chevronRight,$n.kg("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),ZR=fu("find-expanded",bl.W.chevronDown,$n.kg("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),XR=fu("find-selection",bl.W.selection,$n.kg("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),JR=fu("find-replace",bl.W.replace,$n.kg("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),eA=fu("find-replace-all",bl.W.replaceAll,$n.kg("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),tA=fu("find-previous-match",bl.W.arrowUp,$n.kg("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),iA=fu("find-next-match",bl.W.arrowDown,$n.kg("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),nA=$n.kg("label.findDialog","Find / Replace"),sA=$n.kg("label.find","Find"),oA=$n.kg("placeholder.find","Find"),rA=$n.kg("label.previousMatchButton","Previous Match"),aA=$n.kg("label.nextMatchButton","Next Match"),lA=$n.kg("label.toggleSelectionFind","Find in Selection"),hA=$n.kg("label.closeButton","Close"),dA=$n.kg("label.replace","Replace"),cA=$n.kg("placeholder.replace","Replace"),uA=$n.kg("label.replaceButton","Replace"),gA=$n.kg("label.replaceAllButton","Replace All"),pA=$n.kg("label.toggleReplaceButton","Toggle Replace"),mA=$n.kg("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",IR),fA=$n.kg("label.matchesLocation","{0} of {1}"),_A=$n.kg("label.noResults","No results"),vA=419;let bA=69;const CA="ctrlEnterReplaceAll.windows.donotask",wA=f.zx?256:2048;class yA{constructor(e){this.afterLineNumber=e,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function SA(e,t,i){const n=!!t.match(/\n/);i&&n&&i.selectionStart>0&&e.stopPropagation()}function kA(e,t,i){const n=!!t.match(/\n/);i&&n&&i.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((e=>{if(e.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(146)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(41)){const e=this._codeEditor.getOption(41).loop;this._state.change({loop:e},!1);const t=this._codeEditor.getOption(41).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new yA(0),this._showViewZone()),!t&&this._viewZone&&this._removeViewZone()}}))),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection((()=>{this._isVisible&&this._updateToggleSelectionFindButton()}))),this._register(this._codeEditor.onDidFocusEditorWidget((async()=>{if(this._isVisible){const e=await this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}}))),this._findInputFocused=sR.bindTo(o),this._findFocusTracker=this._register(qt(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus((()=>{this._findInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._findFocusTracker.onDidBlur((()=>{this._findInputFocused.set(!1)}))),this._replaceInputFocused=oR.bindTo(o),this._replaceFocusTracker=this._register(qt(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus((()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._replaceFocusTracker.onDidBlur((()=>{this._replaceInputFocused.set(!1)}))),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new yA(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((e=>{e.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return LA.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(92)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=gt(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const e=this._state.searchString.length>0&&0===this._state.matchesCount;this._domNode.classList.toggle("no-results",e),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,b.dz)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let e;if(this._matchesCount.style.minWidth=bA+"px",this._state.matchesCount>=IR?this._matchesCount.title=mA:this._matchesCount.title="",this._matchesCount.firstChild?.remove(),this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=IR&&(t+="+");let i=String(this._state.matchesPosition);"0"===i&&(i="?"),e=Ri.GP(fA,i,t)}else e=_A;this._matchesCount.appendChild(document.createTextNode(e)),wi(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),bA=Math.max(bA,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===_A)return""===i?$n.kg("ariaSearchNoResultEmpty","{0} found",e):$n.kg("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=$n.kg("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),s=this._codeEditor.getModel();if(s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1){return`${s.getLineContent(t.startLineNumber)}, ${n}`}return n}return $n.kg("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach((e=>{clearTimeout(e)})),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout((()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")}),0)),this._revealTimeouts.push(setTimeout((()=>{this._findInput.validate()}),200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=ct(i),s=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),o=n.left+(s?s.left:0),r=s?s.top:0;if(this._viewZone&&re.startLineNumber&&(t=!1);const i=dt(this._domNode).left;o>i&&(t=!1);const s=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(s?s.left:0)>i&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach((e=>{clearTimeout(e)})),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones((i=>{t.heightInPx=this._getHeight(),this._viewZoneId=i.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)}))}_showViewZone(e=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new yA(0));const t=this._viewZone;this._codeEditor.changeViewZones((i=>{if(void 0!==this._viewZoneId){const n=this._getHeight();if(n===t.heightInPx)return;const s=n-t.heightInPx;return t.heightInPx=n,i.layoutZone(this._viewZoneId),void(e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s))}{let n=this._getHeight();if(n-=this._codeEditor.getOption(84).top,n<=0)return;t.heightInPx=n,this._viewZoneId=i.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n)}}))}_removeViewZone(){this._codeEditor.changeViewZones((e=>{void 0!==this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))}))}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const t=e.width,i=e.minimap.minimapWidth;let n=!1,s=!1,o=!1;if(this._resized){if(gt(this._domNode)>vA)return this._domNode.style.maxWidth=t-28-i-15+"px",void(this._replaceInput.width=gt(this._findInput.domNode))}if(447+i>=t&&(s=!0),447+i-bA>=t&&(o=!0),447+i-bA>=t+50&&(n=!0),this._domNode.classList.toggle("collapsed-find-widget",n),this._domNode.classList.toggle("narrow-find-widget",o),this._domNode.classList.toggle("reduced-find-widget",s),o||n||(this._domNode.style.maxWidth=t-28-i-15+"px"),this._findInput.layout({collapsedFindWidget:n,narrowFindWidget:o,reducedFindWidget:s}),this._resized){const e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=gt(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==e)&&(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map((e=>{1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));const t=this._state.currentMatch;return e.startLineNumber===e.endLineNumber||Js.Q.equalsRange(e,t)?null:e})).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){return e.equals(3|wA)?(this._keybindingService.dispatchEvent(e,e.target)||this._findInput.inputBox.insertAtCursor("\n"),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?SA(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?kA(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(e){return e.equals(3|wA)?(this._keybindingService.dispatchEvent(e,e.target)||(f.uF&&f.ib&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info($n.kg("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(CA,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?SA(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?kA(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){const e=!0,t=!0;this._findInput=this._register(new qR(null,this._contextViewProvider,{width:221,label:sA,placeholder:oA,appendCaseSensitiveLabel:this._keybindingLabelFor(wR),appendWholeWordsLabel:this._keybindingLabelFor(yR),appendRegexLabel:this._keybindingLabelFor(SR),validation:e=>{if(0===e.length||!this._findInput.getRegex())return null;try{return new RegExp(e,"gu"),null}catch(t){return{content:t.message}}},flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>QR(this._keybindingService),inputBoxStyles:pp,toggleStyles:gp},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((e=>this._onFindInputKeyDown(e)))),this._register(this._findInput.inputBox.onDidChange((()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)}))),this._register(this._findInput.onDidOptionChange((()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)}))),this._register(this._findInput.onCaseSensitiveKeyDown((e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((e=>{this._tryUpdateHeight()&&this._showViewZone()}))),f.j9&&this._register(this._findInput.onMouseDown((e=>this._onFindInputMouseDown(e)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(hd());this._prevBtn=this._register(new xA({label:rA+this._keybindingLabelFor(mR),icon:tA,hoverDelegate:i,onTrigger:()=>{(0,rs.eU)(this._codeEditor.getAction(mR)).run().then(void 0,b.dz)}},this._hoverService)),this._nextBtn=this._register(new xA({label:aA+this._keybindingLabelFor(pR),icon:iA,hoverDelegate:i,onTrigger:()=>{(0,rs.eU)(this._codeEditor.getAction(pR)).run().then(void 0,b.dz)}},this._hoverService));const n=document.createElement("div");n.className="find-part",n.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",n.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new pL({icon:XR,title:lA+this._keybindingLabelFor(kR),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:(0,io.GuP)(io.c1f),inputActiveOptionBorder:(0,io.GuP)(io.uNK),inputActiveOptionForeground:(0,io.GuP)(io.$$0)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let e=this._codeEditor.getSelections();e=e.map((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)}))),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new xA({label:hA+this._keybindingLabelFor(CR),icon:wu,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new GR(null,void 0,{label:dA,placeholder:cA,appendPreserveCaseLabel:this._keybindingLabelFor(LR),history:[],flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showHistoryHint:()=>QR(this._keybindingService),inputBoxStyles:pp,toggleStyles:gp},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((e=>this._onReplaceInputKeyDown(e)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((e=>{e.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),e.preventDefault())})));const o=this._register(hd());this._replaceBtn=this._register(new xA({label:uA+this._keybindingLabelFor(xR),icon:JR,hoverDelegate:o,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new xA({label:gA+this._keybindingLabelFor(DR),icon:eA,hoverDelegate:o,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const r=document.createElement("div");r.className="replace-part",r.appendChild(this._replaceInput.domNode);const a=document.createElement("div");a.className="replace-actions",r.appendChild(a),a.appendChild(this._replaceBtn.domNode),a.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new xA({label:pA,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=gt(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=nA,this._domNode.role="dialog",this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(n),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(r),this._resizeSash=this._register(new PS(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let l=vA;this._register(this._resizeSash.onDidStart((()=>{l=gt(this._domNode)}))),this._register(this._resizeSash.onDidChange((e=>{this._resized=!0;const t=l+e.startX-e.currentX;if(t(parseFloat(rt(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=gt(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const e=gt(this._domNode);if(e{this._opts.onTrigger(),e.preventDefault()})),this.onkeydown(this._domNode,(e=>{if(e.equals(10)||e.equals(3))return this._opts.onTrigger(),void e.preventDefault();this._opts.onKeyDown?.(e)}))}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...En.L.asClassNameArray(YR)),this._domNode.classList.add(...En.L.asClassNameArray(ZR))):(this._domNode.classList.remove(...En.L.asClassNameArray(ZR)),this._domNode.classList.add(...En.L.asClassNameArray(YR)))}}(0,no.zy)(((e,t)=>{const i=e.getColor(io.ECk);i&&t.addRule(`.monaco-editor .findMatch { border: 1px ${(0,Hp.Bb)(e.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`);const n=e.getColor(io.S5J);n&&t.addRule(`.monaco-editor .findScope { border: 1px ${(0,Hp.Bb)(e.type)?"dashed":"solid"} ${n}; }`);const s=e.getColor(io.b1q);s&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${s}; }`);const o=e.getColor(io.f3U);o&&t.addRule(`.monaco-editor .findMatchInline { color: ${o}; }`);const r=e.getColor(io.p8Y);r&&t.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)}));var DA,NA=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},IA=function(e,t){return function(i,n){t(i,n,e)}};function EA(e,t="single",i=!1){if(!e.hasModel())return null;const n=e.getSelection();if("single"===t&&n.startLineNumber===n.endLineNumber||"multiple"===t)if(n.isEmpty()){const t=e.getConfiguredWordAtPosition(n.getStartPosition());if(t&&!1===i)return t.word}else if(e.getModel().getValueLengthInRange(n)<524288)return e.getModel().getValueInRange(n);return null}let MA=class extends Ae.jG{static{DA=this}static{this.ID="editor.contrib.findController"}get editor(){return this._editor}static get(e){return e.getContribution(DA.ID)}constructor(e,t,i,n,s,o){super(),this._editor=e,this._findWidgetVisible=nR.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=o,this._updateHistoryDelayer=new A.ve(500),this._state=this._register(new RR),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const e=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),e&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})})))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!sR.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=Ri.bm(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if("single"===e.seedSearchStringFromSelection){const t=EA(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(this._state.isRegex?i.searchString=Ri.bm(t):i.searchString=t)}else if("multiple"===e.seedSearchStringFromSelection&&!e.updateSearchScope){const t=EA(this._editor,e.seedSearchStringFromSelection);t&&(i.searchString=t)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const e=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(i.searchString=e)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const e=this._editor.getSelections();e.some((e=>!e.isEmpty()))&&(i.searchScope=e)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new ER(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(e){return!!this._model&&(this._model.moveToMatch(e),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){return!!this._model&&(this._editor.getModel()?.isTooLargeForHeapOperation()?(this._notificationService.warn($n.kg("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};MA=DA=NA([IA(1,hs.fN),IA(2,bw),IA(3,jh),IA(4,Sd),IA(5,sk)],MA);let TA=class extends MA{constructor(e,t,i,n,s,o,r,a,l){super(e,i,r,a,o,l),this._contextViewService=t,this._keybindingService=n,this._themeService=s,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let n=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":n=!0;break;case"never":n=!1;break;case"multiline":n=!!i&&i.startLineNumber!==i.endLineNumber;break}e.updateSearchScope=e.updateSearchScope||n,await super._start(e,t),this._widget&&(2===e.shouldFocus?this._widget.focusReplaceInput():1===e.shouldFocus&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new LA(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new MR(this._editor,this._state,this._keybindingService))}};TA=NA([IA(1,vd),IA(2,hs.fN),IA(3,Cd),IA(4,no.Gy),IA(5,Sd),IA(6,bw),IA(7,jh),IA(8,sk)],TA);Bs(new As({id:cR,label:$n.kg("startFindAction","Find"),alias:"Find",precondition:hs.M$.or($s.focus,hs.M$.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:vs.MenubarEditMenu,group:"3_find",title:$n.kg({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})).addImplementation(0,((e,t,i)=>{const n=MA.get(t);return!!n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})}));const RA={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class AA extends Rs{async run(e,t){const i=MA.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===i.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class PA extends Rs{async run(e,t){const i=MA.get(t);if(!i)return;const n=EA(t,"single",!1);n&&i.setSearchString(n),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}Bs(new As({id:bR,label:$n.kg("startReplace","Replace"),alias:"Replace",precondition:hs.M$.or($s.focus,hs.M$.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:vs.MenubarEditMenu,group:"3_find",title:$n.kg({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})).addImplementation(0,((e,t,i)=>{if(!t.hasModel()||t.getOption(92))return!1;const n=MA.get(t);if(!n)return!1;const s=t.getSelection(),o=n.isFindInputFocused(),r=!s.isEmpty()&&s.startLineNumber===s.endLineNumber&&"never"!==t.getOption(41).seedSearchStringFromSelection&&!o,a=o||r?2:1;return n.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==t.getOption(41).seedSearchStringFromSelection,shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})})),Hs(MA.ID,TA,0),Ws(class extends Rs{constructor(){super({id:gR,label:$n.kg("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:RA})}async run(e,t,i){const n=MA.get(t);if(n){const e=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:void 0!==i.replaceString,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:i?.findInSelection||!1,loop:t.getOption(41).loop},e),n.setGlobalBufferTerm(n.getState().searchString)}}}),Ws(class extends Rs{constructor(){super({id:uR,label:$n.kg("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=MA.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}),Ws(class extends AA{constructor(){super({id:pR,label:$n.kg("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:$s.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:hs.M$.and($s.focus,sR),primary:3,weight:100}]})}_run(e){return!!e.moveToNextMatch()&&(e.editor.pushUndoStop(),!0)}}),Ws(class extends AA{constructor(){super({id:mR,label:$n.kg("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:$s.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:hs.M$.and($s.focus,sR),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}),Ws(class extends Rs{constructor(){super({id:fR,label:$n.kg("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:nR}),this._highlightDecorations=[]}run(e,t,i){const n=MA.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){return void e.get(Sd).notify({severity:yd.Warning,message:$n.kg("findMatchAction.noResults","No matches. Try searching for something else.")})}const o=e.get(ed),r=new Ae.Cm,a=r.add(o.createInputBox());a.placeholder=$n.kg("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const l=e=>{const t=parseInt(e);if(isNaN(t))return;const i=n.getState().matchesCount;return t>0&&t<=i?t-1:t<0&&t>=-i?i+t:void 0},h=e=>{const i=l(e);if("number"==typeof i){a.validationMessage=void 0,n.goToMatch(i);const e=n.getState().currentMatch;e&&this.addDecorations(t,e)}else a.validationMessage=$n.kg("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};r.add(a.onDidChangeValue((e=>{h(e)}))),r.add(a.onDidAccept((()=>{const e=l(a.value);"number"==typeof e?(n.goToMatch(e),a.hide()):a.validationMessage=$n.kg("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)}))),r.add(a.onDidHide((()=>{this.clearDecorations(t),r.dispose()}))),a.show()}clearDecorations(e){e.changeDecorations((e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(e,t){e.changeDecorations((e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:(0,no.Yf)(Xf.vp),position:eo.A5.Full}}}])}))}}),Ws(class extends PA{constructor(){super({id:_R,label:$n.kg("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}),Ws(class extends PA{constructor(){super({id:vR,label:$n.kg("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}});const OA=Ts.bindToContribution(MA.get);Fs(new OA({id:CR,precondition:nR,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:hs.M$.and($s.focus,hs.M$.not("isComposing")),primary:9,secondary:[1033]}})),Fs(new OA({id:wR,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:$s.focus,primary:rR.primary,mac:rR.mac,win:rR.win,linux:rR.linux}})),Fs(new OA({id:yR,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:$s.focus,primary:aR.primary,mac:aR.mac,win:aR.win,linux:aR.linux}})),Fs(new OA({id:SR,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:$s.focus,primary:lR.primary,mac:lR.mac,win:lR.win,linux:lR.linux}})),Fs(new OA({id:kR,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:$s.focus,primary:hR.primary,mac:hR.mac,win:hR.win,linux:hR.linux}})),Fs(new OA({id:LR,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:$s.focus,primary:dR.primary,mac:dR.mac,win:dR.win,linux:dR.linux}})),Fs(new OA({id:xR,precondition:nR,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:$s.focus,primary:3094}})),Fs(new OA({id:xR,precondition:nR,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:hs.M$.and($s.focus,oR),primary:3}})),Fs(new OA({id:DR,precondition:nR,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:$s.focus,primary:2563}})),Fs(new OA({id:DR,precondition:nR,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:hs.M$.and($s.focus,oR),primary:void 0,mac:{primary:2051}}})),Fs(new OA({id:NR,precondition:nR,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:$s.focus,primary:515}}));const FA={0:" ",1:"u",2:"r"},WA=16777215,BA=4278190080;class HA{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return!!(this._states[t]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new HA(e.length),this._userDefinedStates=new HA(e.length),this._recoveredStates=new HA(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(t,i)=>{const n=e[e.length-1];return this.getStartLineNumber(n)<=t&&this.getEndLineNumber(n)>=i};for(let i=0,n=this._startIndexes.length;iWA||s>WA)throw new Error("startLineNumber or endLineNumber must not exceed "+WA);for(;e.length>0&&!t(n,s);)e.pop();const o=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=n+((255&o)<<24),this._endIndexes[i]=s+((65280&o)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&WA}getEndLineNumber(e){return this._endIndexes[e]&WA}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){1===t?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):2===t?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let n=0;n>>24)+((this._endIndexes[e]&BA)>>>16);return 65535===t?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(0===i)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(e)?i=>ii=d.startLineNumber))h&&h.startLineNumber===d.startLineNumber?(1===d.source?e=d:(e=h,e.isCollapsed=d.isCollapsed&&(h.endLineNumber===d.endLineNumber||!n?.startsInside(h.startLineNumber+1,h.endLineNumber+1)),e.source=0),h=o(++a)):(e=d,d.isCollapsed&&0===d.source&&(e.source=2)),d=r(++l);else{let t=l,i=d;for(;;){if(!i||i.startLineNumber>h.endLineNumber){e=h;break}if(1===i.source&&i.endLineNumber>h.endLineNumber)break;i=r(++t)}h=o(++a)}if(e){for(;u&&u.endLineNumbere.startLineNumber&&e.startLineNumber>g&&e.endLineNumber<=i&&(!u||u.endLineNumber>=e.endLineNumber)&&(p.push(e),g=e.startLineNumber,u&&c.push(u),u=e)}}return p}}class zA{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class UA{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new P.vl,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new VA(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort(((e,t)=>e.regionIndex-t.regionIndex));const t={};this._decorationProvider.changeDecorations((i=>{let n=0,s=-1,o=-1;const r=e=>{for(;no&&(o=e),n++}};for(const a of e){const e=a.regionIndex,i=this._editorDecorationIds[e];if(i&&!t[i]){t[i]=!0,r(e);const n=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,n),s=Math.max(s,this._regions.getEndLineNumber(e))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=t=>{for(const i of e)if(!(i.startLineNumber>t.endLineNumber||t.startLineNumber>i.endLineNumber))return!0;return!1};for(let n=0;ni&&(i=o)}this._decorationProvider.changeDecorations((e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t))),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){const t=[];for(let i=0,n=this._regions.length;i=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const o=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,isCollapsed:s.isCollapsed,source:s.source,checksum:o})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const e=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);s.checksum&&e!==s.checksum||t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:s.isCollapsed??!0,source:s.source??0})}const n=VA.sanitizeAndMerge(this._regions,t,i);this.updatePost(VA.fromFoldRanges(n))}_getLinesChecksum(e,t){return(0,Oe.tW)(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let n=this._regions.findRange(e),s=1;for(;n>=0;){const e=this._regions.toRegion(n);t&&!t(e,s)||i.push(e),s++,n=e.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],n=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length){const e=[];for(let o=n,r=this._regions.length;o0&&!n.containedBy(e[e.length-1]);)e.pop();e.push(n),t(n,e.length)&&i.push(n)}}else for(let o=n,r=this._regions.length;o1){const o=e.getRegionsInside(i,((e,i)=>e.isCollapsed!==s&&i0)for(const o of n){const n=e.getRegionAtLine(o);if(n&&(n.isCollapsed!==t&&s.push(n),i>1)){const o=e.getRegionsInside(n,((e,n)=>e.isCollapsed!==t&&ne.isCollapsed!==t&&ne.isCollapsed!==t&&n<=i));s.push(...n)}e.toggleCollapseState(s)}function qA(e,t,i){const n=[];for(const o of i){const t=e.getAllRegionsAtLine(o,void 0);t.length>0&&n.push(t[0])}const s=e.getRegionsInside(null,(e=>n.every((t=>!t.containedBy(e)&&!e.containedBy(t)))&&e.isCollapsed!==t));e.toggleCollapseState(s)}function GA(e,t,i){const n=e.textModel,s=e.regions,o=[];for(let r=s.length-1;r>=0;r--)if(i!==s.isCollapsed(r)){const e=s.getStartLineNumber(r);t.test(n.getLineContent(e))&&o.push(s.toRegion(r))}e.toggleCollapseState(o)}function QA(e,t,i){const n=e.regions,s=[];for(let o=n.length-1;o>=0;o--)i!==n.isCollapsed(o)&&t===n.getType(o)&&s.push(n.toRegion(o));e.toggleCollapseState(s)}var YA=i(3902);class ZA{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new P.vl,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange((e=>this.updateHiddenRanges())),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some((e=>e.range.endLineNumber!==e.range.startLineNumber||0!==(0,YA.W)(e.text)[0])))}updateHiddenRanges(){let e=!1;const t=[];let i=0,n=0,s=Number.MAX_VALUE,o=-1;const r=this._foldingModel.regions;for(;i0}isHidden(e){return null!==XA(this._hiddenRanges,e)}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=e=>(n&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,n)||(n=XA(this._hiddenRanges,e)),n?n.startLineNumber-1:null);for(let o=0,r=e.length;o0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function XA(e,t){const i=(0,Lb.hw)(e,(e=>t=0&&e[i].endLineNumber>=t?e[i]:null}class JA{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id="indent"}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(function(e,t,i,n=tP){const s=e.getOptions().tabSize,o=new eP(n);let r;i&&(r=new RegExp(`(${i.start.source})|(?:${i.end.source})`));const a=[],l=e.getLineCount()+1;a.push({indent:-1,endAbove:l,line:l});for(let h=e.getLineCount();h>0;h--){const i=e.getLineContent(h),n=(0,du.G)(i,s);let l,d=a[a.length-1];if(-1!==n){if(r&&(l=i.match(r))){if(!l[1]){a.push({indent:-2,endAbove:h,line:h});continue}{let e=a.length-1;for(;e>0&&-2!==a[e].indent;)e--;if(e>0){a.length=e+1,d=a[e],o.insertFirst(h,d.line,n),d.line=h,d.indent=n,d.endAbove=h;continue}}}if(d.indent>n){do{a.pop(),d=a[a.length-1]}while(d.indent>n);const e=d.endAbove-1;e-h>=1&&o.insertFirst(h,e,n)}d.indent===n?d.endAbove=h:a.push({indent:n,endAbove:h,line:h})}else t&&(d.endAbove=h)}return o.toIndentRanges(e)}(this.editorModel,i,n,this.foldingRangesLimit))}}class eP{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>WA||t>WA)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=this._length-1,n=0;i>=0;i--,n++)e[n]=this._startIndexes[i],t[n]=this._endIndexes[i];return new VA(e,t)}{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let e=0;et){n=e;break}i+=s}}const s=e.getOptions().tabSize,o=new Uint32Array(t),r=new Uint32Array(t);for(let a=this._length-1,l=0;a>=0;a--){const h=this._startIndexes[a],d=e.getLineContent(h),c=(0,du.G)(d,s);(c{}};const iP=(0,io.x1A)("editor.foldBackground",{light:(0,io.JO0)(io.seu,.3),dark:(0,io.JO0)(io.seu,.3),hcDark:null,hcLight:null},(0,$n.kg)("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);(0,io.x1A)("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},(0,$n.kg)("collapsedTextColor","Color of the collapsed text after the first line of a folded range.")),(0,io.x1A)("editorGutter.foldingControlForeground",io.t4B,(0,$n.kg)("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const nP=fu("folding-expanded",bl.W.chevronDown,(0,$n.kg)("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),sP=fu("folding-collapsed",bl.W.chevronRight,(0,$n.kg)("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),oP=fu("folding-manual-collapsed",sP,(0,$n.kg)("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),rP=fu("folding-manual-expanded",nP,(0,$n.kg)("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),aP={color:(0,no.Yf)(iP),position:1},lP=(0,$n.kg)("linesCollapsed","Click to expand the range."),hP=(0,$n.kg)("linesExpanded","Click to collapse the range.");class dP{static{this.COLLAPSED_VISUAL_DECORATION=to.kI.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:lP,firstLineDecorationClassName:En.L.asClassName(sP)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=to.kI.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:aP,isWholeLine:!0,linesDecorationsTooltip:lP,firstLineDecorationClassName:En.L.asClassName(sP)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=to.kI.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:lP,firstLineDecorationClassName:En.L.asClassName(oP)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=to.kI.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:aP,isWholeLine:!0,linesDecorationsTooltip:lP,firstLineDecorationClassName:En.L.asClassName(oP)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=to.kI.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:lP})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=to.kI.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:aP,isWholeLine:!0,linesDecorationsTooltip:lP})}static{this.EXPANDED_VISUAL_DECORATION=to.kI.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+En.L.asClassName(nP),linesDecorationsTooltip:hP})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=to.kI.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:En.L.asClassName(nP),linesDecorationsTooltip:hP})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=to.kI.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+En.L.asClassName(rP),linesDecorationsTooltip:hP})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=to.kI.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:En.L.asClassName(rP),linesDecorationsTooltip:hP})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=to.kI.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=to.kI.register({description:"folding-hidden-range-decoration",stickiness:1})}constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?dP.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?e?this.showFoldingHighlights?dP.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:dP.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:dP.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?dP.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:dP.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?dP.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:dP.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?i?dP.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:dP.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?dP.MANUALLY_EXPANDED_VISUAL_DECORATION:dP.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}const cP={};class uP{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id="syntax",this.disposables=new Ae.Cm,s&&this.disposables.add(s);for(const o of t)"function"==typeof o.onDidChange&&this.disposables.add(o.onDidChange(i))}compute(e){return function(e,t,i){let n=null;const s=e.map(((e,s)=>Promise.resolve(e.provideFoldingRanges(t,cP,i)).then((e=>{if(!i.isCancellationRequested&&Array.isArray(e)){Array.isArray(n)||(n=[]);const i=t.getLineCount();for(const t of e)t.start>0&&t.end>t.start&&t.end<=i&&n.push({start:t.start,end:t.end,rank:s,kind:t.kind})}}),b.M_)));return Promise.all(s).then((e=>n))}(this.providers,this.editorModel,e).then((t=>{if(t){return function(e,t){const i=e.sort(((e,t)=>{let i=e.start-t.start;return 0===i&&(i=e.rank-t.rank),i})),n=new gP(t);let s;const o=[];for(const r of i)if(s){if(r.start>s.start)if(r.end<=s.end)o.push(s),s=r,n.add(r.start,r.end,r.kind&&r.kind.value,o.length);else{if(r.start>s.end){do{s=o.pop()}while(s&&r.start>s.end);s&&o.push(s),s=r}n.add(r.start,r.end,r.kind&&r.kind.value,o.length)}}else s=r,n.add(r.start,r.end,r.kind&&r.kind.value,o.length);return n.toIndentRanges()}(t,this.foldingRangesLimit)}return this.fallbackRangeProvider?.compute(e)??null}))}dispose(){this.disposables.dispose()}}class gP{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,n){if(e>WA||t>WA)return;const s=this._length;this._startIndexes[s]=e,this._endIndexes[s]=t,this._nestingLevels[s]=n,this._types[s]=i,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=0;ie){i=r;break}t+=n}}const n=new Uint32Array(e),s=new Uint32Array(e),o=[];for(let r=0,a=0;r=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},fP=function(e,t){return function(i,n){t(i,n,e)}};const _P=new hs.N1("foldingEnabled",!1);let vP=class extends Ae.jG{static{pP=this}static{this.ID="editor.contrib.folding"}static get(e){return e.getContribution(pP.ID)}static getFoldingRangeProviders(e,t){const i=e.foldingRangeProvider.ordered(t);return pP._foldingRangeSelector?.(i,t)??i}constructor(e,t,i,n,s,o){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=o,this.localToDispose=this._register(new Ae.Cm),this.editor=e,this._foldingLimitReporter=new bP(e);const r=this.editor.getOptions();this._isEnabled=r.get(43),this._useFoldingProviders="indentation"!==r.get(44),this._unfoldOnClickAfterEndOfLine=r.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=r.get(46),this.updateDebounceInfo=s.for(o.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new dP(e),this.foldingDecorationProvider.showFoldingControls=r.get(111),this.foldingDecorationProvider.showFoldingHighlights=r.get(45),this.foldingEnabled=_P.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((e=>{if(e.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(47)&&this.onModelChanged(),e.hasChanged(111)||e.hasChanged(45)){const e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(111),this.foldingDecorationProvider.showFoldingHighlights=e.get(45),this.triggerFoldingModelChanged()}e.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),e.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),e.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))}))),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();this._isEnabled&&e&&!e.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new UA(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new ZA(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((e=>this.onHiddenRangesChanges(e)))),this.updateScheduler=new A.ve(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new A.uC((()=>this.revealCursor()),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelContent((e=>this.onDidChangeModelContent(e)))),this.localToDispose.add(this.editor.onDidChangeCursorPosition((()=>this.onCursorPositionChanged()))),this.localToDispose.add(this.editor.onMouseDown((e=>this.onEditorMouseDown(e)))),this.localToDispose.add(this.editor.onMouseUp((e=>this.onEditorMouseUp(e)))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler?.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider?.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider?.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new JA(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=pP.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new uP(e,i,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){this.hiddenRangeModel?.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((()=>{const e=this.foldingModel;if(!e)return null;const t=new Vp.W,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=(0,A.SS)((e=>i.compute(e)));return n.then((i=>{if(i&&n===this.foldingRegionPromise){let n;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const e=i.setCollapsedAllOfType(La.lO.Imports.value,!0);e&&(n=cw.capture(this.editor),this._currentModelHasFoldedImports=e)}const s=this.editor.getSelections();e.update(i,function(e){if(!e||0===e.length)return{startsInside:()=>!1};return{startsInside(t,i){for(const n of e){const e=n.startLineNumber;if(e>=t&&e<=i)return!0}return!1}}}(s)),n?.restore(this.editor);const o=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=o)}return e}))})).then(void 0,(e=>((0,b.dz)(e),null))))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then((e=>{if(e){const t=this.editor.getSelections();if(t&&t.length>0){const i=[];for(const n of t){const t=n.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&i.push(...e.getAllRegionsAtLine(t,(e=>e.isCollapsed&&t>e.startLineNumber)))}i.length&&(e.toggleCollapseState(i),this.reveal(t[0].getPosition()))}}})).then(void 0,b.dz)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range)return;if(!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const t=e.target.detail,n=e.target.element.offsetLeft;if(t.offsetX-n<4)return;i=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){if(!e.target.detail.isAfterLines)break}return;case 6:if(this.hiddenRangeModel.hasRanges()){const e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,s=e.target.range;if(!s||s.startLineNumber!==i)return;if(n){if(4!==e.target.type)return}else{const e=this.editor.getModel();if(!e||s.startColumn!==e.getLineMaxColumn(i))return}const o=t.getRegionAtLine(i);if(o&&o.startLineNumber===i){const s=o.isCollapsed;if(n||s){let n=[];if(e.event.altKey){const e=e=>!e.containedBy(o)&&!o.containedBy(e),i=t.getRegionsInside(null,e);for(const t of i)t.isCollapsed&&n.push(t);0===n.length&&(n=i)}else{const i=e.event.middleButton||e.event.shiftKey;if(i)for(const e of t.getRegionsInside(o))e.isCollapsed===s&&n.push(e);!s&&i&&0!==n.length||n.push(o)}t.toggleCollapseState(n),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};vP=pP=mP([fP(1,hs.fN),fP(2,Wo.JZ),fP(3,Sd),fP(4,Tw.ILanguageFeatureDebounceService),fP(5,xa.ILanguageFeaturesService)],vP);class bP{constructor(e){this.editor=e,this._onDidChange=new P.vl,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}class CP extends Rs{runEditorCommand(e,t,i){const n=e.get(Wo.JZ),s=vP.get(t);if(!s)return;const o=s.getFoldingModel();return o?(this.reportTelemetry(e,t),o.then((e=>{if(e){this.invoke(s,e,t,i,n);const o=t.getSelection();o&&s.reveal(o.getStartPosition())}}))):void 0}getSelectedLines(e){const t=e.getSelections();return t?t.map((e=>e.startLineNumber)):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map((e=>e+1)):this.getSelectedLines(t)}run(e,t){}}function wP(e){if(!rs.b0(e)){if(!rs.Gv(e))return!1;const t=e;if(!rs.b0(t.levels)&&!rs.Et(t.levels))return!1;if(!rs.b0(t.direction)&&!rs.Kg(t.direction))return!1;if(!(rs.b0(t.selectionLines)||Array.isArray(t.selectionLines)&&t.selectionLines.every(rs.Et)))return!1}return!0}class yP extends CP{static{this.ID_PREFIX="editor.foldLevel"}static{this.ID=e=>yP.ID_PREFIX+e}getFoldingLevel(){return parseInt(this.id.substr(yP.ID_PREFIX.length))}invoke(e,t,i){!function(e,t,i,n){const s=e.getRegionsInside(null,((e,s)=>s===t&&e.isCollapsed!==i&&!n.some((t=>e.containsLine(t)))));e.toggleCollapseState(s)}(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}Hs(vP.ID,vP,0),Ws(class extends CP{constructor(){super({id:"editor.unfold",label:$n.kg("unfoldAction.label","Unfold"),alias:"Unfold",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:wP,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=n&&n.levels||1,o=this.getLineNumbers(n,i);n&&"up"===n.direction?$A(t,!1,s,o):jA(t,!1,s,o)}}),Ws(class extends CP{constructor(){super({id:"editor.unfoldRecursively",label:$n.kg("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2142),weight:100}})}invoke(e,t,i,n){jA(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}),Ws(class extends CP{constructor(){super({id:"editor.fold",label:$n.kg("foldAction.label","Fold"),alias:"Fold",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:wP,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=this.getLineNumbers(n,i),o=n&&n.levels,r=n&&n.direction;"number"!=typeof o&&"string"!=typeof r?function(e,t,i){const n=[];for(const s of i){const i=e.getAllRegionsAtLine(s,(e=>e.isCollapsed!==t));i.length>0&&n.push(i[0])}e.toggleCollapseState(n)}(t,!0,s):"up"===r?$A(t,!0,o||1,s):jA(t,!0,o||1,s)}}),Ws(class extends CP{constructor(){super({id:"editor.foldRecursively",label:$n.kg("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);jA(t,!0,Number.MAX_VALUE,n)}}),Ws(class extends CP{constructor(){super({id:"editor.toggleFoldRecursively",label:$n.kg("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);KA(t,Number.MAX_VALUE,n)}}),Ws(class extends CP{constructor(){super({id:"editor.foldAll",label:$n.kg("foldAllAction.label","Fold All"),alias:"Fold All",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2069),weight:100}})}invoke(e,t,i){jA(t,!0)}}),Ws(class extends CP{constructor(){super({id:"editor.unfoldAll",label:$n.kg("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2088),weight:100}})}invoke(e,t,i){jA(t,!1)}}),Ws(class extends CP{constructor(){super({id:"editor.foldAllBlockComments",label:$n.kg("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())QA(t,La.lO.Comment.value,!0);else{const e=i.getModel();if(!e)return;const n=s.getLanguageConfiguration(e.getLanguageId()).comments;if(n&&n.blockCommentStartToken){GA(t,new RegExp("^\\s*"+(0,Ri.bm)(n.blockCommentStartToken)),!0)}}}}),Ws(class extends CP{constructor(){super({id:"editor.foldAllMarkerRegions",label:$n.kg("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())QA(t,La.lO.Region.value,!0);else{const e=i.getModel();if(!e)return;const n=s.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(n&&n.markers&&n.markers.start){GA(t,new RegExp(n.markers.start),!0)}}}}),Ws(class extends CP{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:$n.kg("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())QA(t,La.lO.Region.value,!1);else{const e=i.getModel();if(!e)return;const n=s.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(n&&n.markers&&n.markers.start){GA(t,new RegExp(n.markers.start),!1)}}}}),Ws(class extends CP{constructor(){super({id:"editor.foldAllExcept",label:$n.kg("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2136),weight:100}})}invoke(e,t,i){qA(t,!0,this.getSelectedLines(i))}}),Ws(class extends CP{constructor(){super({id:"editor.unfoldAllExcept",label:$n.kg("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2134),weight:100}})}invoke(e,t,i){qA(t,!1,this.getSelectedLines(i))}}),Ws(class extends CP{constructor(){super({id:"editor.toggleFold",label:$n.kg("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2090),weight:100}})}invoke(e,t,i){KA(t,1,this.getSelectedLines(i))}}),Ws(class extends CP{constructor(){super({id:"editor.gotoParentFold",label:$n.kg("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=null;const n=t.getRegionAtLine(e);if(null!==n&&(i=n.startLineNumber,e===i)){const e=n.parentIndex;i=-1!==e?t.regions.getStartLineNumber(e):null}return i}(n[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),Ws(class extends CP{constructor(){super({id:"editor.gotoPreviousFold",label:$n.kg("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){if(e!==i.startLineNumber)return i.startLineNumber;{const e=i.parentIndex;let n=0;for(-1!==e&&(n=t.regions.getStartLineNumber(i.parentIndex));null!==i;){if(!(i.regionIndex>0))return null;if(i=t.regions.toRegion(i.regionIndex-1),i.startLineNumber<=n)return null;if(i.parentIndex===e)return i.startLineNumber}}}else if(t.regions.length>0)for(i=t.regions.toRegion(t.regions.length-1);null!==i;){if(i.startLineNumber0?t.regions.toRegion(i.regionIndex-1):null}return null}(n[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),Ws(class extends CP{constructor(){super({id:"editor.gotoNextFold",label:$n.kg("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){const e=i.parentIndex;let n=0;if(-1!==e)n=t.regions.getEndLineNumber(i.parentIndex);else{if(0===t.regions.length)return null;n=t.regions.getEndLineNumber(t.regions.length-1)}for(;null!==i;){if(!(i.regionIndex=n)return null;if(i.parentIndex===e)return i.startLineNumber}}else if(t.regions.length>0)for(i=t.regions.toRegion(0);null!==i;){if(i.startLineNumber>e)return i.startLineNumber;i=i.regionIndexe.startLineNumber&&(n.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(n.length>0){n.sort(((e,t)=>e.startLineNumber-t.startLineNumber));const e=VA.sanitizeAndMerge(t.regions,n,i.getModel()?.getLineCount());t.updatePost(VA.fromFoldRanges(e))}}}}),Ws(class extends CP{constructor(){super({id:"editor.removeManualFoldingRanges",label:$n.kg("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const i=[];for(const e of n){const{startLineNumber:t,endLineNumber:n}=e;i.push(n>=t?{startLineNumber:t,endLineNumber:n}:{endLineNumber:n,startLineNumber:t})}t.removeManualRanges(i),e.triggerFoldingModelChanged()}}});for(let e0=1;e0<=7;e0++)SP=new yP({id:yP.ID(e0),label:$n.kg("foldLevelAction.label","Fold Level {0}",e0),alias:`Fold Level ${e0}`,precondition:_P,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2048|21+e0),weight:100}}),Vs.INSTANCE.registerEditorAction(SP);var SP;ls.registerCommand("_executeFoldingRangeProvider",(async function(e,...t){const[i]=t;if(!(i instanceof Hn.r))throw(0,b.Qg)();const n=e.get(xa.ILanguageFeaturesService),s=e.get(Yn.IModelService).getModel(i);if(!s)throw(0,b.Qg)();const o=e.get(Wp.pG);if(!o.getValue("editor.folding",{resource:i}))return[];const r=e.get(Wo.JZ),a=o.getValue("editor.foldingStrategy",{resource:i}),l={get limit(){return o.getValue("editor.foldingMaximumRegions",{resource:i})},update:(e,t)=>{}},h=new JA(s,r,l);let d=h;if("indentation"!==a){const e=vP.getFoldingRangeProviders(n,s);e.length&&(d=new uP(s,e,(()=>{}),l,h))}const c=await d.compute(sa.XO.None),u=[];try{if(c)for(let e=0;eCk.replace(Js.Q.lift(e.range),e.text)))):e.executeEdits("formatEditsCommand",s.map((e=>Ck.replaceMove(Js.Q.lift(e.range),e.text)))),i&&e.pushUndoStop(),n.restoreRelativeVerticalPositionOfCursor(e)}}class LP{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return"string"==typeof e?e.toLowerCase():e._lower}}class xP{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(LP.toKey(e))}has(e){return this._set.has(LP.toKey(e))}}function DP(e,t,i){const n=[],s=new xP,o=e.ordered(i);for(const a of o)n.push(a),a.extensionId&&s.add(a.extensionId);const r=t.ordered(i);for(const a of r){if(a.extensionId){if(s.has(a.extensionId))continue;s.add(a.extensionId)}n.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits:(e,t,i)=>a.provideDocumentRangeFormattingEdits(e,e.getFullModelRange(),t,i)})}return n}class NP{static{this._selectors=new ss.w}static setFormatterSelector(e){return{dispose:NP._selectors.unshift(e)}}static async select(e,t,i,n){if(0===e.length)return;const s=os.f.first(NP._selectors);return s?await s(e,t,i,n):void 0}}async function IP(e,t,i,n,s,o,r){const a=e.get(qn._Y),{documentRangeFormattingEditProvider:l}=e.get(xa.ILanguageFeaturesService),h=Ek(t)?t.getModel():t,d=l.ordered(h),c=await NP.select(d,h,n,2);c&&(s.report(c),await a.invokeFunction(EP,c,t,i,o,r))}async function EP(e,t,i,n,s,o){const r=e.get(Bw.IEditorWorkerService),a=e.get(Ns.rr),l=e.get(rE);let h,d;Ek(i)?(h=i.getModel(),d=new _l(i,5,void 0,s)):(h=i,d=new vl(i,s));const c=[];let u=0;for(const _ of(0,na._j)(n).sort(Js.Q.compareRangesUsingStarts))u>0&&Js.Q.areIntersectingOrTouching(c[u-1],_)?c[u-1]=Js.Q.fromPositions(c[u-1].getStartPosition(),_.getEndPosition()):u=c.push(_);const g=async e=>{a.trace("[format][provideDocumentRangeFormattingEdits] (request)",t.extensionId?.value,e);const i=await t.provideDocumentRangeFormattingEdits(h,e,h.getFormattingOptions(),d.token)||[];return a.trace("[format][provideDocumentRangeFormattingEdits] (response)",t.extensionId?.value,i),i},p=(e,t)=>{if(!e.length||!t.length)return!1;const i=e.reduce(((e,t)=>Js.Q.plusRange(e,t.range)),e[0].range);if(!t.some((e=>Js.Q.intersectRanges(i,e.range))))return!1;for(const n of e)for(const e of t)if(Js.Q.intersectRanges(n.range,e.range))return!0;return!1},m=[],f=[];try{if("function"==typeof t.provideDocumentRangesFormattingEdits){a.trace("[format][provideDocumentRangeFormattingEdits] (request)",t.extensionId?.value,c);const e=await t.provideDocumentRangesFormattingEdits(h,c,h.getFormattingOptions(),d.token)||[];a.trace("[format][provideDocumentRangeFormattingEdits] (response)",t.extensionId?.value,e),f.push(e)}else{for(const e of c){if(d.token.isCancellationRequested)return!0;f.push(await g(e))}for(let e=0;e({text:e.text,range:Js.Q.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:i}of e)if(Js.Q.areIntersectingOrTouching(i,t))return[new qs.L(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null}))}return l.playSignal(hE.format,{userGesture:o}),!0}async function MP(e,t,i,n,s,o){const r=e.get(qn._Y),a=e.get(xa.ILanguageFeaturesService),l=Ek(t)?t.getModel():t,h=DP(a.documentFormattingEditProvider,a.documentRangeFormattingEditProvider,l),d=await NP.select(h,l,i,1);d&&(n.report(d),await r.invokeFunction(TP,d,t,i,s,o))}async function TP(e,t,i,n,s,o){const r=e.get(Bw.IEditorWorkerService),a=e.get(rE);let l,h,d;Ek(i)?(l=i.getModel(),h=new _l(i,5,void 0,s)):(l=i,h=new vl(i,s));try{const e=await t.provideDocumentFormattingEdits(l,l.getFormattingOptions(),h.token);if(d=await r.computeMoreMinimalEdits(l.uri,e),h.token.isCancellationRequested)return!0}finally{h.dispose()}if(!d||0===d.length)return!1;if(Ek(i))kP.execute(i,d,2!==n),2!==n&&i.revealPositionInCenterIfOutsideViewport(i.getPosition(),1);else{const[{range:e}]=d,t=new qs.L(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);l.pushEditOperations([t],d.map((e=>({text:e.text,range:Js.Q.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:i}of e)if(Js.Q.areIntersectingOrTouching(i,t))return[new qs.L(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null}))}return a.playSignal(hE.format,{userGesture:o}),!0}function RP(e,t,i,n,s,o,r){const a=t.onTypeFormattingEditProvider.ordered(i);return 0===a.length||a[0].autoFormatTriggerCharacters.indexOf(s)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(i,n,s,o,r)).catch(b.M_).then((t=>e.computeMoreMinimalEdits(i.uri,t)))}ls.registerCommand("_executeFormatRangeProvider",(async function(e,...t){const[i,n,s]=t;(0,rs.j)(Hn.r.isUri(i)),(0,rs.j)(Js.Q.isIRange(n));const o=e.get(Zn.ITextModelService),r=e.get(Bw.IEditorWorkerService),a=e.get(xa.ILanguageFeaturesService),l=await o.createModelReference(i);try{return async function(e,t,i,n,s,o){const r=t.documentRangeFormattingEditProvider.ordered(i);for(const a of r){const t=await Promise.resolve(a.provideDocumentRangeFormattingEdits(i,n,s,o)).catch(b.M_);if((0,na.EI)(t))return await e.computeMoreMinimalEdits(i.uri,t)}}(r,a,l.object.textEditorModel,Js.Q.lift(n),s,sa.XO.None)}finally{l.dispose()}})),ls.registerCommand("_executeFormatDocumentProvider",(async function(e,...t){const[i,n]=t;(0,rs.j)(Hn.r.isUri(i));const s=e.get(Zn.ITextModelService),o=e.get(Bw.IEditorWorkerService),r=e.get(xa.ILanguageFeaturesService),a=await s.createModelReference(i);try{return async function(e,t,i,n,s){const o=DP(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,i);for(const r of o){const t=await Promise.resolve(r.provideDocumentFormattingEdits(i,n,s)).catch(b.M_);if((0,na.EI)(t))return await e.computeMoreMinimalEdits(i.uri,t)}}(o,r,a.object.textEditorModel,n,sa.XO.None)}finally{a.dispose()}})),ls.registerCommand("_executeFormatOnTypeProvider",(async function(e,...t){const[i,n,s,o]=t;(0,rs.j)(Hn.r.isUri(i)),(0,rs.j)(Qn.y.isIPosition(n)),(0,rs.j)("string"==typeof s);const r=e.get(Zn.ITextModelService),a=e.get(Bw.IEditorWorkerService),l=e.get(xa.ILanguageFeaturesService),h=await r.createModelReference(i);try{return RP(a,l,h.object.textEditorModel,Qn.y.lift(n),s,o,sa.XO.None)}finally{h.dispose()}}));var AP=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},PP=function(e,t){return function(i,n){t(i,n,e)}};let OP=class{static{this.ID="editor.contrib.autoFormat"}constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new Ae.Cm,this._sessionDisposables=new Ae.Cm,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel((()=>this._update()))),this._disposables.add(e.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(e.onDidChangeConfiguration((e=>{e.hasChanged(56)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new pb.y;for(const n of t.autoFormatTriggerCharacters)i.add(n.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((e=>{const t=e.charCodeAt(e.length-1);i.has(t)&&this._trigger(String.fromCharCode(t))})))}_trigger(e){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=new sa.Qi,s=this._editor.onDidChangeModelContent((e=>{if(e.isFlush)return n.cancel(),void s.dispose();for(let t=0,o=e.changes.length;t{n.token.isCancellationRequested||(0,na.EI)(e)&&(this._accessibilitySignalService.playSignal(hE.format,{userGesture:!1}),kP.execute(this._editor,e,!0))})).finally((()=>{s.dispose()}))}};OP=AP([PP(1,xa.ILanguageFeaturesService),PP(2,Bw.IEditorWorkerService),PP(3,rE)],OP);let FP=class{static{this.ID="editor.contrib.formatOnPaste"}constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Ae.Cm,this._callOnModel=new Ae.Cm,this._callOnDispose.add(e.onDidChangeConfiguration((()=>this._update()))),this._callOnDispose.add(e.onDidChangeModel((()=>this._update()))),this._callOnDispose.add(e.onDidChangeModelLanguage((()=>this._update()))),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste((({range:e})=>this._trigger(e))))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(IP,this.editor,e,2,qh.None,sa.XO.None,!1).catch(b.dz))}};FP=AP([PP(1,xa.ILanguageFeaturesService),PP(2,qn._Y)],FP);Hs(OP.ID,OP,2),Hs(FP.ID,FP,2),Ws(class extends Rs{constructor(){super({id:"editor.action.formatDocument",label:$n.kg("formatDocument.label","Format Document"),alias:"Format Document",precondition:hs.M$.and($s.notInCompositeEditor,$s.writable,$s.hasDocumentFormattingProvider),kbOpts:{kbExpr:$s.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get(qn._Y),n=e.get(Gh);await n.showWhile(i.invokeFunction(MP,t,1,qh.None,sa.XO.None,!0),250)}}}),Ws(class extends Rs{constructor(){super({id:"editor.action.formatSelection",label:$n.kg("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:hs.M$.and($s.writable,$s.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2084),weight:100},contextMenuOpts:{when:$s.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(qn._Y),n=t.getModel(),s=t.getSelections().map((e=>e.isEmpty()?new Js.Q(e.startLineNumber,1,e.startLineNumber,n.getLineMaxColumn(e.startLineNumber)):e)),o=e.get(Gh);await o.showWhile(i.invokeFunction(IP,t,s,1,qh.None,sa.XO.None,!0),250)}}),ls.registerCommand("editor.action.format",(async e=>{const t=e.get(Gn).getFocusedCodeEditor();if(!t||!t.hasModel())return;const i=e.get(as);t.getSelection().isEmpty()?await i.executeCommand("editor.action.formatDocument"):await i.executeCommand("editor.action.formatSelection")}));var WP=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},BP=function(e,t){return function(i,n){t(i,n,e)}};class HP{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let VP=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new P.vl,this.onDidChange=this._onDidChange.event,this._dispoables=new Ae.Cm,this._markers=[],this._nextIdx=-1,Hn.r.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(e,t)=>{let i=(0,Ri.UD)(e.resource.toString(),t.resource.toString());return 0===i&&(i="position"===n?Js.Q.compareRangesUsingStarts(e,t)||Bp.cj.compare(e.severity,t.severity):Bp.cj.compare(e.severity,t.severity)||Js.Q.compareRangesUsingStarts(e,t)),i},o=()=>{this._markers=this._markerService.read({resource:Hn.r.isUri(e)?e:void 0,severities:Bp.cj.Error|Bp.cj.Warning|Bp.cj.Info}),"function"==typeof e&&(this._markers=this._markers.filter((e=>this._resourceFilter(e.resource)))),this._markers.sort(s)};o(),this._dispoables.add(t.onMarkerChanged((e=>{this._resourceFilter&&!e.some((e=>this._resourceFilter(e)))||(o(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e||!(!this._resourceFilter||!e)&&this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new HP(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let n=!1,s=this._markers.findIndex((t=>t.resource.toString()===e.uri.toString()));s<0&&(s=(0,na.El)(this._markers,{resource:e.uri},((e,t)=>(0,Ri.UD)(e.resource.toString(),t.resource.toString()))),s<0&&(s=~s));for(let o=s;ot.resource.toString()===e.toString()));if(!(i<0))for(;i=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},qP=function(e,t){return function(i,n){t(i,n,e)}};class GP{constructor(e,t,i,n,s){this._openerService=n,this._labelService=s,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new Ae.Cm,this._editor=t;const o=document.createElement("div");o.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),o.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),o.appendChild(this._relatedBlock),this._disposables.add(Xe(this._relatedBlock,"click",(e=>{e.preventDefault();const t=this._relatedDiagnostics.get(e.target);t&&i(t)}))),this._scrollable=new Xu(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((e=>{o.style.left=`-${e.scrollLeft}px`,o.style.top=`-${e.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){(0,Ae.AS)(this._disposables)}update(e){const{source:t,message:i,relatedInformation:n,code:s}=e;let o=(t?.length||0)+2;s&&(o+="string"==typeof s?s.length:s.value.length);const r=(0,Ri.uz)(i);this._lines=r.length,this._longestLineLength=0;for(const c of r)this._longestLineLength=Math.max(c.length+o,this._longestLineLength);Ge(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let a=this._messageBlock;for(const c of r)a=document.createElement("div"),a.innerText=c,""===c&&(a.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(a);if(t||s){const e=document.createElement("span");if(e.classList.add("details"),a.appendChild(e),t){const i=document.createElement("span");i.innerText=t,i.classList.add("source"),e.appendChild(i)}if(s)if("string"==typeof s){const t=document.createElement("span");t.innerText=`(${s})`,t.classList.add("code"),e.appendChild(t)}else{this._codeLink=ei("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(s.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()};Gt(this._codeLink,ei("span")).innerText=s.value,e.appendChild(this._codeLink)}}if(Ge(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,na.EI)(n)){const e=this._relatedBlock.appendChild(document.createElement("div"));e.style.paddingTop=`${Math.floor(.66*this._editor.getOption(67))}px`,this._lines+=1;for(const t of n){const i=document.createElement("div"),n=document.createElement("a");n.classList.add("filename"),n.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,n.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(n,t);const s=document.createElement("span");s.innerText=t.message,i.appendChild(n),i.appendChild(s),this._lines+=1,e.appendChild(i)}}const l=this._editor.getOption(50),h=Math.ceil(l.typicalFullwidthCharacterWidth*this._longestLineLength*.75),d=l.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:h,scrollHeight:d})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Bp.cj.Error:t=$n.kg("Error","Error");break;case Bp.cj.Warning:t=$n.kg("Warning","Warning");break;case Bp.cj.Info:t=$n.kg("Info","Info");break;case Bp.cj.Hint:t=$n.kg("Hint","Hint")}let i=$n.kg("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const n=this._editor.getModel();if(n&&e.startLineNumber<=n.getLineCount()&&e.startLineNumber>=1){i=`${n.getLineContent(e.startLineNumber)}, ${i}`}return i}}let QP=class extends Gk{static{jP=this}static{this.TitleMenu=new vs("gotoErrorTitleMenu")}constructor(e,t,i,n,s,o,r){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},s),this._themeService=t,this._openerService=i,this._menuService=n,this._contextKeyService=o,this._labelService=r,this._callOnDispose=new Ae.Cm,this._onDidSelectRelatedInformation=new P.vl,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Bp.cj.Warning,this._backgroundColor=dd.Q1.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(oO);let t=JP,i=eO;this._severity===Bp.cj.Warning?(t=tO,i=iO):this._severity===Bp.cj.Info&&(t=nO,i=sO);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(Yk),secondaryHeadingColor:e.getColor(Zk)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((e=>this.editor.focus())));const t=[];zy(this._menuService.getMenuActions(jP.TitleMenu,this._contextKeyService),t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=Gt(e,ei(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new GP(this._container,this.editor,(e=>this._onDidSelectRelatedInformation.fire(e)),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const n=Js.Q.lift(e),s=this.editor.getPosition(),o=s&&n.containsPosition(s)?s:n.getStartPosition();super.show(o,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const e=i>1?$n.kg("problems","{0} of {1} problems",t,i):$n.kg("change","{0} of {1} problem",t,i);this.setTitle((0,Bn.P8)(r.uri),e)}this._icon.className=`codicon ${KP.className(Bp.cj.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(o,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};QP=jP=$P([qP(1,no.Gy),qP(2,Rh),qP(3,bs),qP(4,qn._Y),qP(5,hs.fN),qP(6,rN)],QP);const YP=(0,io.yLr)(io.Rbi,io.AN$),ZP=(0,io.yLr)(io.Hng,io.Stt),XP=(0,io.yLr)(io.pOz,io.IIb),JP=(0,io.x1A)("editorMarkerNavigationError.background",{dark:YP,light:YP,hcDark:io.b1q,hcLight:io.b1q},$n.kg("editorMarkerNavigationError","Editor marker navigation widget error color.")),eO=(0,io.x1A)("editorMarkerNavigationError.headerBackground",{dark:(0,io.JO0)(JP,.1),light:(0,io.JO0)(JP,.1),hcDark:null,hcLight:null},$n.kg("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),tO=(0,io.x1A)("editorMarkerNavigationWarning.background",{dark:ZP,light:ZP,hcDark:io.b1q,hcLight:io.b1q},$n.kg("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),iO=(0,io.x1A)("editorMarkerNavigationWarning.headerBackground",{dark:(0,io.JO0)(tO,.1),light:(0,io.JO0)(tO,.1),hcDark:"#0C141F",hcLight:(0,io.JO0)(tO,.2)},$n.kg("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),nO=(0,io.x1A)("editorMarkerNavigationInfo.background",{dark:XP,light:XP,hcDark:io.b1q,hcLight:io.b1q},$n.kg("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),sO=(0,io.x1A)("editorMarkerNavigationInfo.headerBackground",{dark:(0,io.JO0)(nO,.1),light:(0,io.JO0)(nO,.1),hcDark:null,hcLight:null},$n.kg("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),oO=(0,io.x1A)("editorMarkerNavigation.background",io.YtV,$n.kg("editorMarkerNavigationBackground","Editor marker navigation widget background."));var rO,aO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},lO=function(e,t){return function(i,n){t(i,n,e)}};let hO=class{static{rO=this}static{this.ID="editor.contrib.markerController"}static get(e){return e.getContribution(rO.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new Ae.Cm,this._editor=e,this._widgetVisible=gO.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(QP,this._editor),this._widget.onDidClose((()=>this.close()),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition((e=>{this._model?.selected&&Js.Q.containsPosition(this._model?.selected.marker,e.position)||this._model?.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:Js.Q.lift(e).collapseToStart()}},this._editor),this.close(!1)}))),this._sessionDispoables.add(this._editor.onDidChangeModel((()=>this._cleanUp()))),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new Qn.y(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){if(this._editor.hasModel()){const i=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(i.move(e,this._editor.getModel(),this._editor.getPosition()),!i.selected)return;if(i.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const n=await this._editorService.openCodeEditor({resource:i.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:i.selected.marker}},this._editor);n&&(rO.get(n)?.close(),rO.get(n)?.nagivate(e,t))}else this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}}};hO=rO=aO([lO(1,zP),lO(2,hs.fN),lO(3,Gn),lO(4,qn._Y)],hO);class dO extends Rs{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){t.hasModel()&&hO.get(t)?.nagivate(this._next,this._multiFile)}}class cO extends dO{static{this.ID="editor.action.marker.next"}static{this.LABEL=$n.kg("markerAction.next.label","Go to Next Problem (Error, Warning, Info)")}constructor(){super(!0,!1,{id:cO.ID,label:cO.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:578,weight:100},menuOpts:{menuId:QP.TitleMenu,title:cO.LABEL,icon:fu("marker-navigation-next",bl.W.arrowDown,$n.kg("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}class uO extends dO{static{this.ID="editor.action.marker.prev"}static{this.LABEL=$n.kg("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)")}constructor(){super(!1,!1,{id:uO.ID,label:uO.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:1602,weight:100},menuOpts:{menuId:QP.TitleMenu,title:uO.LABEL,icon:fu("marker-navigation-previous",bl.W.arrowUp,$n.kg("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}Hs(hO.ID,hO,4),Ws(cO),Ws(uO),Ws(class extends dO{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:$n.kg("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:66,weight:100},menuOpts:{menuId:vs.MenubarGoMenu,title:$n.kg({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}),Ws(class extends dO{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:$n.kg("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:1090,weight:100},menuOpts:{menuId:vs.MenubarGoMenu,title:$n.kg({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const gO=new hs.N1("markersNavigationVisible",!1);Fs(new(Ts.bindToContribution(hO.get))({id:"closeMarkersNavigation",precondition:gO,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:$s.focus,primary:9,secondary:[1033]}}));class pO{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){const n=new Ae.Cm;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Ae.HE);return s.value=this.doProvide(e,t,i),n.add(this.onDidActiveTextEditorControlChange((()=>{s.value=void 0,s.value=this.doProvide(e,t)}))),n}doProvide(e,t,i){const n=new Ae.Cm,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const o={editor:s},r=Tk(s);if(r){let e=s.saveViewState()??void 0;n.add(r.onDidChangeCursorPosition((()=>{e=s.saveViewState()??void 0}))),o.restoreViewState=()=>{e&&s===this.activeTextEditorControl&&s.restoreViewState(e)},n.add((0,av.P)(t.onCancellationRequested)((()=>o.restoreViewState?.())))}n.add((0,Ae.s)((()=>this.clearDecorations(s)))),n.add(this.provideWithTextEditor(o,e,t,i))}else n.add(this.provideWithoutTextEditor(e,t));return n}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&yi(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){return Mk(e)?e.getModel()?.modified:e.getModel()}addDecorations(e,t){e.changeDecorations((e=>{const i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),i.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const n=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:(0,no.Yf)(Xf.vp),position:eo.A5.Full}}}],[s,o]=e.deltaDecorations(i,n);this.rangeHighlightDecorationId={rangeHighlightId:s,overviewRulerDecorationId:o}}))}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations((e=>{e.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}class mO extends pO{static{this.PREFIX=":"}constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=(0,$n.kg)("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Ae.jG.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new Ae.Cm;s.add(t.onDidAccept((i=>{const[s]=t.selectedItems;if(s){if(!this.isValidLineNumber(n,s.lineNumber))return;this.gotoLocation(e,{range:this.toRange(s.lineNumber,s.column),keyMods:t.keyMods,preserveFocus:i.inBackground}),i.inBackground||t.hide()}})));const o=()=>{const e=this.parsePosition(n,t.value.trim().substr(mO.PREFIX.length)),i=this.getPickLabel(n,e.lineNumber,e.column);if(t.items=[{lineNumber:e.lineNumber,column:e.column,label:i}],t.ariaLabel=i,!this.isValidLineNumber(n,e.lineNumber))return void this.clearDecorations(n);const s=this.toRange(e.lineNumber,e.column);n.revealRangeInCenter(s,0),this.addDecorations(n,s)};o(),s.add(t.onDidChangeValue((()=>o())));const r=Tk(n);if(r){2===r.getOptions().get(68).renderType&&(r.updateOptions({lineNumbers:"on"}),s.add((0,Ae.s)((()=>r.updateOptions({lineNumbers:"relative"})))))}return s}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map((e=>parseInt(e,10))).filter((e=>!isNaN(e))),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?(0,$n.kg)("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):(0,$n.kg)("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?(0,$n.kg)("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):(0,$n.kg)("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!(!t||"number"!=typeof t)&&(t>0&&t<=this.lineCount(e))}isValidColumn(e,t,i){if(!i||"number"!=typeof i)return!1;const n=this.getModel(e);if(!n)return!1;const s={lineNumber:t,column:i};return n.validatePosition(s).equals(s)}lineCount(e){return this.getModel(e)?.getLineCount()??0}}var fO;!function(e){e[e.PRESERVE=0]="PRESERVE",e[e.LAST=1]="LAST"}(fO||(fO={}));const _O="workbench.contributions.quickaccess";var vO,bO,CO,wO,yO,SO,kO,LO;ds.O.add(_O,new class{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return 0===e.prefix.length?this.defaultProvider=e:this.providers.push(e),this.providers.sort(((e,t)=>t.prefix.length-e.prefix.length)),(0,Ae.s)((()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)}))}getQuickAccessProviders(){return(0,na.Yc)([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find((t=>e.startsWith(t.prefix)))||void 0||this.defaultProvider}}),function(e){e.inspectTokensAction=$n.kg("inspectTokens","Developer: Inspect Tokens")}(vO||(vO={})),function(e){e.gotoLineActionLabel=$n.kg("gotoLineActionLabel","Go to Line/Column...")}(bO||(bO={})),function(e){e.helpQuickAccessActionLabel=$n.kg("helpQuickAccess","Show all Quick Access Providers")}(CO||(CO={})),function(e){e.quickCommandActionLabel=$n.kg("quickCommandActionLabel","Command Palette"),e.quickCommandHelp=$n.kg("quickCommandActionHelp","Show And Run Commands")}(wO||(wO={})),function(e){e.quickOutlineActionLabel=$n.kg("quickOutlineActionLabel","Go to Symbol..."),e.quickOutlineByCategoryActionLabel=$n.kg("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")}(yO||(yO={})),function(e){e.editorViewAccessibleLabel=$n.kg("editorViewAccessibleLabel","Editor content")}(SO||(SO={})),function(e){e.toggleHighContrast=$n.kg("toggleHighContrast","Toggle High Contrast Theme")}(kO||(kO={})),function(e){e.bulkEditServiceSummary=$n.kg("bulkEditServiceSummary","Made {0} edits in {1} files")}(LO||(LO={}));var xO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},DO=function(e,t){return function(i,n){t(i,n,e)}};let NO=class extends mO{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=P.Jh.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};NO=xO([DO(0,Gn)],NO);class IO extends Rs{static{this.ID="editor.action.gotoLine"}constructor(){super({id:IO.ID,label:bO.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(ed).quickAccess.show(NO.PREFIX)}}Ws(IO),ds.O.as(_O).registerQuickAccessProvider({ctor:NO,prefix:NO.PREFIX,helpEntries:[{description:bO.gotoLineActionLabel,commandId:IO.ID}]});var EO,MO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},TO=function(e,t){return function(i,n){t(i,n,e)}};let RO=class{static{EO=this}static{this.ID="editor.contrib.gotodefinitionatposition"}static{this.MAX_SOURCE_PREVIEW_LINES=8}constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new Ae.Cm,this.toUnhookForKeyboard=new Ae.Cm,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new xk(e);this.toUnhook.add(s),this.toUnhook.add(s.onMouseMoveOrRelevantKeyDown((([e,t])=>{this.startFindDefinitionFromMouse(e,t??void 0)}))),this.toUnhook.add(s.onExecute((e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).catch((e=>{(0,b.dz)(e)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(s.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(e){return e.getContribution(EO.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition((()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()}))),this.toUnhookForKeyboard.add(this.editor.onKeyDown((e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())})))}startFindDefinitionFromMouse(e,t){if(9===e.target.type&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordAtPosition=null,void this.removeLinkDecorations();const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){this.toUnhookForKeyboard.clear();const t=e?this.editor.getModel()?.getWordAtPosition(e):null;if(!t)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;const i=new fl(this.editor,15);let n;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,A.SS)((t=>this.findDefinition(e,t)));try{n=await this.previousPromise}catch(o){return void(0,b.dz)(o)}if(!n||!n.length||!i.validate(this.editor))return void this.removeLinkDecorations();const s=n[0].originSelectionRange?Js.Q.lift(n[0].originSelectionRange):new Js.Q(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let e=s;for(const{originSelectionRange:t}of n)t&&(e=Js.Q.plusRange(e,t));this.addDecoration(e,(new Vn).appendText($n.kg("multipleResults","Click to show {0} definitions.",n.length)))}else{const e=n[0];if(!e.uri)return;this.textModelResolverService.createModelReference(e.uri).then((t=>{if(!t.object||!t.object.textEditorModel)return void t.dispose();const{object:{textEditorModel:i}}=t,{startLineNumber:n}=e.range;if(n<1||n>i.getLineCount())return void t.dispose();const o=this.getPreviewValue(i,n,e),r=this.languageService.guessLanguageIdByFilepathOrFirstLine(i.uri);this.addDecoration(s,o?(new Vn).appendCodeblock(r||"",o):void 0),t.dispose()}))}}getPreviewValue(e,t,i){let n=i.range;n.endLineNumber-n.startLineNumber>=EO.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(e,t));return this.stripIndentationFromPreviewRange(e,t,n)}stripIndentationFromPreviewRange(e,t,i){let n=e.getLineFirstNonWhitespaceColumn(t);for(let s=t+1;s{const i=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(e);return new qN({openToSide:t,openInPeek:i,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e)}))}isInPeekEditor(e){const t=e.get(hs.fN);return jk.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};var AO;RO=EO=MO([TO(1,Zn.ITextModelService),TO(2,Dh.L),TO(3,xa.ILanguageFeaturesService)],RO),Hs(RO.ID,RO,2),function(e){e.NoAutoFocus="noAutoFocus",e.FocusIfVisible="focusIfVisible",e.AutoFocusImmediately="autoFocusImmediately"}(AO||(AO={}));var PO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},OO=function(e,t){return function(i,n){t(i,n,e)}};const FO=ei;class WO{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const BO={type:1,filter:{include:Hc.QuickFix},triggerAction:Vc.QuickFixHover};let HO=class{constructor(e,t,i,n){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=n,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),o=[];for(const r of t){const t=r.range.startLineNumber===n?r.range.startColumn:1,a=r.range.endLineNumber===n?r.range.endColumn:s,l=this._markerDecorationsService.getMarker(i.uri,r);if(!l)continue;const h=new Js.Q(e.range.startLineNumber,t,e.range.startLineNumber,a);o.push(new WO(this,h,l))}return o}renderHoverParts(e,t){if(!t.length)return new fy([]);const i=new Ae.Cm,n=[];t.forEach((t=>{const i=this._renderMarkerHover(t);e.fragment.appendChild(i.hoverElement),n.push(i)}));const s=1===t.length?t[0]:t.sort(((e,t)=>Bp.cj.compare(e.marker.severity,t.marker.severity)))[0];return this.renderMarkerStatusbar(e,s,i),new fy(n)}_renderMarkerHover(e){const t=new Ae.Cm,i=FO("div.hover-row"),n=Gt(i,FO("div.marker.hover-contents")),{source:s,message:o,code:r,relatedInformation:a}=e.marker;this._editor.applyFontInfo(n);const l=Gt(n,FO("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=o,s||r)if(r&&"string"!=typeof r){const e=FO("span");if(s){Gt(e,FO("span")).innerText=s}const i=Gt(e,FO("a.code-link"));i.setAttribute("href",r.target.toString()),t.add(Ye(i,"click",(e=>{this._openerService.open(r.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()})));Gt(i,FO("span")).innerText=r.value;const o=Gt(n,e);o.style.opacity="0.6",o.style.paddingLeft="6px"}else{const e=Gt(n,FO("span"));e.style.opacity="0.6",e.style.paddingLeft="6px",e.innerText=s&&r?`${s}(${r})`:s||`(${r})`}if((0,na.EI)(a))for(const{message:h,resource:d,startLineNumber:c,startColumn:u}of a){const e=Gt(n,FO("div"));e.style.marginTop="8px";const i=Gt(e,FO("a"));i.innerText=`${(0,Bn.P8)(d)}(${c}, ${u}): `,i.style.cursor="pointer",t.add(Ye(i,"click",(e=>{if(e.stopPropagation(),e.preventDefault(),this._openerService){const e={selection:{startLineNumber:c,startColumn:u}};this._openerService.open(d,{fromUserGesture:!0,editorOptions:e}).catch(b.dz)}})));const s=Gt(e,FO("span"));s.innerText=h,this._editor.applyFontInfo(s)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Bp.cj.Error||t.marker.severity===Bp.cj.Warning||t.marker.severity===Bp.cj.Info){const i=hO.get(this._editor);i&&e.statusBar.addAction({label:$n.kg("view problem","View Problem"),commandId:cO.ID,run:()=>{e.hide(),i.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(FO("div"));this.recentMarkerCodeActionsInfo&&(Bp.oc.makeKey(this.recentMarkerCodeActionsInfo.marker)===Bp.oc.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=$n.kg("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Ae.jG.None:(0,A.EQ)((()=>n.textContent=$n.kg("checkingForQuickFixes","Checking for quick fixes...")),200,i);n.textContent||(n.textContent=String.fromCharCode(160));const o=this.getCodeActions(t.marker);i.add((0,Ae.s)((()=>o.cancel()))),o.then((o=>{if(s.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:o.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return o.dispose(),void(n.textContent=$n.kg("noQuickFixes","No quick fixes available"));n.style.display="none";let r=!1;i.add((0,Ae.s)((()=>{r||o.dispose()}))),e.statusBar.addAction({label:$n.kg("quick fixes","Quick Fix..."),commandId:$c,run:t=>{r=!0;const i=Zp.get(this._editor),n=ct(t);e.hide(),i?.showCodeActions(BO,o,{x:n.left,y:n.top,width:n.width,height:n.height})}})}),b.dz)}}getCodeActions(e){return(0,A.SS)((t=>eu(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Js.Q(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),BO,qh.None,t)))}};HO=PO([OO(1,tm.IMarkerDecorationsService),OO(2,Rh),OO(3,xa.ILanguageFeaturesService)],HO);class VO{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=eo.ZS.Center}computeSync(){const e=e=>({value:e}),t=this._editor.getLineDecorations(this._lineNumber),i=[],n="lineNo"===this._laneOrLine;if(!t)return i;for(const s of t){const t=s.options.glyphMargin?.position??eo.ZS.Center;if(!n&&t!==this._laneOrLine)continue;const o=n?s.options.lineNumberHoverMessage:s.options.glyphMarginHoverMessage;o&&!zn(o)&&i.push(...(0,na._j)(o).map(e))}return i}}var zO,UO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},KO=function(e,t){return function(i,n){t(i,n,e)}};const jO=ei;let $O=class extends Ae.jG{static{zO=this}static{this.ID="editor.contrib.modesGlyphHoverWidget"}constructor(e,t,i){super(),this._renderDisposeables=this._register(new Ae.Cm),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new BS),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Fh({editor:this._editor},t,i)),this._computer=new VO(this._editor),this._hoverOperation=this._register(new xS(this._editor,this._computer)),this._register(this._hoverOperation.onResult((e=>{this._withResult(e.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()}))),this._register(Xe(this._hover.containerDomNode,"mouseleave",(e=>{this._onMouseLeave(e)}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return zO.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){const t=e.target;return 2===t.type&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):3===t.type&&(this._startShowingAt(t.position.lineNumber,"lineNo"),!0)}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const n of t){const e=jO("div.hover-row.markdown-hover"),t=Gt(e,jO("div.hover-contents")),s=this._renderDisposeables.add(this._markdownRenderer.render(n.value));t.appendChild(s.element),i.appendChild(e)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),s=this._editor.getOption(67),o=i-n-(this._hover.containerDomNode.clientHeight-s)/2,r=t.glyphMarginLeft+t.glyphMarginWidth+("lineNo"===this._computer.lane?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${r}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(o),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!kS(t,e.x,e.y))&&this.hide()}};$O=zO=UO([KO(1,Dh.L),KO(2,Rh)],$O);var qO=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},GO=function(e,t){return function(i,n){t(i,n,e)}};let QO=class extends Ae.jG{static{this.ID="editor.contrib.marginHover"}constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Ae.Cm,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new A.uC((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())})))}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown((e=>this._onEditorMouseDown(e)))),this._listenersStore.add(this._editor.onMouseUp((()=>this._onEditorMouseUp()))),this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))):(this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))),this._listenersStore.add(this._editor.onMouseLeave((e=>this._onEditorMouseLeave(e)))),this._listenersStore.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._listenersStore.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._listenersStore.add(this._editor.onDidScrollChange((e=>this._onEditorScrollChanged(e))))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0;this._isMouseOnMarginHoverWidget(e)||this._hideWidgets()}_isMouseOnMarginHoverWidget(e){const t=this._glyphWidget?.getDomNode();return!!t&&kS(t,e.event.posx,e.event.posy)}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;this._cancelScheduler();this._isMouseOnMarginHoverWidget(e)||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=this._isMouseOnMarginHoverWidget(e);return t&&i}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;this._mouseMoveEvent=e;this._shouldNotRecomputeCurrentHoverWidget(e)?this._reactToEditorMouseMoveRunner.cancel():this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){if(!e)return;this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){this._editor.hasModel()&&5!==e.keyCode&&6!==e.keyCode&&57!==e.keyCode&&4!==e.keyCode&&this._hideWidgets()}_hideWidgets(){this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance($O,this._editor)),this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}};QO=qO([GO(1,qn._Y)],QO);const YO=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{const t=this._implementations.indexOf(e);-1!==t&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}};Hs(SI.ID,SI,2),Hs(QO.ID,QO,2),Ws(class extends Rs{constructor(){super({id:Ny,label:$n.kg({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:$n.aS("showOrFocusHoverDescription","Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[AO.NoAutoFocus,AO.FocusIfVisible,AO.AutoFocusImmediately],enumDescriptions:[$n.kg("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),$n.kg("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),$n.kg("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:AO.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:$s.editorTextFocus,primary:(0,v.m5)(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=SI.get(t);if(!n)return;const s=i?.focus;let o=AO.FocusIfVisible;Object.values(AO).includes(s)?o=s:"boolean"==typeof s&&s&&(o=AO.AutoFocusImmediately);const r=e=>{const i=t.getPosition(),s=new Js.Q(i.lineNumber,i.column,i.lineNumber,i.column);n.showContentHover(s,1,1,e)},a=2===t.getOption(2);n.isHoverVisible?o!==AO.NoAutoFocus?n.focus():r(a):r(a||o===AO.AutoFocusImmediately)}}),Ws(class extends Rs{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:$n.kg({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:$n.aS("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=SI.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new Js.Q(n.lineNumber,n.column,n.lineNumber,n.column),o=RO.get(t);if(!o)return;o.startFindDefinitionFromCursor(n).then((()=>{i.showContentHover(s,1,1,!0)}))}}),Ws(class extends Rs{constructor(){super({id:"editor.action.scrollUpHover",label:$n.kg({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:$s.hoverFocused,kbOpts:{kbExpr:$s.hoverFocused,primary:16,weight:100},metadata:{description:$n.aS("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=SI.get(t);i&&i.scrollUp()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.scrollDownHover",label:$n.kg({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:$s.hoverFocused,kbOpts:{kbExpr:$s.hoverFocused,primary:18,weight:100},metadata:{description:$n.aS("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=SI.get(t);i&&i.scrollDown()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.scrollLeftHover",label:$n.kg({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:$s.hoverFocused,kbOpts:{kbExpr:$s.hoverFocused,primary:15,weight:100},metadata:{description:$n.aS("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=SI.get(t);i&&i.scrollLeft()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.scrollRightHover",label:$n.kg({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:$s.hoverFocused,kbOpts:{kbExpr:$s.hoverFocused,primary:17,weight:100},metadata:{description:$n.aS("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=SI.get(t);i&&i.scrollRight()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.pageUpHover",label:$n.kg({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:$s.hoverFocused,kbOpts:{kbExpr:$s.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:$n.aS("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=SI.get(t);i&&i.pageUp()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.pageDownHover",label:$n.kg({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:$s.hoverFocused,kbOpts:{kbExpr:$s.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:$n.aS("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=SI.get(t);i&&i.pageDown()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.goToTopHover",label:$n.kg({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:$s.hoverFocused,kbOpts:{kbExpr:$s.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:$n.aS("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=SI.get(t);i&&i.goToTop()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.goToBottomHover",label:$n.kg({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:$s.hoverFocused,kbOpts:{kbExpr:$s.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:$n.aS("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=SI.get(t);i&&i.goToBottom()}}),Ws(class extends Rs{constructor(){super({id:Iy,label:Ey,alias:"Increase Hover Verbosity Level",precondition:$s.hoverVisible})}run(e,t,i){const n=SI.get(t);if(!n)return;const s=void 0!==i?.index?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(La.M$.Increase,s,i?.focus)}}),Ws(class extends Rs{constructor(){super({id:My,label:Ty,alias:"Decrease Hover Verbosity Level",precondition:$s.hoverVisible})}run(e,t,i){const n=SI.get(t);if(!n)return;const s=void 0!==i?.index?i.index:n.focusedHoverPartIndex();SI.get(t)?.updateHoverVerbosityLevel(La.M$.Decrease,s,i?.focus)}}),_y.register(fk),_y.register(HO),(0,no.zy)(((e,t)=>{const i=e.getColor(io.oZ8);i&&(t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${i.transparent(.5)}; }`))})),YO.register(new class{}),YO.register(new class{}),YO.register(new class{});class ZO extends Ae.jG{static{this.ID="editor.contrib.iPadShowKeyboard"}constructor(e){super(),this.editor=e,this.widget=null,f.un&&(this._register(e.onDidChangeConfiguration((()=>this.update()))),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new XO(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}class XO extends Ae.jG{static{this.ID="editor.contrib.ShowKeyboardWidget"}constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Ye(this._domNode,"touchstart",(e=>{this.editor.focus()}))),this._register(Ye(this._domNode,"focus",(e=>{this.editor.focus()}))),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return XO.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}Hs(ZO.ID,ZO,3);class JO{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const i=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new qs.L(i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn),i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn)):new qs.L(i.endLineNumber,i.endColumn-this._text.length,i.endLineNumber,i.endColumn)}}var eF,tF=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},iF=function(e,t){return function(i,n){t(i,n,e)}};let nF=class{static{eF=this}static{this.ID="editor.contrib.inPlaceReplaceController"}static get(e){return e.getContribution(eF.ID)}static{this.DECORATION=to.kI.register({description:"in-place-replace",className:"valueSetReplacement"})}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){this.currentRequest?.cancel();const i=this.editor.getSelection(),n=this.editor.getModel();if(!n||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const o=new fl(this.editor,5),r=n.uri;return this.editorWorkerService.canNavigateValueSet(r)?(this.currentRequest=(0,A.SS)((e=>this.editorWorkerService.navigateValueSet(r,s,t))),this.currentRequest.then((t=>{if(!t||!t.range||!t.value)return;if(!o.validate(this.editor))return;const i=Js.Q.lift(t.range);let n=t.range;const r=t.value.length-(s.endColumn-s.startColumn);n={startLineNumber:n.startLineNumber,startColumn:n.startColumn,endLineNumber:n.endLineNumber,endColumn:n.startColumn+t.value.length},r>1&&(s=new qs.L(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+r-1));const a=new JO(i,s,t.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,a),this.editor.pushUndoStop(),this.decorations.set([{range:n,options:eF.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=(0,A.wR)(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(b.dz)})).catch(b.dz)):Promise.resolve(void 0)}};nF=eF=tF([iF(1,Bw.IEditorWorkerService)],nF);function sF(e,t){let i=0;for(let n=0;nn-1)return[];const{tabSize:r,indentSize:a,insertSpaces:l}=e.getOptions(),h=(e,t)=>(t=t||1,Yo.shiftIndent(e,e.length+t,r,a,l)),d=(e,t)=>(t=t||1,Yo.unshiftIndent(e,e.length+t,r,a,l)),c=[],u=e.getLineContent(i);let g=Ri.UU(u),p=g;o.shouldIncrease(i)?(p=h(p),g=h(g)):o.shouldIndentNextLine(i)&&(p=h(p));for(let m=++i;m<=n;m++){if(aF(e,m))continue;const t=e.getLineContent(m),i=Ri.UU(t),n=p;o.shouldDecrease(m,n)&&(p=d(p),g=d(g)),i!==p&&c.push(Ck.replaceMove(new qs.L(m,1,m,i.length+1),(0,ho.P)(p,a,l))),o.shouldIgnore(m)||(o.shouldIncrease(m,n)?(g=h(g),p=g):p=o.shouldIndentNextLine(m,n)?h(p):g)}return c}function aF(e,t){if(!e.tokenization.isCheapToTokenize(t))return!1;return 2===e.tokenization.getLineTokens(t).getStandardTokenType(0)}Hs(nF.ID,nF,4),Ws(class extends Rs{constructor(){super({id:"editor.action.inPlaceReplace.up",label:$n.kg("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=nF.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}),Ws(class extends Rs{constructor(){super({id:"editor.action.inPlaceReplace.down",label:$n.kg("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=nF.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}});var lF=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},hF=function(e,t){return function(i,n){t(i,n,e)}};class dF extends Rs{static{this.ID="editor.action.indentationToSpaces"}constructor(){super({id:dF.ID,label:$n.kg("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:$s.writable,metadata:{description:$n.aS("indentationToSpacesDescription","Convert the tab indentation to spaces.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const o=new CF(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[o]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}class cF extends Rs{static{this.ID="editor.action.indentationToTabs"}constructor(){super({id:cF.ID,label:$n.kg("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:$s.writable,metadata:{description:$n.aS("indentationToTabsDescription","Convert the spaces indentation to tabs.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const o=new wF(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[o]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}class uF extends Rs{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(ed),n=e.get(Yn.IModelService),s=t.getModel();if(!s)return;const o=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),r=s.getOptions(),a=[1,2,3,4,5,6,7,8].map((e=>({id:e.toString(),label:e.toString(),description:e===o.tabSize&&e===r.tabSize?$n.kg("configuredTabSize","Configured Tab Size"):e===o.tabSize?$n.kg("defaultTabSize","Default Tab Size"):e===r.tabSize?$n.kg("currentTabSize","Current Tab Size"):void 0}))),l=Math.min(s.getOptions().tabSize-1,7);setTimeout((()=>{i.pick(a,{placeHolder:$n.kg({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:a[l]}).then((e=>{if(e&&s&&!s.isDisposed()){const t=parseInt(e.label,10);this.displaySizeOnly?s.updateOptions({tabSize:t}):s.updateOptions({tabSize:t,indentSize:t,insertSpaces:this.insertSpaces})}}))}),50)}}class gF extends uF{static{this.ID="editor.action.indentUsingTabs"}constructor(){super(!1,!1,{id:gF.ID,label:$n.kg("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:$n.aS("indentUsingTabsDescription","Use indentation with tabs.")}})}}class pF extends uF{static{this.ID="editor.action.indentUsingSpaces"}constructor(){super(!0,!1,{id:pF.ID,label:$n.kg("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:$n.aS("indentUsingSpacesDescription","Use indentation with spaces.")}})}}class mF extends uF{static{this.ID="editor.action.changeTabDisplaySize"}constructor(){super(!0,!0,{id:mF.ID,label:$n.kg("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:$n.aS("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}}class fF extends Rs{static{this.ID="editor.action.detectIndentation"}constructor(){super({id:fF.ID,label:$n.kg("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:$n.aS("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(Yn.IModelService),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}}class _F{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&"string"==typeof i.text&&this._edits.push(i)}getEditOperations(e,t){for(const n of this._edits)t.addEditOperation(Js.Q.lift(n.range),n.text);let i=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let vF=class{static{this.ID="editor.contrib.autoIndentOnPaste"}constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Ae.Cm,this.callOnModel=new Ae.Cm,this.callOnDispose.add(e.onDidChangeConfiguration((()=>this.update()))),this.callOnDispose.add(e.onDidChangeModel((()=>this.update()))),this.callOnDispose.add(e.onDidChangeModelLanguage((()=>this.update())))}update(){this.callOnModel.clear(),this.editor.getOption(12)<4||this.editor.getOption(55)||this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste((({range:e})=>{this.trigger(e)})))}trigger(e){const t=this.editor.getSelections();if(null===t||t.length>1)return;const i=this.editor.getModel();if(!i)return;if(this.rangeContainsOnlyWhitespaceCharacters(i,e))return;if(function(e,t){const i=t=>2===(0,Bo.T)(e,t);return i(t.getStartPosition())||i(t.getEndPosition())}(i,e))return;if(!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const n=this.editor.getOption(12),{tabSize:s,indentSize:o,insertSpaces:r}=i.getOptions(),a=[],l={shiftIndent:e=>Yo.shiftIndent(e,e.length+1,s,o,r),unshiftIndent:e=>Yo.unshiftIndent(e,e.length+1,s,o,r)};let h=e.startLineNumber;for(;h<=e.endLineNumber&&this.shouldIgnoreLine(i,h);)h++;if(h>e.endLineNumber)return;let d=i.getLineContent(h);if(!/\S/.test(d.substring(0,e.startColumn-1))){const e=er(n,i,i.getLanguageId(),h,l,this._languageConfigurationService);if(null!==e){const t=Ri.UU(d),n=sF(e,s);if(n!==sF(t,s)){const e=oF(n,s,r);a.push({range:new Js.Q(h,1,h,t.length+1),text:e}),d=e+d.substring(t.length)}else{const e=tr(i,h,this._languageConfigurationService);if(0===e||8===e)return}}}const c=h;for(;hi.tokenization.getLineTokens(e),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(e,t)=>i.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===c?d:i.getLineContent(e)},i.getLanguageId(),h+1,l,this._languageConfigurationService);if(null!==t){const n=sF(t,s),o=sF(Ri.UU(i.getLineContent(h+1)),s);if(n!==o){const t=n-o;for(let n=h+1;n<=e.endLineNumber;n++){const e=i.getLineContent(n),o=Ri.UU(e),l=oF(sF(o,s)+t,s,r);l!==o&&a.push({range:new Js.Q(n,1,n,o.length+1),text:l})}}}}if(a.length>0){this.editor.pushUndoStop();const e=new _F(a,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",e),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){const i=e=>0===e.trim().length;let n=!0;if(t.startLineNumber===t.endLineNumber){n=i(e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1))}else for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const o=e.getLineContent(s);if(s===t.startLineNumber){n=i(o.substring(t.startColumn-1))}else if(s===t.endLineNumber){n=i(o.substring(0,t.endColumn-1))}else n=0===e.getLineFirstNonWhitespaceColumn(s);if(!n)break}return n}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(0===i)return!0;const n=e.tokenization.getLineTokens(t);if(n.getCount()>0){const e=n.findTokenIndexAtOffset(i);if(e>=0&&1===n.getStandardTokenType(e))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function bF(e,t,i,n){if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;let s="";for(let r=0;r0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}),Ws(class extends Rs{constructor(){super({id:"editor.action.reindentselectedlines",label:$n.kg("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:$s.writable,metadata:{description:$n.aS("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(Wo.JZ),n=t.getModel();if(!n)return;const s=t.getSelections();if(null===s)return;const o=[];for(const r of s){let e=r.startLineNumber,t=r.endLineNumber;if(e!==t&&1===r.endColumn&&t--,1===e){if(e===t)continue}else e--;const s=rF(n,i,e,t);o.push(...s)}o.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop())}}),Hs(lI.ID,lI,1),_y.register(gI);class yF extends Ae.jG{static{this.inlineSuggestionVisible=new hs.N1("inlineSuggestionVisible",!1,(0,$n.kg)("inlineSuggestionVisible","Whether an inline suggestion is visible"))}static{this.inlineSuggestionHasIndentation=new hs.N1("inlineSuggestionHasIndentation",!1,(0,$n.kg)("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace"))}static{this.inlineSuggestionHasIndentationLessThanTabSize=new hs.N1("inlineSuggestionHasIndentationLessThanTabSize",!0,(0,$n.kg)("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab"))}static{this.suppressSuggestions=new hs.N1("inlineSuggestionSuppressSuggestions",void 0,(0,$n.kg)("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"))}constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=yF.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=yF.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=yF.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=yF.suppressSuggestions.bindTo(this.contextKeyService),this._register((0,fg.fm)((e=>{const t=this.model.read(e),i=t?.state.read(e),n=!!i?.inlineCompletion&&void 0!==i?.primaryGhostText&&!i?.primaryGhostText.isEmpty();this.inlineCompletionVisible.set(n),i?.primaryGhostText&&i?.inlineCompletion&&this.suppressSuggestions.set(i.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}))),this._register((0,fg.fm)((e=>{const t=this.model.read(e);let i=!1,n=!0;const s=t?.primaryGhostText.read(e);if(t?.selectedSuggestItem&&s&&s.parts.length>0){const{column:e,lines:o}=s.parts[0],r=o[0];if(e<=t.textModel.getLineIndentColumn(s.lineNumber)){let e=(0,Ri.HG)(r);-1===e&&(e=r.length-1),i=e>0;const s=t.textModel.getOptions().tabSize;n=lo.A.visibleColumnFromColumn(r,e+1,s)t.equals(e.parts[i])))}renderForScreenReader(e){if(0===this.parts.length)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new IM.mF([...this.parts.map((e=>new IM.WR(Js.Q.fromPositions(new Qn.y(1,e.column)),e.lines.join("\n"))))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((e=>0===e.lines.length))}get lineCount(){return 1+this.parts.reduce(((e,t)=>e+t.lines.length-1),0)}}class kF{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=(0,Ri.uz)(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every(((t,i)=>t===e.lines[i]))}}class LF{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new kF(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=(0,Ri.uz)(this.text)}renderForScreenReader(e){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((e=>0===e.lines.length))}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every(((t,i)=>t===e.newLines[i]))&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function xF(e,t){return(0,na.aI)(e,t,DF)}function DF(e,t){return e===t||!(!e||!t)&&((e instanceof SF&&t instanceof SF||e instanceof LF&&t instanceof LF)&&e.equals(t))}const NF=[];class IF{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new b.D7(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new Js.Q(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function EF(e,t){const i=new Ae.Cm,n=e.createDecorationsCollection();return i.add((0,fg.zL)({debugName:()=>`Apply decorations from ${t.debugName}`},(e=>{const i=t.read(e);n.set(i)}))),i.add({dispose:()=>{n.clear()}}),i}function MF(e,t){return new Qn.y(e.lineNumber-t.lineNumber+1,e.lineNumber-t.lineNumber==0?e.column-t.column+1:e.column)}var TF=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},RF=function(e,t){return function(i,n){t(i,n,e)}};const AF="ghost-text";let PF=class extends Ae.jG{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=(0,fg.FY)(this,!1),this.currentTextModel=(0,fg.y0)(this,this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=(0,fg.un)(this,(e=>{if(this.isDisposed.read(e))return;const t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;const i=this.model.ghostText.read(e);if(!i)return;const n=i instanceof LF?i.columnRange:void 0,s=[],o=[];function r(e,t){if(o.length>0){const i=o[o.length-1];t&&i.decorations.push(new tf(i.content.length+1,i.content.length+1+e[0].length,t,0)),i.content+=e[0],e=e.slice(1)}for(const i of e)o.push({content:i,decorations:t?[new tf(1,i.length+1,t,0)]:[]})}const a=t.getLineContent(i.lineNumber);let l,h=0;for(const c of i.parts){let e=c.lines;void 0===l?(s.push({column:c.column,text:e[0],preview:c.preview}),e=e.slice(1)):r([a.substring(h,c.column-1)],void 0),e.length>0&&(r(e,AF),void 0===l&&c.column<=a.length&&(l=c.column)),h=c.column-1}void 0!==l&&r([a.substring(h)],void 0);const d=void 0!==l?new IF(l,a.length+1):void 0;return{replacedRange:n,inlineTexts:s,additionalLines:o,hiddenRange:d,lineNumber:i.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t}})),this.decorations=(0,fg.un)(this,(e=>{const t=this.uiState.read(e);if(!t)return[];const i=[];t.replacedRange&&i.push({range:t.replacedRange.toRange(t.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),t.hiddenRange&&i.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const n of t.inlineTexts)i.push({range:Js.Q.fromPositions(new Qn.y(t.lineNumber,n.column)),options:{description:AF,after:{content:n.text,inlineClassName:n.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:eo.VW.Left},showIfCollapsed:!0}});return i})),this.additionalLinesWidget=this._register(new OF(this.editor,this.languageService.languageIdCodec,(0,fg.un)((e=>{const t=this.uiState.read(e);return t?{lineNumber:t.lineNumber,additionalLines:t.additionalLines,minReservedLineCount:t.additionalReservedLineCount,targetTextModel:t.targetTextModel}:void 0})))),this._register((0,Ae.s)((()=>{this.isDisposed.set(!0,void 0)}))),this._register(EF(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};PF=TF([RF(2,Dh.L)],PF);class OF extends Ae.jG{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=(0,fg.yQ)("editorOptionChanged",P.Jh.filter(this.editor.onDidChangeConfiguration,(e=>e.hasChanged(33)||e.hasChanged(118)||e.hasChanged(100)||e.hasChanged(95)||e.hasChanged(51)||e.hasChanged(50)||e.hasChanged(67)))),this._register((0,fg.fm)((e=>{const t=this.lines.read(e);this.editorOptionsChanged.read(e),t?this.updateLines(t.lineNumber,t.additionalLines,t.minReservedLineCount):this.clear()})))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones((e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)}))}updateLines(e,t,i){const n=this.editor.getModel();if(!n)return;const{tabSize:s}=n.getOptions();this.editor.changeViewZones((n=>{this._viewZoneId&&(n.removeZone(this._viewZoneId),this._viewZoneId=void 0);const o=Math.max(t.length,i);if(o>0){const i=document.createElement("div");!function(e,t,i,n,s){const o=n.get(33),r=n.get(118),a="none",l=n.get(95),h=n.get(51),d=n.get(50),c=n.get(67),u=new rf.fe(1e4);u.appendString('
    ');for(let m=0,f=i.length;m');const g=Ri.aC(n),p=Ri.E_(n),f=Bo.f.createEmpty(n,s);gf(new hf(d.isMonospace&&!o,d.canUseHalfwidthRightwardsArrow,n,!1,g,p,0,f,e.decorations,t,0,d.spaceWidth,d.middotWidth,d.wsmiddotWidth,r,a,l,h!==mc.OFF,null),u),u.appendString("
    ")}u.appendString("
    "),xh(e,d);const g=u.build(),p=FF?FF.createHTML(g):g;e.innerHTML=p}(i,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=n.addZone({afterLineNumber:e,heightInLines:o,domNode:i,afterColumnAffinity:1})}}))}}const FF=yh("editorGhostText",{createHTML:e=>e});var WF=i(85702),BF=i(34883),HF=i(96961),VF=i(60756),zF=i(33206);class UF{constructor(e){this.lines=e,this.tokenization={getLineTokens:e=>this.lines[e-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function KF(e,t,i,n,s=sa.XO.None,o){const r=t instanceof Qn.y?function(e,t){const i=t.getWordAtPosition(e),n=t.getLineMaxColumn(e.lineNumber);return i?new Js.Q(e.lineNumber,i.startColumn,e.lineNumber,n):Js.Q.fromPositions(e,e.with(void 0,n))}(t,i):t,a=e.all(i),l=new ki.db;for(const _ of a)_.groupId&&l.add(_.groupId,_);function h(e){if(!e.yieldsToGroupIds)return[];const t=[];for(const i of e.yieldsToGroupIds||[]){const e=l.get(i);for(const i of e)t.push(i)}return t}const d=new Map,c=new Set;function u(e,t){if(t=[...t,e],c.has(e))return t;c.add(e);try{const i=h(e);for(const e of i){const i=u(e,t);if(i)return i}}finally{c.delete(e)}}function g(e){const o=d.get(e);if(o)return o;const r=u(e,[]);r&&(0,b.M_)(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${r.map((e=>e.toString?e.toString():""+e)).join(" -> ")}`));const a=new A.Zv;return d.set(e,a.p),(async()=>{if(!r){const t=h(e);for(const e of t){const t=await g(e);if(t&&t.items.length>0)return}}try{if(t instanceof Qn.y){return await e.provideInlineCompletions(i,t,n,s)}return await(e.provideInlineEdits?.(i,t,n,s))}catch(o){return void(0,b.M_)(o)}})().then((e=>a.complete(e)),(e=>a.error(e))),a.p}const p=await Promise.all(a.map((async e=>({provider:e,completions:await g(e)})))),m=new Map,f=[];for(const _ of p){const e=_.completions;if(!e)continue;const t=new $F(e,_.provider);f.push(t);for(const n of e.items){const e=qF.from(n,t,r,i,o);m.set(e.hash(),e)}}return new jF(Array.from(m.values()),new Set(m.keys()),f)}class jF{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class $F{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class qF{static from(e,t,i,n,s){let o,r,a=e.range?Js.Q.lift(e.range):i;if("string"==typeof e.insertText){if(o=e.insertText,s&&e.completeBracketPairs){o=GF(o,a.getStartPosition(),n,s);const t=o.length-e.insertText.length;0!==t&&(a=new Js.Q(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn+t))}r=void 0}else if("snippet"in e.insertText){const t=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=GF(e.insertText.snippet,a.getStartPosition(),n,s);const i=e.insertText.snippet.length-t;0!==i&&(a=new Js.Q(a.startLineNumber,a.startColumn,a.endLineNumber,a.endColumn+i))}const i=(new hl).parse(e.insertText.snippet);1===i.children.length&&i.children[0]instanceof el?(o=i.children[0].value,r=void 0):(o=i.toString(),r={snippet:e.insertText.snippet,range:a})}else(0,Jv.xb)(e.insertText);return new qF(o,e.command,a,o,r,e.additionalTextEdits||NF,e,t)}constructor(e,t,i,n,s,o,r,a){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=o,this.sourceInlineCompletion=r,this.source=a,n=(e=e.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(e){return new qF(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new IM.WR(this.range,this.insertText)}}function GF(e,t,i,n){const s=i.getLineContent(t.lineNumber).substring(0,t.column-1)+e,o=i.tokenization.tokenizeLineWithEdit(t,s.length-(t.column-1),e),r=o?.sliceAndInflate(t.column-1,s.length,0);if(!r)return e;const a=function(e,t){const i=new VF.Mg,n=new WF.Z(i,(e=>t.getLanguageConfiguration(e))),s=new zF.tk(new UF([e]),n),o=(0,HF.T)(s,[],void 0,!0);let r="";const a=e.getLineContent();return function e(t,i){if(2===t.kind)if(e(t.openingBracket,i),i=(0,BF.QB)(i,t.openingBracket.length),t.child&&(e(t.child,i),i=(0,BF.QB)(i,t.child.length)),t.closingBracket)e(t.closingBracket,i),i=(0,BF.QB)(i,t.closingBracket.length);else{const e=n.getSingleLanguageBracketTokens(t.openingBracket.languageId).findClosingTokenText(t.openingBracket.bracketIds);r+=e}else if(3===t.kind);else if(0===t.kind||1===t.kind)r+=a.substring((0,BF.sS)(i),(0,BF.sS)((0,BF.QB)(i,t.length)));else if(4===t.kind)for(const n of t.children)e(n,i),i=(0,BF.QB)(i,n.length)}(o,BF.Vp),r}(r,n);return a}function QF(e,t,i){const n=i?e.range.intersectRanges(i):e.range;if(!n)return e;const s=t.getValueInRange(n,1),o=(0,Ri.Qp)(s,e.text),r=zI.W.ofText(s.substring(0,o)).addToPosition(e.range.getStartPosition()),a=e.text.substring(o),l=Js.Q.fromPositions(r,e.range.getEndPosition());return new IM.WR(l,a)}function YF(e,t){return e.text.startsWith(t.text)&&(i=e.range,(n=t.range).getStartPosition().equals(i.getStartPosition())&&n.getEndPosition().isBeforeOrEqual(i.getEndPosition()));var i,n}function ZF(e,t,i,n,s=0){let o=QF(e,t);if(o.range.endLineNumber!==o.range.startLineNumber)return;const r=t.getLineContent(o.range.startLineNumber),a=(0,Ri.UU)(r).length;if(o.range.startColumn-1<=a){const e=(0,Ri.UU)(o.text).length,t=r.substring(o.range.startColumn-1,a),[i,n]=[o.range.getStartPosition(),o.range.getEndPosition()],s=i.column+t.length<=n.column?i.delta(0,t.length):n,l=Js.Q.fromPositions(s,n),h=o.text.startsWith(t)?o.text.substring(t.length):o.text.substring(e);o=new IM.WR(l,h)}const l=t.getValueInRange(o.range),h=function(e,t){if(XF?.originalValue===e&&XF?.newValue===t)return XF?.changes;{let i=eW(e,t,!0);if(i){const n=JF(i);if(n>0){const s=eW(e,t,!1);s&&JF(s)0===e.originalLength));if(e.length>1||1===e.length&&e[0].originalStart!==l.length)return}const u=o.text.length-s;for(const g of h){const e=o.range.startColumn+g.originalStart+g.originalLength;if("subwordSmart"===i&&n&&n.lineNumber===o.range.startLineNumber&&e0)return;if(0===g.modifiedLength)continue;const t=g.modifiedStart+g.modifiedLength,s=Math.max(g.modifiedStart,Math.min(t,u)),r=o.text.substring(g.modifiedStart,s),a=o.text.substring(s,Math.max(g.modifiedStart,t));r.length>0&&c.push(new kF(e,r,!1)),a.length>0&&c.push(new kF(e,a,!0))}return new SF(d,c)}let XF;function JF(e){let t=0;for(const i of e)t+=i.originalLength;return t}function eW(e,t,i){if(e.length>5e3||t.length>5e3)return;function n(e){let t=0;for(let i=0,n=e.length;it&&(t=n)}return t}const s=Math.max(n(e),n(t));function o(e){if(e<0)throw new Error("unexpected");return s+e+1}function r(e){let t=0,n=0;const s=new Int32Array(e.length);for(let r=0,a=e.length;ra},{getElements:()=>l}).ComputeDiff(!1).changes}var tW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},iW=function(e,t){return function(i,n){t(i,n,e)}};let nW=class extends Ae.jG{constructor(e,t,i,n,s){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=n,this.languageConfigurationService=s,this._updateOperation=this._register(new Ae.HE),this.inlineCompletions=(0,fg.X2)("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=(0,fg.X2)("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(e,t,i){const n=new sW(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(this._updateOperation.value?.request.satisfies(n))return this._updateOperation.value.promise;if(s.get()?.request.satisfies(n))return Promise.resolve(!0);const o=!!this._updateOperation.value;this._updateOperation.clear();const r=new sa.Qi,a=(async()=>{var a,l;if((o||t.triggerKind===La.qw.Automatic)&&await(a=this._debounceValue.get(this.textModel),l=r.token,new Promise((e=>{let t;const i=setTimeout((()=>{t&&t.dispose(),e()}),a);l&&(t=l.onCancellationRequested((()=>{clearTimeout(i),t&&t.dispose(),e()})))}))),r.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const h=new Date,d=await KF(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,r.token,this.languageConfigurationService);if(r.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const c=new Date;this._debounceValue.update(this.textModel,c.getTime()-h.getTime());const u=new rW(d,n,this.textModel,this.versionId);if(i){const t=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!d.has(t)&&u.prepend(i.inlineCompletion,t.range,!0)}return this._updateOperation.clear(),(0,fg.Rn)((e=>{s.set(u,e)})),!0})(),l=new oW(n,r,a);return this._updateOperation.value=l,a}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};nW=tW([iW(3,xa.ILanguageFeaturesService),iW(4,Wo.JZ)],nW);class sW{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&(0,FM.KC)(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,(0,FM.r)())&&(e.context.triggerKind===La.qw.Automatic||this.context.triggerKind===La.qw.Explicit)&&this.versionId===e.versionId}}class oW{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class rW{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,n){this.inlineCompletionProviderResult=e,this.request=t,this._textModel=i,this._versionId=n,this._refCount=1,this._prependedInlineCompletionItems=[];const s=i.deltaDecorations([],e.completions.map((e=>({range:e.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=e.completions.map(((e,t)=>new aW(e,s[t],this._textModel,this._versionId)))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){setTimeout((()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map((e=>e.decorationId)),[])}),0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const n=this._textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new aW(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class aW{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(e,t,i,n){this.inlineCompletion=e,this.decorationId=t,this._textModel=i,this._modelVersion=n,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=(0,fg.C)({owner:this,equalsFn:Js.Q.equalsRange},(e=>(this._modelVersion.read(e),this._textModel.getDecorationRange(this.decorationId))))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??lW)}toSingleTextEdit(e){return new IM.WR(this._updatedRange.read(e)??lW,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=QF(this._toFilterTextReplacement(i),e),s=this._updatedRange.read(i);if(!s||!this.inlineCompletion.range.getStartPosition().equals(s.getStartPosition())||t.lineNumber!==n.range.startLineNumber)return!1;const o=e.getValueInRange(n.range,1),r=n.text,a=Math.max(0,t.column-n.range.startColumn);let l=r.substring(0,a),h=r.substring(a),d=o.substring(0,a),c=o.substring(a);const u=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=u&&(d=d.trimStart(),0===d.length&&(c=c.trimStart()),l=l.trimStart(),0===l.length&&(h=h.trimStart())),l.startsWith(d)&&!!Wi(c,h)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&zI.W.ofRange(i).isGreaterThanOrEqualTo(zI.W.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new IM.WR(this._updatedRange.read(e)??lW,this.inlineCompletion.filterText)}}const lW=new Js.Q(1,1,1,1),hW={Visible:HR,HasFocusedSuggestion:new hs.N1("suggestWidgetHasFocusedSuggestion",!1,(0,$n.kg)("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new hs.N1("suggestWidgetDetailsVisible",!1,(0,$n.kg)("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new hs.N1("suggestWidgetMultipleSuggestions",!1,(0,$n.kg)("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new hs.N1("suggestionMakesTextEdit",!0,(0,$n.kg)("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new hs.N1("acceptSuggestionOnEnter",!0,(0,$n.kg)("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new hs.N1("suggestionHasInsertAndReplaceRange",!1,(0,$n.kg)("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new hs.N1("suggestionInsertMode",void 0,{type:"string",description:(0,$n.kg)("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new hs.N1("suggestionCanResolve",!1,(0,$n.kg)("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},dW=new vs("suggestWidgetStatusBar");class cW{constructor(e,t,i,n){this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=kn.Default,this.distance=0,this.textLabel="string"==typeof t.label?t.label:t.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,Js.Q.isIRange(t.range)?(this.editStart=new Qn.y(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Qn.y(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Qn.y(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||Js.Q.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Qn.y(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Qn.y(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Qn.y(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||Js.Q.spansMultipleLines(t.range.insert)||Js.Q.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),"function"!=typeof n.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested((()=>{this._resolveCache=void 0,this._resolveDuration=void 0})),i=new Vp.W(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then((e=>{Object.assign(this.completion,e),this._resolveDuration=i.elapsed()}),(e=>{(0,b.MB)(e)&&(this._resolveCache=void 0,this._resolveDuration=void 0)})).finally((()=>{t.dispose()}))}return this._resolveCache}}class uW{static{this.default=new uW}constructor(e=2,t=new Set,i=new Set,n=new Map,s=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=n,this.showDeprecated=s}}let gW;class pW{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function mW(e,t,i,n=uW.default,s={triggerKind:0},o=sa.XO.None){const r=new Vp.W;i=i.clone();const a=t.getWordAtPosition(i),l=a?new Js.Q(i.lineNumber,a.startColumn,i.lineNumber,a.endColumn):Js.Q.fromPositions(i),h={replace:l,insert:l.setEndPosition(i.lineNumber,i.column)},d=[],c=new Ae.Cm,u=[];let g=!1;const p=(e,t,s)=>{let o=!1;if(!t)return o;for(const r of t.suggestions)if(!n.kindFilter.has(r.kind)){if(!n.showDeprecated&&r?.tags?.includes(1))continue;r.range||(r.range=h),r.sortText||(r.sortText="string"==typeof r.label?r.label:r.label.label),!g&&r.insertTextRules&&4&r.insertTextRules&&(g=hl.guessNeedsClipboard(r.insertText)),d.push(new cW(i,r,t,e)),o=!0}return(0,Ae.Xm)(t)&&c.add(t),u.push({providerName:e._debugDisplayName??"unknown_provider",elapsedProvider:t.duration??-1,elapsedOverall:s.elapsed()}),o},m=(async()=>{})();for(const _ of e.orderedGroups(t)){let e=!1;if(await Promise.all(_.map((async r=>{if(n.providerItemsToReuse.has(r)){const t=n.providerItemsToReuse.get(r);return t.forEach((e=>d.push(e))),void(e=e||t.length>0)}if(!(n.providerFilter.size>0)||n.providerFilter.has(r))try{const n=new Vp.W,a=await r.provideCompletionItems(t,i,s,o);e=p(r,a,n)||e}catch(a){(0,b.M_)(a)}}))),e||o.isCancellationRequested)break}return await m,o.isCancellationRequested?(c.dispose(),Promise.reject(new b.AL)):new pW(d.sort((f=n.snippetSortOrder,_W.get(f))),g,{entries:u,elapsed:r.elapsed()},c);var f}function fW(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLowt.sortTextLow)return 1}return e.textLabelt.textLabel?1:e.completion.kind-t.completion.kind}const _W=new Map;_W.set(0,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return fW(e,t)})),_W.set(2,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return fW(e,t)})),_W.set(1,fW),ls.registerCommand("_executeCompletionItemProvider",(async(e,...t)=>{const[i,n,s,o]=t;(0,rs.j)(Hn.r.isUri(i)),(0,rs.j)(Qn.y.isIPosition(n)),(0,rs.j)("string"==typeof s||!s),(0,rs.j)("number"==typeof o||!o);const{completionProvider:r}=e.get(xa.ILanguageFeaturesService),a=await e.get(Zn.ITextModelService).createModelReference(i);try{const e={incomplete:!1,suggestions:[]},t=[],i=a.object.textEditorModel.validatePosition(n),l=await mW(r,a.object.textEditorModel,i,void 0,{triggerCharacter:s??void 0,triggerKind:s?1:0});for(const n of l.items)t.length<(o??0)&&t.push(n.resolve(sa.XO.None)),e.incomplete=e.incomplete||n.container.incomplete,e.suggestions.push(n.completion);try{return await Promise.all(t),e}finally{setTimeout((()=>l.disposable.dispose()),100)}}finally{a.dispose()}}));class vW{static isAllOff(e){return"off"===e.other&&"off"===e.comments&&"off"===e.strings}static isAllOn(e){return"on"===e.other&&"on"===e.comments&&"on"===e.strings}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}var bW=i(78518);function CW(e,t=f.uF){return(0,bW.No)(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}Object.create(null);var wW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},yW=function(e,t){return function(i,n){t(i,n,e)}};Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class SW{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(void 0!==i)return i}}}class kW{constructor(e,t,i,n){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=n}resolve(e){const{name:t}=e;if("SELECTION"===t||"TM_SELECTED_TEXT"===t){let t=this._model.getValueInRange(this._selection)||void 0,i=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){const e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,i=e.multiline)}if(t&&i&&e.snippet){const i=this._model.getLineContent(this._selection.startLineNumber),n=(0,Ri.UU)(i,0,this._selection.startColumn-1);let s=n;e.snippet.walk((t=>t!==e&&(t instanceof el&&(s=(0,Ri.UU)((0,Ri.uz)(t.value).pop())),!0)));const o=(0,Ri.Qp)(s,n);t=t.replace(/(\r\n|\r|\n)(.*)/g,((e,t,i)=>`${t}${s.substr(o)}${i}`))}return t}if("TM_CURRENT_LINE"===t)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===t){const e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}return"TM_LINE_INDEX"===t?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===t?String(this._selection.positionLineNumber):"CURSOR_INDEX"===t?String(this._selectionIdx):"CURSOR_NUMBER"===t?String(this._selectionIdx+1):void 0}}class LW{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if("TM_FILENAME"===t)return Da.P8(this._model.uri.fsPath);if("TM_FILENAME_BASE"===t){const e=Da.P8(this._model.uri.fsPath),t=e.lastIndexOf(".");return t<=0?e:e.slice(0,t)}return"TM_DIRECTORY"===t?"."===Da.pD(this._model.uri.fsPath)?"":this._labelService.getUriLabel((0,Bn.pD)(this._model.uri)):"TM_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class xW{constructor(e,t,i,n){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=n}resolve(e){if("CLIPBOARD"!==e.name)return;const t=this._readClipboardText();if(t){if(this._spread){const e=t.split(/\r\n|\n|\r/).filter((e=>!(0,Ri.AV)(e)));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}}let DW=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),n=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(n)return"LINE_COMMENT"===t?n.lineCommentToken||void 0:"BLOCK_COMMENT_START"===t?n.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===t&&n.blockCommentEndToken||void 0}};DW=wW([yW(2,Wo.JZ)],DW);class NW{constructor(){this._date=new Date}static{this.dayNames=[$n.kg("Sunday","Sunday"),$n.kg("Monday","Monday"),$n.kg("Tuesday","Tuesday"),$n.kg("Wednesday","Wednesday"),$n.kg("Thursday","Thursday"),$n.kg("Friday","Friday"),$n.kg("Saturday","Saturday")]}static{this.dayNamesShort=[$n.kg("SundayShort","Sun"),$n.kg("MondayShort","Mon"),$n.kg("TuesdayShort","Tue"),$n.kg("WednesdayShort","Wed"),$n.kg("ThursdayShort","Thu"),$n.kg("FridayShort","Fri"),$n.kg("SaturdayShort","Sat")]}static{this.monthNames=[$n.kg("January","January"),$n.kg("February","February"),$n.kg("March","March"),$n.kg("April","April"),$n.kg("May","May"),$n.kg("June","June"),$n.kg("July","July"),$n.kg("August","August"),$n.kg("September","September"),$n.kg("October","October"),$n.kg("November","November"),$n.kg("December","December")]}static{this.monthNamesShort=[$n.kg("JanuaryShort","Jan"),$n.kg("FebruaryShort","Feb"),$n.kg("MarchShort","Mar"),$n.kg("AprilShort","Apr"),$n.kg("MayShort","May"),$n.kg("JuneShort","Jun"),$n.kg("JulyShort","Jul"),$n.kg("AugustShort","Aug"),$n.kg("SeptemberShort","Sep"),$n.kg("OctoberShort","Oct"),$n.kg("NovemberShort","Nov"),$n.kg("DecemberShort","Dec")]}resolve(e){const{name:t}=e;if("CURRENT_YEAR"===t)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===t)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===t)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===t)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===t)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===t)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===t)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===t)return NW.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===t)return NW.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===t)return NW.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===t)return NW.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===t)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===t){const e=this._date.getTimezoneOffset(),t=e>0?"-":"+",i=Math.trunc(Math.abs(e/60)),n=i<10?"0"+i:i,s=Math.abs(e)-60*i;return t+n+":"+(s<10?"0"+s:s)}}}class IW{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=function(e,t){if("string"==typeof e||void 0===e)return"string"==typeof e?{id:(0,Da.P8)(e)}:t?Fa:Wa;const i=e;return i.configuration?{id:i.id,configPath:i.configuration}:1===i.folders.length?{id:i.id,uri:i.folders[0].uri}:{id:i.id}}(this._workspaceService.getWorkspace());return Oa(t)?void 0:"WORKSPACE_NAME"===e.name?this._resolveWorkspaceName(t):"WORKSPACE_FOLDER"===e.name?this._resoveWorkspacePath(t):void 0}_resolveWorkspaceName(e){if(Pa(e))return Da.P8(e.uri.path);let t=Da.P8(e.configPath.path);return t.endsWith(Ha)&&(t=t.substr(0,t.length-14-1)),t}_resoveWorkspacePath(e){if(Pa(e))return CW(e.uri.fsPath);const t=Da.P8(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?CW(i):"/"}}class EW{resolve(e){const{name:t}=e;return"RANDOM"===t?Math.random().toString().slice(-6):"RANDOM_HEX"===t?Math.random().toString(16).slice(-6):"UUID"===t?oa():void 0}}var MW,TW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},RW=function(e,t){return function(i,n){t(i,n,e)}};class AW{static{this._decor={active:to.kI.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:to.kI.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:to.kI.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:to.kI.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})}}constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=(0,na.$z)(t.placeholders,il.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(-1===this._offset)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations((t=>{for(const i of this._snippet.placeholders){const n=this._snippet.offset(i),s=this._snippet.fullLen(i),o=Js.Q.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),r=i.isFinalTabstop?AW._decor.inactiveFinal:AW._decor.inactive,a=t.addDecoration(o,r);this._placeholderDecorations.set(i,a)}}))}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const e=[];for(const t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){const i=this._placeholderDecorations.get(t),n=this._editor.getModel().getDecorationRange(i),s=this._editor.getModel().getValueInRange(n),o=t.transform.resolve(s).split(/\r\n|\r|\n/);for(let e=1;e0&&this._editor.executeEdits("snippet.placeholderTransform",e)}let t=!1;!0===e&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations((e=>{const i=new Set,n=[];for(const s of this._placeholderGroups[this._placeholderGroupsIdx]){const o=this._placeholderDecorations.get(s),r=this._editor.getModel().getDecorationRange(o);n.push(new qs.L(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(s),e.changeDecorationOptions(o,s.isFinalTabstop?AW._decor.activeFinal:AW._decor.active),i.add(s);for(const t of this._snippet.enclosingPlaceholders(s)){const n=this._placeholderDecorations.get(t);e.changeDecorationOptions(n,t.isFinalTabstop?AW._decor.activeFinal:AW._decor.active),i.add(t)}}for(const[t,s]of this._placeholderDecorations)i.has(t)||e.changeDecorationOptions(s,t.isFinalTabstop?AW._decor.inactiveFinal:AW._decor.inactive);return n}));return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof il){const e=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(e).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const n of t){if(n.isFinalTabstop)break;i||(i=[],e.set(n.index,i));const t=this._placeholderDecorations.get(n),s=this._editor.getModel().getDecorationRange(t);if(!s){e.delete(n.index);break}i.push(s)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!e?.choice)return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);return i?{range:i,choice:e.choice}:void 0}get hasChoice(){let e=!1;return this._snippet.walk((t=>(e=t instanceof nl,!e))),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((i=>{for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const s=e.shift();console.assert(-1!==s._offset),console.assert(!s._placeholderDecorations);const o=s._snippet.placeholderInfo.last.index;for(const e of s._snippet.placeholderInfo.all)e.isFinalTabstop?e.index=n.index+(o+1)/this._nestingLevel:e.index=n.index+e.index/this._nestingLevel;this._snippet.replace(n,s._snippet.children);const r=this._placeholderDecorations.get(n);i.removeDecoration(r),this._placeholderDecorations.delete(n);for(const e of s._snippet.placeholders){const n=s._snippet.offset(e),o=s._snippet.fullLen(e),r=Js.Q.fromPositions(t.getPositionAt(s._offset+n),t.getPositionAt(s._offset+n+o)),a=i.addDecoration(r,AW._decor.inactive);this._placeholderDecorations.set(e,a)}}this._placeholderGroups=(0,na.$z)(this._snippet.placeholders,il.compareByIndex)}))}}const PW={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let OW=MW=class{static adjustWhitespace(e,t,i,n,s){const o=e.getLineContent(t.lineNumber),r=(0,Ri.UU)(o,0,t.column-1);let a;return n.walk((t=>{if(!(t instanceof el)||t.parent instanceof nl)return!0;if(s&&!s.has(t))return!0;const o=t.value.split(/\r\n|\r|\n/);if(i){const i=n.offset(t);if(0===i)o[0]=e.normalizeIndentation(o[0]);else{a=a??n.toString();const t=a.charCodeAt(i-1);10!==t&&13!==t||(o[0]=e.normalizeIndentation(r+o[0]))}for(let t=1;te.get(Aa))),g=e.invokeWithinContext((e=>new LW(e.get(rN),c))),p=()=>r,m=c.getValueInRange(MW.adjustSelection(c,e.getSelection(),i,0)),f=c.getValueInRange(MW.adjustSelection(c,e.getSelection(),0,n)),_=c.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),v=e.getSelections().map(((e,t)=>({selection:e,idx:t}))).sort(((e,t)=>Js.Q.compareRangesUsingStarts(e.selection,t.selection)));for(const{selection:b,idx:C}of v){let r=MW.adjustSelection(c,b,i,0),w=MW.adjustSelection(c,b,0,n);m!==c.getValueInRange(r)&&(r=b),f!==c.getValueInRange(w)&&(w=b);const y=b.setStartPosition(r.startLineNumber,r.startColumn).setEndPosition(w.endLineNumber,w.endColumn),S=(new hl).parse(t,!0,s),k=y.getStartPosition(),L=MW.adjustWhitespace(c,k,o||C>0&&_!==c.getLineFirstNonWhitespaceColumn(b.positionLineNumber),S);S.resolveVariables(new SW([g,new xW(p,C,v.length,"spread"===e.getOption(79)),new kW(c,b,C,a),new DW(c,b,l),new NW,new IW(u),new EW])),h[C]=Ck.replace(y,S.toString()),h[C].identifier={major:C,minor:0},h[C]._isTracked=!0,d[C]=new AW(e,S,L)}return{edits:h,snippets:d}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,o,r){if(!e.hasModel()||0===t.length)return{edits:[],snippets:[]};const a=[],l=e.getModel(),h=new hl,d=new ll,c=new SW([e.invokeWithinContext((e=>new LW(e.get(rN),l))),new xW((()=>s),0,e.getSelections().length,"spread"===e.getOption(79)),new kW(l,e.getSelection(),0,o),new DW(l,e.getSelection(),r),new NW,new IW(e.invokeWithinContext((e=>e.get(Aa)))),new EW]);t=t.sort(((e,t)=>Js.Q.compareRangesUsingStarts(e.range,t.range)));let u=0;for(let g=0;g0){const i=t[g-1].range,n=Js.Q.fromPositions(i.getEndPosition(),e.getStartPosition()),s=new el(l.getValueInRange(n));d.appendChild(s),u+=s.value.length}const n=h.parseFragment(i,d);MW.adjustWhitespace(l,e.getStartPosition(),!0,d,new Set(n)),d.resolveVariables(c);const s=d.toString(),o=s.slice(u);u=s.length;const r=Ck.replace(e,o);r.identifier={major:g,minor:0},r._isTracked=!0,a.push(r)}return h.ensureFinalTabstop(d,i,!0),{edits:a,snippets:[new AW(e,d,"")]}}constructor(e,t,i=PW,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){(0,Ae.AS)(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}="string"==typeof this._template?MW.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):MW.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,(e=>{const i=e.filter((e=>!!e.identifier));for(let n=0;nqs.L.fromPositions(e.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=PW){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=MW.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,(e=>{const t=e.filter((e=>!!e.identifier));for(let s=0;sqs.L.fromPositions(e.range.getEndPosition())))}))}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const n=i.move(e);t.push(...n)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length{e.push(...n.get(t))}))}e.sort(Js.Q.compareRangesUsingStarts);for(const[i,n]of t)if(n.length===e.length){n.sort(Js.Q.compareRangesUsingStarts);for(let s=0;s0}};OW=MW=TW([RW(3,Wo.JZ)],OW);var FW,WW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},BW=function(e,t){return function(i,n){t(i,n,e)}};const HW={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let VW=class{static{FW=this}static{this.ID="snippetController2"}static get(e){return e.getContribution(FW.ID)}static{this.InSnippetMode=new hs.N1("inSnippetMode",!1,(0,$n.kg)("inSnippetMode","Whether the editor in current in snippet mode"))}static{this.HasNextTabstop=new hs.N1("hasNextTabstop",!1,(0,$n.kg)("hasNextTabstop","Whether there is a next tab stop when in snippet mode"))}static{this.HasPrevTabstop=new hs.N1("hasPrevTabstop",!1,(0,$n.kg)("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode"))}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new Ae.Cm,this._modelVersionId=-1,this._inSnippet=FW.InSnippetMode.bindTo(n),this._hasNextTabstop=FW.HasNextTabstop.bindTo(n),this._hasPrevTabstop=FW.HasPrevTabstop.bindTo(n)}dispose(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,void 0===t?HW:{...HW,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof e&&this.cancel(),this._session?((0,rs.j)("string"==typeof e),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new OW(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){const e={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!Qn.y.equals(this._editor.getPosition(),t))return;const{activeChoice:i}=this._session;if(!i||0===i.choice.options.length)return;const n=e.getValueInRange(i.range),s=Boolean(i.choice.options.find((e=>e.value===n))),o=[];for(let r=0;r{i?.dispose(),n=!1},o=()=>{n||(i=this._languageFeaturesService.completionProvider.register({language:t.getLanguageId(),pattern:t.uri.fsPath,scheme:t.uri.scheme,exclusive:!0},e),this._snippetListener.add(i),n=!0)};this._choiceCompletions={provider:e,enable:o,disable:s}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((e=>e.isFlush&&this.cancel()))),this._snippetListener.add(this._editor.onDidChangeModel((()=>this.cancel()))),this._snippetListener.add(this._editor.onDidChangeCursorSelection((()=>this._updateState())))}}_updateState(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel())return void(this._currentChoice=void 0);const{activeChoice:e}=this._session;if(!e||!this._choiceCompletions)return this._choiceCompletions?.disable(),void(this._currentChoice=void 0);this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask((()=>{!function(e,t){e.getContribution("editor.contrib.suggestController")?.triggerSuggest((new Set).add(t),void 0,!0)}(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,this._session?.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};VW=FW=WW([BW(1,Ns.rr),BW(2,xa.ILanguageFeaturesService),BW(3,hs.fN),BW(4,Wo.JZ)],VW),Hs(VW.ID,VW,4);const zW=Ts.bindToContribution(VW.get);Fs(new zW({id:"jumpToNextSnippetPlaceholder",precondition:hs.M$.and(VW.InSnippetMode,VW.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:$s.textInputFocus,primary:2}})),Fs(new zW({id:"jumpToPrevSnippetPlaceholder",precondition:hs.M$.and(VW.InSnippetMode,VW.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:$s.textInputFocus,primary:1026}})),Fs(new zW({id:"leaveSnippet",precondition:VW.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:$s.textInputFocus,primary:9,secondary:[1033]}})),Fs(new zW({id:"acceptSnippet",precondition:VW.InSnippetMode,handler:e=>e.finish()}));var UW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},KW=function(e,t){return function(i,n){t(i,n,e)}};let jW=class extends Ae.jG{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,o,r,a,l,h,d,c){let u;super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=n,this._debounceValue=s,this._suggestPreviewEnabled=o,this._suggestPreviewMode=r,this._inlineSuggestMode=a,this._enabled=l,this._instantiationService=h,this._commandService=d,this._languageConfigurationService=c,this._source=this._register(this._instantiationService.createInstance(nW,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=(0,fg.FY)(this,!1),this._forceUpdateExplicitlySignal=(0,fg.Yd)(this),this._selectedInlineCompletionId=(0,fg.FY)(this,void 0),this._primaryPosition=(0,fg.un)(this,(e=>this._positions.read(e)[0]??new Qn.y(1,1))),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([$W.Redo,$W.Undo,$W.AcceptWord]),this._fetchInlineCompletionsPromise=(0,fg.nb)({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:La.qw.Automatic}),handleChange:(e,t)=>(e.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(e.change))?t.preserveCurrentCompletion=!0:e.didChange(this._forceUpdateExplicitlySignal)&&(t.inlineCompletionTriggerKind=La.qw.Explicit),!0)},((e,t)=>{this._forceUpdateExplicitlySignal.read(e);if(!(this._enabled.read(e)&&this.selectedSuggestItem.read(e)||this._isActive.read(e)))return void this._source.cancelUpdate();this._textModelVersionId.read(e);const i=this._source.suggestWidgetInlineCompletions.get(),n=this.selectedSuggestItem.read(e);if(i&&!n){const e=this._source.inlineCompletions.get();(0,fg.Rn)((t=>{(!e||i.request.versionId>e.request.versionId)&&this._source.inlineCompletions.set(i.clone(),t),this._source.clearSuggestWidgetInlineCompletions(t)}))}const s=this._primaryPosition.read(e),o={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:n?.toSelectedSuggestionInfo()},r=this.selectedInlineCompletion.get(),a=t.preserveCurrentCompletion||r?.forwardStable?r:void 0;return this._source.fetch(s,o,a)})),this._filteredInlineCompletionItems=(0,fg.C)({owner:this,equalsFn:(0,FM.S3)()},(e=>{const t=this._source.inlineCompletions.read(e);if(!t)return[];const i=this._primaryPosition.read(e),n=t.inlineCompletions.filter((t=>t.isVisible(this.textModel,i,e)));return n})),this.selectedInlineCompletionIndex=(0,fg.un)(this,(e=>{const t=this._selectedInlineCompletionId.read(e),i=this._filteredInlineCompletionItems.read(e),n=void 0===this._selectedInlineCompletionId?-1:i.findIndex((e=>e.semanticId===t));return-1===n?(this._selectedInlineCompletionId.set(void 0,void 0),0):n})),this.selectedInlineCompletion=(0,fg.un)(this,(e=>this._filteredInlineCompletionItems.read(e)[this.selectedInlineCompletionIndex.read(e)])),this.activeCommands=(0,fg.C)({owner:this,equalsFn:(0,FM.S3)()},(e=>this.selectedInlineCompletion.read(e)?.inlineCompletion.source.inlineCompletions.commands??[])),this.lastTriggerKind=this._source.inlineCompletions.map(this,(e=>e?.request.context.triggerKind)),this.inlineCompletionsCount=(0,fg.un)(this,(e=>this.lastTriggerKind.read(e)===La.qw.Explicit?this._filteredInlineCompletionItems.read(e).length:void 0)),this.state=(0,fg.C)({owner:this,equalsFn:(e,t)=>e&&t?xF(e.ghostTexts,t.ghostTexts)&&e.inlineCompletion===t.inlineCompletion&&e.suggestItem===t.suggestItem:e===t},(e=>{const t=this.textModel,i=this.selectedSuggestItem.read(e);if(i){const n=QF(i.toSingleTextEdit(),t),s=this._computeAugmentation(n,e);if(!this._suggestPreviewEnabled.read(e)&&!s)return;const o=s?.edit??n,r=s?s.edit.text.length-n.text.length:0,a=this._suggestPreviewMode.read(e),l=this._positions.read(e),h=[o,...qW(this.textModel,l,o)],d=h.map(((e,i)=>ZF(e,t,a,l[i],r))).filter(rs.O9);return{edits:h,primaryGhostText:d[0]??new SF(o.range.endLineNumber,[]),ghostTexts:d,inlineCompletion:s?.completion,suggestItem:i}}{if(!this._isActive.read(e))return;const i=this.selectedInlineCompletion.read(e);if(!i)return;const n=i.toSingleTextEdit(e),s=this._inlineSuggestMode.read(e),o=this._positions.read(e),r=[n,...qW(this.textModel,o,n)],a=r.map(((e,i)=>ZF(e,t,s,o[i],0))).filter(rs.O9);if(!a[0])return;return{edits:r,primaryGhostText:a[0],ghostTexts:a,inlineCompletion:i,suggestItem:void 0}}})),this.ghostTexts=(0,fg.C)({owner:this,equalsFn:xF},(e=>{const t=this.state.read(e);if(t)return t.ghostTexts})),this.primaryGhostText=(0,fg.C)({owner:this,equalsFn:DF},(e=>{const t=this.state.read(e);if(t)return t?.primaryGhostText})),this._register((0,fg.OI)(this._fetchInlineCompletionsPromise)),this._register((0,fg.fm)((e=>{const t=this.state.read(e),i=t?.inlineCompletion;if(i?.semanticId!==u?.semanticId&&(u=i,i)){const e=i.inlineCompletion,t=e.source;t.provider.handleItemDidShow?.(t.inlineCompletions,e.sourceInlineCompletion,e.insertText)}})))}_getReason(e){return e?.isUndoing?$W.Undo:e?.isRedoing?$W.Redo:this.isAcceptingPartially?$W.AcceptWord:$W.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){(0,fg.PO)(e,(e=>{this._isActive.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)})),await this._fetchInlineCompletionsPromise.get()}stop(e){(0,fg.PO)(e,(e=>{this._isActive.set(!1,e),this._source.clear(e)}))}_computeAugmentation(e,t){const i=this.textModel,n=this._source.suggestWidgetInlineCompletions.read(t),s=n?n.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(rs.O9);return(0,Lb.oH)(s,(n=>{let s=n.toSingleTextEdit(t);return s=QF(s,i,Js.Q.fromPositions(s.range.getStartPosition(),e.range.getEndPosition())),YF(s,e)?{completion:n,edit:s}:void 0}))}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new b.D7;const t=this.state.get();if(!t||t.primaryGhostText.isEmpty()||!t.inlineCompletion)return;const i=t.inlineCompletion.toInlineCompletion(void 0);if(i.command&&i.source.addRef(),e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[Ck.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),VW.get(e)?.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const n=t.edits,s=GW(n).map((e=>qs.L.fromPositions(e)));e.executeEdits("inlineSuggestion.accept",[...n.map((e=>Ck.replace(e.range,e.text))),...i.additionalTextEdits]),e.setSelections(s,"inlineCompletionAccept")}this.stop(),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,b.M_),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,((e,t)=>{const i=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),n=this._languageConfigurationService.getLanguageConfiguration(i),s=new RegExp(n.wordDefinition.source,n.wordDefinition.flags.replace("g","")),o=t.match(s);let r=0;r=o&&void 0!==o.index?0===o.index?o[0].length:o.index:t.length;const a=/\s+/g.exec(t);return a&&void 0!==a.index&&a.index+a[0].length{const i=t.match(/\n/);return i&&void 0!==i.index?i.index+1:t.length}),1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new b.D7;const n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;const s=n.primaryGhostText,o=n.inlineCompletion.toInlineCompletion(void 0);if(o.snippetInfo||o.filterText!==o.insertText)return void await this.accept(e);const r=s.parts[0],a=new Qn.y(s.lineNumber,r.column),l=r.text,h=t(a,l);if(h===l.length&&1===s.parts.length)return void this.accept(e);const d=l.substring(0,h),c=this._positions.get(),u=c[0];o.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const t=Js.Q.fromPositions(u,a),i=e.getModel().getValueInRange(t)+d,n=new IM.WR(t,i),s=[n,...qW(this.textModel,c,n)],o=GW(s).map((e=>qs.L.fromPositions(e)));e.executeEdits("inlineSuggestion.accept",s.map((e=>Ck.replace(e.range,e.text)))),e.setSelections(o,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(o.source.provider.handlePartialAccept){const t=Js.Q.fromPositions(o.range.getStartPosition(),zI.W.ofText(d).addToPosition(a)),n=e.getModel().getValueInRange(t,1);o.source.provider.handlePartialAccept(o.source.inlineCompletions,o.sourceInlineCompletion,n.length,{kind:i})}}finally{o.source.removeRef()}}handleSuggestAccepted(e){const t=QF(e.toSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;const n=i.completion.inlineCompletion;n.source.provider.handlePartialAccept?.(n.source.inlineCompletions,n.sourceInlineCompletion,t.text.length,{kind:2})}};var $W;function qW(e,t,i){if(1===t.length)return[];const n=t[0],s=t.slice(1),o=i.range.getStartPosition(),r=i.range.getEndPosition(),a=e.getValueInRange(Js.Q.fromPositions(n,r)),l=MF(n,o);if(l.lineNumber<1)return(0,b.dz)(new b.D7(`positionWithinTextEdit line number should be bigger than 0.\n\t\t\tInvalid subtraction between ${n.toString()} and ${o.toString()}`)),[];const h=function(e,t){let i="";const n=(0,Ri.en)(e);for(let s=t.lineNumber-1;s{const i=(n=MF(t,o),s=r,new Qn.y(n.lineNumber+s.lineNumber-1,1===s.lineNumber?n.column+s.column-1:s.column));var n,s;const l=e.getValueInRange(Js.Q.fromPositions(t,i)),d=(0,Ri.Qp)(a,l),c=Js.Q.fromPositions(t,t.delta(0,d));return new IM.WR(c,h)}))}function GW(e){const t=na.t9.createSortPermutation(e,(0,na.VE)((e=>e.range),Js.Q.compareRangesUsingStarts)),i=new IM.mF(t.apply(e)).getNewRanges();return t.inverse().apply(i).map((e=>e.getEndPosition()))}jW=UW([KW(9,qn._Y),KW(10,as),KW(11,Wo.JZ)],jW),function(e){e[e.Undo=0]="Undo",e[e.Redo=1]="Redo",e[e.AcceptWord=2]="AcceptWord",e[e.Other=3]="Other"}($W||($W={}));var QW,YW=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ZW=function(e,t){return function(i,n){t(i,n,e)}};class XW{constructor(e){this.name=e}select(e,t,i){if(0===i.length)return 0;const n=i[0].score[0];for(let s=0;sa&&n.type===i[l].completion.kind&&n.insertText===i[l].completion.insertText&&(a=n.touch,r=l),i[l].completion.preselect&&-1===o)return l}return-1!==r?r:-1!==o?o:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(const[t,i]of e)i.touch=0,i.type="number"==typeof i.type?i.type:La.HC.fromString(i.type),this._cache.set(t,i);this._seq=this._cache.size}}class tB extends XW{constructor(){super("recentlyUsedByPrefix"),this._trie=Ra.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),s=`${e.getLanguageId()}/${n}`;this._trie.set(s,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const s=`${e.getLanguageId()}/${n}`;let o=this._trie.get(s);if(o||(o=this._trie.findSubstr(s)),o)for(let r=0;re.push([i,t]))),e.sort(((e,t)=>-(e[1].touch-t[1].touch))).forEach(((e,t)=>e[1].touch=t)),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type="number"==typeof i.type?i.type:La.HC.fromString(i.type),this._trie.set(t,i)}}}let iB=class{static{QW=this}static{this._strategyCtors=new Map([["recentlyUsedByPrefix",tB],["recentlyUsed",eB],["first",JW]])}static{this._storagePrefix="suggest/memories"}constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Ae.Cm,this._persistSoon=new A.uC((()=>this._saveState()),500),this._disposables.add(e.onWillSaveState((e=>{e.reason===Cw.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(this._strategy?.name!==i){this._saveState();const e=QW._strategyCtors.get(i)||JW;this._strategy=new e;try{const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=this._storageService.get(`${QW._storagePrefix}/${i}`,e);t&&this._strategy.fromJSON(JSON.parse(t))}catch(n){}}return this._strategy}_saveState(){if(this._strategy){const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=JSON.stringify(this._strategy);this._storageService.store(`${QW._storagePrefix}/${this._strategy.name}`,t,e,1)}}};iB=QW=YW([ZW(0,bw),ZW(1,Wp.pG)],iB);const nB=(0,qn.u1)("ISuggestMemories");(0,ul.v)(nB,iB,1);var sB,oB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},rB=function(e,t){return function(i,n){t(i,n,e)}};let aB=class{static{sB=this}static{this.AtEnd=new hs.N1("atEndOfWord",!1)}constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=sB.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration((e=>e.hasChanged(124)&&this._update())),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){const e="on"===this._editor.getOption(124);if(this._enabled!==e)if(this._enabled=e,this._enabled){const e=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const e=this._editor.getModel(),t=this._editor.getSelection(),i=e.getWordAtPosition(t.getStartPosition());i?this._ckAtEnd.set(i.endColumn===t.getStartPosition().column):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};aB=sB=oB([rB(1,hs.fN)],aB);var lB,hB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},dB=function(e,t){return function(i,n){t(i,n,e)}};let cB=class{static{lB=this}static{this.OtherSuggestions=new hs.N1("hasOtherSuggestions",!1)}constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=lB.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(0===e.items.length)return void this.reset();lB._moveIndex(!0,e,t)!==t?(this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(e,t,i){let n=i;for(let s=t.items.length;s>0&&(n=(n+t.items.length+(e?1:-1))%t.items.length,n!==i)&&t.items[n].completion.additionalTextEdits;s--);return n}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=lB._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};cB=lB=hB([dB(1,hs.fN)],cB);class uB{constructor(e,t,i,n){this._disposables=new Ae.Cm,this._disposables.add(i.onDidSuggest((e=>{0===e.completionModel.items.length&&this.reset()}))),this._disposables.add(i.onDidCancel((e=>{this.reset()}))),this._disposables.add(t.onDidShow((()=>this._onItem(t.getFocusedItem())))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType((s=>{if(this._active&&!t.isFrozen()&&0!==i.state){const t=s.charCodeAt(s.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&n(this._active.item)}})))}_onItem(e){if(!e||!(0,na.EI)(e.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===e.item)return;const t=new pb.y;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class gB{async provideSelectionRanges(e,t){const i=[];for(const n of t){const t=[];i.push(t);const s=new Map;await new Promise((t=>gB._bracketsRightYield(t,0,e,n,s))),await new Promise((i=>gB._bracketsLeftYield(i,0,e,n,s,t)))}return i}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(e,t,i,n,s){const o=new Map,r=Date.now();for(;;){if(t>=gB._maxRounds){e();break}if(!n){e();break}const a=i.bracketPairs.findNextBracket(n);if(!a){e();break}if(Date.now()-r>gB._maxDuration){setTimeout((()=>gB._bracketsRightYield(e,t+1,i,n,s)));break}if(a.bracketInfo.isOpeningBracket){const e=a.bracketInfo.bracketText,t=o.has(e)?o.get(e):0;o.set(e,t+1)}else{const e=a.bracketInfo.getOpeningBrackets()[0].bracketText;let t=o.has(e)?o.get(e):0;if(t-=1,o.set(e,Math.max(0,t)),t<0){let t=s.get(e);t||(t=new ss.w,s.set(e,t)),t.push(a.range)}}n=a.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,o){const r=new Map,a=Date.now();for(;;){if(t>=gB._maxRounds&&0===s.size){e();break}if(!n){e();break}const l=i.bracketPairs.findPrevBracket(n);if(!l){e();break}if(Date.now()-a>gB._maxDuration){setTimeout((()=>gB._bracketsLeftYield(e,t+1,i,n,s,o)));break}if(l.bracketInfo.isOpeningBracket){const e=l.bracketInfo.bracketText;let t=r.has(e)?r.get(e):0;if(t-=1,r.set(e,Math.max(0,t)),t<0){const t=s.get(e);if(t){const n=t.shift();0===t.size&&s.delete(e);const r=Js.Q.fromPositions(l.range.getEndPosition(),n.getStartPosition()),a=Js.Q.fromPositions(l.range.getStartPosition(),n.getEndPosition());o.push({range:r}),o.push({range:a}),gB._addBracketLeading(i,a,o)}}}else{const e=l.bracketInfo.getOpeningBrackets()[0].bracketText,t=r.has(e)?r.get(e):0;r.set(e,t+1)}n=l.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const n=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(n);0!==s&&s!==t.startColumn&&(i.push({range:Js.Q.fromPositions(new Qn.y(n,s),t.getEndPosition())}),i.push({range:Js.Q.fromPositions(new Qn.y(n,1),t.getEndPosition())}));const o=n-1;if(o>0){const n=e.getLineFirstNonWhitespaceColumn(o);n===t.startColumn&&n!==e.getLineLastNonWhitespaceColumn(o)&&(i.push({range:Js.Q.fromPositions(new Qn.y(o,n),t.getEndPosition())}),i.push({range:Js.Q.fromPositions(new Qn.y(o,1),t.getEndPosition())}))}}}class pB{static{this.None=new class extends pB{distance(){return 0}}}static async create(e,t){if(!t.getOption(119).localityBonus)return pB.None;if(!t.hasModel())return pB.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return pB.None;const[s]=await(new gB).provideSelectionRanges(i,[n]);if(0===s.length)return pB.None;const o=await e.computeWordRanges(i.uri,s[0].range);if(!o)return pB.None;const r=i.getWordUntilPosition(n);return delete o[r.word],new class extends pB{distance(e,i){if(!n.equals(t.getPosition()))return 0;if(17===i.kind)return 2<<20;const r="string"==typeof i.label?i.label:i.label.label,a=o[r];if((0,na.Ct)(a))return 2<<20;const l=(0,na.El)(a,Js.Q.fromPositions(e),Js.Q.compareRangesUsingStarts),h=l>=0?a[l]:a[Math.max(0,~l-1)];let d=s.length;for(const t of s){if(!Js.Q.containsRange(t.range,h))break;d-=1}return d}}}}class mB{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}}class fB{constructor(e,t,i,n,s,o,r=Ln.default,a=void 0){this.clipboardText=a,this._snippetCompareFn=fB._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=n,this._options=s,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=r,"top"===o?this._snippetCompareFn=fB._compareCompletionItemsSnippetsUp:"bottom"===o&&(this._snippetCompareFn=fB._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let n="",s="";const o=1===this._refilterKind?this._items:this._filteredItems,r=[],a=!this._options.filterGraceful||o.length>2e3?xn:Nn;for(let l=0;l=u)h.score=kn.Default;else if("string"==typeof h.completion.filterText){const t=a(n,s,e,h.completion.filterText,h.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;0===(0,Ri.W1)(h.completion.filterText,h.textLabel)?h.score=t:(h.score=hn(n,s,e,h.textLabel,h.labelLow,0),h.score[0]=t[0])}else{const t=a(n,s,e,h.textLabel,h.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;h.score=t}}h.idx=l,h.distance=this._wordDistance.distance(h.position,h.completion),r.push(h),e.push(h.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?(0,na.SO)(e.length-.85,e,((e,t)=>e-t)):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return fB._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return fB._compareCompletionItems(e,t)}}var _B,vB=i(88195),bB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},CB=function(e,t){return function(i,n){t(i,n,e)}};class wB{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const n=t.getWordAtPosition(i);return!!n&&((n.endColumn===i.column||n.startColumn+1===i.column)&&!!isNaN(Number(n.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}let yB=_B=class{constructor(e,t,i,n,s,o,r,a,l){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=o,this._configurationService=r,this._languageFeaturesService=a,this._envService=l,this._toDispose=new Ae.Cm,this._triggerCharacterListener=new Ae.Cm,this._triggerQuickSuggest=new A.pc,this._triggerState=void 0,this._completionDisposables=new Ae.Cm,this._onDidCancel=new P.vl,this._onDidTrigger=new P.vl,this._onDidSuggest=new P.vl,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new qs.L(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeModelLanguage((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeConfiguration((()=>{this._updateTriggerCharacters()}))),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange((()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()})));let h=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{h=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{h=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((e=>{h||this._onCursorChange(e)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{h||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){(0,Ae.AS)(this._triggerCharacterListener),(0,Ae.AS)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const t of i.triggerCharacters||[]){let n=e.get(t);if(!n){n=new Set;const i=gW;i&&n.add(i),e.set(t,n)}n.add(i)}const t=t=>{if(!function(e,t){if(!Boolean(t.getContextKeyValue("inlineSuggestionVisible")))return!0;const i=t.getContextKeyValue(yF.suppressSuggestions.key);return void 0!==i?!i:!e.getOption(62).suppressSuggestions}(this._editor,this._contextKeyService,this._configurationService))return;if(wB.shouldAutoTrigger(this._editor))return;if(!t){const e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let i="";(0,Ri.LJ)(t.charCodeAt(t.length-1))?(0,Ri.pc)(t.charCodeAt(t.length-2))&&(i=t.substr(t.length-2)):i=t.charAt(t.length-1);const n=e.get(i);if(n){const e=new Map;if(this._completionModel)for(const[t,i]of this._completionModel.getItemsByProvider())n.has(t)||e.set(t,i);this.trigger({auto:!0,triggerKind:1,triggerCharacter:i,retrigger:Boolean(this._completionModel),clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:n,providerItemsToReuse:e}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd((()=>t())))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),this._requestToken?.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||0!==e.reason&&3!==e.reason||"keyboard"!==e.source&&"deleteLeft"!==e.source?this.cancel():void 0===this._triggerState&&0===e.reason?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===e.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){vW.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&VW.get(this._editor)?.isInSnippet()||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!wB.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const e=this._editor.getModel(),t=this._editor.getPosition(),i=this._editor.getOption(90);if(!vW.isAllOff(i)){if(!vW.isAllOn(i)){e.tokenization.tokenizeIfCheap(t.lineNumber);const n=e.tokenization.getLineTokens(t.lineNumber),s=n.getStandardTokenType(n.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("on"!==vW.valueFor(i,s))return}(function(e,t){if(!Boolean(t.getContextKeyValue(yF.inlineSuggestionVisible.key)))return!0;const i=t.getContextKeyValue(yF.suppressSuggestions.key);return void 0!==i?!i:!e.getOption(62).suppressSuggestions})(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&this.trigger({auto:!0})}}),this._editor.getOption(91)))}_refilterCompletionItems(){(0,rs.j)(this._editor.hasModel()),(0,rs.j)(void 0!==this._triggerState);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new wB(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new wB(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=i;let n={triggerKind:e.triggerKind??0};e.triggerCharacter&&(n={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new sa.Qi;let s=1;switch(this._editor.getOption(113)){case"top":s=0;break;case"bottom":s=2}const{itemKind:o,showDeprecated:r}=_B.createSuggestFilter(this._editor),a=new uW(s,e.completionOptions?.kindFilter??o,e.completionOptions?.providerFilter,e.completionOptions?.providerItemsToReuse,r),l=pB.create(this._editorWorkerService,this._editor),h=mW(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),a,n,this._requestToken.token);Promise.all([h,l]).then((async([t,i])=>{if(this._requestToken?.dispose(),!this._editor.hasModel())return;let n=e?.clipboardText;if(!n&&t.needsClipboard&&(n=await this._clipboardService.readText()),void 0===this._triggerState)return;const s=this._editor.getModel(),o=new wB(s,this._editor.getPosition(),e),r={...Ln.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new fB(t.items,this._context.column,{leadingLineContent:o.leadingLineContent,characterCountDelta:o.column-this._context.column},i,this._editor.getOption(119),this._editor.getOption(113),r,n),this._completionDisposables.add(t.disposable),this._onNewContext(o),this._reportDurationsTelemetry(t.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const e of t.items)e.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${e.provider._debugDisplayName}`,e.completion)})).catch(b.dz)}_reportDurationsTelemetry(e){this._telemetryGate++%230==0&&setTimeout((()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)}))}static createSuggestFilter(e){const t=new Set;"none"===e.getOption(113)&&t.add(27);const i=e.getOption(119);return i.showMethods||t.add(0),i.showFunctions||t.add(1),i.showConstructors||t.add(2),i.showFields||t.add(3),i.showVariables||t.add(4),i.showClasses||t.add(5),i.showStructs||t.add(6),i.showInterfaces||t.add(7),i.showModules||t.add(8),i.showProperties||t.add(9),i.showEvents||t.add(10),i.showOperators||t.add(11),i.showUnits||t.add(12),i.showValues||t.add(13),i.showConstants||t.add(14),i.showEnums||t.add(15),i.showEnumMembers||t.add(16),i.showKeywords||t.add(17),i.showWords||t.add(18),i.showColors||t.add(19),i.showFiles||t.add(20),i.showReferences||t.add(21),i.showColors||t.add(22),i.showFolders||t.add(23),i.showTypeParameters||t.add(24),i.showSnippets||t.add(27),i.showUsers||t.add(25),i.showIssues||t.add(26),{itemKind:t,showDeprecated:i.showDeprecated}}_onNewContext(e){if(this._context)if(e.lineNumber===this._context.lineNumber)if((0,Ri.UU)(e.leadingLineContent)===(0,Ri.UU)(this._context.leadingLineContent)){if(e.columnthis._context.leadingWord.startColumn){if(wB.shouldAutoTrigger(this._editor)&&this._context){const e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}}else if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==e.leadingWord.word.length){const e=new Map,t=new Set;for(const[i,n]of this._completionModel.getItemsByProvider())n.length>0&&n[0].container.incomplete?t.add(i):e.set(i,n);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){const n=wB.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(n&&this._context.leadingWord.endColumn0,i&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}else this.cancel();else this.cancel()}};yB=_B=bB([CB(1,Bw.IEditorWorkerService),CB(2,jh),CB(3,xs),CB(4,Ns.rr),CB(5,hs.fN),CB(6,Wp.pG),CB(7,xa.ILanguageFeaturesService),CB(8,vB.k)],yB);class SB{static{this._maxSelectionLength=51200}constructor(e,t){this._disposables=new Ae.Cm,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType((()=>{if(this._locked||!e.hasModel())return;const t=e.getSelections(),i=t.length;let n=!1;for(let e=0;eSB._maxSelectionLength)return;this._lastOvertyped[e]={value:s.getValueInRange(i),multiline:i.startLineNumber!==i.endLineNumber}}}))),this._disposables.add(t.onDidTrigger((e=>{this._locked=!0}))),this._disposables.add(t.onDidCancel((e=>{this._locked=!1})))}getLastOvertypedInfo(e){if(e>=0&&e=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},LB=function(e,t){return function(i,n){t(i,n,e)}};let xB=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new Ae.Cm,this.element=Gt(e,ei(".suggest-status-bar"));const o=e=>e instanceof Ss?i.createInstance(jy,e,{useComma:!0}):void 0;this._leftActions=new ep(this.element,{actionViewItemProvider:o}),this._rightActions=new ep(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const t=[],i=[];for(const[n,s]of e.getActions())"left"===n?t.push(...s):i.push(...s);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(i)};this._menuDisposables.add(e.onDidChange((()=>t()))),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};xB=kB([LB(2,qn._Y),LB(3,bs),LB(4,hs.fN)],xB);var DB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},NB=function(e,t){return function(i,n){t(i,n,e)}};function IB(e){return!!e&&Boolean(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}let EB=class{constructor(e,t){this._editor=e,this._onDidClose=new P.vl,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new P.vl,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Ae.Cm,this._renderDisposeable=new Ae.Cm,this._borderWidth=1,this._size=new ht(330,0),this.domNode=ei(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Fh,{editor:e}),this._body=ei(".body"),this._scrollbar=new eg(this._body,{alwaysConsumeMouseWheel:!0}),Gt(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Gt(this._body,ei(".header")),this._close=Gt(this._header,ei("span"+En.L.asCSSSelector(bl.W.close))),this._close.title=$n.kg("details.close","Close"),this._type=Gt(this._header,ei("p.type")),this._docs=Gt(this._body,ei("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),n=e.get(120)||t.fontSize,s=e.get(121)||t.lineHeight,o=t.fontWeight,r=`${n}px`,a=`${s}px`;this.domNode.style.fontSize=r,this.domNode.style.lineHeight=""+s/n,this.domNode.style.fontWeight=o,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=a,this._close.style.width=a}getLayoutInfo(){const e=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,t=this._borderWidth;return{lineHeight:e,borderWidth:t,borderHeight:2*t,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=$n.kg("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(e,t){this._renderDisposeable.clear();let{detail:i,documentation:n}=e.completion;if(t){let t="";t+=`score: ${e.score[0]}\n`,t+=`prefix: ${e.word??"(no prefix)"}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}\n`,t+=`commit_chars: ${e.completion.commitCharacters?.join("")}\n`,n=(new Vn).appendCodeblock("empty",t),i=`Provider: ${e.provider._debugDisplayName}`}if(t||IB(e)){if(this.domNode.classList.remove("no-docs","no-type"),i){const e=i.length>1e5?`${i.substr(0,1e5)}\u2026`:i;this._type.textContent=e,this._type.title=e,ti(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(e))}else Ge(this._type),this._type.title="",ii(this._type),this.domNode.classList.add("no-type");if(Ge(this._docs),"string"==typeof n)this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Ge(this._docs);const e=this._markdownRenderer.render(n);this._docs.appendChild(e.element),this._renderDisposeable.add(e),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync((()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)})))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new ht(e,t);ht.equals(i,this._size)||(this._size=i,function(e,t,i){"number"==typeof t&&(e.style.width=`${t}px`),"number"==typeof i&&(e.style.height=`${i}px`)}(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};EB=DB([NB(1,qn._Y)],EB);class MB{constructor(e,t){let i,n;this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Ae.Cm,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new OS,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let s=0,o=0;this._disposables.add(this._resizable.onDidWillResize((()=>{i=this._topLeft,n=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((e=>{if(i&&n){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(o=n.width-e.dimension.width,t=!0),e.north&&(s=n.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:i.top+s,left:i.left+o})}e.done&&(i=void 0,n=void 0,s=0,o=0,this._userSize=e.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)})))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){const n=at(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),o=new ht(220,2*s.lineHeight),r=e.top,a=function(){const i=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),a=-s.borderWidth+e.left+e.width,l=new ht(i,n.height-e.top-s.borderHeight-s.verticalPadding),h=l.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:r,left:a,fit:i-t.width,maxSizeTop:l,maxSizeBottom:h,minSize:o.with(Math.min(i,o.width))}}(),l=function(){const i=e.left-s.borderWidth-s.horizontalPadding,a=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),l=new ht(i,n.height-e.top-s.borderHeight-s.verticalPadding),h=l.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:r,left:a,fit:i-t.width,maxSizeTop:l,maxSizeBottom:h,minSize:o.with(Math.min(i,o.width))}}(),h=function(){const i=e.left,r=-s.borderWidth+e.top+e.height,a=new ht(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:r,left:i,fit:a.height-t.height,maxSizeBottom:a,maxSizeTop:a,minSize:o.with(a.width)}}(),d=[a,l,h],c=d.find((e=>e.fit>=0))??d.sort(((e,t)=>t.fit-e.fit))[0],u=e.top+e.height-s.borderHeight;let g,p=t.height;const m=Math.max(c.maxSizeTop.height,c.maxSizeBottom.height);let f;p>m&&(p=m),i?p<=c.maxSizeTop.height?(g=!0,f=c.maxSizeTop):(g=!1,f=c.maxSizeBottom):p<=c.maxSizeBottom.height?(g=!1,f=c.maxSizeBottom):(g=!0,f=c.maxSizeTop);let{top:_,left:v}=c;!g&&p>e.height&&(_=u-p);const b=this._editor.getDomNode();if(b){const e=b.getBoundingClientRect();_-=e.top,v-=e.left}this._applyTopLeft({left:v,top:_}),this._resizable.enableSashes(!g,c===a,g,c!==a),this._resizable.minSize=c.minSize,this._resizable.maxSize=f,this._resizable.layout(p,Math.min(f.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var TB=i(78148),RB=i(89971),AB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},PB=function(e,t){return function(i,n){t(i,n,e)}};function OB(e){return`suggest-aria-id:${e}`}const FB=fu("suggest-more-info",bl.W.chevronRight,$n.kg("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),WB=new class e{static{this._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/}static{this._regexStrict=new RegExp(`^${e._regexRelaxed.source}$`,"i")}extract(t,i){if(t.textLabel.match(e._regexStrict))return i[0]=t.textLabel,!0;if(t.completion.detail&&t.completion.detail.match(e._regexStrict))return i[0]=t.completion.detail,!0;if(t.completion.documentation){const n="string"==typeof t.completion.documentation?t.completion.documentation:t.completion.documentation.value,s=e._regexRelaxed.exec(n);if(s&&(0===s.index||s.index+s[0].length===n.length))return i[0]=s[0],!0}return!1}};let BB=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new P.vl,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Ae.Cm,i=e;i.classList.add("show-file-icons");const n=Gt(e,ei(".icon")),s=Gt(n,ei("span.colorspan")),o=Gt(e,ei(".contents")),r=Gt(o,ei(".main")),a=Gt(r,ei(".icon-label.codicon")),l=Gt(r,ei("span.left")),h=Gt(r,ei("span.right")),d=new nN(l,{supportHighlights:!0,supportIcons:!0});t.add(d);const c=Gt(l,ei("span.signature-label")),u=Gt(l,ei("span.qualifier-label")),g=Gt(h,ei("span.details-label")),p=Gt(h,ei("span.readMore"+En.L.asCSSSelector(FB)));p.title=$n.kg("readMore","Read More");return{root:i,left:l,right:h,icon:n,colorspan:s,iconLabel:d,iconContainer:a,parametersLabel:c,qualifierLabel:u,detailsLabel:g,readMore:p,disposables:t,configureFont:()=>{const e=this._editor.getOptions(),t=e.get(50),s=t.getMassagedFontFamily(),o=t.fontFeatureSettings,a=e.get(120)||t.fontSize,l=e.get(121)||t.lineHeight,h=t.fontWeight,d=`${a}px`,c=`${l}px`,u=`${t.letterSpacing}px`;i.style.fontSize=d,i.style.fontWeight=h,i.style.letterSpacing=u,r.style.fontFamily=s,r.style.fontFeatureSettings=o,r.style.lineHeight=c,n.style.height=c,n.style.width=c,p.style.height=c,p.style.width=c}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=OB(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:dn(e.score)},o=[];if(19===n.kind&&WB.extract(e,o))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=o[0];else if(20===n.kind&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const t=(0,TB.getIconClasses)(this._modelService,this._languageService,Hn.r.from({scheme:"fake",path:e.textLabel}),RB.p.FILE),o=(0,TB.getIconClasses)(this._modelService,this._languageService,Hn.r.from({scheme:"fake",path:n.detail}),RB.p.FILE);s.extraClasses=t.length>o.length?t:o}else 23===n.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[(0,TB.getIconClasses)(this._modelService,this._languageService,Hn.r.from({scheme:"fake",path:e.textLabel}),RB.p.FOLDER),(0,TB.getIconClasses)(this._modelService,this._languageService,Hn.r.from({scheme:"fake",path:n.detail}),RB.p.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...En.L.asClassNameArray(La.HC.toIcon(n.kind))));n.tags&&n.tags.indexOf(1)>=0&&(s.extraClasses=(s.extraClasses||[]).concat(["deprecated"]),s.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,s),"string"==typeof n.label?(i.parametersLabel.textContent="",i.detailsLabel.textContent=HB(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=HB(n.label.detail||""),i.detailsLabel.textContent=HB(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?ti(i.detailsLabel):ii(i.detailsLabel),IB(e)?(i.right.classList.add("can-expand-details"),ti(i.readMore),i.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},i.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),ii(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};function HB(e){return e.replace(/\r\n|\r|\n/g,"")}BB=AB([PB(1,Yn.IModelService),PB(2,Dh.L),PB(3,no.Gy)],BB);var VB,zB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},UB=function(e,t){return function(i,n){t(i,n,e)}};(0,io.x1A)("editorSuggestWidget.background",io.CgL,$n.kg("editorSuggestWidgetBackground","Background color of the suggest widget.")),(0,io.x1A)("editorSuggestWidget.border",io.sIe,$n.kg("editorSuggestWidgetBorder","Border color of the suggest widget."));const KB=(0,io.x1A)("editorSuggestWidget.foreground",io.By2,$n.kg("editorSuggestWidgetForeground","Foreground color of the suggest widget."));(0,io.x1A)("editorSuggestWidget.selectedForeground",io.nH,$n.kg("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget.")),(0,io.x1A)("editorSuggestWidget.selectedIconForeground",io.c7i,$n.kg("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const jB=(0,io.x1A)("editorSuggestWidget.selectedBackground",io.AlL,$n.kg("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));(0,io.x1A)("editorSuggestWidget.highlightForeground",io.QI5,$n.kg("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),(0,io.x1A)("editorSuggestWidget.focusHighlightForeground",io.eMz,$n.kg("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused.")),(0,io.x1A)("editorSuggestWidgetStatus.foreground",(0,io.JO0)(KB,.5),$n.kg("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class $B{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Pk}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(ht.is(t))return ht.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let qB=class{static{VB=this}static{this.LOADING_MESSAGE=$n.kg("suggestWidget.loading","Loading...")}static{this.NO_SUGGESTIONS_MESSAGE=$n.kg("suggestWidget.noSuggestions","No suggestions.")}constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Ae.HE,this._pendingShowDetails=new Ae.HE,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new A.pc,this._disposables=new Ae.Cm,this._onDidSelect=new P.fV,this._onDidFocus=new P.fV,this._onDidHide=new P.vl,this._onDidShow=new P.vl,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new P.vl,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new OS,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new GB(this,e),this._persistedSize=new $B(t,e);class o{constructor(e,t,i=!1,n=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=i,this.persistWidth=n}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new o(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((e=>{if(this._resize(e.dimension.width,e.dimension.height),r&&(r.persistHeight=r.persistHeight||!!e.north||!!e.south,r.persistWidth=r.persistWidth||!!e.east||!!e.west),e.done){if(r){const{itemHeight:e,defaultSize:t}=this.getLayoutInfo(),i=Math.round(e/2);let{width:n,height:s}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-s)<=i)&&(s=r.persistedSize?.height??t.height),(!r.persistWidth||Math.abs(r.currentSize.width-n)<=i)&&(n=r.persistedSize?.width??t.width),this._persistedSize.store(new ht(n,s))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=Gt(this.element.domNode,ei(".message")),this._listElement=Gt(this.element.domNode,ei(".tree"));const a=this._disposables.add(s.createInstance(EB,this.editor));a.onDidClose(this.toggleDetails,this,this._disposables),this._details=new MB(a,this.editor);const l=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);l();const h=s.createInstance(BB,this.editor);this._disposables.add(h),this._disposables.add(h.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new Kg("SuggestWidget",this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>"suggestion"},[h],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>$n.kg("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:e=>{let t=e.textLabel;if("string"!=typeof e.completion.label){const{detail:i,description:n}=e.completion.label;i&&n?t=$n.kg("label.full","{0} {1}, {2}",t,i,n):i?t=$n.kg("label.detail","{0} {1}",t,i):n&&(t=$n.kg("label.desc","{0}, {1}",t,n))}if(!e.isResolved||!this._isDetailsVisible())return t;const{documentation:i,detail:n}=e.completion,s=Ri.GP("{0}{1}",n||"",i?"string"==typeof i?i:i.value:"");return $n.kg("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",t,s)}}}),this._list.style(vp({listInactiveFocusBackground:jB,listInactiveFocusOutline:io.buw})),this._status=s.createInstance(xB,this.element.domNode,dW);const d=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);d(),this._disposables.add(n.onDidColorThemeChange((e=>this._onThemeChange(e)))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onTap((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onDidChangeSelection((e=>this._onListSelection(e)))),this._disposables.add(this._list.onDidChangeFocus((e=>this._onListFocus(e)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((e=>{e.hasChanged(119)&&(d(),l()),this._completionModel&&(e.hasChanged(50)||e.hasChanged(120)||e.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)}))),this._ctxSuggestWidgetVisible=hW.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=hW.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=hW.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=hW.HasFocusedSuggestion.bindTo(i),this._disposables.add(Xe(this._details.widget.domNode,"keydown",(e=>{this._onDetailsKeydown.fire(e)}))),this._disposables.add(this.editor.onMouseDown((e=>this._onEditorMouseDown(e))))}dispose(){this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),this._loadingTimeout?.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=(0,Hp.Bb)(e.type)?2:1}_onListFocus(e){if(this._ignoreFocusEvents)return;if(!e.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const t=e.elements[0],i=e.indexes[0];t!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(i),this._currentSuggestionDetails=(0,A.SS)((async e=>{const i=(0,A.EQ)((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),n=e.onCancellationRequested((()=>i.dispose()));try{return await t.resolve(e)}finally{i.dispose(),n.dispose()}})),this._currentSuggestionDetails.then((()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:OB(i)}))})).catch(b.dz)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",4===e),this.element.domNode.classList.remove("message"),e){case 0:ii(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=VB.LOADING_MESSAGE,ii(this._listElement,this._status.element),ti(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,yi(VB.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=VB.NO_SUGGESTIONS_MESSAGE,ii(this._listElement,this._status.element),ti(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,yi(VB.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:ii(this._messageElement),ti(this._listElement,this._status.element),this._show();break;case 5:ii(this._messageElement),ti(this._listElement,this._status.element),this._details.show(),this._show()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet((()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)}),100)}showTriggered(e,t){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=(0,A.EQ)((()=>this._setState(1)),t)))}showSuggestions(e,t,i,n,s){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout?.dispose(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&2!==this._state&&0!==this._state)return void this._setState(4);const o=this._completionModel.items.length,r=0===o;if(this._ctxSuggestWidgetMultipleSuggestions.set(o>1),r)return this._setState(n?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(s?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=it(We(this.element.domNode),(()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")}))}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):!IB(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=it(We(this.element.domNode),(()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()}))}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){this._pendingLayout.clear(),this._pendingShowDetails.clear(),this._loadingTimeout?.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const e=this._persistedSize.restore(),t=Math.ceil(4.3*this.getLayoutInfo().itemHeight);e&&e.heighto&&(s=o);const r=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,a=i.statusBarHeight+this._list.contentHeight+i.borderHeight,l=i.itemHeight+i.statusBarHeight,h=ct(this.editor.getDomNode()),d=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),c=h.top+d.top+d.height,u=Math.min(t.height-c-i.verticalPadding,a),g=h.top+d.top-i.verticalPadding,p=Math.min(g,a);let m=Math.min(Math.max(p,u)+i.borderHeight,a);n===this._cappedHeight?.capped&&(n=this._cappedHeight.wanted),nm&&(n=m);const f=150;n>u||this._forceRenderingAbove&&g>f?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),m=p):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),m=u),this.element.preferredSize=new ht(r,i.defaultSize.height),this.element.maxSize=new ht(o,m),this.element.minSize=new ht(220,l),this._cappedHeight=n===a?{wanted:this._cappedHeight?.wanted??e.height,capped:n}:void 0}this._resize(s,n)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:s}=this.getLayoutInfo();this._list.layout(t-s,e),this._listElement.style.height=t-s+"px",this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===this._contentWidget.getPosition()?.preference[0])}getLayoutInfo(){const e=this.editor.getOption(50),t=(0,Ru.qE)(this.editor.getOption(121)||e.lineHeight,8,1e3),i=this.editor.getOption(119).showStatusBar&&2!==this._state&&1!==this._state?t:0,n=this._details.widget.borderWidth,s=2*n;return{itemHeight:t,statusBarHeight:i,borderWidth:n,borderHeight:s,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new ht(430,i+12*t+s)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};qB=VB=zB([UB(1,bw),UB(2,hs.fN),UB(3,no.Gy),UB(4,qn._Y)],qB);class GB{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return!this._hidden&&this._position&&this._preference?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:n}=this._widget.getLayoutInfo();return new ht(t+2*i+n,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var QB,YB=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ZB=function(e,t){return function(i,n){t(i,n,e)}};class XB{constructor(e,t){this._model=e,this._position=t,this._decorationOptions=to.kI.register({description:"suggest-line-suffix",stickiness:1});if(e.getLineMaxColumn(t.lineNumber)!==t.column){const i=e.getOffsetAt(t),n=e.getPositionAt(i+1);e.changeDecorations((e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(Js.Q.fromPositions(t,n),this._decorationOptions)}))}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations((e=>{e.removeDecoration(this._marker),this._marker=void 0}))}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let JB=class{static{QB=this}static{this.ID="editor.contrib.suggestController"}static get(e){return e.getContribution(QB.ID)}constructor(e,t,i,n,s,o,r){this._memoryService=t,this._commandService=i,this._contextKeyService=n,this._instantiationService=s,this._logService=o,this._telemetryService=r,this._lineSuffix=new Ae.HE,this._toDispose=new Ae.Cm,this._selectors=new eH((e=>e.priority)),this._onWillInsertSuggestItem=new P.vl,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(yB,this.editor),this._selectors.register({priority:0,select:(e,t,i)=>this._memoryService.select(e,t,i)});const a=hW.InsertMode.bindTo(n);a.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger((()=>a.set(e.getOption(119).insertMode)))),this.widget=this._toDispose.add(new tt(We(e.getDomNode()),(()=>{const e=this._instantiationService.createInstance(qB,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect((e=>this._insertSuggestion(e,0)),this));const t=new uB(this.editor,e,this.model,(e=>this._insertSuggestion(e,2)));this._toDispose.add(t);const i=hW.MakesTextEdit.bindTo(this._contextKeyService),n=hW.HasInsertAndReplaceRange.bindTo(this._contextKeyService),s=hW.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add((0,Ae.s)((()=>{i.reset(),n.reset(),s.reset()}))),this._toDispose.add(e.onDidFocus((({item:e})=>{const t=this.editor.getPosition(),o=e.editStart.column,r=t.column;let a=!0;if(!("smart"!==this.editor.getOption(1)||2!==this.model.state||e.completion.additionalTextEdits||4&e.completion.insertTextRules||r-o!==e.completion.insertText.length)){a=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:o,endLineNumber:t.lineNumber,endColumn:r})!==e.completion.insertText}i.set(a),n.set(!Qn.y.equals(e.editInsertEnd,e.editReplaceEnd)),s.set(Boolean(e.provider.resolveCompletionItem)||Boolean(e.completion.documentation)||e.completion.detail!==e.completion.label)}))),this._toDispose.add(e.onDetailsKeyDown((e=>{e.toKeyCodeChord().equals(new y(!0,!1,!1,!1,33))||f.zx&&e.toKeyCodeChord().equals(new y(!1,!1,!1,!0,33))?e.stopPropagation():e.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),e}))),this._overtypingCapturer=this._toDispose.add(new tt(We(e.getDomNode()),(()=>this._toDispose.add(new SB(this.editor,this.model))))),this._alternatives=this._toDispose.add(new tt(We(e.getDomNode()),(()=>this._toDispose.add(new cB(this.editor,this._contextKeyService))))),this._toDispose.add(s.createInstance(aB,e)),this._toDispose.add(this.model.onDidTrigger((e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new XB(this.editor.getModel(),e.position)}))),this._toDispose.add(this.model.onDidSuggest((e=>{if(e.triggerOptions.shy)return;let t=-1;for(const n of this._selectors.itemsOrderedByPriorityDesc)if(t=n.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),-1!==t)break;if(-1===t&&(t=0),0===this.model.state)return;let i=!1;if(e.triggerOptions.auto){const t=this.editor.getOption(119);"never"===t.selectionMode||"always"===t.selectionMode?i="never"===t.selectionMode:"whenTriggerCharacter"===t.selectionMode?i=1!==e.triggerOptions.triggerKind:"whenQuickSuggestion"===t.selectionMode&&(i=1===e.triggerOptions.triggerKind&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.triggerOptions.auto,i)}))),this._toDispose.add(this.model.onDidCancel((e=>{e.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const l=hW.AcceptSuggestionsOnEnter.bindTo(n),h=()=>{const e=this.editor.getOption(1);l.set("on"===e||"smart"===e)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>h()))),h()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const i=VW.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:o}=e,r=[],a=new sa.Qi;1&t||this.editor.pushUndoStop();const l=this.getOverwriteInfo(o,Boolean(8&t));this._memoryService.memorize(n,this.editor.getPosition(),o);const h=o.isResolved;let d=-1,c=-1;if(Array.isArray(o.completion.additionalTextEdits)){this.model.cancel();const e=cw.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",o.completion.additionalTextEdits.map((e=>{let t=Js.Q.lift(e.range);if(t.startLineNumber===o.position.lineNumber&&t.startColumn>o.position.column){const e=this.editor.getPosition().column-o.position.column,i=e,n=Js.Q.spansMultipleLines(t)?0:e;t=new Js.Q(t.startLineNumber,t.startColumn+i,t.endLineNumber,t.endColumn+n)}return Ck.replaceMove(t,e.text)}))),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!h){const e=new Vp.W;let i;const s=n.onDidChangeContent((e=>{if(e.isFlush)return a.cancel(),void s.dispose();for(const t of e.changes){const e=Js.Q.getEndPosition(t.range);i&&!Qn.y.isBefore(e,i)||(i=e)}})),l=t;t|=2;let h=!1;const d=this.editor.onWillType((()=>{d.dispose(),h=!0,2&l||this.editor.pushUndoStop()}));r.push(o.resolve(a.token).then((()=>{if(!o.completion.additionalTextEdits||a.token.isCancellationRequested)return;if(i&&o.completion.additionalTextEdits.some((e=>Qn.y.isBefore(i,Js.Q.getStartPosition(e.range)))))return!1;h&&this.editor.pushUndoStop();const e=cw.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",o.completion.additionalTextEdits.map((e=>Ck.replaceMove(Js.Q.lift(e.range),e.text)))),e.restoreRelativeVerticalPositionOfCursor(this.editor),!h&&2&l||this.editor.pushUndoStop(),!0})).then((t=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",e.elapsed(),t),c=!0===t?1:!1===t?0:-2})).finally((()=>{s.dispose(),d.dispose()})))}let{insertText:u}=o.completion;if(4&o.completion.insertTextRules||(u=hl.escape(u)),this.model.cancel(),i.insert(u,{overwriteBefore:l.overwriteBefore,overwriteAfter:l.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&o.completion.insertTextRules),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&t||this.editor.pushUndoStop(),o.completion.command)if(o.completion.command.id===tH.id)this.model.trigger({auto:!0,retrigger:!0});else{const e=new Vp.W;r.push(this._commandService.executeCommand(o.completion.command.id,...o.completion.command.arguments?[...o.completion.command.arguments]:[]).catch((e=>{o.completion.extensionId?(0,b.M_)(e):(0,b.dz)(e)})).finally((()=>{d=e.elapsed()})))}4&t&&this._alternatives.value.set(e,(e=>{for(a.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(e,3|(8&t?8:0));break}})),this._alertCompletionItem(o),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(o,n,h,d,c,e.index,e.model.items),this.model.clear(),a.dispose()}))}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,o,r){if(0===Math.floor(100*Math.random()))return;const a=new Map;for(let d=0;d1?l[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:e.extensionId?.value??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:(0,Oe.tW)((0,Bn.P8)(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:(0,Bn.LC)(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:o,firstIndex:h})}getOverwriteInfo(e,t){(0,rs.j)(this.editor.hasModel());let i="replace"===this.editor.getOption(119).insertMode;t&&(i=!i);const n=e.position.column-e.editStart.column,s=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column;return{overwriteBefore:n+(this.editor.getPosition().column-e.position.column),overwriteAfter:s+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(e){if((0,na.EI)(e.completion.additionalTextEdits)){wi($n.kg("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length))}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},n=e=>{if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;const t=this.editor.getPosition(),i=e.editStart.column,n=t.column;if(n-i!==e.completion.insertText.length)return!0;return this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:i,endLineNumber:t.lineNumber,endColumn:n})!==e.completion.insertText};P.Jh.once(this.model.onDidTrigger)((e=>{const t=[];P.Jh.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{(0,Ae.AS)(t),i()}),void 0,t),this.model.onDidSuggest((({completionModel:e})=>{if((0,Ae.AS)(t),0===e.items.length)return void i();const s=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),o=e.items[s];n(o)?(this.editor.pushUndoStop(),this._insertSuggestion({index:s,item:o,model:e},7)):i()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}};JB=QB=YB([ZB(1,nB),ZB(2,as),ZB(3,hs.fN),ZB(4,qn._Y),ZB(5,Ns.rr),ZB(6,xs)],JB);class eH{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(-1!==this._items.indexOf(e))throw new Error("Value is already registered");return this._items.push(e),this._items.sort(((e,t)=>this.prioritySelector(t)-this.prioritySelector(e))),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class tH extends Rs{static{this.id="editor.action.triggerSuggest"}constructor(){super({id:tH.id,label:$n.kg("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:hs.M$.and($s.writable,$s.hasCompletionItemProvider,hW.Visible.toNegated()),kbOpts:{kbExpr:$s.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=JB.get(t);if(!n)return;let s;i&&"object"==typeof i&&!0===i.auto&&(s=!0),n.triggerSuggest(void 0,s,void 0)}}Hs(JB.ID,JB,2),Ws(tH);const iH=190,nH=Ts.bindToContribution(JB.get);Fs(new nH({id:"acceptSelectedSuggestion",precondition:hs.M$.and(hW.Visible,hW.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:hs.M$.and(hW.Visible,$s.textInputFocus),weight:iH},{primary:3,kbExpr:hs.M$.and(hW.Visible,$s.textInputFocus,hW.AcceptSuggestionsOnEnter,hW.MakesTextEdit),weight:iH}],menuOpts:[{menuId:dW,title:$n.kg("accept.insert","Insert"),group:"left",order:1,when:hW.HasInsertAndReplaceRange.toNegated()},{menuId:dW,title:$n.kg("accept.insert","Insert"),group:"left",order:1,when:hs.M$.and(hW.HasInsertAndReplaceRange,hW.InsertMode.isEqualTo("insert"))},{menuId:dW,title:$n.kg("accept.replace","Replace"),group:"left",order:1,when:hs.M$.and(hW.HasInsertAndReplaceRange,hW.InsertMode.isEqualTo("replace"))}]})),Fs(new nH({id:"acceptAlternativeSelectedSuggestion",precondition:hs.M$.and(hW.Visible,$s.textInputFocus,hW.HasFocusedSuggestion),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:dW,group:"left",order:2,when:hs.M$.and(hW.HasInsertAndReplaceRange,hW.InsertMode.isEqualTo("insert")),title:$n.kg("accept.replace","Replace")},{menuId:dW,group:"left",order:2,when:hs.M$.and(hW.HasInsertAndReplaceRange,hW.InsertMode.isEqualTo("replace")),title:$n.kg("accept.insert","Insert")}]})),ls.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),Fs(new nH({id:"hideSuggestWidget",precondition:hW.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:9,secondary:[1033]}})),Fs(new nH({id:"selectNextSuggestion",precondition:hs.M$.and(hW.Visible,hs.M$.or(hW.MultipleSuggestions,hW.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Fs(new nH({id:"selectNextPageSuggestion",precondition:hs.M$.and(hW.Visible,hs.M$.or(hW.MultipleSuggestions,hW.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:12,secondary:[2060]}})),Fs(new nH({id:"selectLastSuggestion",precondition:hs.M$.and(hW.Visible,hs.M$.or(hW.MultipleSuggestions,hW.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),Fs(new nH({id:"selectPrevSuggestion",precondition:hs.M$.and(hW.Visible,hs.M$.or(hW.MultipleSuggestions,hW.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Fs(new nH({id:"selectPrevPageSuggestion",precondition:hs.M$.and(hW.Visible,hs.M$.or(hW.MultipleSuggestions,hW.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:11,secondary:[2059]}})),Fs(new nH({id:"selectFirstSuggestion",precondition:hs.M$.and(hW.Visible,hs.M$.or(hW.MultipleSuggestions,hW.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),Fs(new nH({id:"focusSuggestion",precondition:hs.M$.and(hW.Visible,hW.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),Fs(new nH({id:"focusAndAcceptSuggestion",precondition:hs.M$.and(hW.Visible,hW.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),Fs(new nH({id:"toggleSuggestionDetails",precondition:hs.M$.and(hW.Visible,hW.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:dW,group:"right",order:1,when:hs.M$.and(hW.DetailsVisible,hW.CanResolve),title:$n.kg("detail.more","Show Less")},{menuId:dW,group:"right",order:1,when:hs.M$.and(hW.DetailsVisible.toNegated(),hW.CanResolve),title:$n.kg("detail.less","Show More")}]})),Fs(new nH({id:"toggleExplainMode",precondition:hW.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),Fs(new nH({id:"toggleSuggestionFocus",precondition:hW.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:2570,mac:{primary:778}}})),Fs(new nH({id:"insertBestCompletion",precondition:hs.M$.and($s.textInputFocus,hs.M$.equals("config.editor.tabCompletion","on"),aB.AtEnd,hW.Visible.toNegated(),cB.OtherSuggestions.toNegated(),VW.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest((0,rs.Gv)(t)?{fallback:"tab",...t}:{fallback:"tab"})},kbOpts:{weight:iH,primary:2}})),Fs(new nH({id:"insertNextSuggestion",precondition:hs.M$.and($s.textInputFocus,hs.M$.equals("config.editor.tabCompletion","on"),cB.OtherSuggestions,hW.Visible.toNegated(),VW.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:2}})),Fs(new nH({id:"insertPrevSuggestion",precondition:hs.M$.and($s.textInputFocus,hs.M$.equals("config.editor.tabCompletion","on"),cB.OtherSuggestions,hW.Visible.toNegated(),VW.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:iH,kbExpr:$s.textInputFocus,primary:1026}})),Ws(class extends Rs{constructor(){super({id:"editor.action.resetSuggestSize",label:$n.kg("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(e,t){JB.get(t)?.resetWidgetSize()}});class sH extends Ae.jG{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new P.vl),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown((e=>{e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(e.onKeyUp((e=>{e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const n=JB.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(e,t,i)=>{const s=this.editor.getModel();if(!s)return-1;const o=this.suggestControllerPreselector(),r=o?QF(o,s):void 0;if(!r)return-1;const a=Qn.y.lift(t),l=i.map(((e,t)=>{const i=QF(oH.fromSuggestion(n,s,a,e,this.isShiftKeyPressed).toSingleTextEdit(),s);return{index:t,valid:YF(r,i),prefixLength:i.text.length,suggestItem:e}})).filter((e=>e&&e.valid&&e.prefixLength>0)),h=(0,Lb.Cn)(l,(0,na.VE)((e=>e.prefixLength),na.U9));return h?h.index:-1}}));let e=!1;const t=()=>{e||(e=!0,this._register(n.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(n.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(n.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(P.Jh.once(n.model.onDidTrigger)((e=>{t()}))),this._register(n.onWillInsertSuggestItem((e=>{const t=this.editor.getPosition(),i=this.editor.getModel();if(!t||!i)return;const s=oH.fromSuggestion(n,i,t,e.item,this.isShiftKeyPressed);this.onWillAccept(s)})))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();this._isActive===e&&function(e,t){if(e===t)return!0;if(!e||!t)return!1;return e.equals(t)}(this._currentSuggestItemInfo,t)||(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=JB.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),n=this.editor.getModel();return t&&i&&n?oH.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const e=JB.get(this.editor);e?.stopForceRenderingAbove()}forceRenderingAbove(){const e=JB.get(this.editor);e?.forceRenderingAbove()}}class oH{static fromSuggestion(e,t,i,n,s){let{insertText:o}=n.completion,r=!1;if(4&n.completion.insertTextRules){const e=(new hl).parse(o);e.children.length<100&&OW.adjustWhitespace(t,i,!0,e),o=e.toString(),r=!0}const a=e.getOverwriteInfo(n,s);return new oH(Js.Q.fromPositions(i.delta(0,-a.overwriteBefore),i.delta(0,Math.max(a.overwriteAfter,0))),o,n.completion.kind,r)}constructor(e,t,i,n){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=n}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new La.GE(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new IM.WR(this.range,this.insertText)}}var rH,aH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},lH=function(e,t){return function(i,n){t(i,n,e)}};let hH=class extends Ae.jG{static{rH=this}static{this.ID="editor.contrib.inlineCompletionsController"}static get(e){return e.getContribution(rH.ID)}constructor(e,t,i,n,s,o,r,a,l,h){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=o,this._languageFeaturesService=r,this._accessibilitySignalService=a,this._keybindingService=l,this._accessibilityService=h,this._editorObs=BM(this.editor),this._positions=(0,fg.un)(this,(e=>this._editorObs.selections.read(e)?.map((e=>e.getEndPosition()))??[new Qn.y(1,1)])),this._suggestWidgetAdaptor=this._register(new sH(this.editor,(()=>(this._editorObs.forceUpdate(),this.model.get()?.selectedInlineCompletion.get()?.toSingleTextEdit(void 0))),(e=>this._editorObs.forceUpdate((t=>{this.model.get()?.handleSuggestAccepted(e)}))))),this._suggestWidgetSelectedItem=(0,fg.y0)(this,(e=>this._suggestWidgetAdaptor.onDidSelectedItemChange((()=>{this._editorObs.forceUpdate((t=>e(void 0)))}))),(()=>this._suggestWidgetAdaptor.selectedItem)),this._enabledInConfig=(0,fg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).enabled)),this._isScreenReaderEnabled=(0,fg.y0)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>this._accessibilityService.isScreenReaderOptimized())),this._editorDictationInProgress=(0,fg.y0)(this,this._contextKeyService.onDidChangeContext,(()=>!0===this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress"))),this._enabled=(0,fg.un)(this,(e=>this._enabledInConfig.read(e)&&(!this._isScreenReaderEnabled.read(e)||!this._editorDictationInProgress.read(e)))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model=(0,Ry.a0)(this,(e=>{if(this._editorObs.isReadonly.read(e))return;const t=this._editorObs.model.read(e);if(!t)return;return this._instantiationService.createInstance(jW,t,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,(0,fg.y0)(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(119).preview)),(0,fg.y0)(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(119).previewMode)),(0,fg.y0)(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).mode)),this._enabled)})).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=(0,fg.un)(this,(e=>{const t=this.model.read(e);return t?.ghostTexts.read(e)??[]})),this._stablizedGhostTexts=function(e,t){const i=(0,fg.FY)("result",[]),n=[];return t.add((0,fg.fm)((t=>{const s=e.read(t);(0,fg.Rn)((e=>{if(s.length!==n.length){n.length=s.length;for(let e=0;et.set(s[i],e)))}))}))),i}(this._ghostTexts,this._store),this._ghostTextWidgets=(0,tT.Rl)(this,this._stablizedGhostTexts,((e,t)=>t.add(this._instantiationService.createInstance(PF,this.editor,{ghostText:e,minReservedLineCount:(0,fg.lk)(0),targetTextModel:this.model.map((e=>e?.textModel))})))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=(0,fg.Yd)(this),this._fontFamily=(0,fg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).fontFamily)),this._register(new yF(this._contextKeyService,this.model)),this._register(VM(this._editorObs.onDidType,((e,t)=>{this._enabled.get()&&this.model.get()?.trigger()}))),this._register(this._commandService.onDidExecuteCommand((t=>{new Set([Or.Tab.id,Or.DeleteLeft.id,Or.DeleteRight.id,Ay,"acceptSelectedSuggestion"]).has(t.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate((e=>{this.model.get()?.trigger(e)}))}))),this._register(VM(this._editorObs.selections,((e,t)=>{t.some((e=>3===e.reason||"api"===e.source))&&this.model.get()?.stop()}))),this._register(this.editor.onDidBlurEditorWidget((()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||CS.dropDownVisible||(0,fg.Rn)((e=>{this.model.get()?.stop(e)}))}))),this._register((0,fg.fm)((e=>{const t=this.model.read(e)?.state.read(e);t?.suggestItem?t.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register((0,Ae.s)((()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()})));const d=(0,tT.ZX)(this,((e,t)=>{const i=this.model.read(e),n=i?.state.read(e);return this._suggestWidgetSelectedItem.get()?t:n?.inlineCompletion?.semanticId}));this._register(function(e,t){const i=new Ae.Cm,n=VM(e,((e,n)=>{i.clear(),t(e,n,i)}));return{dispose(){n.dispose(),i.dispose()}}}((0,fg.un)((e=>(this._playAccessibilitySignal.read(e),d.read(e),{}))),(async(e,t,i)=>{const n=this.model.get(),s=n?.state.get();if(!s||!n)return;const o=n.textModel.getLineContent(s.primaryGhostText.lineNumber);await(0,A.wR)(50,(0,sa.bs)(i)),await(0,fg.oJ)(this._suggestWidgetSelectedItem,rs.b0,(()=>!1),(0,sa.bs)(i)),await this._accessibilitySignalService.playSignal(hE.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(s.primaryGhostText.renderForScreenReader(o))}))),this._register(new _S(this.editor,this.model,this._instantiationService)),this._register(function(e){const t=new Ae.Cm,i=t.add(Nt());return t.add((0,fg.fm)((t=>{i.setStyle(e.read(t))}))),t}((0,fg.un)((e=>{const t=this._fontFamily.read(e);return""===t||"default"===t?"":`\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .ghost-text {\n\tfont-family: ${t};\n}`})))),this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}))),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let n;!t&&i&&this.editor.getOption(150)&&(n=(0,$n.kg)("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),wi(n?e+", "+n:e)}shouldShowHoverAt(e){const t=this.model.get()?.primaryGhostText.get();return!!t&&t.parts.some((i=>e.containsPosition(new Qn.y(t.lineNumber,i.column))))}shouldShowHoverAtViewZone(e){return this._ghostTextWidgets.get()[0]?.ownsViewZone(e)??!1}};hH=rH=aH([lH(1,qn._Y),lH(2,hs.fN),lH(3,Wp.pG),lH(4,as),lH(5,Tw.ILanguageFeatureDebounceService),lH(6,xa.ILanguageFeaturesService),lH(7,rE),lH(8,Cd),lH(9,$r)],hH);class dH extends Rs{static{this.ID=Oy}constructor(){super({id:dH.ID,label:$n.kg("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:hs.M$.and($s.writable,yF.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){const i=hH.get(t);i?.model.get()?.next()}}class cH extends Rs{static{this.ID=Py}constructor(){super({id:cH.ID,label:$n.kg("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:hs.M$.and($s.writable,yF.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){const i=hH.get(t);i?.model.get()?.previous()}}class uH extends Rs{static{this.ID="editor.action.inlineSuggest.hide"}constructor(){super({id:uH.ID,label:$n.kg("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:yF.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=hH.get(t);(0,fg.Rn)((e=>{i?.model.get()?.stop(e)}))}}class gH extends ks{static{this.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar"}constructor(){super({id:gH.ID,title:$n.kg("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:vs.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:hs.M$.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Wp.pG),n="always"===i.getValue("editor.inlineSuggest.showToolbar")?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",n)}}var pH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},mH=function(e,t){return function(i,n){t(i,n,e)}};class fH{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let _H=class{constructor(e,t,i,n,s,o){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=n,this._instantiationService=s,this._telemetryService=o,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=hH.get(this._editor);if(!t)return null;const i=e.target;if(8===i.type){const n=i.detail;if(t.shouldShowHoverAtViewZone(n.viewZoneId))return new my(1e3,this,Js.Q.fromPositions(this._editor.getModel().validatePosition(n.positionBefore||n.position)),e.event.posx,e.event.posy,!1)}if(7===i.type&&t.shouldShowHoverAt(i.range))return new my(1e3,this,i.range,e.event.posx,e.event.posy,!1);if(6===i.type){if(i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range))return new my(1e3,this,i.range,e.event.posx,e.event.posy,!1)}return null}computeSync(e,t){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const i=hH.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new fH(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Ae.Cm,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,n));const s=n.controller.model.get(),o=this._instantiationService.createInstance(CS,this._editor,!1,(0,fg.lk)(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),r=o.getDomNode();e.fragment.appendChild(r),s.triggerExplicitly(),i.add(o);return new fy([{hoverPart:n,hoverElement:r,dispose(){i.dispose()}}])}renderScreenReaderText(e,t){const i=new Ae.Cm,n=ei,s=n("div.hover-row.markdown-hover"),o=Gt(s,n("div.hover-contents",{"aria-live":"assertive"})),r=i.add(new Fh({editor:this._editor},this._languageService,this._openerService));return i.add((0,fg.fm)((n=>{const s=t.controller.model.read(n)?.primaryGhostText.read(n);if(s){const t=this._editor.getModel().getLineContent(s.lineNumber);(t=>{i.add(r.onDidRenderAsync((()=>{o.className="hover-contents code-hover-contents",e.onContentsChanged()})));const n=$n.kg("inlineSuggestionFollows","Suggestion:"),s=i.add(r.render((new Vn).appendText(n).appendCodeblock("text",t)));o.replaceChildren(s.element)})(s.renderForScreenReader(t))}else Yt(o)}))),e.fragment.appendChild(s),i}};_H=pH([mH(1,Dh.L),mH(2,Rh),mH(3,$r),mH(4,qn._Y),mH(5,xs)],_H);Hs(hH.ID,hH,3),Ws(class extends Rs{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:$n.kg("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:$s.writable})}async run(e,t){const i=hH.get(t);await(0,WM.fL)((async e=>{await(i?.model.get()?.triggerExplicitly(e)),i?.playAccessibilitySignal(e)}))}}),Ws(dH),Ws(cH),Ws(class extends Rs{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:$n.kg("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:hs.M$.and($s.writable,yF.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:hs.M$.and($s.writable,yF.inlineSuggestionVisible)},menuOpts:[{menuId:vs.InlineSuggestionToolbar,title:$n.kg("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){const i=hH.get(t);await(i?.model.get()?.acceptNextWord(i.editor))}}),Ws(class extends Rs{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:$n.kg("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:hs.M$.and($s.writable,yF.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:vs.InlineSuggestionToolbar,title:$n.kg("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){const i=hH.get(t);await(i?.model.get()?.acceptNextLine(i.editor))}}),Ws(class extends Rs{constructor(){super({id:Ay,label:$n.kg("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:yF.inlineSuggestionVisible,menuOpts:[{menuId:vs.InlineSuggestionToolbar,title:$n.kg("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:hs.M$.and(yF.inlineSuggestionVisible,$s.tabMovesFocus.toNegated(),yF.inlineSuggestionHasIndentationLessThanTabSize,hW.Visible.toNegated(),$s.hoverFocused.toNegated())}})}async run(e,t){const i=hH.get(t);i&&(i.model.get()?.accept(i.editor),i.editor.focus())}}),Ws(uH),Ls(gH),_y.register(_H),YO.register(new class{});var vH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},bH=function(e,t){return function(i,n){t(i,n,e)}};const CH="inline-edit";let wH=class extends Ae.jG{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=(0,fg.FY)(this,!1),this.currentTextModel=(0,fg.y0)(this,this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=(0,fg.un)(this,(e=>{if(this.isDisposed.read(e))return;const t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;const i=this.model.ghostText.read(e);if(!i)return;let n=this.model.range?.read(e);n&&n.startLineNumber===n.endLineNumber&&n.startColumn===n.endColumn&&(n=void 0);const s=(!n||n.startLineNumber===n.endLineNumber)&&1===i.parts.length&&1===i.parts[0].lines.length,o=1===i.parts.length&&i.parts[0].lines.every((e=>0===e.length)),r=[],a=[];function l(e,t){if(a.length>0){const i=a[a.length-1];t&&i.decorations.push(new tf(i.content.length+1,i.content.length+1+e[0].length,t,0)),i.content+=e[0],e=e.slice(1)}for(const i of e)a.push({content:i,decorations:t?[new tf(1,i.length+1,t,0)]:[]})}const h=t.getLineContent(i.lineNumber);let d,c=0;if(!o&&(s||!n)){for(const e of i.parts){let t=e.lines;n&&!s&&(l(t,CH),t=[]),void 0===d?(r.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):l([h.substring(c,e.column-1)],void 0),t.length>0&&(l(t,CH),void 0===d&&e.column<=h.length&&(d=e.column)),c=e.column-1}void 0!==d&&l([h.substring(c)],void 0)}const u=void 0!==d?new IF(d,h.length+1):void 0,g=s||!n?i.lineNumber:n.endLineNumber-1;return{inlineTexts:r,additionalLines:a,hiddenRange:u,lineNumber:g,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t,range:n,isSingleLine:s,isPureRemove:o}})),this.decorations=(0,fg.un)(this,(e=>{const t=this.uiState.read(e);if(!t)return[];const i=[];if(t.hiddenRange&&i.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),t.range){const e=[];if(t.isSingleLine)e.push(t.range);else if(!t.isPureRemove){const i=t.range.endLineNumber-t.range.startLineNumber;for(let n=0;n{this.isDisposed.set(!0,void 0)}))),this._register(EF(this.editor,this.decorations))}};wH=vH([bH(2,Dh.L)],wH);var yH,SH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},kH=function(e,t){return function(i,n){t(i,n,e)}};let LH=class extends Ae.jG{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=(0,fg.y0)(this,this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(63).showToolbar)),this.sessionPosition=void 0,this.position=(0,fg.un)(this,(e=>{const t=this.model.read(e)?.model.ghostText.read(e);if(!this.alwaysShowToolbar.read(e)||!t||0===t.parts.length)return this.sessionPosition=void 0,null;const i=t.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==t.lineNumber&&(this.sessionPosition=void 0);const n=new Qn.y(t.lineNumber,Math.min(i,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=n,n})),this._register((0,fg.yC)(((t,i)=>{if(!this.model.read(t)||!this.alwaysShowToolbar.read(t))return;const n=i.add(this.instantiationService.createInstance(xH,this.editor,!0,this.position));e.addContentWidget(n),i.add((0,Ae.s)((()=>e.removeContentWidget(n))))})))}};LH=SH([kH(2,qn._Y)],LH);let xH=class extends Ae.jG{static{yH=this}static{this._dropDownVisible=!1}static{this.id=0}constructor(e,t,i,n,s,o){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=s,this._menuService=o,this.id="InlineEditHintsContentWidget"+yH.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=ui("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[ui("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(vs.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(NH,this.nodes.toolBar,this.editor,vs.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof Ss)return n.createInstance(DH,e,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility((e=>{yH._dropDownVisible=e}))),this._register((0,fg.fm)((e=>{this._position.read(e),this.editor.layoutContentWidget(this)}))),this._register((0,fg.fm)((e=>{const t=[];for(const[i,n]of this.inlineCompletionsActionsMenus.getActions())for(const e of n)e instanceof Ss&&t.push(e);t.length>0&&t.unshift(new es),this.toolBar.setAdditionalSecondaryActions(t)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};xH=yH=SH([kH(3,qn._Y),kH(4,hs.fN),kH(5,bs)],xH);class DH extends Ky{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=ui("div.keybinding").root;this._register(new hp(t,f.OS,{disableTitle:!0,...lp})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let NH=class extends uS{constructor(e,t,i,n,s,o,r,a,l,h){super(e,{resetMenu:i,...n},s,o,r,a,l,h),this.editor=t,this.menuId=i,this.options2=n,this.menuService=s,this.contextKeyService=o,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange((()=>this.updateToolbar()))),this._store.add(this.editor.onDidChangeCursorPosition((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){const e=[],t=[];zy(this.menu,this.options2?.menuOptions,{primary:e,secondary:t},this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){(0,na.aI)(this.additionalActions,e,((e,t)=>e===t))||(this.additionalActions=e,this.updateToolbar())}};NH=SH([kH(4,bs),kH(5,hs.fN),kH(6,bd),kH(7,Cd),kH(8,as),kH(9,xs)],NH);var IH,EH,MH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},TH=function(e,t){return function(i,n){t(i,n,e)}};function RH(e){const t=e[0].match(/^\s*/)?.[0]??"",i=t.length;return{text:e.map((e=>e.replace(new RegExp("^"+t),""))),shift:i}}let AH=class extends Ae.jG{static{IH=this}static{this._modelId=0}static _createUniqueUri(){return Hn.r.from({scheme:"inline-edit-widget",path:(new Date).toString()+String(IH._modelId++)})}constructor(e,t,i,n,s){super(),this._editor=e,this._model=t,this._instantiationService=i,this._diffProviderFactoryService=n,this._modelService=s,this._position=(0,fg.un)(this,(e=>{const t=this._model.read(e);if(!t||0===t.text.length)return null;if(t.range.startLineNumber===t.range.endLineNumber&&(t.range.startColumn!==t.range.endColumn||1!==t.range.startColumn))return null;const i=this._editor.getModel();if(!i)return null;const n=Array.from(function*(e,t,i=1){void 0===t&&([t,e]=[e,0]);for(let n=e;ni.getLineLastNonWhitespaceColumn(e))),o=Math.max(...s),r=n[s.indexOf(o)],a=new Qn.y(r,o);return{top:t.range.startLineNumber,left:a}})),this._text=(0,fg.un)(this,(e=>{const t=this._model.read(e);if(!t)return{text:"",shift:0};const i=RH(t.text.split("\n"));return{text:i.text.join("\n"),shift:i.shift}})),this._originalModel=(0,Ry.a0)((()=>this._modelService.createModel("",null,IH._createUniqueUri()))).keepObserved(this._store),this._modifiedModel=(0,Ry.a0)((()=>this._modelService.createModel("",null,IH._createUniqueUri()))).keepObserved(this._store),this._diff=(0,fg.un)(this,(e=>this._diffPromise.read(e)?.promiseResult.read(e)?.data)),this._diffPromise=(0,fg.un)(this,(e=>{const t=this._model.read(e);if(!t)return;const i=this._editor.getModel();if(!i)return;const n=RH(i.getValueInRange(t.range).split("\n")).text.join("\n"),s=RH(t.text.split("\n")).text.join("\n");this._originalModel.get().setValue(n),this._modifiedModel.get().setValue(s);const o=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return fg.BK.fromFn((async()=>{const e=await o.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},sa.XO.None);if(!e.identical)return e.changes}))})),this._register((0,fg.yC)(((t,i)=>{if(!this._model.read(t))return;if(null===this._position.get())return;const n=i.add(this._instantiationService.createInstance(PH,this._editor,this._position,this._text.map((e=>e.text)),this._text.map((e=>e.shift)),this._diff));e.addOverlayWidget(n),i.add((0,Ae.s)((()=>e.removeOverlayWidget(n))))})))}};AH=IH=MH([TH(2,qn._Y),TH(3,VE),TH(4,Yn.IModelService)],AH);let PH=class extends Ae.jG{static{EH=this}static{this.id=0}constructor(e,t,i,n,s,o){super(),this._editor=e,this._position=t,this._text=i,this._shift=n,this._diff=s,this._instantiationService=o,this.id="InlineEditSideBySideContentWidget"+EH.id++,this.allowEditorOverflow=!1,this._nodes=ei("div.inlineEditSideBySide",void 0),this._scrollChanged=(0,fg.yQ)("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Pk,this._nodes,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:"hidden",horizontal:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off",wrappingIndent:"none",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=BM(this._previewEditor),this._editorObs=BM(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(to.Bz,"",this._editor.getModel()?.getLanguageId()??Nh.vH,to.Bz.DEFAULT_CREATION_OPTIONS,null)),this._setText=(0,fg.un)((e=>{const t=this._text.read(e);t&&this._previewTextModel.setValue(t)})).recomputeInitiallyAndOnChange(this._store),this._decorations=(0,fg.un)(this,(e=>{this._setText.read(e);const t=this._position.read(e);if(!t)return{org:[],mod:[]};const i=this._diff.read(e);if(!i)return{org:[],mod:[]};const n=[],s=[];if(1===i.length&&i[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const o=this._shift.get(),r=e=>new Js.Q(e.startLineNumber+t.top-1,e.startColumn+o,e.endLineNumber+t.top-1,e.endColumn+o);for(const a of i)if(a.original.isEmpty||n.push({range:r(a.original.toInclusiveRange()),options:IE}),a.modified.isEmpty||s.push({range:a.modified.toInclusiveRange(),options:NE}),a.modified.isEmpty||a.original.isEmpty)a.original.isEmpty||n.push({range:r(a.original.toInclusiveRange()),options:OE}),a.modified.isEmpty||s.push({range:a.modified.toInclusiveRange(),options:RE});else for(const e of a.innerChanges||[])a.original.contains(e.originalRange.startLineNumber)&&n.push({range:r(e.originalRange),options:e.originalRange.isEmpty()?FE:PE}),a.modified.contains(e.modifiedRange.startLineNumber)&&s.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()?AE:TE});return{org:n,mod:s}})),this._originalDecorations=(0,fg.un)(this,(e=>this._decorations.read(e).org)),this._modifiedDecorations=(0,fg.un)(this,(e=>this._decorations.read(e).mod)),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register((0,fg.fm)((e=>{const t=this._previewEditorObs.contentWidth.read(e),i=this._text.read(e).split("\n").length-1,n=this._editor.getOption(67)*i;t<=0||this._previewEditor.layout({height:n,width:t})}))),this._register((0,fg.fm)((e=>{this._position.read(e),this._editor.layoutOverlayWidget(this)}))),this._register((0,fg.fm)((e=>{this._scrollChanged.read(e);this._position.read(e)&&this._editor.layoutOverlayWidget(this)})))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const e=this._position.get();if(!e)return null;const t=this._editor.getLayoutInfo(),i=this._editor.getScrolledVisiblePosition(new Qn.y(e.top,1));if(!i)return null;const n=i.top-1,s=this._editor.getOffsetForColumn(e.left.lineNumber,e.left.column);return{preference:{left:t.contentLeft+s+10,top:n}}}};PH=EH=MH([TH(5,qn._Y)],PH);var OH,FH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},WH=function(e,t){return function(i,n){t(i,n,e)}};let BH=class extends Ae.jG{static{OH=this}static{this.ID="editor.contrib.inlineEditController"}static{this.inlineEditVisibleKey="inlineEditVisible"}static{this.inlineEditVisibleContext=new hs.N1(this.inlineEditVisibleKey,!1)}static{this.cursorAtInlineEditKey="cursorAtInlineEdit"}static{this.cursorAtInlineEditContext=new hs.N1(this.cursorAtInlineEditKey,!1)}static get(e){return e.getContribution(OH.ID)}constructor(e,t,i,n,s,o,r,a){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=o,this._diffProviderFactoryService=r,this._modelService=a,this._isVisibleContext=OH.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=OH.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=(0,fg.FY)(this,void 0),this._currentWidget=(0,Ry.a0)(this._currentEdit,(e=>{const t=this._currentEdit.read(e);if(!t)return;const i=t.range.endLineNumber,n=t.range.endColumn,s=!t.text.endsWith("\n")||t.range.startLineNumber===t.range.endLineNumber&&t.range.startColumn===t.range.endColumn?t.text:t.text.slice(0,-1),o=new SF(i,[new kF(n,s,!1)]),r=t.range.startLineNumber===t.range.endLineNumber&&1===o.parts.length&&1===o.parts[0].lines.length,a=""===t.text;if(!r&&!a)return;return this.instantiationService.createInstance(wH,this.editor,{ghostText:(0,fg.lk)(o),minReservedLineCount:(0,fg.lk)(0),targetTextModel:(0,fg.lk)(this.editor.getModel()??void 0),range:(0,fg.lk)(t.range)})})),this._isAccepting=(0,fg.FY)(this,!1),this._enabled=(0,fg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).enabled)),this._fontFamily=(0,fg.y0)(this,this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).fontFamily));const l=(0,fg.yQ)("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register((0,fg.fm)((t=>{this._enabled.read(t)&&(l.read(t),this._isAccepting.read(t)||this.getInlineEdit(e,!0))})));const h=(0,fg.y0)(this,e.onDidChangeCursorPosition,(()=>e.getPosition()));this._register((0,fg.fm)((e=>{if(!this._enabled.read(e))return;const t=h.read(e);t&&this.checkCursorPosition(t)}))),this._register((0,fg.fm)((t=>{const i=this._currentEdit.read(t);if(this._isCursorAtInlineEditContext.set(!1),!i)return void this._isVisibleContext.set(!1);this._isVisibleContext.set(!0);const n=e.getPosition();n&&this.checkCursorPosition(n)})));const d=(0,fg.yQ)("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register((0,fg.fm)((async t=>{this._enabled.read(t)&&(d.read(t),this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur||(this._currentRequestCts?.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))})));const c=(0,fg.yQ)("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register((0,fg.fm)((t=>{this._enabled.read(t)&&(c.read(t),this.getInlineEdit(e,!0))})));const u=this._register(Nt());this._register((0,fg.fm)((e=>{const t=this._fontFamily.read(e);u.setStyle(""===t||"default"===t?"":`\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .inline-edit {\n\tfont-family: ${t};\n}`)}))),this._register(new LH(this.editor,this._currentWidget,this.instantiationService)),this._register(new AH(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(e){if(!this._currentEdit)return void this._isCursorAtInlineEditContext.set(!1);const t=this._currentEdit.get();t?this._isCursorAtInlineEditContext.set(Js.Q.containsPosition(t.range,e)):this._isCursorAtInlineEditContext.set(!1)}validateInlineEdit(e,t){if(t.text.includes("\n")&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(1!==t.range.startColumn)return!1;const i=t.range.endLineNumber;if(t.range.endColumn!==(e.getModel()?.getLineLength(i)??0)+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const n=i.getVersionId(),s=this.languageFeaturesService.inlineEditProvider.all(i);if(0===s.length)return;const o=s[0];this._currentRequestCts=new sa.Qi;const r=this._currentRequestCts.token,a=t?La.sm.Automatic:La.sm.Invoke;var l,h;if(t&&await(l=50,h=r,new Promise((e=>{let t;const i=setTimeout((()=>{t&&t.dispose(),e()}),l);h&&(t=h.onCancellationRequested((()=>{clearTimeout(i),t&&t.dispose(),e()})))}))),r.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const d=await o.provideInlineEdit(i,{triggerKind:a},r);return d&&!r.isCancellationRequested&&!i.isDisposed()&&i.getVersionId()===n&&this.validateInlineEdit(e,d)?d:void 0}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith("\n")&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[Ck.replace(Js.Q.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,b.M_),this.freeEdit(e),(0,fg.Rn)((e=>{this._currentEdit.set(void 0,e),this._isAccepting.set(!1,e)}))}jumpToCurrent(){this._jumpBackPosition=this.editor.getSelection()?.getStartPosition();const e=this._currentEdit.get();if(!e)return;const t=Qn.y.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){const t=this._currentEdit.get();t&&t?.rejected&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,b.M_),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);0!==i.length&&i[0].freeInlineEdit(e)}};BH=OH=FH([WH(1,qn._Y),WH(2,hs.fN),WH(3,xa.ILanguageFeaturesService),WH(4,as),WH(5,Wp.pG),WH(6,VE),WH(7,Yn.IModelService)],BH);Ws(class extends Rs{constructor(){super({id:"editor.action.inlineEdit.accept",label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:hs.M$.and($s.writable,BH.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:hs.M$.and($s.writable,BH.inlineEditVisibleContext,BH.cursorAtInlineEditContext)}],menuOpts:[{menuId:vs.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=BH.get(t);await(i?.accept())}}),Ws(class extends Rs{constructor(){const e=hs.M$.and($s.writable,BH.inlineEditVisibleContext);super({id:"editor.action.inlineEdit.reject",label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:vs.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=BH.get(t);await(i?.clear())}}),Ws(class extends Rs{constructor(){const e=hs.M$.and($s.writable,BH.inlineEditVisibleContext,hs.M$.not(BH.cursorAtInlineEditKey));super({id:"editor.action.inlineEdit.jumpTo",label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:vs.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=BH.get(t);i?.jumpToCurrent()}}),Ws(class extends Rs{constructor(){const e=hs.M$.and($s.writable,BH.cursorAtInlineEditContext);super({id:"editor.action.inlineEdit.jumpBack",label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:vs.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=BH.get(t);i?.jumpBack()}}),Ws(class extends Rs{constructor(){const e=hs.M$.and($s.writable,hs.M$.not(BH.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=BH.get(t);i?.trigger()}}),Hs(BH.ID,BH,3);const HH=new hs.N1("inlineEditsVisible",!1,(0,$n.kg)("inlineEditsVisible","Whether an inline edit is visible")),VH=new hs.N1("inlineEditsIsPinned",!1,(0,$n.kg)("isPinned","Whether an inline edit is visible"));class zH extends Ae.jG{static{this.ID="editor.contrib.placeholderText"}constructor(e){var t,i;super(),this._editor=e,this._editorObs=BM(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=(0,fg.C)({owner:this,equalsFn:FM.dB},(e=>{const t=this._placeholderText.read(e);if(t&&this._editorObs.valueIsEmpty.read(e))return{placeholder:t}})),this._shouldViewBeAlive=(t=this,i=e=>void 0!==this._state.read(e)?.placeholder,(0,fg.ZX)(t,((e,t)=>!0===t||i(e)))),this._view=(0,Ry.rm)(((e,t)=>{if(!this._shouldViewBeAlive.read(e))return;const i=ui("div.editorPlaceholder");t.add((0,fg.fm)((e=>{const t=this._state.read(e),n=void 0!==t?.placeholder;i.root.style.display=n?"block":"none",i.root.innerText=t?.placeholder??""}))),t.add((0,fg.fm)((e=>{const t=this._editorObs.layoutInfo.read(e);i.root.style.left=`${t.contentLeft}px`,i.root.style.width=t.contentWidth-t.verticalScrollbarWidth+"px",i.root.style.top=`${this._editor.getTopForLineNumber(0)}px`}))),t.add((0,fg.fm)((e=>{i.root.style.fontFamily=this._editorObs.getOption(49).read(e),i.root.style.fontSize=this._editorObs.getOption(52).read(e)+"px",i.root.style.lineHeight=this._editorObs.getOption(67).read(e)+"px"}))),t.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:(0,fg.lk)(0),position:(0,fg.lk)(null),domNode:i.root}))})),this._view.recomputeInitiallyAndOnChange(this._store)}}var UH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},KH=function(e,t){return function(i,n){t(i,n,e)}};class jH{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let $H=class extends Ae.jG{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=BM(this._editor),this._elements=ui("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[ui("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[ui("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),ui("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),ui("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),gi("svg",{style:{overflow:"visible",pointerEvents:"none"}},[gi("defs",[gi("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[gi("stop",{offset:"0%",class:"gradient-stop"}),gi("stop",{offset:"100%",class:"gradient-stop"})])]),gi("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(to.Bz,"",Nh.vH,to.Bz.DEFAULT_CREATION_OPTIONS,null)),this._setText=(0,fg.un)((e=>{const t=this._edit.read(e);t&&this._previewTextModel.setValue(t.newLines.join("\n"))})).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(to.Bz,"",Nh.vH,to.Bz.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Pk,this._elements.promptEditor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,placeholder:"Describe the change you want...",fontFamily:uv},{contributions:Ds.getSomeEditorContributions([JB.ID,zH.ID,WI.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Pk,this._elements.editor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=BM(this._previewEditor),this._decorations=(0,fg.un)(this,(e=>{this._setText.read(e);const t=this._edit.read(e)?.changes;if(!t)return[];const i=[],n=[];if(1===t.length&&t[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const s of t)if(s.original.isEmpty||i.push({range:s.original.toInclusiveRange(),options:IE}),s.modified.isEmpty||n.push({range:s.modified.toInclusiveRange(),options:NE}),s.modified.isEmpty||s.original.isEmpty)s.original.isEmpty||i.push({range:s.original.toInclusiveRange(),options:OE}),s.modified.isEmpty||n.push({range:s.modified.toInclusiveRange(),options:RE});else for(const e of s.innerChanges||[])s.original.contains(e.originalRange.startLineNumber)&&i.push({range:e.originalRange,options:e.originalRange.isEmpty()?FE:PE}),s.modified.contains(e.modifiedRange.startLineNumber)&&n.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()?AE:TE});return n})),this._layout1=(0,fg.un)(this,(e=>{const t=this._editor.getModel(),i=this._edit.read(e);if(!i)return null;const n=i.range;let s=0;for(let o=n.startLineNumber;o{const t=this._edit.read(e);if(!t)return null;const i=t.range,n=this._editorObs.scrollLeft.read(e),s=this._layout1.read(e).left+20-n,o=this._editor.getTopForLineNumber(i.startLineNumber)-this._editorObs.scrollTop.read(e),r=this._editor.getTopForLineNumber(i.endLineNumberExclusive)-this._editorObs.scrollTop.read(e),a=new qH(s,o),l=new qH(s,r),h=r-o,d=this._editor.getOption(67)*t.newLines.length,c=h-d;return{topCode:a,bottomCode:l,codeHeight:h,topEdit:new qH(s+50,o+c/2),bottomEdit:new qH(s+50,r-c/2),editHeight:d}}));const s=(0,fg.un)(this,(e=>void 0!==this._edit.read(e)||void 0!==this._userPrompt.read(e)));var o,r,a;this._register(YI(this._elements.root,{display:(0,fg.un)(this,(e=>s.read(e)?"block":"none"))})),this._register(KI(this._editor.getDomNode(),this._elements.root)),this._register(BM(e).createOverlayWidget({domNode:this._elements.root,position:(0,fg.lk)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,fg.un)((e=>{const t=this._layout1.read(e)?.left;if(void 0===t)return 0;return t+this._previewEditorObs.contentWidth.read(e)}))})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register((0,fg.fm)((e=>{const t=this._layout.read(e);if(!t)return;const{topCode:i,bottomCode:n,topEdit:s,bottomEdit:o,editHeight:r}=t,a=(new GH).moveTo(i).lineTo(i.deltaX(10)).curveTo(i.deltaX(50),s.deltaX(-40),s.deltaX(-0)).lineTo(s).lineTo(o).lineTo(o.deltaX(-0)).curveTo(o.deltaX(-40),n.deltaX(50),n.deltaX(10)).lineTo(n).build();this._elements.path.setAttribute("d",a),this._elements.editorContainer.style.top=`${s.y}px`,this._elements.editorContainer.style.left=`${s.x}px`,this._elements.editorContainer.style.height=`${r}px`;const l=this._previewEditorObs.contentWidth.read(e);this._previewEditor.layout({height:r,width:l})}))),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(function(e,t){const i=new Ae.Cm;return i.add((0,fg.fm)((i=>{const n=e.read(i);t.set(n,void 0)}))),i.add((0,fg.fm)((i=>{const n=t.read(i);e.set(n,void 0)}))),i}((o=this._userPrompt,r=e=>e??"",a=e=>e,(0,Ry.dQ)(void 0,(e=>r(o.read(e))),((e,t)=>o.set(a(e),t)))),BM(this._promptEditor).value)),this._register((0,fg.fm)((e=>{const t=BM(this._promptEditor).isFocused.read(e);this._elements.root.classList.toggle("focused",t)})))}};$H=UH([KH(3,qn._Y)],$H);class qH{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new qH(this.x+e,this.y)}}class GH{constructor(){this._data=""}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}curveTo(e,t,i){return this._data+=`C ${e.x} ${e.y} ${t.x} ${t.y} ${i.x} ${i.y} `,this}build(){return this._data}}var QH,YH=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ZH=function(e,t){return function(i,n){t(i,n,e)}};let XH=class extends Ae.jG{static{QH=this}static{this._modelId=0}static _createUniqueUri(){return Hn.r.from({scheme:"inline-edits",path:(new Date).toString()+String(QH._modelId++)})}constructor(e,t,i,n,s,o,r){super(),this.textModel=e,this._textModelVersionId=t,this._selection=i,this._debounceValue=n,this.languageFeaturesService=s,this._diffProviderFactoryService=o,this._modelService=r,this._forceUpdateExplicitlySignal=(0,fg.Yd)(this),this._selectedInlineCompletionId=(0,fg.FY)(this,void 0),this._isActive=(0,fg.FY)(this,!1),this._originalModel=(0,Ry.a0)((()=>this._modelService.createModel("",null,QH._createUniqueUri()))).keepObserved(this._store),this._modifiedModel=(0,Ry.a0)((()=>this._modelService.createModel("",null,QH._createUniqueUri()))).keepObserved(this._store),this._pinnedRange=new eV(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map((e=>!!e)),this.userPrompt=(0,fg.FY)(this,void 0),this.inlineEdit=(0,fg.un)(this,(e=>this._inlineEdit.read(e)?.promiseResult.read(e)?.data)),this._inlineEdit=(0,fg.un)(this,(e=>{const t=this.selectedInlineEdit.read(e);if(!t)return;const i=t.inlineCompletion.range;if(""===t.inlineCompletion.insertText.trim())return;let n=t.inlineCompletion.insertText.split(/\r\n|\r|\n/);function s(e){const t=e[0].match(/^\s*/)?.[0]??"";return e.map((e=>e.replace(new RegExp("^"+t),"")))}n=s(n);let o=this.textModel.getValueInRange(i).split(/\r\n|\r|\n/);o=s(o),this._originalModel.get().setValue(o.join("\n")),this._modifiedModel.get().setValue(n.join("\n"));const r=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return fg.BK.fromFn((async()=>{const e=await r.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},sa.XO.None);if(!e.identical)return new jH(nE.M.fromRangeInclusive(i),s(n),e.changes)}))})),this._fetchStore=this._register(new Ae.Cm),this._inlineEditsFetchResult=(0,fg.X2)(this,void 0),this._inlineEdits=(0,fg.C)({owner:this,equalsFn:FM.dB},(e=>this._inlineEditsFetchResult.read(e)?.completions.map((e=>new JH(e)))??[])),this._fetchInlineEditsPromise=(0,fg.nb)({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:La.qw.Automatic}),handleChange:(e,t)=>(e.didChange(this._forceUpdateExplicitlySignal)&&(t.inlineCompletionTriggerKind=La.qw.Explicit),!0)},(async(e,t)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(e),this._textModelVersionId.read(e);const i=this._pinnedRange.range.read(e)??(n=this._selection.read(e),(e=>e.isEmpty()?void 0:e)(n));var n;if(!i)return this._inlineEditsFetchResult.set(void 0,void 0),void this.userPrompt.set(void 0,void 0);const s={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(e)},o=(0,sa.bs)(this._fetchStore);await(0,A.wR)(200,o);const r=await KF(this.languageFeaturesService.inlineCompletionsProvider,i,this.textModel,s,o);o.isCancellationRequested||this._inlineEditsFetchResult.set(r,void 0)})),this._filteredInlineEditItems=(0,fg.C)({owner:this,equalsFn:(0,FM.S3)()},(e=>this._inlineEdits.read(e))),this.selectedInlineCompletionIndex=(0,fg.un)(this,(e=>{const t=this._selectedInlineCompletionId.read(e),i=this._filteredInlineEditItems.read(e),n=void 0===this._selectedInlineCompletionId?-1:i.findIndex((e=>e.semanticId===t));return-1===n?(this._selectedInlineCompletionId.set(void 0,void 0),0):n})),this.selectedInlineEdit=(0,fg.un)(this,(e=>this._filteredInlineEditItems.read(e)[this.selectedInlineCompletionIndex.read(e)])),this._register((0,fg.OI)(this._fetchInlineEditsPromise))}async triggerExplicitly(e){(0,fg.PO)(e,(e=>{this._isActive.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)})),await this._fetchInlineEditsPromise.get()}stop(e){(0,fg.PO)(e,(e=>{this.userPrompt.set(void 0,e),this._isActive.set(!1,e),this._inlineEditsFetchResult.set(void 0,e),this._pinnedRange.setRange(void 0,e)}))}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineEditItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new b.D7;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}};XH=QH=YH([ZH(4,xa.ILanguageFeaturesService),ZH(5,VE),ZH(6,Yn.IModelService)],XH);class JH{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class eV extends Ae.jG{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=(0,fg.FY)(this,[]),this.range=(0,fg.un)(this,(e=>{this._versionId.read(e);const t=this._decorations.read(e)[0];return t?this._textModel.getDecorationRange(t)??null:null})),this._register((0,Ae.s)((()=>{this._textModel.deltaDecorations(this._decorations.get(),[])})))}setRange(e,t){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),e?[{range:e,options:{description:"trackedRange"}}]:[]),t)}}var tV,iV=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},nV=function(e,t){return function(i,n){t(i,n,e)}};let sV=class extends Ae.jG{static{tV=this}static{this.ID="editor.contrib.inlineEditsController"}static get(e){return e.getContribution(tV.ID)}constructor(e,t,i,n,s,o){var r,a,l;super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._debounceService=n,this._languageFeaturesService=s,this._configurationService=o,this._enabled=(r="editor.inlineEdits.enabled",a=!1,l=this._configurationService,(0,tT.eP)({debugName:()=>`Configuration Key "${r}"`},(e=>l.onDidChangeConfiguration((t=>{t.affectsConfiguration(r)&&e(t)}))),(()=>l.getValue(r)??a))),this._editorObs=BM(this.editor),this._selection=(0,fg.un)(this,(e=>this._editorObs.cursorSelection.read(e)??new qs.L(1,1,1,1))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=(0,Ry.a0)(this,(e=>{if(!this._enabled.read(e))return;if(this._editorObs.isReadonly.read(e))return;const t=this._editorObs.model.read(e);if(!t)return;return this._instantiationService.createInstance(GE(XH,e),t,this._editorObs.versionId,this._selection,this._debounceValue)})),this._hadInlineEdit=(0,fg.ZX)(this,((e,t)=>t||void 0!==this.model.read(e)?.inlineEdit.read(e))),this._widget=(0,Ry.a0)(this,(e=>{var t;if(this._hadInlineEdit.read(e))return this._instantiationService.createInstance(GE($H,e),this.editor,this.model.map(((e,t)=>e?.inlineEdit.read(t))),(t=e=>this.model.read(e)?.userPrompt??(0,fg.FY)("empty",""),(0,Ry.dQ)(void 0,(e=>t(e).read(e)),((e,i)=>{t(void 0).set(e,i)}))))})),this._register(iT(HH,this._contextKeyService,(e=>!!this.model.read(e)?.inlineEdit.read(e)))),this._register(iT(VH,this._contextKeyService,(e=>!!this.model.read(e)?.isPinned.read(e)))),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}};function oV(e){return{label:e.value,alias:e.original}}sV=tV=iV([nV(1,qn._Y),nV(2,hs.fN),nV(3,Tw.ILanguageFeatureDebounceService),nV(4,xa.ILanguageFeaturesService),nV(5,Wp.pG)],sV);class rV extends Rs{static{this.ID="editor.action.inlineEdits.showNext"}constructor(){super({id:rV.ID,...oV($n.aS("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:hs.M$.and($s.writable,HH),kbOpts:{weight:100,primary:606}})}async run(e,t){const i=sV.get(t);i?.model.get()?.next()}}class aV extends Rs{static{this.ID="editor.action.inlineEdits.showPrevious"}constructor(){super({id:aV.ID,...oV($n.aS("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:hs.M$.and($s.writable,HH),kbOpts:{weight:100,primary:604}})}async run(e,t){const i=sV.get(t);i?.model.get()?.previous()}}class lV extends Rs{static{this.ID="editor.action.inlineEdits.hide"}constructor(){super({id:lV.ID,...oV($n.aS("action.inlineEdits.hide","Hide Inline Edit")),precondition:HH,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=sV.get(t);(0,fg.Rn)((e=>{i?.model.get()?.stop(e)}))}}Hs(sV.ID,sV,3),Ws(class extends Rs{constructor(){super({id:"editor.action.inlineEdits.trigger",...oV($n.aS("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:$s.writable})}async run(e,t){const i=sV.get(t);await(0,WM.fL)((async e=>{await(i?.model.get()?.triggerExplicitly(e))}))}}),Ws(rV),Ws(aV),Ws(class extends Rs{constructor(){super({id:"editor.action.inlineEdits.accept",...oV($n.aS("action.inlineEdits.accept","Accept Inline Edit")),precondition:HH,menuOpts:{menuId:vs.InlineEditsActions,title:$n.kg("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:bl.W.check},kbOpts:{primary:2058,weight:2e4,kbExpr:HH}})}async run(e,t){t instanceof Pk&&(t=t.getParentEditor());const i=sV.get(t);i&&(i.model.get()?.accept(i.editor),i.editor.focus())}}),Ws(lV);var hV=i(15910);const dV=(0,qn.u1)("themeService");var cV,uV=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},gV=function(e,t){return function(i,n){t(i,n,e)}};let pV=class extends Ae.jG{static{cV=this}static{this.ID="editor.contrib.inspectTokens"}static get(e){return e.getContribution(cV.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel((e=>this.stop()))),this._register(this._editor.onDidChangeModelLanguage((e=>this.stop()))),this._register(La.dG.onDidChange((e=>this.stop()))),this._register(this._editor.onKeyUp((e=>9===e.keyCode&&this.stop())))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new mV(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};pV=cV=uV([gV(1,dV),gV(2,Dh.L)],pV);class mV extends Ae.jG{static{this._ID="editor.contrib.inspectTokensWidget"}constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=function(e,t){const i=La.dG.get(t);if(i)return i;const n=e.encodeLanguageId(t);return{getInitialState:()=>Ih.r3,tokenize:(e,i,n)=>(0,Ih.$H)(t,n),tokenizeEncoded:(e,t,i)=>(0,Ih.Lh)(n,i)}}(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((e=>this._compute(this._editor.getPosition())))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return mV._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let a=t.tokens1.length-1;a>=0;a--){const n=t.tokens1[a];if(e.column-1>=n.offset){i=a;break}}let n=0;for(let a=t.tokens2.length>>>1;a>=0;a--)if(e.column-1>=t.tokens2[a<<1]){n=a;break}const s=this._model.getLineContent(e.lineNumber);let o="";if(ie.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber));for(let a=t.length-2;a>=0;a--)t[a].lineNumber===t[a+1].lineNumber&&t.splice(a,1);const n=[];let s=0,o=0;const r=t.length;for(let a=1,l=e.getLineCount();a<=l;a++){const l=e.getLineContent(a),h=l.length+1;let d=0;if(o=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},bV=function(e,t){return function(i,n){t(i,n,e)}};let CV=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),n=(t,i)=>e.getLanguageIdAtPosition(t,i),s=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s)return void(this._selectionId=t.trackSelection(this._selection));if(!this._isMovingDown&&1===this._selection.startLineNumber)return void(this._selectionId=t.trackSelection(this._selection));this._moveEndPositionDown=!1;let o=this._selection;o.startLineNumbert===o.startLineNumber?e.tokenization.getLineTokens(s):e.tokenization.getLineTokens(t),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:t=>t===o.startLineNumber?e.getLineContent(s):e.getLineContent(t)},c=er(this._autoIndent,t,e.getLanguageIdAtPosition(s,1),o.startLineNumber,h,this._languageConfigurationService);if(null!==c){const t=Ri.UU(e.getLineContent(s)),i=sF(c,r);if(i!==sF(t,r)){const e=oF(i,r,l);d=e+this.trimStart(a)}}}t.addEditOperation(new Js.Q(o.startLineNumber,1,o.startLineNumber,1),d+"\n");const u=this.matchEnterRuleMovingDown(e,h,r,o.startLineNumber,s,d);if(null!==u)0!==u&&this.getIndentEditsOfMovingBlock(e,t,o,r,l,u);else{const a={tokenization:{getLineTokens:t=>t===o.startLineNumber?e.tokenization.getLineTokens(s):t>=o.startLineNumber+1&&t<=o.endLineNumber+1?e.tokenization.getLineTokens(t-1):e.tokenization.getLineTokens(t),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:t=>t===o.startLineNumber?d:t>=o.startLineNumber+1&&t<=o.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)},c=er(this._autoIndent,a,e.getLanguageIdAtPosition(s,1),o.startLineNumber+1,h,this._languageConfigurationService);if(null!==c){const i=Ri.UU(e.getLineContent(o.startLineNumber)),n=sF(c,r),s=sF(i,r);if(n!==s){const i=n-s;this.getIndentEditsOfMovingBlock(e,t,o,r,l,i)}}}}else t.addEditOperation(new Js.Q(o.startLineNumber,1,o.startLineNumber,1),d+"\n")}else if(s=o.startLineNumber-1,a=e.getLineContent(s),t.addEditOperation(new Js.Q(s,1,s+1,1),null),t.addEditOperation(new Js.Q(o.endLineNumber,e.getLineMaxColumn(o.endLineNumber),o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),"\n"+a),this.shouldAutoIndent(e,o)){const a={tokenization:{getLineTokens:t=>t===s?e.tokenization.getLineTokens(o.startLineNumber):e.tokenization.getLineTokens(t),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:t=>t===s?e.getLineContent(o.startLineNumber):e.getLineContent(t)},d=this.matchEnterRule(e,h,r,o.startLineNumber,o.startLineNumber-2);if(null!==d)0!==d&&this.getIndentEditsOfMovingBlock(e,t,o,r,l,d);else{const i=er(this._autoIndent,a,e.getLanguageIdAtPosition(o.startLineNumber,1),s,h,this._languageConfigurationService);if(null!==i){const n=Ri.UU(e.getLineContent(o.startLineNumber)),s=sF(i,r),a=sF(n,r);if(s!==a){const i=s-a;this.getIndentEditsOfMovingBlock(e,t,o,r,l,i)}}}}}this._selectionId=t.trackSelection(o)}buildIndentConverter(e,t,i){return{shiftIndent:n=>Yo.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>Yo.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let o=s.indentation;s.indentAction===Fo.l.None||s.indentAction===Fo.l.Indent?o=s.indentation+s.appendText:s.indentAction===Fo.l.IndentOutdent?o=s.indentation:s.indentAction===Fo.l.Outdent&&(o=t.unshiftIndent(s.indentation)+s.appendText);const r=e.getLineContent(n);if(this.trimStart(r).indexOf(this.trimStart(o))>=0){const s=Ri.UU(e.getLineContent(n));let r=Ri.UU(o);const a=tr(e,n,this._languageConfigurationService);null!==a&&2&a&&(r=t.unshiftIndent(r));return sF(r,i)-sF(s,i)}}return null}matchEnterRuleMovingDown(e,t,i,n,s,o){if(Ri.lT(o)>=0){const o=e.getLineMaxColumn(s),r=Ko(this._autoIndent,e,new Js.Q(s,o,s,o),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,r)}{let s=n-1;for(;s>=1;){const t=e.getLineContent(s);if(Ri.lT(t)>=0)break;s--}if(s<1||n>e.getLineCount())return null;const o=e.getLineMaxColumn(s),r=Ko(this._autoIndent,e,new Js.Q(s,o,s,o),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,r)}}matchEnterRule(e,t,i,n,s,o){let r=s;for(;r>=1;){let t;t=r===s&&void 0!==o?o:e.getLineContent(r);if(Ri.lT(t)>=0)break;r--}if(r<1||n>e.getLineCount())return null;const a=e.getLineMaxColumn(r),l=Ko(this._autoIndent,e,new Js.Q(r,a,r,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,l)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4)return!1;if(!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1);return i===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport}getIndentEditsOfMovingBlock(e,t,i,n,s,o){for(let r=i.startLineNumber;r<=i.endLineNumber;r++){const a=e.getLineContent(r),l=Ri.UU(a),h=oF(sF(l,n)+o,n,s);h!==l&&(t.addEditOperation(new Js.Q(r,1,r,l.length+1),h),r===i.endLineNumber&&i.endColumn<=l.length+1&&""===h&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=s)return null;const o=[];for(let a=n;a<=s;a++)o.push(e.getLineContent(a));let r=o.slice(0);return r.sort(wV.getCollator().compare),!0===i&&(r=r.reverse()),{startLineNumber:n,endLineNumber:s,before:o,after:r}}class SV extends Rs{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map(((e,t)=>({selection:e,index:t,ignore:!1})));i.sort(((e,t)=>Js.Q.compareRangesUsingStarts(e.selection,t.selection)));let n=i[0];for(let o=1;onew Qn.y(e.positionLineNumber,e.positionColumn))));const s=t.getSelection();if(null===s)return;const o=e.get(Wp.pG),r=t.getModel(),a=o.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:r?.getLanguageId(),resource:r?.uri}),l=new fV(s,n,a);t.pushUndoStop(),t.executeCommands(this.id,[l]),t.pushUndoStop()}}class DV extends Rs{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let a=0,l=n.length-1;aCk.replace(e,"")));t.pushUndoStop(),t.executeEdits(this.id,r,o),t.pushUndoStop()}}class NV extends Rs{run(e,t){const i=t.getSelections();if(null===i)return;const n=t.getModel();if(null===n)return;const s=t.getOption(132),o=[];for(const r of i)if(r.isEmpty()){const e=r.getStartPosition(),i=t.getConfiguredWordAtPosition(e);if(!i)continue;const a=new Js.Q(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),l=n.getValueInRange(a);o.push(Ck.replace(a,this._modifyText(l,s)))}else{const e=n.getValueInRange(r);o.push(Ck.replace(r,this._modifyText(e,s)))}t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop()}}class IV{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(e){}}return this._actual}isSupported(){return null!==this.get()}}class EV extends NV{static{this.titleBoundary=new IV("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu")}constructor(){super({id:"editor.action.transformToTitlecase",label:$n.kg("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:$s.writable})}_modifyText(e,t){const i=EV.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,(e=>e.toLocaleUpperCase())):e}}class MV extends NV{static{this.caseBoundary=new IV("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new IV("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu")}constructor(){super({id:"editor.action.transformToSnakecase",label:$n.kg("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:$s.writable})}_modifyText(e,t){const i=MV.caseBoundary.get(),n=MV.singleLetters.get();return i&&n?e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase():e}}class TV extends NV{static{this.wordBoundary=new IV("[_\\s-]","gm")}constructor(){super({id:"editor.action.transformToCamelcase",label:$n.kg("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:$s.writable})}_modifyText(e,t){const i=TV.wordBoundary.get();if(!i)return e;const n=e.split(i);return n.shift()+n.map((e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1))).join("")}}class RV extends NV{static{this.wordBoundary=new IV("[_\\s-]","gm")}static{this.wordBoundaryToMaintain=new IV("(?<=\\.)","gm")}constructor(){super({id:"editor.action.transformToPascalcase",label:$n.kg("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:$s.writable})}_modifyText(e,t){const i=RV.wordBoundary.get(),n=RV.wordBoundaryToMaintain.get();if(!i||!n)return e;return e.split(n).map((e=>e.split(i))).flat().map((e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1))).join("")}}class AV extends NV{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((e=>e.isSupported()))}static{this.caseBoundary=new IV("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new IV("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu")}static{this.underscoreBoundary=new IV("(\\S)(_)(\\S)","gm")}constructor(){super({id:"editor.action.transformToKebabcase",label:$n.kg("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:$s.writable})}_modifyText(e,t){const i=AV.caseBoundary.get(),n=AV.singleLetters.get(),s=AV.underscoreBoundary.get();return i&&n&&s?e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase():e}}Ws(class extends SV{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:$n.kg("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:vs.MenubarSelectionMenu,group:"2_line",title:$n.kg({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}),Ws(class extends SV{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:$n.kg("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:vs.MenubarSelectionMenu,group:"2_line",title:$n.kg({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}),Ws(class extends Rs{constructor(){super({id:"editor.action.duplicateSelection",label:$n.kg("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:$s.writable,menuOpts:{menuId:vs.MenubarSelectionMenu,group:"2_line",title:$n.kg({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(e,t,i){if(!t.hasModel())return;const n=[],s=t.getSelections(),o=t.getModel();for(const r of s)if(r.isEmpty())n.push(new _V(r,!0));else{const e=new qs.L(r.endLineNumber,r.endColumn,r.endLineNumber,r.endColumn);n.push(new So(e,o.getValueInRange(r)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}),Ws(class extends kV{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:$n.kg("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:vs.MenubarSelectionMenu,group:"2_line",title:$n.kg({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}),Ws(class extends kV{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:$n.kg("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:vs.MenubarSelectionMenu,group:"2_line",title:$n.kg({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}),Ws(class extends LV{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:$n.kg("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:$s.writable})}}),Ws(class extends LV{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:$n.kg("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:$s.writable})}}),Ws(class extends Rs{constructor(){super({id:"editor.action.removeDuplicateLines",label:$n.kg("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:$s.writable})}run(e,t){if(!t.hasModel())return;const i=t.getModel();if(1===i.getLineCount()&&1===i.getLineMaxColumn(1))return;const n=[],s=[];let o=0,r=!0,a=t.getSelections();1===a.length&&a[0].isEmpty()&&(a=[new qs.L(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],r=!1);for(const l of a){const e=new Set,t=[];for(let n=l.startLineNumber;n<=l.endLineNumber;n++){const s=i.getLineContent(n);e.has(s)||(t.push(s),e.add(s))}const r=new qs.L(l.startLineNumber,1,l.endLineNumber,i.getLineMaxColumn(l.endLineNumber)),a=l.startLineNumber-o,h=new qs.L(a,1,a+t.length-1,t[t.length-1].length);n.push(Ck.replace(r,t.join("\n"))),s.push(h),o+=l.endLineNumber-l.startLineNumber+1-t.length}t.pushUndoStop(),t.executeEdits(this.id,n,r?s:void 0),t.pushUndoStop()}}),Ws(xV),Ws(class extends Rs{constructor(){super({id:"editor.action.deleteLines",label:$n.kg("lines.delete","Delete Line"),alias:"Delete Line",precondition:$s.writable,kbOpts:{kbExpr:$s.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),n=t.getModel();if(1===n.getLineCount()&&1===n.getLineMaxColumn(1))return;let s=0;const o=[],r=[];for(let a=0,l=i.length;a1&&(t-=1,h=n.getLineMaxColumn(t)),o.push(Ck.replace(new qs.L(t,h,l,d),"")),r.push(new qs.L(t-s,e.positionColumn,t-s,e.positionColumn)),s+=e.endLineNumber-e.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,o,r),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map((e=>{let t=e.endLineNumber;return e.startLineNumbere.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber));const i=[];let n=t[0];for(let s=1;s=t[s].startLineNumber?n.endLineNumber=t[s].endLineNumber:(i.push(n),n=t[s]);return i.push(n),i}}),Ws(class extends Rs{constructor(){super({id:"editor.action.indentLines",label:$n.kg("lines.indent","Indent Line"),alias:"Indent Line",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,xr.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}),Ws(class extends Rs{constructor(){super({id:"editor.action.outdentLines",label:$n.kg("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:2140,weight:100}})}run(e,t){Or.Outdent.runEditorCommand(e,t,null)}}),Ws(class extends Rs{constructor(){super({id:"editor.action.insertLineBefore",label:$n.kg("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,hr.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}),Ws(class extends Rs{constructor(){super({id:"editor.action.insertLineAfter",label:$n.kg("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,hr.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}),Ws(class extends DV{constructor(){super({id:"deleteAllLeft",label:$n.kg("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:$s.writable,kbOpts:{kbExpr:$s.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];let s=0;return t.forEach((t=>{let o;if(1===t.endColumn&&s>0){const e=t.startLineNumber-s;o=new qs.L(e,t.startColumn,e,t.startColumn)}else o=new qs.L(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);s+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?i=o:n.push(o)})),i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getSelections();if(null===t)return[];let i=t;const n=e.getModel();return null===n?[]:(i.sort(Js.Q.compareRangesUsingStarts),i=i.map((e=>{if(e.isEmpty()){if(1===e.startColumn){const t=Math.max(1,e.startLineNumber-1),i=1===e.startLineNumber?1:n.getLineLength(t)+1;return new Js.Q(t,i,e.startLineNumber,1)}return new Js.Q(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new Js.Q(e.startLineNumber,1,e.endLineNumber,e.endColumn)})),i)}}),Ws(class extends DV{constructor(){super({id:"deleteAllRight",label:$n.kg("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:$s.writable,kbOpts:{kbExpr:$s.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];for(let s=0,o=t.length,r=0;s{if(e.isEmpty()){const i=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===i?new Js.Q(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new Js.Q(e.startLineNumber,e.startColumn,e.startLineNumber,i)}return e}));return n.sort(Js.Q.compareRangesUsingStarts),n}}),Ws(class extends Rs{constructor(){super({id:"editor.action.joinLines",label:$n.kg("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:$s.writable,kbOpts:{kbExpr:$s.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(null===i)return;let n=t.getSelection();if(null===n)return;i.sort(Js.Q.compareRangesUsingStarts);const s=[],o=i.reduce(((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(n.equalsSelection(e)&&(n=t),t):t.startLineNumber>e.endLineNumber+1?(s.push(e),t):new qs.L(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(s.push(e),t):new qs.L(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)));s.push(o);const r=t.getModel();if(null===r)return;const a=[],l=[];let h=n,d=0;for(let c=0,u=s.length;c=1){let i=!0;""===m&&(i=!1),!i||" "!==m.charAt(m.length-1)&&"\t"!==m.charAt(m.length-1)||(i=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g," "));const n=e.substr(t-1);m+=(i?" ":"")+n,g=i?n.length+1:n.length}else g=0}const f=new Js.Q(t,i,o,u);if(!f.isEmpty()){let i;e.isEmpty()?(a.push(Ck.replace(f,m)),i=new qs.L(f.startLineNumber-d,m.length-g+1,t-d,m.length-g+1)):e.startLineNumber===e.endLineNumber?(a.push(Ck.replace(f,m)),i=new qs.L(e.startLineNumber-d,e.startColumn,e.endLineNumber-d,e.endColumn)):(a.push(Ck.replace(f,m)),i=new qs.L(e.startLineNumber-d,e.startColumn,e.startLineNumber-d,m.length-p)),null!==Js.Q.intersectRanges(f,n)?h=i:l.push(i)}d+=f.endLineNumber-f.startLineNumber}l.unshift(h),t.pushUndoStop(),t.executeEdits(this.id,a,l),t.pushUndoStop()}}),Ws(class extends Rs{constructor(){super({id:"editor.action.transpose",label:$n.kg("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:$s.writable})}run(e,t){const i=t.getSelections();if(null===i)return;const n=t.getModel();if(null===n)return;const s=[];for(let o=0,r=i.length;o=r){if(t.lineNumber===n.getLineCount())continue;const e=new Js.Q(t.lineNumber,Math.max(1,t.column-1),t.lineNumber+1,1),i=n.getValueInRange(e).split("").reverse().join("");s.push(new yo(new qs.L(t.lineNumber,Math.max(1,t.column-1),t.lineNumber+1,1),i))}else{const e=new Js.Q(t.lineNumber,Math.max(1,t.column-1),t.lineNumber,t.column+1),i=n.getValueInRange(e).split("").reverse().join("");s.push(new xo(e,i,new qs.L(t.lineNumber,t.column+1,t.lineNumber,t.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}),Ws(class extends NV{constructor(){super({id:"editor.action.transformToUppercase",label:$n.kg("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:$s.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}),Ws(class extends NV{constructor(){super({id:"editor.action.transformToLowercase",label:$n.kg("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:$s.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}),MV.caseBoundary.isSupported()&&MV.singleLetters.isSupported()&&Ws(MV),TV.wordBoundary.isSupported()&&Ws(TV),RV.wordBoundary.isSupported()&&Ws(RV),EV.titleBoundary.isSupported()&&Ws(EV),AV.isSupported()&&Ws(AV);var PV,OV=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},FV=function(e,t){return function(i,n){t(i,n,e)}};const WV=new hs.N1("LinkedEditingInputVisible",!1);let BV=class extends Ae.jG{static{PV=this}static{this.ID="editor.contrib.linkedEditing"}static{this.DECORATION=to.kI.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"})}static get(e){return e.getContribution(PV.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new Ae.Cm),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=WV.bindTo(t),this._debounceInformation=s.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new Ae.Cm),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel((()=>this.reinitialize(!0)))),this._register(this._editor.onDidChangeConfiguration((e=>{(e.hasChanged(70)||e.hasChanged(94))&&this.reinitialize(!1)}))),this._register(this._providers.onDidChange((()=>this.reinitialize(!1)))),this._register(this._editor.onDidChangeModelLanguage((()=>this.reinitialize(!0)))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=null!==t&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(t);if(i===this._enabled&&!e)return;if(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||null===t)return;this._localToDispose.add(P.Jh.runAndSubscribe(t.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()})));const n=new A.ve(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger((()=>this.updateRanges()),this._debounceDuration??this._debounceInformation.get(t))},o=new A.ve(0),r=e=>{this._rangeSyncTriggerPromise=o.trigger((()=>this._syncRanges(e)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{s()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((e=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&e.changes.every((e=>t.intersectRanges(e.range))))return void r(this._syncRangesToken)}s()}))),this._localToDispose.add({dispose:()=>{n.dispose(),o.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||0===this._currentDecorations.length)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const n=t.getValueInRange(i);if(this._currentWordPattern){const e=n.match(this._currentWordPattern);if((e?e[0].length:0)!==n.length)return this.clearRanges()}const s=[];for(let o=1,r=this._currentDecorations.length;o1)return void this.clearRanges();const i=this._editor.getModel(),n=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===n){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const e=this._currentDecorations.getRange(0);if(e&&e.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=n;const s=this._currentRequestCts=new sa.Qi;try{const e=new Vp.W(!1),o=await HV(this._providers,i,t,s.token);if(this._debounceInformation.update(i,e.elapsed()),s!==this._currentRequestCts)return;if(this._currentRequestCts=null,n!==i.getVersionId())return;let r=[];o?.ranges&&(r=o.ranges),this._currentWordPattern=o?.wordPattern||this._languageWordPattern;let a=!1;for(let i=0,n=r.length;i({range:e,options:PV.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(l),this._syncRangesToken++}catch(o){(0,b.MB)(o)||(0,b.dz)(o),this._currentRequestCts!==s&&this._currentRequestCts||this.clearRanges()}}};BV=PV=OV([FV(1,hs.fN),FV(2,xa.ILanguageFeaturesService),FV(3,Wo.JZ),FV(4,Tw.ILanguageFeatureDebounceService)],BV);function HV(e,t,i,n){const s=e.ordered(t);return(0,A.$1)(s.map((e=>async()=>{try{return await e.provideLinkedEditingRanges(t,i,n)}catch(s){return void(0,b.M_)(s)}})),(e=>!!e&&na.EI(e?.ranges)))}Fs(new(Ts.bindToContribution(BV.get))({id:"cancelLinkedEditingInput",precondition:WV,handler:e=>e.clearRanges(),kbOpts:{kbExpr:$s.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));(0,io.x1A)("editor.linkedEditingBackground",{dark:dd.Q1.fromHex("#f00").transparent(.3),light:dd.Q1.fromHex("#f00").transparent(.3),hcDark:dd.Q1.fromHex("#f00").transparent(.3),hcLight:dd.Q1.white},$n.kg("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Os("_executeLinkedEditingProvider",((e,t,i)=>{const{linkedEditingRangeProvider:n}=e.get(xa.ILanguageFeaturesService);return HV(n,t,i,sa.XO.None)})),Hs(BV.ID,BV,1),Ws(class extends Rs{constructor(){super({id:"editor.action.linkedEditing",label:$n.kg("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:hs.M$.and($s.writable,$s.hasRenameProvider),kbOpts:{kbExpr:$s.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(Gn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Hn.r.isUri(n)&&Qn.y.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(s),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),b.dz):super.runCommand(e,t)}run(e,t){const i=BV.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}});class VV{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,e)).then((t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing"))))):Promise.reject(new Error("missing"))}}class zV{constructor(e){this._disposables=new Ae.Cm;let t=[];for(const[i,n]of e){const e=i.links.map((e=>new VV(e,n)));t=zV._union(t,e),(0,Ae.Xm)(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let n,s,o,r;for(n=0,o=0,s=e.length,r=t.length;nPromise.resolve(e.provideLinks(t,i)).then((t=>{t&&(n[s]=[t,e])}),b.M_)));return Promise.all(s).then((()=>{const e=new zV((0,na.Yc)(n));return i.isCancellationRequested?(e.dispose(),new zV([])):e}))}ls.registerCommand("_executeLinkProvider",(async(e,...t)=>{let[i,n]=t;(0,rs.j)(i instanceof Hn.r),"number"!=typeof n&&(n=0);const{linkProvider:s}=e.get(xa.ILanguageFeaturesService),o=e.get(Yn.IModelService).getModel(i);if(!o)return[];const r=await UV(s,o,sa.XO.None);if(!r)return[];for(let l=0;l=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},$V=function(e,t){return function(i,n){t(i,n,e)}};let qV=class extends Ae.jG{static{KV=this}static{this.ID="editor.linkDetector"}static get(e){return e.getContribution(KV.ID)}constructor(e,t,i,n,s){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=n,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=s.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new A.uC((()=>this.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const o=this._register(new xk(e));this._register(o.onMouseMoveOrRelevantKeyDown((([e,t])=>{this._onEditorMouseMove(e,t)}))),this._register(o.onExecute((e=>{this.onEditorMouseUp(e)}))),this._register(o.onCancel((e=>{this.cleanUpActiveLinkDecoration()}))),this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(e.onDidChangeModelContent((e=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(e.onDidChangeModel((e=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(e.onDidChangeModelLanguage((e=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((e=>{this.stop(),this.computeLinks.schedule(0)}))),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=(0,A.SS)((t=>UV(this.providers,e,t)));try{const t=new Vp.W(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){(0,b.dz)(t)}finally{this.computePromise=null}}}updateDecorations(e){const t="altKey"===this.editor.getOption(78),i=[],n=Object.keys(this.currentOccurrences);for(const o of n){const e=this.currentOccurrences[o];i.push(e.decorationId)}const s=[];if(e)for(const o of e)s.push(YV.decoration(o,t));this.editor.changeDecorations((t=>{const n=t.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let i=0,s=n.length;i{t.activate(e,i),this.activeLinkDecorationId=t.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e="altKey"===this.editor.getOption(78);if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations((i=>{t.deactivate(i,e)})),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:n}=e;n.resolve(sa.XO.None).then((e=>{if("string"==typeof e&&this.editor.hasModel()){const t=this.editor.getModel().uri;if(t.scheme===Pe.ny.file&&e.startsWith(`${Pe.ny.file}:`)){const i=Hn.r.parse(e);if(i.scheme===Pe.ny.file){const n=Bn.su(i);let s=null;n.startsWith("/./")||n.startsWith("\\.\\")?s=`.${n.substr(1)}`:(n.startsWith("//./")||n.startsWith("\\\\.\\"))&&(s=`.${n.substr(2)}`),s&&(e=Bn.uJ(t,s))}}}return this.openerService.open(e,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(e=>{const t=e instanceof Error?e.message:e;"invalid"===t?this.notificationService.warn($n.kg("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):"missing"===t?this.notificationService.warn($n.kg("missing.url","Failed to open this link because its target is missing.")):(0,b.dz)(e)}))}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const e=this.currentOccurrences[i.id];if(e)return e}return null}isEnabled(e,t){return Boolean(6===e.target.type&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){this.computeLinks.cancel(),this.activeLinksList&&(this.activeLinksList?.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};qV=KV=jV([$V(1,Rh),$V(2,Sd),$V(3,xa.ILanguageFeaturesService),$V(4,Tw.ILanguageFeatureDebounceService)],qV);const GV=to.kI.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),QV=to.kI.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"});class YV{static decoration(e,t){return{range:e.range,options:YV._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?QV:GV};return n.hoverMessage=function(e,t){const i=e.url&&/^command:/i.test(e.url.toString()),n=e.tooltip?e.tooltip:i?$n.kg("links.navigate.executeCmd","Execute command"):$n.kg("links.navigate.follow","Follow link"),s=t?f.zx?$n.kg("links.navigate.kb.meta.mac","cmd + click"):$n.kg("links.navigate.kb.meta","ctrl + click"):f.zx?$n.kg("links.navigate.kb.alt.mac","option + click"):$n.kg("links.navigate.kb.alt","alt + click");if(e.url){let t="";if(/^command:/i.test(e.url.toString())){const i=e.url.toString().match(/^command:([^?#]+)/);if(i){const e=i[1];t=$n.kg("tooltip.explanation","Execute command {0}",e)}}return new Vn("",!0).appendLink(e.url.toString(!0).replace(/ /g,"%20"),n,t).appendMarkdown(` (${s})`)}return(new Vn).appendText(`${n} (${s})`)}(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,YV._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,YV._getOptions(this.link,t,!1))}}Hs(qV.ID,qV,1),Ws(class extends Rs{constructor(){super({id:"editor.action.openLink",label:$n.kg("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=qV.get(t);if(!i)return;if(!t.hasModel())return;const n=t.getSelections();for(const s of n){const e=i.getLinkOccurrence(s.getEndPosition());e&&i.openLinkOccurrence(e,!1)}}});class ZV extends Ae.jG{static{this.ID="editor.contrib.longLinesHelper"}constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown((e=>{const t=this._editor.getOption(118);t>=0&&6===e.target.type&&e.target.position.column>=t&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}Hs(ZV.ID,ZV,2);const XV=(0,io.x1A)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},$n.kg("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);(0,io.x1A)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},$n.kg("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),(0,io.x1A)("editor.wordHighlightTextBackground",XV,$n.kg("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const JV=(0,io.x1A)("editor.wordHighlightBorder",{light:null,dark:null,hcDark:io.buw,hcLight:io.buw},$n.kg("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));(0,io.x1A)("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:io.buw,hcLight:io.buw},$n.kg("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),(0,io.x1A)("editor.wordHighlightTextBorder",JV,$n.kg("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const ez=(0,io.x1A)("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",$n.kg("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),tz=(0,io.x1A)("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",$n.kg("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),iz=(0,io.x1A)("editorOverviewRuler.wordHighlightTextForeground",io.z5H,$n.kg("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),nz=to.kI.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:(0,no.Yf)(tz),position:eo.A5.Center},minimap:{color:(0,no.Yf)(io.Xp1),position:1}}),sz=to.kI.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:(0,no.Yf)(iz),position:eo.A5.Center},minimap:{color:(0,no.Yf)(io.Xp1),position:1}}),oz=to.kI.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:(0,no.Yf)(io.z5H),position:eo.A5.Center},minimap:{color:(0,no.Yf)(io.Xp1),position:1}}),rz=to.kI.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),az=to.kI.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:(0,no.Yf)(ez),position:eo.A5.Center},minimap:{color:(0,no.Yf)(io.Xp1),position:1}});function lz(e){return e?rz:oz}(0,no.zy)(((e,t)=>{const i=e.getColor(io.QwA);i&&t.addRule(`.monaco-editor .selectionHighlight { background-color: ${i.transparent(.5)}; }`)}));var hz,dz=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},cz=function(e,t){return function(i,n){t(i,n,e)}};function uz(e,t){const i=t.filter((t=>!e.find((e=>e.equals(t)))));if(i.length>=1){const e=i.map((e=>`line ${e.viewState.position.lineNumber} column ${e.viewState.position.column}`)).join(", ");yi(1===i.length?$n.kg("cursorAdded","Cursor added: {0}",e):$n.kg("cursorsAdded","Cursors added: {0}",e))}}class gz{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class pz{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new pz(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let n,s,o=!1;const r=e.getSelections();1===r.length&&r[0].isEmpty()?(o=!0,n=!0,s=!0):(n=i.wholeWord,s=i.matchCase);const a=e.getSelection();let l,h=null;if(a.isEmpty()){const t=e.getConfiguredWordAtPosition(a.getStartPosition());if(!t)return null;l=t.word,h=new qs.L(a.startLineNumber,t.startColumn,a.startLineNumber,t.endColumn)}else l=e.getModel().getValueInRange(a).replace(/\r\n/g,"\n");return new pz(e,t,o,l,n,s,h)}constructor(e,t,i,n,s,o,r){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=s,this.matchCase=o,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new gz(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new gz(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new qs.L(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new gz(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new gz(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new qs.L(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}class mz extends Ae.jG{static{this.ID="editor.contrib.multiCursorController"}static get(e){return e.getContribution(mz.ID)}constructor(e){super(),this._sessionDispose=this._register(new Ae.Cm),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=pz.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((e=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(e.getState().onFindReplaceStateChange((e=>{(e.matchCase||e.wholeWord)&&this._endSession()})))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new qs.L(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const i=e.getState().matchCase;if(!bz(this._editor.getModel(),t,i)){const e=this._editor.getModel(),i=[];for(let n=0,s=t.length;n0&&i.isRegex){const e=this._editor.getModel();t=i.searchScope?e.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):e.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const e=this._editor.getSelection();for(let i=0,n=t.length;inew qs.L(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn))))}}}class fz extends Rs{run(e,t){const i=mz.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),o=MA.get(t);if(o)this._run(i,o);else{const n=e.get(qn._Y).createInstance(MA,t);this._run(i,n),n.dispose()}uz(s,n.getCursorStates())}}}class _z{constructor(e,t,i,n,s){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=n,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,s&&this._model===s._model&&this._searchText===s._searchText&&this._matchCase===s._matchCase&&this._wordSeparators===s._wordSeparators&&this._modelVersionId===s._modelVersionId&&(this._cachedFindMatches=s._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((e=>e.range)),this._cachedFindMatches.sort(Js.Q.compareRangesUsingStarts)),this._cachedFindMatches}}let vz=class extends Ae.jG{static{hz=this}static{this.ID="editor.contrib.selectionHighlighter"}constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new A.uC((()=>this._update()),300)),this.state=null,this._register(e.onDidChangeConfiguration((t=>{this._isEnabled=e.getOption(109)}))),this._register(e.onDidChangeCursorSelection((e=>{this._isEnabled&&(e.selection.isEmpty()?3===e.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(e.onDidChangeModel((e=>{this._setState(null)}))),this._register(e.onDidChangeModelContent((e=>{this._isEnabled&&this.updateSoon.schedule()})));const i=MA.get(e);i&&this._register(i.getState().onFindReplaceStateChange((e=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState(hz._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t)return null;if(!i.hasModel())return null;const n=i.getSelection();if(n.startLineNumber!==n.endLineNumber)return null;const s=mz.get(i);if(!s)return null;const o=MA.get(i);if(!o)return null;let r=s.getSession(o);if(!r){const e=i.getSelections();if(e.length>1){const t=o.getState().matchCase;if(!bz(i.getModel(),e,t))return null}r=pz.create(i,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const a=o.getState(),l=a.matchCase;if(a.isRevealed){let e=a.searchString;l||(e=e.toLowerCase());let t=r.searchText;if(l||(t=t.toLowerCase()),e===t&&r.matchCase===a.matchCase&&r.wholeWord===a.wholeWord&&!a.isRegex)return null}return new _z(i.getModel(),r.searchText,r.matchCase,r.wholeWord?i.getOption(132):null,e)}_setState(e){if(this.state=e,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),n=this.editor.getSelections();n.sort(Js.Q.compareRangesUsingStarts);const s=[];for(let l=0,h=0,d=i.length,c=n.length;l=c)s.push(e),l++;else{const t=Js.Q.compareRangesUsingStarts(e,n[h]);t<0?(!n[h].isEmpty()&&Js.Q.areIntersecting(e,n[h])||s.push(e),l++):(t>0||l++,h++)}}const o="off"!==this.editor.getOption(81),r=this._languageFeaturesService.documentHighlightProvider.has(t)&&o,a=s.map((e=>({range:e,options:lz(r)})));this._decorations.set(a)}dispose(){this._setState(null),super.dispose()}};function bz(e,t,i){const n=Cz(e,t[0],!i);for(let s=1,o=t.length;s1&&i.push(new qs.L(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections(),s=t._getViewModel(),o=s.getCursorStates(),r=[];n.forEach((e=>this.getCursorsForSelection(e,i,r))),r.length>0&&t.setSelections(r),uz(o,s.getCursorStates())}}),Ws(class extends fz{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:$n.kg("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:2082,weight:100},menuOpts:{menuId:vs.MenubarSelectionMenu,group:"3_multi",title:$n.kg({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}),Ws(class extends fz{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:$n.kg("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:vs.MenubarSelectionMenu,group:"3_multi",title:$n.kg({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}),Ws(class extends fz{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:$n.kg("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:(0,v.m5)(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}),Ws(class extends fz{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:$n.kg("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}),Ws(class extends fz{constructor(){super({id:"editor.action.selectHighlights",label:$n.kg("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:3114,weight:100},menuOpts:{menuId:vs.MenubarSelectionMenu,group:"3_multi",title:$n.kg({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}),Ws(class extends fz{constructor(){super({id:"editor.action.changeAll",label:$n.kg("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:hs.M$.and($s.writable,$s.editorTextFocus),kbOpts:{kbExpr:$s.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}),Ws(class extends Rs{constructor(){super({id:"editor.action.addCursorsToBottom",label:$n.kg("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=t.getModel().getLineCount(),s=[];for(let a=i[0].startLineNumber;a<=n;a++)s.push(new qs.L(a,i[0].startColumn,a,i[0].endColumn));const o=t._getViewModel(),r=o.getCursorStates();s.length>0&&t.setSelections(s),uz(r,o.getCursorStates())}}),Ws(class extends Rs{constructor(){super({id:"editor.action.addCursorsToTop",label:$n.kg("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=[];for(let r=i[0].startLineNumber;r>=1;r--)n.push(new qs.L(r,i[0].startColumn,r,i[0].endColumn));const s=t._getViewModel(),o=s.getCursorStates();n.length>0&&t.setSelections(n),uz(o,s.getCursorStates())}}),Ws(class extends Rs{constructor(){super({id:"editor.action.focusNextCursor",label:$n.kg("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:$n.kg("mutlicursor.focusNextCursor.description","Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),o=s.shift();o&&(s.push(o),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),uz(s,n.getCursorStates()))}}),Ws(class extends Rs{constructor(){super({id:"editor.action.focusPreviousCursor",label:$n.kg("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:$n.kg("mutlicursor.focusPreviousCursor.description","Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),o=s.pop();o&&(s.unshift(o),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),uz(s,n.getCursorStates()))}});const wz={Visible:new hs.N1("parameterHintsVisible",!1),MultipleSignatures:new hs.N1("parameterHintsMultipleSignatures",!1)};async function yz(e,t,i,n,s){const o=e.ordered(t);for(const a of o)try{const e=await a.provideSignatureHelp(t,i,s,n);if(e)return e}catch(r){(0,b.M_)(r)}}var Sz;ls.registerCommand("_executeSignatureHelpProvider",(async(e,...t)=>{const[i,n,s]=t;(0,rs.j)(Hn.r.isUri(i)),(0,rs.j)(Qn.y.isIPosition(n)),(0,rs.j)("string"==typeof s||!s);const o=e.get(xa.ILanguageFeaturesService),r=await e.get(Zn.ITextModelService).createModelReference(i);try{const e=await yz(o.signatureHelpProvider,r.object.textEditorModel,Qn.y.lift(n),{triggerKind:La.WA.Invoke,isRetrigger:!1,triggerCharacter:s},sa.XO.None);if(!e)return;return setTimeout((()=>e.dispose()),0),e.value}finally{r.dispose()}})),function(e){e.Default={type:0};e.Pending=class{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}};e.Active=class{constructor(e){this.hints=e,this.type=1}}}(Sz||(Sz={}));class kz extends Ae.jG{static{this.DEFAULT_DELAY=120}constructor(e,t,i=kz.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new P.vl),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Sz.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Ae.HE),this.triggerChars=new pb.y,this.retriggerChars=new pb.y,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new A.ve(i),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((e=>this.onCursorChange(e)))),this._register(this.editor.onDidChangeModelContent((e=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((e=>this.onDidType(e)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){2===this._state.type&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=Sz.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger((()=>this.doTrigger(n)),t).catch(b.dz)}next(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e==e-1,n=this.editor.getOption(86).cycle;!(e<2||i)||n?this.updateActiveSignature(i&&n?0:t+1):this.cancel()}previous(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=0===t,n=this.editor.getOption(86).cycle;!(e<2||i)||n?this.updateActiveSignature(i&&n?e-1:t-1):this.cancel()}updateActiveSignature(e){1===this.state.type&&(this.state=new Sz.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=1===this.state.type||2===this.state.type,i=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const n=this._pendingTriggers.reduce(Lz);this._pendingTriggers=[];const s={triggerKind:n.triggerKind,triggerCharacter:n.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const o=this.editor.getModel(),r=this.editor.getPosition();this.state=new Sz.Pending((0,A.SS)((e=>yz(this.providers,o,r,s,e))),i);try{const t=await this.state.request;return e!==this.triggerId?(t?.dispose(),!1):t&&t.value.signatures&&0!==t.value.signatures.length?(this.state=new Sz.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(t?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(a){return e===this.triggerId&&(this.state=Sz.Default),(0,b.dz)(a),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const e of t.signatureHelpTriggerCharacters||[])if(e.length){const t=e.charCodeAt(0);this.triggerChars.add(t),this.retriggerChars.add(t)}for(const e of t.signatureHelpRetriggerCharacters||[])e.length&&this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:La.WA.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){"mouse"===e.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:La.WA.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:La.WA.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function Lz(e,t){switch(t.triggerKind){case La.WA.Invoke:return t;case La.WA.ContentChange:return e;case La.WA.TriggerCharacter:default:return t}}var xz,Dz=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Nz=function(e,t){return function(i,n){t(i,n,e)}};const Iz=ei,Ez=fu("parameter-hints-next",bl.W.chevronDown,$n.kg("parameterHintsNextIcon","Icon for show next parameter hint.")),Mz=fu("parameter-hints-previous",bl.W.chevronUp,$n.kg("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let Tz=class extends Ae.jG{static{xz=this}static{this.ID="editor.widget.parameterHintsWidget"}constructor(e,t,i,n,s,o){super(),this.editor=e,this.model=t,this.telemetryService=o,this.renderDisposeables=this._register(new Ae.Cm),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Fh({editor:e},s,n)),this.keyVisible=wz.Visible.bindTo(i),this.keyMultipleSignatures=wz.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Iz(".editor-widget.parameter-hints-widget"),t=Gt(e,Iz(".phwrapper"));t.tabIndex=-1;const i=Gt(t,Iz(".controls")),n=Gt(i,Iz(".button"+En.L.asCSSSelector(Mz))),s=Gt(i,Iz(".overloads")),o=Gt(i,Iz(".button"+En.L.asCSSSelector(Ez)));this._register(Ye(n,"click",(e=>{jt(e),this.previous()}))),this._register(Ye(o,"click",(e=>{jt(e),this.next()})));const r=Iz(".body"),a=new eg(r,{alwaysConsumeMouseWheel:!0});this._register(a),t.appendChild(a.getDomNode());const l=Gt(r,Iz(".signature")),h=Gt(r,Iz(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:l,overloads:s,docs:h,scrollbar:a},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((e=>{this.visible&&this.editor.layoutContentWidget(this)})));const d=()=>{if(!this.domNodes)return;const e=this.editor.getOption(50),t=this.domNodes.element;t.style.fontSize=`${e.fontSize}px`,t.style.lineHeight=""+e.lineHeight/e.fontSize,t.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",e.fontFamily),t.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",Ec.fontFamily)};d(),this._register(P.Jh.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(e=>e.filter((e=>e.hasChanged(50)))))(d)),this._register(this.editor.onDidLayoutChange((e=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{this.domNodes?.element.classList.add("visible")}),100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const n=Gt(this.domNodes.signature,Iz(".code")),s=i.parameters.length>0,o=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,o);else{Gt(n,Iz("span")).textContent=i.label}const r=i.parameters[o];if(r?.documentation){const e=Iz("span.documentation");if("string"==typeof r.documentation)e.textContent=r.documentation;else{const t=this.renderMarkdownDocs(r.documentation);e.appendChild(t.element)}Gt(this.domNodes.docs,Iz("p",{},e))}if(void 0===i.documentation);else if("string"==typeof i.documentation)Gt(this.domNodes.docs,Iz("p",{},i.documentation));else{const e=this.renderMarkdownDocs(i.documentation);Gt(this.domNodes.docs,e.element)}const a=this.hasDocs(i,r);if(this.domNodes.signature.classList.toggle("has-docs",a),this.domNodes.docs.classList.toggle("empty",!a),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,r){let e="";const t=i.parameters[o];e=Array.isArray(t.label)?i.label.substring(t.label[0],t.label[1]):t.label,t.documentation&&(e+="string"==typeof t.documentation?`, ${t.documentation}`:`, ${t.documentation.value}`),i.documentation&&(e+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==e&&(wi($n.kg("hint","{0}, hint",e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new Vp.W,i=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));i.element.classList.add("markdown-docs");const n=t.elapsed();return n>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:n}),i}hasDocs(e,t){return!!(t&&"string"==typeof t.documentation&&(0,rs.eU)(t.documentation).length>0)||(!!(t&&"object"==typeof t.documentation&&(0,rs.eU)(t.documentation).value.length>0)||(!!(e.documentation&&"string"==typeof e.documentation&&(0,rs.eU)(e.documentation).length>0)||!!(e.documentation&&"object"==typeof e.documentation&&(0,rs.eU)(e.documentation.value).length>0)))}renderParameters(e,t,i){const[n,s]=this.getParameterLabelOffsets(t,i),o=document.createElement("span");o.textContent=t.label.substring(0,n);const r=document.createElement("span");r.textContent=t.label.substring(n,s),r.className="parameter active";const a=document.createElement("span");a.textContent=t.label.substring(s),Gt(e,o,r,a)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const t=new RegExp(`(\\W|^)${(0,Ri.bm)(i.label)}(?=\\W|$)`,"g");t.test(e.label);const n=t.lastIndex-i.label.length;return n>=0?[n,t.lastIndex]:[0,0]}return[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return xz.ID}updateMaxHeight(){if(!this.domNodes)return;const e=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=e;const t=this.domNodes.element.getElementsByClassName("phwrapper");t.length&&(t[0].style.maxHeight=e)}};Tz=xz=Dz([Nz(2,hs.fN),Nz(3,Rh),Nz(4,Dh.L),Nz(5,xs)],Tz),(0,io.x1A)("editorHoverWidget.highlightForeground",io.QI5,$n.kg("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var Rz,Az=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Pz=function(e,t){return function(i,n){t(i,n,e)}};let Oz=class extends Ae.jG{static{Rz=this}static{this.ID="editor.controller.parameterHints"}static get(e){return e.getContribution(Rz.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new kz(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints((e=>{e?(this.widget.value.show(),this.widget.value.render(e)):this.widget.rawValue?.hide()}))),this.widget=new Ol.d((()=>this._register(t.createInstance(Tz,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(e){this.model.trigger(e,0)}};Oz=Rz=Az([Pz(1,qn._Y),Pz(2,xa.ILanguageFeaturesService)],Oz);Hs(Oz.ID,Oz,2),Ws(class extends Rs{constructor(){super({id:"editor.action.triggerParameterHints",label:$n.kg("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:$s.hasSignatureHelpProvider,kbOpts:{kbExpr:$s.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Oz.get(t);i?.trigger({triggerKind:La.WA.Invoke})}});const Fz=Ts.bindToContribution(Oz.get);Fs(new Fz({id:"closeParameterHints",precondition:wz.Visible,handler:e=>e.cancel(),kbOpts:{weight:175,kbExpr:$s.focus,primary:9,secondary:[1033]}})),Fs(new Fz({id:"showPrevParameterHint",precondition:hs.M$.and(wz.Visible,wz.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:175,kbExpr:$s.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Fs(new Fz({id:"showNextParameterHint",precondition:hs.M$.and(wz.Visible,wz.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:175,kbExpr:$s.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var Wz=i(87676),Bz=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Hz=function(e,t){return function(i,n){t(i,n,e)}};class Vz{constructor(e){this.instantiationService=e}init(...e){}}let zz=class extends Vz{constructor(e,t){super(t),this.init(e)}};var Uz;zz=Bz([Hz(1,qn._Y)],zz),Hs(zH.ID,(Uz=()=>zH,jE()?function(e,t){return class extends t{constructor(){super(...arguments),this._autorun=void 0}init(...t){this._autorun=(0,fg.yC)(((i,n)=>{const s=GE(e(),i);n.add(this.instantiationService.createInstance(s,...t))}))}dispose(){this._autorun?.dispose()}}}(Uz,zz):Uz()),0),(0,Wz.x1)("editor.placeholder.foreground",Xf.Ek,(0,$n.kg)("placeholderForeground","Foreground color of the placeholder text in the editor."));class Kz{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),n=new Map,s=[];for(const[o,r]of this.documents){if(t.isCancellationRequested)return[];for(const e of r.chunks){const t=this.computeSimilarityScore(e,i,n);t>0&&s.push({key:o,score:t})}}return s}static termFrequencies(e){return function(e){const t=new Map;for(const i of e)t.set(i,(t.get(i)??0)+1);return t}(Kz.splitTerms(e))}static*splitTerms(e){const t=e=>e.toLowerCase();for(const[i]of e.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield t(i);const e=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(e.length>1)for(const i of e)i.length>2&&/\p{Letter}{3,}/gu.test(i)&&(yield t(i))}}updateDocuments(e){for(const{key:t}of e)this.deleteDocument(t);for(const t of e){const e=[];for(const i of t.textChunks){const t=Kz.termFrequencies(i);for(const e of t.keys())this.chunkOccurrences.set(e,(this.chunkOccurrences.get(e)??0)+1);e.push({text:i,tf:t})}this.chunkCount+=e.length,this.documents.set(t.key,{chunks:e})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const e of t.chunks)for(const t of e.tf.keys()){const e=this.chunkOccurrences.get(t);if("number"==typeof e){const i=e-1;i<=0?this.chunkOccurrences.delete(t):this.chunkOccurrences.set(t,i)}}}}computeSimilarityScore(e,t,i){let n=0;for(const[s,o]of Object.entries(t)){const t=e.tf.get(s);if(!t)continue;let r=i.get(s);"number"!=typeof r&&(r=this.computeIdf(s),i.set(s,r));n+=t*r*o}return n}computeEmbedding(e){const t=Kz.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){const t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,n]of e){const e=this.computeIdf(i);e>0&&(t[i]=n*e)}return t}}const jz=(0,qn.u1)("dialogService");var $z;function qz(e){const t=e;return Array.isArray(t.items)}function Gz(e){const t=e;return!!t.picks&&t.additionalPicks instanceof Promise}!function(e){e[e.NO_ACTION=0]="NO_ACTION",e[e.CLOSE_PICKER=1]="CLOSE_PICKER",e[e.REFRESH_PICKER=2]="REFRESH_PICKER",e[e.REMOVE_ITEM=3]="REMOVE_ITEM"}($z||($z={}));class Qz extends Ae.jG{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){const n=new Ae.Cm;let s;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const o=n.add(new Ae.HE),r=async()=>{const n=o.value=new Ae.Cm;s?.dispose(!0),e.busy=!1,s=new sa.Qi(t);const r=s.token;let a=e.value.substring(this.prefix.length);this.options?.shouldSkipTrimPickFilter||(a=a.trim());const l=this._getPicks(a,n,r,i),h=(t,i)=>{let n,s;if(qz(t)?(n=t.items,s=t.active):n=t,0===n.length){if(i)return!1;(a.length>0||e.hideInput)&&this.options?.noResultsPick&&(n=(0,rs.Tn)(this.options.noResultsPick)?[this.options.noResultsPick(a)]:[this.options.noResultsPick])}return e.items=n,s&&(e.activeItems=[s]),!0},d=async t=>{let i=!1,n=!1;await Promise.all([(async()=>{"number"==typeof t.mergeDelay&&(await(0,A.wR)(t.mergeDelay),r.isCancellationRequested)||n||(i=h(t.picks,!0))})(),(async()=>{e.busy=!0;try{const n=await t.additionalPicks;if(r.isCancellationRequested)return;let s,o,a,l;if(qz(t.picks)?(s=t.picks.items,o=t.picks.active):s=t.picks,qz(n)?(a=n.items,l=n.active):a=n,a.length>0||!i){let t;if(!o&&!l){const i=e.activeItems[0];i&&-1!==s.indexOf(i)&&(t=i)}h({items:[...s,...a],active:o||l||t})}}finally{r.isCancellationRequested||(e.busy=!1),n=!0}})()])};if(null===l);else if(Gz(l))await d(l);else if(l instanceof Promise){e.busy=!0;try{const e=await l;if(r.isCancellationRequested)return;Gz(e)?await d(e):h(e)}finally{r.isCancellationRequested||(e.busy=!1)}}else h(l)};n.add(e.onDidChangeValue((()=>r()))),r(),n.add(e.onDidAccept((t=>{if(i?.handleAccept)return t.inBackground||e.hide(),void i.handleAccept?.(e.activeItems[0]);const[n]=e.selectedItems;"function"==typeof n?.accept&&(t.inBackground||e.hide(),n.accept(e.keyMods,t))})));const a=async(i,n)=>{if("function"!=typeof n.trigger)return;const s=n.buttons?.indexOf(i)??-1;if(s>=0){const i=n.trigger(s,e.keyMods),o="number"==typeof i?i:await i;if(t.isCancellationRequested)return;switch(o){case $z.NO_ACTION:break;case $z.CLOSE_PICKER:e.hide();break;case $z.REFRESH_PICKER:r();break;case $z.REMOVE_ITEM:{const t=e.items.indexOf(n);if(-1!==t){const i=e.items.slice(),n=i.splice(t,1),s=e.activeItems.filter((e=>e!==n[0])),o=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=i,s&&(e.activeItems=s),e.keepScrollPosition=o}break}}}};return n.add(e.onDidTriggerItemButton((({button:e,item:t})=>a(e,t)))),n.add(e.onDidTriggerSeparatorButton((({button:e,separator:t})=>a(e,t)))),n}}var Yz,Zz,Xz=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Jz=function(e,t){return function(i,n){t(i,n,e)}};let eU=class extends Qz{static{Yz=this}static{this.PREFIX=">"}static{this.TFIDF_THRESHOLD=.5}static{this.TFIDF_MAX_RESULTS=5}static{this.WORD_FILTER=Ai(Pi,en,Fi)}constructor(e,t,i,n,s,o){super(Yz.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=o,this.commandsHistory=this._register(this.instantiationService.createInstance(tU)),this.options=e}async _getPicks(e,t,i,n){const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const o=(0,av.P)((()=>{const t=new Kz;t.updateDocuments(s.map((e=>({key:e.commandId,textChunks:[this.getTfIdfChunk(e)]}))));return function(e){const t=e.slice(0);t.sort(((e,t)=>t.score-e.score));const i=t[0]?.score??0;if(i>0)for(const n of t)n.score/=i;return t}(t.calculateScores(e,i)).filter((e=>e.score>Yz.TFIDF_THRESHOLD)).slice(0,Yz.TFIDF_MAX_RESULTS)})),r=[];for(const u of s){const t=Yz.WORD_FILTER(e,u.label)??void 0,n=u.commandAlias?Yz.WORD_FILTER(e,u.commandAlias)??void 0:void 0;if(t||n)u.highlights={label:t,detail:this.options.showAlias?n:void 0},r.push(u);else if(e===u.commandId)r.push(u);else if(e.length>=3){const e=o();if(i.isCancellationRequested)return[];const t=e.find((e=>e.key===u.commandId));t&&(u.tfIdfScore=t.score,r.push(u))}}const a=new Map;for(const u of r){const e=a.get(u.label);e?(u.description=u.commandId,e.description=e.commandId):a.set(u.label,u)}r.sort(((e,t)=>{if(e.tfIdfScore&&t.tfIdfScore)return e.tfIdfScore===t.tfIdfScore?e.label.localeCompare(t.label):t.tfIdfScore-e.tfIdfScore;if(e.tfIdfScore)return 1;if(t.tfIdfScore)return-1;const i=this.commandsHistory.peek(e.commandId),n=this.commandsHistory.peek(t.commandId);if(i&&n)return i>n?-1:1;if(i)return-1;if(n)return 1;if(this.options.suggestedCommandIds){const i=this.options.suggestedCommandIds.has(e.commandId),n=this.options.suggestedCommandIds.has(t.commandId);if(i&&n)return 0;if(i)return-1;if(n)return 1}return e.label.localeCompare(t.label)}));const l=[];let h=!1,d=!0,c=!!this.options.suggestedCommandIds;for(let u=0;u{const t=await this.getAdditionalCommandPicks(s,r,e,i);if(i.isCancellationRequested)return[];const o=t.map((e=>this.toCommandPick(e,n)));return d&&"separator"!==o[0]?.type&&o.unshift({type:"separator",label:(0,$n.kg)("suggested","similar commands")}),o})()}:l}toCommandPick(e,t){if("separator"===e.type)return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?(0,$n.kg)("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:n,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:t?.from??"quick open"});try{e.args?.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(i){(0,b.MB)(i)||this.dialogService.error((0,$n.kg)("canNotRun","Command '{0}' resulted in an error",e.label),_d(i))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let n=e;return t&&t!==e&&(n+=` - ${t}`),i&&i.value!==e&&(n+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),n}};eU=Yz=Xz([Jz(1,qn._Y),Jz(2,Cd),Jz(3,as),Jz(4,xs),Jz(5,jz)],eU);let tU=class extends Ae.jG{static{Zz=this}static{this.DEFAULT_COMMANDS_HISTORY_LENGTH=50}static{this.PREF_KEY_CACHE="commandPalette.mru.cache"}static{this.PREF_KEY_COUNTER="commandPalette.mru.counter"}static{this.counter=1}static{this.hasChanges=!1}constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((e=>this.updateConfiguration(e)))),this._register(this.storageService.onWillSaveState((e=>{e.reason===Cw.SHUTDOWN&&this.saveState()})))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Zz.getConfiguredCommandHistoryLength(this.configurationService),Zz.cache&&Zz.cache.limit!==this.configuredCommandsHistoryLength&&(Zz.cache.limit=this.configuredCommandsHistoryLength,Zz.hasChanges=!0))}load(){const e=this.storageService.get(Zz.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Zz.cache=new ki.qK(this.configuredCommandsHistoryLength,1);if(t){let e;e=t.usesLRU?t.entries:t.entries.sort(((e,t)=>e.value-t.value)),e.forEach((e=>i.set(e.key,e.value)))}Zz.counter=this.storageService.getNumber(Zz.PREF_KEY_COUNTER,0,Zz.counter)}push(e){Zz.cache&&(Zz.cache.set(e,Zz.counter++),Zz.hasChanges=!0)}peek(e){return Zz.cache?.peek(e)}saveState(){if(!Zz.cache)return;if(!Zz.hasChanges)return;const e={usesLRU:!0,entries:[]};Zz.cache.forEach(((t,i)=>e.entries.push({key:i,value:t}))),this.storageService.store(Zz.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Zz.PREF_KEY_COUNTER,Zz.counter,0,0),Zz.hasChanges=!1}static getConfiguredCommandHistoryLength(e){const t=e.getValue(),i=t.workbench?.commandPalette?.history;return"number"==typeof i?i:Zz.DEFAULT_COMMANDS_HISTORY_LENGTH}};tU=Zz=Xz([Jz(0,bw),Jz(1,Wp.pG),Jz(2,Ns.rr)],tU);class iU extends eU{constructor(e,t,i,n,s,o){super(e,t,i,n,s,o)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions()){let e;n.metadata?.description&&(e=(i=n.metadata.description)&&"object"==typeof i&&"string"==typeof i.original&&"string"==typeof i.value?n.metadata.description:{original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:e,label:Pn(n.label)||n.id})}var i;return t}}var nU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},sU=function(e,t){return function(i,n){t(i,n,e)}};let oU=class extends iU{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,n,s,o){super({showAlias:!1},e,i,n,s,o),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};oU=nU([sU(0,qn._Y),sU(1,Gn),sU(2,Cd),sU(3,as),sU(4,xs),sU(5,jz)],oU);class rU extends Rs{static{this.ID="editor.action.quickCommand"}constructor(){super({id:rU.ID,label:wO.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:$s.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(ed).quickAccess.show(oU.PREFIX)}}Ws(rU),ds.O.as(_O).registerQuickAccessProvider({ctor:oU,prefix:oU.PREFIX,helpEntries:[{description:wO.quickCommandHelp,commandId:rU.ID}]});var aU,lU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},hU=function(e,t){return function(i,n){t(i,n,e)}};let dU=class{static{aU=this}static{this.PREFIX="?"}constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=ds.O.as(_O)}provide(e){const t=new Ae.Cm;return t.add(e.onDidAccept((()=>{const[t]=e.selectedItems;t&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})}))),t.add(e.onDidChangeValue((e=>{const t=this.registry.getQuickAccessProvider(e.substr(aU.PREFIX.length));t&&t.prefix&&t.prefix!==aU.PREFIX&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})}))),e.items=this.getQuickAccessProviders().filter((e=>e.prefix!==aU.PREFIX)),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort(((e,t)=>e.prefix.localeCompare(t.prefix))).flatMap((e=>this.createPicks(e)))}createPicks(e){return e.helpEntries.map((t=>{const i=t.prefix||e.prefix,n=i||"\u2026";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:(0,$n.kg)("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}}))}};dU=aU=lU([hU(0,ed),hU(1,Cd)],dU),ds.O.as(_O).registerQuickAccessProvider({ctor:dU,prefix:"",helpEntries:[{description:CO.helpQuickAccessActionLabel}]});const cU=[void 0,[]];function uU(e,t,i=0,n=0){const s=t;return s.values&&s.values.length>1?function(e,t,i,n){let s=0;const o=[];for(const r of t){const[t,a]=gU(e,r,i,n);if("number"!=typeof t)return cU;s+=t,o.push(...a)}return[s,pU(o)]}(e,s.values,i,n):gU(e,t,i,n)}function gU(e,t,i,n){const s=xn(t.original,t.originalLowercase,i,e,e.toLowerCase(),n,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return s?[s[0],dn(s)]:cU}Object.freeze({score:0});function pU(e){const t=e.sort(((e,t)=>e.start-t.start)),i=[];let n;for(const s of t)n&&mU(n,s)?(n.start=Math.min(n.start,s.start),n.end=Math.max(n.end,s.end)):(n=s,i.push(s));return i}function mU(e,t){return!(e.end=0,r=fU(e);let a;const l=e.split(_U);if(l.length>1)for(const h of l){const e=fU(h),{pathNormalized:t,normalized:i,normalizedLowercase:n}=bU(h);i&&(a||(a=[]),a.push({original:h,originalLowercase:h.toLowerCase(),pathNormalized:t,normalized:i,normalizedLowercase:n,expectContiguousMatch:e}))}return{original:e,originalLowercase:t,pathNormalized:i,normalized:n,normalizedLowercase:s,values:a,containsPathSeparator:o,expectContiguousMatch:r}}function bU(e){let t;t=f.uF?e.replace(/\//g,Da.Vn):e.replace(/\\/g,Da.Vn);const i=(0,Ri.wB)(t).replace(/\s|"/g,"");return{pathNormalized:t,normalized:i,normalizedLowercase:i.toLowerCase()}}function CU(e){return Array.isArray(e)?vU(e.map((e=>e.original)).join(_U)):vU(e.original)}var wU,yU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},SU=function(e,t){return function(i,n){t(i,n,e)}};let kU=class extends pO{static{wU=this}static{this.PREFIX="@"}static{this.SCOPE_PREFIX=":"}static{this.PREFIX_BY_CATEGORY=`${this.PREFIX}${this.SCOPE_PREFIX}`}constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,(0,$n.kg)("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Ae.jG.None}provideWithTextEditor(e,t,i,n){const s=e.editor,o=this.getModel(s);return o?this._languageFeaturesService.documentSymbolProvider.has(o)?this.doProvideWithEditorSymbols(e,o,t,i,n):this.doProvideWithoutEditorSymbols(e,o,t,i):Ae.jG.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new Ae.Cm;return this.provideLabelPick(i,(0,$n.kg)("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(t,s)&&!n.isCancellationRequested&&s.add(this.doProvideWithEditorSymbols(e,t,i,n))})(),s}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new A.Zv,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))})));return t.add((0,Ae.s)((()=>i.complete(!1)))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){const o=e.editor,r=new Ae.Cm;r.add(i.onDidAccept((t=>{const[n]=i.selectedItems;n&&n.range&&(this.gotoLocation(e,{range:n.range.selection,keyMods:i.keyMods,preserveFocus:t.inBackground}),s?.handleAccept?.(n),t.inBackground||i.hide())}))),r.add(i.onDidTriggerItemButton((({item:t})=>{t&&t.range&&(this.gotoLocation(e,{range:t.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())})));const a=this.getDocumentSymbols(t,n);let l;const h=async e=>{l?.dispose(!0),i.busy=!1,l=new sa.Qi(n),i.busy=!0;try{const s=vU(i.value.substr(wU.PREFIX.length).trim()),o=await this.doGetSymbolPicks(a,s,void 0,l.token,t);if(n.isCancellationRequested)return;if(o.length>0){if(i.items=o,e&&0===s.original.length){const t=(0,Lb.Uk)(o,(t=>Boolean("separator"!==t.type&&t.range&&Js.Q.containsPosition(t.range.decoration,e))));t&&(i.activeItems=[t])}}else s.original.length>0?this.provideLabelPick(i,(0,$n.kg)("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,(0,$n.kg)("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return r.add(i.onDidChangeValue((()=>h(void 0)))),h(o.getSelection()?.getPosition()),r.add(i.onDidChangeActive((()=>{const[e]=i.activeItems;e&&e.range&&(o.revealRangeInCenter(e.range.selection,0),this.addDecorations(o,e.range.decoration))}))),r}async doGetSymbolPicks(e,t,i,n,s){const o=await e;if(n.isCancellationRequested)return[];const r=0===t.original.indexOf(wU.SCOPE_PREFIX),a=r?1:0;let l,h,d;t.values&&t.values.length>1?(l=CU(t.values[0]),h=CU(t.values.slice(1))):l=t;const c=this.options?.openSideBySideDirection?.();c&&(d=[{iconClass:"right"===c?En.L.asClassName(bl.W.splitHorizontal):En.L.asClassName(bl.W.splitVertical),tooltip:"right"===c?(0,$n.kg)("openToSide","Open to the Side"):(0,$n.kg)("openToBottom","Open to the Bottom")}]);const u=[];for(let m=0;ma){let x=!1;if(l!==t&&([C,w]=uU(v,{...t,values:void 0},a,b),"number"==typeof C&&(x=!0)),"number"!=typeof C&&([C,w]=uU(v,l,a,b),"number"!=typeof C))continue;if(!x&&h){if(k&&h.original.length>0&&([y,S]=uU(k,h)),"number"!=typeof y)continue;"number"==typeof C&&(C+=y)}}const L=f.tags&&f.tags.indexOf(1)>=0;u.push({index:m,kind:f.kind,score:C,label:v,ariaLabel:(0,La.PK)(f.name,f.kind),description:k,highlights:L?void 0:{label:w,description:S},range:{selection:Js.Q.collapseToStart(f.selectionRange),decoration:f.range},uri:s.uri,symbolName:_,strikethrough:L,buttons:d})}const g=u.sort(((e,t)=>r?this.compareByKindAndScore(e,t):this.compareByScore(e,t)));let p=[];if(r){let D,N,I=0;function E(){N&&"number"==typeof D&&I>0&&(N.label=(0,Ri.GP)(xU[D]||LU,I))}for(const M of g)D!==M.kind?(E(),D=M.kind,I=1,N={type:"separator"},p.push(N)):I++,p.push(M);E()}else g.length>0&&(p=[{label:(0,$n.kg)("symbols","symbols ({0})",u.length),type:"separator"},...g]);return p}compareByScore(e,t){if("number"!=typeof e.score&&"number"==typeof t.score)return 1;if("number"==typeof e.score&&"number"!=typeof t.score)return-1;if("number"==typeof e.score&&"number"==typeof t.score){if(e.score>t.score)return-1;if(e.scoret.index?1:0}compareByKindAndScore(e,t){const i=xU[e.kind]||LU,n=xU[t.kind]||LU,s=i.localeCompare(n);return 0===s?this.compareByScore(e,t):s}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}};kU=wU=yU([SU(0,xa.ILanguageFeaturesService),SU(1,IT)],kU);const LU=(0,$n.kg)("property","properties ({0})"),xU={5:(0,$n.kg)("method","methods ({0})"),11:(0,$n.kg)("function","functions ({0})"),8:(0,$n.kg)("_constructor","constructors ({0})"),12:(0,$n.kg)("variable","variables ({0})"),4:(0,$n.kg)("class","classes ({0})"),22:(0,$n.kg)("struct","structs ({0})"),23:(0,$n.kg)("event","events ({0})"),24:(0,$n.kg)("operator","operators ({0})"),10:(0,$n.kg)("interface","interfaces ({0})"),2:(0,$n.kg)("namespace","namespaces ({0})"),3:(0,$n.kg)("package","packages ({0})"),25:(0,$n.kg)("typeParameter","type parameters ({0})"),1:(0,$n.kg)("modules","modules ({0})"),6:(0,$n.kg)("property","properties ({0})"),9:(0,$n.kg)("enum","enumerations ({0})"),21:(0,$n.kg)("enumMember","enumeration members ({0})"),14:(0,$n.kg)("string","strings ({0})"),0:(0,$n.kg)("file","files ({0})"),17:(0,$n.kg)("array","arrays ({0})"),15:(0,$n.kg)("number","numbers ({0})"),16:(0,$n.kg)("boolean","booleans ({0})"),18:(0,$n.kg)("object","objects ({0})"),19:(0,$n.kg)("key","keys ({0})"),7:(0,$n.kg)("field","fields ({0})"),13:(0,$n.kg)("constant","constants ({0})")};var DU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},NU=function(e,t){return function(i,n){t(i,n,e)}};let IU=class extends kU{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=P.Jh.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};IU=DU([NU(0,Gn),NU(1,xa.ILanguageFeaturesService),NU(2,IT)],IU);class EU extends Rs{static{this.ID="editor.action.quickOutline"}constructor(){super({id:EU.ID,label:yO.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:$s.hasDocumentSymbolProvider,kbOpts:{kbExpr:$s.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(ed).quickAccess.show(kU.PREFIX,{itemActivation:Zh.NONE})}}Ws(EU),ds.O.as(_O).registerQuickAccessProvider({ctor:IU,prefix:kU.PREFIX,helpEntries:[{description:yO.quickOutlineActionLabel,prefix:kU.PREFIX,commandId:EU.ID},{description:yO.quickOutlineByCategoryActionLabel,prefix:kU.PREFIX_BY_CATEGORY}]});class MU extends Ae.jG{static{this.ID="editor.contrib.readOnlyMessageController"}constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const e=Uh.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(t=this.editor.isSimpleWidget?new Vn($n.kg("editor.simple.readonly","Cannot edit in read-only input")):new Vn($n.kg("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}}Hs(MU.ID,MU,2);var TU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},RU=function(e,t){return function(i,n){t(i,n,e)}};let AU=class extends IN{constructor(e,t,i,n,s,o,r){super(!0,e,t,i,n,s,o,r)}};AU=TU([RU(1,hs.fN),RU(2,Gn),RU(3,Sd),RU(4,qn._Y),RU(5,bw),RU(6,Wp.pG)],AU),Hs(IN.ID,AU,4);var PU=i(41504),OU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},FU=function(e,t){return function(i,n){t(i,n,e)}};const WU=new hs.N1("renameInputVisible",!1,$n.kg("renameInputVisible","Whether the rename input widget is visible"));new hs.N1("renameInputFocused",!1,$n.kg("renameInputFocused","Whether the rename input widget is focused"));let BU=class{constructor(e,t,i,n,s,o){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=n,this._logService=o,this.allowEditorOverflow=!0,this._disposables=new Ae.Cm,this._visibleContextKey=WU.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Vp.W,this._inputWithButton=new VU,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()}))),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new HU(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange((()=>{void 0!==this._renameCandidateListView?.focusedCandidate&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),!1===this._renameCandidateProvidersCts?.token.isCancellationRequested&&this._renameCandidateProvidersCts.cancel(),this._renameCandidateListView?.clearFocus()}))),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){if(!this._domNode)return;const t=e.getColor(io.f9l),i=e.getColor(io.DSL);this._domNode.style.backgroundColor=String(e.getColor(io.CgL)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(io.cws)??"");const n=e.getColor(io.Zgs);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(io.L4c)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(io.L4c)??""),this._inputWithButton.domNode.style.borderWidth=n?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=n?"solid":"none",this._inputWithButton.domNode.style.borderColor=n?.toString()??"none"}_updateFont(){if(void 0===this._domNode)return;(0,rs.j)(void 0!==this._label,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return.8*e}getPosition(){if(!this._visible)return null;if(!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=at(this.getDomNode().ownerDocument.body),t=ct(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const n=this._editor.getOption(67),{totalHeight:s}=zU.getLayoutInfo({lineHeight:n}),o=this._nPxAvailableBelow>6*s?[2,1]:[1,2];return{position:this._position,preference:o}}beforeRender(){const[e,t]=this._acceptKeybindings;return this._label.innerText=$n.kg({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",this._keybindingService.lookupKeybinding(e)?.getLabel(),this._keybindingService.lookupKeybinding(t)?.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(null===e)return void this.cancelInput(!0,"afterRender (because position is null)");if(!this._editor.hasModel()||!this._editor.getDomNode())return;(0,rs.j)(this._renameCandidateListView),(0,rs.j)(void 0!==this._nPxAvailableAbove),(0,rs.j)(void 0!==this._nPxAvailableBelow);const t=ft(this._inputWithButton.domNode),i=ft(this._label);let n;n=2===e?this._nPxAvailableBelow:this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:gt(this._inputWithButton.domNode)})}acceptInput(e){this._trace("invoking acceptInput"),this._currentAcceptInput?.(e)}cancelInput(e,t){this._currentCancelInput?.(e)}focusNextRenameSuggestion(){this._renameCandidateListView?.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){this._renameCandidateListView?.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,n,s){const{start:o,end:r}=this._getSelection(e,t);this._renameCts=s;const a=new Ae.Cm;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,void 0===n?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=n,this._requestRenameCandidates(t,!1),a.add(Ye(this._inputWithButton.button,"click",(()=>this._requestRenameCandidates(t,!0)))),a.add(Ye(this._inputWithButton.button,Ut.KEY_DOWN,(e=>{const i=new N(e);(i.equals(3)||i.equals(10))&&(i.stopPropagation(),i.preventDefault(),this._requestRenameCandidates(t,!0))})))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Qn.y(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",o.toString()),this._inputWithButton.input.setAttribute("selectionEnd",r.toString()),this._inputWithButton.input.size=Math.max(1.1*(e.endColumn-e.startColumn),20),this._beforeFirstInputFieldEditSW.reset(),a.add((0,Ae.s)((()=>{this._renameCts=void 0,s.dispose(!0)}))),a.add((0,Ae.s)((()=>{void 0!==this._renameCandidateProvidersCts&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)}))),a.add((0,Ae.s)((()=>this._candidates.clear())));const l=new A.Zv;return l.p.finally((()=>{a.dispose(),this._hide()})),this._currentCancelInput=e=>(this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),l.complete(e),!0),this._currentAcceptInput=e=>{this._trace("invoking _currentAcceptInput"),(0,rs.j)(void 0!==this._renameCandidateListView);const n=this._renameCandidateListView.nCandidates;let s,o;const r=this._renameCandidateListView.focusedCandidate;void 0!==r?(this._trace("using new name from renameSuggestion"),s=r,o={k:"renameSuggestion"}):(this._trace("using new name from inputField"),s=this._inputWithButton.input.value,o=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),s!==t&&0!==s.trim().length?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),l.complete({newName:s,wantsPreview:i&&e,stats:{source:o,nRenameSuggestions:n,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})):this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)")},a.add(s.token.onCancellationRequested((()=>this.cancelInput(!0,"cts.token.onCancellationRequested")))),a.add(this._editor.onDidBlurEditorWidget((()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),"editor.onDidBlurEditorWidget")))),this._show(),l.p}_requestRenameCandidates(e,t){if(void 0!==this._requestRenameCandidatesOnce&&(void 0!==this._renameCandidateProvidersCts&&this._renameCandidateProvidersCts.dispose(!0),(0,rs.j)(this._renameCts),"stop"!==this._inputWithButton.buttonState)){this._renameCandidateProvidersCts=new sa.Qi;const i=t?La.YT.Invoke:La.YT.Automatic,n=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(0===n.length)return void this._inputWithButton.setSparkleButton();t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(n,e,this._renameCts.token)}}_getSelection(e,t){(0,rs.j)(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return Js.Q.isEmpty(i)||Js.Q.spansMultipleLines(i)||!Js.Q.containsRange(e,i)||(n=Math.max(0,i.startColumn-e.startColumn),s=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:n,end:s}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout((()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))}),100)}async _updateRenameCandidates(e,t,i){const n=(...e)=>this._trace("_updateRenameCandidates",...e);n("start");const s=await(0,A.PK)(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),void 0===s)return void n("returning early - received updateRenameCandidates results - undefined");const o=s.flatMap((e=>"fulfilled"===e.status&&(0,rs.O9)(e.value)?e.value:[]));n(`received updateRenameCandidates results - total (unfiltered) ${o.length} candidates.`);const r=na.dM(o,(e=>e.newSymbolName));n(`distinct candidates - ${r.length} candidates.`);const a=r.filter((({newSymbolName:e})=>e.trim().length>0&&e!==this._inputWithButton.input.value&&e!==t&&!this._candidates.has(e)));n(`valid distinct candidates - ${o.length} candidates.`),a.forEach((e=>this._candidates.add(e.newSymbolName))),a.length<1?n("returning early - no valid distinct candidates"):(n("setting candidates"),this._renameCandidateListView.setCandidates(a),n("asking editor to re-layout"),this._editor.layoutContentWidget(this))}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};BU=OU([FU(2,no.Gy),FU(3,Cd),FU(4,hs.fN),FU(5,Ns.rr)],BU);class HU{constructor(e,t){this._disposables=new Ae.Cm,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=HU._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus((e=>{1===e.elements.length&&t.onFocusChange(e.elements[0].newSymbolName)}),this._disposables),this._listWidget.onDidChangeSelection((e=>{1===e.elements.length&&t.onSelectionChange()}),this._disposables),this._disposables.add(this._listWidget.onDidBlur((e=>{this._listWidget.setFocus([])}))),this._listWidget.style(vp({listInactiveFocusForeground:io.nH,listInactiveFocusBackground:io.AlL}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(this._listWidget.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,yi($n.kg("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(0===this._listWidget.length)return;const e=this._listWidget.getSelectedElements()[0];if(void 0!==e)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];return void 0!==t?t.newSymbolName:void 0}focusNext(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();if(0===e.length)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}focusPrevious(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();if(0===e.length){this._listWidget.focusLast();const e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}if(0===e[0])return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=zU.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,7*this._candidateViewHeight)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map((e=>e.newSymbolName.length)))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const n=new class{getTemplateId(e){return"candidate"}getHeight(e){return t}},s=new class{constructor(){this.templateId="candidate"}renderTemplate(e){return new zU(e,i)}renderElement(e,t,i){i.populate(e)}disposeTemplate(e){e.dispose()}};return new Kg("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class VU{constructor(){this._onDidInputChange=new P.vl,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new Ae.Cm}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",$n.kg("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=$n.kg("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=$n.kg("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=ud().setupManagedHover(ld("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Ye(this.input,Ut.INPUT,(()=>this._onDidInputChange.fire()))),this._disposables.add(Ye(this.input,Ut.KEY_DOWN,(e=>{const t=new N(e);15!==t.keyCode&&17!==t.keyCode||this._onDidInputChange.fire()}))),this._disposables.add(Ye(this.input,Ut.CLICK,(()=>this._onDidInputChange.fire()))),this._disposables.add(Ye(this.input,Ut.FOCUS,(()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"}))),this._disposables.add(Ye(this.input,Ut.BLUR,(()=>{this.domNode.style.outline="none"})))),this._domNode}get input(){return(0,rs.j)(this._inputNode),this._inputNode}get button(){return(0,rs.j)(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState="sparkle",this._sparkleIcon??=Rl(bl.W.sparkle),Ge(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),this._buttonHover?.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){this._buttonState="stop",this._stopIcon??=Rl(bl.W.primitiveSquare),Ge(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),this._buttonHover?.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}class zU{static{this._PADDING=2}constructor(e,t){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${t.lineHeight}px`,this._domNode.style.padding=`${zU._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=.8*t.lineHeight+"px",this._domNode.appendChild(i),this._icon=Rl(bl.W.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),xh(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){const t=!!e.tags?.includes(La.OV.AIGenerated);this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+2*zU._PADDING}}dispose(){}}var UU,KU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},jU=function(e,t){return function(i,n){t(i,n,e)}};class $U{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join("\n"):void 0}:{range:Js.Q.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join("\n"):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,n){const s=this._providers[t];if(!s)return{edits:[],rejectReason:i.join("\n")};const o=await s.provideRenameEdits(this.model,this.position,e,n);return o?o.rejectReason?this._provideRenameEdits(e,t+1,i.concat(o.rejectReason),n):o:this._provideRenameEdits(e,t+1,i.concat($n.kg("no result","No result.")),n)}}let qU=class{static{UU=this}static{this.ID="editor.contrib.renameController"}static get(e){return e.getContribution(UU.ID)}constructor(e,t,i,n,s,o,r,a,l){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=o,this._configService=r,this._languageFeaturesService=a,this._telemetryService=l,this._disposableStore=new Ae.Cm,this._cts=new sa.Qi,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(BU,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new sa.Qi,!this.editor.hasModel())return void e("editor has no model");const t=this.editor.getPosition(),i=new $U(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider())return void e("skeleton has no provider");const n=new _l(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const t=i.resolveRenameLocation(n.token);this._progressService.showWhile(t,250),s=await t,e("resolved rename location")}catch(u){return void(u instanceof b.AL?e("resolve rename location cancelled",JSON.stringify(u,null,"\t")):(e("resolve rename location failed",u instanceof Error?u:JSON.stringify(u,null,"\t")),("string"==typeof u||Un(u))&&Uh.get(this.editor)?.showMessage(u||$n.kg("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)))}finally{n.dispose()}if(!s)return void e("returning early - no loc");if(s.rejectReason)return e(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),void Uh.get(this.editor)?.showMessage(s.rejectReason,t);if(n.token.isCancellationRequested)return void e("returning early - cts1 cancelled");const o=new _l(this.editor,5,s.range,this._cts.token),r=this.editor.getModel(),a=this._languageFeaturesService.newSymbolNamesProvider.all(r),l=await Promise.all(a.map((async e=>[e,await e.supportsAutomaticNewSymbolNamesTriggerKind??!1])));e("creating rename input field and awaiting its result");const h=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),d=await this._renameWidget.getInput(s.range,s.text,h,a.length>0?(e,t)=>{let i=l.slice();return e===La.YT.Automatic&&(i=i.filter((([e,t])=>t))),i.map((([i])=>i.provideNewSymbolNames(r,s.range,e,t)))}:void 0,o);if(e("received response from rename input field"),a.length>0&&this._reportTelemetry(a.length,r.getLanguageId(),d),"boolean"==typeof d)return e(`returning early - rename input field response - ${d}`),d&&this.editor.focus(),void o.dispose();this.editor.focus(),e("requesting rename edits");const c=(0,A.PK)(i.provideRenameEdits(d.newName,o.token),o.token).then((async t=>{if(t)if(this.editor.hasModel()){if(t.rejectReason)return e(`returning early - rejected with reason: ${t.rejectReason}`),void this._notificationService.info(t.rejectReason);this.editor.setSelection(Js.Q.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(t,{editor:this.editor,showPreview:d.wantsPreview,label:$n.kg("label","Renaming '{0}' to '{1}'",s?.text,d.newName),code:"undoredo.rename",quotableLabel:$n.kg("quotableLabel","Renaming {0} to {1}",s?.text,d.newName),respectAutoSaveConfig:!0}).then((t=>{e("edits applied"),t.ariaSummary&&wi($n.kg("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,d.newName,t.ariaSummary))})).catch((t=>{e(`error when applying edits ${JSON.stringify(t,null,"\t")}`),this._notificationService.error($n.kg("rename.failedApply","Rename failed to apply edits")),this._logService.error(t)}))}else e("returning early - no model after rename edits are provided");else e("returning early - no rename edits result")}),(t=>{e("error when providing rename edits",JSON.stringify(t,null,"\t")),this._notificationService.error($n.kg("rename.failed","Rename failed to compute edits")),this._logService.error(t)})).finally((()=>{o.dispose()}));return e("returning rename operation"),this._progressService.showWhile(c,250),c}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n="boolean"==typeof i?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}};qU=UU=KU([jU(1,qn._Y),jU(2,Sd),jU(3,wa),jU(4,Gh),jU(5,Ns.rr),jU(6,PU.ITextResourceConfigurationService),jU(7,xa.ILanguageFeaturesService),jU(8,xs)],qU);Hs(qU.ID,qU,4),Ws(class extends Rs{constructor(){super({id:"editor.action.rename",label:$n.kg("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:hs.M$.and($s.writable,$s.hasRenameProvider),kbOpts:{kbExpr:$s.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(Gn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Hn.r.isUri(n)&&Qn.y.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(s),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),b.dz):super.runCommand(e,t)}run(e,t){const i=e.get(Ns.rr),n=qU.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}});const GU=Ts.bindToContribution(qU.get);Fs(new GU({id:"acceptRenameInput",precondition:WU,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:hs.M$.and($s.focus,hs.M$.not("isComposing")),primary:3}})),Fs(new GU({id:"acceptRenameInputWithPreview",precondition:hs.M$.and(WU,hs.M$.has("config.editor.rename.enablePreview")),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:hs.M$.and($s.focus,hs.M$.not("isComposing")),primary:2051}})),Fs(new GU({id:"cancelRenameInput",precondition:WU,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:$s.focus,primary:9,secondary:[1033]}})),Ls(class extends ks{constructor(){super({id:"focusNextRenameSuggestion",title:{...$n.aS("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:WU,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(Gn).getFocusedCodeEditor();if(!t)return;const i=qU.get(t);i&&i.focusNextRenameSuggestion()}}),Ls(class extends ks{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...$n.aS("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:WU,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(Gn).getFocusedCodeEditor();if(!t)return;const i=qU.get(t);i&&i.focusPreviousRenameSuggestion()}}),Os("_executeDocumentRenameProvider",(function(e,t,i,...n){const[s]=n;(0,rs.j)("string"==typeof s);const{renameProvider:o}=e.get(xa.ILanguageFeaturesService);return async function(e,t,i,n){const s=new $U(t,i,e),o=await s.resolveRenameLocation(sa.XO.None);return o?.rejectReason?{edits:[],rejectReason:o.rejectReason}:s.provideRenameEdits(n,sa.XO.None)}(o,t,i,s)})),Os("_executePrepareRename",(async function(e,t,i){const{renameProvider:n}=e.get(xa.ILanguageFeaturesService),s=new $U(t,i,n),o=await s.resolveRenameLocation(sa.XO.None);if(o?.rejectReason)throw new Error(o.rejectReason);return o})),ds.O.as(Ac.Fd.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:$n.kg("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var QU=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},YU=function(e,t){return function(i,n){t(i,n,e)}};let ZU=class extends Ae.jG{static{this.ID="editor.sectionHeaderDetector"}constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel((t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)}))),this._register(e.onDidChangeModelLanguage((t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)}))),this._register(t.onDidChange((t=>{const i=this.editor.getModel()?.getLanguageId();i&&t.affects(i)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))}))),this._register(e.onDidChangeConfiguration((t=>{this.options&&!t.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))}))),this._register(this.editor.onDidChangeModelContent((e=>{this.computeSectionHeaders.schedule()}))),this._register(e.onDidChangeModelTokens((e=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)}))),this.computeSectionHeaders=this._register(new A.uC((()=>{this.findSectionHeaders()}),250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;return i||n?.markers?{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}:void 0}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then((i=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(i)}))}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter((e=>{if(!e.shouldBeInComments)return!0;const i=t.validateRange(e.range),n=t.tokenization.getLineTokens(i.startLineNumber),s=n.findTokenIndexAtOffset(i.startColumn-1),o=n.getStandardTokenType(s);return n.getLanguageId(s)===t.getLanguageId()&&1===o})));const i=Object.values(this.currentOccurrences).map((e=>e.decorationId)),n=e.map((e=>function(e){return{range:e.range,options:to.kI.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:e.hasSeparatorLine?2:1,sectionHeaderText:e.text}})}}(e)));this.editor.changeDecorations((t=>{const s=t.deltaDecorations(i,n);this.currentOccurrences={};for(let i=0,n=s.length;i0?i[0]:[]}(e,t),r=await Promise.all(o.map((async e=>{let o,r=null;try{o=await e.provideDocumentSemanticTokens(t,e===i?n:null,s)}catch(a){r=a,o=null}return o&&(eK(o)||tK(o))||(o=null),new iK(e,o,r)})));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}class oK{constructor(e,t){this.provider=e,this.tokens=t}}function rK(e,t){const i=e.orderedGroups(t);return i.length>0?i[0]:[]}async function aK(e,t,i,n){const s=rK(e,t),o=await Promise.all(s.map((async e=>{let s;try{s=await e.provideDocumentRangeSemanticTokens(t,i,n)}catch(o){(0,b.M_)(o),s=null}return s&&eK(s)||(s=null),new oK(e,s)})));for(const r of o)if(r.tokens)return r;return o.length>0?o[0]:null}ls.registerCommand("_provideDocumentSemanticTokensLegend",(async(e,...t)=>{const[i]=t;(0,rs.j)(i instanceof Hn.r);const n=e.get(Yn.IModelService).getModel(i);if(!n)return;const{documentSemanticTokensProvider:s}=e.get(xa.ILanguageFeaturesService),o=function(e,t){const i=e.orderedGroups(t);return i.length>0?i[0]:null}(s,n);return o?o[0].getLegend():e.get(as).executeCommand("_provideDocumentRangeSemanticTokensLegend",i)})),ls.registerCommand("_provideDocumentSemanticTokens",(async(e,...t)=>{const[i]=t;(0,rs.j)(i instanceof Hn.r);const n=e.get(Yn.IModelService).getModel(i);if(!n)return;const{documentSemanticTokensProvider:s}=e.get(xa.ILanguageFeaturesService);if(!nK(s,n))return e.get(as).executeCommand("_provideDocumentRangeSemanticTokens",i,n.getFullModelRange());const o=await sK(s,n,null,null,sa.XO.None);if(!o)return;const{provider:r,tokens:a}=o;if(!a||!eK(a))return;const l=(0,JU.encodeSemanticTokensDto)({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),l})),ls.registerCommand("_provideDocumentRangeSemanticTokensLegend",(async(e,...t)=>{const[i,n]=t;(0,rs.j)(i instanceof Hn.r);const s=e.get(Yn.IModelService).getModel(i);if(!s)return;const{documentRangeSemanticTokensProvider:o}=e.get(xa.ILanguageFeaturesService),r=rK(o,s);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!n||!Js.Q.isIRange(n))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const a=await aK(o,s,Js.Q.lift(n),sa.XO.None);return a?a.provider.getLegend():void 0})),ls.registerCommand("_provideDocumentRangeSemanticTokens",(async(e,...t)=>{const[i,n]=t;(0,rs.j)(i instanceof Hn.r),(0,rs.j)(Js.Q.isIRange(n));const s=e.get(Yn.IModelService).getModel(i);if(!s)return;const{documentRangeSemanticTokensProvider:o}=e.get(xa.ILanguageFeaturesService),r=await aK(o,s,Js.Q.lift(n),sa.XO.None);return r&&r.tokens?(0,JU.encodeSemanticTokensDto)({id:0,type:"full",data:r.tokens.data}):void 0}));var lK=i(82891);const hK="editor.semanticHighlighting";function dK(e,t,i){const n=i.getValue(hK,{overrideIdentifier:e.getLanguageId(),resource:e.uri})?.enabled;return"boolean"==typeof n?n:t.getColorTheme().semanticHighlighting}var cK,uK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},gK=function(e,t){return function(i,n){t(i,n,e)}};let pK=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._watchers=Object.create(null);const r=t=>{this._watchers[t.uri.toString()]=new mK(t,e,i,s,o)},a=(e,t)=>{t.dispose(),delete this._watchers[e.uri.toString()]},l=()=>{for(const e of t.getModels()){const t=this._watchers[e.uri.toString()];dK(e,i,n)?t||r(e):t&&a(e,t)}};t.getModels().forEach((e=>{dK(e,i,n)&&r(e)})),this._register(t.onModelAdded((e=>{dK(e,i,n)&&r(e)}))),this._register(t.onModelRemoved((e=>{const t=this._watchers[e.uri.toString()];t&&a(e,t)}))),this._register(n.onDidChangeConfiguration((e=>{e.affectsConfiguration(hK)&&l()}))),this._register(i.onDidColorThemeChange(l))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};pK=uK([gK(0,lK.ISemanticTokensStylingService),gK(1,Yn.IModelService),gK(2,no.Gy),gK(3,Wp.pG),gK(4,Tw.ILanguageFeatureDebounceService),gK(5,xa.ILanguageFeaturesService)],pK);let mK=class extends Ae.jG{static{cK=this}static{this.REQUEST_MIN_DELAY=300}static{this.REQUEST_MAX_DELAY=2e3}constructor(e,t,i,n,s){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=s.documentSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentSemanticTokens",{min:cK.REQUEST_MIN_DELAY,max:cK.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new A.uC((()=>this._fetchDocumentSemanticTokensNow()),cK.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeAttached((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeLanguage((()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)})));const o=()=>{(0,Ae.AS)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const t of this._provider.all(e))"function"==typeof t.onDidChange&&this._documentProvidersChangeListeners.push(t.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};o(),this._register(this._provider.onDidChange((()=>{o(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(i.onDidColorThemeChange((e=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),(0,Ae.AS)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!nK(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const e=new sa.Qi,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=sK(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],o=this._model.onDidChangeContent((e=>{s.push(e)})),r=new Vp.W(!1);n.then((e=>{if(this._debounceInformation.update(this._model,r.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,o.dispose(),e){const{provider:t,tokens:i}=e,n=this._semanticTokensStylingService.getStyling(t);this._setDocumentSemanticTokens(t,i||null,n,s)}else this._setDocumentSemanticTokens(null,null,null,s)}),(e=>{e&&(b.MB(e)||"string"==typeof e.message&&-1!==e.message.indexOf("busy"))||b.dz(e),this._currentDocumentRequestCancellationTokenSource=null,o.dispose(),(s.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(e,t,i,n,s){s=Math.min(s,i.length-n,e.length-t);for(let o=0;o{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed)e&&t&&e.releaseDocumentSemanticTokens(t.resultId);else if(e&&i){if(!t)return this._model.tokenization.setSemanticTokens(null,!0),void o();if(tK(t)){if(!s)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===t.edits.length)t={resultId:t.resultId,data:s.data};else{let e=0;for(const i of t.edits)e+=(i.data?i.data.length:0)-i.deleteCount;const n=s.data,o=new Uint32Array(n.length+e);let r=n.length,a=o.length;for(let l=t.edits.length-1;l>=0;l--){const e=t.edits[l];if(e.start>n.length)return i.warnInvalidEditStart(s.resultId,t.resultId,l,e.start,n.length),void this._model.tokenization.setSemanticTokens(null,!0);const h=r-(e.start+e.deleteCount);h>0&&(cK._copy(n,r-h,o,a-h,h),a-=h),e.data&&(cK._copy(e.data,0,o,a-e.data.length,e.data.length),a-=e.data.length),r=e.start}r>0&&cK._copy(n,0,o,0,r),t={resultId:t.resultId,data:o}}}if(eK(t)){this._currentDocumentResponse=new fK(e,t.resultId,t.data);const s=(0,XU.toMultilineTokens2)(t,i,this._model.getLanguageId());if(n.length>0)for(const e of n)for(const t of s)for(const i of e.changes)t.applyEdit(i.range,i.text);this._model.tokenization.setSemanticTokens(s,!0)}else this._model.tokenization.setSemanticTokens(null,!0);o()}else this._model.tokenization.setSemanticTokens(null,!1)}};mK=cK=uK([gK(1,lK.ISemanticTokensStylingService),gK(2,no.Gy),gK(3,Tw.ILanguageFeatureDebounceService),gK(4,xa.ILanguageFeaturesService)],mK);class fK{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Fw(pK);var _K=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},vK=function(e,t){return function(i,n){t(i,n,e)}};let bK=class extends Ae.jG{static{this.ID="editor.contrib.viewportSemanticTokens"}constructor(e,t,i,n,s,o){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=o.documentRangeSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new A.uC((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((e=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(hK)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;tthis._requestRange(e,t))))}_requestRange(e,t){const i=e.getVersionId(),n=(0,A.SS)((i=>Promise.resolve(aK(this._provider,e,t,i)))),s=new Vp.W(!1);return n.then((n=>{if(this._debounceInformation.update(e,s.elapsed()),!n||!n.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:o,tokens:r}=n,a=this._semanticTokensStylingService.getStyling(o);e.tokenization.setPartialSemanticTokens(t,(0,XU.toMultilineTokens2)(r,a,e.getLanguageId()))})).then((()=>this._removeOutstandingRequest(n)),(()=>this._removeOutstandingRequest(n))),n}};bK=_K([vK(1,lK.ISemanticTokensStylingService),vK(2,no.Gy),vK(3,Wp.pG),vK(4,Tw.ILanguageFeatureDebounceService),vK(5,xa.ILanguageFeaturesService)],bK),Hs(bK.ID,bK,1);class CK{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const n of t){const t=[];i.push(t),this.selectSubwords&&this._addInWordRanges(t,e,n),this._addWordRanges(t,e,n),this._addWhitespaceLine(t,e,n),t.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:s,startColumn:o}=n,r=i.column-o;let a=r,l=r,h=0;for(;a>=0;a--){const e=s.charCodeAt(a);if(a!==r&&(95===e||45===e))break;if((0,Ri.Lv)(e)&&(0,Ri.Wv)(h))break;h=e}for(a+=1;l0&&0===t.getLineFirstNonWhitespaceColumn(i.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(i.lineNumber)&&e.push({range:new Js.Q(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var wK,yK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},SK=function(e,t){return function(i,n){t(i,n,e)}};class kK{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new kK(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let LK=class{static{wK=this}static{this.ID="editor.contrib.smartSelectController"}static get(e){return e.getContribution(wK.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await DK(this._languageFeaturesService.selectionRangeProvider,i,t.map((e=>e.getPosition())),this._editor.getOption(114),sa.XO.None).then((e=>{if(na.EI(e)&&e.length===t.length&&this._editor.hasModel()&&na.aI(this._editor.getSelections(),t,((e,t)=>e.equalsSelection(t)))){for(let i=0;ie.containsPosition(t[i].getStartPosition())&&e.containsPosition(t[i].getEndPosition()))),e[i].unshift(t[i]);this._state=e.map((e=>new kK(0,e))),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{this._ignoreSelection||(this._selectionListener?.dispose(),this._state=void 0)}))}})),!this._state)return;this._state=this._state.map((t=>t.mov(e)));const n=this._state.map((e=>qs.L.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}};LK=wK=yK([SK(1,xa.ILanguageFeaturesService)],LK);class xK extends Rs{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=LK.get(t);i&&await i.run(this._forward)}}ls.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");async function DK(e,t,i,n,s){const o=e.all(t).concat(new CK(n.selectSubwords));1===o.length&&o.unshift(new gB);const r=[],a=[];for(const l of o)r.push(Promise.resolve(l.provideSelectionRanges(t,i,s)).then((e=>{if(na.EI(e)&&e.length===i.length)for(let t=0;t{if(0===e.length)return[];e.sort(((e,t)=>Qn.y.isBefore(e.getStartPosition(),t.getStartPosition())?1:Qn.y.isBefore(t.getStartPosition(),e.getStartPosition())||Qn.y.isBefore(e.getEndPosition(),t.getEndPosition())?-1:Qn.y.isBefore(t.getEndPosition(),e.getEndPosition())?1:0));const i=[];let s;for(const t of e)(!s||Js.Q.containsRange(t,s)&&!Js.Q.equalsRange(t,s))&&(i.push(t),s=t);if(!n.selectLeadingAndTrailingWhitespace)return i;const o=[i[0]];for(let n=1;ne}),MK="data-sticky-line-index",TK="data-sticky-is-line",RK="data-sticky-is-folding-icon";class AK extends Ae.jG{constructor(e){super(),this._editor=e,this._foldingIconStore=new Ae.Cm,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof Pk),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(116)&&t(),e.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))}))),this._register(this._editor.onDidScrollChange((e=>{e.scrollLeftChanged&&t(),e.scrollWidthChanged&&this._updateWidgetWidth()}))),this._register(this._editor.onDidChangeModel((()=>{t(),this._updateWidgetWidth()}))),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange((e=>{this._updateWidgetWidth()}))),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find((t=>t.lineNumber===e))}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(void 0===i&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const n=this._isWidgetHeightZero(e),s=n?void 0:e,o=n?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(s,t,o),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const t=[...e.startLineNumbers];null!==e.showEndForLine&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=t}else this._lastLineRelativePosition=0,this._lineNumbers=[];return 0===t}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(void 0!==t)return t;const i=this._previousState,n=e.startLineNumbers.findIndex((e=>!i.startLineNumbers.includes(e)));return-1===n?0:n}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",this._editor.getScrollWidth()-e.verticalScrollbarWidth+"px"),this._rootDomNode.style.width=e.width-e.verticalScrollbarWidth+"px"}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;te.scrollWidth)))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(111)&&(this._foldingIconStore.add(Ye(this._lineNumbersDomNode,Ut.MOUSE_ENTER,(()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)}))),this._foldingIconStore.add(Ye(this._lineNumbersDomNode,Ut.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))))}_renderChildNode(e,t,i,n){const s=this._editor._getViewModel();if(!s)return;const o=s.coordinatesConverter.convertModelPositionToViewPosition(new Qn.y(t,1)).lineNumber,r=s.getViewLineRenderingData(o),a=this._editor.getOption(68);let l;try{l=tf.filter(r.inlineDecorations,o,r.minColumn,r.maxColumn)}catch(b){l=[]}const h=new hf(!0,!0,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,0,r.tokens,l,r.tabSize,r.startVisibleColumn,1,1,1,500,"none",!0,!0,null),d=new rf.fe(2e3),c=gf(h,d);let u;u=EK?EK.createHTML(d.build()):d.build();const g=document.createElement("span");g.setAttribute(MK,String(e)),g.setAttribute(TK,""),g.setAttribute("role","listitem"),g.tabIndex=0,g.className="sticky-line-content",g.classList.add(`stickyLine${t}`),g.style.lineHeight=`${this._lineHeight}px`,g.innerHTML=u;const p=document.createElement("span");p.setAttribute(MK,String(e)),p.setAttribute("data-sticky-is-line-number",""),p.className="sticky-line-number",p.style.lineHeight=`${this._lineHeight}px`;const m=n.contentLeft;p.style.width=`${m}px`;const f=document.createElement("span");1===a.renderType||3===a.renderType&&t%10==0?f.innerText=t.toString():2===a.renderType&&(f.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),f.className="sticky-line-number-inner",f.style.lineHeight=`${this._lineHeight}px`,f.style.width=`${n.lineNumbersWidth}px`,f.style.paddingLeft=`${n.lineNumbersLeft}px`,p.appendChild(f);const _=this._renderFoldingIconForLine(i,t);_&&p.appendChild(_.domNode),this._editor.applyFontInfo(g),this._editor.applyFontInfo(f),p.style.lineHeight=`${this._lineHeight}px`,g.style.lineHeight=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`,g.style.height=`${this._lineHeight}px`;const v=new PK(e,t,g,p,_,c.characterMapping,g.scrollWidth);return this._updateTopAndZIndexOfStickyLine(v)}_updateTopAndZIndexOfStickyLine(e){const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,s=t===this._lineNumbers.length-1;i.style.zIndex=s?"0":"1",n.style.zIndex=s?"0":"1";const o=`${t*this._lineHeight+this._lastLineRelativePosition+(e.foldingIcon?.isCollapsed?1:0)}px`,r=t*this._lineHeight+"px";return i.style.top=s?o:r,n.style.top=s?o:r,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||"never"===i)return;const n=e.regions,s=n.findRange(t),o=n.getStartLineNumber(s);if(!(t===o))return;const r=n.isCollapsed(s),a=new OK(r,o,n.getEndLineNumber(s),this._lineHeight);return a.setVisible(!!this._isOnGlyphMargin||(r||"always"===i)),a.domNode.setAttribute(RK,""),a}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=If(t.characterMapping,e,0);return new Qn.y(t.lineNumber,i)}getLineNumberFromChildDomNode(e){return this._getRenderedStickyLineFromChildDomNode(e)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return null===t||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,MK);return t?parseInt(t,10):null}isInStickyLine(e){return void 0!==this._getAttributeValue(e,TK)}isInFoldingIconDomNode(e){return void 0!==this._getAttributeValue(e,RK)}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(null!==i)return i;e=e.parentElement}}}class PK{constructor(e,t,i,n,s,o,r){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=n,this.foldingIcon=s,this.characterMapping=o,this.scrollWidth=r}}class OK{constructor(e,t,i,n){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=n,this.domNode=document.createElement("div"),this.domNode.style.width=`${n}px`,this.domNode.style.height=`${n}px`,this.domNode.className=En.L.asClassName(e?sP:nP)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class FK{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class WK{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class BK{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var HK,VK,zK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},UK=function(e,t){return function(i,n){t(i,n,e)}};!function(e){e.OUTLINE_MODEL="outlineModel",e.FOLDING_PROVIDER_MODEL="foldingProviderModel",e.INDENTATION_MODEL="indentationModel"}(HK||(HK={})),function(e){e[e.VALID=0]="VALID",e[e.INVALID=1]="INVALID",e[e.CANCELED=2]="CANCELED"}(VK||(VK={}));let KK=class extends Ae.jG{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new A.ve(300)),this._updateOperation=this._register(new Ae.Cm),this._editor.getOption(116).defaultModel){case HK.OUTLINE_MODEL:this._modelProviders.push(new $K(this._editor,n));case HK.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new QK(this._editor,t,n));case HK.INDENTATION_MODEL:this._modelProviders.push(new GK(this._editor,i))}}dispose(){this._modelProviders.forEach((e=>e.dispose())),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger((async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:n}=t.computeStickyModel(e);this._modelPromise=n;const s=await i;if(this._modelPromise!==n)return null;switch(s){case VK.CANCELED:return this._updateOperation.clear(),null;case VK.VALID:return t.stickyModel}}return null})).catch((e=>((0,b.dz)(e),null)))}};KK=zK([UK(2,qn._Y),UK(3,xa.ILanguageFeaturesService)],KK);class jK extends Ae.jG{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,VK.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=(0,A.SS)((e=>this.createModelFromProvider(e)));return{statusPromise:t.then((t=>this.isModelValid(t)?e.isCancellationRequested?VK.CANCELED:(this._stickyModel=this.createStickyModel(e,t),VK.VALID):this._invalid())).then(void 0,(e=>((0,b.dz)(e),VK.CANCELED))),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let $K=class extends jK{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return NT.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){const{stickyOutlineElement:i,providerID:n}=this._stickyModelFromOutlineModel(t,this._stickyModel?.outlineProviderId),s=this._editor.getModel();return new BK(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(os.f.first(e.children.values())instanceof DT){const n=os.f.find(e.children.values(),(e=>e.id===t));if(n)i=n.children;else{let n,s="",o=-1;for(const[t,i]of e.children.entries()){const e=this._findSumOfRangesOfGroup(i);e>o&&(n=i,o=e,s=i.id)}t=s,i=n.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort(((e,t)=>{const i=new FK(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),n=new FK(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber);return this._comparator(i,n)}));for(const o of s)n.push(this._stickyModelFromOutlineElement(o,o.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new WK(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const s of e.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const e of s.children.values())i.push(this._stickyModelFromOutlineElement(e,s.symbol.selectionRange.startLineNumber));i.sort(((e,t)=>this._comparator(e.range,t.range)));const n=new FK(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new WK(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof xT?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};$K=zK([UK(1,xa.ILanguageFeaturesService)],$K);class qK extends jK{constructor(e){super(e),this._foldingLimitReporter=new bP(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new BK(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return null!==e}_fromFoldingRegions(e){const t=e.length,i=[],n=new WK(void 0,[],void 0);for(let s=0;s0&&(this.provider=this._register(new uP(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return void 0!==this.provider}async createModelFromProvider(e){return this.provider?.compute(e)??null}};QK=zK([UK(2,xa.ILanguageFeaturesService)],QK);var YK=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ZK=function(e,t){return function(i,n){t(i,n,e)}};class XK{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let JK=class extends Ae.jG{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new P.vl),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Ae.Cm),this._updateSoon=this._register(new A.uC((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(116)&&this.readConfiguration()}))),this.readConfiguration()}readConfiguration(){this._sessionStore.clear();this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel((()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()}))),this._sessionStore.add(this._editor.onDidChangeHiddenAreas((()=>this.update()))),this._sessionStore.add(this._editor.onDidChangeModelContent((()=>this._updateSoon.schedule()))),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>this.update()))),this._sessionStore.add((0,Ae.s)((()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null}))),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){this._stickyModelProvider?.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new KK(e,(()=>this._updateSoon.schedule()),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new sa.Qi,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return-1===e?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,s){if(0===t.children.length)return;let o=s;const r=[];for(let h=0;he-t))),l=this.updateIndex((0,na.El)(r,e.startLineNumber+n,((e,t)=>e-t)));for(let h=a;h<=l;h++){const r=t.children[h];if(!r)return;if(r.range){const t=r.range.startLineNumber,s=r.range.endLineNumber;e.startLineNumber<=s+1&&t-1<=e.endLineNumber&&t!==o&&(o=t,i.push(new XK(t,s-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,r,i,n+1,t))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,r,i,n,s)}}getCandidateStickyLinesIntersecting(e){if(!this._model?.element)return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=this._editor._getViewModel()?.getHiddenAreas();if(i)for(const n of i)t=t.filter((e=>!(e.startLineNumber>=n.startLineNumber&&e.endLineNumber<=n.endLineNumber+1)));return t}};JK=YK([ZK(1,xa.ILanguageFeaturesService),ZK(2,Wo.JZ)],JK);var ej,tj=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},ij=function(e,t){return function(i,n){t(i,n,e)}};let nj=class extends Ae.jG{static{ej=this}static{this.ID="store.contrib.stickyScrollController"}constructor(e,t,i,n,s,o,r){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=r,this._sessionStore=new Ae.Cm,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new AK(this._editor),this._stickyLineCandidateProvider=new JK(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=IK.Empty,this._onDidResize(),this._readConfiguration();const a=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((e=>{this._readConfigurationChange(e)}))),this._register(Ye(a,Ut.CONTEXT_MENU,(async e=>{this._onContextMenu(We(a),e)}))),this._stickyScrollFocusedContextKey=$s.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=$s.stickyScrollVisible.bindTo(this._contextKeyService);const l=this._register(qt(a));this._register(l.onDidBlur((e=>{!1===this._positionRevealed&&0===a.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(l.onDidFocus((e=>{this.focus()}))),this._registerMouseListeners(),this._register(Ye(a,Ut.MOUSE_DOWN,(e=>{this._onMouseDown=!0})))}static get(e){return e.getContribution(ej.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new Ae.Cm,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,(()=>this._editor.revealPosition(e)))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,(()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0)))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(Js.Q.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new Ae.Cm),t=this._register(new xk(this._editor,{extractLineNumberFromMouseEvent:e=>{const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);return t?t.lineNumber:0}})),i=e=>{if(!this._editor.hasModel())return null;if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return null;const t=e.target.element;if(!t||t.innerText!==t.innerHTML)return null;const i=this._stickyScrollWidget.getEditorPositionFromNode(t);return i?{range:new Js.Q(i.lineNumber,i.column,i.lineNumber,i.column+t.innerText.length),textElement:t}:null},n=this._stickyScrollWidget.getDomNode();this._register(Xe(n,Ut.CLICK,(e=>{if(e.ctrlKey||e.altKey||e.metaKey)return;if(!e.leftButton)return;if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t)return;const i=new Qn.y(this._endLineNumbers[t],1);return void this._revealLineInCenterIfOutsideViewport(i)}if(this._stickyScrollWidget.isInFoldingIconDomNode(e.target)){const t=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);return void this._toggleFoldingRegionForLine(t)}if(!this._stickyScrollWidget.isInStickyLine(e.target))return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target);if(!t){const i=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);if(null===i)return;t=new Qn.y(i,1)}this._revealPosition(t)}))),this._register(Xe(n,Ut.MOUSE_MOVE,(e=>{if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t||null!==this._showEndForLine&&this._showEndForLine===t)return;return this._showEndForLine=t,void this._renderStickyScroll()}void 0!==this._showEndForLine&&(this._showEndForLine=void 0,this._renderStickyScroll())}))),this._register(Ye(n,Ut.MOUSE_LEAVE,(e=>{void 0!==this._showEndForLine&&(this._showEndForLine=void 0,this._renderStickyScroll())}))),this._register(t.onMouseMoveOrRelevantKeyDown((([t,n])=>{const s=i(t);if(!s||!t.hasTriggerModifier||!this._editor.hasModel())return void e.clear();const{range:o,textElement:r}=s;if(o.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===r.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=o,e.clear();const a=new sa.Qi;let l;e.add((0,Ae.s)((()=>a.dispose(!0)))),BN(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Qn.y(o.startLineNumber,o.startColumn+1),!1,a.token).then((t=>{if(!a.token.isCancellationRequested)if(0!==t.length){this._candidateDefinitionsLength=t.length;const i=r;l!==i?(e.clear(),l=i,l.style.textDecoration="underline",e.add((0,Ae.s)((()=>{l.style.textDecoration="none"})))):l||(l=i,l.style.textDecoration="underline",e.add((0,Ae.s)((()=>{l.style.textDecoration="none"}))))}else e.clear()}))}))),this._register(t.onCancel((()=>{e.clear()}))),this._register(t.onExecute((async e=>{if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return;const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);t&&this._editor.hasModel()&&this._stickyRangeProjectedOnEditor&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t.lineNumber,column:1})),this._instaService.invokeFunction(eI,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))})))}_onContextMenu(e,t){const i=new T(e,t);this._contextMenuService.showContextMenu({menuId:vs.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||null===e)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t?.foldingIcon;if(!i)return;KA(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const n=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(n),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(!1===e.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((e=>{e.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())}))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((e=>this._onTokensChange(e)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=void 0,this._renderStickyScroll()}))),this._enabled=!0);2===this._editor.getOption(68).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)})))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const t of e.ranges)if(i>=t.fromLineNumber&&i<=t.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const e=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(.25*e)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization())return void this._resetState();const i=this._updateAndGetMinRebuildFromLine(e),n=this._stickyLineCandidateProvider.getVersionId();if(void 0===n||n===t.getVersionId())if(this._focused)if(-1===this._focusedStickyElementIndex)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const e=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];if(await this._updateState(i),0===this._stickyScrollWidget.lineNumberCount)this._focusedStickyElementIndex=-1;else{this._stickyScrollWidget.lineNumbers.includes(e)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}}else await this._updateState(i)}_updateAndGetMinRebuildFromLine(e){if(void 0!==e){const t=void 0!==this._minRebuildFromLine?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){this._minRebuildFromLine=void 0,this._foldingModel=await(vP.get(this._editor)?.getFoldingModel())??void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=IK.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const s=[],o=[],r=this._editor.getVisibleRanges();if(0!==r.length){const a=new FK(r[0].startLineNumber,r[r.length-1].endLineNumber),l=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(a);for(const r of l){const a=r.startLineNumber,l=r.endLineNumber,h=r.nestingDepth;if(l-a>0){const r=(h-1)*e,d=h*e,c=this._editor.getBottomForLineNumber(a)-i,u=this._editor.getTopForLineNumber(l)-i,g=this._editor.getBottomForLineNumber(l)-i;if(r>u&&r<=g){s.push(a),o.push(l+1),n=g-d;break}if(d>c&&d<=g&&(s.push(a),o.push(l+1)),s.length===t)break}}}return this._endLineNumbers=o,new IK(s,o,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};nj=ej=tj([ij(1,bd),ij(2,xa.ILanguageFeaturesService),ij(3,qn._Y),ij(4,Wo.JZ),ij(5,Tw.ILanguageFeatureDebounceService),ij(6,hs.fN)],nj);const sj=100;Hs(nj.ID,nj,1),Ls(class extends ks{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...(0,$n.aS)("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:(0,$n.kg)({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:(0,$n.aS)("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:NK.View,toggled:{condition:hs.M$.equals("config.editor.stickyScroll.enabled",!0),title:(0,$n.kg)("stickyScroll","Sticky Scroll"),mnemonicTitle:(0,$n.kg)({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:vs.CommandPalette},{id:vs.MenubarAppearanceMenu,group:"4_editor",order:3},{id:vs.StickyScrollContext}]})}async run(e){const t=e.get(Wp.pG),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}),Ls(class extends Ps{constructor(){super({id:"editor.action.focusStickyScroll",title:{...(0,$n.aS)("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:(0,$n.kg)({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:hs.M$.and(hs.M$.has("config.editor.stickyScroll.enabled"),$s.stickyScrollVisible),menu:[{id:vs.CommandPalette}]})}runEditorCommand(e,t){nj.get(t)?.focus()}}),Ls(class extends Ps{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:(0,$n.aS)("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:$s.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:sj,primary:16}})}runEditorCommand(e,t){nj.get(t)?.focusPrevious()}}),Ls(class extends Ps{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:(0,$n.aS)("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:$s.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:sj,primary:18}})}runEditorCommand(e,t){nj.get(t)?.focusNext()}}),Ls(class extends Ps{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:(0,$n.aS)("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:$s.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:sj,primary:3}})}runEditorCommand(e,t){nj.get(t)?.goToFocused()}}),Ls(class extends Ps{constructor(){super({id:"editor.action.selectEditor",title:(0,$n.aS)("selectEditor.title","Select Editor"),precondition:$s.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:sj,primary:9}})}runEditorCommand(e,t){nj.get(t)?.selectEditor()}});var oj=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},rj=function(e,t){return function(i,n){t(i,n,e)}};class aj{constructor(e,t,i,n,s,o){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=n,this.command=s,this.completion=o}}let lj=class extends Ae.mp{constructor(e,t,i,n,s,o){super(s.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=n,this._suggestMemoryService=o}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn=0&&r.resolve(sa.XO.None)}return e}};lj=oj([rj(5,nB)],lj);let hj=class extends Ae.jG{constructor(e,t,i,n){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=n,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,n){if(i.selectedSuggestionInfo)return;let s;for(const u of this._editorService.listCodeEditors())if(u.getModel()===e){s=u;break}if(!s)return;const o=s.getOption(90);if(vW.isAllOff(o))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const r=e.tokenization.getLineTokens(t.lineNumber),a=r.getStandardTokenType(r.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("inline"!==vW.valueFor(o,a))return;let l,h,d=e.getWordAtPosition(t);if(d?.word||(l=this._getTriggerCharacterInfo(e,t)),!d?.word&&!l)return;if(d||(d=e.getWordUntilPosition(t)),d.endColumn!==t.column)return;const c=e.getValueInRange(new Js.Q(t.lineNumber,1,t.lineNumber,t.column));if(!l&&this._lastResult?.canBeReused(e,t.lineNumber,d)){const e=new mB(c,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=e,this._lastResult.acquire(),h=this._lastResult}else{const i=await mW(this._languageFeatureService.completionProvider,e,t,new uW(void 0,yB.createSuggestFilter(s).itemKind,l?.providers),l&&{triggerKind:1,triggerCharacter:l.ch},n);let o;i.needsClipboard&&(o=await this._clipboardService.readText());const r=new fB(i.items,t.column,new mB(c,0),pB.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},o);h=new lj(e,t.lineNumber,d,r,i,this._suggestMemoryService)}return this._lastResult=h,h}handleItemDidShow(e,t){t.completion.resolve(sa.XO.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){const i=e.getValueInRange(Js.Q.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),n=new Set;for(const s of this._languageFeatureService.completionProvider.all(e))s.triggerCharacters?.includes(i)&&n.add(s);if(0!==n.size)return{providers:n,ch:i}}};hj=oj([rj(0,xa.ILanguageFeaturesService),rj(1,jh),rj(2,nB),rj(3,Gn)],hj),Fw(hj);class dj{constructor(e,t,i,n,s){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=n,this.background=s}}const cj=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class uj{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(e){if(null===e)return 0;const t=e.match(cj);if(!t)throw new Error("Illegal value for token color: "+e);e=t[1].toUpperCase();let i=this._color2id.get(e);return i||(i=++this._lastColorId,this._color2id.set(e,i),this._id2color[i]=dd.Q1.fromHex("#"+e),i)}getColorMap(){return this._id2color.slice(0)}}class gj{static createFromRawTokenTheme(e,t){return this.createFromParsedTokenTheme(function(e){if(!e||!Array.isArray(e))return[];const t=[];let i=0;for(let n=0,s=e.length;n{const i=function(e,t){return et?1:0}(e.token,t.token);return 0!==i?i:e.index-t.index}));let i=0,n="000000",s="ffffff";for(;e.length>=1&&""===e[0].token;){const t=e.shift();-1!==t.fontStyle&&(i=t.fontStyle),null!==t.foreground&&(n=t.foreground),null!==t.background&&(s=t.background)}const o=new uj;for(const d of t)o.getId(d);const r=o.getId(n),a=o.getId(s),l=new mj(i,r,a),h=new fj(l);for(let d=0,c=e.length;d>>0,this._cache.set(t,i)}return(i|e)>>>0}}const pj=/\b(comment|string|regex|regexp)\b/;class mj{constructor(e,t,i){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new mj(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==i&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class fj{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(""===e)return this._mainRule;const t=e.indexOf(".");let i,n;-1===t?(i=e,n=""):(i=e.substring(0,t),n=e.substring(t+1));const s=this._children.get(i);return void 0!==s?s.match(n):this._mainRule}insert(e,t,i,n){if(""===e)return void this._mainRule.acceptOverwrite(t,i,n);const s=e.indexOf(".");let o,r;-1===s?(o=e,r=""):(o=e.substring(0,s),r=e.substring(s+1));let a=this._children.get(o);void 0===a&&(a=new fj(this._mainRule.clone()),this._children.set(o,a)),a.insert(r,t,i,n)}}const _j={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[io.YtV]:"#FFFFFE",[io.By2]:"#000000",[io.tan]:"#E5EBF1",[Xf.vV]:"#D3D3D3",[Xf.H0]:"#939393",[io.QwA]:"#ADD6FF4D"}},vj={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[io.YtV]:"#1E1E1E",[io.By2]:"#D4D4D4",[io.tan]:"#3A3D41",[Xf.vV]:"#404040",[Xf.H0]:"#707070",[io.QwA]:"#ADD6FF26"}},bj={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[io.YtV]:"#000000",[io.By2]:"#FFFFFF",[Xf.vV]:"#FFFFFF",[Xf.H0]:"#FFFFFF"}},Cj={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[io.YtV]:"#FFFFFF",[io.By2]:"#292929",[Xf.vV]:"#292929",[Xf.H0]:"#292929"}};class wj{getIcon(e){const t=_u();let i=e.defaults;for(;En.L.isThemeIcon(i);){const e=t.getIcon(i.id);if(!e)return;i=e.defaults}return i}}const yj="vs",Sj="vs-dark",kj="hc-black",Lj="hc-light",xj=ds.O.as(io.FdG.ColorContribution),Dj=ds.O.as(no.Fd.ThemingContribution);class Nj{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(Ij(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,dd.Q1.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=Ej(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,dd.Q1.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);return i||(!1!==t?this.getDefault(e):void 0)}getDefault(e){let t=this.defaultColors[e];return t||(t=xj.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case yj:return Hp.zM.LIGHT;case kj:return Hp.zM.HIGH_CONTRAST_DARK;case Lj:return Hp.zM.HIGH_CONTRAST_LIGHT;default:return Hp.zM.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const i=Ej(this.themeData.base);e=i.rules,i.encodedTokensColors&&(t=i.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],n=this.themeData.colors["editor.background"];if(i||n){const t={token:""};i&&(t.foreground=i),n&&(t.background=n),e.push(t)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=gj.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const n=this.tokenTheme._match([e].concat(t).join(".")).metadata,s=hV.x.getForeground(n),o=hV.x.getFontStyle(n);return{foreground:s,italic:Boolean(1&o),bold:Boolean(2&o),underline:Boolean(4&o),strikethrough:Boolean(8&o)}}}function Ij(e){return e===yj||e===Sj||e===kj||e===Lj}function Ej(e){switch(e){case yj:return _j;case Sj:return vj;case kj:return bj;case Lj:return Cj}}function Mj(e){const t=Ej(e);return new Nj(e,t)}class Tj extends Ae.jG{constructor(){super(),this._onColorThemeChange=this._register(new P.vl),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new P.vl),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new wj,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(yj,Mj(yj)),this._knownThemes.set(Sj,Mj(Sj)),this._knownThemes.set(kj,Mj(kj)),this._knownThemes.set(Lj,Mj(Lj));const e=this._register(function(e){const t=new Ae.Cm,i=t.add(new P.vl),n=_u();return t.add(n.onDidChange((()=>i.fire()))),e&&t.add(e.onDidProductIconThemeChange((()=>i.fire()))),{dispose:()=>t.dispose(),onDidChange:i.event,getCSS(){const t=e?e.getProductIconTheme():new wj,i={},s=[],o=[];for(const e of n.getIcons()){const n=t.getIcon(e);if(!n)continue;const r=n.font,a=`--vscode-icon-${e.id}-font-family`,l=`--vscode-icon-${e.id}-content`;r?(i[r.id]=r.definition,o.push(`${a}: ${ri(r.id)};`,`${l}: '${n.fontCharacter}';`),s.push(`.codicon-${e.id}:before { content: '${n.fontCharacter}'; font-family: ${ri(r.id)}; }`)):(o.push(`${l}: '${n.fontCharacter}'; ${a}: 'codicon';`),s.push(`.codicon-${e.id}:before { content: '${n.fontCharacter}'; }`))}for(const e in i){const t=i[e],n=t.weight?`font-weight: ${t.weight};`:"",o=t.style?`font-style: ${t.style};`:"",r=t.src.map((e=>`${oi(e.location)} format('${e.format}')`)).join(", ");s.push(`@font-face { src: ${r}; font-family: ${ri(e)};${n}${o} font-display: block; }`)}return s.push(`:root { ${o.join(" ")} }`),s.join("\n")}}}(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(yj),this._onOSSchemeChanged(),this._register(e.onDidChange((()=>{this._codiconCSS=e.getCSS(),this._updateCSS()}))),a(o,"(forced-colors: active)",(()=>{this._onOSSchemeChanged()}))}registerEditorContainer(e){return Ct(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=Et(void 0,(e=>{e.className="monaco-colors",e.textContent=this._allCSS})),this._styleElements.push(this._globalStyleElement)),Ae.jG.None}_registerShadowDomContainer(e){const t=Et(e,(e=>{e.className="monaco-colors",e.textContent=this._allCSS}));return this._styleElements.push(t),{dispose:()=>{for(let e=0;e{t.base===e&&t.notifyBaseUpdated()})),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(yj),this._updateActualTheme(t)}_updateActualTheme(e){e&&this._theme!==e&&(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=o.matchMedia("(forced-colors: active)").matches;if(e!==(0,Hp.Bb)(this._theme.type)){let t;t=(0,Hp.HD)(this._theme.type)?e?kj:Sj:e?Lj:yj,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:i=>{t[i]||(e.push(i),t[i]=!0)}};Dj.getThemingParticipants().forEach((e=>e(this._theme,i,this._environment)));const n=[];for(const o of xj.getColors()){const e=this._theme.getColor(o.id,!0);e&&n.push(`${(0,io.Bbc)(o.id)}: ${e.toString()};`)}i.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${n.join("\n")} }`);const s=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(function(e){const t=[];for(let i=1,n=e.length;ie.textContent=this._allCSS))}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}Ws(class extends Rs{constructor(){super({id:"editor.action.toggleHighContrast",label:kO.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(dV),n=i.getColorTheme();(0,Hp.Bb)(n.type)?(i.setTheme(this._originalThemeName||((0,Hp.HD)(n.type)?Sj:yj)),this._originalThemeName=null):(i.setTheme((0,Hp.HD)(n.type)?kj:Lj),this._originalThemeName=n.themeName)}});class Rj extends ks{static{this.ID="editor.action.toggleTabFocusMode"}constructor(){super({id:Rj.ID,title:$n.aS({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:$n.aS("tabMovesFocusDescriptions","Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const e=!ym.getTabFocusMode();ym.setTabFocusMode(e),wi(e?$n.kg("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"):$n.kg("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}Ls(Rj);Ws(class extends Rs{constructor(){super({id:"editor.action.forceRetokenize",label:$n.kg("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new Vp.W;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}});var Aj=i(49887),Pj=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Oj=function(e,t){return function(i,n){t(i,n,e)}};let Fj=class extends Ae.jG{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},n,s){super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=Gt(e,ei("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??ld("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const o=this._register(new zr(this.el,"click")),r=this._register(new zr(this.el,"keypress")),a=P.Jh.chain(r.event,(e=>e.map((e=>new N(e))).filter((e=>3===e.keyCode)))),l=this._register(new zr(this.el,id.Tap)).event;this._register(sd.addTarget(this.el));const h=P.Jh.any(o.event,a,l);this._register(h((e=>{this.enabled&&(jt(e,!0),i?.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))}))),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Fj=Pj([Oj(3,sk),Oj(4,Rh)],Fj);var Wj=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Bj=function(e,t){return function(i,n){t(i,n,e)}};let Hj=class extends Ae.jG{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Vj))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{this.hide(),e.onClose?.()}}),this._editor.setBanner(this.banner.element,26)}};Hj=Wj([Bj(1,qn._Y)],Hj);let Vj=class extends Ae.jG{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Fh,{}),this.element=ei("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){return e.ariaLabel?e.ariaLabel:"string"==typeof e.message?e.message:void 0}getBannerMessage(e){if("string"==typeof e){const t=ei("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Ge(this.element)}show(e){Ge(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=Gt(this.element,ei("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(ei(`div${En.L.asCSSSelector(e.icon)}`));const n=Gt(this.element,ei("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=Gt(this.element,ei("div.message-actions-container")),e.actions)for(const o of e.actions)this._register(this.instantiationService.createInstance(Fj,this.messageActionsContainer,{...o,tabIndex:-1},{}));const s=Gt(this.element,ei("div.action-container"));this.actionBar=this._register(new ep(s)),this.actionBar.push(this._register(new Xn("banner.close","Close Banner",En.L.asClassName(wu),!0,(()=>{"function"==typeof e.onClose&&e.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Vj=Wj([Bj(0,qn._Y)],Vj);const zj=(0,qn.u1)("workspaceTrustManagementService");var Uj=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Kj=function(e,t){return function(i,n){t(i,n,e)}};const jj=fu("extensions-warning-message",bl.W.warning,$n.kg("warningIcon","Icon shown with a warning message in the extensions editor."));let $j=class extends Ae.jG{static{this.ID="editor.contrib.unicodeHighlighter"}constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=e=>{if(e&&e.hasMore){if(this._bannerClosed)return;const t=Math.max(e.ambiguousCharacterCount,e.nonBasicAsciiCharacterCount,e.invisibleCharacterCount);let i;if(e.nonBasicAsciiCharacterCount>=t)i={message:$n.kg("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new o$};else if(e.ambiguousCharacterCount>=t)i={message:$n.kg("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new n$};else{if(!(e.invisibleCharacterCount>=t))throw new Error("Unreachable");i={message:$n.kg("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new s$}}this._bannerController.show({id:"unicodeHighlightBanner",message:i.message,icon:jj,actions:[{label:i.command.shortLabel,href:`command:${i.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Hj,e)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=e.getOption(126),this._register(i.onDidChangeTrust((e=>{this._updateHighlighter()}))),this._register(e.onDidChangeConfiguration((t=>{t.hasChanged(126)&&(this._options=e.getOption(126),this._updateHighlighter())}))),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=function(e,t){return{nonBasicASCII:t.nonBasicASCII===wc?!e:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments===wc?!e:t.includeComments,includeStrings:t.includeStrings===wc?!e:t.includeStrings,allowedCharacters:t.allowedCharacters,allowedLocales:t.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every((e=>!1===e)))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map((e=>e.codePointAt(0))),allowedLocales:Object.keys(e.allowedLocales).map((e=>{if("_os"===e){return(new Intl.NumberFormat).resolvedOptions().locale}return"_vscode"===e?f.BH:e}))};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new qj(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new Gj(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};$j=Uj([Kj(1,Bw.IEditorWorkerService),Kj(2,zj),Kj(3,qn._Y)],$j);let qj=class extends Ae.jG{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new A.uC((()=>this._update()),250)),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((t=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const e of t.ranges)i.push({range:e,options:e$.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)}))}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!wC(t,e))return null;return{reason:Jj(t.getValueInRange(e.range),this._options),inComment:yC(t,e),inString:SC(t,e)}}};qj=Uj([Kj(3,Bw.IEditorWorkerService)],qj);class Gj extends Ae.jG{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new A.uC((()=>this._update()),250)),this._register(this._editor.onDidLayoutChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidScrollChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeHiddenAreas((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const n of e){const e=Aj.UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model,this._options,n);for(const t of e.ranges)i.ranges.push(t);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||e.hasMore}if(!i.hasMore)for(const n of i.ranges)t.push({range:n,options:e$.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return wC(t,e)?{reason:Jj(i,this._options),inComment:yC(t,e),inString:SC(t,e)}:null}}const Qj=$n.kg("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let Yj=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),n=this._editor.getContribution($j.ID);if(!n)return[];const s=[],o=new Set;let r=300;for(const a of t){const e=n.getDecorationInfo(a);if(!e)continue;const t=i.getValueInRange(a.range).codePointAt(0),l=Xj(t);let h;switch(e.reason.kind){case 0:h=(0,Ri.aC)(e.reason.confusableWith)?$n.kg("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",l,Xj(e.reason.confusableWith.codePointAt(0))):$n.kg("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",l,Xj(e.reason.confusableWith.codePointAt(0)));break;case 1:h=$n.kg("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",l);break;case 2:h=$n.kg("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",l)}if(o.has(h))continue;o.add(h);const d={codePoint:t,reason:e.reason,inComment:e.inComment,inString:e.inString},c=$n.kg("unicodeHighlight.adjustSettings","Adjust settings"),u=`command:${r$.ID}?${encodeURIComponent(JSON.stringify(d))}`,g=new Vn("",!0).appendMarkdown(h).appendText(" ").appendLink(u,c,Qj);s.push(new pk(this,a.range,[g],!1,r++))}return s}renderHoverParts(e,t){return function(e,t,i,n,s){t.sort((0,na.VE)((e=>e.ordinal),na.U9));const o=[];for(const r of t)o.push(bk(i,r,n,s,e.onContentsChanged));return new fy(o)}(e,t,this._editor,this._languageService,this._openerService)}};function Zj(e){return`U+${e.toString(16).padStart(4,"0")}`}function Xj(e){let t=`\`${Zj(e)}\``;return Ri.y_.isInvisibleCharacter(e)||(t+=` "${function(e){if(96===e)return"`` ` ``";return"`"+String.fromCodePoint(e)+"`"}(e)}"`),t}function Jj(e,t){return Aj.UnicodeTextModelHighlighter.computeUnicodeHighlightReason(e,t)}Yj=Uj([Kj(1,Dh.L),Kj(2,Rh)],Yj);class e${constructor(){this.map=new Map}static{this.instance=new e$}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=to.kI.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}}class t$ extends Rs{constructor(){super({id:n$.ID,label:$n.kg("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=$n.kg("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e?.get(Wp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(xc,!1,2)}}class i$ extends Rs{constructor(){super({id:n$.ID,label:$n.kg("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=$n.kg("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e?.get(Wp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(Dc,!1,2)}}class n$ extends Rs{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters"}constructor(){super({id:n$.ID,label:$n.kg("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=$n.kg("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e?.get(Wp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(Lc,!1,2)}}class s$ extends Rs{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters"}constructor(){super({id:s$.ID,label:$n.kg("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=$n.kg("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e?.get(Wp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sc,!1,2)}}class o$ extends Rs{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters"}constructor(){super({id:o$.ID,label:$n.kg("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=$n.kg("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e?.get(Wp.pG);n&&this.runAction(n)}async runAction(e){await e.updateValue(kc,!1,2)}}class r$ extends Rs{static{this.ID="editor.action.unicodeHighlight.showExcludeOptions"}constructor(){super({id:r$.ID,label:$n.kg("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:n,reason:s,inString:o,inComment:r}=i,a=String.fromCodePoint(n),l=e.get(ed),h=e.get(Wp.pG);const d=[];if(0===s.kind)for(const u of s.notAmbiguousInLocales)d.push({label:$n.kg("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',u),run:async()=>{a$(h,[u])}});if(d.push({label:function(e){return Ri.y_.isInvisibleCharacter(e)?$n.kg("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Zj(e)):$n.kg("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Zj(e)} "${a}"`)}(n),run:()=>async function(e,t){const i=e.getValue(yc);let n;n="object"==typeof i&&i?i:{};for(const s of t)n[String.fromCodePoint(s)]=!0;await e.updateValue(yc,n,2)}(h,[n])}),r){const e=new t$;d.push({label:e.label,run:async()=>e.runAction(h)})}else if(o){const e=new i$;d.push({label:e.label,run:async()=>e.runAction(h)})}if(0===s.kind){const e=new n$;d.push({label:e.label,run:async()=>e.runAction(h)})}else if(1===s.kind){const e=new s$;d.push({label:e.label,run:async()=>e.runAction(h)})}else if(2===s.kind){const e=new o$;d.push({label:e.label,run:async()=>e.runAction(h)})}else!function(e){throw new Error(`Unexpected value: ${e}`)}(s);const c=await l.pick(d,{title:Qj});c&&await c.run()}}async function a$(e,t){const i=e.inspect(Nc).user?.value;let n;n="object"==typeof i&&i?Object.assign({},i):{};for(const s of t)n[s]=!0;await e.updateValue(Nc,n,2)}Ws(n$),Ws(s$),Ws(o$),Ws(r$),Hs($j.ID,$j,1),_y.register(Yj);var l$=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},h$=function(e,t){return function(i,n){t(i,n,e)}};const d$="ignoreUnusualLineTerminators";let c$=class extends Ae.jG{static{this.ID="editor.contrib.unusualLineTerminatorsDetector"}constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((e=>{e.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators())return;const t=function(e,t){return e.getModelProperty(t.uri,d$)}(this._codeEditorService,e);if(!0===t)return;if(this._editor.getOption(92))return;if("auto"===this._config)return void e.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:$n.kg("unusualLineTerminators.title","Unusual Line Terminators"),message:$n.kg("unusualLineTerminators.message","Detected unusual line terminators"),detail:$n.kg("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",(0,Bn.P8)(e.uri)),primaryButton:$n.kg({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:$n.kg("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}i.confirmed?e.removeUnusualLineTerminators(this._editor.getSelections()):function(e,t,i){e.setModelProperty(t.uri,d$,i)}(this._codeEditorService,e,!0)}};c$=l$([h$(1,jz),h$(2,Gn)],c$),Hs(c$.ID,c$,1);var u$=i(74403),g$=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},p$=function(e,t){return function(i,n){t(i,n,e)}};class m${constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const n=[],s=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!s)return Promise.resolve(n);if(e.isDisposed())return;return e.findMatches(s.word,!0,!1,!0,Qd.J3,!1).map((e=>({range:e.range,kind:La.Kb.Text})))}provideMultiDocumentHighlights(e,t,i,n){const s=new ki.fT,o=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!o)return Promise.resolve(s);for(const r of[e,...i]){if(r.isDisposed())continue;const e=r.findMatches(o.word,!0,!1,!0,Qd.J3,!1).map((e=>({range:e.range,kind:La.Kb.Text})));e&&s.set(r.uri,e)}return s}}let f$=class extends Ae.jG{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new m$)),this._register(e.multiDocumentHighlightProvider.register("*",new m$))}};f$=g$([p$(0,xa.ILanguageFeaturesService)],f$);var _$,v$,b$=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},C$=function(e,t){return function(i,n){t(i,n,e)}};const w$=new hs.N1("hasWordHighlights",!1);function y$(e,t,i,n){const s=e.ordered(t);return(0,A.$1)(s.map((e=>()=>Promise.resolve(e.provideDocumentHighlights(t,i,n)).then(void 0,b.M_))),(e=>null!=e)).then((e=>{if(e){const i=new ki.fT;return i.set(t.uri,e),i}return new ki.fT}))}class S${constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=(0,A.SS)((e=>this._compute(this._model,this._selection,this._wordSeparators,e)))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new Js.Q(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,s=t.startColumn,o=t.endColumn,r=this._getCurrentWordRange(e,t);let a=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let l=0,h=i.length;!a&&l=o&&(a=!0)}return a}cancel(){this.result.cancel()}}class k$ extends S${constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return y$(this._providers,e,t.getPosition(),n).then((e=>e||new ki.fT))}}class L$ extends S${constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return function(e,t,i,n,s,o){const r=e.ordered(t);return(0,A.$1)(r.map((e=>()=>{const n=o.filter((e=>(0,eo.vd)(e))).filter((t=>(0,u$.f)(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0));return Promise.resolve(e.provideMultiDocumentHighlights(t,i,n,s)).then(void 0,b.M_)})),(e=>null!=e))}(this._providers,e,t.getPosition(),0,n,this._otherModels).then((e=>e||new ki.fT))}}Os("_executeDocumentHighlights",(async(e,t,i)=>{const n=e.get(xa.ILanguageFeaturesService),s=await y$(n.documentHighlightProvider,t,i,sa.XO.None);return s?.get(t.uri)}));let x$=class{static{_$=this}static{this.storedDecorationIDs=new ki.fT}static{this.query=null}constructor(e,t,i,n,s){this.toUnhook=new Ae.Cm,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new ki.fT,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new A.ve(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=w$.bindTo(n),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition((e=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this.runDelayer.trigger((()=>{this._onPositionChanged(e)}))}))),this.toUnhook.add(e.onDidFocusEditorText((e=>{"off"!==this.occurrencesHighlight&&(this.workerRequest||this.runDelayer.trigger((()=>{this._run()})))}))),this.toUnhook.add(e.onDidChangeModelContent((e=>{(0,Pe.v$)(this.model.uri,"output")||this._stopAll()}))),this.toUnhook.add(e.onDidChangeModel((e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():_$.query&&this._run()}))),this.toUnhook.add(e.onDidChangeConfiguration((e=>{const t=this.editor.getOption(81);if(this.occurrencesHighlight!==t)switch(this.occurrencesHighlight=t,t){case"off":this._stopAll();break;case"singleFile":this._stopAll(_$.query?.modelInfo?.model);break;case"multiFile":_$.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",t)}}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,_$.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(Js.Q.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),t=e.findIndex((e=>e.containsPosition(this.editor.getPosition()))),i=(t+1)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const t=this._getWord();if(t){wi(`${this.editor.getModel().getLineContent(n.startLineNumber)}, ${i+1} of ${e.length} for '${t.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),t=e.findIndex((e=>e.containsPosition(this.editor.getPosition()))),i=(t-1+e.length)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const t=this._getWord();if(t){wi(`${this.editor.getModel().getLineContent(n.startLineNumber)}, ${i+1} of ${e.length} for '${t.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=_$.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),_$.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const n of t){if(!n.hasModel()||(0,Bn.n4)(n.getModel().uri,e?.uri))continue;const t=_$.storedDecorationIDs.get(n.getModel().uri);if(!t)continue;n.removeDecorations(t),i.push(n.getModel().uri);const s=D$.get(n);s?.wordHighlighter&&(s.wordHighlighter.decorations.length>0&&(s.wordHighlighter.decorations.clear(),s.wordHighlighter.workerRequest=null,s.wordHighlighter._hasWordHighlights.set(!1)))}for(const n of i)_$.storedDecorationIDs.delete(n)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==Pe.ny.vscodeNotebookCell&&_$.query?.modelInfo?.model.uri.scheme!==Pe.ny.vscodeNotebookCell?(_$.query=null,this._run()):_$.query?.modelInfo&&(_$.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){"off"!==this.occurrencesHighlight&&(3===e.reason||this.editor.getModel()?.uri.scheme===Pe.ny.vscodeNotebookCell)?this._run():this._stopAll()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===Pe.ny.vscodeNotebookCell){const t=[],i=this.codeEditorService.listCodeEditors();for(const n of i){const i=n.getModel();i&&i!==e&&i.uri.scheme===Pe.ny.vscodeNotebookCell&&t.push(i)}return t}const t=[],i=this.codeEditorService.listCodeEditors();for(const n of i){if(!Mk(n))continue;const i=n.getModel();i&&(e===i.modified&&t.push(i.modified))}if(t.length)return t;if("singleFile"===this.occurrencesHighlight)return[];for(const n of i){const i=n.getModel();i&&i!==e&&t.push(i)}return t}_run(e){let t;if(this.editor.hasTextFocus()){const e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber)return _$.query=null,void this._stopAll();const i=e.startColumn,n=e.endColumn,s=this._getWord();if(!s||s.startColumn>i||s.endColumn{t===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations())}),b.dz)}}computeWithModel(e,t,i,n){return n.length?function(e,t,i,n,s,o){return new L$(t,i,s,e,o)}(this.multiDocumentProviders,e,t,0,this.editor.getOption(132),n):function(e,t,i,n,s){return new k$(t,i,s,e)}(this.providers,e,t,0,this.editor.getOption(132))}_beginRenderDecorations(){const e=(new Date).getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((()=>{this.renderDecorations()}),t-e)}renderDecorations(){this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const i of e){const e=D$.get(i);if(!e)continue;const n=[],s=i.getModel()?.uri;if(s&&this.workerRequestValue.has(s)){const o=_$.storedDecorationIDs.get(s),r=this.workerRequestValue.get(s);if(r)for(const e of r)e.range&&n.push({range:e.range,options:(t=e.kind,t===La.Kb.Write?nz:t===La.Kb.Text?sz:az)});let a=[];i.changeDecorations((e=>{a=e.deltaDecorations(o??[],n)})),_$.storedDecorationIDs=_$.storedDecorationIDs.set(s,a),n.length>0&&(e.wordHighlighter?.decorations.set(n),e.wordHighlighter?._hasWordHighlights.set(!0))}}var t}dispose(){this._stopSingular(),this.toUnhook.dispose()}};x$=_$=b$([C$(4,Gn)],x$);let D$=class extends Ae.jG{static{v$=this}static{this.ID="editor.contrib.wordHighlighter"}static get(e){return e.getContribution(v$.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new x$(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n))};this._register(e.onDidChangeModel((e=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),s()}))),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};D$=v$=b$([C$(1,hs.fN),C$(2,xa.ILanguageFeaturesService),C$(3,Gn)],D$);class N$ extends Rs{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=D$.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}Hs(D$.ID,D$,0),Ws(class extends N${constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:$n.kg("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:w$,kbOpts:{kbExpr:$s.editorTextFocus,primary:65,weight:100}})}}),Ws(class extends N${constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:$n.kg("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:w$,kbOpts:{kbExpr:$s.editorTextFocus,primary:1089,weight:100}})}}),Ws(class extends Rs{constructor(){super({id:"editor.action.wordHighlight.trigger",label:$n.kg("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:$s.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=D$.get(t);n&&n.restoreViewState(!0)}}),Fw(f$);class I$ extends Ts{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=(0,To.i)(t.getOption(132),t.getOption(131)),s=t.getModel(),o=t.getSelections(),r=o.length>1,a=o.map((e=>{const t=new Qn.y(e.positionLineNumber,e.positionColumn),i=this._move(n,s,t,this._wordNavigationType,r);return this._moveTo(e,i,this._inSelectionMode)}));if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,a.map((e=>mo.fromModelSelection(e)))),1===a.length){const e=new Qn.y(a[0].positionLineNumber,a[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,i){return i?new qs.L(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new qs.L(t.lineNumber,t.column,t.lineNumber,t.column)}}class E$ extends I${_move(e,t,i,n,s){return Ro.moveWordLeft(e,t,i,n,s)}}class M$ extends I${_move(e,t,i,n,s){return Ro.moveWordRight(e,t,i,n)}}class T$ extends Ts{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(Wo.JZ);if(!t.hasModel())return;const s=(0,To.i)(t.getOption(132),t.getOption(131)),o=t.getModel(),r=t.getSelections(),a=t.getOption(6),l=t.getOption(11),h=n.getLanguageConfiguration(o.getLanguageId()).getAutoClosingPairs(),d=t._getViewModel(),c=r.map((e=>{const i=this._delete({wordSeparators:s,model:o,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:a,autoClosingQuotes:l,autoClosingPairs:h,autoClosedCharacters:d.getCursorAutoClosedCharacters()},this._wordNavigationType);return new yo(i,"")}));t.pushUndoStop(),t.executeCommands(this.id,c),t.pushUndoStop()}}class R$ extends T${_delete(e,t){const i=Ro.deleteWordLeft(e,t);return i||new Js.Q(1,1,1,1)}}class A$ extends T${_delete(e,t){const i=Ro.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new Js.Q(n,s,n,s)}}Fs(new class extends E${constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),Fs(new class extends E${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),Fs(new class extends E${constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:hs.M$.and($s.textInputFocus,hs.M$.and(qr,zx)?.negate()),primary:2063,mac:{primary:527},weight:100}})}}),Fs(new class extends E${constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),Fs(new class extends E${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),Fs(new class extends E${constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:hs.M$.and($s.textInputFocus,hs.M$.and(qr,zx)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),Fs(new class extends M${constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),Fs(new class extends M${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:hs.M$.and($s.textInputFocus,hs.M$.and(qr,zx)?.negate()),primary:2065,mac:{primary:529},weight:100}})}}),Fs(new class extends M${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),Fs(new class extends M${constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),Fs(new class extends M${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:hs.M$.and($s.textInputFocus,hs.M$.and(qr,zx)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),Fs(new class extends M${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),Fs(new class extends E${constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move((0,To.i)(Rc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}),Fs(new class extends E${constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move((0,To.i)(Rc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}),Fs(new class extends M${constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move((0,To.i)(Rc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}),Fs(new class extends M${constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move((0,To.i)(Rc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}),Fs(new class extends R${constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:$s.writable})}}),Fs(new class extends R${constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:$s.writable})}}),Fs(new class extends R${constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:$s.writable,kbOpts:{kbExpr:$s.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),Fs(new class extends A${constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:$s.writable})}}),Fs(new class extends A${constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:$s.writable})}}),Fs(new class extends A${constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:$s.writable,kbOpts:{kbExpr:$s.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),Ws(class extends Rs{constructor(){super({id:"deleteInsideWord",precondition:$s.writable,label:$n.kg("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=(0,To.i)(t.getOption(132),t.getOption(131)),s=t.getModel(),o=t.getSelections().map((e=>{const t=Ro.deleteInsideWord(n,s,e);return new yo(t,"")}));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}});class P$ extends I${_move(e,t,i,n,s){return Ao.moveWordPartLeft(e,t,i,s)}}ls.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");ls.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class O$ extends I${_move(e,t,i,n,s){return Ao.moveWordPartRight(e,t,i)}}Fs(new class extends T${constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:$s.writable,kbOpts:{kbExpr:$s.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=Ao.deleteWordPartLeft(e);return i||new Js.Q(1,1,1,1)}}),Fs(new class extends T${constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:$s.writable,kbOpts:{kbExpr:$s.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=Ao.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new Js.Q(n,s,n,s)}}),Fs(new class extends P${constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:$s.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),Fs(new class extends P${constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:$s.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),Fs(new class extends O${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:$s.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),Fs(new class extends O${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:$s.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});var F$=i(93059),W$=i(45585);const B$=!0;let H$;function V$(e,t){const i=globalThis.MonacoEnvironment;if(i){if("function"==typeof i.getWorker)return i.getWorker("workerMain.js",t);if("function"==typeof i.getWorkerUrl){const e=i.getWorkerUrl("workerMain.js",t);return new Worker(H$?H$.createScriptURL(e):e,{name:t,type:B$?"module":void 0})}}if(e){const i=function(e,t,i){const n=/^((http:)|(https:)|(file:)|(vscode-file:))/.test(t);if(n&&t.substring(0,globalThis.origin.length)!==globalThis.origin);else{const i=t.lastIndexOf("?"),n=t.lastIndexOf("#",i),s=i>0?new URLSearchParams(t.substring(i+1,~n?n:void 0)):new URLSearchParams;Pe.SJ.addSearchParam(s,!0,!0);t=s.toString()?`${t}?${s.toString()}#${e}`:`${t}#${e}`}B$||n||(t=new URL(t,globalThis.origin).toString());const s=new Blob([(0,na.Yc)([`/*${e}*/`,i?`globalThis.MonacoEnvironment = { baseUrl: '${i}' };`:void 0,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify((0,$n.Ec)())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify((0,$n.i8)())};`,`globalThis._VSCODE_FILE_ROOT = '${globalThis._VSCODE_FILE_ROOT}';`,"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });","globalThis.workerttPolicy = ttPolicy;",B$?`await import(ttPolicy?.createScriptURL('${t}') ?? '${t}');`:`importScripts(ttPolicy?.createScriptURL('${t}') ?? '${t}');`,B$?"globalThis.postMessage({ type: 'vscode-worker-ready' });":void 0,`/*${e}*/`]).join("")],{type:"application/javascript"});return URL.createObjectURL(s)}(t,e.toString(!0)),n=new Worker(H$?H$.createScriptURL(i):i,{name:t,type:B$?"module":void 0});return B$?function(e){return new Promise(((t,i)=>{e.onmessage=function(i){"vscode-worker-ready"===i.data.type&&(e.onmessage=null,t(e))},e.onerror=i}))}(n):n}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}H$="object"==typeof self&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name&&void 0!==globalThis.workerttPolicy?globalThis.workerttPolicy:yh("defaultWorkerFactory",{createScriptURL:e=>e});class z$ extends Ae.jG{constructor(e,t,i,n,s,o){super(),this.id=i,this.label=n;const r=V$(e,n);"function"==typeof r.then?this.worker=r:this.worker=Promise.resolve(r),this.postMessage(t,[]),this.worker.then((e=>{e.onmessage=function(e){s(e.data)},e.onmessageerror=o,"function"==typeof e.addEventListener&&e.addEventListener("error",o)})),this._register((0,Ae.s)((()=>{this.worker?.then((e=>{e.onmessage=null,e.onmessageerror=null,e.removeEventListener("error",o),e.terminate()})),this.worker=null})))}getId(){return this.id}postMessage(e,t){this.worker?.then((i=>{try{i.postMessage(e,t)}catch(n){(0,b.dz)(n),(0,b.dz)(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:n}))}}))}}class U${constructor(e,t){this.amdModuleId=e,this.label=t,this.esmModuleLocation=B$?Pe.zl.asBrowserUri(`${e}.esm.js`):void 0}}class K${static{this.LAST_WORKER_ID=0}constructor(){this._webWorkerFailedBeforeError=!1}create(e,t,i){const n=++K$.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new z$(e.esmModuleLocation,e.amdModuleId,n,e.label||"anonymous"+n,t,(e=>{(0,W$.logOnceWebWorkerWarning)(e),this._webWorkerFailedBeforeError=e,i(e)}))}}var j$=i(14003),$$=i(23837),q$=i(81171),G$=i(96358),Q$=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Y$=function(e,t){return function(i,n){t(i,n,e)}};const Z$=3e5;function X$(e,t){const i=e.getModel(t);return!!i&&!i.isTooLargeForSyncing()}let J$=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._languageConfigurationService=s,this._modelService=t,this._workerManager=this._register(new tq(e,this._modelService)),this._logService=n,this._register(o.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!X$(this._modelService,e.uri))return Promise.resolve({links:[]});const i=await this._workerWithResources([e.uri]),n=await i.$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(o.completionProvider.register("*",new eq(this._workerManager,i,this._modelService,this._languageConfigurationService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return X$(this._modelService,e)}async computedUnicodeHighlights(e,t,i){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,i)}async computeDiff(e,t,i,n){const s=await this._workerWithResources([e,t],!0),o=await s.$computeDiff(e.toString(),t.toString(),i,n);if(!o)return null;return{identical:o.identical,quitEarly:o.quitEarly,changes:r(o.changes),moves:o.moves.map((e=>new $$.t(new oE.WL(new nE.M(e[0],e[1]),new nE.M(e[2],e[3])),r(e[4]))))};function r(e){return e.map((e=>new oE.wm(new nE.M(e[0],e[1]),new nE.M(e[2],e[3]),e[4]?.map((e=>new oE.q6(new Js.Q(e[0],e[1],e[2],e[3]),new Js.Q(e[4],e[5],e[6],e[7])))))))}}async computeMoreMinimalEdits(e,t,i=!1){if((0,na.EI)(t)){if(!X$(this._modelService,e))return Promise.resolve(t);const n=Vp.W.create(),s=this._workerWithResources([e]).then((n=>n.$computeMoreMinimalEdits(e.toString(),t,i)));return s.finally((()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),n.elapsed()))),Promise.race([s,(0,A.wR)(1e3).then((()=>t))])}return Promise.resolve(void 0)}canNavigateValueSet(e){return X$(this._modelService,e)}async navigateValueSet(e,t,i){const n=this._modelService.getModel(e);if(!n)return null;const s=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),o=s.source,r=s.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,i,o,r)}canComputeWordRanges(e){return X$(this._modelService,e)}async computeWordRanges(e,t){const i=this._modelService.getModel(e);if(!i)return Promise.resolve(null);const n=this._languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition(),s=n.source,o=n.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,s,o)}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){const i=await this._workerManager.withWorker();return await i.workerWithSyncedResources(e,t)}};J$=Q$([Y$(1,Yn.IModelService),Y$(2,PU.ITextResourceConfigurationService),Y$(3,Ns.rr),Y$(4,Wo.JZ),Y$(5,xa.ILanguageFeaturesService)],J$);class eq{constructor(e,t,i,n){this.languageConfigurationService=n,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if("off"===i.wordBasedSuggestions)return;const n=[];if("currentDocument"===i.wordBasedSuggestions)X$(this._modelService,e.uri)&&n.push(e.uri);else for(const d of this._modelService.getModels())X$(this._modelService,d.uri)&&(d===e?n.unshift(d.uri):"allDocuments"!==i.wordBasedSuggestions&&d.getLanguageId()!==e.getLanguageId()||n.push(d.uri));if(0===n.length)return;const s=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),o=e.getWordAtPosition(t),r=o?new Js.Q(t.lineNumber,o.startColumn,t.lineNumber,o.endColumn):Js.Q.fromPositions(t),a=r.setEndPosition(t.lineNumber,t.column),l=await this._workerManager.withWorker(),h=await l.textualSuggest(n,o?.word,s);return h?{duration:h.duration,suggestions:h.words.map((e=>({kind:18,label:e,insertText:e,range:{insert:a,replace:r}})))}:void 0}}let tq=class extends Ae.jG{constructor(e,t){super(),this._workerDescriptor=e,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=(new Date).getTime();this._register(new st).cancelAndSet((()=>this._checkStopIdleWorker()),Math.round(15e4),o),this._register(this._modelService.onModelRemoved((e=>this._checkStopEmptyWorker())))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;(new Date).getTime()-this._lastWorkerUsedTime>Z$&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new nq(this._workerDescriptor,!1,this._modelService)),Promise.resolve(this._editorWorkerClient)}};tq=Q$([Y$(1,Yn.IModelService)],tq);class iq{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw new Error("Not supported")}}let nq=class extends Ae.jG{constructor(e,t,i){super(),this._workerDescriptor=e,this._disposed=!1,this._modelService=i,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(function(e,t){const i="string"==typeof e?new U$(e,t):e;return new W$.SimpleWorkerClient(new K$,i)}(this._workerDescriptor)),G$.EditorWorkerHost.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){(0,W$.logOnceWebWorkerWarning)(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{const e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return(0,W$.logOnceWebWorkerWarning)(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new iq(new j$.EditorSimpleWorker(this._createEditorWorkerHost(),null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new q$.WorkerTextModelSyncClient(e,this._modelService,this._keepIdleModels))),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject((0,b.aD)());const i=await this._getProxy();return this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i}async textualSuggest(e,t,i){const n=await this.workerWithSyncedResources(e),s=i.source,o=i.flags;return n.$textualSuggest(e.map((e=>e.toString())),t,s,o)}dispose(){super.dispose(),this._disposed=!0}};nq=Q$([Y$(2,Yn.IModelService)],nq);var sq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},oq=function(e,t){return function(i,n){t(i,n,e)}};let rq=class extends Ae.jG{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new P.vl),this._onCodeEditorAdd=this._register(new P.vl),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new P.vl),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new P.vl),this._onDiffEditorAdd=this._register(new P.vl),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new P.vl),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new ss.w,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map((e=>this._codeEditors[e]))}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map((e=>this._diffEditors[e]))}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const i of t){if(i.hasTextFocus())return i;i.hasWidgetFocus()&&(e=i)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach((t=>t.removeDecorationsByType(e)))))}setModelProperty(e,t,i){const n=e.toString();let s;this._modelProperties.has(n)?s=this._modelProperties.get(n):(s=new Map,this._modelProperties.set(n,s)),s.set(t,i)}getModelProperty(e,t){const i=e.toString();if(this._modelProperties.has(i)){return this._modelProperties.get(i).get(t)}}async openCodeEditor(e,t,i){for(const n of this._codeEditorOpenHandlers){const s=await n(e,t,i);if(null!==s)return s}return null}registerCodeEditorOpenHandler(e){const t=this._codeEditorOpenHandlers.unshift(e);return(0,Ae.s)(t)}};rq=sq([oq(0,no.Gy)],rq);var aq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},lq=function(e,t){return function(i,n){t(i,n,e)}};let hq=class extends rq{constructor(e,t){super(t),this._register(this.onCodeEditorAdd((()=>this._checkContextKey()))),this._register(this.onCodeEditorRemove((()=>this._checkContextKey()))),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler((async(e,t,i)=>t?this.doOpenEditor(t,e):null)))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const i=t.resource.scheme;if(i===Pe.ny.http||i===Pe.ny.https)return si(t.resource.toString()),e}return null}const i=t.options?t.options.selection:null;if(i)if("number"==typeof i.endLineNumber&&"number"==typeof i.endColumn)e.setSelection(i),e.revealRangeInCenter(i,1);else{const t={lineNumber:i.startLineNumber,column:i.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}return e}findModel(e,t){const i=e.getModel();return i&&i.uri.toString()!==t.toString()?null:i}};hq=aq([lq(0,hs.fN),lq(1,no.Gy)],hq),(0,ul.v)(Gn,hq,0);const dq=(0,qn.u1)("layoutService");var cq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},uq=function(e,t){return function(i,n){t(i,n,e)}};let gq=class{get mainContainer(){return(0,na.Fy)(this._codeEditorService.listCodeEditors())?.getContainerDomNode()??o.document.body}get activeContainer(){const e=this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor();return e?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return at(this.mainContainer)}get activeContainerDimension(){return at(this.activeContainer)}get containers(){return(0,na.Yc)(this._codeEditorService.listCodeEditors().map((e=>e.getContainerDomNode())))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=P.Jh.None,this.onDidLayoutActiveContainer=P.Jh.None,this.onDidLayoutContainer=P.Jh.None,this.onDidChangeActiveContainer=P.Jh.None,this.onDidAddContainer=P.Jh.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};gq=cq([uq(0,Gn)],gq);let pq=class extends gq{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};pq=cq([uq(1,Gn)],pq),(0,ul.v)(dq,gq,1);var mq=i(38803),fq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},_q=function(e,t){return function(i,n){t(i,n,e)}};const vq=!1;function bq(e){return e.scheme===Pe.ny.file?e.fsPath:e.path}let Cq=0;class wq{constructor(e,t,i,n,s,o,r){this.id=++Cq,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=i,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=n,this.groupOrder=s,this.sourceId=o,this.sourceOrder=r,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class yq{constructor(e,t){this.resourceLabel=e,this.reason=t}}class Sq{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,n]of this.elements){(0===n.reason?e:t).push(n.resourceLabel)}const i=[];return e.length>0&&i.push($n.kg({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&i.push($n.kg({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",t.join(", "))),i.join("\n")}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class kq{constructor(e,t,i,n,s,o,r){this.id=++Cq,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=n,this.groupOrder=s,this.sourceId=o,this.sourceOrder=r,this.removedResources=null,this.invalidatedResources=null}canSplit(){return"function"==typeof this.actual.split}removeResource(e,t,i){this.removedResources||(this.removedResources=new Sq),this.removedResources.has(t)||this.removedResources.set(t,new yq(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),0===this.invalidatedResources.size&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new Sq),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new yq(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class Lq{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){1===e.type?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,n=this._past.length;i=0;i--)t.push(this._future[i].id);return new mq.To(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,n=0,s=-1;for(let r=0,a=this._past.length;r=t||o.id!==e.elements[n])&&(i=!1,s=0),i||1!==o.type||o.removeResource(this.resourceLabel,this.strResource,0)}let o=-1;for(let r=this._future.length-1;r>=0;r--,n++){const s=this._future[r];i&&(n>=t||s.id!==e.elements[n])&&(i=!1,o=r),i||1!==s.type||s.removeResource(this.resourceLabel,this.strResource,0)}-1!==s&&(this._past=this._past.slice(0,s)),-1!==o&&(this._future=this._future.slice(o+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return 0===this._past.length?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return 0===this._future.length?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class xq{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;tt.sourceOrder)&&(t=o,i=n))}return[t,i]}canUndo(e){if(e instanceof mq.Ym){const[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}const t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){return this._editStacks.get(t).hasPastElements()}return!1}_onError(e,t){(0,b.dz)(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,n,s){const o=this._acquireLocks(i);let r;try{r=t()}catch(a){return o(),n.dispose(),this._onError(a,e)}return r?r.then((()=>(o(),n.dispose(),s())),(t=>(o(),n.dispose(),this._onError(t,e)))):(o(),n.dispose(),s())}async _invokeWorkspacePrepare(e){if(void 0===e.actual.prepareUndoRedo)return Ae.jG.None;const t=e.actual.prepareUndoRedo();return void 0===t?Ae.jG.None:t}_invokeResourcePrepare(e,t){if(1!==e.actual.type||void 0===e.actual.prepareUndoRedo)return t(Ae.jG.None);const i=e.actual.prepareUndoRedo();return i?(0,Ae.Xm)(i)?t(i):i.then((e=>t(e))):t(Ae.jG.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||Dq);return new xq(t)}_tryToSplitAndUndo(e,t,i,n){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(n),new Iq(this._undo(e,0,!0));for(const s of t.strResources)this.removeElements(s);return this._notificationService.warn(n),new Iq}_checkWorkspaceUndo(e,t,i,n){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,$n.kg({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(n&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,$n.kg({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const s=[];for(const r of i.editStacks)r.getClosestPastElement()!==t&&s.push(r.resourceLabel);if(s.length>0)return this._tryToSplitAndUndo(e,t,null,$n.kg({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",t.label,s.join(", ")));const o=[];for(const r of i.editStacks)r.locked&&o.push(r.resourceLabel);return o.length>0?this._tryToSplitAndUndo(e,t,null,$n.kg({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,o.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,$n.kg({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,i){const n=this._getAffectedEditStacks(t),s=this._checkWorkspaceUndo(e,t,n,!1);return s?s.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,n,i)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const i=t.getClosestPastElement();if(i){if(i===e){const i=t.getSecondClosestPastElement();if(i&&i.groupId===e.groupId)return!0}if(i.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,i,n){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let s;!function(e){e[e.All=0]="All",e[e.This=1]="This",e[e.Cancel=2]="Cancel"}(s||(s={}));const{result:o}=await this._dialogService.prompt({type:wd.A.Info,message:$n.kg("confirmWorkspace","Would you like to undo '{0}' across all files?",t.label),buttons:[{label:$n.kg({key:"ok",comment:["{0} denotes a number that is > 1, && denotes a mnemonic"]},"&&Undo in {0} Files",i.editStacks.length),run:()=>s.All},{label:$n.kg({key:"nok",comment:["&& denotes a mnemonic"]},"Undo this &&File"),run:()=>s.This}],cancelButton:{run:()=>s.Cancel}});if(o===s.Cancel)return;if(o===s.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const r=this._checkWorkspaceUndo(e,t,i,!1);if(r)return r.returnValue;n=!0}let s;try{s=await this._invokeWorkspacePrepare(t)}catch(r){return this._onError(r,t)}const o=this._checkWorkspaceUndo(e,t,i,!0);if(o)return s.dispose(),o.returnValue;for(const a of i.editStacks)a.moveBackward(t);return this._safeInvokeWithLocks(t,(()=>t.actual.undo()),i,s,(()=>this._continueUndoInGroup(t.groupId,n)))}_resourceUndo(e,t,i){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,(n=>(e.moveBackward(t),this._safeInvokeWithLocks(t,(()=>t.actual.undo()),new xq([e]),n,(()=>this._continueUndoInGroup(t.groupId,i))))));{const e=$n.kg({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(e)}}else e.flushAllElements()}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[n,s]of this._editStacks){const o=s.getClosestPastElement();o&&(o.groupId===e&&(!t||o.groupOrder>t.groupOrder)&&(t=o,i=n))}return[t,i]}_continueUndoInGroup(e,t){if(!e)return;const[,i]=this._findClosestUndoElementInGroup(e);return i?this._undo(i,0,t):void 0}undo(e){if(e instanceof mq.Ym){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return"string"==typeof e?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,i){if(!this._editStacks.has(e))return;const n=this._editStacks.get(e),s=n.getClosestPastElement();if(!s)return;if(s.groupId){const[e,n]=this._findClosestUndoElementInGroup(s.groupId);if(s!==e&&n)return this._undo(n,t,i)}if((s.sourceId!==t||s.confirmBeforeUndo)&&!i)return this._confirmAndContinueUndo(e,t,s);try{return 1===s.type?this._workspaceUndo(e,s,i):this._resourceUndo(n,s,i)}finally{vq}}async _confirmAndContinueUndo(e,t,i){if((await this._dialogService.confirm({message:$n.kg("confirmDifferentSource","Would you like to undo '{0}'?",i.label),primaryButton:$n.kg({key:"confirmDifferentSource.yes",comment:["&& denotes a mnemonic"]},"&&Yes"),cancelButton:$n.kg("confirmDifferentSource.no","No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[n,s]of this._editStacks){const o=s.getClosestFutureElement();o&&(o.sourceId===e&&(!t||o.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,$n.kg({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",t.label,s.join(", ")));const o=[];for(const r of i.editStacks)r.locked&&o.push(r.resourceLabel);return o.length>0?this._tryToSplitAndRedo(e,t,null,$n.kg({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,o.join(", "))):i.isValid()?null:this._tryToSplitAndRedo(e,t,null,$n.kg({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const i=this._getAffectedEditStacks(t),n=this._checkWorkspaceRedo(e,t,i,!1);return n?n.returnValue:this._executeWorkspaceRedo(e,t,i)}async _executeWorkspaceRedo(e,t,i){let n;try{n=await this._invokeWorkspacePrepare(t)}catch(o){return this._onError(o,t)}const s=this._checkWorkspaceRedo(e,t,i,!0);if(s)return n.dispose(),s.returnValue;for(const r of i.editStacks)r.moveForward(t);return this._safeInvokeWithLocks(t,(()=>t.actual.redo()),i,n,(()=>this._continueRedoInGroup(t.groupId)))}_resourceRedo(e,t){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,(i=>(e.moveForward(t),this._safeInvokeWithLocks(t,(()=>t.actual.redo()),new xq([e]),i,(()=>this._continueRedoInGroup(t.groupId))))));{const e=$n.kg({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(e)}}else e.flushAllElements()}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[n,s]of this._editStacks){const o=s.getClosestFutureElement();o&&(o.groupId===e&&(!t||o.groupOrder=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Mq=function(e,t){return function(i,n){t(i,n,e)}};const Tq=ei;let Rq=class extends Ou{get _targetWindow(){return We(this._target.targetElements[0])}get _targetDocumentElement(){return We(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return 2===this._hoverPosition?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,i,n,s,o){super(),this._keybindingService=t,this._configurationService=i,this._openerService=n,this._instantiationService=s,this._accessibilityService=o,this._messageListeners=new Ae.Cm,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new P.vl),this._onRequestLayout=this._register(new P.vl),this._linkHandler=e.linkHandler||(t=>Wh(this._openerService,t,Un(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new Pq(e.target),this._hoverPointer=e.appearance?.showPointer?Tq("div.workbench-hover-pointer"):void 0,this._hover=this._register(new BS),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),e.appearance?.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),e.appearance?.skipFadeInAnimation&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),e.position?.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=e.position?.hoverPosition??3,this.onmousedown(this._hover.containerDomNode,(e=>e.stopPropagation())),this.onkeydown(this._hover.containerDomNode,(e=>{e.equals(9)&&this.dispose()})),this._register(Ye(this._targetWindow,"blur",(()=>this.dispose())));const r=Tq("div.hover-row.markdown-hover"),a=Tq("div.hover-contents");if("string"==typeof e.content)a.textContent=e.content,a.style.whiteSpace="pre-wrap";else if(Bt(e.content))a.appendChild(e.content),a.classList.add("html-hover-contents");else{const t=e.content,i=this._instantiationService.createInstance(Fh,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||Ec.fontFamily}),{element:n}=i.render(t,{actionHandler:{callback:e=>this._linkHandler(e),disposables:this._messageListeners},asyncRenderCallback:()=>{a.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});a.appendChild(n)}if(r.appendChild(a),this._hover.contentsDomNode.appendChild(r),e.actions&&e.actions.length>0){const t=Tq("div.hover-row.status-bar"),i=Tq("div.actions");e.actions.forEach((e=>{const t=this._keybindingService.lookupKeybinding(e.commandId),n=t?t.getLabel():null;HS.render(i,{label:e.label,commandId:e.commandId,run:t=>{e.run(t),this.dispose()},iconClass:e.iconClass},n)})),t.appendChild(i),this._hover.containerDomNode.appendChild(t)}let l;if(this._hoverContainer=Tq("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode),l=!(e.actions&&e.actions.length>0)&&(void 0===e.persistence?.hideOnHover?"string"==typeof e.content||Un(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):e.persistence.hideOnHover),e.appearance?.showHoverHint){const e=Tq("div.hover-row.status-bar"),t=Tq("div.info");t.textContent=(0,$n.kg)("hoverhint","Hold {0} key to mouse over",f.zx?"Option":"Alt"),e.appendChild(t),this._hover.containerDomNode.appendChild(e)}const h=[...this._target.targetElements];l||h.push(this._hoverContainer);const d=this._register(new Aq(h));if(this._register(d.onMouseOut((()=>{this._isLocked||this.dispose()}))),l){const e=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new Aq(e)),this._register(this._lockMouseTracker.onMouseOut((()=>{this._isLocked||this.dispose()})))}else this._lockMouseTracker=d}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const i=Qt(this._hoverContainer,Tq("div")),n=Gt(this._hoverContainer,Tq("div"));i.tabIndex=0,n.tabIndex=0,this._register(Ye(n,"focus",(t=>{e.focus(),t.preventDefault()}))),this._register(Ye(i,"focus",(e=>{t.focus(),e.preventDefault()})))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return e}const n=this.findLastFocusableChild(i);if(n)return n}}render(e){e.appendChild(this._hoverContainer);const t=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&VS(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel());t&&yi(t),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=this._target.targetElements.map((e=>(e=>{const t=ut(e),i=e.getBoundingClientRect();return{top:i.top*t,bottom:i.bottom*t,right:i.right*t,left:i.left*t}})(e))),{top:t,right:i,bottom:n,left:s}=e[0],o=i-s,r=n-t,a={top:t,right:i,bottom:n,left:s,width:o,height:r,center:{x:s+o/2,y:t+r/2}};if(this.adjustHorizontalHoverPosition(a),this.adjustVerticalHoverPosition(a),this.adjustHoverMaxHeight(a),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:a.left+=3,a.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:a.left-=3,a.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:a.top+=3,a.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:a.top-=3,a.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px"}a.center.x=a.left+o/2,a.center.y=a.top+r/2}this.computeXCordinate(a),this.computeYCordinate(a),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(a)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;void 0!==this._target.x?this._x=this._target.x:1===this._hoverPosition?this._x=e.right:0===this._hoverPosition?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(void 0!==this._target.x)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const i=t+2;1===this._hoverPosition?this._hover.containerDomNode.style.maxWidth=this._targetDocumentElement.clientWidth-e.right-i+"px":0===this._hoverPosition&&(this._hover.containerDomNode.style.maxWidth=e.left-i+"px")}else if(1===this._hoverPosition){if(this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2}}else if(0===this._hoverPosition){if(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2}e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1)}}adjustVerticalHoverPosition(e){if(void 0!==this._target.y||this._forcePosition)return;const t=this._hoverPointer?3:0;3===this._hoverPosition?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):2===this._hoverPosition&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const i=2+(this._hoverPointer?3:0);3===this._hoverPosition?t=Math.min(t,e.top-i):2===this._hoverPosition&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-i))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top=e.center.y-(this._y-t)-3+"px":this._hoverPointer.style.top=Math.round(t/2)-3+"px";break}case 3:case 2:{this._hoverPointer.classList.add(3===this._hoverPosition?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let i=Math.round(t/2)-3;const n=this._x+i;(ne.right)&&(i=e.center.x-this._x-3),this._hoverPointer.style.left=`${i}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};Rq=Eq([Mq(1,Cd),Mq(2,Wp.pG),Mq(3,Rh),Mq(4,qn._Y),Mq(5,$r)],Rq);class Aq extends Ou{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new P.vl),this._elements.forEach((e=>this.onmouseover(e,(()=>this._onTargetMouseOver(e))))),this._elements.forEach((e=>this.onmouseleave(e,(()=>this._onTargetMouseLeave(e)))))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=We(e).setTimeout((()=>this._fireIfMouseOutside()),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(We(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class Pq{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}}var Oq;function Fq(e,t,i){const n=i.mode===Oq.ALIGN?i.offset:i.offset+i.size,s=i.mode===Oq.ALIGN?i.offset+i.size:i.offset;return 0===i.position?t<=e-n?n:t<=s?s-t:Math.max(e-t,0):t<=s?s-t:t<=e-n?n:0}!function(e){e[e.AVOID=0]="AVOID",e[e.ALIGN=1]="ALIGN"}(Oq||(Oq={}));class Wq extends Ae.jG{static{this.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"]}static{this.BUBBLE_DOWN_EVENTS=["click"]}constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=Ae.jG.None,this.toDisposeOnSetContainer=Ae.jG.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=ei(".context-view"),ii(this.view),this.setContainer(e,t),this._register((0,Ae.s)((()=>this.setContainer(null,1))))}setContainer(e,t){this.useFixedPosition=1!==t;const i=this.useShadowDOM;if(this.useShadowDOM=3===t,(e!==this.container||i!==this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.view.remove(),this.shadowRoot&&(this.shadowRoot=null,this.shadowRootHostElement?.remove(),this.shadowRootHostElement=null),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=ei(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const e=document.createElement("style");e.textContent=Bq,this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(ei("slot"))}else this.container.appendChild(this.view);const t=new Ae.Cm;Wq.BUBBLE_UP_EVENTS.forEach((e=>{t.add(Xe(this.container,e,(e=>{this.onDOMEvent(e,!1)})))})),Wq.BUBBLE_DOWN_EVENTS.forEach((e=>{t.add(Xe(this.container,e,(e=>{this.onDOMEvent(e,!0)}),!0))})),this.toDisposeOnSetContainer=t}}show(e){this.isVisible()&&this.hide(),Ge(this.view),this.view.className="context-view monaco-component",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex=`${2575+(e.layer??0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",ti(this.view),this.toDisposeOnClean=e.render(this.view)||Ae.jG.None,this.delegate=e,this.doLayout(),this.delegate.focus?.()}getViewElement(){return this.view}layout(){this.isVisible()&&(!1!==this.delegate.canRelayout||f.un&&_?(this.delegate?.layout?.(),this.doLayout()):this.hide())}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(Bt(e)){const i=ct(e),n=ut(e);t={top:i.top*n,left:i.left*n,width:i.width*n,height:i.height*n}}else t=function(e){const t=e;return!!t&&"number"==typeof t.x&&"number"==typeof t.y}(e)?{top:e.y,left:e.x,width:e.width||1,height:e.height||2}:{top:e.posy,left:e.posx,width:2,height:2};const i=gt(this.view),n=ft(this.view),s=this.delegate.anchorPosition||0,o=this.delegate.anchorAlignment||0,r=this.delegate.anchorAxisAlignment||0;let a,l;const h=xt();if(0===r){const e={offset:t.top-h.pageYOffset,size:t.height,position:0===s?0:1},r={offset:t.left,size:t.width,position:0===o?0:1,mode:Oq.ALIGN};a=Fq(h.innerHeight,n,e)+h.pageYOffset,tg.intersects({start:a,end:a+n},{start:e.offset,end:e.offset+e.size})&&(r.mode=Oq.AVOID),l=Fq(h.innerWidth,i,r)}else{const e={offset:t.left,size:t.width,position:0===o?0:1},r={offset:t.top,size:t.height,position:0===s?0:1,mode:Oq.ALIGN};l=Fq(h.innerWidth,i,e),tg.intersects({start:l,end:l+i},{start:e.offset,end:e.offset+e.size})&&(r.mode=Oq.AVOID),a=Fq(h.innerHeight,n,r)+h.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(0===s?"bottom":"top"),this.view.classList.add(0===o?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const d=ct(this.container);this.view.style.top=a-(this.useFixedPosition?ct(this.view).top:d.top)+"px",this.view.style.left=l-(this.useFixedPosition?ct(this.view).left:d.left)+"px",this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,t?.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),ii(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,We(e).document.activeElement):t&&!_t(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}const Bq='\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';var Hq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Vq=function(e,t){return function(i,n){t(i,n,e)}};let zq=class extends Ae.jG{constructor(e){super(),this.layoutService=e,this.contextView=this._register(new Wq(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer((()=>this.layout())))}showContextView(e,t,i){let n;n=t?t===this.layoutService.getContainer(We(t))?1:i?3:2:1,this.contextView.setContainer(t??this.layoutService.activeContainer,n),this.contextView.show(e);const s={close:()=>{this.openContextView===s&&this.hideContextView()}};return this.openContextView=s,s}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e),this.openContextView=void 0}};zq=Hq([Vq(0,dq)],zq);class Uq extends zq{getContextViewElement(){return this.contextView.getViewElement()}}class Kq{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let n;if(void 0===e||(0,rs.Kg)(e)||Bt(e))n=e;else if((0,rs.Tn)(e.markdown)){this._hoverWidget||this.show((0,$n.kg)("iconLabel.loading","Loading..."),t,i),this._cancellationTokenSource=new sa.Qi;const s=this._cancellationTokenSource.token;if(n=await e.markdown(s),void 0===n&&(n=e.markdownNotSupportedFallback),this.isDisposed||s.isCancellationRequested)return}else n=e.markdown??e.markdownNotSupportedFallback;this.show(n,t,i)}show(e,t,i){const n=this._hoverWidget;if(this.hasContent(e)){const s={content:e,target:this.target,actions:i?.actions,linkHandler:i?.linkHandler,trapFocus:i?.trapFocus,appearance:{showPointer:"element"===this.hoverDelegate.placement,skipFadeInAnimation:!this.fadeInAnimation||!!n,showHoverHint:i?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(s,t)}n?.dispose()}hasContent(e){return!!e&&(!Un(e)||!!e.value)}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}var jq=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},$q=function(e,t){return function(i,n){t(i,n,e)}};let qq=class extends Ae.jG{constructor(e,t,i,n,s){super(),this._instantiationService=e,this._keybindingService=i,this._layoutService=n,this._accessibilityService=s,this._managedHovers=new Map,t.onDidShowContextMenu((()=>this.hideHover())),this._contextViewHandler=this._register(new zq(this._layoutService))}showHover(e,t,i){if(Gq(this._currentHoverOptions)===Gq(e))return;if(this._currentHover&&this._currentHoverOptions?.persistence?.sticky)return;this._currentHoverOptions=e,this._lastHoverOptions=e;const n=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),s=yt();i||(n&&s?s.classList.contains("monaco-hover")||(this._lastFocusedElementBeforeOpen=s):this._lastFocusedElementBeforeOpen=void 0);const r=new Ae.Cm,a=this._instantiationService.createInstance(Rq,e);if(e.persistence?.sticky&&(a.isLocked=!0),a.onDispose((()=>{this._currentHover?.domNode&&kt(this._currentHover.domNode)&&this._lastFocusedElementBeforeOpen?.focus(),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),r.dispose()}),void 0,r),!e.container){const t=Bt(e.target)?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(We(t))}if(this._contextViewHandler.showContextView(new Qq(a,t),e.container),a.onRequestLayout((()=>this._contextViewHandler.layout()),void 0,r),e.persistence?.sticky)r.add(Ye(We(e.container).document,Ut.MOUSE_DOWN,(e=>{_t(e.target,a.domNode)||this.doHideHover()})));else{if("targetElements"in e.target)for(const i of e.target.targetElements)r.add(Ye(i,Ut.CLICK,(()=>this.hideHover())));else r.add(Ye(e.target,Ut.CLICK,(()=>this.hideHover())));const t=yt();if(t){const i=We(t).document;r.add(Ye(t,Ut.KEY_DOWN,(t=>this._keyDown(t,a,!!e.persistence?.hideOnKeyDown)))),r.add(Ye(i,Ut.KEY_DOWN,(t=>this._keyDown(t,a,!!e.persistence?.hideOnKeyDown)))),r.add(Ye(t,Ut.KEY_UP,(e=>this._keyUp(e,a)))),r.add(Ye(i,Ut.KEY_UP,(e=>this._keyUp(e,a))))}}if("IntersectionObserver"in o){const t=new IntersectionObserver((e=>this._intersectionChange(e,a)),{threshold:0}),i="targetElements"in e.target?e.target.targetElements[0]:e.target;t.observe(i),r.add((0,Ae.s)((()=>t.disconnect())))}return this._currentHover=a,a}hideHover(){!this._currentHover?.isLocked&&this._currentHoverOptions&&this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showHover(this._lastHoverOptions,!0,!0)}_keyDown(e,t,i){if("Alt"===e.key)return void(t.isLocked=!0);const n=new N(e);this._keybindingService.resolveKeyboardEvent(n).getSingleModifierDispatchChords().some((e=>!!e))||0!==this._keybindingService.softDispatch(n,n.target).kind||!i||this._currentHoverOptions?.trapFocus&&"Tab"===e.key||(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus())}_keyUp(e,t){"Alt"===e.key&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),this._lastFocusedElementBeforeOpen?.focus()))}setupManagedHover(e,t,i,n){let s,o;t.setAttribute("custom-hover","true"),""!==t.title&&(console.warn("HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute."),console.trace("Stack trace:",t.title),t.title="");const r=(t,i)=>{const n=void 0!==o;t&&(o?.dispose(),o=void 0),i&&(s?.dispose(),s=void 0),n&&(e.onDidHideHover?.(),o=void 0)},a=(s,r,a,l)=>new A.pc((async()=>{o&&!o.isDisposed||(o=new Kq(e,a||t,s>0),await o.update("function"==typeof i?i():i,r,{...n,trapFocus:l}))}),s);let l=!1;const h=Ye(t,Ut.MOUSE_DOWN,(()=>{l=!0,r(!0,!0)}),!0),d=Ye(t,Ut.MOUSE_UP,(()=>{l=!1}),!0),c=Ye(t,Ut.MOUSE_LEAVE,(e=>{l=!1,r(!1,e.fromElement===t)}),!0),u=Ye(t,Ut.MOUSE_OVER,(i=>{if(s)return;const n=new Ae.Cm,o={targetElements:[t],dispose:()=>{}};if(void 0===e.placement||"mouse"===e.placement){const e=e=>{o.x=e.x+10,Bt(e.target)&&Yq(e.target,t)!==t&&r(!0,!0)};n.add(Ye(t,Ut.MOUSE_MOVE,e,!0))}s=n,Bt(i.target)&&Yq(i.target,t)!==t||n.add(a(e.delay,!1,o))}),!0),g=()=>{if(l||s)return;const i={targetElements:[t],dispose:()=>{}},n=new Ae.Cm;n.add(Ye(t,Ut.BLUR,(()=>r(!0,!0)),!0)),n.add(a(e.delay,!1,i)),s=n};let p;const m=t.tagName.toLowerCase();"input"!==m&&"textarea"!==m&&(p=Ye(t,Ut.FOCUS,g,!0));const f={show:e=>{r(!1,!0),a(0,e,void 0,e)},hide:()=>{r(!0,!0)},update:async(e,t)=>{i=e,await(o?.update(i,void 0,t))},dispose:()=>{this._managedHovers.delete(t),u.dispose(),c.dispose(),h.dispose(),d.dispose(),p?.dispose(),r(!0,!0)}};return this._managedHovers.set(t,f),f}showManagedHover(e){const t=this._managedHovers.get(e);t&&t.show(!0)}dispose(){this._managedHovers.forEach((e=>e.dispose())),super.dispose()}};function Gq(e){if(void 0!==e)return e?.id??e}qq=jq([$q(0,qn._Y),$q(1,bd),$q(2,Cd),$q(3,dq),$q(4,$r)],qq);class Qq{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function Yq(e,t){for(t=t??We(e).document.body;!e.hasAttribute("custom-hover")&&e!==t;)e=e.parentElement;return e}function Zq(e){return Object.isFrozen(e)?e:ql.ol(e)}(0,ul.v)(sk,qq,1),(0,no.zy)(((e,t)=>{const i=e.getColor(io.oZ8);i&&(t.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${i.transparent(.5)}; }`))}));class Xq{static createEmptyModel(e){return new Xq({},[],[],void 0,e)}constructor(e,t,i,n,s){this._contents=e,this._keys=t,this._overrides=i,this.raw=n,this.logService=s,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration)if(this.raw?.length){const e=this.raw.map((e=>{if(e instanceof Xq)return e;const t=new Jq("",this.logService);return t.parseRaw(e),t.configurationModel}));this._rawConfiguration=e.reduce(((e,t)=>t===e?t:e.merge(t)),e[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length}getValue(e){return e?(0,Wp.gD)(this.contents,e):this.contents}inspect(e,t){const i=this;return{get value(){return Zq(i.rawConfiguration.getValue(e))},get override(){return t?Zq(i.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return Zq(t?i.rawConfiguration.override(t).getValue(e):i.rawConfiguration.getValue(e))},get overrides(){const t=[];for(const{contents:n,identifiers:s,keys:o}of i.rawConfiguration.overrides){const r=new Xq(n,o,[],void 0,i.logService).getValue(e);void 0!==r&&t.push({identifiers:s,value:r})}return t.length?Zq(t):void 0}}}getOverrideValue(e,t){const i=this.getContentsForOverrideIdentifer(t);return i?e?(0,Wp.gD)(i,e):i:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){const t=ql.Go(this.contents),i=ql.Go(this.overrides),n=[...this.keys],s=this.raw?.length?[...this.raw]:[this];for(const o of e)if(s.push(...o.raw?.length?o.raw:[o]),!o.isEmpty()){this.mergeContents(t,o.contents);for(const e of o.overrides){const[t]=i.filter((t=>na.aI(t.identifiers,e.identifiers)));t?(this.mergeContents(t.contents,e.contents),t.keys.push(...e.keys),t.keys=na.dM(t.keys)):i.push(ql.Go(e))}for(const e of o.keys)-1===n.indexOf(e)&&n.push(e)}return new Xq(t,n,i,s.every((e=>e instanceof Xq))?void 0:s,this.logService)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||"object"!=typeof t||!Object.keys(t).length)return this;const i={};for(const n of na.dM([...Object.keys(this.contents),...Object.keys(t)])){let e=this.contents[n];const s=t[n];s&&("object"==typeof e&&"object"==typeof s?(e=ql.Go(e),this.mergeContents(e,s)):e=s),i[n]=e}return new Xq(i,this.keys,this.overrides,void 0,this.logService)}mergeContents(e,t){for(const i of Object.keys(t))i in e&&rs.Gv(e[i])&&rs.Gv(t[i])?this.mergeContents(e[i],t[i]):e[i]=ql.Go(t[i])}getContentsForOverrideIdentifer(e){let t=null,i=null;const n=e=>{e&&(i?this.mergeContents(i,e):i=ql.Go(e))};for(const s of this.overrides)1===s.identifiers.length&&s.identifiers[0]===e?t=s.contents:s.identifiers.includes(e)&&n(s.contents);return n(t),i}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);-1!==t&&(this.keys.splice(t,1),(0,Wp.iB)(this.contents,e),Ac.rC.test(e)&&this.overrides.splice(this.overrides.findIndex((t=>na.aI(t.identifiers,(0,Ac.Gv)(e)))),1))}updateValue(e,t,i){if((0,Wp.kW)(this.contents,e,t,(e=>this.logService.error(e))),(i=i||-1===this.keys.indexOf(e))&&this.keys.push(e),Ac.rC.test(e)){const t=(0,Ac.Gv)(e),i={identifiers:t,keys:Object.keys(this.contents[e]),contents:(0,Wp.ad)(this.contents[e],(e=>this.logService.error(e)))},n=this.overrides.findIndex((e=>na.aI(e.identifiers,t)));-1!==n?this.overrides[n]=i:this.overrides.push(i)}}}class Jq{constructor(e,t){this._name=e,this.logService=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||Xq.createEmptyModel(this.logService)}parseRaw(e,t){this._raw=e;const{contents:i,keys:n,overrides:s,restricted:o,hasExcludedProperties:r}=this.doParseRaw(e,t);this._configurationModel=new Xq(i,n,s,r?[e]:void 0,this.logService),this._restrictedConfigurations=o||[]}doParseRaw(e,t){const i=ds.O.as(Ac.Fd.Configuration).getConfigurationProperties(),n=this.filter(e,i,!0,t);e=n.raw;return{contents:(0,Wp.ad)(e,(e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`))),keys:Object.keys(e),overrides:this.toOverrides(e,(e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`))),restricted:n.restricted,hasExcludedProperties:n.hasExcludedProperties}}filter(e,t,i,n){let s=!1;if(!n?.scopes&&!n?.skipRestricted&&!n?.exclude?.length)return{raw:e,restricted:[],hasExcludedProperties:s};const o={},r=[];for(const a in e)if(Ac.rC.test(a)&&i){const i=this.filter(e[a],t,!1,n);o[a]=i.raw,s=s||i.hasExcludedProperties,r.push(...i.restricted)}else{const i=t[a],l=i?void 0!==i.scope?i.scope:3:void 0;i?.restricted&&r.push(a),n.exclude?.includes(a)||!n.include?.includes(a)&&(void 0!==l&&void 0!==n.scopes&&!n.scopes.includes(l)||n.skipRestricted&&i?.restricted)?s=!0:o[a]=e[a]}return{raw:o,restricted:r,hasExcludedProperties:s}}toOverrides(e,t){const i=[];for(const n of Object.keys(e))if(Ac.rC.test(n)){const s={};for(const t in e[n])s[t]=e[n][t];i.push({identifiers:(0,Ac.Gv)(n),keys:Object.keys(s),contents:(0,Wp.ad)(s,t)})}return i}}class eG{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u){this.key=e,this.overrides=t,this._value=i,this.overrideIdentifiers=n,this.defaultConfiguration=s,this.policyConfiguration=o,this.applicationConfiguration=r,this.userConfiguration=a,this.localUserConfiguration=l,this.remoteUserConfiguration=h,this.workspaceConfiguration=d,this.folderConfigurationModel=c,this.memoryConfigurationModel=u}toInspectValue(e){return void 0!==e?.value||void 0!==e?.override||void 0!==e?.overrides?e:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class tG{constructor(e,t,i,n,s,o,r,a,l,h){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=i,this._localUserConfiguration=n,this._remoteUserConfiguration=s,this._workspaceConfiguration=o,this._folderConfigurations=r,this._memoryConfiguration=a,this._memoryConfigurationByResource=l,this.logService=h,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new ki.fT,this._userConfiguration=null}getValue(e,t,i){return this.getConsolidatedConfigurationModel(e,t,i).getValue(e)}updateValue(e,t,i={}){let n;i.resource?(n=this._memoryConfigurationByResource.get(i.resource),n||(n=Xq.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(i.resource,n))):n=this._memoryConfiguration,void 0===t?n.removeValue(e):n.setValue(e,t),i.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,i){const n=this.getConsolidatedConfigurationModel(e,t,i),s=this.getFolderConfigurationModelForResource(t.resource,i),o=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration,r=new Set;for(const a of n.overrides)for(const t of a.identifiers)void 0!==n.getOverrideValue(e,t)&&r.add(t);return new eG(e,t,n.getValue(e),r.size?[...r]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,i?this._workspaceConfiguration:void 0,s||void 0,o)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,i){let n=this.getConsolidatedConfigurationModelForResource(t,i);return t.overrideIdentifier&&(n=n.override(t.overrideIdentifier)),this._policyConfiguration.isEmpty()||void 0===this._policyConfiguration.getValue(e)||(n=n.merge(this._policyConfiguration)),n}getConsolidatedConfigurationModelForResource({resource:e},t){let i=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const n=t.getFolder(e);n&&(i=this.getFolderConsolidatedConfiguration(n.uri)||i);const s=this._memoryConfigurationByResource.get(e);s&&(i=i.merge(s))}return i}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const i=this.getWorkspaceConsolidatedConfiguration(),n=this._folderConfigurations.get(e);n?(t=i.merge(n),this._foldersConsolidatedConfigurations.set(e,t)):t=i}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const i=t.getFolder(e);if(i)return this._folderConfigurations.get(i.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce(((e,t)=>{const{contents:i,overrides:n,keys:s}=this._folderConfigurations.get(t);return e.push([t,{contents:i,overrides:n,keys:s}]),e}),[])}}static parse(e,t){const i=this.parseConfigurationModel(e.defaults,t),n=this.parseConfigurationModel(e.policy,t),s=this.parseConfigurationModel(e.application,t),o=this.parseConfigurationModel(e.user,t),r=this.parseConfigurationModel(e.workspace,t),a=e.folders.reduce(((e,i)=>(e.set(Hn.r.revive(i[0]),this.parseConfigurationModel(i[1],t)),e)),new ki.fT);return new tG(i,n,s,o,Xq.createEmptyModel(t),r,a,Xq.createEmptyModel(t),new ki.fT,t)}static parseConfigurationModel(e,t){return new Xq(e.contents,e.keys,e.overrides,void 0,t)}}class iG{constructor(e,t,i,n,s){this.change=e,this.previous=t,this.currentConfiguraiton=i,this.currentWorkspace=n,this.logService=s,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=".".charCodeAt(0),this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const o of e.keys)this.affectedKeys.add(o);for(const[,o]of e.overrides)for(const e of o)this.affectedKeys.add(e);this._affectsConfigStr=this._marker;for(const o of this.affectedKeys)this._affectsConfigStr+=o+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=tG.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){const i=this._marker+e,n=this._affectsConfigStr.indexOf(i);if(n<0)return!1;const s=n+i.length;if(s>=this._affectsConfigStr.length)return!1;const o=this._affectsConfigStr.charCodeAt(s);if(o!==this._markerCode1&&o!==this._markerCode2)return!1;if(t){const i=this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,n=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!ql.aI(i,n)}return!0}}const nG={kind:0},sG={kind:1};class oG{constructor(e,t,i){this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const n of e){const e=n.command;e&&"-"!==e.charAt(0)&&this._defaultBoundCommands.set(e,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=oG.handleRemovals([].concat(e).concat(t));for(let n=0,s=this._keybindings.length;n=0;n--){const e=i[n];if(e.command===t.command)continue;let s=!0;for(let i=1;i=0;n--){const e=i[n];if(t.contextMatchesRules(e.when))return e}return i[i.length-1]}resolve(e,t,i){const n=[...t,i];this._log(`| Resolving ${n}`);const s=this._map.get(n[0]);if(void 0===s)return this._log("\\ No keybinding entries."),nG;let o=null;if(n.length<2)o=s;else{o=[];for(let e=0,t=s.length;et.chords.length)continue;let i=!0;for(let e=1;e=0;i--){const n=t[i];if(oG._contextMatchesRules(e,n.when))return n}return null}static _contextMatchesRules(e,t){return!t||t.evaluate(e)}}function rG(e){return e?`${e.serialize()}`:"no when condition"}function aG(e){return e.extensionId?e.isBuiltinExtension?`built-in extension ${e.extensionId}`:`user extension ${e.extensionId}`:e.isDefault?"built-in":"user"}const lG=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class hG extends Ae.jG{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:P.Jh.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,n,s){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=i,this._notificationService=n,this._logService=s,this._onDidUpdateKeybindings=this._register(new P.vl),this._currentChords=[],this._currentChordChecker=new A.vb,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=dG.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new A.pc,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const i=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(i)return i.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const i=this.resolveKeyboardEvent(e);if(i.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),nG;const[n]=i.getDispatchChords();if(null===n)return this._log("\\ Keyboard event cannot be dispatched"),nG;const s=this._contextKeyService.getContext(t),o=this._currentChords.map((({keypress:e})=>e));return this._getResolver().resolve(s,o,n)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet((()=>{this._documentHasFocus()?Date.now()-e>5e3&&this._leaveChordMode():this._leaveChordMode()}),500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw(0,b.iH)("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status($n.kg("first.chord","({0}) was pressed. Waiting for second key of chord...",t));break;default:{const e=this._currentChords.map((({label:e})=>e)).join(", ");this._currentChordStatusMessage=this._notificationService.status($n.kg("next.chord","({0}) was pressed. Waiting for next key of chord...",e))}}this._scheduleLeaveChordMode(),i_.enabled&&i_.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],i_.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const i=this.resolveKeyboardEvent(e),[n]=i.getSingleModifierDispatchChords();if(n)return this._ignoreSingleModifiers.has(n)?(this._log(`+ Ignoring single modifier ${n} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=dG.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=dG.EMPTY,null===this._currentSingleModifier?(this._log(`+ Storing single modifier for possible chord ${n}.`),this._currentSingleModifier=n,this._currentSingleModifierClearTimeout.cancelAndSet((()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null}),300),!1):n===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${n} ${n}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(i,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${n}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[s]=i.getChords();return this._ignoreSingleModifiers=new dG(s),null!==this._currentSingleModifier&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,i=!1){let n=!1;if(e.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let s=null,o=null;if(i){const[t]=e.getSingleModifierDispatchChords();s=t,o=t?[t]:[]}else[s]=e.getDispatchChords(),o=this._currentChords.map((({keypress:e})=>e));if(null===s)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),n;const r=this._contextKeyService.getContext(t),a=e.getLabel(),l=this._getResolver().resolve(r,o,s);switch(l.kind){case 0:if(this._logService.trace("KeybindingService#dispatch",a,"[ No matching keybinding ]"),this.inChordMode){const e=this._currentChords.map((({label:e})=>e)).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status($n.kg("missing.chord","The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),n=!0}return n;case 1:return this._logService.trace("KeybindingService#dispatch",a,"[ Several keybindings match - more chords needed ]"),n=!0,this._expectAnotherChord(s,a),this._log(1===this._currentChords.length?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),n;case 2:if(this._logService.trace("KeybindingService#dispatch",a,`[ Will dispatch command ${l.commandId} ]`),null===l.commandId||""===l.commandId){if(this.inChordMode){const e=this._currentChords.map((({label:e})=>e)).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status($n.kg("missing.chord","The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),n=!0}}else{this.inChordMode&&this._leaveChordMode(),l.isBubble||(n=!0),this._log(`+ Invoking command ${l.commandId}.`),this._currentlyDispatchingCommandId=l.commandId;try{void 0===l.commandArgs?this._commandService.executeCommand(l.commandId).then(void 0,(e=>this._notificationService.warn(e))):this._commandService.executeCommand(l.commandId,l.commandArgs).then(void 0,(e=>this._notificationService.warn(e)))}finally{this._currentlyDispatchingCommandId=null}lG.test(l.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:l.commandId,from:"keybinding",detail:e.getUserSettingsLabel()??void 0})}return n}}mightProducePrintableCharacter(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)}}class dG{static{this.EMPTY=new dG(null)}constructor(e){this._ctrlKey=!!e&&e.ctrlKey,this._shiftKey=!!e&&e.shiftKey,this._altKey=!!e&&e.altKey,this._metaKey=!!e&&e.metaKey}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}class cG{constructor(e,t,i,n,s,o,r){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?uG(e.getDispatchChords()):[],e&&0===this.chords.length&&(this.chords=uG(e.getSingleModifierDispatchChords())),this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=i,this.when=n,this.isDefault=s,this.extensionId=o,this.isBuiltinExtension=r}}function uG(e){const t=[];for(let i=0,n=e.length;ithis._getLabel(e)))}getAriaLabel(){return np.toLabel(this._os,this._chords,(e=>this._getAriaLabel(e)))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:sp.toLabel(this._os,this._chords,(e=>this._getElectronAccelerator(e)))}getUserSettingsLabel(){return op.toLabel(this._os,this._chords,(e=>this._getUserSettingsLabel(e)))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map((e=>this._getChord(e)))}_getChord(e){return new k(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map((e=>this._getChordDispatch(e)))}getSingleModifierDispatchChords(){return this._chords.map((e=>this._getSingleModifierChordDispatch(e)))}}class pG extends gG{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(2===this._os)switch(e){case 15:return"\u2190";case 16:return"\u2191";case 17:return"\u2192";case 18:return"\u2193"}return v.YM.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":v.YM.toString(e.keyCode)}_getElectronAccelerator(e){return v.YM.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=v.YM.toUserSettingsUS(e.keyCode);return t?t.toLowerCase():t}_getChordDispatch(e){return pG.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=v.YM.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return 5!==e.keyCode||e.shiftKey||e.altKey||e.metaKey?4!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey?6!==e.keyCode||e.ctrlKey||e.shiftKey||e.metaKey?57!==e.keyCode||e.ctrlKey||e.shiftKey||e.altKey?null:"meta":"alt":"shift":"ctrl"}static _scanCodeToKeyCode(e){const t=v.Fo[e];if(-1!==t)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof y)return e;const t=this._scanCodeToKeyCode(e.scanCode);return 0===t?null:new y(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const i=uG(e.chords.map((e=>this._toKeyCodeChord(e))));return i.length>0?[new pG(i,t)]:[]}}var mG=i(83930);const fG=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,_G=/(&)?(&)([^\s&])/g;var vG,bG;!function(e){e[e.Right=0]="Right",e[e.Left=1]="Left"}(vG||(vG={})),function(e){e[e.Above=0]="Above",e[e.Below=1]="Below"}(bG||(bG={}));class CG extends ep{constructor(e,t,i,n){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const s=document.createElement("div");s.classList.add("monaco-menu"),s.setAttribute("role","presentation"),super(s,{orientation:1,actionViewItemProvider:e=>this.doGetActionViewItem(e,i,o),context:i.context,actionRunner:i.actionRunner,ariaLabel:i.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...f.zx||f.j9?[10]:[]],keyDown:!0}}),this.menuStyles=n,this.menuElement=s,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,n),this._register(sd.addTarget(s)),this._register(Ye(s,Ut.KEY_DOWN,(e=>{new N(e).equals(2)&&e.preventDefault()}))),i.enableMnemonics&&this._register(Ye(s,Ut.KEY_DOWN,(e=>{const t=e.key.toLocaleLowerCase();if(this.mnemonics.has(t)){jt(e,!0);const i=this.mnemonics.get(t);if(1===i.length&&(i[0]instanceof yG&&i[0].container&&this.focusItemByElement(i[0].container),i[0].onClick(e)),i.length>1){const e=i.shift();e&&e.container&&(this.focusItemByElement(e.container),i.push(e)),this.mnemonics.set(t,i)}}}))),f.j9&&this._register(Ye(s,Ut.KEY_DOWN,(e=>{const t=new N(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),jt(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),jt(e,!0))}))),this._register(Ye(this.domNode,Ut.MOUSE_OUT,(e=>{_t(e.relatedTarget,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())}))),this._register(Ye(this.actionsList,Ut.MOUSE_OVER,(e=>{let t=e.target;if(t&&_t(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}))),this._register(sd.addTarget(this.actionsList)),this._register(Ye(this.actionsList,id.Tap,(e=>{let t=e.initialTarget;if(t&&_t(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}})));const o={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new eg(s,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const r=this.scrollableElement.getDomNode();r.style.position="",this.styleScrollElement(r,n),this._register(Ye(s,id.Change,(e=>{jt(e,!0);const t=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:t-e.translationY})}))),this._register(Ye(r,Ut.MOUSE_UP,(e=>{e.preventDefault()})));const a=We(e);s.style.maxHeight=`${Math.max(10,a.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter(((e,n)=>{if(i.submenuIds?.has(e.id))return console.warn(`Found submenu cycle: ${e.id}`),!1;if(e instanceof es){if(n===t.length-1||0===n)return!1;if(t[n-1]instanceof es)return!1}return!0})),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter((e=>!(e instanceof SG))).forEach(((e,t,i)=>{e.updatePositionInSet(t+1,i.length)}))}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(Ct(e)?this.styleSheet=Et(e):(CG.globalStyleSheet||(CG.globalStyleSheet=Et()),this.styleSheet=CG.globalStyleSheet)),this.styleSheet.textContent=function(e,t){let i=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${kG(bl.W.menuSelection)}\n${kG(bl.W.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n\tmax-height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(t){i+="\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t";const t=e.scrollbarShadow;t&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${t} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`);const n=e.scrollbarSliderBackground;n&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${n};\n\t\t\t\t}\n\t\t\t`);const s=e.scrollbarSliderHoverBackground;s&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${s};\n\t\t\t\t}\n\t\t\t`);const o=e.scrollbarSliderActiveBackground;o&&(i+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${o};\n\t\t\t\t}\n\t\t\t`)}return i}(t,Ct(e))}styleScrollElement(e,t){const i=t.foregroundColor??"",n=t.backgroundColor??"",s=t.borderColor?`1px solid ${t.borderColor}`:"",o=t.shadowColor?`0 2px 8px ${t.shadowColor}`:"";e.style.outline=s,e.style.borderRadius="5px",e.style.color=i,e.style.backgroundColor=n,e.style.boxShadow=o}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(Ye(this.element,Ut.MOUSE_UP,(e=>{if(jt(e,!0),h){if(new T(We(this.element),e).rightButton)return;this.onClick(e)}else setTimeout((()=>{this.onClick(e)}),0)}))),this._register(Ye(this.element,Ut.CONTEXT_MENU,(e=>{jt(e,!0)}))))}),100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=Gt(this.element,ei("a.action-menu-item")),this._action.id===es.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=Gt(this.item,ei("span.menu-item-check"+En.L.asCSSSelector(bl.W.menuSelection))),this.check.setAttribute("role","none"),this.label=Gt(this.item,ei("span.action-label")),this.options.label&&this.options.keybinding&&(Gt(this.item,ei("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset",`${e}`),this.item.setAttribute("aria-setsize",`${t}`))}updateLabel(){if(this.label&&this.options.label){Ge(this.label);let e=Pn(this.action.label);if(e){const t=function(e){const t=fG,i=t.exec(e);if(!i)return e;const n=!i[1];return e.replace(t,n?"$2$3":"").trim()}(e);this.options.enableMnemonics||(e=t),this.label.setAttribute("aria-label",t.replace(/&&/g,"&"));const i=fG.exec(e);if(i){e=Ri.ih(e),_G.lastIndex=0;let t=_G.exec(e);for(;t&&t[1];)t=_G.exec(e);const n=e=>e.replace(/&&/g,"&");t?this.label.append(Ri.NB(n(e.substr(0,t.index))," "),ei("u",{"aria-hidden":"true"},t[3]),Ri.BO(n(e.substr(t.index+t[0].length))," ")):this.label.innerText=n(e).trim(),this.item?.setAttribute("aria-keyshortcuts",(i[1]?i[1]:i[3]).toLocaleLowerCase())}else this.label.innerText=e.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const e=this.action.checked;this.item.classList.toggle("checked",!!e),void 0!==e?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,i=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,n=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",s=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=t??"",this.item.style.backgroundColor=i??"",this.item.style.outline=n,this.item.style.outlineOffset=s),this.check&&(this.check.style.color=t??"")}}class yG extends wG{constructor(e,t,i,n,s){super(e,e,n,s),this.submenuActions=t,this.parentData=i,this.submenuOptions=n,this.mysubmenu=null,this.submenuDisposables=this._register(new Ae.Cm),this.mouseOver=!1,this.expandDirection=n&&void 0!==n.expandDirection?n.expandDirection:{horizontal:vG.Right,vertical:bG.Below},this.showScheduler=new A.uC((()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))}),250),this.hideScheduler=new A.uC((()=>{this.element&&!_t(yt(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}),750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=Gt(this.item,ei("span.submenu-indicator"+En.L.asCSSSelector(bl.W.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(Ye(this.element,Ut.KEY_UP,(e=>{const t=new N(e);(t.equals(17)||t.equals(3))&&(jt(e,!0),this.createSubmenu(!0))}))),this._register(Ye(this.element,Ut.KEY_DOWN,(e=>{const t=new N(e);yt()===this.item&&(t.equals(17)||t.equals(3))&&jt(e,!0)}))),this._register(Ye(this.element,Ut.MOUSE_OVER,(e=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())}))),this._register(Ye(this.element,Ut.MOUSE_LEAVE,(e=>{this.mouseOver=!1}))),this._register(Ye(this.element,Ut.FOCUS_OUT,(e=>{this.element&&!_t(yt(),this.element)&&this.hideScheduler.schedule()}))),this._register(this.parentData.parent.onScroll((()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}))))}updateEnabled(){}onClick(e){jt(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,i,n){const s={top:0,left:0};return s.left=Fq(e.width,t.width,{position:n.horizontal===vG.Right?0:1,offset:i.left,size:i.width}),s.left>=i.left&&s.left{new N(e).equals(15)&&(jt(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))}))),this.submenuDisposables.add(Ye(this.submenuContainer,Ut.KEY_DOWN,(e=>{new N(e).equals(15)&&jt(e,!0)}))),this.submenuDisposables.add(this.parentData.submenu.onDidCancel((()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)}))),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){this.item&&this.item?.setAttribute("aria-expanded",e)}applyStyle(){super.applyStyle();const e=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=e??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class SG extends Xg{constructor(e,t,i,n){super(e,t,i),this.menuStyles=n}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function kG(e){const t=(0,cu.J)()[e.id];return`.codicon-${e.id}:before { content: '\\${t.toString(16)}'; }`}class LG{constructor(e,t,i,n){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=n,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;let i;this.focusToReturn=yt();const n=Bt(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:n=>{this.lastContainer=n;const s=e.getMenuClassName?e.getMenuClassName():"";s&&(n.className+=" "+s),this.options.blockMouse&&(this.block=n.appendChild(ei(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",this.blockDisposable?.dispose(),this.blockDisposable=Ye(this.block,Ut.MOUSE_DOWN,(e=>e.stopPropagation())));const o=new Ae.Cm,r=e.actionRunner||new Jn;r.onWillRun((t=>this.onActionRun(t,!e.skipTelemetry)),this,o),r.onDidRun(this.onDidActionRun,this,o),i=new CG(n,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:r,getKeyBinding:e.getKeyBinding?e.getKeyBinding:e=>this.keybindingService.lookupKeybinding(e.id)},Cp),i.onDidCancel((()=>this.contextViewService.hideContextView(!0)),null,o),i.onDidBlur((()=>this.contextViewService.hideContextView(!0)),null,o);const a=We(n);return o.add(Ye(a,Ut.BLUR,(()=>this.contextViewService.hideContextView(!0)))),o.add(Ye(a,Ut.MOUSE_DOWN,(e=>{if(e.defaultPrevented)return;const t=new T(a,e);let i=t.target;if(!t.rightButton){for(;i;){if(i===n)return;i=i.parentElement}this.contextViewService.hideContextView(!0)}}))),(0,Ae.qE)(o,i)},focus:()=>{i?.focus(!!e.autoSelectFirstItem)},onHide:t=>{e.onHide?.(!!t),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&(yt()===this.lastContainer||_t(yt(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},n,!!n)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!(0,b.MB)(e.error)&&this.notificationService.error(e.error)}}var xG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},DG=function(e,t){return function(i,n){t(i,n,e)}};let NG=class extends Ae.jG{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new LG(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,n,s,o){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=n,this.menuService=s,this.contextKeyService=o,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new P.vl),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new P.vl)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=IG.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{e.onHide?.(t),this._onDidHideContextMenu.fire()}}),hi.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};var IG,EG;NG=xG([DG(0,xs),DG(1,Sd),DG(2,vd),DG(3,Cd),DG(4,bs),DG(5,hs.fN)],NG),function(e){e.transform=function(e,t,i){if(!((n=e)&&n.menuId instanceof vs))return e;var n;const{menuId:s,menuActionOptions:o,contextKeyService:r}=e;return{...e,getActions:()=>{const n=[];if(s){!function(e,t,i,n){let s,o,r;if(Array.isArray(e))r=e,s=t,o=i;else{const a=t;r=e.getActions(a),s=i,o=n}const a=hi.getInstance();Uy(r,s,a.keyStatus.altKey||(f.uF||f.j9)&&a.keyStatus.shiftKey,o?e=>e===o:e=>"navigation"===e)}(t.getMenuActions(s,r??i,o),n)}return e.getActions?es.join(e.getActions(),n):n}}}}(IG||(IG={})),function(e){e[e.API=0]="API",e[e.USER=1]="USER"}(EG||(EG={}));var MG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},TG=function(e,t){return function(i,n){t(i,n,e)}};let RG=class{constructor(e){this._commandService=e}async open(e,t){if(!(0,Pe.v$)(e,Pe.ny.command))return!1;if(!t?.allowCommands)return!0;if("string"==typeof e&&(e=Hn.r.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path))return!0;let i=[];try{i=Kl(decodeURIComponent(e.query))}catch{try{i=Kl(e.query)}catch{}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};RG=MG([TG(0,as)],RG);let AG=class{constructor(e){this._editorService=e}async open(e,t){"string"==typeof e&&(e=Hn.r.parse(e));const{selection:i,uri:n}=function(e){let t;const i=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(e.fragment);return i&&(t={startLineNumber:parseInt(i[1]),startColumn:i[2]?parseInt(i[2]):1,endLineNumber:i[4]?parseInt(i[4]):void 0,endColumn:i[4]?i[5]?parseInt(i[5]):1:void 0},e=e.with({fragment:""})),{selection:t,uri:e}}(e);return(e=n).scheme===Pe.ny.file&&(e=(0,Bn.Fd)(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t?.fromUserGesture?EG.USER:EG.API,...t?.editorOptions}},this._editorService.getFocusedCodeEditor(),t?.openToSide),!0}};AG=MG([TG(0,Gn)],AG);let PG=class{constructor(e,t){this._openers=new ss.w,this._validators=new ss.w,this._resolvers=new ss.w,this._resolvedUriTargets=new ki.fT((e=>e.with({path:null,fragment:null,query:null}).toString())),this._externalOpeners=new ss.w,this._defaultExternalOpener={openExternal:async e=>((0,Pe.fV)(e,Pe.ny.http,Pe.ny.https)?si(e):o.location.href=e,!0)},this._openers.push({open:async(e,t)=>!(!t?.openExternal&&!(0,Pe.fV)(e,Pe.ny.mailto,Pe.ny.http,Pe.ny.https,Pe.ny.vsls))&&(await this._doOpenExternal(e,t),!0)}),this._openers.push(new RG(t)),this._openers.push(new AG(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){const i="string"==typeof e?Hn.r.parse(e):e,n=this._resolvedUriTargets.get(i)??e;for(const s of this._validators)if(!await s.shouldOpen(n,t))return!1;for(const s of this._openers){if(await s.open(e,t))return!0}return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const n=await i.resolveExternalUri(e,t);if(n)return this._resolvedUriTargets.has(n.resolved)||this._resolvedUriTargets.set(n.resolved,e),n}catch{}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i="string"==typeof e?Hn.r.parse(e):e;let n,s;try{n=(await this.resolveExternalUri(i,t)).resolved}catch{n=i}if(s="string"==typeof e&&i.toString()===n.toString()?e:encodeURI(n.toString(!0)),t?.allowContributedOpeners){const e="string"==typeof t?.allowContributedOpeners?t?.allowContributedOpeners:void 0;for(const t of this._externalOpeners){if(await t.openExternal(s,{sourceUri:i,preferredOpenerId:e},sa.XO.None))return!0}}return this._defaultExternalOpener.openExternal(s,{sourceUri:i},sa.XO.None)}dispose(){this._validators.clear()}};PG=MG([TG(0,Gn),TG(1,as)],PG);var OG=i(90011),FG=i(40931),WG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},BG=function(e,t){return function(i,n){t(i,n,e)}};let HG=class extends Ae.jG{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=ds.O.as(_O),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,i){const[n,s]=this.getOrInstantiateProvider(e,i?.enabledProviderPrefixes),o=this.visibleQuickAccess,r=o?.descriptor;if(o&&s&&r===s)return e===s.prefix||i?.preserveValue||(o.picker.value=e),void this.adjustValueSelection(o.picker,s,i);if(s&&!i?.preserveValue){let t;if(o&&r&&r!==s){const e=o.value.substr(r.prefix.length);e&&(t=`${s.prefix}${e}`)}if(!t){const e=n?.defaultFilterValue;e===fO.LAST?t=this.lastAcceptedPickerValues.get(s):"string"==typeof e&&(t=`${s.prefix}${e}`)}"string"==typeof t&&(e=t)}const a=o?.picker?.valueSelection,l=o?.picker?.value,h=new Ae.Cm,d=h.add(this.quickInputService.createQuickPick({useSeparators:!0}));let c;d.value=e,this.adjustValueSelection(d,s,i),d.placeholder=i?.placeholder??s?.placeholder,d.quickNavigate=i?.quickNavigateConfiguration,d.hideInput=!!d.quickNavigate&&!o,("number"==typeof i?.itemActivation||i?.quickNavigateConfiguration)&&(d.itemActivation=i?.itemActivation??Zh.SECOND),d.contextKey=s?.contextKey,d.filterValue=e=>e.substring(s?s.prefix.length:0),t&&(c=new A.Zv,h.add(P.Jh.once(d.onWillAccept)((e=>{e.veto(),d.hide()})))),h.add(this.registerPickerListeners(d,n,s,e,i));const u=h.add(new sa.Qi);return n&&h.add(n.provide(d,u.token,i?.providerOptions)),P.Jh.once(d.onDidHide)((()=>{0===d.selectedItems.length&&u.cancel(),h.dispose(),c?.complete(d.selectedItems.slice(0))})),d.show(),a&&l===e&&(d.valueSelection=a),t?c?.p:void 0}adjustValueSelection(e,t,i){let n;n=i?.preserveValue?[e.value.length,e.value.length]:[t?.prefix.length??0,e.value.length],e.valueSelection=n}registerPickerListeners(e,t,i,n,s){const o=new Ae.Cm,r=this.visibleQuickAccess={picker:e,descriptor:i,value:n};return o.add((0,Ae.s)((()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)}))),o.add(e.onDidChangeValue((e=>{const[i]=this.getOrInstantiateProvider(e,s?.enabledProviderPrefixes);i!==t?this.show(e,{enabledProviderPrefixes:s?.enabledProviderPrefixes,preserveValue:!0,providerOptions:s?.providerOptions}):r.value=e}))),i&&o.add(e.onDidAccept((()=>{this.lastAcceptedPickerValues.set(i,e.value)}))),o}getOrInstantiateProvider(e,t){const i=this.registry.getQuickAccessProvider(e);if(!i||t&&!t?.includes(i.prefix))return[void 0,void 0];let n=this.mapProviderToDescriptor.get(i);return n||(n=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,n)),[n,i]}};HG=WG([BG(0,ed),BG(1,qn._Y)],HG);var VG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};class zG{constructor(e){this.nodes=e}toString(){return this.nodes.map((e=>"string"==typeof e?e:e.label)).join("")}}VG([td],zG.prototype,"toString",null);const UG=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;const KG={},jG=new Al("quick-input-button-icon-");function $G(e,t,i){let n=e.iconClass||function(e){if(!e)return;let t;const i=e.dark.toString();return KG[i]?t=KG[i]:(t=jG.nextId(),Ot(`.${t}, .hc-light .${t}`,`background-image: ${oi(e.light||e.dark)}`),Ot(`.vs-dark .${t}, .hc-black .${t}`,`background-image: ${oi(e.dark)}`),KG[i]=t),t}(e.iconPath);return e.alwaysVisible&&(n=n?`${n} always-visible`:"always-visible"),{id:t,label:"",tooltip:e.tooltip||"",class:n,enabled:!0,run:i}}function qG(e,t,i){Yt(t);const n=function(e){const t=[];let i,n=0;for(;i=UG.exec(e);){i.index-n>0&&t.push(e.substring(n,i.index));const[,s,o,,r]=i;r?t.push({label:s,href:o,title:r}):t.push({label:s,href:o}),n=i.index+i[0].length}return n{Kt(e)&&jt(e,!0),i.callback(o.href)},a=i.disposables.add(new zr(n,Ut.CLICK)).event,l=i.disposables.add(new zr(n,Ut.KEY_DOWN)).event,h=P.Jh.chain(l,(e=>e.filter((e=>{const t=new N(e);return t.equals(10)||t.equals(3)}))));i.disposables.add(sd.addTarget(n));const d=i.disposables.add(new zr(n,id.Tap)).event;P.Jh.any(a,d,h)(r,null,i.disposables),t.appendChild(n)}}var GG=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},QG=function(e,t){return function(i,n){t(i,n,e)}};const YG="inQuickInput",ZG=new hs.N1(YG,!1,(0,$n.kg)("inQuickInput","Whether keyboard focus is inside the quick input control")),XG=hs.M$.has(YG),JG="quickInputType",eQ=new hs.N1(JG,void 0,(0,$n.kg)("quickInputType","The type of the currently visible quick input")),tQ="cursorAtEndOfQuickInputBox",iQ=new hs.N1(tQ,!1,(0,$n.kg)("cursorAtEndOfQuickInputBox","Whether the cursor in the quick input is at the end of the input box")),nQ=hs.M$.has(tQ),sQ={iconClass:En.L.asClassName(bl.W.quickInputBack),tooltip:(0,$n.kg)("quickInput.back","Back"),handle:-1};class oQ extends Ae.jG{static{this.noPromptMessage=(0,$n.kg)("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel")}constructor(e){super(),this.ui=e,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=oQ.noPromptMessage,this._severity=wd.A.Ignore,this.onDidTriggerButtonEmitter=this._register(new P.vl),this.onDidHideEmitter=this._register(new P.vl),this.onWillHideEmitter=this._register(new P.vl),this.onDisposeEmitter=this._register(new P.vl),this.visibleDisposables=this._register(new Ae.Cm),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!f.un;this._ignoreFocusOut=e&&!f.un,t&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons]}set buttons(e){this._leftButtons=e.filter((e=>e===sQ)),this._rightButtons=e.filter((e=>e!==sQ&&e.location!==Jh.Inline)),this._inlineButtons=e.filter((e=>e.location===Jh.Inline)),this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=e??[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton((e=>{-1!==this.buttons.indexOf(e)&&this.onDidTriggerButtonEmitter.fire(e)}))),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=Yh.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=Yh.Other){this.onWillHideEmitter.fire({reason:e})}update(){if(!this.visible)return;const e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:e||" "===this.ui.title.innerHTML||(this.ui.title.innerText="\xa0");const t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?Yt(this.ui.widget,this._widget):Yt(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new A.pc,this.busyDelay.setIfNotSet((()=>{this.visible&&this.ui.progressBar.infinite()}),800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const e=this._leftButtons.map(((e,t)=>$G(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.leftActionBar.push(e,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const t=this._rightButtons.map(((e,t)=>$G(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.rightActionBar.push(t,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();const i=this._inlineButtons.map(((e,t)=>$G(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.inlineActionBar.push(i,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const e=this.toggles?.filter((e=>e instanceof pL))??[];this.ui.inputBox.toggles=e}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const i=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==i&&(this._lastValidationMessage=i,Yt(this.ui.message),qG(i,this.ui.message,{callback:e=>{this.ui.linkOpenerDelegate(e)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?(0,$n.kg)("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==wd.A.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:"",this.ui.message.style.backgroundColor=t.background?`${t.background}`:"",this.ui.message.style.border=t.border?`1px solid ${t.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}class rQ extends oQ{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new P.vl),this.onWillAcceptEmitter=this._register(new P.vl),this.onDidAcceptEmitter=this._register(new P.vl),this.onDidCustomEmitter=this._register(new P.vl),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=Zh.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new P.vl),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new P.vl),this.onDidTriggerItemButtonEmitter=this._register(new P.vl),this.onDidTriggerSeparatorButtonEmitter=this._register(new P.vl),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this._focusEventBufferer=new P.at,this.type="quickPick",this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}static{this.DEFAULT_ARIA_LABEL=(0,$n.kg)("quickInputBox.ariaLabel","Type to narrow down results.")}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){if(this._value!==e){if(this._value=e,t||this.update(),this.visible){this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst()}this.onDidChangeValueEmitter.fire(this._value)}}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Qh:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(Xh.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((e=>{this.doSetValue(e,!0)}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)}))),this.visibleDisposables.add(this.ui.onDidCustom((()=>{this.onDidCustomEmitter.fire()}))),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,((e,t)=>t))((e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&(0,na.aI)(e,this._activeItems,((e,t)=>e===t))||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))}))),this.visibleDisposables.add(this.ui.list.onDidChangeSelection((({items:e,event:t})=>{this.canSelectMany?e.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&(0,na.aI)(e,this._selectedItems,((e,t)=>e===t))||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(Vt(t)&&1===t.button))}))),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements((e=>{this.canSelectMany&&this.visible&&(this.selectedItemsToConfirm!==this._selectedItems&&(0,na.aI)(e,this._selectedItems,((e,t)=>e===t))||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))}))),this.visibleDisposables.add(this.ui.list.onButtonTriggered((e=>this.onDidTriggerItemButtonEmitter.fire(e)))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered((e=>this.onDidTriggerSeparatorButtonEmitter.fire(e)))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return Ye(this.ui.container,Ut.KEY_UP,(e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new N(e),i=t.keyCode;this._quickNavigate.keybindings.some((e=>{const n=e.getChords();return!(n.length>1)&&(n[0].shiftKey&&4===i?!(t.ctrlKey||t.altKey||t.metaKey):!(!n[0].altKey||6!==i)||(!(!n[0].ctrlKey||5!==i)||!(!n[0].metaKey||57!==i)))}))&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)}))}update(){if(!this.visible)return;const e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,i={title:!!this.title||!!this.step||!!this.titleButtons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(i),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let n=this.ariaLabel;!n&&i.inputBox&&(n=this.placeholder||rQ.DEFAULT_ARIA_LABEL,this.title&&(n+=` - ${this.title}`)),this.ui.list.ariaLabel!==n&&(this.ui.list.ariaLabel=n??null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents((()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case Zh.NONE:this._itemActivation=Zh.FIRST;break;case Zh.SECOND:this.ui.list.focus(Xh.Second),this._itemActivation=Zh.FIRST;break;case Zh.LAST:this.ui.list.focus(Xh.Last),this._itemActivation=Zh.FIRST;break;default:this.trySelectFirst()}}))),this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",i.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(Xh.First)),this.keepScrollPosition&&(this.scrollTop=e)}focus(e){this.ui.list.focus(e),this.canSelectMany&&this.ui.list.domFocus()}accept(e){e&&!this._canAcceptInBackground||this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(e??!1))}}class aQ extends oQ{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new P.vl),this.onDidAcceptEmitter=this._register(new P.vl),this.type="inputBox",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>this.onDidAcceptEmitter.fire()))),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}}let lQ=class extends ok{constructor(e,t){super("element",!1,(e=>this.getOverrideOptions(e)),e,t)}getOverrideOptions(e){return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(Bt(e.content)?e.content.textContent??"":"string"==typeof e.content?e.content:e.content.value).includes("\n"),skipFadeInAnimation:!0}}}};lQ=GG([QG(0,Wp.pG),QG(1,sk)],lQ);const hQ="done",dQ="active",cQ="infinite",uQ="infinite-long-running",gQ="discrete";class pQ extends Ae.jG{static{this.LONG_RUNNING_INFINITE_THRESHOLD=1e4}constructor(e,t){super(),this.progressSignal=this._register(new Ae.HE),this.workedVal=0,this.showDelayedScheduler=this._register(new A.uC((()=>ti(this.element)),0)),this.longRunningScheduler=this._register(new A.uC((()=>this.infiniteLongRunning()),pQ.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=t?.progressBarBackground||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(dQ,cQ,uQ,gQ),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(hQ),this.element.classList.contains(cQ)?(this.bit.style.opacity="0",e?setTimeout((()=>this.off()),200):this.off()):(this.bit.style.width="inherit",e?setTimeout((()=>this.off()),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(gQ,hQ,uQ),this.element.classList.add(dQ,cQ),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(uQ)}getContainer(){return this.element}}const mQ=ei;class fQ extends Ae.jG{constructor(e,t,i){super(),this.parent=e,this.onKeyDown=e=>Xe(this.findInput.inputBox.inputElement,Ut.KEY_DOWN,e),this.onDidChange=e=>this.findInput.onDidChange(e),this.container=Gt(this.parent,mQ(".quick-input-box")),this.findInput=this._register(new DL(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:i}));const n=this.findInput.inputBox.inputElement;n.role="combobox",n.ariaHasPopup="menu",n.ariaAutoComplete="list",n.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===wd.A.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===wd.A.Info?1:e===wd.A.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===wd.A.Info?1:e===wd.A.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}const _Q=new Ol.d((()=>{const e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}}));new Ol.d((()=>({collator:new Intl.Collator(void 0,{numeric:!0})}))),new Ol.d((()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:"accent"})})));function vQ(e,t,i){const n=e.toLowerCase(),s=t.toLowerCase(),o=function(e,t,i){const n=e.toLowerCase(),s=t.toLowerCase(),o=n.startsWith(i),r=s.startsWith(i);if(o!==r)return o?-1:1;if(o&&r){if(n.lengths.length)return 1}return 0}(e,t,i);if(o)return o;const r=n.endsWith(i);if(r!==s.endsWith(i))return r?-1:1;const a=function(e,t){const i=e||"",n=t||"",s=_Q.value.collator.compare(i,n);return _Q.value.collatorIsNumeric&&0===s&&i!==n?i=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},wQ=function(e,t){return function(i,n){t(i,n,e)}};const yQ=ei;class SQ{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Ol.d((()=>{const e=i.label??"",t=Fn(e).text.trim(),n=i.ariaLabel||[e,this.saneDescription,this.saneDetail].map((e=>{return(t=e)?t.replace(/\$\((.*?)\)/g,((e,t)=>` ${t} `)).trim():"";var t})).filter((e=>!!e)).join(", ");return{saneLabel:e,saneSortLabel:t,saneAriaLabel:n}})),this._saneDescription=i.description,this._saneTooltip=i.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}}class kQ extends SQ{constructor(e,t,i,n,s,o){super(e,t,s),this.fireButtonTriggered=i,this._onChecked=n,this.item=s,this._separator=o,this._checked=!1,this.onChecked=t?P.Jh.map(P.Jh.filter(this._onChecked.event,(e=>e.element===this)),(e=>e.checked)):P.Jh.None,this._saneDetail=s.detail,this._labelHighlights=s.highlights?.label,this._descriptionHighlights=s.highlights?.description,this._detailHighlights=s.highlights?.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}}var LQ;!function(e){e[e.NONE=0]="NONE",e[e.MOUSE_HOVER=1]="MOUSE_HOVER",e[e.ACTIVE_ITEM=2]="ACTIVE_ITEM"}(LQ||(LQ={}));class xQ extends SQ{constructor(e,t,i){super(e,!1,i),this.fireSeparatorButtonTriggered=t,this.separator=i,this.children=new Array,this.focusInsideSeparator=LQ.NONE}}class DQ{getHeight(e){return e instanceof xQ?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof kQ?EQ.ID:MQ.ID}}class NQ{getWidgetAriaLabel(){return(0,$n.kg)("quickInput","Quick Input")}getAriaLabel(e){return e.separator?.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(e.hasCheckbox&&e instanceof kQ)return{get value(){return e.checked},onDidChange:t=>e.onChecked((()=>t()))}}}class IQ{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new Ae.Cm,t.toDisposeTemplate=new Ae.Cm,t.entry=Gt(e,yQ(".quick-input-list-entry"));const i=Gt(t.entry,yQ("label.quick-input-list-label"));t.toDisposeTemplate.add(Xe(i,Ut.CLICK,(e=>{t.checkbox.offsetParent||e.preventDefault()}))),t.checkbox=Gt(i,yQ("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const n=Gt(i,yQ(".quick-input-list-rows")),s=Gt(n,yQ(".quick-input-list-row")),o=Gt(n,yQ(".quick-input-list-row"));t.label=new nN(s,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=Qt(t.label.element,yQ(".quick-input-list-icon"));const r=Gt(s,yQ(".quick-input-list-entry-keybinding"));t.keybinding=new hp(r,f.OS),t.toDisposeTemplate.add(t.keybinding);const a=Gt(o,yQ(".quick-input-list-label-meta"));return t.detail=new nN(a,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=Gt(t.entry,yQ(".quick-input-list-separator")),t.actionBar=new ep(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,i){i.toDisposeElement.clear(),i.actionBar.clear()}}let EQ=class extends IQ{static{bQ=this}static{this.ID="quickpickitem"}constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return bQ.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(Xe(t.checkbox,Ut.CHANGE,(e=>{t.element.checked=t.checkbox.checked}))),t}renderElement(e,t,i){const n=e.element;i.element=n,n.element=i.entry??void 0;const s=n.item;i.checkbox.checked=n.checked,i.toDisposeElement.add(n.onChecked((e=>i.checkbox.checked=e))),i.checkbox.disabled=n.checkboxDisabled;const{labelHighlights:o,descriptionHighlights:r,detailHighlights:a}=n;if(s.iconPath){const e=(0,Hp.HD)(this.themeService.getColorTheme().type)?s.iconPath.dark:s.iconPath.light??s.iconPath.dark,t=Hn.r.revive(e);i.icon.className="quick-input-list-icon",i.icon.style.backgroundImage=oi(t)}else i.icon.style.backgroundImage="",i.icon.className=s.iconClass?`quick-input-list-icon ${s.iconClass}`:"";let l;!n.saneTooltip&&n.saneDescription&&(l={markdown:{value:n.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDescription});const h={matches:o||[],descriptionTitle:l,descriptionMatches:r||[],labelEscapeNewLines:!0};if(h.extraClasses=s.iconClasses,h.italic=s.italic,h.strikethrough=s.strikethrough,i.entry.classList.remove("quick-input-list-separator-as-item"),i.label.setLabel(n.saneLabel,n.saneDescription,h),i.keybinding.set(s.keybinding),n.saneDetail){let e;n.saneTooltip||(e={markdown:{value:n.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(n.saneDetail,void 0,{matches:a,title:e,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";n.separator?.label?(i.separator.textContent=n.separator.label,i.separator.style.display="",this.addItemWithSeparator(n)):i.separator.style.display="none",i.entry.classList.toggle("quick-input-list-separator-border",!!n.separator);const d=s.buttons;d&&d.length?(i.actionBar.push(d.map(((e,t)=>$G(e,`id-${t}`,(()=>n.fireButtonTriggered({button:e,item:n.item}))))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions")}disposeElement(e,t,i){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,i)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}};EQ=bQ=CQ([wQ(1,no.Gy)],EQ);class MQ extends IQ{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}static{this.ID="quickpickseparator"}get templateId(){return MQ.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderTemplate(e){const t=super.renderTemplate(e);return t.checkbox.style.display="none",t}renderElement(e,t,i){const n=e.element;i.element=n,n.element=i.entry??void 0,n.element.classList.toggle("focus-inside",!!n.focusInsideSeparator);const s=n.separator,{labelHighlights:o,descriptionHighlights:r,detailHighlights:a}=n;let l;i.icon.style.backgroundImage="",i.icon.className="",!n.saneTooltip&&n.saneDescription&&(l={markdown:{value:n.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDescription});const h={matches:o||[],descriptionTitle:l,descriptionMatches:r||[],labelEscapeNewLines:!0};if(i.entry.classList.add("quick-input-list-separator-as-item"),i.label.setLabel(n.saneLabel,n.saneDescription,h),n.saneDetail){let e;n.saneTooltip||(e={markdown:{value:n.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:n.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(n.saneDetail,void 0,{matches:a,title:e,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";i.separator.style.display="none",i.entry.classList.add("quick-input-list-separator-border");const d=s.buttons;d&&d.length?(i.actionBar.push(d.map(((e,t)=>$G(e,`id-${t}`,(()=>n.fireSeparatorButtonTriggered({button:e,separator:n.separator}))))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions"),this.addSeparator(n)}disposeElement(e,t,i){this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||e.element.element?.classList.remove("focus-inside"),super.disposeElement(e,t,i)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}}let TQ=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=i,this.accessibilityService=o,this._onKeyDown=new P.vl,this._onLeave=new P.vl,this.onLeave=this._onLeave.event,this._visibleCountObservable=(0,fg.FY)("VisibleCount",0),this.onChangedVisibleCount=P.Jh.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=(0,fg.FY)("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=P.Jh.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=(0,fg.FY)("CheckedCount",0),this.onChangedCheckedCount=P.Jh.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=(0,fg.Zh)({equalsFn:na.aI},new Array),this.onChangedCheckedElements=P.Jh.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new P.vl,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new P.vl,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new P.vl,this._elementCheckedEventBufferer=new P.at,this._hasCheckboxes=!1,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new Ae.Cm),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._shouldLoop=!0,this._container=Gt(this.parent,yQ(".quick-input-list")),this._separatorRenderer=new MQ(t),this._itemRenderer=s.createInstance(EQ,t),this._tree=this._register(s.createInstance(VD,"QuickInput",this._container,new DQ,[this._itemRenderer,this._separatorRenderer],{filter:{filter:e=>e.hidden?0:e instanceof xQ?2:1},sorter:{compare:(e,t)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;return function(e,t,i){const n=e.labelHighlights||[],s=t.labelHighlights||[];if(n.length&&!s.length)return-1;if(!n.length&&s.length)return 1;if(0===n.length&&0===s.length)return 0;return vQ(e.saneSortLabel,t.saneSortLabel,i)}(e,t,this._lastQueryString.toLowerCase())}},accessibilityProvider:new NQ,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:TL.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=n,this._registerListeners()}get onDidChangeFocus(){return P.Jh.map(this._tree.onDidChangeFocus,(e=>e.elements.filter((e=>e instanceof kQ)).map((e=>e.item))),this._store)}get onDidChangeSelection(){return P.Jh.map(this._tree.onDidChangeSelection,(e=>({items:e.elements.filter((e=>e instanceof kQ)).map((e=>e.item)),event:e.browserEvent})),this._store)}get displayed(){return"none"!==this._container.style.display}set displayed(e){this._container.style.display=e?"":"none"}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e??""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}get shouldLoop(){return this._shouldLoop}set shouldLoop(e){this._shouldLoop=e}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown((e=>{const t=new N(e);if(10===t.keyCode)this.toggleCheckbox();this._onKeyDown.fire(t)})))}_registerOnContainerClick(){this._register(Ye(this._container,Ut.CLICK,(e=>{(e.x||e.y)&&this._onLeave.fire()})))}_registerOnMouseMiddleClick(){this._register(Ye(this._container,Ut.AUXCLICK,(e=>{1===e.button&&this._onLeave.fire()})))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel((()=>{const e=this._itemElements.filter((e=>!e.hidden)).length;this._visibleCountObservable.set(e,void 0),this._hasCheckboxes&&this._updateCheckedObservables()})))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,((e,t)=>t))((e=>this._updateCheckedObservables())))}_registerOnContextMenu(){this._register(this._tree.onContextMenu((e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))})))}_registerHoverListeners(){const e=this._register(new A.Th(this.hoverDelegate.delay));this._register(this._tree.onMouseOver((async t=>{if(Ht(t.browserEvent.target))e.cancel();else if(Ht(t.browserEvent.relatedTarget)||!_t(t.browserEvent.relatedTarget,t.element?.element))try{await e.trigger((async()=>{t.element instanceof kQ&&this.showHover(t.element)}))}catch(t){if(!(0,b.MB)(t))throw t}}))),this._register(this._tree.onMouseOut((t=>{_t(t.browserEvent.relatedTarget,t.element?.element)||e.cancel()})))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus((e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const i of this._separatorRenderer.visibleSeparators){const e=i===t;!!(i.focusInsideSeparator&LQ.ACTIVE_ITEM)!==e&&(e?i.focusInsideSeparator|=LQ.ACTIVE_ITEM:i.focusInsideSeparator&=~LQ.ACTIVE_ITEM,this._tree.rerender(i))}}))),this._register(this._tree.onMouseOver((e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&LQ.MOUSE_HOVER)||(i.focusInsideSeparator|=LQ.MOUSE_HOVER,this._tree.rerender(i))}}))),this._register(this._tree.onMouseOut((e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&LQ.MOUSE_HOVER)&&(i.focusInsideSeparator&=~LQ.MOUSE_HOVER,this._tree.rerender(i))}})))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection((e=>{const t=e.elements.filter((e=>e instanceof kQ));t.length!==e.elements.length&&(1===e.elements.length&&e.elements[0]instanceof xQ&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))})))}setAllVisibleChecked(e){this._elementCheckedEventBufferer.bufferEvents((()=>{this._itemElements.forEach((t=>{t.hidden||t.checkboxDisabled||(t.checked=e)}))}))}setElements(e){let t;this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=e,this._hasCheckboxes=this.parent.classList.contains("show-checkboxes"),this._itemElements=new Array,this._elementTree=e.reduce(((i,n,s)=>{let o;if("separator"===n.type){if(!n.buttons)return i;t=new xQ(s,(e=>this._onSeparatorButtonTriggered.fire(e)),n),o=t}else{const r=s>0?e[s-1]:void 0;let a;r&&"separator"===r.type&&!r.buttons&&(t=void 0,a=r);const l=new kQ(s,this._hasCheckboxes,(e=>this._onButtonTriggered.fire(e)),this._elementChecked,n,a);if(this._itemElements.push(l),t)return t.children.push(l),i;o=l}return i.push(o),i}),new Array),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&setTimeout((()=>{const e=this._tree.getHTMLElement().querySelector(".monaco-list-row.focused"),t=e?.parentNode;if(e&&t){const i=e.nextSibling;e.remove(),t.insertBefore(e,i)}}),0)}setFocusedElements(e){const t=e.map((e=>this._itemElements.find((t=>t.item===e)))).filter((e=>!!e)).filter((e=>!e.hidden));if(this._tree.setFocus(t),e.length>0){const e=this._tree.getFocus()[0];e&&this._tree.reveal(e)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map((e=>this._itemElements.find((t=>t.item===e)))).filter((e=>!!e));this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter((e=>e.checked)).map((e=>e.item))}setCheckedElements(e){this._elementCheckedEventBufferer.bufferEvents((()=>{const t=new Set;for(const i of e)t.add(i);for(const e of this._itemElements)e.checked=t.has(e.item)}))}focus(e){if(this._itemElements.length)switch(e===Xh.Second&&this._itemElements.length<2&&(e=Xh.First),e){case Xh.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,(e=>e.element instanceof kQ));break;case Xh.Second:{this._tree.scrollTop=0;let e=!1;this._tree.focusFirst(void 0,(t=>t.element instanceof kQ&&(!!e||(e=!e,!1))));break}case Xh.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,(e=>e.element instanceof kQ));break;case Xh.Next:{const e=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,(e=>e.element instanceof kQ&&(this._tree.reveal(e.element),!0)));const t=this._tree.getFocus();e.length&&e[0]===t[0]&&e[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}case Xh.Previous:{const e=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,(e=>{if(!(e.element instanceof kQ))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0}));const t=this._tree.getFocus();e.length&&e[0]===t[0]&&e[0]===this._itemElements[0]&&this._onLeave.fire();break}case Xh.NextPage:this._tree.focusNextPage(void 0,(e=>e.element instanceof kQ&&(this._tree.reveal(e.element),!0)));break;case Xh.PreviousPage:this._tree.focusPreviousPage(void 0,(e=>{if(!(e.element instanceof kQ))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0}));break;case Xh.NextSeparator:{let e=!1;const t=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,(t=>{if(e)return!0;if(t.element instanceof xQ)e=!0,this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element.children[0]):this._tree.reveal(t.element,0);else if(t.element instanceof kQ){if(t.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),!0;if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0}return!1}));t===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,(e=>e.element instanceof kQ)));break}case Xh.PreviousSeparator:{let e,t=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,(i=>{if(i.element instanceof xQ)t?e||(this._separatorRenderer.isSeparatorVisible(i.element)?this._tree.reveal(i.element):this._tree.reveal(i.element,0),e=i.element.children[0]):t=!0;else if(i.element instanceof kQ&&!e)if(i.element.separator)this._itemRenderer.isItemWithSeparatorVisible(i.element)?this._tree.reveal(i.element):this._tree.reveal(i.element,0),e=i.element;else if(i.element===this._elementTree[0])return this._tree.reveal(i.element,0),!0;return!1})),e&&this._tree.setFocus([e]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?44*Math.floor(e/44)+6+"px":"",this._tree.layout()}filter(e){if(this._lastQueryString=e,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if((e=e.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let i;this._itemElements.forEach((n=>{let s;s="fuzzy"===this.matchOnLabelMode?this.matchOnLabel?Wn(e,Fn(n.saneLabel))??void 0:void 0:this.matchOnLabel?function(e,t){const{text:i,iconOffsets:n}=t;if(!n||0===n.length)return RQ(e,i);const s=(0,Ri.NB)(i," "),o=i.length-s.length,r=RQ(e,s);if(r)for(const a of r){const e=n[a.start+o]+o;a.start+=e,a.end+=e}return r}(t,Fn(n.saneLabel))??void 0:void 0;const o=this.matchOnDescription?Wn(e,Fn(n.saneDescription||""))??void 0:void 0,r=this.matchOnDetail?Wn(e,Fn(n.saneDetail||""))??void 0:void 0;if(s||o||r?(n.labelHighlights=s,n.descriptionHighlights=o,n.detailHighlights=r,n.hidden=!1):(n.labelHighlights=void 0,n.descriptionHighlights=void 0,n.detailHighlights=void 0,n.hidden=!n.item||!n.item.alwaysShow),n.item?n.separator=void 0:n.separator&&(n.hidden=!0),!this.sortByLabel){const e=n.index&&this._inputElements[n.index-1]||void 0;"separator"!==e?.type||e.buttons||(i=e),i&&!n.hidden&&(n.separator=i,i=void 0)}}))}else this._itemElements.forEach((e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;const t=e.index&&this._inputElements[e.index-1];e.item&&(e.separator=t&&"separator"===t.type&&!t.buttons?t:void 0)}));return this._setElementsToTree(this._sortByLabel&&e?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents((()=>{const e=this._tree.getFocus().filter((e=>e instanceof kQ)),t=this._allVisibleChecked(e);for(const i of e)i.checkboxDisabled||(i.checked=!t)}))}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!(e?.saneTooltip&&e instanceof kQ))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();this.showHover(e);const t=new Ae.Cm;t.add(this._tree.onDidChangeFocus((e=>{e.elements[0]instanceof kQ&&this.showHover(e.elements[0])}))),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_setElementsToTree(e){const t=new Array;for(const i of e)i instanceof xQ?t.push({element:i,collapsible:!1,collapsed:!1,children:i.children.map((e=>({element:e,collapsible:!1,collapsed:!1})))}):t.push({element:i,collapsible:!1,collapsed:!1});this._tree.setChildren(null,t)}_allVisibleChecked(e,t=!0){for(let i=0,n=e.length;i{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),e);const t=this._itemElements.filter((e=>e.checked)).length;this._checkedCountObservable.set(t,e),this._checkedElementsObservable.set(this.getCheckedElements(),e)}))}showHover(e){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),e.element&&e.saneTooltip&&(this._lastHover=this.hoverDelegate.showHover({content:e.saneTooltip,target:e.element,linkHandler:e=>{this.linkOpenerDelegate(e)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};function RQ(e,t){const i=t.toLowerCase().indexOf(e.toLowerCase());return-1!==i?[{start:i,end:i+e.length}]:null}CQ([td],TQ.prototype,"onDidChangeFocus",null),CQ([td],TQ.prototype,"onDidChangeSelection",null),TQ=CQ([wQ(4,qn._Y),wQ(5,$r)],TQ);const AQ={weight:200,when:hs.M$.and(hs.M$.equals(JG,"quickPick"),XG),metadata:{description:(0,$n.kg)("quickPick","Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")}};function PQ(e,t={}){us.registerCommandAndKeybindingRule({...AQ,...e,secondary:FQ(e.primary,e.secondary??[],t)})}const OQ=f.zx?256:2048;function FQ(e,t,i={}){return i.withAltMod&&t.push(512+e),i.withCtrlMod&&(t.push(OQ+e),i.withAltMod&&t.push(512+OQ+e)),i.withCmdMod&&f.zx&&(t.push(2048+e),i.withCtrlMod&&t.push(2304+e),i.withAltMod&&(t.push(2560+e),i.withCtrlMod&&t.push(2816+e))),t}function WQ(e,t){return i=>{const n=i.get(ed).currentQuickInput;if(n)return t&&n.quickNavigate?n.focus(t):n.focus(e)}}PQ({id:"quickInput.pageNext",primary:12,handler:WQ(Xh.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),PQ({id:"quickInput.pagePrevious",primary:11,handler:WQ(Xh.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),PQ({id:"quickInput.first",primary:OQ+14,handler:WQ(Xh.First)},{withAltMod:!0,withCmdMod:!0}),PQ({id:"quickInput.last",primary:OQ+13,handler:WQ(Xh.Last)},{withAltMod:!0,withCmdMod:!0}),PQ({id:"quickInput.next",primary:18,handler:WQ(Xh.Next)},{withCtrlMod:!0}),PQ({id:"quickInput.previous",primary:16,handler:WQ(Xh.Previous)},{withCtrlMod:!0});const BQ=(0,$n.kg)("quickInput.nextSeparatorWithQuickAccessFallback","If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator."),HQ=(0,$n.kg)("quickInput.previousSeparatorWithQuickAccessFallback","If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.");f.zx?(PQ({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:2066,handler:WQ(Xh.NextSeparator,Xh.Next),metadata:{description:BQ}}),PQ({id:"quickInput.nextSeparator",primary:2578,secondary:[2322],handler:WQ(Xh.NextSeparator)},{withCtrlMod:!0}),PQ({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:2064,handler:WQ(Xh.PreviousSeparator,Xh.Previous),metadata:{description:HQ}}),PQ({id:"quickInput.previousSeparator",primary:2576,secondary:[2320],handler:WQ(Xh.PreviousSeparator)},{withCtrlMod:!0})):(PQ({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:530,handler:WQ(Xh.NextSeparator,Xh.Next),metadata:{description:BQ}}),PQ({id:"quickInput.nextSeparator",primary:2578,handler:WQ(Xh.NextSeparator)}),PQ({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:528,handler:WQ(Xh.PreviousSeparator,Xh.Previous),metadata:{description:HQ}}),PQ({id:"quickInput.previousSeparator",primary:2576,handler:WQ(Xh.PreviousSeparator)})),PQ({id:"quickInput.acceptInBackground",when:hs.M$.and(AQ.when,hs.M$.or(jx.negate(),nQ)),primary:17,weight:250,handler:e=>{const t=e.get(ed).currentQuickInput;t?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});var VQ,zQ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},UQ=function(e,t){return function(i,n){t(i,n,e)}};const KQ=ei;let jQ=class extends Ae.jG{static{VQ=this}static{this.MAX_WIDTH=600}get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(e,t,i,n){super(),this.options=e,this.layoutService=t,this.instantiationService=i,this.contextKeyService=n,this.enabled=!0,this.onDidAcceptEmitter=this._register(new P.vl),this.onDidCustomEmitter=this._register(new P.vl),this.onDidTriggerButtonEmitter=this._register(new P.vl),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new P.vl),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new P.vl),this.onHide=this.onHideEmitter.event,this.inQuickInputContext=ZG.bindTo(this.contextKeyService),this.quickInputTypeContext=eQ.bindTo(this.contextKeyService),this.endOfQuickInputBoxContext=iQ.bindTo(this.contextKeyService),this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(P.Jh.runAndSubscribe(je,(({window:e,disposables:t})=>this.registerKeyModsListeners(e,t)),{window:o,disposables:this._store})),this._register($e((e=>{this.ui&&We(this.ui.container)===e&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))})))}registerKeyModsListeners(e,t){const i=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey};for(const n of[Ut.KEY_DOWN,Ut.KEY_UP,Ut.MOUSE_DOWN])t.add(Ye(e,n,i,!0))}getUI(e){if(this.ui)return e&&We(this._container)!==We(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=Gt(this._container,KQ(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const i=Et(t),n=Gt(t,KQ(".quick-input-titlebar")),s=this._register(new ep(n,{hoverDelegate:this.options.hoverDelegate}));s.domNode.classList.add("quick-input-left-action-bar");const o=Gt(n,KQ(".quick-input-title")),r=this._register(new ep(n,{hoverDelegate:this.options.hoverDelegate}));r.domNode.classList.add("quick-input-right-action-bar");const a=Gt(t,KQ(".quick-input-header")),l=Gt(a,KQ("input.quick-input-check-all"));l.type="checkbox",l.setAttribute("aria-label",(0,$n.kg)("quickInput.checkAll","Toggle all checkboxes")),this._register(Xe(l,Ut.CHANGE,(e=>{const t=l.checked;D.setAllVisibleChecked(t)}))),this._register(Ye(l,Ut.CLICK,(e=>{(e.x||e.y)&&u.setFocus()})));const h=Gt(a,KQ(".quick-input-description")),d=Gt(a,KQ(".quick-input-and-message")),c=Gt(d,KQ(".quick-input-filter")),u=this._register(new fQ(c,this.styles.inputBox,this.styles.toggle));u.setAttribute("aria-describedby",`${this.idPrefix}message`);const g=Gt(c,KQ(".quick-input-visible-count"));g.setAttribute("aria-live","polite"),g.setAttribute("aria-atomic","true");const p=new eN(g,{countFormat:(0,$n.kg)({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")},this.styles.countBadge),m=Gt(c,KQ(".quick-input-count"));m.setAttribute("aria-live","polite");const f=new eN(m,{countFormat:(0,$n.kg)({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")},this.styles.countBadge),_=this._register(new ep(a,{hoverDelegate:this.options.hoverDelegate}));_.domNode.classList.add("quick-input-inline-action-bar");const v=Gt(a,KQ(".quick-input-action")),b=this._register(new gd(v,this.styles.button));b.label=(0,$n.kg)("ok","OK"),this._register(b.onDidClick((e=>{this.onDidAcceptEmitter.fire()})));const C=Gt(a,KQ(".quick-input-action")),w=this._register(new gd(C,{...this.styles.button,supportIcons:!0}));w.label=(0,$n.kg)("custom","Custom"),this._register(w.onDidClick((e=>{this.onDidCustomEmitter.fire()})));const y=Gt(d,KQ(`#${this.idPrefix}message.quick-input-message`)),S=this._register(new pQ(t,this.styles.progressBar));S.getContainer().classList.add("quick-input-progress");const k=Gt(t,KQ(".quick-input-html-widget"));k.tabIndex=-1;const L=Gt(t,KQ(".quick-input-description")),x=this.idPrefix+"list",D=this._register(this.instantiationService.createInstance(TQ,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,x));u.setAttribute("aria-controls",x),this._register(D.onDidChangeFocus((()=>{u.setAttribute("aria-activedescendant",D.getActiveDescendant()??"")}))),this._register(D.onChangedAllVisibleChecked((e=>{l.checked=e}))),this._register(D.onChangedVisibleCount((e=>{p.setCount(e)}))),this._register(D.onChangedCheckedCount((e=>{f.setCount(e)}))),this._register(D.onLeave((()=>{setTimeout((()=>{this.controller&&(u.setFocus(),this.controller instanceof rQ&&this.controller.canSelectMany&&D.clearFocus())}),0)})));const N=qt(t);return this._register(N),this._register(Ye(t,Ut.FOCUS,(e=>{const t=this.getUI();if(_t(e.relatedTarget,t.inputContainer)){const e=t.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==e&&this.endOfQuickInputBoxContext.set(e)}_t(e.relatedTarget,t.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=Bt(e.relatedTarget)?e.relatedTarget:void 0)}),!0)),this._register(N.onDidBlur((()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(Yh.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0}))),this._register(u.onKeyDown((e=>{const t=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==t&&this.endOfQuickInputBoxContext.set(t)}))),this._register(Ye(t,Ut.FOCUS,(e=>{u.setFocus()}))),this._register(Xe(t,Ut.KEY_DOWN,(e=>{if(!_t(e.target,k))switch(e.keyCode){case 3:jt(e,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:jt(e,!0),this.hide(Yh.Gesture);break;case 2:if(!e.altKey&&!e.ctrlKey&&!e.metaKey){const i=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?i.push("input"):i.push("input[type=text]"),this.getUI().list.displayed&&i.push(".monaco-list"),this.getUI().message&&i.push(".quick-input-message a"),this.getUI().widget){if(_t(e.target,this.getUI().widget))break;i.push(".quick-input-html-widget")}const n=t.querySelectorAll(i.join(", "));e.shiftKey&&e.target===n[0]?(jt(e,!0),D.clearFocus()):!e.shiftKey&&_t(e.target,n[n.length-1])&&(jt(e,!0),n[0].focus())}break;case 10:e.ctrlKey&&(jt(e,!0),this.getUI().list.toggleHover())}}))),this.ui={container:t,styleSheet:i,leftActionBar:s,titleBar:n,title:o,description1:L,description2:h,widget:k,rightActionBar:r,inlineActionBar:_,checkAll:l,inputContainer:d,filterContainer:c,inputBox:u,visibleCountContainer:g,visibleCount:p,countContainer:m,count:f,okContainer:v,ok:b,message:y,customButtonContainer:C,customButton:w,list:D,progressBar:S,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e),linkOpenerDelegate:e=>this.options.linkOpenerDelegate(e)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,Gt(this._container,this.ui.container))}pick(e,t={},i=sa.XO.None){return new Promise(((n,s)=>{let o=e=>{o=n,t.onKeyMods?.(r.keyMods),n(e)};if(i.isCancellationRequested)return void o(void 0);const r=this.createQuickPick({useSeparators:!0});let a;const l=[r,r.onDidAccept((()=>{if(r.canSelectMany)o(r.selectedItems.slice()),r.hide();else{const e=r.activeItems[0];e&&(o(e),r.hide())}})),r.onDidChangeActive((e=>{const i=e[0];i&&t.onDidFocus&&t.onDidFocus(i)})),r.onDidChangeSelection((e=>{if(!r.canSelectMany){const t=e[0];t&&(o(t),r.hide())}})),r.onDidTriggerItemButton((e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...e,removeItem:()=>{const t=r.items.indexOf(e.item);if(-1!==t){const e=r.items.slice(),i=e.splice(t,1),n=r.activeItems.filter((e=>e!==i[0])),s=r.keepScrollPosition;r.keepScrollPosition=!0,r.items=e,n&&(r.activeItems=n),r.keepScrollPosition=s}}}))),r.onDidTriggerSeparatorButton((e=>t.onDidTriggerSeparatorButton?.(e))),r.onDidChangeValue((e=>{!a||e||1===r.activeItems.length&&r.activeItems[0]===a||(r.activeItems=[a])})),i.onCancellationRequested((()=>{r.hide()})),r.onDidHide((()=>{(0,Ae.AS)(l),o(void 0)}))];r.title=t.title,t.value&&(r.value=t.value),r.canSelectMany=!!t.canPickMany,r.placeholder=t.placeHolder,r.ignoreFocusOut=!!t.ignoreFocusLost,r.matchOnDescription=!!t.matchOnDescription,r.matchOnDetail=!!t.matchOnDetail,r.matchOnLabel=void 0===t.matchOnLabel||t.matchOnLabel,r.quickNavigate=t.quickNavigate,r.hideInput=!!t.hideInput,r.contextKey=t.contextKey,r.busy=!0,Promise.all([e,t.activeItem]).then((([e,t])=>{a=t,r.busy=!1,r.items=e,r.canSelectMany&&(r.selectedItems=e.filter((e=>"separator"!==e.type&&e.picked))),a&&(r.activeItems=[a])})),r.show(),Promise.resolve(e).then(void 0,(e=>{s(e),r.hide()}))}))}createQuickPick(e={useSeparators:!1}){const t=this.getUI(!0);return new rQ(t)}createInputBox(){const e=this.getUI(!0);return new aQ(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const i=this.controller;this.controller=e,i?.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",Yt(t.widget),t.rightActionBar.clear(),t.inlineActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(wd.A.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),Yt(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const n=this.options.backKeybindingLabel();sQ.tooltip=n?(0,$n.kg)("quickInput.backWithKeybinding","Back ({0})",n):(0,$n.kg)("quickInput.back","Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus(),this.quickInputTypeContext.set(e.type)}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=!e.description||e.inputBox||e.checkAll?"none":"",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.displayed=!!e.list,t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){const t=this.controller;if(!t)return;t.willHide(e);const i=this.ui?.container,n=i&&!kt(i);if(this.controller=null,this.onHideEmitter.fire(),i&&(i.style.display="none"),!n){let e=this.previousFocusElement;for(;e&&!e.offsetParent;)e=e.parentElement??void 0;e?.offsetParent?(e.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}t.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const e=this.ui.container.style,t=Math.min(.62*this.dimension.width,VQ.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:i,widgetBorder:n,widgetShadow:s}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e??"",this.ui.container.style.backgroundColor=t??"",this.ui.container.style.color=i??"",this.ui.container.style.border=n?`1px solid ${n}`:"",this.ui.container.style.boxShadow=s?`0 0 8px 2px ${s}`:"",this.ui.list.style(this.styles.list);const o=[];this.styles.pickerGroup.pickerGroupBorder&&o.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(o.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&o.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&o.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&o.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&o.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&o.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),o.push("}"));const r=o.join("\n");r!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=r)}}};jQ=VQ=zQ([UQ(1,dq),UQ(2,qn._Y),UQ(3,hs.fN)],jQ);var $Q=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},qQ=function(e,t){return function(i,n){t(i,n,e)}};let GQ=class extends no.lR{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(HG))),this._quickAccess}constructor(e,t,i,n,s){super(i),this.instantiationService=e,this.contextKeyService=t,this.layoutService=n,this.configurationService=s,this._onShow=this._register(new P.vl),this._onHide=this._register(new P.vl),this.contexts=new Map}createController(e=this.layoutService,t){const i={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:e=>this.setContextKey(e),linkOpenerDelegate:e=>{this.instantiationService.invokeFunction((t=>{t.get(Rh).open(e,{allowCommands:!0,fromUserGesture:!0})}))},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(lQ))},n=this._register(this.instantiationService.createInstance(jQ,{...i,...t}));return n.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer((t=>{We(e.activeContainer)===We(n.container)&&n.layout(t,e.activeContainerOffset.quickPickTop)}))),this._register(e.onDidChangeActiveContainer((()=>{n.isVisible()||n.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)}))),this._register(n.onShow((()=>{this.resetContextKeys(),this._onShow.fire()}))),this._register(n.onHide((()=>{this.resetContextKeys(),this._onHide.fire()}))),n}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new hs.N1(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),t&&t.get()||(this.resetContextKeys(),t?.set(!0))}resetContextKeys(){this.contexts.forEach((e=>{e.get()&&e.reset()}))}pick(e,t,i=sa.XO.None){return this.controller.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.controller.createQuickPick(e)}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:(0,io.GuP)(io.ELA),quickInputForeground:(0,io.GuP)(io.HJZ),quickInputTitleBackground:(0,io.GuP)(io.er1),widgetBorder:(0,io.GuP)(io.DSL),widgetShadow:(0,io.GuP)(io.f9l)},inputBox:pp,toggle:gp,countBadge:fp,button:cp,progressBar:up,keybindingLabel:dp,list:vp({listBackground:io.ELA,listFocusBackground:io.AlL,listFocusForeground:io.nH,listInactiveFocusForeground:io.nH,listInactiveSelectionIconForeground:io.c7i,listInactiveFocusBackground:io.AlL,listFocusOutline:io.buw,listInactiveFocusOutline:io.buw}),pickerGroup:{pickerGroupBorder:(0,io.GuP)(io.iwL),pickerGroupForeground:(0,io.GuP)(io.NBf)}}}};GQ=$Q([qQ(0,qn._Y),qQ(1,hs.fN),qQ(2,no.Gy),qQ(3,dq),qQ(4,Wp.pG)],GQ);var QQ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},YQ=function(e,t){return function(i,n){t(i,n,e)}};let ZQ=class extends GQ{constructor(e,t,i,n,s,o){super(t,i,n,new pq(e.getContainerDomNode(),s),o),this.host=void 0;const r=JQ.get(e);if(r){const t=r.widget;this.host={_serviceBrand:void 0,get mainContainer(){return t.getDomNode()},getContainer:()=>t.getDomNode(),whenContainerStylesLoaded(){},get containers(){return[t.getDomNode()]},get activeContainer(){return t.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return P.Jh.map(e.onDidLayoutChange,(e=>({container:t.getDomNode(),dimension:e})))},get onDidChangeActiveContainer(){return P.Jh.None},get onDidAddContainer(){return P.Jh.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};ZQ=QQ([YQ(1,qn._Y),YQ(2,hs.fN),YQ(3,no.Gy),YQ(4,Gn),YQ(5,Wp.pG)],ZQ);let XQ=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const i=t=this.instantiationService.createInstance(ZQ,e);this.mapEditorToService.set(e,t),(0,av.P)(e.onDidDispose)((()=>{i.dispose(),this.mapEditorToService.delete(e)}))}return t}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t,i=sa.XO.None){return this.activeService.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.activeService.createQuickPick(e)}createInputBox(){return this.activeService.createInputBox()}};XQ=QQ([YQ(0,qn._Y),YQ(1,Gn)],XQ);class JQ{static{this.ID="editor.controller.quickInput"}static get(e){return e.getContribution(JQ.ID)}constructor(e){this.editor=e,this.widget=new eY(this.editor)}dispose(){this.widget.dispose()}}class eY{static{this.ID="editor.contrib.quickInputWidget"}constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return eY.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}Hs(JQ.ID,JQ,4);var tY=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},iY=function(e,t){return function(i,n){t(i,n,e)}};let nY=class extends Ae.jG{constructor(e,t,i){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new P.vl,this._onDidChangeReducedMotion=new P.vl,this._onDidChangeLinkUnderline=new P.vl,this._accessibilityModeEnabledContext=qr.bindTo(this._contextKeyService);const n=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration("editor.accessibilitySupport")&&(n(),this._onDidChangeScreenReaderOptimized.fire()),e.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())}))),n(),this._register(this.onDidChangeScreenReaderOptimized((()=>n())));const s=o.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=s.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(s),this.initLinkUnderlineListeners()}initReducedMotionListeners(e){this._register(Ye(e,"change",(()=>{this._systemMotionReduced=e.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()})));const t=()=>{const e=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",e),this._layoutService.mainContainer.classList.toggle("enable-motion",!e)};t(),this._register(this.onDidChangeReducedMotion((()=>t())))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration("accessibility.underlineLinks")){const e=this._configurationService.getValue("accessibility.underlineLinks");this._linkUnderlinesEnabled=e,this._onDidChangeLinkUnderline.fire()}})));const e=()=>{const e=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle("underline-links",e)};e(),this._register(this.onDidChangeLinkUnderlines((()=>e())))}onDidChangeLinkUnderlines(e){return this._onDidChangeLinkUnderline.event(e)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return"on"===e||"auto"===e&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return"on"===e||"auto"===e&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};nY=tY([iY(0,hs.fN),iY(1,dq),iY(2,Wp.pG)],nY);var sY,oY=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},rY=function(e,t){return function(i,n){t(i,n,e)}};const aY="application/vnd.code.resources";let lY=class extends Ae.jG{static{sY=this}constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(u||g)&&this.installWebKitWriteTextWorkaround(),this._register(P.Jh.runAndSubscribe(je,(({window:e,disposables:t})=>{t.add(Ye(e.document,"copy",(()=>this.clearResourcesState())))}),{window:o,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const e=new A.Zv;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=e,xt().navigator.clipboard.write([new ClipboardItem({"text/plain":e.p})]).catch((async t=>{t instanceof Error&&"NotAllowedError"===t.name&&e.isRejected||this.logService.error(t)}))};this._register(P.Jh.runAndSubscribe(this.layoutService.onDidAddContainer,(({container:t,disposables:i})=>{i.add(Ye(t,"click",e)),i.add(Ye(t,"keydown",e))}),{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.clearResourcesState(),t)this.mapTextToType.set(t,e);else{if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await xt().navigator.clipboard.writeText(e)}catch(i){console.error(i)}this.fallbackWriteText(e)}}fallbackWriteText(e){const t=Lt(),i=t.activeElement,n=t.body.appendChild(ei("textarea",{"aria-hidden":!0}));n.style.height="1px",n.style.width="1px",n.style.position="absolute",n.value=e,n.focus(),n.select(),t.execCommand("copy"),Bt(i)&&i.focus(),n.remove()}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await xt().navigator.clipboard.readText()}catch(t){console.error(t)}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}static{this.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3}async readResources(){try{const e=await xt().navigator.clipboard.read();for(const t of e)if(t.types.includes(`web ${aY}`)){const e=await t.getType(`web ${aY}`),i=JSON.parse(await e.text()).map((e=>Hn.r.from(e)));return i}}catch(t){}const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(0===this.resources.length)return;const e=await this.readText();return(0,Oe.tW)(e.substring(0,sY.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}};lY=sY=oY([rY(0,dq),rY(1,Ns.rr)],lY);var hY=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},dY=function(e,t){return function(i,n){t(i,n,e)}};const cY="data-keybinding-context";class uY{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)}removeValue(e){return e in this._value&&(delete this._value[e],!0)}getValue(e){const t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t}}class gY extends uY{static{this.INSTANCE=new gY}constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}}class pY extends uY{static{this._keyPrefix="config."}constructor(e,t,i){super(e,null),this._configurationService=t,this._values=Ra.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration((e=>{if(7===e.source){const e=Array.from(this._values,(([e])=>e));this._values.clear(),i.fire(new _Y(e))}else{const t=[];for(const i of e.affectedKeys){const e=`config.${i}`,n=this._values.findSuperstr(e);void 0!==n&&(t.push(...os.f.map(n,(([e])=>e))),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}i.fire(new _Y(t))}}))}dispose(){this._listener.dispose()}getValue(e){if(0!==e.indexOf(pY._keyPrefix))return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(pY._keyPrefix.length),i=this._configurationService.getValue(t);let n;switch(typeof i){case"number":case"boolean":case"string":n=i;break;default:n=Array.isArray(i)?JSON.stringify(i):i}return this._values.set(e,n),n}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}}class mY{constructor(e,t,i){this._service=e,this._key=t,this._defaultValue=i,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class fY{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}}class _Y{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every((t=>e.has(t)))}}class vY{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every((t=>t.allKeysContainedIn(e)))}}class bY extends Ae.jG{constructor(e){super(),this._onDidChangeContext=this._register(new P.fV({merge:e=>new vY(e)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new mY(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new wY(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return!e||e.evaluate(t)}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const i=this.getContextValuesContainer(this._myContextId);i&&i.setValue(e,t)&&this._onDidChangeContext.fire(new fY(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new fY(e))}getContext(e){return this._isDisposed?gY.INSTANCE:this.getContextValuesContainer(function(e){for(;e;){if(e.hasAttribute(cY)){const t=e.getAttribute(cY);return t?parseInt(t,10):NaN}e=e.parentElement}return 0}(e))}dispose(){super.dispose(),this._isDisposed=!0}}let CY=class extends bY{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new pY(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?gY.INSTANCE:this._contexts.get(e)||gY.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new uY(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};CY=hY([dY(0,Wp.pG)],CY);class wY extends bY{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new Ae.HE),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(cY)){let e="";this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute"+(e?": "+e:""))}this._domNode.setAttribute(cY,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext((e=>{const t=this._parent.getContextValuesContainer(this._myContextId).value;var i;i=t,e.allKeysContainedIn(new Set(Object.keys(i)))||this._onDidChangeContext.fire(e)}))}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(cY),super.dispose())}getContextValuesContainer(e){return this._isDisposed?gY.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}ls.registerCommand("_setContext",(function(e,t,i){e.get(hs.fN).createKey(String(t),function(e){return(0,ql.PI)(e,(e=>"object"==typeof e&&1===e.$mid?Hn.r.revive(e).toString():e instanceof Hn.r?e.toString():void 0))}(i))})),ls.registerCommand({id:"getContextKeyInfo",handler:()=>[...hs.N1.all()].sort(((e,t)=>e.key.localeCompare(t.key))),metadata:{description:(0,$n.kg)("getContextKeyInfo","A command that returns information about context keys"),args:[]}}),ls.registerCommand("_generateContextKeyInfo",(function(){const e=[],t=new Set;for(const i of hs.N1.all())t.has(i.key)||(t.add(i.key),e.push(i));e.sort(((e,t)=>e.key.localeCompare(t.key))),console.log(JSON.stringify(e,void 0,2))}));var yY=i(83312);class SY{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}}class kY{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())0===t.outgoing.size&&e.push(t);return e}insertEdge(e,t){const i=this.lookupOrInsertNode(e),n=this.lookupOrInsertNode(t);i.outgoing.set(n.key,n),n.incoming.set(i.key,i)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const i of this._nodes.values())i.outgoing.delete(t),i.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let i=this._nodes.get(t);return i||(i=new SY(t,e),this._nodes.set(t,i)),i}isEmpty(){return 0===this._nodes.size}toString(){const e=[];for(const[t,i]of this._nodes)e.push(`${t}\n\t(-> incoming)[${[...i.incoming.keys()].join(", ")}]\n\t(outgoing ->)[${[...i.outgoing.keys()].join(",")}]\n`);return e.join("\n")}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),n=this._findCycle(t,i);if(n)return n}}_findCycle(e,t){for(const[i,n]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const e=this._findCycle(n,t);if(e)return e;t.delete(i)}}}class LY extends Error{constructor(e){super("cyclic dependency between services"),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph: \n${e.toString()}`}}class xY{constructor(e=new qC,t=!1,i,n=false){this._services=e,this._strict=t,this._parent=i,this._enableTracing=n,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(qn._Y,this),this._globalGraph=n?i?._globalGraph??new kY((e=>e)):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,(0,Ae.AS)(this._children),this._children.clear();for(const e of this._servicesToMaybeDispose)(0,Ae.Xm)(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(e,t){this._throwIfDisposed();const i=this,n=new class extends xY{dispose(){i._children.delete(n),super.dispose()}}(e,this._strict,this,this._enableTracing);return this._children.add(n),t?.add(n),n}invokeFunction(e,...t){this._throwIfDisposed();const i=DY.traceInvocation(this._enableTracing,e);let n=!1;try{return e({get:e=>{if(n)throw(0,b.iH)("service accessor is only valid during the invocation of its target method");const t=this._getOrCreateServiceInstance(e,i);if(!t)throw new Error(`[invokeFunction] unknown service '${e}'`);return t}},...t)}finally{n=!0,i.stop()}}createInstance(e,...t){let i,n;return this._throwIfDisposed(),e instanceof yY.d?(i=DY.traceCreation(this._enableTracing,e.ctor),n=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=DY.traceCreation(this._enableTracing,e),n=this._createInstance(e,t,i)),i.stop(),n}_createInstance(e,t=[],i){const n=qn._$.getServiceDependencies(e).sort(((e,t)=>e.index-t.index)),s=[];for(const r of n){const t=this._getOrCreateServiceInstance(r.id,i);t||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${r.id}.`,!1),s.push(t)}const o=n.length>0?n[0].index:t.length;if(t.length!==o){console.trace(`[createInstance] First service dependency of ${e.name} at position ${o+1} conflicts with ${t.length} static arguments`);const i=o-t.length;t=i>0?t.concat(new Array(i)):t.slice(0,o)}return Reflect.construct(e,t.concat(s))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof yY.d)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setCreatedServiceInstance(e,t)}}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof yY.d?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){const n=new kY((e=>e.id.toString()));let s=0;const o=[{id:e,desc:t,_trace:i}],r=new Set;for(;o.length;){const t=o.pop();if(!r.has(String(t.id))){if(r.add(String(t.id)),n.lookupOrInsertNode(t),s++>1e3)throw new LY(n);for(const i of qn._$.getServiceDependencies(t.desc.ctor)){const s=this._getServiceInstanceOrDescriptor(i.id);if(s||this._throwIfStrict(`[createInstance] ${e} depends on ${i.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(t.id),String(i.id)),s instanceof yY.d){const e={id:i.id,desc:s,_trace:t._trace.branch(i.id,!0)};n.insertEdge(t,e),o.push(e)}}}}for(;;){const e=n.roots();if(0===e.length){if(!n.isEmpty())throw new LY(n);break}for(const{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof yY.d){const e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setCreatedServiceInstance(t.id,e)}n.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],n,s){if(this._services.get(e)instanceof yY.d)return this._createServiceInstance(e,t,i,n,s,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,n,s);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,i=[],n,s,o){if(n){const n=new xY(void 0,this._strict,this,this._enableTracing);n._globalGraphImplicitDependency=String(e);const r=new Map,a=new A.F6((()=>{const e=n._createInstance(t,i,s);for(const[t,i]of r){const n=e[t];if("function"==typeof n)for(const t of i)t.disposable=n.apply(e,t.listener)}return r.clear(),o.add(e),e}));return new Proxy(Object.create(null),{get(e,t){if(!a.isInitialized&&"string"==typeof t&&(t.startsWith("onDid")||t.startsWith("onWill"))){let e=r.get(t);e||(e=new ss.w,r.set(t,e));return(i,n,s)=>{if(a.isInitialized)return a.value[t](i,n,s);{const t={listener:[i,n,s],disposable:void 0},o=e.push(t);return(0,Ae.s)((()=>{o(),t.disposable?.dispose()}))}}}if(t in e)return e[t];const i=a.value;let n=i[t];return"function"!=typeof n||(n=n.bind(i),e[t]=n),n},set:(e,t,i)=>(a.value[t]=i,!0),getPrototypeOf:e=>t.prototype})}{const e=this._createInstance(t,i,s);return o.add(e),e}}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw new Error(e)}}class DY{static{this.all=new Set}static{this._None=new class extends DY{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(e,t){return e?new DY(2,t.name||(new Error).stack.split("\n").slice(3,4).join("\n")):DY._None}static traceCreation(e,t){return e?new DY(1,t.name):DY._None}static{this._totals=0}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new DY(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;DY._totals+=e;let t=!1;const i=[`${1===this.type?"CREATE":"CALL"} ${this.name}`,`${function e(i,n){const s=[],o=new Array(i+1).join("\t");for(const[r,a,l]of n._dep)if(a&&l){t=!0,s.push(`${o}CREATES -> ${r}`);const n=e(i+1,l);n&&s.push(n)}else s.push(`${o}uses -> ${r}`);return s.join("\n")}(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${DY._totals.toFixed(2)}ms)`];(e>2||t)&&DY.all.add(i.join("\n"))}}const NY=new Set([Pe.ny.inMemory,Pe.ny.vscodeSourceControl,Pe.ny.walkThrough,Pe.ny.walkThroughSnippet,Pe.ny.vscodeChatCodeBlock]);class IY{constructor(){this._byResource=new ki.fT,this._byOwner=new Map}set(e,t,i){let n=this._byResource.get(e);n||(n=new Map,this._byResource.set(e,n)),n.set(t,i);let s=this._byOwner.get(t);s||(s=new ki.fT,this._byOwner.set(t,s)),s.set(e,i)}get(e,t){const i=this._byResource.get(e);return i?.get(t)}delete(e,t){let i=!1,n=!1;const s=this._byResource.get(e);s&&(i=s.delete(t));const o=this._byOwner.get(t);if(o&&(n=o.delete(e)),i!==n)throw new Error("illegal state");return i&&n}values(e){return"string"==typeof e?this._byOwner.get(e)?.values()??os.f.empty():Hn.r.isUri(e)?this._byResource.get(e)?.values()??os.f.empty():os.f.map(os.f.concat(...this._byOwner.values()),(e=>e[1]))}}class EY{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new ki.fT,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const e=this._data.get(t);e&&this._substract(e);const i=this._resourceStats(t);this._add(i),this._data.set(t,i)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(NY.has(e.scheme))return t;for(const{severity:i}of this._service.read({resource:e}))i===Bp.cj.Error?t.errors+=1:i===Bp.cj.Warning?t.warnings+=1:i===Bp.cj.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class MY{constructor(){this._onMarkerChanged=new P.uI({delay:0,merge:MY._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new IY,this._stats=new EY(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if((0,na.Ct)(i)){this._data.delete(t,e)&&this._onMarkerChanged.fire([t])}else{const n=[];for(const s of i){const i=MY._toMarker(e,t,s);i&&n.push(i)}this._data.set(t,e,n),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:n,severity:s,message:o,source:r,startLineNumber:a,startColumn:l,endLineNumber:h,endColumn:d,relatedInformation:c,tags:u}=i;if(o)return a=a>0?a:1,l=l>0?l:1,h=h>=a?h:a,d=d>0?d:l,{resource:t,owner:e,code:n,severity:s,message:o,source:r,startLineNumber:a,startColumn:l,endLineNumber:h,endColumn:d,relatedInformation:c,tags:u}}changeAll(e,t){const i=[],n=this._data.values(e);if(n)for(const s of n){const t=os.f.first(s);t&&(i.push(t.resource),this._data.delete(t.resource,e))}if((0,na.EI)(t)){const n=new ki.fT;for(const{resource:s,marker:o}of t){const t=MY._toMarker(e,s,o);if(!t)continue;const r=n.get(s);r?r.push(t):(n.set(s,[t]),i.push(s))}for(const[t,i]of n)this._data.set(t,e,i)}i.length>0&&this._onMarkerChanged.fire(i)}read(e=Object.create(null)){let{owner:t,resource:i,severities:n,take:s}=e;if((!s||s<0)&&(s=-1),t&&i){const e=this._data.get(i,t);if(e){const t=[];for(const i of e)if(MY._accept(i,n)){const e=t.push(i);if(s>0&&e===s)break}return t}return[]}if(t||i){const e=this._data.values(i??t),o=[];for(const t of e)for(const e of t)if(MY._accept(e,n)){const t=o.push(e);if(s>0&&t===s)return o}return o}{const e=[];for(const t of this._data.values())for(const i of t)if(MY._accept(i,n)){const t=e.push(i);if(s>0&&t===s)return e}return e}}static _accept(e,t){return void 0===t||(t&e.severity)===e.severity}static _merge(e){const t=new ki.fT;for(const i of e)for(const e of i)t.set(e,!0);return Array.from(t.keys())}}class TY extends Ae.jG{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=Xq.createEmptyModel(this.logService)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=Xq.createEmptyModel(this.logService);const e=ds.O.as(Ac.Fd.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const n of e){const e=i[n],s=t[n];void 0!==e?this._configurationModel.setValue(n,e):s?this._configurationModel.setValue(n,s.default):this._configurationModel.removeValue(n)}}}class RY extends Ae.jG{constructor(e,t=[]){super(),this.logger=new Ns.Dk([e,...t]),this._register(e.onDidChangeLogLevel((e=>this.setLevel(e))))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}}var AY=i(35320);var PY=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},OY=function(e,t){return function(i,n){t(i,n,e)}};class FY{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new P.vl}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let WY=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new Ae.BO(new FY(t))):Promise.reject(new Error("Model not found"))}};WY=PY([OY(0,Yn.IModelService)],WY);class BY{static{this.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}}}show(){return BY.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}}class HY{static{this.NO_OP=new kd}info(e){return this.notify({severity:wd.A.Info,message:e})}warn(e){return this.notify({severity:wd.A.Warning,message:e})}error(e){return this.notify({severity:wd.A.Error,message:e})}notify(e){switch(e.severity){case wd.A.Error:console.error(e.message);break;case wd.A.Warning:console.warn(e.message);break;default:console.log(e.message)}return HY.NO_OP}prompt(e,t,i,n){return HY.NO_OP}status(e,t){return Ae.jG.None}}let VY=class{constructor(e){this._onWillExecuteCommand=new P.vl,this._onDidExecuteCommand=new P.vl,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=ls.getCommand(e);if(!i)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const n=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}};VY=PY([OY(0,qn._Y)],VY);let zY=class extends hG{constructor(e,t,i,n,s,o){super(e,t,i,n,s),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const r=e=>{const t=new Ae.Cm;t.add(Ye(e,Ut.KEY_DOWN,(e=>{const t=new N(e);this._dispatch(t,t.target)&&(t.preventDefault(),t.stopPropagation())}))),t.add(Ye(e,Ut.KEY_UP,(e=>{const t=new N(e);this._singleModifierDispatch(t,t.target)&&t.preventDefault()}))),this._domNodeListeners.push(new UY(e,t))},a=e=>{for(let t=0;t{e.getOption(61)||r(e.getContainerDomNode())};this._register(o.onCodeEditorAdd(l)),this._register(o.onCodeEditorRemove((e=>{e.getOption(61)||a(e.getContainerDomNode())}))),o.listCodeEditors().forEach(l);const h=e=>{r(e.getContainerDomNode())};this._register(o.onDiffEditorAdd(h)),this._register(o.onDiffEditorRemove((e=>{a(e.getContainerDomNode())}))),o.listDiffEditors().forEach(h)}addDynamicKeybinding(e,t,i,n){return(0,Ae.qE)(ls.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:n}]))}addDynamicKeybindings(e){const t=e.map((e=>({keybinding:C(e.keybinding,f.OS),command:e.command??null,commandArgs:e.commandArgs,when:e.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1})));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),(0,Ae.s)((()=>{for(let e=0;ethis._log(e)))}return this._cachedResolver}_documentHasFocus(){return o.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let n=0;for(const s of e){const e=s.when||void 0,o=s.keybinding;if(o){const r=pG.resolveKeybinding(o,f.OS);for(const o of r)i[n++]=new cG(o,s.command,s.commandArgs,e,t,null,!1)}else i[n++]=new cG(void 0,s.command,s.commandArgs,e,t,null,!1)}return i}resolveKeyboardEvent(e){const t=new y(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new pG([t],f.OS)}};zY=PY([OY(0,hs.fN),OY(1,as),OY(2,xs),OY(3,Sd),OY(4,Ns.rr),OY(5,Gn)],zY);class UY extends Ae.jG{constructor(e,t){super(),this.domNode=e,this._register(t)}}function KY(e){return e&&"object"==typeof e&&(!e.overrideIdentifier||"string"==typeof e.overrideIdentifier)&&(!e.resource||e.resource instanceof Hn.r)}let jY=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new P.vl,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new TY(e);this._configuration=new tG(t.reload(),Xq.createEmptyModel(e),Xq.createEmptyModel(e),Xq.createEmptyModel(e),Xq.createEmptyModel(e),Xq.createEmptyModel(e),new ki.fT,Xq.createEmptyModel(e),new ki.fT,e),t.dispose()}getValue(e,t){const i="string"==typeof e?e:void 0,n=KY(e)?e:KY(t)?t:{};return this._configuration.getValue(i,n,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const n of e){const[e,t]=n;this.getValue(e)!==t&&(this._configuration.updateValue(e,t),i.push(e))}if(i.length>0){const e=new iG({keys:i,overrides:[]},t,this._configuration,void 0,this.logService);e.source=8,this._onDidChangeConfiguration.fire(e)}return Promise.resolve()}updateValue(e,t,i,n){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}};jY=PY([OY(0,Ns.rr)],jY);let $Y=class{constructor(e,t,i){this.configurationService=e,this.modelService=t,this.languageService=i,this._onDidChangeConfiguration=new P.vl,this.configurationService.onDidChangeConfiguration((e=>{this._onDidChangeConfiguration.fire({affectedKeys:e.affectedKeys,affectsConfiguration:(t,i)=>e.affectsConfiguration(i)})}))}getValue(e,t,i){const n=Qn.y.isIPosition(t)?t:null,s=n?"string"==typeof i?i:void 0:"string"==typeof t?t:void 0,o=e?this.getLanguage(e,n):void 0;return void 0===s?this.configurationService.getValue({resource:e,overrideIdentifier:o}):this.configurationService.getValue(s,{resource:e,overrideIdentifier:o})}getLanguage(e,t){const i=this.modelService.getModel(e);return i?t?i.getLanguageIdAtPosition(t.lineNumber,t.column):i.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};$Y=PY([OY(0,Wp.pG),OY(1,Yn.IModelService),OY(2,Dh.L)],$Y);let qY=class{constructor(e){this.configurationService=e}getEOL(e,t){const i=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return i&&"string"==typeof i&&"auto"!==i?i:f.j9||f.zx?"\n":"\r\n"}};qY=PY([OY(0,Wp.pG)],qY);class GY{static{this.SCHEME="inmemory"}constructor(){const e=Hn.r.from({scheme:GY.SCHEME,authority:"model",path:"/"});this.workspace={id:Va,folders:[new Ba({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===GY.SCHEME?this.workspace.folders[0]:null}}function QY(e,t,i){if(!t)return;if(!(e instanceof jY))return;const n=[];Object.keys(t).forEach((e=>{(function(e){return Bc()[`editor.${e}`]||!1})(e)&&n.push([`editor.${e}`,t[e]]),i&&function(e){return Bc()[`diffEditor.${e}`]||!1}(e)&&n.push([`diffEditor.${e}`,t[e]])})),n.length>0&&e.updateValues(n)}let YY=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:ya.convert(e),n=new Map;for(const r of i){if(!(r instanceof Sa))throw new Error("bad edit - only text edits are supported");const e=this._modelService.getModel(r.resource);if(!e)throw new Error("bad edit - model not found");if("number"==typeof r.versionId&&e.getVersionId()!==r.versionId)throw new Error("bad state - model changed in the meantime");let t=n.get(e);t||(t=[],n.set(e,t)),t.push(Ck.replaceMove(Js.Q.lift(r.textEdit.range),r.textEdit.text))}let s=0,o=0;for(const[r,a]of n)r.pushStackElement(),r.pushEditOperations([],a,(()=>[])),r.pushStackElement(),o+=1,s+=a.length;return{ariaSummary:Ri.GP(LO.bulkEditServiceSummary,s,o),isApplied:s>0}}};YY=PY([OY(0,Yn.IModelService)],YY);let ZY=class extends Uq{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const e=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();e&&(t=e.getContainerDomNode())}return super.showContextView(e,t,i)}};ZY=PY([OY(0,dq),OY(1,Gn)],ZY);class XY extends mG.LanguageService{constructor(){super()}}let JY=class extends NG{constructor(e,t,i,n,s,o){super(e,t,i,n,s,o),this.configure({blockMouse:!1})}};JY=PY([OY(0,xs),OY(1,Sd),OY(2,vd),OY(3,Cd),OY(4,bs),OY(5,hs.fN)],JY);const eZ={amdModuleId:"vs/editor/common/services/editorSimpleWorker",esmModuleLocation:void 0,label:"editorWorkerService"};let tZ=class extends J${constructor(e,t,i,n,s){super(eZ,e,t,i,n,s)}};tZ=PY([OY(0,Yn.IModelService),OY(1,PU.ITextResourceConfigurationService),OY(2,Ns.rr),OY(3,Wo.JZ),OY(4,xa.ILanguageFeaturesService)],tZ);var iZ;(0,ul.v)(Ns.rr,class extends RY{constructor(){super(new Ns.Cr)}},0),(0,ul.v)(Wp.pG,jY,0),(0,ul.v)(PU.ITextResourceConfigurationService,$Y,0),(0,ul.v)(PU.ITextResourcePropertiesService,qY,0),(0,ul.v)(Aa,GY,0),(0,ul.v)(rN,class{getUriLabel(e,t){return"file"===e.scheme?e.fsPath:e.path}getUriBasenameLabel(e){return(0,Bn.P8)(e)}},0),(0,ul.v)(xs,class{publicLog2(){}},0),(0,ul.v)(jz,class{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let i=e;return t&&(i=i+"\n\n"+t),o.confirm(i)}async prompt(e){let t;if(this.doConfirm(e.message,e.detail)){const i=[...e.buttons??[]];e.cancelButton&&"string"!=typeof e.cancelButton&&"boolean"!=typeof e.cancelButton&&i.push(e.cancelButton),t=await(i[0]?.run({checkboxChecked:!1}))}return{result:t}}async error(e,t){await this.prompt({type:wd.A.Error,message:e,detail:t})}},0),(0,ul.v)(vB.k,class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},0),(0,ul.v)(Sd,HY,0),(0,ul.v)(Bp.DR,MY,0),(0,ul.v)(Dh.L,XY,0),(0,ul.v)(dV,Tj,0),(0,ul.v)(Yn.IModelService,FG.ModelService,0),(0,ul.v)(tm.IMarkerDecorationsService,OG.MarkerDecorationsService,0),(0,ul.v)(hs.fN,CY,0),(0,ul.v)($h,class{withProgress(e,t,i){return t({report:()=>{}})}},0),(0,ul.v)(Gh,BY,0),(0,ul.v)(bw,class extends ww{constructor(){super(),this.applicationStorage=this._register(new fw(new _w,{hint:pw.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new fw(new _w,{hint:pw.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new fw(new _w,{hint:pw.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage((e=>this.emitDidChangeValue(1,e)))),this._register(this.profileStorage.onDidChangeStorage((e=>this.emitDidChangeValue(0,e)))),this._register(this.applicationStorage.onDidChangeStorage((e=>this.emitDidChangeValue(-1,e))))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}},0),(0,ul.v)(Bw.IEditorWorkerService,tZ,0),(0,ul.v)(wa,YY,0),(0,ul.v)(zj,class{constructor(){this._neverEmitter=new P.vl,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},0),(0,ul.v)(Zn.ITextModelService,WY,0),(0,ul.v)($r,nY,0),(0,ul.v)(Gx,class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new Ae.Cm,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){e!==this._lastFocusedWidget&&(this._lastFocusedWidget?.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,this._lastFocusedWidget?.getHTMLElement().classList.add("last-focused"))}register(e,t){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=!0;new Og(Et(),"").style(_p)}if(this.lists.some((t=>t.widget===e)))throw new Error("Cannot register the same widget multiple times");const i={widget:e,extraContextKeys:t};return this.lists.push(i),St(e.getHTMLElement())&&this.setLastFocusedList(e),(0,Ae.qE)(e.onDidFocus((()=>this.setLastFocusedList(e))),(0,Ae.s)((()=>this.lists.splice(this.lists.indexOf(i),1))),e.onDidDispose((()=>{this.lists=this.lists.filter((e=>e!==i)),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)})))}dispose(){this.disposables.dispose()}},0),(0,ul.v)(as,VY,0),(0,ul.v)(Cd,zY,0),(0,ul.v)(ed,XQ,0),(0,ul.v)(vd,ZY,0),(0,ul.v)(Rh,PG,0),(0,ul.v)(jh,lY,0),(0,ul.v)(bd,JY,0),(0,ul.v)(bs,nS,0),(0,ul.v)(rE,class{async playSignal(e,t){}},0),(0,ul.v)(AY.ITreeSitterParserService,class{getParseResult(e){}},0),function(e){const t=new qC;for(const[r,a]of(0,ul.N)())t.set(r,a);const i=new xY(t,!0);t.set(qn._Y,i),e.get=function(e){n||o({});const s=t.get(e);if(!s)throw new Error("Missing service "+e);return s instanceof yY.d?i.invokeFunction((t=>t.get(e))):s};let n=!1;const s=new P.vl;function o(e){if(n)return i;n=!0;for(const[i,n]of(0,ul.N)())t.get(i)||t.set(i,n);for(const i in e)if(e.hasOwnProperty(i)){const n=(0,qn.u1)(i);t.get(n)instanceof yY.d&&t.set(n,e[i])}const o=Ww();for(const t of o)try{i.createInstance(t)}catch(r){(0,b.dz)(r)}return s.fire(),i}e.initialize=o,e.withServices=function(e){if(n)return e();const t=new Ae.Cm,i=t.add(s.event((()=>{i.dispose(),t.add(e())})));return t}}(iZ||(iZ={}));class nZ extends nq{constructor(e,t){super({amdModuleId:eZ.amdModuleId,esmModuleLocation:eZ.esmModuleLocation,label:t.label},t.keepIdleModels||!1,e),this._foreignModuleId=t.moduleId,this._foreignModuleCreateData=t.createData||null,this._foreignModuleHost=t.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||"function"!=typeof this._foreignModuleHost[e])return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then((e=>{const t=this._foreignModuleHost?(0,ql.V0)(this._foreignModuleHost):[];return e.$loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then((t=>{this._foreignModuleCreateData=null;const i=(t,i)=>e.$fmr(t,i),n=(e,t)=>function(){const i=Array.prototype.slice.call(arguments,0);return t(e,i)},s={};for(const e of t)s[e]=n(e,i);return s}))}))),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this.workerWithSyncedResources(e).then((e=>this.getProxy()))}}var sZ=i(42783);function oZ(e){return!function(e){return Array.isArray(e)}(e)}function rZ(e){return"string"==typeof e}function aZ(e){return!rZ(e)}function lZ(e){return!e}function hZ(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function dZ(e){return e.replace(/[&<>'"_]/g,"-")}function cZ(e,t){console.log(`${e.languageId}: ${t}`)}function uZ(e,t){return new Error(`${e.languageId}: ${t}`)}function gZ(e,t,i,n,s){let o=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(t,r,a,l,h,d,c,u,g){return lZ(a)?lZ(l)?!lZ(h)&&h0;){const t=e.tokenizer[i];if(t)return t;const n=i.lastIndexOf(".");i=n<0?null:i.substr(0,n)}return null}var mZ,fZ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},_Z=function(e,t){return function(i,n){t(i,n,e)}};class vZ{static{this._INSTANCE=new vZ(5)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==e&&e.depth>=this._maxCacheDepth)return new bZ(e,t);let i=bZ.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let n=this._entries[i];return n||(n=new bZ(e,t),this._entries[i]=n,n)}}class bZ{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;null!==e;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t}equals(e){return bZ._equals(this,e)}push(e){return vZ.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return vZ.create(this.parent,e)}}class CZ{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 CZ(this.languageId,this.state)}}class wZ{static{this._INSTANCE=new wZ(5)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==t)return new yZ(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new yZ(e,t);const i=bZ.getStackElementId(e);let n=this._entries[i];return n||(n=new yZ(e,null),this._entries[i]=n,n)}}class yZ{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:wZ.create(this.stack,this.embeddedLanguageData)}equals(e){return e instanceof yZ&&(!!this.stack.equals(e.stack)&&(null===this.embeddedLanguageData&&null===e.embeddedLanguageData||null!==this.embeddedLanguageData&&null!==e.embeddedLanguageData&&this.embeddedLanguageData.equals(e.embeddedLanguageData)))}}class SZ{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 La.ou(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,n){const s=i.languageId,o=i.state,r=La.dG.get(s);if(!r)return this.enterLanguage(s),this.emit(n,""),o;const a=r.tokenize(e,t,o);if(0!==n)for(const l of a.tokens)this._tokens.push(new La.ou(l.offset+n,l.type,l.language));else this._tokens=this._tokens.concat(a.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,a.endState}finalize(e){return new La.$M(this._tokens,e)}}class kZ{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){const i=1024|this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const n=null!==e?e.length:0,s=t.length,o=null!==i?i.length:0;if(0===n&&0===s&&0===o)return new Uint32Array(0);if(0===n&&0===s)return i;if(0===s&&0===o)return e;const r=new Uint32Array(n+s+o);null!==e&&r.set(e);for(let a=0;a{if(o)return;let t=!1;for(let i=0,n=e.changedLanguages.length;i{e.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))})))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=La.dG.get(t);if(i){if(i instanceof mZ){const t=i.getLoadStatus();!1===t.loaded&&e.push(t.promise)}}else La.dG.isResolved(t)||e.push(La.dG.getOrCreate(t))}return 0===e.length?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then((e=>{}))}}getInitialState(){const e=vZ.create(null,this._lexer.start);return wZ.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return(0,Ih.$H)(this._languageId,i);const n=new SZ,s=this._tokenize(e,t,i,n);return n.finalize(s)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return(0,Ih.Lh)(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const n=new kZ(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),s=this._tokenize(e,t,i,n);return n.finalize(s)}_tokenize(e,t,i,n){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,n):this._myTokenize(e,t,i,0,n)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=pZ(this._lexer,t.stack.state),!i))throw uZ(this._lexer,"tokenizer state is not defined: "+t.stack.state);let n=-1,s=!1;for(const o of i){if(!aZ(o.action)||"@pop"!==o.action.nextEmbedded)continue;s=!0;let i=o.resolveRegex(t.stack.state);const r=i.source;if("^(?:"===r.substr(0,4)&&")"===r.substr(r.length-1,1)){const e=(i.ignoreCase?"i":"")+(i.unicode?"u":"");i=new RegExp(r.substr(4,r.length-5),e)}const a=e.search(i);-1===a||0!==a&&o.matchOnlyAtLineStart||(-1===n||a0&&s.nestedLanguageTokenize(r,!1,i.embeddedLanguageData,n);const a=e.substring(o);return this._myTokenize(a,t,i,n+o,s)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,n,s){s.enterLanguage(this._languageId);const o=e.length,r=t&&this._lexer.includeLF?e+"\n":e,a=r.length;let l=i.embeddedLanguageData,h=i.stack,d=0,c=null,u=!0;for(;u||d=a)break;u=!1;let e=this._lexer.tokenizer[m];if(!e&&(e=pZ(this._lexer,m),!e))throw uZ(this._lexer,"tokenizer state is not defined: "+m);const t=r.substr(d);for(const i of e)if((0===d||!i.matchOnlyAtLineStart)&&(f=t.match(i.resolveRegex(m)),f)){_=f[0],v=i.action;break}}if(f||(f=[""],_=""),v||(d=this._lexer.maxStack)throw uZ(this._lexer,"maximum tokenizer stack size reached: ["+h.state+","+h.parent.state+",...]");h=h.push(m)}else if("@pop"===v.next){if(h.depth<=1)throw uZ(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(b));h=h.pop()}else if("@popall"===v.next)h=h.popall();else{let e=gZ(this._lexer,v.next,_,f,m);if("@"===e[0]&&(e=e.substr(1)),!pZ(this._lexer,e))throw uZ(this._lexer,"trying to set a next state '"+e+"' that is undefined in rule: "+this._safeRuleName(b));h=h.push(e)}}v.log&&"string"==typeof v.log&&cZ(this._lexer,this._lexer.languageId+": "+gZ(this._lexer,v.log,_,f,m))}if(null===w)throw uZ(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(b));const y=i=>{const o=this._languageService.getLanguageIdByLanguageName(i)||this._languageService.getLanguageIdByMimeType(i)||i,r=this._getNestedEmbeddedLanguageData(o);if(d0)throw uZ(this._lexer,"groups cannot be nested: "+this._safeRuleName(b));if(f.length!==w.length+1)throw uZ(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(b));let e=0;for(let t=1;te});class NZ{static colorizeElement(e,t,i,n){const s=(n=n||{}).theme||"vs",o=n.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!o)return console.error("Mode not detected"),Promise.resolve();const r=t.getLanguageIdByMimeType(o)||o;e.setTheme(s);const a=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+s;return this.colorize(t,a||"",r,n).then((e=>{const t=DZ?.createHTML(e)??e;i.innerHTML=t}),(e=>console.error(e)))}static async colorize(e,t,i,n){const s=e.languageIdCodec;let o=4;n&&"number"==typeof n.tabSize&&(o=n.tabSize),Ri.LU(t)&&(t=t.substr(1));const r=Ri.uz(t);if(!e.isRegisteredLanguageId(i))return IZ(r,o,s);const a=await La.dG.getOrCreate(i);return a?function(e,t,i,n){return new Promise(((s,o)=>{const r=()=>{const a=function(e,t,i,n){let s=[],o=i.getInitialState();for(let r=0,a=e.length;r"),o=l.endState}return s.join("")}(e,t,i,n);if(i instanceof LZ){const e=i.getLoadStatus();if(!1===e.loaded)return void e.promise.then(r,o)}s(a)};r()}))}(r,o,a,s):IZ(r,o,s)}static colorizeLine(e,t,i,n,s=4){const o=J_.isBasicASCII(e,t),r=J_.containsRTL(e,o,i);return mf(new hf(!1,!0,e,!1,o,r,0,n,[],s,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const n=e.getLineContent(t);e.tokenization.forceTokenization(t);const s=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(n,e.mightContainNonBasicASCII(),e.mightContainRTL(),s,i)}}function IZ(e,t,i){let n=[];const s=new Uint32Array(2);s[0]=0,s[1]=33587200;for(let o=0,r=e.length;o")}return n.join("")}var EZ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},MZ=function(e,t){return function(i,n){t(i,n,e)}};let TZ=0,RZ=!1;function AZ(e){if(!e){if(RZ)return;RZ=!0}!function(e){fi=document.createElement("div"),fi.className="monaco-aria-container";const t=()=>{const e=document.createElement("div");return e.className="monaco-alert",e.setAttribute("role","alert"),e.setAttribute("aria-atomic","true"),fi.appendChild(e),e};_i=t(),vi=t();const i=()=>{const e=document.createElement("div");return e.className="monaco-status",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),fi.appendChild(e),e};bi=i(),Ci=i(),e.appendChild(fi)}(e||o.document.body)}let PZ=class extends ZC{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u){const g={...t};g.ariaLabel=g.ariaLabel||SO.editorViewAccessibleLabel,super(e,g,{},i,n,s,o,l,h,d,c,u),this._standaloneKeybindingService=a instanceof zY?a:null,AZ(g.ariaContainerElement),od=(e,t)=>i.createInstance(ok,e,t,{}),cd=r}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const n="DYNAMIC_"+ ++TZ,s=hs.M$.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(n,e,t,s),n}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),Ae.jG.None;const t=e.id,i=e.label,n=hs.M$.and(hs.M$.equals("editorId",this.getId()),hs.M$.deserialize(e.precondition)),s=e.keybindings,o=hs.M$.and(n,hs.M$.deserialize(e.keybindingContext)),r=e.contextMenuGroupId||null,a=e.contextMenuOrder||0,l=(t,...i)=>Promise.resolve(e.run(this,...i)),h=new Ae.Cm,d=this.getId()+":"+t;if(h.add(ls.registerCommand(d,l)),r){const e={command:{id:d,title:i},when:n,group:r,order:a};h.add(ws.appendMenuItem(vs.EditorContext,e))}if(Array.isArray(s))for(const u of s)h.add(this._standaloneKeybindingService.addDynamicKeybinding(d,u,l,o));const c=new ub(d,i,i,void 0,n,((...t)=>Promise.resolve(e.run(this,...t))),this._contextKeyService);return this._actions.set(t,c),h.add((0,Ae.s)((()=>{this._actions.delete(t)}))),h}_triggerCommand(e,t){if(this._codeEditorService instanceof hq)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};PZ=EZ([MZ(2,qn._Y),MZ(3,Gn),MZ(4,as),MZ(5,hs.fN),MZ(6,sk),MZ(7,Cd),MZ(8,no.Gy),MZ(9,Sd),MZ(10,$r),MZ(11,Wo.JZ),MZ(12,xa.ILanguageFeaturesService)],PZ);let OZ=class extends PZ{constructor(e,t,i,n,s,o,r,a,l,h,d,c,u,g,p,m){const f={...t};QY(d,f,!1);const _=l.registerEditorContainer(e);"string"==typeof f.theme&&l.setTheme(f.theme),void 0!==f.autoDetectHighContrast&&l.setAutoDetectHighContrast(Boolean(f.autoDetectHighContrast));const v=f.model;let b;if(delete f.model,super(e,f,i,n,s,o,r,a,l,h,c,p,m),this._configurationService=d,this._standaloneThemeService=l,this._register(_),void 0===v){const e=g.getLanguageIdByMimeType(f.language)||f.language||Nh.vH;b=WZ(u,g,f.value||"",e,void 0),this._ownsModel=!0}else b=v,this._ownsModel=!1;if(this._attachModel(b),b){const e={oldModelUrl:null,newModelUrl:b.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){QY(this._configurationService,e,!1),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};OZ=EZ([MZ(2,qn._Y),MZ(3,Gn),MZ(4,as),MZ(5,hs.fN),MZ(6,sk),MZ(7,Cd),MZ(8,dV),MZ(9,Sd),MZ(10,Wp.pG),MZ(11,$r),MZ(12,Yn.IModelService),MZ(13,Dh.L),MZ(14,Wo.JZ),MZ(15,xa.ILanguageFeaturesService)],OZ);let FZ=class extends gT{constructor(e,t,i,n,s,o,r,a,l,h,d,c){const u={...t};QY(a,u,!0);const g=o.registerEditorContainer(e);"string"==typeof u.theme&&o.setTheme(u.theme),void 0!==u.autoDetectHighContrast&&o.setAutoDetectHighContrast(Boolean(u.autoDetectHighContrast)),super(e,u,{},n,i,s,c,h),this._configurationService=a,this._standaloneThemeService=o,this._register(g)}dispose(){super.dispose()}updateOptions(e){QY(this._configurationService,e,!0),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(PZ,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};function WZ(e,t,i,n,s){if(i=i||"",!n){const n=i.indexOf("\n");let o=i;return-1!==n&&(o=i.substring(0,n)),BZ(e,i,t.createByFilepathOrFirstLine(s||null,o),s)}return BZ(e,i,t.createById(n),s)}function BZ(e,t,i,n){return e.createModel(t,i,n)}FZ=EZ([MZ(2,qn._Y),MZ(3,hs.fN),MZ(4,Gn),MZ(5,dV),MZ(6,Sd),MZ(7,Wp.pG),MZ(8,bd),MZ(9,Gh),MZ(10,jh),MZ(11,rE)],FZ);var HZ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},VZ=function(e,t){return function(i,n){t(i,n,e)}};class zZ{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let UZ=class extends Ae.jG{constructor(e,t,i,n,s){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=n,this._viewModel=(0,WM.FY)(this,void 0),this._collapsed=(0,fg.un)(this,(e=>this._viewModel.read(e)?.collapsed.read(e))),this._editorContentHeight=(0,WM.FY)(this,500),this.contentHeight=(0,fg.un)(this,(e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight)),this._modifiedContentWidth=(0,WM.FY)(this,0),this._modifiedWidth=(0,WM.FY)(this,0),this._originalContentWidth=(0,WM.FY)(this,0),this._originalWidth=(0,WM.FY)(this,0),this.maxScroll=(0,fg.un)(this,(e=>{const t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),i=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>i?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:i,width:this._originalWidth.read(e)}})),this._elements=ui("div.multiDiffEntry",[ui("div.header@header",[ui("div.header-content",[ui("div.collapse-button@collapseButton"),ui("div.file-path",[ui("div.title.modified.show-file-icons@primaryPath",[]),ui("div.status.deleted@status",["R"]),ui("div.title.original.show-file-icons@secondaryPath",[])]),ui("div.actions@actions")])]),ui("div.editorParent",[ui("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(gT,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=BM(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=BM(this.editor.getOriginalEditor()).isFocused,this.isFocused=(0,fg.un)(this,(e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e))),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new Ae.Cm),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const o=new gd(this._elements.collapseButton,{});this._register((0,fg.fm)((e=>{o.element.className="",o.icon=this._collapsed.read(e)?bl.W.chevronRight:bl.W.chevronDown}))),this._register(o.onDidClick((()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)}))),this._register((0,fg.fm)((e=>{this._elements.editor.style.display=this._collapsed.read(e)?"none":"block"}))),this._register(this.editor.getModifiedEditor().onDidLayoutChange((e=>{const t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)}))),this._register(this.editor.getOriginalEditor().onDidLayoutChange((e=>{const t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)}))),this._register(this.editor.onDidContentSizeChange((e=>{(0,WM.YY)((t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)}))}))),this._register(this.editor.getOriginalEditor().onDidScrollChange((e=>{if(this._isSettingScrollTop)return;if(!e.scrollTopChanged||!this._data)return;const t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)}))),this._register((0,fg.fm)((e=>{const t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle("active",t)}))),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(s.createScoped(this._elements.actions));const r=this._register(this._instantiationService.createChild(new qC([hs.fN,this._contextKeyService])));this._register(r.createInstance(gS,this._elements.actions,vs.MultiDiffEditorFileToolbar,{actionRunner:this._register(new NM((()=>this._viewModel.get()?.modifiedUri))),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("navigation")},actionViewItemProvider:(e,t)=>Qy(r,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(this._data=e,!e)return void(0,WM.YY)((e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()}));const i=e.viewModel.documentDiffItem;if((0,WM.YY)((n=>{this._resourceLabel?.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:void 0===e.viewModel.modifiedUri});let s=!1,o=!1,r=!1,a="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(a="R",s=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(a="A",r=!0):(a="D",o=!0),this._elements.status.classList.toggle("renamed",s),this._elements.status.classList.toggle("deleted",o),this._elements.status.classList.toggle("added",r),this._elements.status.innerText=a,this._resourceLabel2?.setUri(s?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,n),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,n),this.editor.updateOptions(t(i.options??{}))})),i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange((()=>{this.editor.updateOptions(t(i.options??{}))}))),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,(e=>{e||this.setData(void 0)})),e.viewModel.documentDiffItem.contextKeys)for(const[n,s]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(n,s)}render(e,t,i,n){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const s=e.length-this._headerHeight,o=Math.max(0,Math.min(n.start-e.start,s));this._elements.header.style.transform=`translateY(${o}px)`,(0,WM.YY)((i=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})}));try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",o>0||i>0),this._elements.header.classList.toggle("collapsed",o===s)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};UZ=HZ([VZ(3,qn._Y),VZ(4,hs.fN)],UZ);class KZ{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(0===this._unused.size)t=this._create(e),this._itemData.set(t,e);else{const i=[...this._unused.values()];t=i.find((t=>this._itemData.get(t).getId()===e.getId()))??i[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var jZ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},$Z=function(e,t){return function(i,n){t(i,n,e)}};let qZ=class extends Ae.jG{constructor(e,t,i,n,s,o){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=n,this._parentContextKeyService=s,this._parentInstantiationService=o,this._scrollableElements=ui("div.scrollContent",[ui("div@content",{style:{overflow:"hidden"}}),ui("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new ju({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>nt(We(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new Ju(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=ui("div.monaco-component.multiDiffEditor",{},[ui("div",{},[this._scrollableElement.getDomNode()]),ui("div.placeholder@placeholder",{},[ui("div",[(0,$n.kg)("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new jI(this._element,void 0)),this._objectPool=this._register(new KZ((e=>{const t=this._instantiationService.createInstance(UZ,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t}))),this.scrollTop=(0,fg.y0)(this,this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollTop)),this.scrollLeft=(0,fg.y0)(this,this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollLeft)),this._viewItemsInfo=(0,fg.rm)(this,((e,t)=>{const i=this._viewModel.read(e);if(!i)return{items:[],getItem:e=>{throw new b.D7}};const n=i.items.read(e),s=new Map;return{items:n.map((e=>{const i=t.add(new GZ(e,this._objectPool,this.scrollLeft,(e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})}))),n=this._lastDocStates?.[i.getKey()];return n&&(0,WM.Rn)((e=>{i.setViewState(n,e)})),s.set(e,i),i})),getItem:e=>s.get(e)}})),this._viewItems=this._viewItemsInfo.map(this,(e=>e.items)),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,((e,t)=>e.reduce(((e,i)=>e+i.contentHeight.read(t)+this._spaceBetweenPx),0))),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new qC([hs.fN,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey($s.inMultiDiffEditor.key,!0),this._register((0,fg.yC)(((e,t)=>{const i=this._viewModel.read(e);if(i&&i.contextKeys)for(const[n,s]of Object.entries(i.contextKeys)){const e=this._contextKeyService.createKey(n,void 0);e.set(s),t.add((0,Ae.s)((()=>e.reset())))}})));const r=this._parentContextKeyService.createKey($s.multiDiffEditorAllCollapsed.key,!1);this._register((0,fg.fm)((e=>{const t=this._viewModel.read(e);if(t){const i=t.items.read(e).every((t=>t.collapsed.read(e)));r.set(i)}}))),this._register((0,fg.fm)((e=>{const t=this._dimension.read(e);this._sizeObserver.observe(t)}))),this._register((0,fg.fm)((e=>{const t=this._viewItems.read(e);this._elements.placeholder.classList.toggle("visible",0===t.length)}))),this._scrollableElements.content.style.position="relative",this._register((0,fg.fm)((e=>{const t=this._sizeObserver.height.read(e);this._scrollableElements.root.style.height=`${t}px`;const i=this._totalHeight.read(e);this._scrollableElements.content.style.height=`${i}px`;const n=this._sizeObserver.width.read(e);let s=n;const o=this._viewItems.read(e),r=(0,Lb.Cn)(o,(0,na.VE)((t=>t.maxScroll.read(e).maxScroll),na.U9));if(r){s=n+r.maxScroll.read(e).maxScroll}this._scrollableElement.setScrollDimensions({width:n,height:t,scrollHeight:i,scrollWidth:s})}))),e.replaceChildren(this._elements.root),this._register((0,Ae.s)((()=>{e.replaceChildren()}))),this._register(this._register((0,fg.fm)((e=>{(0,WM.YY)((t=>{this.render(e)}))}))))}render(e){const t=this.scrollTop.read(e);let i=0,n=0,s=0;const o=this._sizeObserver.height.read(e),r=sE.L.ofStartAndLength(t,o),a=this._sizeObserver.width.read(e);for(const l of this._viewItems.read(e)){const h=l.contentHeight.read(e),d=Math.min(h,o),c=sE.L.ofStartAndLength(n,d),u=sE.L.ofStartAndLength(s,h);if(u.isBefore(r))i-=h-d,l.hide();else if(u.isAfter(r))l.hide();else{const e=Math.max(0,Math.min(r.start-u.start,h-d));i-=e;const n=sE.L.ofStartAndLength(t+i,o);l.render(c,e,a,n)}n+=d+this._spaceBetweenPx,s+=h+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+i)}px)`}};qZ=jZ([$Z(4,hs.fN),$Z(5,qn._Y)],qZ);class GZ extends Ae.jG{constructor(e,t,i,n){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=n,this._templateRef=this._register((0,WM.X2)(this,void 0)),this.contentHeight=(0,fg.un)(this,(e=>this._templateRef.read(e)?.object.contentHeight?.read(e)??this.viewModel.lastTemplateData.read(e).contentHeight)),this.maxScroll=(0,fg.un)(this,(e=>this._templateRef.read(e)?.object.maxScroll.read(e)??{maxScroll:0,scrollWidth:0})),this.template=(0,fg.un)(this,(e=>this._templateRef.read(e)?.object)),this._isHidden=(0,fg.FY)(this,!1),this._isFocused=(0,fg.un)(this,(e=>this.template.read(e)?.isFocused.read(e)??!1)),this.viewModel.setIsFocused(this._isFocused,void 0),this._register((0,fg.fm)((e=>{const t=this._scrollLeft.read(e);this._templateRef.read(e)?.object.setScrollLeft(t)}))),this._register((0,fg.fm)((e=>{const t=this._templateRef.read(e);if(!t)return;if(!this._isHidden.read(e))return;t.object.isFocused.read(e)||this._clear()})))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),n=e.selections?.map(qs.L.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:n},t);const s=this._templateRef.get();s&&n&&s.object.editor.setSelections(n)}_updateTemplateData(e){const t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){const e=this._templateRef.get();e&&(0,WM.Rn)((t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)}))}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,n){this._isHidden.set(!1,void 0);let s=this._templateRef.get();if(!s){s=this._objectPool.getUnusedObj(new zZ(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(s,void 0);const e=this.viewModel.lastTemplateData.get().selections;e&&s.object.editor.setSelections(e)}s.object.render(e,i,t,n)}}(0,io.x1A)("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},(0,$n.kg)("multiDiffEditor.headerBackground","The background color of the diff editor's header")),(0,io.x1A)("multiDiffEditor.background",io.YtV,(0,$n.kg)("multiDiffEditor.background","The background color of the multi file diff editor")),(0,io.x1A)("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},(0,$n.kg)("multiDiffEditor.border","The border color of the multi file diff editor"));var QZ=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},YZ=function(e,t){return function(i,n){t(i,n,e)}};let ZZ=class extends Ae.jG{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=(0,fg.FY)(this,void 0),this._viewModel=(0,fg.FY)(this,void 0),this._widgetImpl=(0,fg.rm)(this,((e,t)=>(GE(UZ,e),t.add(this._instantiationService.createInstance(GE(qZ,e),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))))),this._register((0,fg.OI)(this._widgetImpl))}};function XZ(e,t,i){return iZ.initialize(i||{}).createInstance(OZ,e,t)}function JZ(e){return iZ.get(Gn).onCodeEditorAdd((t=>{e(t)}))}function eX(e){return iZ.get(Gn).onDiffEditorAdd((t=>{e(t)}))}function tX(){return iZ.get(Gn).listCodeEditors()}function iX(){return iZ.get(Gn).listDiffEditors()}function nX(e,t,i){return iZ.initialize(i||{}).createInstance(FZ,e,t)}function sX(e,t){const i=iZ.initialize(t||{});return new ZZ(e,{},i)}function oX(e){if("string"!=typeof e.id||"function"!=typeof e.run)throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return ls.registerCommand(e.id,e.run)}function rX(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const t=hs.M$.deserialize(e.precondition),i=new Ae.Cm;if(i.add(ls.registerCommand(e.id,((i,...n)=>Ts.runEditorCommand(i,n,t,((t,i,n)=>Promise.resolve(e.run(i,...n))))))),e.contextMenuGroupId){const n={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};i.add(ws.appendMenuItem(vs.EditorContext,n))}if(Array.isArray(e.keybindings)){const n=iZ.get(Cd);if(n instanceof zY){const s=hs.M$.and(t,hs.M$.deserialize(e.keybindingContext));i.add(n.addDynamicKeybindings(e.keybindings.map((t=>({keybinding:t,command:e.id,when:s})))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return i}function aX(e){return lX([e])}function lX(e){const t=iZ.get(Cd);return t instanceof zY?t.addDynamicKeybindings(e.map((e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:hs.M$.deserialize(e.when)})))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),Ae.jG.None)}function hX(e,t,i){const n=iZ.get(Dh.L),s=n.getLanguageIdByMimeType(t)||t;return WZ(iZ.get(Yn.IModelService),n,e,s,i)}function dX(e,t){const i=iZ.get(Dh.L),n=i.getLanguageIdByMimeType(t)||t||Nh.vH;e.setLanguage(i.createById(n))}function cX(e,t,i){if(e){iZ.get(Bp.DR).changeOne(t,e.uri,i)}}function uX(e){iZ.get(Bp.DR).changeAll(e,[])}function gX(e){return iZ.get(Bp.DR).read(e)}function pX(e){return iZ.get(Bp.DR).onMarkerChanged(e)}function mX(e){return iZ.get(Yn.IModelService).getModel(e)}function fX(){return iZ.get(Yn.IModelService).getModels()}function _X(e){return iZ.get(Yn.IModelService).onModelAdded(e)}function vX(e){return iZ.get(Yn.IModelService).onModelRemoved(e)}function bX(e){return iZ.get(Yn.IModelService).onModelLanguageChanged((t=>{e({model:t.model,oldLanguage:t.oldLanguageId})}))}function CX(e){return function(e,t){return new nZ(e,t)}(iZ.get(Yn.IModelService),e)}function wX(e,t){const i=iZ.get(Dh.L),n=iZ.get(dV);return NZ.colorizeElement(n,i,e,t).then((()=>{n.registerEditorContainer(e)}))}function yX(e,t,i){const n=iZ.get(Dh.L);return iZ.get(dV).registerEditorContainer(o.document.body),NZ.colorize(n,e,t,i)}function SX(e,t,i=4){return iZ.get(dV).registerEditorContainer(o.document.body),NZ.colorizeModelLine(e,t,i)}function kX(e,t){La.dG.getOrCreate(t);const i=function(e){const t=La.dG.get(e);return t||{getInitialState:()=>Ih.r3,tokenize:(t,i,n)=>(0,Ih.$H)(e,n)}}(t),n=(0,Ri.uz)(e),s=[];let o=i.getInitialState();for(let r=0,a=n.length;r("string"==typeof t&&(t=Hn.r.parse(t)),e.open(t))})}function EX(e){return iZ.get(Gn).registerCodeEditorOpenHandler((async(t,i,n)=>{if(!i)return null;const s=t.options?.selection;let o;return s&&"number"==typeof s.endLineNumber&&"number"==typeof s.endColumn?o=s:s&&(o={lineNumber:s.startLineNumber,column:s.startColumn}),await e.openCodeEditor(i,t.resource,o)?i:null}))}function MX(e,t){return"boolean"==typeof e?e:t}function TX(e,t){return"string"==typeof e?e:t}function RX(e,t=!1){t&&(e=e.map((function(e){return e.toLowerCase()})));const i=function(e){const t={};for(const i of e)t[i]=!0;return t}(e);return t?function(e){return void 0!==i[e.toLowerCase()]&&i.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==i[e]&&i.hasOwnProperty(e)}}function AX(e,t,i){t=t.replace(/@@/g,"\x01");let n,s=0;do{n=!1,t=t.replace(/@(\w+)/g,(function(i,s){n=!0;let o="";if("string"==typeof e[s])o=e[s];else{if(!(e[s]&&e[s]instanceof RegExp))throw void 0===e[s]?uZ(e,"language definition does not contain attribute '"+s+"', used at: "+t):uZ(e,"attribute reference '"+s+"' must be a string, used at: "+t);o=e[s].source}return lZ(o)?"":"(?:"+o+")"})),s++}while(n&&s<5);t=t.replace(/\x01/g,"@");const o=(e.ignoreCase?"i":"")+(e.unicode?"u":"");if(i){if(t.match(/\$[sS](\d\d?)/g)){let i=null,n=null;return s=>(n&&i===s||(i=s,n=new RegExp(function(e,t,i){let n=null;return t.replace(/\$[sS](\d\d?)/g,(function(t,s){return null===n&&(n=i.split("."),n.unshift(i)),!lZ(s)&&s=100){n-=100;const e=i.split(".");if(e.unshift(i),n=0&&(n.tokenSubst=!0),"string"==typeof i.bracket)if("@open"===i.bracket)n.bracket=1;else{if("@close"!==i.bracket)throw uZ(e,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+t);n.bracket=-1}if(i.next){if("string"!=typeof i.next)throw uZ(e,"the next state must be a string value in rule: "+t);{let s=i.next;if(!/^(@pop|@push|@popall)$/.test(s)&&("@"===s[0]&&(s=s.substr(1)),s.indexOf("$")<0&&!function(e,t){let i=t;for(;i&&i.length>0;){if(e.stateNames[i])return!0;const t=i.lastIndexOf(".");i=t<0?null:i.substr(0,t)}return!1}(e,gZ(e,s,"",[],""))))throw uZ(e,"the next state '"+i.next+"' is not defined in rule: "+t);n.next=s}}return"number"==typeof i.goBack&&(n.goBack=i.goBack),"string"==typeof i.switchTo&&(n.switchTo=i.switchTo),"string"==typeof i.log&&(n.log=i.log),"string"==typeof i.nextEmbedded&&(n.nextEmbedded=i.nextEmbedded,e.usesEmbedded=!0),n}}if(Array.isArray(i)){const n=[];for(let s=0,o=i.length;s0&&"^"===i[0],this.name=this.name+": "+i,this.regex=AX(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=OX(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function WX(e,t){if(!t||"object"!=typeof t)throw new Error("Monarch: expecting a language definition object");const i={languageId:e,includeLF:MX(t.includeLF,!1),noThrow:!1,maxStack:100,start:"string"==typeof t.start?t.start:null,ignoreCase:MX(t.ignoreCase,!1),unicode:MX(t.unicode,!1),tokenPostfix:TX(t.tokenPostfix,"."+e),defaultToken:TX(t.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},n=t;function s(e,o,r){for(const a of r){let r=a.include;if(r){if("string"!=typeof r)throw uZ(i,"an 'include' attribute must be a string at: "+e);if("@"===r[0]&&(r=r.substr(1)),!t.tokenizer[r])throw uZ(i,"include target '"+r+"' is not defined at: "+e);s(e+"."+r,o,t.tokenizer[r])}else{const t=new FX(e);if(Array.isArray(a)&&a.length>=1&&a.length<=3)if(t.setRegex(n,a[0]),a.length>=3)if("string"==typeof a[1])t.setAction(n,{token:a[1],next:a[2]});else{if("object"!=typeof a[1])throw uZ(i,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+e);{const e=a[1];e.next=a[2],t.setAction(n,e)}}else t.setAction(n,a[1]);else{if(!a.regex)throw uZ(i,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);a.name&&"string"==typeof a.name&&(t.name=a.name),a.matchOnlyAtStart&&(t.matchOnlyAtLineStart=MX(a.matchOnlyAtLineStart,!1)),t.setRegex(n,a.regex),t.setAction(n,a.action)}o.push(t)}}}if(n.languageId=e,n.includeLF=i.includeLF,n.ignoreCase=i.ignoreCase,n.unicode=i.unicode,n.noThrow=i.noThrow,n.usesEmbedded=i.usesEmbedded,n.stateNames=t.tokenizer,n.defaultToken=i.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw uZ(i,"a language definition must define the 'tokenizer' attribute as an object");i.tokenizer=[];for(const r in t.tokenizer)if(t.tokenizer.hasOwnProperty(r)){i.start||(i.start=r);const e=t.tokenizer[r];i.tokenizer[r]=new Array,s("tokenizer."+r,i.tokenizer[r],e)}if(i.usesEmbedded=n.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw uZ(i,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const o=[];for(const r of t.brackets){let e=r;if(e&&Array.isArray(e)&&3===e.length&&(e={token:e[2],open:e[0],close:e[1]}),e.open===e.close)throw uZ(i,"open and close brackets in a 'brackets' attribute must be different: "+e.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"!=typeof e.open||"string"!=typeof e.token||"string"!=typeof e.close)throw uZ(i,"every element in the 'brackets' array must be a '{open,close,token}' object or array");o.push({token:e.token+i.tokenPostfix,open:hZ(i,e.open),close:hZ(i,e.close)})}return i.brackets=o,i.noThrow=!0,i}function BX(e){Nh.W6.registerLanguage(e)}function HX(){let e=[];return e=e.concat(Nh.W6.getLanguages()),e}function VX(e){return iZ.get(Dh.L).languageIdCodec.encodeLanguageId(e)}function zX(e,t){return iZ.withServices((()=>{const i=iZ.get(Dh.L).onDidRequestRichLanguageFeatures((n=>{n===e&&(i.dispose(),t())}));return i}))}function UX(e,t){return iZ.withServices((()=>{const i=iZ.get(Dh.L).onDidRequestBasicLanguageFeatures((n=>{n===e&&(i.dispose(),t())}));return i}))}function KX(e,t){if(!iZ.get(Dh.L).isRegisteredLanguageId(e))throw new Error(`Cannot set configuration for unknown language ${e}`);return iZ.get(Wo.JZ).register(e,t,100)}class jX{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if("function"==typeof this._actual.tokenize)return $X.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const n=this._actual.tokenizeEncoded(e,i);return new La.rY(n.tokens,n.endState)}}class $X{constructor(e,t,i,n){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=n}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let n=0;for(let s=0,o=e.length;s0&&s[o-1]===a)continue;let h=e.startIndex;0===l?h=0:h{const i=await Promise.resolve(t.create());return i?"function"==typeof i.getInitialState?QX(e,i):new LZ(iZ.get(Dh.L),iZ.get(dV),e,WX(e,i),iZ.get(Wp.pG)):null}));return La.dG.registerFactory(e,i)}function ZX(e,t){if(!iZ.get(Dh.L).isRegisteredLanguageId(e))throw new Error(`Cannot set tokens provider for unknown language ${e}`);return qX(t)?YX(e,{create:()=>t}):La.dG.register(e,QX(e,t))}function XX(e,t){return qX(t)?YX(e,{create:()=>t}):La.dG.register(e,(t=>new LZ(iZ.get(Dh.L),iZ.get(dV),e,WX(e,t),iZ.get(Wp.pG)))(t))}function JX(e,t){return iZ.get(xa.ILanguageFeaturesService).referenceProvider.register(e,t)}function eJ(e,t){return iZ.get(xa.ILanguageFeaturesService).renameProvider.register(e,t)}function tJ(e,t){return iZ.get(xa.ILanguageFeaturesService).newSymbolNamesProvider.register(e,t)}function iJ(e,t){return iZ.get(xa.ILanguageFeaturesService).signatureHelpProvider.register(e,t)}function nJ(e,t){return iZ.get(xa.ILanguageFeaturesService).hoverProvider.register(e,{provideHover:async(e,i,n,s)=>{const o=e.getWordAtPosition(i);return Promise.resolve(t.provideHover(e,i,n,s)).then((e=>{if(e)return!e.range&&o&&(e.range=new Js.Q(i.lineNumber,o.startColumn,i.lineNumber,o.endColumn)),e.range||(e.range=new Js.Q(i.lineNumber,i.column,i.lineNumber,i.column)),e}))}})}function sJ(e,t){return iZ.get(xa.ILanguageFeaturesService).documentSymbolProvider.register(e,t)}function oJ(e,t){return iZ.get(xa.ILanguageFeaturesService).documentHighlightProvider.register(e,t)}function rJ(e,t){return iZ.get(xa.ILanguageFeaturesService).linkedEditingRangeProvider.register(e,t)}function aJ(e,t){return iZ.get(xa.ILanguageFeaturesService).definitionProvider.register(e,t)}function lJ(e,t){return iZ.get(xa.ILanguageFeaturesService).implementationProvider.register(e,t)}function hJ(e,t){return iZ.get(xa.ILanguageFeaturesService).typeDefinitionProvider.register(e,t)}function dJ(e,t){return iZ.get(xa.ILanguageFeaturesService).codeLensProvider.register(e,t)}function cJ(e,t,i){return iZ.get(xa.ILanguageFeaturesService).codeActionProvider.register(e,{providedCodeActionKinds:i?.providedCodeActionKinds,documentation:i?.documentation,provideCodeActions:(e,i,n,s)=>{const o=iZ.get(Bp.DR).read({resource:e.uri}).filter((e=>Js.Q.areIntersectingOrTouching(e,i)));return t.provideCodeActions(e,i,{markers:o,only:n.only,trigger:n.trigger},s)},resolveCodeAction:t.resolveCodeAction})}function uJ(e,t){return iZ.get(xa.ILanguageFeaturesService).documentFormattingEditProvider.register(e,t)}function gJ(e,t){return iZ.get(xa.ILanguageFeaturesService).documentRangeFormattingEditProvider.register(e,t)}function pJ(e,t){return iZ.get(xa.ILanguageFeaturesService).onTypeFormattingEditProvider.register(e,t)}function mJ(e,t){return iZ.get(xa.ILanguageFeaturesService).linkProvider.register(e,t)}function fJ(e,t){return iZ.get(xa.ILanguageFeaturesService).completionProvider.register(e,t)}function _J(e,t){return iZ.get(xa.ILanguageFeaturesService).colorProvider.register(e,t)}function vJ(e,t){return iZ.get(xa.ILanguageFeaturesService).foldingRangeProvider.register(e,t)}function bJ(e,t){return iZ.get(xa.ILanguageFeaturesService).declarationProvider.register(e,t)}function CJ(e,t){return iZ.get(xa.ILanguageFeaturesService).selectionRangeProvider.register(e,t)}function wJ(e,t){return iZ.get(xa.ILanguageFeaturesService).documentSemanticTokensProvider.register(e,t)}function yJ(e,t){return iZ.get(xa.ILanguageFeaturesService).documentRangeSemanticTokensProvider.register(e,t)}function SJ(e,t){return iZ.get(xa.ILanguageFeaturesService).inlineCompletionsProvider.register(e,t)}function kJ(e,t){return iZ.get(xa.ILanguageFeaturesService).inlineEditProvider.register(e,t)}function LJ(e,t){return iZ.get(xa.ILanguageFeaturesService).inlayHintsProvider.register(e,t)}Rc.wrappingIndent.defaultValue=0,Rc.glyphMargin.defaultValue=!1,Rc.autoIndent.defaultValue=3,Rc.overviewRulerLanes.defaultValue=2,NP.setFormatterSelector(((e,t,i)=>Promise.resolve(e[0])));const xJ=(0,F$.createMonacoBaseAPI)();xJ.editor={create:XZ,getEditors:tX,getDiffEditors:iX,onDidCreateEditor:JZ,onDidCreateDiffEditor:eX,createDiffEditor:nX,addCommand:oX,addEditorAction:rX,addKeybindingRule:aX,addKeybindingRules:lX,createModel:hX,setModelLanguage:dX,setModelMarkers:cX,getModelMarkers:gX,removeAllMarkers:uX,onDidChangeMarkers:pX,getModels:fX,getModel:mX,onDidCreateModel:_X,onWillDisposeModel:vX,onDidChangeModelLanguage:bX,createWebWorker:CX,colorizeElement:wX,colorize:yX,colorizeModelLine:SX,tokenize:kX,defineTheme:LX,setTheme:xX,remeasureFonts:DX,registerCommand:NX,registerLinkOpener:IX,registerEditorOpener:EX,AccessibilitySupport:sZ.Gn,ContentWidgetPositionPreference:sZ.Qj,CursorChangeReason:sZ.h5,DefaultEndOfLine:sZ.of,EditorAutoIndentStrategy:sZ.e0,EditorOption:sZ.p2,EndOfLinePreference:sZ.kf,EndOfLineSequence:sZ.WU,MinimapPosition:sZ.R3,MinimapSectionHeaderStyle:sZ.VX,MouseTargetType:sZ.hS,OverlayWidgetPositionPreference:sZ.dE,OverviewRulerLane:sZ.A5,GlyphMarginLane:sZ.ZS,RenderLineNumbersType:sZ.DO,RenderMinimap:sZ.hW,ScrollbarVisibility:sZ.XR,ScrollType:sZ.ov,TextEditorCursorBlinkingStyle:sZ.U7,TextEditorCursorStyle:sZ.m9,TrackedRangeStickiness:sZ.kK,WrappingIndent:sZ.tJ,InjectedTextCursorStops:sZ.VW,PositionAffinity:sZ.Ic,ShowLightbulbIconMode:sZ.jT,ConfigurationChangedEvent:Yd,BareFontInfo:gm,FontInfo:pm,TextModelResolvedOptions:eo.X2,FindMatch:eo.Dg,ApplyUpdateResult:Jd,EditorZoom:cm,createMultiFileDiffEditor:sX,EditorType:gb,EditorOptions:Rc},xJ.languages={register:BX,getLanguages:HX,onLanguage:zX,onLanguageEncountered:UX,getEncodedLanguageId:VX,setLanguageConfiguration:KX,setColorMap:GX,registerTokensProviderFactory:YX,setTokensProvider:ZX,setMonarchTokensProvider:XX,registerReferenceProvider:JX,registerRenameProvider:eJ,registerNewSymbolNameProvider:tJ,registerCompletionItemProvider:fJ,registerSignatureHelpProvider:iJ,registerHoverProvider:nJ,registerDocumentSymbolProvider:sJ,registerDocumentHighlightProvider:oJ,registerLinkedEditingRangeProvider:rJ,registerDefinitionProvider:aJ,registerImplementationProvider:lJ,registerTypeDefinitionProvider:hJ,registerCodeLensProvider:dJ,registerCodeActionProvider:cJ,registerDocumentFormattingEditProvider:uJ,registerDocumentRangeFormattingEditProvider:gJ,registerOnTypeFormattingEditProvider:pJ,registerLinkProvider:mJ,registerColorProvider:_J,registerFoldingRangeProvider:vJ,registerDeclarationProvider:bJ,registerSelectionRangeProvider:CJ,registerDocumentSemanticTokensProvider:wJ,registerDocumentRangeSemanticTokensProvider:yJ,registerInlineCompletionsProvider:SJ,registerInlineEditProvider:kJ,registerInlayHintsProvider:LJ,DocumentHighlightKind:sZ.Kb,CompletionItemKind:sZ.Io,CompletionItemTag:sZ.QP,CompletionItemInsertTextRule:sZ._E,SymbolKind:sZ.v0,SymbolTag:sZ.H_,IndentAction:sZ.l,CompletionTriggerKind:sZ.t7,SignatureHelpTriggerKind:sZ.WA,InlayHintKind:sZ.r4,InlineCompletionTriggerKind:sZ.qw,InlineEditTriggerKind:sZ.sm,CodeActionTriggerType:sZ.ok,NewSymbolNameTag:sZ.OV,NewSymbolNameTriggerKind:sZ.YT,PartialAcceptTriggerKind:sZ.Ah,HoverVerbosityAction:sZ.M$,FoldingRangeKind:La.lO,SelectedSuggestionInfo:La.GE};const DJ=xJ.CancellationTokenSource,NJ=xJ.Emitter,IJ=xJ.KeyCode,EJ=xJ.KeyMod,MJ=xJ.Position,TJ=xJ.Range,RJ=xJ.Selection,AJ=xJ.SelectionDirection,PJ=xJ.MarkerSeverity,OJ=xJ.MarkerTag,FJ=xJ.Uri,WJ=xJ.Token,BJ=xJ.editor,HJ=xJ.languages,VJ=globalThis.MonacoEnvironment;(VJ?.globalAPI||"function"==typeof define&&i.amdO)&&(globalThis.monaco=xJ),void 0!==globalThis.require&&"function"==typeof globalThis.require.config&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});var zJ,UJ,KJ=Object.defineProperty,jJ=Object.getOwnPropertyDescriptor,$J=Object.getOwnPropertyNames,qJ=Object.prototype.hasOwnProperty,GJ=(e,t,i,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of $J(t))qJ.call(e,s)||s===i||KJ(e,s,{get:()=>t[s],enumerable:!(n=jJ(t,s))||n.enumerable});return e},QJ={};GJ(QJ,zJ=s,"default"),UJ&&GJ(UJ,zJ,"default");var YJ,ZJ=new class{constructor(e,t,i){this._onDidChange=new QJ.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}("json",{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});function XJ(){return i.e(4839).then(i.bind(i,44839))}QJ.languages.json={jsonDefaults:ZJ,getWorker:()=>XJ().then((e=>e.getWorker()))},QJ.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),QJ.languages.onLanguage("json",(()=>{XJ().then((e=>e.setupMode(ZJ)))})),self.MonacoEnvironment=(YJ={editorWorkerService:"editor.worker.js",json:"json.worker.js"},{globalAPI:!1,getWorkerUrl:function(e,t){var n=i.p,s=(n?n.replace(/\/$/,"")+"/":"")+YJ[t];if(/^((http:)|(https:)|(file:)|(\/\/))/.test(s)){var o=String(window.location),r=o.substr(0,o.length-window.location.hash.length-window.location.search.length-window.location.pathname.length);if(s.substring(0,r.length)!==r){/^(\/\/)/.test(s)&&(s=window.location.protocol+s);var a=new Blob(["/*"+t+'*/importScripts("'+s+'");'],{type:"application/javascript"});return URL.createObjectURL(a)}}return s}});const JJ=n},13338:(e,t,i)=>{function n(e,t=0){return e[e.length-(1+t)]}function s(e){if(0===e.length)throw new Error("Invalid tail call");return[e.slice(0,e.length-1),e[e.length-1]]}function o(e,t,i=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let n=0,s=e.length;n0))return e;n=e-1}}return-(i+1)}(e.length,(n=>i(e[n],t)))}function l(e,t,i){if((e|=0)>=t.length)throw new TypeError("invalid index");const n=t[Math.floor(t.length*Math.random())],s=[],o=[],r=[];for(const a of t){const e=i(a,n);e<0?s.push(a):e>0?o.push(a):r.push(a)}return e!!e))}function p(e){let t=0;for(let i=0;i0}function _(e,t=e=>e){const i=new Set;return e.filter((e=>{const n=t(e);return!i.has(n)&&(i.add(n),!0)}))}function v(e,t){return e.length>0?e[0]:t}function b(e,t){let i="number"==typeof t?e:0;"number"==typeof t?i=e:(i=0,t=e);const n=[];if(i<=t)for(let s=i;st;s--)n.push(s);return n}function C(e,t,i){const n=e.slice(0,t),s=e.slice(t);return n.concat(i,s)}function w(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.unshift(t))}function y(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.push(t))}function S(e,t){for(const i of t)e.push(i)}function k(e){return Array.isArray(e)?e:[e]}function L(e,t,i,n){const s=x(e,t);let o=e.splice(s,i);return void 0===o&&(o=[]),function(e,t,i){const n=x(e,t),s=e.length,o=i.length;e.length=s+o;for(let r=s-1;r>=n;r--)e[r+o]=e[r];for(let r=0;rt(e(i),e(n))}function I(...e){return(t,i)=>{for(const n of e){const e=n(t,i);if(!D.isNeitherLessOrGreaterThan(e))return e}return D.neitherLessOrGreaterThan}}i.d(t,{$z:()=>h,Ct:()=>m,E4:()=>S,EI:()=>f,El:()=>a,Fy:()=>v,Hw:()=>T,RT:()=>n,SK:()=>p,SO:()=>l,TS:()=>M,U9:()=>E,UH:()=>r,V4:()=>L,VE:()=>N,Yc:()=>g,_A:()=>w,_j:()=>k,aI:()=>o,bS:()=>s,c1:()=>A,dM:()=>_,j3:()=>R,kj:()=>u,n:()=>d,nH:()=>I,nK:()=>C,pN:()=>c,r7:()=>y,t9:()=>P,y1:()=>b}),function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(D||(D={}));const E=(e,t)=>e-t,M=(e,t)=>E(e?1:0,t?1:0);function T(e){return(t,i)=>-e(t,i)}class R{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class A{static{this.empty=new A((e=>{}))}constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new A((t=>this.iterate((i=>!e(i)||t(i)))))}map(e){return new A((t=>this.iterate((i=>t(e(i))))))}findLast(e){let t;return this.iterate((i=>(e(i)&&(t=i),!0))),t}findLastMaxBy(e){let t,i=!0;return this.iterate((n=>((i||D.isGreaterThan(e(n,t)))&&(i=!1,t=n),!0))),t}}class P{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort(((i,n)=>t(e[i],e[n])));return new P(i)}apply(e){return e.map(((t,i)=>e[this._indexMap[i]]))}inverse(){const e=this._indexMap.slice();for(let t=0;t{function n(e,t){const i=function(e,t,i=e.length-1){for(let n=i;n>=0;n--){if(t(e[n]))return n}return-1}(e,t);if(-1!==i)return e[i]}function s(e,t){const i=o(e,t);return-1===i?void 0:e[i]}function o(e,t,i=0,n=e.length){let s=i,o=n;for(;sh,TM:()=>u,Uk:()=>n,XP:()=>r,hw:()=>a,iM:()=>o,kh:()=>c,lx:()=>s,oH:()=>g,ot:()=>d,vJ:()=>l});class l{static{this.assertInvariants=!1}constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(l.assertInvariants){if(this._prevFindLastPredicate)for(const t of this._array)if(this._prevFindLastPredicate(t)&&!e(t))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.");this._prevFindLastPredicate=e}const t=o(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,-1===t?void 0:this._array[t]}}function h(e,t){if(0===e.length)return;let i=e[0];for(let n=1;n0&&(i=s)}return i}function d(e,t){if(0===e.length)return;let i=e[0];for(let n=1;n=0&&(i=s)}return i}function c(e,t){return h(e,((e,i)=>-t(e,i)))}function u(e,t){if(0===e.length)return-1;let i=0;for(let n=1;n0&&(i=n)}return i}function g(e,t){for(const i of e){const e=t(i);if(void 0!==e)return e}}},87110:(e,t,i)=>{i.d(t,{Ft:()=>a,V7:()=>r,Xo:()=>l,ok:()=>s,xb:()=>o});var n=i(94327);function s(e,t){if(!e)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function o(e,t="Unreachable"){throw new Error(t)}function r(e){e||(0,n.dz)(new n.D7("Soft Assertion Failed"))}function a(e){e()||(e(),(0,n.dz)(new n.D7("Assertion Failed")))}function l(e,t){let i=0;for(;i{i.d(t,{$1:()=>_,$6:()=>w,A0:()=>S,AE:()=>D,EQ:()=>f,F6:()=>k,HC:()=>x,PK:()=>c,Qg:()=>h,SS:()=>d,Th:()=>p,Zv:()=>L,b7:()=>y,bI:()=>I,pc:()=>v,uC:()=>C,vb:()=>b,ve:()=>g,wR:()=>m});var n=i(78903),s=i(94327),o=i(2106),r=i(10998),a=i(63339),l=i(51055);function h(e){return!!e&&"function"==typeof e.then}function d(e){const t=new n.Qi,i=e(t.token),o=new Promise(((e,n)=>{const o=t.token.onCancellationRequested((()=>{o.dispose(),n(new s.AL)}));Promise.resolve(i).then((i=>{o.dispose(),t.dispose(),e(i)}),(e=>{o.dispose(),t.dispose(),n(e)}))}));return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return o.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return o.finally(e)}}}function c(e,t,i){return new Promise(((n,s)=>{const o=t.onCancellationRequested((()=>{o.dispose(),n(i)}));e.then(n,s).finally((()=>o.dispose()))}))}class u{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{if(this.queuedPromise=null,this.isDisposed)return;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise((t=>{this.activePromise.then(e,e).then(t)}))}return new Promise(((e,t)=>{this.queuedPromise.then(e,t)}))}return this.activePromise=e(),new Promise(((e,t)=>{this.activePromise.then((t=>{this.activePromise=null,e(t)}),(e=>{this.activePromise=null,t(e)}))}))}dispose(){this.isDisposed=!0}}class g{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((e,t)=>{this.doResolve=e,this.doReject=t})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const e=this.task;return this.task=null,e()}})));const i=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===l.h?(e=>{let t=!0;return queueMicrotask((()=>{t&&(t=!1,e())})),{isTriggered:()=>t,dispose:()=>{t=!1}}})(i):((e,t)=>{let i=!0;const n=setTimeout((()=>{i=!1,t()}),e);return{isTriggered:()=>i,dispose:()=>{clearTimeout(n),i=!1}}})(t,i),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new s.AL),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}class p{constructor(e){this.delayer=new g(e),this.throttler=new u}trigger(e,t){return this.delayer.trigger((()=>this.throttler.queue(e)),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function m(e,t){return t?new Promise(((i,n)=>{const o=setTimeout((()=>{r.dispose(),i()}),e),r=t.onCancellationRequested((()=>{clearTimeout(o),r.dispose(),n(new s.AL)}))})):d((t=>m(e,t)))}function f(e,t=0,i){const n=setTimeout((()=>{e(),i&&s.dispose()}),t),s=(0,r.s)((()=>{clearTimeout(n),i?.deleteAndLeak(s)}));return i?.add(s),s}function _(e,t=e=>!!e,i=null){let n=0;const s=e.length,o=()=>{if(n>=s)return Promise.resolve(i);const r=e[n++];return Promise.resolve(r()).then((e=>t(e)?Promise.resolve(e):o()))};return o()}class v{constructor(e,t){this._isDisposed=!1,this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new s.D7("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout((()=>{this._token=-1,e()}),t)}setIfNotSet(e,t){if(this._isDisposed)throw new s.D7("Calling 'setIfNotSet' on a disposed TimeoutTimer");-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,e()}),t))}}class b{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){if(this.isDisposed)throw new s.D7("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const n=i.setInterval((()=>{e()}),t);this.disposable=(0,r.s)((()=>{i.clearInterval(n),this.disposable=void 0}))}dispose(){this.cancel(),this.isDisposed=!0}}class C{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}let w,y;y="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{(0,a._p)((()=>{if(i)return;const e=Date.now()+15,n={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(n))}));let i=!1;return{dispose(){i||(i=!0)}}}:(e,t,i)=>{const n=e.requestIdleCallback(t,"number"==typeof i?{timeout:i}:void 0);let s=!1;return{dispose(){s||(s=!0,e.cancelIdleCallback(n))}}},w=e=>y(globalThis,e);class S{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=y(e,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class k extends S{constructor(e){super(globalThis,e)}}class L{get isRejected(){return 1===this.outcome?.outcome}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((e,t)=>{this.completeCallback=e,this.errorCallback=t}))}complete(e){return new Promise((t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()}))}error(e){return new Promise((t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()}))}cancel(){return this.error(new s.AL)}}var x;!function(e){e.settled=async function(e){let t;const i=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return i},e.withAsyncBody=function(e){return new Promise((async(t,i)=>{try{await e(t,i)}catch(n){i(n)}}))}}(x||(x={}));class D{static fromArray(e){return new D((t=>{t.emitMany(e)}))}static fromPromise(e){return new D((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new D((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new D((async t=>{await Promise.all(e.map((async e=>{for await(const i of e)t.emitOne(i)})))}))}static{this.EMPTY=D.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new o.vl,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(i){this.reject(i)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new D((async i=>{for await(const n of e)i.emitOne(t(n))}))}map(e){return D.map(this,e)}static filter(e,t){return new D((async i=>{for await(const n of e)t(n)&&i.emitOne(n)}))}filter(e){return D.filter(this,e)}static coalesce(e){return D.filter(e,(e=>!!e))}coalesce(){return D.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return D.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}class N extends D{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function I(e){const t=new n.Qi,i=e(t.token);return new N(t,(async e=>{const n=t.token.onCancellationRequested((()=>{n.dispose(),t.dispose(),e.reject(new s.AL)}));try{for await(const n of i){if(t.token.isCancellationRequested)return;e.emitOne(n)}n.dispose(),t.dispose()}catch(o){n.dispose(),t.dispose(),e.reject(o)}}))}},42802:(e,t,i)=>{i.d(t,{$l:()=>a,Gs:()=>u,MB:()=>r,Sw:()=>d,bb:()=>h,gN:()=>l,pJ:()=>c});var n=i(63946);const s="undefined"!=typeof Buffer;new n.d((()=>new Uint8Array(256)));let o;class r{static wrap(e){return s&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new r(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return s?this.buffer.toString():(o||(o=new TextDecoder),o.decode(this.buffer))}}function a(e,t){return(e[t+0]|0)>>>0|e[t+1]<<8>>>0}function l(e,t,i){e[i+0]=255&t,t>>>=8,e[i+1]=255&t}function h(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function d(e,t,i){e[i+3]=t,t>>>=8,e[i+2]=t,t>>>=8,e[i+1]=t,t>>>=8,e[i]=t}function c(e,t){return e[t]}function u(e,t,i){e[i]=t}},36260:(e,t,i)=>{function n(e){return e}i.d(t,{VV:()=>o,o5:()=>s});class s{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,"function"==typeof e?(this._fn=e,this._computeKey=n):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class o{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,"function"==typeof e?(this._fn=e,this._computeKey=n):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const i=this._fn(e);return this._map.set(e,i),this._map2.set(t,i),i}}},78903:(e,t,i)=>{i.d(t,{Qi:()=>a,XO:()=>o,bs:()=>l});var n=i(2106);const s=Object.freeze((function(e,t){const i=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(i)}}}));var o;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof r||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Jh.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s})}(o||(o={}));class r{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?s:(this._emitter||(this._emitter=new n.vl),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class a{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new r),this._token}cancel(){this._token?this._token instanceof r&&this._token.cancel():this._token=o.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof r&&this._token.dispose():this._token=o.None}}function l(e){const t=new a;return e.add({dispose(){t.cancel()}}),t.token}},2181:(e,t,i)=>{i.d(t,{W:()=>s});var n=i(19892);const s={...{add:(0,n.k)("add",6e4),plus:(0,n.k)("plus",6e4),gistNew:(0,n.k)("gist-new",6e4),repoCreate:(0,n.k)("repo-create",6e4),lightbulb:(0,n.k)("lightbulb",60001),lightBulb:(0,n.k)("light-bulb",60001),repo:(0,n.k)("repo",60002),repoDelete:(0,n.k)("repo-delete",60002),gistFork:(0,n.k)("gist-fork",60003),repoForked:(0,n.k)("repo-forked",60003),gitPullRequest:(0,n.k)("git-pull-request",60004),gitPullRequestAbandoned:(0,n.k)("git-pull-request-abandoned",60004),recordKeys:(0,n.k)("record-keys",60005),keyboard:(0,n.k)("keyboard",60005),tag:(0,n.k)("tag",60006),gitPullRequestLabel:(0,n.k)("git-pull-request-label",60006),tagAdd:(0,n.k)("tag-add",60006),tagRemove:(0,n.k)("tag-remove",60006),person:(0,n.k)("person",60007),personFollow:(0,n.k)("person-follow",60007),personOutline:(0,n.k)("person-outline",60007),personFilled:(0,n.k)("person-filled",60007),gitBranch:(0,n.k)("git-branch",60008),gitBranchCreate:(0,n.k)("git-branch-create",60008),gitBranchDelete:(0,n.k)("git-branch-delete",60008),sourceControl:(0,n.k)("source-control",60008),mirror:(0,n.k)("mirror",60009),mirrorPublic:(0,n.k)("mirror-public",60009),star:(0,n.k)("star",60010),starAdd:(0,n.k)("star-add",60010),starDelete:(0,n.k)("star-delete",60010),starEmpty:(0,n.k)("star-empty",60010),comment:(0,n.k)("comment",60011),commentAdd:(0,n.k)("comment-add",60011),alert:(0,n.k)("alert",60012),warning:(0,n.k)("warning",60012),search:(0,n.k)("search",60013),searchSave:(0,n.k)("search-save",60013),logOut:(0,n.k)("log-out",60014),signOut:(0,n.k)("sign-out",60014),logIn:(0,n.k)("log-in",60015),signIn:(0,n.k)("sign-in",60015),eye:(0,n.k)("eye",60016),eyeUnwatch:(0,n.k)("eye-unwatch",60016),eyeWatch:(0,n.k)("eye-watch",60016),circleFilled:(0,n.k)("circle-filled",60017),primitiveDot:(0,n.k)("primitive-dot",60017),closeDirty:(0,n.k)("close-dirty",60017),debugBreakpoint:(0,n.k)("debug-breakpoint",60017),debugBreakpointDisabled:(0,n.k)("debug-breakpoint-disabled",60017),debugHint:(0,n.k)("debug-hint",60017),terminalDecorationSuccess:(0,n.k)("terminal-decoration-success",60017),primitiveSquare:(0,n.k)("primitive-square",60018),edit:(0,n.k)("edit",60019),pencil:(0,n.k)("pencil",60019),info:(0,n.k)("info",60020),issueOpened:(0,n.k)("issue-opened",60020),gistPrivate:(0,n.k)("gist-private",60021),gitForkPrivate:(0,n.k)("git-fork-private",60021),lock:(0,n.k)("lock",60021),mirrorPrivate:(0,n.k)("mirror-private",60021),close:(0,n.k)("close",60022),removeClose:(0,n.k)("remove-close",60022),x:(0,n.k)("x",60022),repoSync:(0,n.k)("repo-sync",60023),sync:(0,n.k)("sync",60023),clone:(0,n.k)("clone",60024),desktopDownload:(0,n.k)("desktop-download",60024),beaker:(0,n.k)("beaker",60025),microscope:(0,n.k)("microscope",60025),vm:(0,n.k)("vm",60026),deviceDesktop:(0,n.k)("device-desktop",60026),file:(0,n.k)("file",60027),fileText:(0,n.k)("file-text",60027),more:(0,n.k)("more",60028),ellipsis:(0,n.k)("ellipsis",60028),kebabHorizontal:(0,n.k)("kebab-horizontal",60028),mailReply:(0,n.k)("mail-reply",60029),reply:(0,n.k)("reply",60029),organization:(0,n.k)("organization",60030),organizationFilled:(0,n.k)("organization-filled",60030),organizationOutline:(0,n.k)("organization-outline",60030),newFile:(0,n.k)("new-file",60031),fileAdd:(0,n.k)("file-add",60031),newFolder:(0,n.k)("new-folder",60032),fileDirectoryCreate:(0,n.k)("file-directory-create",60032),trash:(0,n.k)("trash",60033),trashcan:(0,n.k)("trashcan",60033),history:(0,n.k)("history",60034),clock:(0,n.k)("clock",60034),folder:(0,n.k)("folder",60035),fileDirectory:(0,n.k)("file-directory",60035),symbolFolder:(0,n.k)("symbol-folder",60035),logoGithub:(0,n.k)("logo-github",60036),markGithub:(0,n.k)("mark-github",60036),github:(0,n.k)("github",60036),terminal:(0,n.k)("terminal",60037),console:(0,n.k)("console",60037),repl:(0,n.k)("repl",60037),zap:(0,n.k)("zap",60038),symbolEvent:(0,n.k)("symbol-event",60038),error:(0,n.k)("error",60039),stop:(0,n.k)("stop",60039),variable:(0,n.k)("variable",60040),symbolVariable:(0,n.k)("symbol-variable",60040),array:(0,n.k)("array",60042),symbolArray:(0,n.k)("symbol-array",60042),symbolModule:(0,n.k)("symbol-module",60043),symbolPackage:(0,n.k)("symbol-package",60043),symbolNamespace:(0,n.k)("symbol-namespace",60043),symbolObject:(0,n.k)("symbol-object",60043),symbolMethod:(0,n.k)("symbol-method",60044),symbolFunction:(0,n.k)("symbol-function",60044),symbolConstructor:(0,n.k)("symbol-constructor",60044),symbolBoolean:(0,n.k)("symbol-boolean",60047),symbolNull:(0,n.k)("symbol-null",60047),symbolNumeric:(0,n.k)("symbol-numeric",60048),symbolNumber:(0,n.k)("symbol-number",60048),symbolStructure:(0,n.k)("symbol-structure",60049),symbolStruct:(0,n.k)("symbol-struct",60049),symbolParameter:(0,n.k)("symbol-parameter",60050),symbolTypeParameter:(0,n.k)("symbol-type-parameter",60050),symbolKey:(0,n.k)("symbol-key",60051),symbolText:(0,n.k)("symbol-text",60051),symbolReference:(0,n.k)("symbol-reference",60052),goToFile:(0,n.k)("go-to-file",60052),symbolEnum:(0,n.k)("symbol-enum",60053),symbolValue:(0,n.k)("symbol-value",60053),symbolRuler:(0,n.k)("symbol-ruler",60054),symbolUnit:(0,n.k)("symbol-unit",60054),activateBreakpoints:(0,n.k)("activate-breakpoints",60055),archive:(0,n.k)("archive",60056),arrowBoth:(0,n.k)("arrow-both",60057),arrowDown:(0,n.k)("arrow-down",60058),arrowLeft:(0,n.k)("arrow-left",60059),arrowRight:(0,n.k)("arrow-right",60060),arrowSmallDown:(0,n.k)("arrow-small-down",60061),arrowSmallLeft:(0,n.k)("arrow-small-left",60062),arrowSmallRight:(0,n.k)("arrow-small-right",60063),arrowSmallUp:(0,n.k)("arrow-small-up",60064),arrowUp:(0,n.k)("arrow-up",60065),bell:(0,n.k)("bell",60066),bold:(0,n.k)("bold",60067),book:(0,n.k)("book",60068),bookmark:(0,n.k)("bookmark",60069),debugBreakpointConditionalUnverified:(0,n.k)("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:(0,n.k)("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:(0,n.k)("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:(0,n.k)("debug-breakpoint-data-unverified",60072),debugBreakpointData:(0,n.k)("debug-breakpoint-data",60073),debugBreakpointDataDisabled:(0,n.k)("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:(0,n.k)("debug-breakpoint-log-unverified",60074),debugBreakpointLog:(0,n.k)("debug-breakpoint-log",60075),debugBreakpointLogDisabled:(0,n.k)("debug-breakpoint-log-disabled",60075),briefcase:(0,n.k)("briefcase",60076),broadcast:(0,n.k)("broadcast",60077),browser:(0,n.k)("browser",60078),bug:(0,n.k)("bug",60079),calendar:(0,n.k)("calendar",60080),caseSensitive:(0,n.k)("case-sensitive",60081),check:(0,n.k)("check",60082),checklist:(0,n.k)("checklist",60083),chevronDown:(0,n.k)("chevron-down",60084),chevronLeft:(0,n.k)("chevron-left",60085),chevronRight:(0,n.k)("chevron-right",60086),chevronUp:(0,n.k)("chevron-up",60087),chromeClose:(0,n.k)("chrome-close",60088),chromeMaximize:(0,n.k)("chrome-maximize",60089),chromeMinimize:(0,n.k)("chrome-minimize",60090),chromeRestore:(0,n.k)("chrome-restore",60091),circleOutline:(0,n.k)("circle-outline",60092),circle:(0,n.k)("circle",60092),debugBreakpointUnverified:(0,n.k)("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:(0,n.k)("terminal-decoration-incomplete",60092),circleSlash:(0,n.k)("circle-slash",60093),circuitBoard:(0,n.k)("circuit-board",60094),clearAll:(0,n.k)("clear-all",60095),clippy:(0,n.k)("clippy",60096),closeAll:(0,n.k)("close-all",60097),cloudDownload:(0,n.k)("cloud-download",60098),cloudUpload:(0,n.k)("cloud-upload",60099),code:(0,n.k)("code",60100),collapseAll:(0,n.k)("collapse-all",60101),colorMode:(0,n.k)("color-mode",60102),commentDiscussion:(0,n.k)("comment-discussion",60103),creditCard:(0,n.k)("credit-card",60105),dash:(0,n.k)("dash",60108),dashboard:(0,n.k)("dashboard",60109),database:(0,n.k)("database",60110),debugContinue:(0,n.k)("debug-continue",60111),debugDisconnect:(0,n.k)("debug-disconnect",60112),debugPause:(0,n.k)("debug-pause",60113),debugRestart:(0,n.k)("debug-restart",60114),debugStart:(0,n.k)("debug-start",60115),debugStepInto:(0,n.k)("debug-step-into",60116),debugStepOut:(0,n.k)("debug-step-out",60117),debugStepOver:(0,n.k)("debug-step-over",60118),debugStop:(0,n.k)("debug-stop",60119),debug:(0,n.k)("debug",60120),deviceCameraVideo:(0,n.k)("device-camera-video",60121),deviceCamera:(0,n.k)("device-camera",60122),deviceMobile:(0,n.k)("device-mobile",60123),diffAdded:(0,n.k)("diff-added",60124),diffIgnored:(0,n.k)("diff-ignored",60125),diffModified:(0,n.k)("diff-modified",60126),diffRemoved:(0,n.k)("diff-removed",60127),diffRenamed:(0,n.k)("diff-renamed",60128),diff:(0,n.k)("diff",60129),diffSidebyside:(0,n.k)("diff-sidebyside",60129),discard:(0,n.k)("discard",60130),editorLayout:(0,n.k)("editor-layout",60131),emptyWindow:(0,n.k)("empty-window",60132),exclude:(0,n.k)("exclude",60133),extensions:(0,n.k)("extensions",60134),eyeClosed:(0,n.k)("eye-closed",60135),fileBinary:(0,n.k)("file-binary",60136),fileCode:(0,n.k)("file-code",60137),fileMedia:(0,n.k)("file-media",60138),filePdf:(0,n.k)("file-pdf",60139),fileSubmodule:(0,n.k)("file-submodule",60140),fileSymlinkDirectory:(0,n.k)("file-symlink-directory",60141),fileSymlinkFile:(0,n.k)("file-symlink-file",60142),fileZip:(0,n.k)("file-zip",60143),files:(0,n.k)("files",60144),filter:(0,n.k)("filter",60145),flame:(0,n.k)("flame",60146),foldDown:(0,n.k)("fold-down",60147),foldUp:(0,n.k)("fold-up",60148),fold:(0,n.k)("fold",60149),folderActive:(0,n.k)("folder-active",60150),folderOpened:(0,n.k)("folder-opened",60151),gear:(0,n.k)("gear",60152),gift:(0,n.k)("gift",60153),gistSecret:(0,n.k)("gist-secret",60154),gist:(0,n.k)("gist",60155),gitCommit:(0,n.k)("git-commit",60156),gitCompare:(0,n.k)("git-compare",60157),compareChanges:(0,n.k)("compare-changes",60157),gitMerge:(0,n.k)("git-merge",60158),githubAction:(0,n.k)("github-action",60159),githubAlt:(0,n.k)("github-alt",60160),globe:(0,n.k)("globe",60161),grabber:(0,n.k)("grabber",60162),graph:(0,n.k)("graph",60163),gripper:(0,n.k)("gripper",60164),heart:(0,n.k)("heart",60165),home:(0,n.k)("home",60166),horizontalRule:(0,n.k)("horizontal-rule",60167),hubot:(0,n.k)("hubot",60168),inbox:(0,n.k)("inbox",60169),issueReopened:(0,n.k)("issue-reopened",60171),issues:(0,n.k)("issues",60172),italic:(0,n.k)("italic",60173),jersey:(0,n.k)("jersey",60174),json:(0,n.k)("json",60175),kebabVertical:(0,n.k)("kebab-vertical",60176),key:(0,n.k)("key",60177),law:(0,n.k)("law",60178),lightbulbAutofix:(0,n.k)("lightbulb-autofix",60179),linkExternal:(0,n.k)("link-external",60180),link:(0,n.k)("link",60181),listOrdered:(0,n.k)("list-ordered",60182),listUnordered:(0,n.k)("list-unordered",60183),liveShare:(0,n.k)("live-share",60184),loading:(0,n.k)("loading",60185),location:(0,n.k)("location",60186),mailRead:(0,n.k)("mail-read",60187),mail:(0,n.k)("mail",60188),markdown:(0,n.k)("markdown",60189),megaphone:(0,n.k)("megaphone",60190),mention:(0,n.k)("mention",60191),milestone:(0,n.k)("milestone",60192),gitPullRequestMilestone:(0,n.k)("git-pull-request-milestone",60192),mortarBoard:(0,n.k)("mortar-board",60193),move:(0,n.k)("move",60194),multipleWindows:(0,n.k)("multiple-windows",60195),mute:(0,n.k)("mute",60196),noNewline:(0,n.k)("no-newline",60197),note:(0,n.k)("note",60198),octoface:(0,n.k)("octoface",60199),openPreview:(0,n.k)("open-preview",60200),package:(0,n.k)("package",60201),paintcan:(0,n.k)("paintcan",60202),pin:(0,n.k)("pin",60203),play:(0,n.k)("play",60204),run:(0,n.k)("run",60204),plug:(0,n.k)("plug",60205),preserveCase:(0,n.k)("preserve-case",60206),preview:(0,n.k)("preview",60207),project:(0,n.k)("project",60208),pulse:(0,n.k)("pulse",60209),question:(0,n.k)("question",60210),quote:(0,n.k)("quote",60211),radioTower:(0,n.k)("radio-tower",60212),reactions:(0,n.k)("reactions",60213),references:(0,n.k)("references",60214),refresh:(0,n.k)("refresh",60215),regex:(0,n.k)("regex",60216),remoteExplorer:(0,n.k)("remote-explorer",60217),remote:(0,n.k)("remote",60218),remove:(0,n.k)("remove",60219),replaceAll:(0,n.k)("replace-all",60220),replace:(0,n.k)("replace",60221),repoClone:(0,n.k)("repo-clone",60222),repoForcePush:(0,n.k)("repo-force-push",60223),repoPull:(0,n.k)("repo-pull",60224),repoPush:(0,n.k)("repo-push",60225),report:(0,n.k)("report",60226),requestChanges:(0,n.k)("request-changes",60227),rocket:(0,n.k)("rocket",60228),rootFolderOpened:(0,n.k)("root-folder-opened",60229),rootFolder:(0,n.k)("root-folder",60230),rss:(0,n.k)("rss",60231),ruby:(0,n.k)("ruby",60232),saveAll:(0,n.k)("save-all",60233),saveAs:(0,n.k)("save-as",60234),save:(0,n.k)("save",60235),screenFull:(0,n.k)("screen-full",60236),screenNormal:(0,n.k)("screen-normal",60237),searchStop:(0,n.k)("search-stop",60238),server:(0,n.k)("server",60240),settingsGear:(0,n.k)("settings-gear",60241),settings:(0,n.k)("settings",60242),shield:(0,n.k)("shield",60243),smiley:(0,n.k)("smiley",60244),sortPrecedence:(0,n.k)("sort-precedence",60245),splitHorizontal:(0,n.k)("split-horizontal",60246),splitVertical:(0,n.k)("split-vertical",60247),squirrel:(0,n.k)("squirrel",60248),starFull:(0,n.k)("star-full",60249),starHalf:(0,n.k)("star-half",60250),symbolClass:(0,n.k)("symbol-class",60251),symbolColor:(0,n.k)("symbol-color",60252),symbolConstant:(0,n.k)("symbol-constant",60253),symbolEnumMember:(0,n.k)("symbol-enum-member",60254),symbolField:(0,n.k)("symbol-field",60255),symbolFile:(0,n.k)("symbol-file",60256),symbolInterface:(0,n.k)("symbol-interface",60257),symbolKeyword:(0,n.k)("symbol-keyword",60258),symbolMisc:(0,n.k)("symbol-misc",60259),symbolOperator:(0,n.k)("symbol-operator",60260),symbolProperty:(0,n.k)("symbol-property",60261),wrench:(0,n.k)("wrench",60261),wrenchSubaction:(0,n.k)("wrench-subaction",60261),symbolSnippet:(0,n.k)("symbol-snippet",60262),tasklist:(0,n.k)("tasklist",60263),telescope:(0,n.k)("telescope",60264),textSize:(0,n.k)("text-size",60265),threeBars:(0,n.k)("three-bars",60266),thumbsdown:(0,n.k)("thumbsdown",60267),thumbsup:(0,n.k)("thumbsup",60268),tools:(0,n.k)("tools",60269),triangleDown:(0,n.k)("triangle-down",60270),triangleLeft:(0,n.k)("triangle-left",60271),triangleRight:(0,n.k)("triangle-right",60272),triangleUp:(0,n.k)("triangle-up",60273),twitter:(0,n.k)("twitter",60274),unfold:(0,n.k)("unfold",60275),unlock:(0,n.k)("unlock",60276),unmute:(0,n.k)("unmute",60277),unverified:(0,n.k)("unverified",60278),verified:(0,n.k)("verified",60279),versions:(0,n.k)("versions",60280),vmActive:(0,n.k)("vm-active",60281),vmOutline:(0,n.k)("vm-outline",60282),vmRunning:(0,n.k)("vm-running",60283),watch:(0,n.k)("watch",60284),whitespace:(0,n.k)("whitespace",60285),wholeWord:(0,n.k)("whole-word",60286),window:(0,n.k)("window",60287),wordWrap:(0,n.k)("word-wrap",60288),zoomIn:(0,n.k)("zoom-in",60289),zoomOut:(0,n.k)("zoom-out",60290),listFilter:(0,n.k)("list-filter",60291),listFlat:(0,n.k)("list-flat",60292),listSelection:(0,n.k)("list-selection",60293),selection:(0,n.k)("selection",60293),listTree:(0,n.k)("list-tree",60294),debugBreakpointFunctionUnverified:(0,n.k)("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:(0,n.k)("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:(0,n.k)("debug-breakpoint-function-disabled",60296),debugStackframeActive:(0,n.k)("debug-stackframe-active",60297),circleSmallFilled:(0,n.k)("circle-small-filled",60298),debugStackframeDot:(0,n.k)("debug-stackframe-dot",60298),terminalDecorationMark:(0,n.k)("terminal-decoration-mark",60298),debugStackframe:(0,n.k)("debug-stackframe",60299),debugStackframeFocused:(0,n.k)("debug-stackframe-focused",60299),debugBreakpointUnsupported:(0,n.k)("debug-breakpoint-unsupported",60300),symbolString:(0,n.k)("symbol-string",60301),debugReverseContinue:(0,n.k)("debug-reverse-continue",60302),debugStepBack:(0,n.k)("debug-step-back",60303),debugRestartFrame:(0,n.k)("debug-restart-frame",60304),debugAlt:(0,n.k)("debug-alt",60305),callIncoming:(0,n.k)("call-incoming",60306),callOutgoing:(0,n.k)("call-outgoing",60307),menu:(0,n.k)("menu",60308),expandAll:(0,n.k)("expand-all",60309),feedback:(0,n.k)("feedback",60310),gitPullRequestReviewer:(0,n.k)("git-pull-request-reviewer",60310),groupByRefType:(0,n.k)("group-by-ref-type",60311),ungroupByRefType:(0,n.k)("ungroup-by-ref-type",60312),account:(0,n.k)("account",60313),gitPullRequestAssignee:(0,n.k)("git-pull-request-assignee",60313),bellDot:(0,n.k)("bell-dot",60314),debugConsole:(0,n.k)("debug-console",60315),library:(0,n.k)("library",60316),output:(0,n.k)("output",60317),runAll:(0,n.k)("run-all",60318),syncIgnored:(0,n.k)("sync-ignored",60319),pinned:(0,n.k)("pinned",60320),githubInverted:(0,n.k)("github-inverted",60321),serverProcess:(0,n.k)("server-process",60322),serverEnvironment:(0,n.k)("server-environment",60323),pass:(0,n.k)("pass",60324),issueClosed:(0,n.k)("issue-closed",60324),stopCircle:(0,n.k)("stop-circle",60325),playCircle:(0,n.k)("play-circle",60326),record:(0,n.k)("record",60327),debugAltSmall:(0,n.k)("debug-alt-small",60328),vmConnect:(0,n.k)("vm-connect",60329),cloud:(0,n.k)("cloud",60330),merge:(0,n.k)("merge",60331),export:(0,n.k)("export",60332),graphLeft:(0,n.k)("graph-left",60333),magnet:(0,n.k)("magnet",60334),notebook:(0,n.k)("notebook",60335),redo:(0,n.k)("redo",60336),checkAll:(0,n.k)("check-all",60337),pinnedDirty:(0,n.k)("pinned-dirty",60338),passFilled:(0,n.k)("pass-filled",60339),circleLargeFilled:(0,n.k)("circle-large-filled",60340),circleLarge:(0,n.k)("circle-large",60341),circleLargeOutline:(0,n.k)("circle-large-outline",60341),combine:(0,n.k)("combine",60342),gather:(0,n.k)("gather",60342),table:(0,n.k)("table",60343),variableGroup:(0,n.k)("variable-group",60344),typeHierarchy:(0,n.k)("type-hierarchy",60345),typeHierarchySub:(0,n.k)("type-hierarchy-sub",60346),typeHierarchySuper:(0,n.k)("type-hierarchy-super",60347),gitPullRequestCreate:(0,n.k)("git-pull-request-create",60348),runAbove:(0,n.k)("run-above",60349),runBelow:(0,n.k)("run-below",60350),notebookTemplate:(0,n.k)("notebook-template",60351),debugRerun:(0,n.k)("debug-rerun",60352),workspaceTrusted:(0,n.k)("workspace-trusted",60353),workspaceUntrusted:(0,n.k)("workspace-untrusted",60354),workspaceUnknown:(0,n.k)("workspace-unknown",60355),terminalCmd:(0,n.k)("terminal-cmd",60356),terminalDebian:(0,n.k)("terminal-debian",60357),terminalLinux:(0,n.k)("terminal-linux",60358),terminalPowershell:(0,n.k)("terminal-powershell",60359),terminalTmux:(0,n.k)("terminal-tmux",60360),terminalUbuntu:(0,n.k)("terminal-ubuntu",60361),terminalBash:(0,n.k)("terminal-bash",60362),arrowSwap:(0,n.k)("arrow-swap",60363),copy:(0,n.k)("copy",60364),personAdd:(0,n.k)("person-add",60365),filterFilled:(0,n.k)("filter-filled",60366),wand:(0,n.k)("wand",60367),debugLineByLine:(0,n.k)("debug-line-by-line",60368),inspect:(0,n.k)("inspect",60369),layers:(0,n.k)("layers",60370),layersDot:(0,n.k)("layers-dot",60371),layersActive:(0,n.k)("layers-active",60372),compass:(0,n.k)("compass",60373),compassDot:(0,n.k)("compass-dot",60374),compassActive:(0,n.k)("compass-active",60375),azure:(0,n.k)("azure",60376),issueDraft:(0,n.k)("issue-draft",60377),gitPullRequestClosed:(0,n.k)("git-pull-request-closed",60378),gitPullRequestDraft:(0,n.k)("git-pull-request-draft",60379),debugAll:(0,n.k)("debug-all",60380),debugCoverage:(0,n.k)("debug-coverage",60381),runErrors:(0,n.k)("run-errors",60382),folderLibrary:(0,n.k)("folder-library",60383),debugContinueSmall:(0,n.k)("debug-continue-small",60384),beakerStop:(0,n.k)("beaker-stop",60385),graphLine:(0,n.k)("graph-line",60386),graphScatter:(0,n.k)("graph-scatter",60387),pieChart:(0,n.k)("pie-chart",60388),bracket:(0,n.k)("bracket",60175),bracketDot:(0,n.k)("bracket-dot",60389),bracketError:(0,n.k)("bracket-error",60390),lockSmall:(0,n.k)("lock-small",60391),azureDevops:(0,n.k)("azure-devops",60392),verifiedFilled:(0,n.k)("verified-filled",60393),newline:(0,n.k)("newline",60394),layout:(0,n.k)("layout",60395),layoutActivitybarLeft:(0,n.k)("layout-activitybar-left",60396),layoutActivitybarRight:(0,n.k)("layout-activitybar-right",60397),layoutPanelLeft:(0,n.k)("layout-panel-left",60398),layoutPanelCenter:(0,n.k)("layout-panel-center",60399),layoutPanelJustify:(0,n.k)("layout-panel-justify",60400),layoutPanelRight:(0,n.k)("layout-panel-right",60401),layoutPanel:(0,n.k)("layout-panel",60402),layoutSidebarLeft:(0,n.k)("layout-sidebar-left",60403),layoutSidebarRight:(0,n.k)("layout-sidebar-right",60404),layoutStatusbar:(0,n.k)("layout-statusbar",60405),layoutMenubar:(0,n.k)("layout-menubar",60406),layoutCentered:(0,n.k)("layout-centered",60407),target:(0,n.k)("target",60408),indent:(0,n.k)("indent",60409),recordSmall:(0,n.k)("record-small",60410),errorSmall:(0,n.k)("error-small",60411),terminalDecorationError:(0,n.k)("terminal-decoration-error",60411),arrowCircleDown:(0,n.k)("arrow-circle-down",60412),arrowCircleLeft:(0,n.k)("arrow-circle-left",60413),arrowCircleRight:(0,n.k)("arrow-circle-right",60414),arrowCircleUp:(0,n.k)("arrow-circle-up",60415),layoutSidebarRightOff:(0,n.k)("layout-sidebar-right-off",60416),layoutPanelOff:(0,n.k)("layout-panel-off",60417),layoutSidebarLeftOff:(0,n.k)("layout-sidebar-left-off",60418),blank:(0,n.k)("blank",60419),heartFilled:(0,n.k)("heart-filled",60420),map:(0,n.k)("map",60421),mapHorizontal:(0,n.k)("map-horizontal",60421),foldHorizontal:(0,n.k)("fold-horizontal",60421),mapFilled:(0,n.k)("map-filled",60422),mapHorizontalFilled:(0,n.k)("map-horizontal-filled",60422),foldHorizontalFilled:(0,n.k)("fold-horizontal-filled",60422),circleSmall:(0,n.k)("circle-small",60423),bellSlash:(0,n.k)("bell-slash",60424),bellSlashDot:(0,n.k)("bell-slash-dot",60425),commentUnresolved:(0,n.k)("comment-unresolved",60426),gitPullRequestGoToChanges:(0,n.k)("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:(0,n.k)("git-pull-request-new-changes",60428),searchFuzzy:(0,n.k)("search-fuzzy",60429),commentDraft:(0,n.k)("comment-draft",60430),send:(0,n.k)("send",60431),sparkle:(0,n.k)("sparkle",60432),insert:(0,n.k)("insert",60433),mic:(0,n.k)("mic",60434),thumbsdownFilled:(0,n.k)("thumbsdown-filled",60435),thumbsupFilled:(0,n.k)("thumbsup-filled",60436),coffee:(0,n.k)("coffee",60437),snake:(0,n.k)("snake",60438),game:(0,n.k)("game",60439),vr:(0,n.k)("vr",60440),chip:(0,n.k)("chip",60441),piano:(0,n.k)("piano",60442),music:(0,n.k)("music",60443),micFilled:(0,n.k)("mic-filled",60444),repoFetch:(0,n.k)("repo-fetch",60445),copilot:(0,n.k)("copilot",60446),lightbulbSparkle:(0,n.k)("lightbulb-sparkle",60447),robot:(0,n.k)("robot",60448),sparkleFilled:(0,n.k)("sparkle-filled",60449),diffSingle:(0,n.k)("diff-single",60450),diffMultiple:(0,n.k)("diff-multiple",60451),surroundWith:(0,n.k)("surround-with",60452),share:(0,n.k)("share",60453),gitStash:(0,n.k)("git-stash",60454),gitStashApply:(0,n.k)("git-stash-apply",60455),gitStashPop:(0,n.k)("git-stash-pop",60456),vscode:(0,n.k)("vscode",60457),vscodeInsiders:(0,n.k)("vscode-insiders",60458),codeOss:(0,n.k)("code-oss",60459),runCoverage:(0,n.k)("run-coverage",60460),runAllCoverage:(0,n.k)("run-all-coverage",60461),coverage:(0,n.k)("coverage",60462),githubProject:(0,n.k)("github-project",60463),mapVertical:(0,n.k)("map-vertical",60464),foldVertical:(0,n.k)("fold-vertical",60464),mapVerticalFilled:(0,n.k)("map-vertical-filled",60465),foldVerticalFilled:(0,n.k)("fold-vertical-filled",60465),goToSearch:(0,n.k)("go-to-search",60466),percentage:(0,n.k)("percentage",60467),sortPercentage:(0,n.k)("sort-percentage",60467),attach:(0,n.k)("attach",60468)},...{dialogError:(0,n.k)("dialog-error","error"),dialogWarning:(0,n.k)("dialog-warning","warning"),dialogInfo:(0,n.k)("dialog-info","info"),dialogClose:(0,n.k)("dialog-close","close"),treeItemExpanded:(0,n.k)("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:(0,n.k)("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:(0,n.k)("tree-filter-on-type-off","list-selection"),treeFilterClear:(0,n.k)("tree-filter-clear","close"),treeItemLoading:(0,n.k)("tree-item-loading","loading"),menuSelection:(0,n.k)("menu-selection","check"),menuSubmenu:(0,n.k)("menu-submenu","chevron-right"),menuBarMore:(0,n.k)("menubar-more","more"),scrollbarButtonLeft:(0,n.k)("scrollbar-button-left","triangle-left"),scrollbarButtonRight:(0,n.k)("scrollbar-button-right","triangle-right"),scrollbarButtonUp:(0,n.k)("scrollbar-button-up","triangle-up"),scrollbarButtonDown:(0,n.k)("scrollbar-button-down","triangle-down"),toolBarMore:(0,n.k)("toolbar-more","more"),quickInputBack:(0,n.k)("quick-input-back","arrow-left"),dropDownButton:(0,n.k)("drop-down-button",60084),symbolCustomColor:(0,n.k)("symbol-customcolor",60252),exportIcon:(0,n.k)("export",60332),workspaceUnspecified:(0,n.k)("workspace-unspecified",60355),newLine:(0,n.k)("newline",60394),thumbsDownFilled:(0,n.k)("thumbsdown-filled",60435),thumbsUpFilled:(0,n.k)("thumbsup-filled",60436),gitFetch:(0,n.k)("git-fetch",60445),lightbulbSparkleAutofix:(0,n.k)("lightbulb-sparkle-autofix",60447),debugBreakpointPending:(0,n.k)("debug-breakpoint-pending",60377)}}},19892:(e,t,i)=>{i.d(t,{J:()=>r,k:()=>o});var n=i(79359);const s=Object.create(null);function o(e,t){if((0,n.Kg)(t)){const i=s[t];if(void 0===i)throw new Error(`${e} references an unknown codicon: ${t}`);t=i}return s[e]=t,{id:e}}function r(){return s}},88436:(e,t,i)=>{function n(e,t){const i=[],n=[];for(const s of e)t.has(s)||i.push(s);for(const s of t)e.has(s)||n.push(s);return{removed:i,added:n}}function s(e,t){const i=new Set;for(const n of t)e.has(n)&&i.add(n);return i}i.d(t,{E:()=>s,Z:()=>n})},94901:(e,t,i)=>{function n(e,t){const i=Math.pow(10,t);return Math.round(e*i)/i}i.d(t,{$J:()=>r,Q1:()=>a,bU:()=>s,hB:()=>o});class s{constructor(e,t,i,s=1){this._rgbaBrand=void 0,this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,i)),this.a=n(Math.max(Math.min(1,s),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class o{constructor(e,t,i,s){this._hslaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=n(Math.max(Math.min(1,t),0),3),this.l=n(Math.max(Math.min(1,i),0),3),this.a=n(Math.max(Math.min(1,s),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(e){const t=e.r/255,i=e.g/255,n=e.b/255,s=e.a,r=Math.max(t,i,n),a=Math.min(t,i,n);let l=0,h=0;const d=(a+r)/2,c=r-a;if(c>0){switch(h=Math.min(d<=.5?c/(2*d):c/(2-2*d),1),r){case t:l=(i-n)/c+(i1&&(i-=1),i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:n,a:r}=e;let a,l,h;if(0===i)a=l=h=n;else{const e=n<.5?n*(1+i):n+i-n*i,s=2*n-e;a=o._hue2rgb(s,e,t+1/3),l=o._hue2rgb(s,e,t),h=o._hue2rgb(s,e,t-1/3)}return new s(Math.round(255*a),Math.round(255*l),Math.round(255*h),r)}}class r{constructor(e,t,i,s){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=n(Math.max(Math.min(1,t),0),3),this.v=n(Math.max(Math.min(1,i),0),3),this.a=n(Math.max(Math.min(1,s),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(e){const t=e.r/255,i=e.g/255,n=e.b/255,s=Math.max(t,i,n),o=s-Math.min(t,i,n),a=0===s?0:o/s;let l;return l=0===o?0:s===t?((i-n)/o%6+6)%6:s===i?(n-t)/o+2:(t-i)/o+4,new r(Math.round(60*l),a,s,e.a)}static toRGBA(e){const{h:t,s:i,v:n,a:o}=e,r=n*i,a=r*(1-Math.abs(t/60%2-1)),l=n-r;let[h,d,c]=[0,0,0];return t<60?(h=r,d=a):t<120?(h=a,d=r):t<180?(d=r,c=a):t<240?(d=a,c=r):t<300?(h=a,c=r):t<=360&&(h=r,c=a),h=Math.round(255*(h+l)),d=Math.round(255*(d+l)),c=Math.round(255*(c+l)),new s(h,d,c,o)}}class a{static fromHex(e){return a.Format.CSS.parseHex(e)||a.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:o.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:r.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof s)this.rgba=e;else if(e instanceof o)this._hsla=e,this.rgba=o.toRGBA(e);else{if(!(e instanceof r))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=r.toRGBA(e)}}equals(e){return!!e&&s.equals(this.rgba,e.rgba)&&o.equals(this.hsla,e.hsla)&&r.equals(this.hsva,e.hsva)}getRelativeLuminance(){return n(.2126*a._relativeLuminanceForComponent(this.rgba.r)+.7152*a._relativeLuminanceForComponent(this.rgba.g)+.0722*a._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance(){i.d(t,{uP:()=>d,F1:()=>r});class n{constructor(e,t,i,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}var s=i(22344);class o{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,n=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new n(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class d{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[n,s,o]=d._getElements(e),[r,a,l]=d._getElements(t);this._hasStrings=o&&l,this._originalStringElements=n,this._originalElementsOrHash=s,this._modifiedStringElements=r,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(d._isStringArray(t)){const e=new Int32Array(t.length);for(let i=0,n=t.length;i=e&&s>=i&&this.ElementsAreEqual(t,s);)t--,s--;if(e>t||i>s){let o;return i<=s?(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o=[new n(e,0,i,s-i+1)]):e<=t?(a.Assert(i===s+1,"modifiedStart should only be one more than modifiedEnd"),o=[new n(e,t-e+1,i,0)]):(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a.Assert(i===s+1,"modifiedStart should only be one more than modifiedEnd"),o=[]),o}const r=[0],l=[0],h=this.ComputeRecursionPoint(e,t,i,s,r,l,o),d=r[0],c=l[0];if(null!==h)return h;if(!o[0]){const r=this.ComputeDiffRecursive(e,d,i,c,o);let a=[];return a=o[0]?[new n(d+1,t-(d+1)+1,c+1,s-(c+1)+1)]:this.ComputeDiffRecursive(d+1,t,c+1,s,o),this.ConcatenateChanges(r,a)}return[new n(e,t-e+1,i,s-i+1)]}WALKTRACE(e,t,i,s,o,r,a,l,d,c,u,g,p,m,f,_,v,b){let C=null,w=null,y=new h,S=t,k=i,L=p[0]-_[0]-s,x=-1073741824,D=this.m_forwardHistory.length-1;do{const t=L+e;t===S||t=0&&(e=(d=this.m_forwardHistory[D])[0],S=1,k=d.length-1)}while(--D>=-1);if(C=y.getReverseChanges(),b[0]){let e=p[0]+1,t=_[0]+1;if(null!==C&&C.length>0){const i=C[C.length-1];e=Math.max(e,i.getOriginalEnd()),t=Math.max(t,i.getModifiedEnd())}w=[new n(e,g-e+1,t,f-t+1)]}else{y=new h,S=r,k=a,L=p[0]-_[0]-l,x=1073741824,D=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=L+o;e===S||e=c[e+1]?(m=(u=c[e+1]-1)-L-l,u>x&&y.MarkNextChange(),x=u+1,y.AddOriginalElement(u+1,m+1),L=e+1-o):(m=(u=c[e-1])-L-l,u>x&&y.MarkNextChange(),x=u,y.AddModifiedElement(u+1,m+1),L=e-1-o),D>=0&&(o=(c=this.m_reverseHistory[D])[0],S=1,k=c.length-1)}while(--D>=-1);w=y.getChanges()}return this.ConcatenateChanges(C,w)}ComputeRecursionPoint(e,t,i,s,o,r,a){let h=0,d=0,c=0,u=0,g=0,p=0;e--,i--,o[0]=0,r[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const m=t-e+(s-i),f=m+1,_=new Int32Array(f),v=new Int32Array(f),b=s-i,C=t-e,w=e-i,y=t-s,S=(C-b)%2==0;_[b]=e,v[C]=t,a[0]=!1;for(let k=1;k<=m/2+1;k++){let m=0,L=0;c=this.ClipDiagonalBound(b-k,k,b,f),u=this.ClipDiagonalBound(b+k,k,b,f);for(let e=c;e<=u;e+=2){h=e===c||em+L&&(m=h,L=d),!S&&Math.abs(e-C)<=k-1&&h>=v[e])return o[0]=h,r[0]=d,i<=v[e]&&k<=1448?this.WALKTRACE(b,c,u,w,C,g,p,y,_,v,h,t,o,d,s,r,S,a):null}const x=(m-e+(L-i)-k)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(m,x))return a[0]=!0,o[0]=m,r[0]=L,x>0&&k<=1448?this.WALKTRACE(b,c,u,w,C,g,p,y,_,v,h,t,o,d,s,r,S,a):(e++,i++,[new n(e,t-e+1,i,s-i+1)]);g=this.ClipDiagonalBound(C-k,k,C,f),p=this.ClipDiagonalBound(C+k,k,C,f);for(let n=g;n<=p;n+=2){h=n===g||n=v[n+1]?v[n+1]-1:v[n-1],d=h-(n-C)-y;const l=h;for(;h>e&&d>i&&this.ElementsAreEqual(h,d);)h--,d--;if(v[n]=h,S&&Math.abs(n-b)<=k&&h<=_[n])return o[0]=h,r[0]=d,l>=_[n]&&k<=1448?this.WALKTRACE(b,c,u,w,C,g,p,y,_,v,h,t,o,d,s,r,S,a):null}if(k<=1447){let e=new Int32Array(u-c+2);e[0]=b-c+1,l.Copy2(_,c,e,1,u-c+1),this.m_forwardHistory.push(e),e=new Int32Array(p-g+2),e[0]=C-g+1,l.Copy2(v,g,e,1,p-g+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(b,c,u,w,C,g,p,y,_,v,h,t,o,d,s,r,S,a)}PrettifyChanges(e){for(let t=0;t0,r=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let n=0,s=0;if(t>0){const i=e[t-1];n=i.originalStart+i.originalLength,s=i.modifiedStart+i.modifiedLength}const o=i.originalLength>0,r=i.modifiedLength>0;let a=0,l=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let e=1;;e++){const t=i.originalStart-e,h=i.modifiedStart-e;if(tl&&(l=d,a=e)}i.originalStart-=a,i.modifiedStart-=a;const h=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],h)&&(e[t-1]=h[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,i=e.length;t0&&t>a&&(a=t,l=d,h=e)}return a>0?[l,h]:null}_contiguousSequenceScore(e,t,i){let n=0;for(let s=0;s=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,n){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(i,n)?1:0)}ConcatenateChanges(e,t){const i=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const n=new Array(e.length+t.length-1);return l.Copy(e,0,n,0,e.length-1),n[e.length-1]=i[0],l.Copy(t,1,n,e.length,t.length-1),n}{const i=new Array(e.length+t.length);return l.Copy(e,0,i,0,e.length),l.Copy(t,0,i,e.length,t.length),i}}ChangesOverlap(e,t,i){if(a.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),a.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const s=e.originalStart;let o=e.originalLength;const r=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new n(s,o,r,a),!0}return i[0]=null,!1}ClipDiagonalBound(e,t,i,n){if(e>=0&&e{i.d(t,{KC:()=>a,S3:()=>o,dB:()=>l,nx:()=>s,r:()=>r});var n=i(13338);const s=(e,t)=>e===t;function o(e=s){return(t,i)=>n.aI(t,i,e)}function r(){return(e,t)=>e.equals(t)}function a(e,t,i){if(void 0!==i){const n=e;return null==n||null==t?t===n:i(n,t)}{const t=e;return(e,i)=>null==e||null==i?i===e:t(e,i)}}function l(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let i=0;i{i.d(t,{AL:()=>h,D7:()=>m,EM:()=>g,MB:()=>l,M_:()=>o,Qg:()=>c,aD:()=>d,cU:()=>r,dz:()=>s,iH:()=>u});const n=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(p.isErrorNoTelemetry(e))throw new p(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function s(e){l(e)||n.onUnexpectedError(e)}function o(e){l(e)||n.onUnexpectedExternalError(e)}function r(e){if(e instanceof Error){const{name:t,message:i}=e;return{$isError:!0,name:t,message:i,stack:e.stacktrace||e.stack,noTelemetry:p.isErrorNoTelemetry(e)}}return e}const a="Canceled";function l(e){return e instanceof h||e instanceof Error&&e.name===a&&e.message===a}class h extends Error{constructor(){super(a),this.name=this.message}}function d(){const e=new Error(a);return e.name=e.message,e}function c(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function u(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class g extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class p extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof p)return e;const t=new p;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class m extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,m.prototype)}}},2106:(e,t,i)=>{i.d(t,{Jh:()=>l,QT:()=>w,Qy:()=>_,Wj:()=>k,_B:()=>y,at:()=>S,fV:()=>b,uI:()=>C,vl:()=>f});var n=i(94327),s=i(48289),o=i(10998),r=i(85525),a=i(23013);var l;!function(e){function t(e){false}function i(e){return(t,i=null,n)=>{let s,o=!1;return s=e((e=>{if(!o)return s?s.dispose():o=!0,t.call(i,e)}),null,n),o&&s.dispose(),s}}function n(e,t,i){return r(((i,n=null,s)=>e((e=>i.call(n,t(e))),null,s)),i)}function s(e,t,i){return r(((i,n=null,s)=>e((e=>t(e)&&i.call(n,e)),null,s)),i)}function r(e,i){let n;const s={onWillAddFirstListener(){n=e(o.fire,o)},onDidRemoveLastListener(){n?.dispose()}};i||t();const o=new f(s);return i?.add(o),o.event}function a(e,i,n=100,s=!1,o=!1,r,a){let l,h,d,c,u=0;const g={leakWarningThreshold:r,onWillAddFirstListener(){l=e((e=>{u++,h=i(h,e),s&&!d&&(p.fire(h),h=void 0),c=()=>{const e=h;h=void 0,d=void 0,(!s||u>1)&&p.fire(e),u=0},"number"==typeof n?(clearTimeout(d),d=setTimeout(c,n)):void 0===d&&(d=0,queueMicrotask(c))}))},onWillRemoveListener(){o&&u>0&&c?.()},onDidRemoveLastListener(){c=void 0,l.dispose()}};a||t();const p=new f(g);return a?.add(p),p.event}e.None=()=>o.jG.None,e.defer=function(e,t){return a(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=i,e.onceIf=function(t,i){return e.once(e.filter(t,i))},e.map=n,e.forEach=function(e,t,i){return r(((i,n=null,s)=>e((e=>{t(e),i.call(n,e)}),null,s)),i)},e.filter=s,e.signal=function(e){return e},e.any=function(...e){return(t,i=null,n)=>function(e,t){t instanceof Array?t.push(e):t&&t.add(e);return e}((0,o.qE)(...e.map((e=>e((e=>t.call(i,e)))))),n)},e.reduce=function(e,t,i,s){let o=i;return n(e,(e=>(o=t(o,e),o)),s)},e.debounce=a,e.accumulate=function(t,i=0,n){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),i,void 0,!0,void 0,n)},e.latch=function(e,t=(e,t)=>e===t,i){let n,o=!0;return s(e,(e=>{const i=o||!t(e,n);return o=!1,n=e,i}),i)},e.split=function(t,i,n){return[e.filter(t,i,n),e.filter(t,(e=>!i(e)),n)]},e.buffer=function(e,t=!1,i=[],n){let s=i.slice(),o=e((e=>{s?s.push(e):a.fire(e)}));n&&n.add(o);const r=()=>{s?.forEach((e=>a.fire(e))),s=null},a=new f({onWillAddFirstListener(){o||(o=e((e=>a.fire(e))),n&&n.add(o))},onDidAddFirstListener(){s&&(t?setTimeout(r):r())},onDidRemoveLastListener(){o&&o.dispose(),o=null}});return n&&n.add(a),a.event},e.chain=function(e,t){return(i,n,s)=>{const o=t(new h);return e((function(e){const t=o.evaluate(e);t!==l&&i.call(n,t)}),void 0,s)}};const l=Symbol("HaltChainable");class h{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:l)),this}reduce(e,t){let i=t;return this.steps.push((t=>(i=e(i,t),i))),this}latch(e=(e,t)=>e===t){let t,i=!0;return this.steps.push((n=>{const s=i||!e(n,t);return i=!1,t=n,s?n:l})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===l)break;return e}}e.fromNodeEventEmitter=function(e,t,i=e=>e){const n=(...e)=>s.fire(i(...e)),s=new f({onWillAddFirstListener:()=>e.on(t,n),onDidRemoveLastListener:()=>e.removeListener(t,n)});return s.event},e.fromDOMEventEmitter=function(e,t,i=e=>e){const n=(...e)=>s.fire(i(...e)),s=new f({onWillAddFirstListener:()=>e.addEventListener(t,n),onDidRemoveLastListener:()=>e.removeEventListener(t,n)});return s.event},e.toPromise=function(e){return new Promise((t=>i(e)(t)))},e.fromPromise=function(e){const t=new f;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.forward=function(e,t){return e((e=>t.fire(e)))},e.runAndSubscribe=function(e,t,i){return t(i),e((e=>t(e)))};class d{constructor(e,i){this._observable=e,this._counter=0,this._hasChanged=!1;const n={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};i||t(),this.emitter=new f(n),i&&i.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new d(e,t).emitter.event},e.fromObservableLight=function(e){return(t,i,n)=>{let s=0,r=!1;const a={beginUpdate(){s++},endUpdate(){s--,0===s&&(e.reportChanges(),r&&(r=!1,t.call(i)))},handlePossibleChange(){},handleChange(){r=!0}};e.addObserver(a),e.reportChanges();const l={dispose(){e.removeObserver(a)}};return n instanceof o.Cm?n.add(l):Array.isArray(n)&&n.push(l),l}}}(l||(l={}));class h{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${h._idPool++}`,h.all.add(this)}start(e){this._stopWatch=new a.W,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}class d{static{this._idPool=1}constructor(e,t,i=(d._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[i,n]of this._stacks)(!e||t{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],i=new g(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||n.dz)(i),o.jG.None}if(this._disposed)return o.jG.None;t&&(e=e.bind(t));const s=new p(e);let r;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(s.stack=c.create(),r=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof p?(this._deliveryQueue??=new v,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=(0,o.s)((()=>{m?.unregister(a),r?.(),this._removeListener(s)}));if(i instanceof o.Cm?i.add(a):Array.isArray(i)&&i.push(a),m){const e=(new Error).stack.split("\n").slice(2,3).join("\n").trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);m.register(a,t?.[2]??e,a)}return a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,i=t.indexOf(e);if(-1===i)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;const n=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let i=0;i0}}const _=()=>new v;class v{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class b extends f{constructor(e){super(e),this._isPaused=0,this._eventQueue=new r.w,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}}class C extends b{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(e)}}class w extends f{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((e=>super.fire(e))),this._queuedEvents=[]})))}}class y{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new f({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};this.events.push(t),this.hasListeners&&this.hook(t);return(0,o.s)((0,s.P)((()=>{this.hasListeners&&this.unhook(t);const e=this.events.indexOf(t);this.events.splice(e,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((e=>this.hook(e)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((e=>this.unhook(e)))}hook(e){e.listener=e.event((e=>this.emitter.fire(e)))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(const e of this.events)e.listener?.dispose();this.events=[]}}class S{constructor(){this.data=[]}wrapEvent(e,t,i){return(n,s,o)=>e((e=>{const o=this.data[this.data.length-1];if(!t)return void(o?o.buffers.push((()=>n.call(s,e))):n.call(s,e));const r=o;r?(r.items??=[],r.items.push(e),0===r.buffers.length&&o.buffers.push((()=>{r.reducedResult??=i?r.items.reduce(t,i):r.items.reduce(t),n.call(s,r.reducedResult)}))):n.call(s,t(i,e))}),void 0,o)}bufferEvents(e){const t={buffers:new Array};this.data.push(t);const i=e();return this.data.pop(),t.buffers.forEach((e=>e())),i}}class k{constructor(){this.listening=!1,this.inputEvent=l.None,this.inputEventListener=o.jG.None,this.emitter=new f({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}},78518:(e,t,i)=>{i.d(t,{No:()=>u,TH:()=>a,Zn:()=>h,_1:()=>d,kb:()=>l});var n=i(18019),s=i(63339),o=i(16844);function r(e){return 47===e||92===e}function a(e){return e.replace(/[\\/]/g,n.SA.sep)}function l(e){return-1===e.indexOf("/")&&(e=a(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e="/"+e),e}function h(e,t=n.SA.sep){if(!e)return"";const i=e.length,s=e.charCodeAt(0);if(r(s)){if(r(e.charCodeAt(1))&&!r(e.charCodeAt(2))){let n=3;const s=n;for(;ne.length)return!1;if(i){if(!(0,o.ns)(e,t))return!1;if(t.length===e.length)return!0;let i=t.length;return t.charAt(t.length-1)===s&&i--,e.charAt(i)===s}return t.charAt(t.length-1)!==s&&(t+=s),0===e.indexOf(t)}function c(e){return e>=65&&e<=90||e>=97&&e<=122}function u(e,t=s.uF){return!!t&&(c(e.charCodeAt(0))&&58===e.charCodeAt(1))}},48289:(e,t,i)=>{function n(e,t){const i=this;let n,s=!1;return function(){if(s)return n;if(s=!0,t)try{n=e.apply(i,arguments)}finally{t()}else n=e.apply(i,arguments);return n}}i.d(t,{P:()=>n})},83958:(e,t,i)=>{i.d(t,{YW:()=>E,qg:()=>M});var n=i(65958),s=i(78518),o=i(27992),r=i(18019),a=i(63339),l=i(16844);const h="**",d="/",c="[/\\\\]",u="[^/\\\\]",g=/\//g;function p(e,t){switch(e){case 0:return"";case 1:return`${u}*?`;default:return`(?:${c}|${u}+${c}${t?`|${c}${u}+`:""})*?`}}function m(e,t){if(!e)return[];const i=[];let n=!1,s=!1,o="";for(const r of e){switch(r){case t:if(!n&&!s){i.push(o),o="";continue}break;case"{":n=!0;break;case"}":n=!1;break;case"[":s=!0;break;case"]":s=!1}o+=r}return o&&i.push(o),i}function f(e){if(!e)return"";let t="";const i=m(e,d);if(i.every((e=>e===h)))t=".*";else{let e=!1;i.forEach(((n,s)=>{if(n===h){if(e)return;t+=p(2,s===i.length-1)}else{let e=!1,o="",r=!1,a="";for(const i of n)if("}"!==i&&e)o+=i;else if(!r||"]"===i&&a)switch(i){case"{":e=!0;continue;case"[":r=!0;continue;case"}":{const i=`(?:${m(o,",").map((e=>f(e))).join("|")})`;t+=i,e=!1,o="";break}case"]":t+="["+a+"]",r=!1,a="";break;case"?":t+=u;continue;case"*":t+=p(1);continue;default:t+=(0,l.bm)(i)}else{let e;e="-"===i?i:"^"!==i&&"!"!==i||a?i===d?"":(0,l.bm)(i):"^",a+=e}sx(e,t))).filter((e=>e!==L)),e),n=i.length;if(!n)return L;if(1===n)return i[0];const s=function(t,n){for(let s=0,o=i.length;s!!e.allBasenames));o&&(s.allBasenames=o.allBasenames);const r=i.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);r.length&&(s.allPaths=r);return s}(i,t):(s=w.exec(N(i,t)))?I(s[1].substr(1),i,!0):(s=y.exec(N(i,t)))?I(s[1],i,!1):function(e){try{const t=new RegExp(`^${f(e)}$`);return function(i){return t.lastIndex=0,"string"==typeof i&&t.test(i)?e:null}}catch(t){return L}}(i),S.set(n,o)),D(o,e)}function D(e,t){if("string"==typeof t)return e;const i=function(i,n){return(0,s._1)(i,t.base,!a.j9)?e((0,l.NB)(i.substr(t.base.length),r.Vn),n):null};return i.allBasenames=e.allBasenames,i.allPaths=e.allPaths,i.basenames=e.basenames,i.patterns=e.patterns,i}function N(e,t){return t.trimForExclusions&&e.endsWith("/**")?e.substr(0,e.length-2):e}function I(e,t,i){const n=r.Vn===r.SA.sep,s=n?e:e.replace(g,r.Vn),o=r.Vn+s,a=r.SA.sep+e;let l;return l=i?function(i,r){return"string"!=typeof i||i!==s&&!i.endsWith(o)&&(n||i!==e&&!i.endsWith(a))?null:t}:function(i,o){return"string"!=typeof i||i!==s&&(n||i!==e)?null:t},l.allPaths=[(i?"*/":"./")+e],l}function E(e,t,i){return!(!e||"string"!=typeof t)&&M(e)(t,void 0,i)}function M(e,t={}){if(!e)return k;if("string"==typeof e||function(e){const t=e;if(!t)return!1;return"string"==typeof t.base&&"string"==typeof t.pattern}(e)){const i=x(e,t);if(i===L)return k;const n=function(e,t){return!!i(e,t)};return i.allBasenames&&(n.allBasenames=i.allBasenames),i.allPaths&&(n.allPaths=i.allPaths),n}return function(e,t){const i=T(Object.getOwnPropertyNames(e).map((i=>function(e,t,i){if(!1===t)return L;const s=x(e,i);if(s===L)return L;if("boolean"==typeof t)return s;if(t){const i=t.when;if("string"==typeof i){const t=(t,o,r,a)=>{if(!a||!s(t,o))return null;const l=a(i.replace("$(basename)",(()=>r)));return(0,n.Qg)(l)?l.then((t=>t?e:null)):l?e:null};return t.requiresSiblings=!0,t}}return s}(i,e[i],t))).filter((e=>e!==L))),s=i.length;if(!s)return L;if(!i.some((e=>!!e.requiresSiblings))){if(1===s)return i[0];const e=function(e,t){let s;for(let o=0,r=i.length;o{for(const e of s){const t=await e;if("string"==typeof t)return t}return null})():null},t=i.find((e=>!!e.allBasenames));t&&(e.allBasenames=t.allBasenames);const o=i.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return o.length&&(e.allPaths=o),e}const o=function(e,t,s){let o,a;for(let l=0,h=i.length;l{for(const e of a){const t=await e;if("string"==typeof t)return t}return null})():null},a=i.find((e=>!!e.allBasenames));a&&(o.allBasenames=a.allBasenames);const l=i.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);l.length&&(o.allPaths=l);return o}(e,t)}function T(e,t){const i=e.filter((e=>!!e.basenames));if(i.length<2)return e;const n=i.reduce(((e,t)=>{const i=t.basenames;return i?e.concat(i):e}),[]);let s;if(t){s=[];for(let e=0,i=n.length;e{const i=t.patterns;return i?e.concat(i):e}),[]);const o=function(e,t){if("string"!=typeof e)return null;if(!t){let i;for(i=e.length;i>0;i--){const t=e.charCodeAt(i-1);if(47===t||92===t)break}t=e.substr(i)}const i=n.indexOf(t);return-1!==i?s[i]:null};o.basenames=n,o.patterns=s,o.allBasenames=n;const r=e.filter((e=>!e.basenames));return r.push(o),r}},22344:(e,t,i)=>{i.d(t,{e2:()=>a,sN:()=>o,tW:()=>s,v7:()=>c});var n=i(16844);function s(e){return o(e,0)}function o(e,t){switch(typeof e){case"object":return null===e?r(349,t):Array.isArray(e)?(i=e,n=r(104579,n=t),i.reduce(((e,t)=>o(t,e)),n)):function(e,t){return t=r(181387,t),Object.keys(e).sort().reduce(((t,i)=>(t=a(i,t),o(e[i],t))),t)}(e,t);case"string":return a(e,t);case"boolean":return function(e,t){return r(e?433:863,t)}(e,t);case"number":return r(e,t);case"undefined":return r(937,t);default:return r(617,t)}var i,n}function r(e,t){return(t<<5)-t+e|0}function a(e,t){t=r(149417,t);for(let i=0,n=e.length;i>>n)>>>0}function h(e,t=0,i=e.byteLength,n=0){for(let s=0;se.toString(16).padStart(2,"0"))).join(""):function(e,t,i="0"){for(;e.length>>0).toString(16),t/4)}class c{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const i=this._buff;let s,o,r=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(s=a,o=-1,a=0):(s=e.charCodeAt(0),o=0);;){let l=s;if(n.pc(s)){if(!(o+1>>6,e[t++]=128|(63&i)>>>0):i<65536?(e[t++]=224|(61440&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0):(e[t++]=240|(1835008&i)>>>18,e[t++]=128|(258048&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),d(this._h0)+d(this._h1)+d(this._h2)+d(this._h3)+d(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,h(this._buff,this._buffLen),this._buffLen>56&&(this._step(),h(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=c._bigBlock32,t=this._buffDV;for(let l=0;l<64;l+=4)e.setUint32(l,t.getUint32(l,!1),!1);for(let c=64;c<320;c+=4)e.setUint32(c,l(e.getUint32(c-12,!1)^e.getUint32(c-32,!1)^e.getUint32(c-56,!1)^e.getUint32(c-64,!1),1),!1);let i,n,s,o=this._h0,r=this._h1,a=this._h2,h=this._h3,d=this._h4;for(let c=0;c<80;c++)c<20?(i=r&a|~r&h,n=1518500249):c<40?(i=r^a^h,n=1859775393):c<60?(i=r&a|r&h|a&h,n=2400959708):(i=r^a^h,n=3395469782),s=l(o,5)+i+d+n+e.getUint32(4*c,!1)&4294967295,d=h,h=a,a=l(r,30),r=o,o=s;this._h0=this._h0+o&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+h&4294967295,this._h4=this._h4+d&4294967295}}},17954:(e,t,i)=>{var n;i.d(t,{f:()=>n}),function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const i=Object.freeze([]);function*n(e){yield e}e.empty=function(){return i},e.single=n,e.wrap=function(e){return t(e)?e:n(e)},e.from=function(e){return e||i},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let i=0;for(const n of e)if(t(n,i++))return!0;return!1},e.find=function(e,t){for(const i of e)if(t(i))return i},e.filter=function*(e,t){for(const i of e)t(i)&&(yield i)},e.map=function*(e,t){let i=0;for(const n of e)yield t(n,i++)},e.flatMap=function*(e,t){let i=0;for(const n of e)yield*t(n,i++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,i){let n=i;for(const s of e)n=t(n,s);return n},e.slice=function*(e,t,i=e.length){for(t<0&&(t+=e.length),i<0?i+=e.length:i>e.length&&(i=e.length);ts}]},e.asyncToArray=async function(e){const t=[];for await(const i of e)t.push(i);return Promise.resolve(t)}}(n||(n={}))},68387:(e,t,i)=>{i.d(t,{Fo:()=>u,YM:()=>p,m5:()=>m,uw:()=>a});class n{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const s=new n,o=new n,r=new n,a=new Array(230),l={},h=[],d=Object.create(null),c=Object.create(null),u=[],g=[];for(let f=0;f<=193;f++)u[f]=-1;for(let f=0;f<=132;f++)g[f]=-1;var p;function m(e,t){return(e|(65535&t)<<16>>>0)>>>0}!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],i=[],n=[];for(const p of t){const[e,t,m,f,_,v,b,C,w]=p;if(n[t]||(n[t]=!0,h[t]=m,d[m]=t,c[m.toLowerCase()]=t,e&&(u[t]=f,0!==f&&3!==f&&5!==f&&4!==f&&6!==f&&57!==f&&(g[f]=t))),!i[f]){if(i[f]=!0,!_)throw new Error(`String representation missing for key code ${f} around scan code ${m}`);s.define(f,_),o.define(f,C||_),r.define(f,w||C||_)}v&&(a[v]=f),b&&(l[b]=f)}g[3]=46}(),function(e){e.toString=function(e){return s.keyCodeToStr(e)},e.fromString=function(e){return s.strToKeyCode(e)},e.toUserSettingsUS=function(e){return o.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return r.keyCodeToStr(e)},e.fromUserSettings=function(e){return o.strToKeyCode(e)||r.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return s.keyCodeToStr(e)}}(p||(p={}))},63946:(e,t,i)=>{i.d(t,{d:()=>n});class n{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},10998:(e,t,i)=>{i.d(t,{$w:()=>b,AS:()=>c,Ay:()=>r,BO:()=>v,Cm:()=>p,HE:()=>f,VD:()=>a,Xm:()=>d,jG:()=>m,lC:()=>h,mp:()=>_,qE:()=>u,s:()=>g});var n=i(48289),s=i(17954);let o=null;function r(e){return o?.trackDisposable(e),e}function a(e){o?.markAsDisposed(e)}function l(e,t){o?.setParent(e,t)}function h(e){return o?.markAsSingleton(e),e}function d(e){return"object"==typeof e&&null!==e&&"function"==typeof e.dispose&&0===e.dispose.length}function c(e){if(s.f.is(e)){const i=[];for(const n of e)if(n)try{n.dispose()}catch(t){i.push(t)}if(1===i.length)throw i[0];if(i.length>1)throw new AggregateError(i,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function u(...e){const t=g((()=>c(e)));return function(e,t){if(o)for(const i of e)o.setParent(i,t)}(e,t),t}function g(e){const t=r({dispose:(0,n.P)((()=>{a(t),e()}))});return t}class p{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,r(this)}dispose(){this._isDisposed||(a(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{c(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return l(e,this),this._isDisposed?p.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),l(e,null))}}class m{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new p,r(this),l(this._store,this)}dispose(){a(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}class f{constructor(){this._isDisposed=!1,r(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&l(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,a(this),this._value?.dispose(),this._value=void 0}}class _{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class v{constructor(e){this.object=e}dispose(){}}class b{constructor(){this._store=new Map,this._isDisposed=!1,r(this)}dispose(){a(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{c(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),i||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},85525:(e,t,i)=>{i.d(t,{w:()=>s});class n{static{this.Undefined=new n(void 0)}constructor(e){this.element=e,this.next=n.Undefined,this.prev=n.Undefined}}class s{constructor(){this._first=n.Undefined,this._last=n.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===n.Undefined}clear(){let e=this._first;for(;e!==n.Undefined;){const t=e.next;e.prev=n.Undefined,e.next=n.Undefined,e=t}this._first=n.Undefined,this._last=n.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const i=new n(e);if(this._first===n.Undefined)this._first=i,this._last=i;else if(t){const e=this._last;this._last=i,i.prev=e,e.next=i}else{const e=this._first;this._first=i,i.next=e,e.prev=i}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(i))}}shift(){if(this._first!==n.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==n.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==n.Undefined&&e.next!==n.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===n.Undefined&&e.next===n.Undefined?(this._first=n.Undefined,this._last=n.Undefined):e.next===n.Undefined?(this._last=this._last.prev,this._last.next=n.Undefined):e.prev===n.Undefined&&(this._first=this._first.next,this._first.prev=n.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==n.Undefined;)yield e.element,e=e.next}}},27992:(e,t,i)=>{var n,s;i.d(t,{cO:()=>d,db:()=>c,fT:()=>r,qK:()=>h});class o{constructor(e,t){this.uri=e,this.value=t}}class r{static{this.defaultToKey=e=>e.toString()}constructor(e,t){if(this[n]="ResourceMap",e instanceof r)this.map=new Map(e.map),this.toKey=t??r.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=t??r.defaultToKey;for(const[t,i]of e)this.set(t,i)}else this.map=new Map,this.toKey=e??r.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new o(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[i,n]of this.map)e(n.value,n.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(n=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}class a{constructor(){this[s]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return 0!==t&&this.touch(i,t),i.value}set(e,t,i=0){let n=this._map.get(e);if(n)n.value=t,0!==i&&this.touch(n,i);else{switch(n={key:e,value:t,next:void 0,previous:void 0},i){case 0:case 2:default:this.addItemLast(n);break;case 1:this.addItemFirst(n)}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator]:()=>n,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:i.key,done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return n}values(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator]:()=>n,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:i.value,done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return n}entries(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator]:()=>n,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:[i.key,i.value],done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return n}[(s=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._tail,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.previous,i--;this._tail=t,this._size=i,t&&(t.next=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(t.previous=i,i.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,i=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=i,i.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,i)=>{e.push([i,t])})),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class l extends a{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class h extends l{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class d{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class c{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),0===i.size&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}},53720:(e,t,i)=>{i.d(t,{K:()=>n});const n=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})},13072:(e,t,i)=>{i.d(t,{Ez:()=>c,SJ:()=>p,fV:()=>d,ny:()=>n,v$:()=>h,zl:()=>g});var n,s=i(94327),o=i(63339),r=i(16844),a=i(37264),l=i(18019);function h(e,t){return a.r.isUri(e)?(0,r.Q_)(e.scheme,t):(0,r.ns)(e,t+":")}function d(e,...t){return t.some((t=>h(e,t)))}!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",e.vscodeNotebookMetadata="vscode-notebook-metadata",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.commentsInput="comment",e.codeSetting="code-setting",e.outputChannel="output"}(n||(n={}));const c=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return l.SA.join(this._serverRootPath,n.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(d){return s.dz(d),e}const t=e.authority;let i=this._hosts[t];i&&-1!==i.indexOf(":")&&-1===i.indexOf("[")&&(i=`[${i}]`);const r=this._ports[t],l=this._connectionTokens[t];let h=`path=${encodeURIComponent(e.path)}`;return"string"==typeof l&&(h+=`&tkn=${encodeURIComponent(l)}`),a.r.from({scheme:o.HZ?this._preferredWebSchema:n.vscodeRemoteResource,authority:`${i}:${r}`,path:this._remoteResourcesPath,query:h})}};class u{static{this.FALLBACK_AUTHORITY="vscode-app"}asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===n.vscodeRemote?c.rewrite(e):e.scheme!==n.file||!o.ib&&o.lg!==`${n.vscodeFileResource}://${u.FALLBACK_AUTHORITY}`?e:e.with({scheme:n.vscodeFileResource,authority:e.authority||u.FALLBACK_AUTHORITY,query:null,fragment:null})}toUri(e,t){if(a.r.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return a.r.joinPath(a.r.parse(t,!0),e);const i=l.fj(t,e);return a.r.file(i)}return a.r.parse(t.toUrl(e))}}const g=new u;var p;!function(e){const t=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const i="vscode-coi";e.getHeadersFromQuery=function(e){let n;"string"==typeof e?n=new URL(e).searchParams:e instanceof URL?n=e.searchParams:a.r.isUri(e)&&(n=new URL(e.toString(!0)).searchParams);const s=n?.get(i);if(s)return t.get(s)},e.addSearchParam=function(e,t,n){if(!globalThis.crossOriginIsolated)return;const s=t&&n?"3":n?"2":"1";e instanceof URLSearchParams?e.set(i,s):e[i]=s}}(p||(p={}))},62992:(e,t,i)=>{function n(e,t,i){return Math.min(Math.max(e,t),i)}i.d(t,{Uq:()=>s,mu:()=>o,qE:()=>n});class s{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class o{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n{i.d(t,{Go:()=>s,PI:()=>a,V0:()=>c,aI:()=>d,co:()=>h,kT:()=>u,ol:()=>o});var n=i(79359);function s(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;const t=Array.isArray(e)?[]:{};return Object.entries(e).forEach((([e,i])=>{t[e]=i&&"object"==typeof i?s(i):i})),t}function o(e){if(!e||"object"!=typeof e)return e;const t=[e];for(;t.length>0;){const e=t.shift();Object.freeze(e);for(const i in e)if(r.call(e,i)){const s=e[i];"object"!=typeof s||Object.isFrozen(s)||(0,n.iu)(s)||t.push(s)}}return e}const r=Object.prototype.hasOwnProperty;function a(e,t){return l(e,t,new Set)}function l(e,t,i){if((0,n.z)(e))return e;const s=t(e);if(void 0!==s)return s;if(Array.isArray(e)){const n=[];for(const s of e)n.push(l(s,t,i));return n}if((0,n.Gv)(e)){if(i.has(e))throw new Error("Cannot clone recursive data-structure");i.add(e);const n={};for(const s in e)r.call(e,s)&&(n[s]=l(e[s],t,i));return i.delete(e),n}return e}function h(e,t,i=!0){return(0,n.Gv)(e)?((0,n.Gv)(t)&&Object.keys(t).forEach((s=>{s in e?i&&((0,n.Gv)(e[s])&&(0,n.Gv)(t[s])?h(e[s],t[s],i):e[s]=t[s]):e[s]=t[s]})),e):t}function d(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let i,n;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(i=0;ifunction(){const i=Array.prototype.slice.call(arguments,0);return t(e,i)},n={};for(const s of e)n[s]=i(s);return n}},59233:(e,t,i)=>{i.d(t,{BK:()=>_,fm:()=>h,Y:()=>c,zL:()=>d,yC:()=>g,ht:()=>u,lk:()=>m.lk,un:()=>s.un,nb:()=>s.nb,ZX:()=>m.ZX,C:()=>s.C,rm:()=>s.rm,X2:()=>n.X2,y0:()=>m.y0,Yd:()=>m.Yd,yQ:()=>m.yQ,FY:()=>n.FY,Zh:()=>y,OI:()=>m.OI,PO:()=>n.PO,Rn:()=>n.Rn,oJ:()=>b});var n=i(34442),s=i(18366),o=i(87110),r=i(10998),a=i(49855),l=i(34950);function h(e){return new p(new a.nA(void 0,void 0,e),e,void 0,void 0)}function d(e,t){return new p(new a.nA(e.owner,e.debugName,e.debugReferenceFn??t),t,void 0,void 0)}function c(e,t){return new p(new a.nA(e.owner,e.debugName,e.debugReferenceFn??t),t,e.createEmptyChangeSummary,e.handleChange)}function u(e,t){const i=new r.Cm,n=c({owner:e.owner,debugName:e.debugName,debugReferenceFn:e.debugReferenceFn??t,createEmptyChangeSummary:e.createEmptyChangeSummary,handleChange:e.handleChange},((e,n)=>{i.clear(),t(e,n,i)}));return(0,r.s)((()=>{n.dispose(),i.dispose()}))}function g(e){const t=new r.Cm,i=d({owner:void 0,debugName:void 0,debugReferenceFn:e},(i=>{t.clear(),e(i,t)}));return(0,r.s)((()=>{i.dispose(),t.dispose()}))}class p{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,i,n){this._debugNameData=e,this._runFn=t,this.createChangeSummary=i,this._handleChange=n,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),(0,l.tZ)()?.handleAutorunCreated(this),this._runIfNeeded(),(0,r.Ay)(this)}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),(0,r.VD)(this)}_runIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){(0,l.tZ)()?.handleAutorunTriggered(this);const e=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,e)}}finally{t||(0,l.tZ)()?.handleAutorunFinished(this);for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,(0,o.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary))&&(this.state=2)}}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}!function(e){e.Observer=p}(h||(h={}));var m=i(12146),f=i(94327);class _{static fromFn(e){return new _(e())}constructor(e){this._value=(0,n.FY)(this,void 0),this.promiseResult=this._value,this.promise=e.then((e=>((0,n.Rn)((t=>{this._value.set(new v(e,void 0),t)})),e)),(e=>{throw(0,n.Rn)((t=>{this._value.set(new v(void 0,e),t)})),e}))}}class v{constructor(e,t){this.data=e,this.error=t}}function b(e,t,i,n){return t||(t=e=>null!=e),new Promise(((s,o)=>{let r=!0,a=!1;const l=e.map((e=>({isFinished:t(e),error:!!i&&i(e),state:e}))),d=h((e=>{const{isFinished:t,error:i,state:n}=l.read(e);(t||i)&&(r?a=!0:d.dispose(),i?o(!0===i?n:i):s(n))}));if(n){const e=n.onCancellationRequested((()=>{d.dispose(),e.dispose(),o(new f.AL)}));if(n.isCancellationRequested)return d.dispose(),e.dispose(),void o(new f.AL)}r=!1,a&&d.dispose()}))}var C=i(8897);class w extends n.ZK{get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}constructor(e,t,i){super(),this._debugNameData=e,this._equalityComparator=i,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=t}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(const e of this.observers)for(const t of this._deltas)e.handleChange(this,t);this._deltas.length=0}else for(const e of this.observers)e.handleChange(this,void 0)}_beginUpdate(){if(this._updateCounter++,1===this._updateCounter)for(const e of this.observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,0===this._updateCounter){this._update();const e=[...this.observers];for(const t of e)t.endUpdate(this)}}addObserver(e){const t=!this.observers.has(e)&&this._updateCounter>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this._updateCounter>0;super.removeObserver(e),t&&e.endUpdate(this)}set(e,t,i){if(void 0===i&&this._equalityComparator(this._value,e))return;let s;t||(t=s=new n.XL((()=>{}),(()=>`Setting ${this.debugName}`)));try{if(this._isUpToDate=!1,this._setValue(e),void 0!==i&&this._deltas.push(i),t.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(e,t)=>{},handlePossibleChange:e=>{}},this),this._updateCounter>1)for(const e of this.observers)e.handlePossibleChange(this)}finally{s&&s.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function y(e,t){return e.lazy?new w(new a.nA(e.owner,e.debugName,void 0),t,e.equalsFn??C.nx):new n.Lj(new a.nA(e.owner,e.debugName,void 0),t,e.equalsFn??C.nx)}},34442:(e,t,i)=>{i.d(t,{Bm:()=>d,FB:()=>c,FY:()=>C,Lj:()=>w,N2:()=>u,PO:()=>v,Rn:()=>m,X2:()=>y,XL:()=>b,YY:()=>f,ZK:()=>p,fL:()=>_,zV:()=>g});var n=i(8897),s=i(49855),o=i(34950);let r,a,l,h;function d(e){r=e}function c(e){a=e}function u(e){l=e}class g{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t){const i=void 0===t?void 0:e,n=void 0===t?e:t;return l({owner:i,debugName:()=>{const e=(0,s.qQ)(n);if(void 0!==e)return e;const t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(n.toString());return t?`${this.debugName}.${t[2]}`:i?void 0:`${this.debugName} (mapped)`},debugReferenceFn:n},(e=>n(this.read(e),e)))}flatten(){return l({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},(e=>this.read(e).read(e)))}recomputeInitiallyAndOnChange(e,t){return e.add(r(this,t)),this}keepObserved(e){return e.add(a(this)),this}}class p extends g{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function m(e,t){const i=new b(e,t);try{e(i)}finally{i.finish()}}function f(e){if(h)e(h);else{const t=new b(e,void 0);h=t;try{e(t)}finally{t.finish(),h=void 0}}}async function _(e,t){const i=new b(e,t);try{await e(i)}finally{i.finish()}}function v(e,t,i){e?t(e):m(t,i)}class b{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[],(0,o.tZ)()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():(0,s.qQ)(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t{}),(()=>`Setting ${this.debugName}`)));try{const n=this._value;this._setValue(e),(0,o.tZ)()?.handleObservableChanged(this,{oldValue:n,newValue:e,change:i,didChange:!0,hadValue:!0});for(const e of this.observers)t.updateObserver(e,this),e.handleChange(this,i)}finally{n&&n.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function y(e,t){let i;return i="string"==typeof e?new s.nA(void 0,e,void 0):new s.nA(e,void 0,void 0),new S(i,t,n.nx)}class S extends w{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){this._value?.dispose()}}},49855:(e,t,i)=>{i.d(t,{nA:()=>n,qQ:()=>l});class n{constructor(e,t,i){this.owner=e,this.debugNameSource=t,this.referenceFn=i}getDebugName(e){return function(e,t){const i=o.get(e);if(i)return i;const n=function(e,t){const i=o.get(e);if(i)return i;const n=t.owner?function(e){const t=a.get(e);if(t)return t;const i=function(e){const t=e.constructor;if(t)return t.name;return"Object"}(e);let n=r.get(i)??0;n++,r.set(i,n);const s=1===n?i:`${i}#${n}`;return a.set(e,s),s}(t.owner)+".":"";let s;const h=t.debugNameSource;if(void 0!==h){if("function"!=typeof h)return n+h;if(s=h(),void 0!==s)return n+s}const d=t.referenceFn;if(void 0!==d&&(s=l(d),void 0!==s))return n+s;if(void 0!==t.owner){const i=function(e,t){for(const i in e)if(e[i]===t)return i;return}(t.owner,e);if(void 0!==i)return n+i}return}(e,t);if(n){let t=s.get(n)??0;t++,s.set(n,t);const i=1===t?n:`${n}#${t}`;return o.set(e,i),i}return}(e,this)}}const s=new Map,o=new WeakMap;const r=new Map,a=new WeakMap;function l(e){const t=e.toString(),i=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t),n=i?i[1]:void 0;return n?.trim()}},18366:(e,t,i)=>{i.d(t,{C:()=>c,a0:()=>p,dQ:()=>d,nb:()=>u,rm:()=>g,un:()=>h});var n=i(87110),s=i(8897),o=i(10998),r=i(34442),a=i(49855),l=i(34950);function h(e,t){return void 0!==t?new m(new a.nA(e,void 0,t),t,void 0,void 0,void 0,s.nx):new m(new a.nA(void 0,void 0,e),e,void 0,void 0,void 0,s.nx)}function d(e,t,i){return new f(new a.nA(e,void 0,t),t,void 0,void 0,void 0,s.nx,i)}function c(e,t){return new m(new a.nA(e.owner,e.debugName,e.debugReferenceFn),t,void 0,void 0,e.onLastObserverRemoved,e.equalsFn??s.nx)}function u(e,t){return new m(new a.nA(e.owner,e.debugName,void 0),t,e.createEmptyChangeSummary,e.handleChange,void 0,e.equalityComparer??s.nx)}function g(e,t){let i,n;void 0===t?(i=e,n=void 0):(n=e,i=t);const r=new o.Cm;return new m(new a.nA(n,void 0,i),(e=>(r.clear(),i(e,r))),void 0,void 0,(()=>r.dispose()),s.nx)}function p(e,t){let i,n,r;return void 0===t?(i=e,n=void 0):(n=e,i=t),new m(new a.nA(n,void 0,i),(e=>{r?r.clear():r=new o.Cm;const t=i(e);return t&&r.add(t),t}),void 0,void 0,(()=>{r&&(r.dispose(),r=void 0)}),s.nx)}(0,r.N2)(c);class m extends r.ZK{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,i,n,s=void 0,o){super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=i,this._handleChange=n,this._handleLastObserverRemoved=s,this._equalityComparator=o,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.(),(0,l.tZ)()?.handleDerivedCreated(this)}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(0===this.observers.size){const e=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),e}do{if(1===this.state)for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e;const t=0!==this.state,i=this.value;this.state=3;const n=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,n)}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}const s=t&&!this._equalityComparator(i,this.value);if((0,l.tZ)()?.handleDerivedRecomputed(this,{oldValue:i,newValue:this.value,change:void 0,didChange:s,hadValue:t}),s)for(const o of this.observers)o.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const i of this.observers)i.handlePossibleChange(this);if(t)for(const i of this.observers)i.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}(0,n.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const i=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),n=3===this.state;if(i&&(1===this.state||n)&&(this.state=2,n))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}class f extends m{constructor(e,t,i,n,s=void 0,o,r){super(e,t,i,n,s,o),this.set=r}}},34950:(e,t,i)=>{let n;function s(e){n=e}function o(){return n}i.d(t,{Br:()=>s,jm:()=>r,tZ:()=>o});class r{constructor(){this.indentation=0,this.changedObservablesSets=new WeakMap}textToConsoleArgs(e){return function(e){const t=new Array,i=[];let n="";function s(e){if("length"in e)for(const t of e)t&&s(t);else"text"in e?(n+=`%c${e.text}`,t.push(e.style),e.data&&i.push(...e.data)):"data"in e&&i.push(...e.data)}s(e);const o=[n,...t];return o.push(...i),o}([a(c("| ",this.indentation)),e])}formatInfo(e){return e.hadValue?e.didChange?[a(" "),h(d(e.oldValue,70),{color:"red",strikeThrough:!0}),a(" "),h(d(e.newValue,60),{color:"green"})]:[a(" (unchanged)")]:[a(" "),h(d(e.newValue,60),{color:"green"}),a(" (initial)")]}handleObservableChanged(e,t){console.log(...this.textToConsoleArgs([l("observable value changed"),h(e.debugName,{color:"BlueViolet"}),...this.formatInfo(t)]))}formatChanges(e){if(0!==e.size)return h(" (changed deps: "+[...e].map((e=>e.debugName)).join(", ")+")",{color:"gray"})}handleDerivedCreated(e){const t=e.handleChange;this.changedObservablesSets.set(e,new Set),e.handleChange=(i,n)=>(this.changedObservablesSets.get(e).add(i),t.apply(e,[i,n]))}handleDerivedRecomputed(e,t){const i=this.changedObservablesSets.get(e);console.log(...this.textToConsoleArgs([l("derived recomputed"),h(e.debugName,{color:"BlueViolet"}),...this.formatInfo(t),this.formatChanges(i),{data:[{fn:e._debugNameData.referenceFn??e._computeFn}]}])),i.clear()}handleFromEventObservableTriggered(e,t){console.log(...this.textToConsoleArgs([l("observable from event triggered"),h(e.debugName,{color:"BlueViolet"}),...this.formatInfo(t),{data:[{fn:e._getValue}]}]))}handleAutorunCreated(e){const t=e.handleChange;this.changedObservablesSets.set(e,new Set),e.handleChange=(i,n)=>(this.changedObservablesSets.get(e).add(i),t.apply(e,[i,n]))}handleAutorunTriggered(e){const t=this.changedObservablesSets.get(e);console.log(...this.textToConsoleArgs([l("autorun"),h(e.debugName,{color:"BlueViolet"}),this.formatChanges(t),{data:[{fn:e._debugNameData.referenceFn??e._runFn}]}])),t.clear(),this.indentation++}handleAutorunFinished(e){this.indentation--}handleBeginTransaction(e){let t=e.getDebugName();void 0===t&&(t=""),console.log(...this.textToConsoleArgs([l("transaction"),h(t,{color:"BlueViolet"}),{data:[{fn:e._fn}]}])),this.indentation++}handleEndTransaction(){this.indentation--}}function a(e){return h(e,{color:"black"})}function l(e){return h(function(e,t){for(;e.length`${e}${t}:${i};`),""))};var n}function d(e,t){switch(typeof e){case"number":default:return""+e;case"string":return e.length+2<=t?`"${e}"`:`"${e.substr(0,t-7)}"+...`;case"boolean":return e?"true":"false";case"undefined":return"undefined";case"object":return null===e?"null":Array.isArray(e)?function(e,t){let i="[ ",n=!0;for(const s of e){if(n||(i+=", "),i.length-5>t){i+="...";break}n=!1,i+=`${d(s,t-i.length)}`}return i+=" ]",i}(e,t):function(e,t){let i="{ ",n=!0;for(const[s,o]of Object.entries(e)){if(n||(i+=", "),i.length-5>t){i+="...";break}n=!1,i+=`${s}: ${d(o,t-i.length)}`}return i+=" }",i}(e,t);case"symbol":return e.toString();case"function":return`[[Function${e.name?" "+e.name:""}]]`}}function c(e,t){let i="";for(let n=1;n<=t;n++)i+=e;return i}},12146:(e,t,i)=>{i.d(t,{OI:()=>v,Rl:()=>w,Yd:()=>f,ZX:()=>C,eP:()=>u,lk:()=>h,t:()=>S,y0:()=>c,yQ:()=>p});i(2106);var n=i(10998),s=i(34442),o=i(49855),r=i(18366),a=i(34950),l=i(8897);function h(e){return new d(e)}class d extends s.zV{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return`Const: ${this.value}`}}function c(...e){let t,i,n;return 3===e.length?[t,i,n]=e:[i,n]=e,new g(new o.nA(t,void 0,n),i,n,(()=>g.globalTransaction),l.nx)}function u(e,t,i){return new g(new o.nA(e.owner,e.debugName,e.debugReferenceFn??i),t,i,(()=>g.globalTransaction),e.equalsFn??l.nx)}class g extends s.ZK{constructor(e,t,i,n,o){super(),this._debugNameData=e,this.event=t,this._getValue=i,this._getTransaction=n,this._equalityComparator=o,this.hasValue=!1,this.handleEvent=e=>{const t=this._getValue(e),i=this.value,n=!this.hasValue||!this._equalityComparator(i,t);let o=!1;n&&(this.value=t,this.hasValue&&(o=!0,(0,s.PO)(this._getTransaction(),(e=>{(0,a.tZ)()?.handleFromEventObservableTriggered(this,{oldValue:i,newValue:t,change:void 0,didChange:n,hadValue:this.hasValue});for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")}))),this.hasValue=!0),o||(0,a.tZ)()?.handleFromEventObservableTriggered(this,{oldValue:i,newValue:t,change:void 0,didChange:n,hadValue:this.hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){if(this.subscription)return this.hasValue||this.handleEvent(void 0),this.value;return this._getValue(void 0)}}function p(e,t){return new m(e,t)}!function(e){e.Observer=g,e.batchEventsGlobally=function(e,t){let i=!1;void 0===g.globalTransaction&&(g.globalTransaction=e,i=!0);try{t()}finally{i&&(g.globalTransaction=void 0)}}}(c||(c={}));class m extends s.ZK{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{(0,s.Rn)((e=>{for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>this.debugName))}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function f(e){return"string"==typeof e?new _(e):new _(void 0,e)}class _ extends s.ZK{get debugName(){return new o.nA(this._owner,this._debugName,void 0).getDebugName(this)??"Observable Signal"}toString(){return this.debugName}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(e)for(const i of this.observers)e.updateObserver(i,this),i.handleChange(this,t);else(0,s.Rn)((e=>{this.trigger(e,t)}),(()=>`Trigger signal ${this.debugName}`))}get(){}}function v(e,t){const i=new b(!0,t);return e.addObserver(i),t?t(e.get()):e.reportChanges(),(0,n.s)((()=>{e.removeObserver(i)}))}(0,s.FB)((function(e){const t=new b(!1,void 0);return e.addObserver(t),(0,n.s)((()=>{e.removeObserver(t)}))})),(0,s.Bm)(v);class b{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}function C(e,t){let i;return(0,r.C)({owner:e,debugReferenceFn:t},(e=>(i=t(e,i),i)))}function w(e,t,i,n){let s=new y(i,n);return(0,r.C)({debugReferenceFn:i,owner:e,onLastObserverRemoved:()=>{s.dispose(),s=new y(i)}},(e=>(s.setItems(t.read(e)),s.getItems())))}class y{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach((e=>e.store.dispose())),this._cache.clear()}setItems(e){const t=[],i=new Set(this._cache.keys());for(const s of e){const e=this._keySelector?this._keySelector(s):s;let o=this._cache.get(e);if(o)i.delete(e);else{const t=new n.Cm;o={out:this._map(s,t),store:t},this._cache.set(e,o)}t.push(o.out)}for(const n of i){this._cache.get(n).store.dispose(),this._cache.delete(n)}this._items=t}getItems(){return this._items}}function S(e,t){return C(e,((e,i)=>i??t(e)))}},18019:(e,t,i)=>{i.d(t,{IN:()=>f,LC:()=>L,P8:()=>k,S8:()=>b,SA:()=>v,V8:()=>y,Vn:()=>x,fj:()=>C,hd:()=>w,pD:()=>S});var n=i(9871);const s=46,o=47,r=92,a=58;class l extends Error{constructor(e,t,i){let n;"string"==typeof t&&0===t.indexOf("not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";const s=-1!==e.indexOf(".")?"property":"argument";let o=`The "${e}" ${s} ${n} of type ${t}`;o+=". Received type "+typeof i,super(o),this.code="ERR_INVALID_ARG_TYPE"}}function h(e,t){if("string"!=typeof e)throw new l(t,"string",e)}const d="win32"===n.iD;function c(e){return e===o||e===r}function u(e){return e===o}function g(e){return e>=65&&e<=90||e>=97&&e<=122}function p(e,t,i,n){let r="",a=0,l=-1,h=0,d=0;for(let c=0;c<=e.length;++c){if(c2){const e=r.lastIndexOf(i);-1===e?(r="",a=0):(r=r.slice(0,e),a=r.length-1-r.lastIndexOf(i)),l=c,h=0;continue}if(0!==r.length){r="",a=0,l=c,h=0;continue}}t&&(r+=r.length>0?`${i}..`:"..",a=2)}else r.length>0?r+=`${i}${e.slice(l+1,c)}`:r=e.slice(l+1,c),a=c-l-1;l=c,h=0}else d===s&&-1!==h?++h:h=-1}return r}function m(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new l(t,"Object",e)}(t,"pathObject");const i=t.dir||t.root,n=t.base||`${t.name||""}${s=t.ext,s?`${"."===s[0]?"":"."}${s}`:""}`;var s;return i?i===t.root?`${i}${n}`:`${i}${e}${n}`:n}const f={resolve(...e){let t="",i="",s=!1;for(let o=e.length-1;o>=-1;o--){let l;if(o>=0){if(l=e[o],h(l,`paths[${o}]`),0===l.length)continue}else 0===t.length?l=n.bJ():(l=n._K[`=${t}`]||n.bJ(),(void 0===l||l.slice(0,2).toLowerCase()!==t.toLowerCase()&&l.charCodeAt(2)===r)&&(l=`${t}\\`));const d=l.length;let u=0,p="",m=!1;const f=l.charCodeAt(0);if(1===d)c(f)&&(u=1,m=!0);else if(c(f))if(m=!0,c(l.charCodeAt(1))){let e=2,t=e;for(;e2&&c(l.charCodeAt(2))&&(m=!0,u=3));if(p.length>0)if(t.length>0){if(p.toLowerCase()!==t.toLowerCase())continue}else t=p;if(s){if(t.length>0)break}else if(i=`${l.slice(u)}\\${i}`,s=m,m&&t.length>0)break}return i=p(i,!s,"\\",c),s?`${t}\\${i}`:`${t}${i}`||"."},normalize(e){h(e,"path");const t=e.length;if(0===t)return".";let i,n=0,s=!1;const o=e.charCodeAt(0);if(1===t)return u(o)?"\\":e;if(c(o))if(s=!0,c(e.charCodeAt(1))){let s=2,o=s;for(;s2&&c(e.charCodeAt(2))&&(s=!0,n=3));let r=n0&&c(e.charCodeAt(t-1))&&(r+="\\"),void 0===i?s?`\\${r}`:r:s?`${i}\\${r}`:`${i}${r}`},isAbsolute(e){h(e,"path");const t=e.length;if(0===t)return!1;const i=e.charCodeAt(0);return c(i)||t>2&&g(i)&&e.charCodeAt(1)===a&&c(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,i;for(let o=0;o0&&(void 0===t?t=i=n:t+=`\\${n}`)}if(void 0===t)return".";let n=!0,s=0;if("string"==typeof i&&c(i.charCodeAt(0))){++s;const e=i.length;e>1&&c(i.charCodeAt(1))&&(++s,e>2&&(c(i.charCodeAt(2))?++s:n=!1))}if(n){for(;s=2&&(t=`\\${t.slice(s)}`)}return f.normalize(t)},relative(e,t){if(h(e,"from"),h(t,"to"),e===t)return"";const i=f.resolve(e),n=f.resolve(t);if(i===n)return"";if((e=i.toLowerCase())===(t=n.toLowerCase()))return"";let s=0;for(;ss&&e.charCodeAt(o-1)===r;)o--;const a=o-s;let l=0;for(;ll&&t.charCodeAt(d-1)===r;)d--;const c=d-l,u=au){if(t.charCodeAt(l+p)===r)return n.slice(l+p+1);if(2===p)return n.slice(l+p)}a>u&&(e.charCodeAt(s+p)===r?g=p:2===p&&(g=3)),-1===g&&(g=0)}let m="";for(p=s+g+1;p<=o;++p)p!==o&&e.charCodeAt(p)!==r||(m+=0===m.length?"..":"\\..");return l+=g,m.length>0?`${m}${n.slice(l,d)}`:(n.charCodeAt(l)===r&&++l,n.slice(l,d))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=f.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===r){if(t.charCodeAt(1)===r){const e=t.charCodeAt(2);if(63!==e&&e!==s)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(g(t.charCodeAt(0))&&t.charCodeAt(1)===a&&t.charCodeAt(2)===r)return`\\\\?\\${t}`;return e},dirname(e){h(e,"path");const t=e.length;if(0===t)return".";let i=-1,n=0;const s=e.charCodeAt(0);if(1===t)return c(s)?e:".";if(c(s)){if(i=n=1,c(e.charCodeAt(1))){let s=2,o=s;for(;s2&&c(e.charCodeAt(2))?3:2,n=i);let o=-1,r=!0;for(let a=t-1;a>=n;--a)if(c(e.charCodeAt(a))){if(!r){o=a;break}}else r=!1;if(-1===o){if(-1===i)return".";o=i}return e.slice(0,o)},basename(e,t){void 0!==t&&h(t,"suffix"),h(e,"path");let i,n=0,s=-1,o=!0;if(e.length>=2&&g(e.charCodeAt(0))&&e.charCodeAt(1)===a&&(n=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let r=t.length-1,a=-1;for(i=e.length-1;i>=n;--i){const l=e.charCodeAt(i);if(c(l)){if(!o){n=i+1;break}}else-1===a&&(o=!1,a=i+1),r>=0&&(l===t.charCodeAt(r)?-1==--r&&(s=i):(r=-1,s=a))}return n===s?s=a:-1===s&&(s=e.length),e.slice(n,s)}for(i=e.length-1;i>=n;--i)if(c(e.charCodeAt(i))){if(!o){n=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(n,s)},extname(e){h(e,"path");let t=0,i=-1,n=0,o=-1,r=!0,l=0;e.length>=2&&e.charCodeAt(1)===a&&g(e.charCodeAt(0))&&(t=n=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(c(t)){if(!r){n=a+1;break}}else-1===o&&(r=!1,o=a+1),t===s?-1===i?i=a:1!==l&&(l=1):-1!==i&&(l=-1)}return-1===i||-1===o||0===l||1===l&&i===o-1&&i===n+1?"":e.slice(i,o)},format:m.bind(null,"\\"),parse(e){h(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const i=e.length;let n=0,o=e.charCodeAt(0);if(1===i)return c(o)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(c(o)){if(n=1,c(e.charCodeAt(1))){let t=2,s=t;for(;t0&&(t.root=e.slice(0,n));let r=-1,l=n,d=-1,u=!0,p=e.length-1,m=0;for(;p>=n;--p)if(o=e.charCodeAt(p),c(o)){if(!u){l=p+1;break}}else-1===d&&(u=!1,d=p+1),o===s?-1===r?r=p:1!==m&&(m=1):-1!==r&&(m=-1);return-1!==d&&(-1===r||0===m||1===m&&r===d-1&&r===l+1?t.base=t.name=e.slice(l,d):(t.name=e.slice(l,r),t.base=e.slice(l,d),t.ext=e.slice(r,d))),t.dir=l>0&&l!==n?e.slice(0,l-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},_=(()=>{if(d){const e=/\\/g;return()=>{const t=n.bJ().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>n.bJ()})(),v={resolve(...e){let t="",i=!1;for(let n=e.length-1;n>=-1&&!i;n--){const s=n>=0?e[n]:_();h(s,`paths[${n}]`),0!==s.length&&(t=`${s}/${t}`,i=s.charCodeAt(0)===o)}return t=p(t,!i,"/",u),i?`/${t}`:t.length>0?t:"."},normalize(e){if(h(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===o,i=e.charCodeAt(e.length-1)===o;return 0===(e=p(e,!t,"/",u)).length?t?"/":i?"./":".":(i&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(h(e,"path"),e.length>0&&e.charCodeAt(0)===o),join(...e){if(0===e.length)return".";let t;for(let i=0;i0&&(void 0===t?t=n:t+=`/${n}`)}return void 0===t?".":v.normalize(t)},relative(e,t){if(h(e,"from"),h(t,"to"),e===t)return"";if((e=v.resolve(e))===(t=v.resolve(t)))return"";const i=e.length,n=i-1,s=t.length-1,r=nr){if(t.charCodeAt(1+l)===o)return t.slice(1+l+1);if(0===l)return t.slice(1+l)}else n>r&&(e.charCodeAt(1+l)===o?a=l:0===l&&(a=0));let d="";for(l=1+a+1;l<=i;++l)l!==i&&e.charCodeAt(l)!==o||(d+=0===d.length?"..":"/..");return`${d}${t.slice(1+a)}`},toNamespacedPath:e=>e,dirname(e){if(h(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===o;let i=-1,n=!0;for(let s=e.length-1;s>=1;--s)if(e.charCodeAt(s)===o){if(!n){i=s;break}}else n=!1;return-1===i?t?"/":".":t&&1===i?"//":e.slice(0,i)},basename(e,t){void 0!==t&&h(t,"ext"),h(e,"path");let i,n=0,s=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let a=t.length-1,l=-1;for(i=e.length-1;i>=0;--i){const h=e.charCodeAt(i);if(h===o){if(!r){n=i+1;break}}else-1===l&&(r=!1,l=i+1),a>=0&&(h===t.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return n===s?s=l:-1===s&&(s=e.length),e.slice(n,s)}for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===o){if(!r){n=i+1;break}}else-1===s&&(r=!1,s=i+1);return-1===s?"":e.slice(n,s)},extname(e){h(e,"path");let t=-1,i=0,n=-1,r=!0,a=0;for(let l=e.length-1;l>=0;--l){const h=e.charCodeAt(l);if(h!==o)-1===n&&(r=!1,n=l+1),h===s?-1===t?t=l:1!==a&&(a=1):-1!==t&&(a=-1);else if(!r){i=l+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===i+1?"":e.slice(t,n)},format:m.bind(null,"/"),parse(e){h(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const i=e.charCodeAt(0)===o;let n;i?(t.root="/",n=1):n=0;let r=-1,a=0,l=-1,d=!0,c=e.length-1,u=0;for(;c>=n;--c){const t=e.charCodeAt(c);if(t!==o)-1===l&&(d=!1,l=c+1),t===s?-1===r?r=c:1!==u&&(u=1):-1!==r&&(u=-1);else if(!d){a=c+1;break}}if(-1!==l){const n=0===a&&i?1:a;-1===r||0===u||1===u&&r===l-1&&r===a+1?t.base=t.name=e.slice(n,l):(t.name=e.slice(n,r),t.base=e.slice(n,l),t.ext=e.slice(r,l))}return a>0?t.dir=e.slice(0,a-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};v.win32=f.win32=f,v.posix=f.posix=v;const b=d?f.normalize:v.normalize,C=d?f.join:v.join,w=d?f.resolve:v.resolve,y=d?f.relative:v.relative,S=d?f.dirname:v.dirname,k=d?f.basename:v.basename,L=d?f.extname:v.extname,x=d?f.sep:v.sep},63339:(e,t,i)=>{i.d(t,{BH:()=>A,Fr:()=>T,H8:()=>V,HZ:()=>I,OS:()=>F,UP:()=>K,_p:()=>O,cm:()=>H,gm:()=>z,ib:()=>N,j9:()=>D,lg:()=>E,m0:()=>j,nr:()=>U,uF:()=>L,un:()=>M,zx:()=>x});var n=i(87289);const s="en";let o,r,a=!1,l=!1,h=!1,d=!1,c=!1,u=!1,g=!1,p=!1,m=!1,f=!1,_=s,v=null,b=null;const C=globalThis;let w;void 0!==C.vscode&&void 0!==C.vscode.process?w=C.vscode.process:"undefined"!=typeof process&&"string"==typeof process?.versions?.node&&(w=process);const y="string"==typeof w?.versions?.electron,S=y&&"renderer"===w?.type;if("object"==typeof w){a="win32"===w.platform,l="darwin"===w.platform,h="linux"===w.platform,d=h&&!!w.env.SNAP&&!!w.env.SNAP_REVISION,g=y,m=!!w.env.CI||!!w.env.BUILD_ARTIFACTSTAGINGDIRECTORY,o=s,_=s;const e=w.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e);o=t.userLocale,v=t.osLocale,_=t.resolvedLanguage||s,b=t.languagePack?.translationsConfigFile}catch($){}c=!0}else"object"!=typeof navigator||S?console.error("Unable to resolve platform."):(r=navigator.userAgent,a=r.indexOf("Windows")>=0,l=r.indexOf("Macintosh")>=0,p=(r.indexOf("Macintosh")>=0||r.indexOf("iPad")>=0||r.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,h=r.indexOf("Linux")>=0,f=r?.indexOf("Mobi")>=0,u=!0,_=n.i8()||s,o=navigator.language.toLowerCase(),v=o);let k=0;l?k=1:a?k=3:h&&(k=2);const L=a,x=l,D=h,N=c,I=u,E=u&&"function"==typeof C.importScripts?C.origin:void 0,M=p,T=f,R=r,A=_,P="function"==typeof C.postMessage&&!C.importScripts,O=(()=>{if(P){const e=[];C.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,n=e.length;i{const n=++t;e.push({id:n,callback:i}),C.postMessage({vscodeScheduleAsyncWork:n},"*")}}return e=>setTimeout(e)})(),F=l||p?2:a?1:3;let W=!0,B=!1;function H(){if(!B){B=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);W=513===t[0]}return W}const V=!!(R&&R.indexOf("Chrome")>=0),z=!!(R&&R.indexOf("Firefox")>=0),U=!!(!V&&R&&R.indexOf("Safari")>=0),K=!!(R&&R.indexOf("Edg/")>=0),j=!!(R&&R.indexOf("Android")>=0)},9871:(e,t,i)=>{i.d(t,{_K:()=>a,bJ:()=>r,iD:()=>l});var n=i(63339);let s;const o=globalThis.vscode;if(void 0!==o&&void 0!==o.process){const e=o.process;s={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else s="undefined"!=typeof process&&"string"==typeof process?.versions?.node?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return n.uF?"win32":n.zx?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const r=s.cwd,a=s.env,l=s.platform},22467:(e,t,i)=>{i.d(t,{B6:()=>S,Fd:()=>v,LC:()=>m,P8:()=>p,Pi:()=>g,er:()=>c,iZ:()=>b,n4:()=>u,o1:()=>C,pD:()=>f,su:()=>h,uJ:()=>_});var n=i(78518),s=i(13072),o=i(18019),r=i(63339),a=i(16844),l=i(37264);function h(e){return(0,l.I)(e,!0)}class d{constructor(e){this._ignorePathCasing=e}compare(e,t,i=!1){return e===t?0:(0,a.UD)(this.getComparisonKey(e,i),this.getComparisonKey(t,i))}isEqual(e,t,i=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,i)===this.getComparisonKey(t,i)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,i=!1){if(e.scheme===t.scheme){if(e.scheme===s.ny.file)return n._1(h(e),h(t),this._ignorePathCasing(e))&&e.query===t.query&&(i||e.fragment===t.fragment);if(w(e.authority,t.authority))return n._1(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(i||e.fragment===t.fragment)}return!1}joinPath(e,...t){return l.r.joinPath(e,...t)}basenameOrAuthority(e){return p(e)||e.authority}basename(e){return o.SA.basename(e.path)}extname(e){return o.SA.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===s.ny.file?t=l.r.file(o.pD(h(e))).path:(t=o.SA.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===s.ny.file?l.r.file(o.S8(h(e))).path:o.SA.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!w(e.authority,t.authority))return;if(e.scheme===s.ny.file){const i=o.V8(h(e),h(t));return r.uF?n.TH(i):i}let i=e.path||"/";const a=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(i.length,a.length);en.Zn(i).length&&i[i.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=o.Vn){return y(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=o.Vn){let i=!1;if(e.scheme===s.ny.file){const s=h(e);i=void 0!==s&&s.length===n.Zn(s).length&&s[s.length-1]===t}else{t="/";const n=e.path;i=1===n.length&&47===n.charCodeAt(n.length-1)}return i||y(e,t)?e:e.with({path:e.path+"/"})}}const c=new d((()=>!1)),u=(new d((e=>e.scheme!==s.ny.file||!r.j9)),new d((e=>!0)),c.isEqual.bind(c)),g=(c.isEqualOrParent.bind(c),c.getComparisonKey.bind(c),c.basenameOrAuthority.bind(c)),p=c.basename.bind(c),m=c.extname.bind(c),f=c.dirname.bind(c),_=c.joinPath.bind(c),v=c.normalizePath.bind(c),b=c.relativePath.bind(c),C=c.resolvePath.bind(c),w=(c.isAbsolutePath.bind(c),c.isEqualAuthority.bind(c)),y=c.hasTrailingPathSeparator.bind(c);c.removeTrailingPathSeparator.bind(c),c.addTrailingPathSeparator.bind(c);var S;!function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,n]=e.split(":");t&&n&&i.set(t,n)}));const n=t.path.substring(0,t.path.indexOf(";"));return n&&i.set(e.META_DATA_MIME,n),i}}(S||(S={}))},66459:(e,t,i)=>{i.d(t,{A:()=>o});var n,s=i(16844);!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(n||(n={})),function(e){const t="error",i="warning",n="info";e.fromValue=function(o){return o?s.Q_(t,o)?e.Error:s.Q_(i,o)||s.Q_("warn",o)?e.Warning:s.Q_(n,o)?e.Info:e.Ignore:e.Ignore},e.toString=function(s){switch(s){case e.Error:return t;case e.Warning:return i;case e.Info:return n;default:return"ignore"}}}(n||(n={}));const o=n},23013:(e,t,i)=>{i.d(t,{W:()=>s});const n=globalThis.performance&&"function"==typeof globalThis.performance.now;class s{static create(e){return new s(e)}constructor(e){this._now=n&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},16844:(e,t,i)=>{i.d(t,{$X:()=>G,AV:()=>o,BO:()=>g,Bm:()=>p,Bq:()=>c,DB:()=>D,E_:()=>K,GP:()=>a,HG:()=>C,LJ:()=>P,LU:()=>X,Lv:()=>N,MV:()=>V,NB:()=>u,OS:()=>f,Q_:()=>E,Qp:()=>T,S8:()=>oe,Ss:()=>Y,UD:()=>S,UU:()=>w,Vi:()=>R,W1:()=>L,Wd:()=>ne,Wv:()=>I,Z5:()=>F,_J:()=>q,aC:()=>$,bm:()=>d,eY:()=>_,en:()=>b,ih:()=>h,iy:()=>H,jy:()=>l,km:()=>B,lF:()=>k,lT:()=>y,m:()=>z,ne:()=>Q,ns:()=>M,pc:()=>A,r_:()=>Z,tk:()=>ee,tl:()=>re,uz:()=>v,wB:()=>m,y_:()=>ae,zY:()=>J,z_:()=>O,zd:()=>x});var n=i(36260),s=i(63946);function o(e){return!e||"string"!=typeof e||0===e.trim().length}const r=/{(\d+)}/g;function a(e,...t){return 0===t.length?e:e.replace(r,(function(e,i){const n=parseInt(i,10);return isNaN(n)||n<0||n>=t.length?e:t[n]}))}function l(e){return e.replace(/[<>"'&]/g,(e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e}))}function h(e){return e.replace(/[<>&]/g,(function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}}))}function d(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function c(e,t=" "){return g(u(e,t),t)}function u(e,t){if(!e||!t)return e;const i=t.length;if(0===i||0===e.length)return e;let n=0;for(;e.indexOf(t,n)===n;)n+=i;return e.substring(n)}function g(e,t){if(!e||!t)return e;const i=t.length,n=e.length;if(0===i||0===n)return e;let s=n,o=-1;for(;o=e.lastIndexOf(t,s-1),-1!==o&&o+i===s;){if(0===o)return"";s=o}return e.substring(0,s)}function p(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function m(e){return e.replace(/\*/g,"")}function f(e,t,i={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=d(e)),i.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let n="";return i.global&&(n+="g"),i.matchCase||(n+="i"),i.multiline&&(n+="m"),i.unicode&&(n+="u"),new RegExp(e,n)}function _(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)}function v(e){return e.split(/\r\n|\r|\n/)}function b(e){const t=[],i=e.split(/(\r\n|\r|\n)/);for(let n=0;n=0;i--){const t=e.charCodeAt(i);if(32!==t&&9!==t)return i}return-1}function S(e,t){return et?1:0}function k(e,t,i=0,n=e.length,s=0,o=t.length){for(;io)return 1}const r=n-i,a=o-s;return ra?1:0}function L(e,t){return x(e,t,0,e.length,0,t.length)}function x(e,t,i=0,n=e.length,s=0,o=t.length){for(;i=128||a>=128)return k(e.toLowerCase(),t.toLowerCase(),i,n,s,o);N(r)&&(r-=32),N(a)&&(a-=32);const l=r-a;if(0!==l)return l}const r=n-i,a=o-s;return ra?1:0}function D(e){return e>=48&&e<=57}function N(e){return e>=97&&e<=122}function I(e){return e>=65&&e<=90}function E(e,t){return e.length===t.length&&0===x(e,t)}function M(e,t){const i=t.length;return!(t.length>e.length)&&0===x(e,t,0,i)}function T(e,t){const i=Math.min(e.length,t.length);let n;for(n=0;n1){const n=e.charCodeAt(t-2);if(A(n))return O(n,i)}return i}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=F(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class B{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new W(e,t)}nextGraphemeLength(){const e=ie.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const i=t.offset,s=e.getGraphemeBreakType(t.nextCodePoint());if(te(n,s)){t.setOffset(i);break}n=s}return t.offset-i}prevGraphemeLength(){const e=ie.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const i=t.offset,s=e.getGraphemeBreakType(t.prevCodePoint());if(te(s,n)){t.setOffset(i);break}n=s}return i-t.offset}eol(){return this._iterator.eol()}}function H(e,t){return new B(e,t).nextGraphemeLength()}function V(e,t){return new B(e,t).prevGraphemeLength()}function z(e,t){t>0&&P(e.charCodeAt(t))&&t--;const i=t+H(e,t);return[i-V(e,i),i]}let U;function K(e){return U||(U=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),U.test(e)}const j=/^[\t\n\r\x20-\x7E]*$/;function $(e){return j.test(e)}const q=/[\u2028\u2029]/;function G(e){return q.test(e)}function Q(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function Y(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const Z=String.fromCharCode(65279);function X(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function J(e,t=!1){return!!e&&(t&&(e=e.replace(/\\./g,"")),e.toLowerCase()!==e)}function ee(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function te(e,t){return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}class ie{static{this._INSTANCE=null}static getInstance(){return ie._INSTANCE||(ie._INSTANCE=new ie),ie._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let n=1;for(;n<=i;)if(et[3*n+1]))return t[3*n+2];n=2*n+1}return 0}}function ne(e,t){if(0===e)return 0;const i=function(e,t){const i=new W(t,e);let n=i.prevCodePoint();for(;se(n)||65039===n||8419===n;){if(0===i.offset)return;n=i.prevCodePoint()}if(!Y(n))return;let s=i.offset;if(s>0){8205===i.prevCodePoint()&&(s=i.offset)}return s}(e,t);if(void 0!==i)return i;const n=new W(t,e);return n.prevCodePoint(),n.offset}function se(e){return 127995<=e&&e<=127999}const oe="\xa0";class re{static{this.ambiguousCharacterData=new s.d((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')))}static{this.cache=new n.o5({getCacheKey:JSON.stringify},(e=>{function t(e){const t=new Map;for(let i=0;i!e.startsWith("_")&&e in n));0===o.length&&(o=["_default"]);for(const a of o){s=i(s,t(n[a]))}const r=function(e,t){const i=new Map(e);for(const[n,s]of t)i.set(n,s);return i}(t(n._common),s);return new re(r)}))}static getInstance(e){return re.cache.get(Array.from(e))}static{this._locales=new s.d((()=>Object.keys(re.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))))}static getLocales(){return re._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class ae{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(ae.getRawData())),this._data}static isInvisibleCharacter(e){return ae.getData().has(e)}static get codePoints(){return ae.getData()}}},51055:(e,t,i)=>{i.d(t,{h:()=>n});const n=Symbol("MicrotaskDelay")},58881:(e,t,i)=>{i.d(t,{L:()=>s});var n,s,o=i(2181);!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(n||(n={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function i(e){const n=t.exec(e.id);if(!n)return i(o.W.error);const[,s,r]=n,a=["codicon","codicon-"+s];return r&&a.push("codicon-modifier-"+r.substring(1)),a}e.asClassNameArray=i,e.asClassName=function(e){return i(e).join(" ")},e.asCSSSelector=function(e){return"."+i(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||n.isThemeColor(e.color))};const s=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=s.exec(e);if(!t)return;const[,i]=t;return{id:i}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let i=e.id;const n=i.lastIndexOf("~");return-1!==n&&(i=i.substring(0,n)),t&&(i=`${i}~${t}`),{id:i}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){return e.id===t.id&&e.color?.id===t.color?.id}}(s||(s={}))},79359:(e,t,i)=>{function n(e){return"string"==typeof e}function s(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function o(e){const t=Object.getPrototypeOf(Uint8Array);return"object"==typeof e&&e instanceof t}function r(e){return"number"==typeof e&&!isNaN(e)}function a(e){return!!e&&"function"==typeof e[Symbol.iterator]}function l(e){return!0===e||!1===e}function h(e){return void 0===e}function d(e){return!c(e)}function c(e){return h(e)||null===e}function u(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}function g(e){if(c(e))throw new Error("Assertion Failed: argument is undefined or null");return e}function p(e){return"function"==typeof e}function m(e,t){const i=Math.min(e.length,t.length);for(let n=0;nr,Gv:()=>s,Kg:()=>n,Lm:()=>l,O9:()=>d,Tn:()=>p,b0:()=>h,eU:()=>g,iu:()=>o,j:()=>u,jx:()=>m,xZ:()=>a,z:()=>c})},37512:(e,t,i)=>{function n(e){return e<0?0:e>255?255:0|e}function s(e){return e<0?0:e>4294967295?4294967295:0|e}i.d(t,{W:()=>n,j:()=>s})},37264:(e,t,i)=>{i.d(t,{I:()=>_,r:()=>c});var n=i(18019),s=i(63339);const o=/^\w[\w\d+.-]*$/,r=/^\//,a=/^\/\//;const l="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class c{static isUri(e){return e instanceof c||!!e&&("string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString)}constructor(e,t,i,n,s,d=!1){"object"==typeof e?(this.scheme=e.scheme||l,this.authority=e.authority||l,this.path=e.path||l,this.query=e.query||l,this.fragment=e.fragment||l):(this.scheme=function(e,t){return e||t?e:"file"}(e,d),this.authority=t||l,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,i||l),this.query=n||l,this.fragment=s||l,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!o.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!r.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,d))}get fsPath(){return _(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:n,query:s,fragment:o}=e;return void 0===t?t=this.scheme:null===t&&(t=l),void 0===i?i=this.authority:null===i&&(i=l),void 0===n?n=this.path:null===n&&(n=l),void 0===s?s=this.query:null===s&&(s=l),void 0===o?o=this.fragment:null===o&&(o=l),t===this.scheme&&i===this.authority&&n===this.path&&s===this.query&&o===this.fragment?this:new g(t,i,n,s,o)}static parse(e,t=!1){const i=d.exec(e);return i?new g(i[2]||l,w(i[4]||l),w(i[5]||l),w(i[7]||l),w(i[9]||l),t):new g(l,l,l,l,l)}static file(e){let t=l;if(s.uF&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){const i=e.indexOf(h,2);-1===i?(t=e.substring(2),e=h):(t=e.substring(2,i),e=e.substring(i)||h)}return new g("file",t,e,l,l)}static from(e,t){return new g(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return i=s.uF&&"file"===e.scheme?c.file(n.IN.join(_(e,!0),...t)).path:n.SA.join(e.path,...t),e.with({path:i})}toString(e=!1){return v(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof c)return e;{const t=new g(e);return t._formatted=e.external??null,t._fsPath=e._sep===u?e.fsPath??null:null,t}}return e}}const u=s.uF?1:void 0;class g extends c{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=_(this,!1)),this._fsPath}toString(e=!1){return e?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=u),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const p={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function m(e,t,i){let n,s=-1;for(let o=0;o=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r||i&&91===r||i&&93===r||i&&58===r)-1!==s&&(n+=encodeURIComponent(e.substring(s,o)),s=-1),void 0!==n&&(n+=e.charAt(o));else{void 0===n&&(n=e.substr(0,o));const t=p[r];void 0!==t?(-1!==s&&(n+=encodeURIComponent(e.substring(s,o)),s=-1),n+=t):-1===s&&(s=o)}}return-1!==s&&(n+=encodeURIComponent(e.substring(s))),void 0!==n?n:e}function f(e){let t;for(let i=0;i1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,s.uF&&(i=i.replace(/\//g,"\\")),i}function v(e,t){const i=t?f:m;let n="",{scheme:s,authority:o,path:r,query:a,fragment:l}=e;if(s&&(n+=s,n+=":"),(o||"file"===s)&&(n+=h,n+=h),o){let e=o.indexOf("@");if(-1!==e){const t=o.substr(0,e);o=o.substr(e+1),e=t.lastIndexOf(":"),-1===e?n+=i(t,!1,!1):(n+=i(t.substr(0,e),!1,!1),n+=":",n+=i(t.substr(e+1),!1,!0)),n+="@"}o=o.toLowerCase(),e=o.lastIndexOf(":"),-1===e?n+=i(o,!1,!0):(n+=i(o.substr(0,e),!1,!0),n+=o.substr(e))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const e=r.charCodeAt(1);e>=65&&e<=90&&(r=`/${String.fromCharCode(e+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const e=r.charCodeAt(0);e>=65&&e<=90&&(r=`${String.fromCharCode(e+32)}:${r.substr(2)}`)}n+=i(r,!0,!1)}return a&&(n+="?",n+=i(a,!1,!1)),l&&(n+="#",n+=t?l:m(l,!1,!1)),n}function b(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+b(e.substr(3)):e}}const C=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function w(e){return e.match(C)?e.replace(C,(e=>b(e))):e}},45585:(e,t,i)=>{i.r(t),i.d(t,{SimpleWorkerClient:()=>b,SimpleWorkerServer:()=>y,create:()=>S,logOnceWebWorkerWarning:()=>u});var n=i(94327),s=i(2106),o=i(10998),r=i(13072),a=i(63339),l=i(16844);const h="default",d="$initialize";let c=!1;function u(e){a.HZ&&(c||(c=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(e.message))}class g{constructor(e,t,i,n,s){this.vsWorker=e,this.req=t,this.channel=i,this.method=n,this.args=s,this.type=0}}class p{constructor(e,t,i,n){this.vsWorker=e,this.seq=t,this.res=i,this.err=n,this.type=1}}class m{constructor(e,t,i,n,s){this.vsWorker=e,this.req=t,this.channel=i,this.eventName=n,this.arg=s,this.type=2}}class f{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class _{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class v{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,i){const n=String(++this._lastSentReq);return new Promise(((s,o)=>{this._pendingReplies[n]={resolve:s,reject:o},this._send(new g(this._workerId,n,e,t,i))}))}listen(e,t,i){let n=null;const o=new s.vl({onWillAddFirstListener:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,o),this._send(new m(this._workerId,n,e,t,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(n),this._send(new _(this._workerId,n)),n=null}});return o.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}createProxyToRemoteChannel(e,t){const i={get:(i,n)=>("string"!=typeof n||i[n]||(w(n)?i[n]=t=>this.listen(e,n,t):C(n)?i[n]=this.listen(e,n,void 0):36===n.charCodeAt(0)&&(i[n]=async(...i)=>(await(t?.()),this.sendMessage(e,n,i)))),i[n])};return new Proxy(Object.create(null),i)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;return e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),void t.reject(i)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then((e=>{this._send(new p(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=(0,n.cU)(e.detail)),this._send(new p(this._workerId,t,void 0,(0,n.cU)(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.channel,e.eventName,e.arg)((e=>{this._send(new f(this._workerId,t,e))}));this._pendingEvents.set(t,i)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let i=0;i{this._protocol.handleMessage(e)}),(e=>{(0,n.dz)(e)}))),this._protocol=new v({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t,i)=>this._handleMessage(e,t,i),handleEvent:(e,t,i)=>this._handleEvent(e,t,i)}),this._protocol.setWorkerId(this._worker.getId());let i=null;const s=globalThis.require;void 0!==s&&"function"==typeof s.getConfig?i=s.getConfig():void 0!==globalThis.requirejs&&(i=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(h,d,[this._worker.getId(),JSON.parse(JSON.stringify(i)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(h,(async()=>{await this._onModuleLoaded})),this._onModuleLoaded.catch((e=>{this._onError("Worker failed to load "+t.amdModuleId,e)}))}_handleMessage(e,t,i){const n=this._localChannels.get(e);if(!n)return Promise.reject(new Error(`Missing channel ${e} on main thread`));if("function"!=typeof n[t])return Promise.reject(new Error(`Missing method ${t} on main thread channel ${e}`));try{return Promise.resolve(n[t].apply(n,i))}catch(s){return Promise.reject(s)}}_handleEvent(e,t,i){const n=this._localChannels.get(e);if(!n)throw new Error(`Missing channel ${e} on main thread`);if(w(t)){const s=n[t].call(n,i);if("function"!=typeof s)throw new Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return s}if(C(t)){const i=n[t];if("function"!=typeof i)throw new Error(`Missing event ${t} on main thread channel ${e}.`);return i}throw new Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}}function C(e){return"o"===e[0]&&"n"===e[1]&&l.Wv(e.charCodeAt(2))}function w(e){return/^onDynamic/.test(e)&&l.Wv(e.charCodeAt(9))}class y{constructor(e,t){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=t,this._requestHandler=null,this._protocol=new v({sendMessage:(t,i)=>{e(t,i)},handleMessage:(e,t,i)=>this._handleMessage(e,t,i),handleEvent:(e,t,i)=>this._handleEvent(e,t,i)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t,i){if(e===h&&t===d)return this.initialize(i[0],i[1],i[2]);const n=e===h?this._requestHandler:this._localChannels.get(e);if(!n)return Promise.reject(new Error(`Missing channel ${e} on worker thread`));if("function"!=typeof n[t])return Promise.reject(new Error(`Missing method ${t} on worker thread channel ${e}`));try{return Promise.resolve(n[t].apply(n,i))}catch(s){return Promise.reject(s)}}_handleEvent(e,t,i){const n=e===h?this._requestHandler:this._localChannels.get(e);if(!n)throw new Error(`Missing channel ${e} on worker thread`);if(w(t)){const e=n[t].call(n,i);if("function"!=typeof e)throw new Error(`Missing dynamic event ${t} on request handler.`);return e}if(C(t)){const e=n[t];if("function"!=typeof e)throw new Error(`Missing event ${t} on request handler.`);return e}throw new Error(`Malformed event name ${t}`)}getChannel(e){if(!this._remoteChannels.has(e)){const t=this._protocol.createProxyToRemoteChannel(e);this._remoteChannels.set(e,t)}return this._remoteChannels.get(e)}async initialize(e,t,n){if(this._protocol.setWorkerId(e),!this._requestHandlerFactory){t&&(void 0!==t.baseUrl&&delete t.baseUrl,void 0!==t.paths&&void 0!==t.paths.vs&&delete t.paths.vs,void 0!==t.trustedTypesPolicy&&delete t.trustedTypesPolicy,t.catchError=!0,globalThis.require.config(t));{const e=r.zl.asBrowserUri(`${n}.js`).toString(!0);return i(5890)(`${e}`).then((e=>{if(this._requestHandler=e.create(this),!this._requestHandler)throw new Error("No RequestHandler!")}))}}this._requestHandler=this._requestHandlerFactory(this)}}function S(e){return new y(e,null)}},27454:(e,t,i)=>{i.d(t,{V:()=>s,y:()=>o});var n=i(37512);class s{constructor(e){const t=(0,n.W)(e);this._defaultValue=t,this._asciiMap=s._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const i=(0,n.W)(t);e>=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class o{constructor(){this._actual=new s(0)}add(e){this._actual.set(e,1)}has(e){return 1===this._actual.get(e)}clear(){return this._actual.clear()}}},62549:(e,t,i)=>{i.d(t,{A:()=>s});var n=i(16844);class s{static _nextVisibleColumn(e,t,i){return 9===e?s.nextRenderTabStop(t,i):n.ne(e)||n.Ss(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const s=Math.min(t-1,e.length),o=e.substring(0,s),r=new n.km(o);let a=0;for(;!r.eol();){const e=n.Z5(o,s,r.offset);r.nextGraphemeLength(),a=this._nextVisibleColumn(e,a,i)}return a}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const s=e.length,o=new n.km(e);let r=0,a=1;for(;!o.eol();){const l=n.Z5(e,s,o.offset);o.nextGraphemeLength();const h=this._nextVisibleColumn(l,r,i),d=o.offset+1;if(h>=t){return h-t{i.d(t,{A3:()=>N,AQ:()=>V,Am:()=>x,As:()=>E,BD:()=>J,Bo:()=>Z,CM:()=>k,D0:()=>h,Ek:()=>O,H0:()=>L,I2:()=>Y,IW:()=>ee,If:()=>X,JB:()=>T,L0:()=>p,Mf:()=>l,P1:()=>oe,Pe:()=>ne,Qt:()=>f,WD:()=>se,WS:()=>ie,WY:()=>re,Xr:()=>A,aZ:()=>H,bB:()=>te,hz:()=>w,je:()=>u,kG:()=>a,kM:()=>d,l5:()=>j,lQ:()=>U,n4:()=>Q,ob:()=>C,ow:()=>y,s7:()=>G,sC:()=>c,sH:()=>$,sN:()=>z,ss:()=>K,tK:()=>D,tp:()=>I,vP:()=>S,vV:()=>b,vp:()=>W,w4:()=>m,we:()=>g,x9:()=>R,yI:()=>B,yw:()=>P,zp:()=>q});var n=i(87289),s=i(94901),o=i(92551),r=i(89044);const a=(0,o.x1A)("editor.lineHighlightBackground",null,n.kg("lineHighlight","Background color for the highlight of line at the cursor position.")),l=(0,o.x1A)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:o.b1q},n.kg("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),h=((0,o.x1A)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},n.kg("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),(0,o.x1A)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:o.buw,hcLight:o.buw},n.kg("rangeHighlightBorder","Background color of the border around highlighted ranges.")),(0,o.x1A)("editor.symbolHighlightBackground",{dark:o.Ubg,light:o.Ubg,hcDark:null,hcLight:null},n.kg("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),(0,o.x1A)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:o.buw,hcLight:o.buw},n.kg("symbolHighlightBorder","Background color of the border around highlighted symbols.")),(0,o.x1A)("editorCursor.foreground",{dark:"#AEAFAD",light:s.Q1.black,hcDark:s.Q1.white,hcLight:"#0F4A85"},n.kg("caret","Color of the editor cursor."))),d=(0,o.x1A)("editorCursor.background",null,n.kg("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),c=(0,o.x1A)("editorMultiCursor.primary.foreground",h,n.kg("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),u=(0,o.x1A)("editorMultiCursor.primary.background",d,n.kg("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),g=(0,o.x1A)("editorMultiCursor.secondary.foreground",h,n.kg("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),p=(0,o.x1A)("editorMultiCursor.secondary.background",d,n.kg("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),m=(0,o.x1A)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},n.kg("editorWhitespaces","Color of whitespace characters in the editor.")),f=(0,o.x1A)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:s.Q1.white,hcLight:"#292929"},n.kg("editorLineNumbers","Color of editor line numbers.")),_=(0,o.x1A)("editorIndentGuide.background",m,n.kg("editorIndentGuides","Color of the editor indentation guides."),!1,n.kg("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),v=(0,o.x1A)("editorIndentGuide.activeBackground",m,n.kg("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,n.kg("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),b=(0,o.x1A)("editorIndentGuide.background1",_,n.kg("editorIndentGuides1","Color of the editor indentation guides (1).")),C=(0,o.x1A)("editorIndentGuide.background2","#00000000",n.kg("editorIndentGuides2","Color of the editor indentation guides (2).")),w=(0,o.x1A)("editorIndentGuide.background3","#00000000",n.kg("editorIndentGuides3","Color of the editor indentation guides (3).")),y=(0,o.x1A)("editorIndentGuide.background4","#00000000",n.kg("editorIndentGuides4","Color of the editor indentation guides (4).")),S=(0,o.x1A)("editorIndentGuide.background5","#00000000",n.kg("editorIndentGuides5","Color of the editor indentation guides (5).")),k=(0,o.x1A)("editorIndentGuide.background6","#00000000",n.kg("editorIndentGuides6","Color of the editor indentation guides (6).")),L=(0,o.x1A)("editorIndentGuide.activeBackground1",v,n.kg("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),x=(0,o.x1A)("editorIndentGuide.activeBackground2","#00000000",n.kg("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),D=(0,o.x1A)("editorIndentGuide.activeBackground3","#00000000",n.kg("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),N=(0,o.x1A)("editorIndentGuide.activeBackground4","#00000000",n.kg("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),I=(0,o.x1A)("editorIndentGuide.activeBackground5","#00000000",n.kg("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),E=(0,o.x1A)("editorIndentGuide.activeBackground6","#00000000",n.kg("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),M=(0,o.x1A)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:o.buw,hcLight:o.buw},n.kg("editorActiveLineNumber","Color of editor active line number"),!1,n.kg("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),T=((0,o.x1A)("editorLineNumber.activeForeground",M,n.kg("editorActiveLineNumber","Color of editor active line number")),(0,o.x1A)("editorLineNumber.dimmedForeground",null,n.kg("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."))),R=((0,o.x1A)("editorRuler.foreground",{dark:"#5A5A5A",light:s.Q1.lightgrey,hcDark:s.Q1.white,hcLight:"#292929"},n.kg("editorRuler","Color of the editor rulers.")),(0,o.x1A)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},n.kg("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,o.x1A)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},n.kg("editorBracketMatchBackground","Background color behind matching brackets")),(0,o.x1A)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:o.b1q,hcLight:o.b1q},n.kg("editorBracketMatchBorder","Color for matching brackets boxes")),(0,o.x1A)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},n.kg("editorOverviewRulerBorder","Color of the overview ruler border."))),A=(0,o.x1A)("editorOverviewRuler.background",null,n.kg("editorOverviewRulerBackground","Background color of the editor overview ruler.")),P=((0,o.x1A)("editorGutter.background",o.YtV,n.kg("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,o.x1A)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#fff").transparent(.8),hcLight:o.b1q},n.kg("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),(0,o.x1A)("editorUnnecessaryCode.opacity",{dark:s.Q1.fromHex("#000a"),light:s.Q1.fromHex("#0007"),hcDark:null,hcLight:null},n.kg("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out."))),O=((0,o.x1A)("editorGhostText.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#fff").transparent(.8),hcLight:s.Q1.fromHex("#292929").transparent(.8)},n.kg("editorGhostTextBorder","Border color of ghost text in the editor.")),(0,o.x1A)("editorGhostText.foreground",{dark:s.Q1.fromHex("#ffffff56"),light:s.Q1.fromHex("#0007"),hcDark:null,hcLight:null},n.kg("editorGhostTextForeground","Foreground color of the ghost text in the editor."))),F=((0,o.x1A)("editorGhostText.background",null,n.kg("editorGhostTextBackground","Background color of the ghost text in the editor.")),new s.Q1(new s.bU(0,122,204,.6))),W=(0,o.x1A)("editorOverviewRuler.rangeHighlightForeground",F,n.kg("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),B=(0,o.x1A)("editorOverviewRuler.errorForeground",{dark:new s.Q1(new s.bU(255,18,18,.7)),light:new s.Q1(new s.bU(255,18,18,.7)),hcDark:new s.Q1(new s.bU(255,50,50,1)),hcLight:"#B5200D"},n.kg("overviewRuleError","Overview ruler marker color for errors.")),H=(0,o.x1A)("editorOverviewRuler.warningForeground",{dark:o.Hng,light:o.Hng,hcDark:o.Stt,hcLight:o.Stt},n.kg("overviewRuleWarning","Overview ruler marker color for warnings.")),V=(0,o.x1A)("editorOverviewRuler.infoForeground",{dark:o.pOz,light:o.pOz,hcDark:o.IIb,hcLight:o.IIb},n.kg("overviewRuleInfo","Overview ruler marker color for infos.")),z=(0,o.x1A)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},n.kg("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),U=(0,o.x1A)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},n.kg("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),K=(0,o.x1A)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},n.kg("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),j=(0,o.x1A)("editorBracketHighlight.foreground4","#00000000",n.kg("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),$=(0,o.x1A)("editorBracketHighlight.foreground5","#00000000",n.kg("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),q=(0,o.x1A)("editorBracketHighlight.foreground6","#00000000",n.kg("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),G=(0,o.x1A)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new s.Q1(new s.bU(255,18,18,.8)),light:new s.Q1(new s.bU(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},n.kg("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),Q=(0,o.x1A)("editorBracketPairGuide.background1","#00000000",n.kg("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Y=(0,o.x1A)("editorBracketPairGuide.background2","#00000000",n.kg("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Z=(0,o.x1A)("editorBracketPairGuide.background3","#00000000",n.kg("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),X=(0,o.x1A)("editorBracketPairGuide.background4","#00000000",n.kg("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),J=(0,o.x1A)("editorBracketPairGuide.background5","#00000000",n.kg("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),ee=(0,o.x1A)("editorBracketPairGuide.background6","#00000000",n.kg("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),te=(0,o.x1A)("editorBracketPairGuide.activeBackground1","#00000000",n.kg("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),ie=(0,o.x1A)("editorBracketPairGuide.activeBackground2","#00000000",n.kg("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),ne=(0,o.x1A)("editorBracketPairGuide.activeBackground3","#00000000",n.kg("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),se=(0,o.x1A)("editorBracketPairGuide.activeBackground4","#00000000",n.kg("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),oe=(0,o.x1A)("editorBracketPairGuide.activeBackground5","#00000000",n.kg("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),re=(0,o.x1A)("editorBracketPairGuide.activeBackground6","#00000000",n.kg("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));(0,o.x1A)("editorUnicodeHighlight.border",o.Hng,n.kg("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,o.x1A)("editorUnicodeHighlight.background",o.whs,n.kg("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));(0,r.zy)(((e,t)=>{const i=e.getColor(o.YtV),n=e.getColor(a),s=n&&!n.isTransparent()?n:i;s&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${s}; }`)}))},3902:(e,t,i)=>{function n(e){let t=0,i=0,n=0,s=0;for(let o=0,r=e.length;on})},57999:(e,t,i)=>{i.d(t,{P:()=>o});var n=i(16844),s=i(62549);function o(e,t,i){let o=n.HG(e);return-1===o&&(o=e.length),function(e,t,i){let n=0;for(let r=0;r{i.d(t,{M:()=>a,S:()=>l});var n=i(94327),s=i(72532),o=i(28061),r=i(97393);class a{static fromRangeInclusive(e){return new a(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new l(e[0].slice());for(let i=1;it)throw new n.D7(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&et.endLineNumberExclusive>=e.startLineNumber)),i=(0,r.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const i=this._normalizedRanges[t];this._normalizedRanges[t]=i.join(e)}else{const n=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,n)}}contains(e){const t=(0,r.lx)(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=(0,r.lx)(this._normalizedRanges,(t=>t.startLineNumbere.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let i=0,n=0,s=null;for(;i=o.startLineNumber?s=new a(s.startLineNumber,Math.max(s.endLineNumberExclusive,o.endLineNumberExclusive)):(t.push(s),s=o)}return null!==s&&t.push(s),new l(t)}subtractFrom(e){const t=(0,r.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),i=(0,r.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===i)return new l([e]);const n=[];let s=e.startLineNumber;for(let o=t;os&&n.push(new a(s,e.startLineNumber)),s=e.endLineNumberExclusive}return se.toString())).join(", ")}getIntersection(e){const t=[];let i=0,n=0;for(;it.delta(e))))}}},72532:(e,t,i)=>{i.d(t,{L:()=>s,h:()=>o});var n=i(94327);class s{static addRange(e,t){let i=0;for(;it))return new s(e,t)}static ofLength(e){return new s(0,e)}static ofStartAndLength(e,t){return new s(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new n.D7(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new s(this.start+e,this.endExclusive+e)}deltaStart(e){return new s(this.start+e,this.endExclusive)}deltaEnd(e){return new s(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new n.D7(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new n.D7(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString())).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length),0)}}},15365:(e,t,i)=>{i.d(t,{y:()=>n});class n{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new n(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return n.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return n.isBefore(this,e)}static isBefore(e,t){return e.lineNumber{i.d(t,{Q:()=>s});var n=i(15365);class s{constructor(e,t,i,n){e>i||e===i&&t>n?(this.startLineNumber=i,this.startColumn=n,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=n)}isEmpty(){return s.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return s.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<=e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>=e.endColumn))}containsRange(e){return s.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))}strictContainsRange(e){return s.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}plusRange(e){return s.plusRange(this,e)}static plusRange(e,t){let i,n,o,r;return t.startLineNumbere.endLineNumber?(o=t.endLineNumber,r=t.endColumn):t.endLineNumber===e.endLineNumber?(o=t.endLineNumber,r=Math.max(t.endColumn,e.endColumn)):(o=e.endLineNumber,r=e.endColumn),new s(i,n,o,r)}intersectRanges(e){return s.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,r=e.endColumn;const a=t.startLineNumber,l=t.startColumn,h=t.endLineNumber,d=t.endColumn;return ih?(o=h,r=d):o===h&&(r=Math.min(r,d)),i>o||i===o&&n>r?null:new s(i,n,o,r)}equalsRange(e){return s.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return s.getEndPosition(this)}static getEndPosition(e){return new n.y(e.endLineNumber,e.endColumn)}getStartPosition(){return s.getStartPosition(this)}static getStartPosition(e){return new n.y(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new s(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new s(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return s.collapseToStart(this)}static collapseToStart(e){return new s(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return s.collapseToEnd(this)}static collapseToEnd(e){return new s(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new s(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new s(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new s(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}}},93702:(e,t,i)=>{i.d(t,{L:()=>o});var n=i(15365),s=i(28061);class o extends s.Q{constructor(e,t,i,n){super(e,t,i,n),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=n}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return o.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new o(this.startLineNumber,this.startColumn,e,t):new o(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new n.y(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new n.y(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new o(e,t,this.endLineNumber,this.endColumn):new o(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new o(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new o(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new o(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new o(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,n=e.length;i{i.d(t,{Su:()=>c,b7:()=>d,fe:()=>u});var n=i(16844),s=i(63339),o=i(42802);let r,a,l;function h(){return r||(r=new TextDecoder("UTF-16LE")),r}function d(){return l||(l=s.cm()?h():(a||(a=new TextDecoder("UTF-16BE")),a)),l}function c(e,t,i){const n=new Uint16Array(e.buffer,t,i);return i>0&&(65279===n[0]||65534===n[0])?function(e,t,i){const n=[];let s=0;for(let r=0;r=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(let i=0;i{i.d(t,{k:()=>r,x:()=>a});var n=i(42802),s=i(54324);function o(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class r{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,i,n){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=n}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${o(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${o(this.oldText)}")`:`(replace@${this.oldPosition} "${o(this.oldText)}" with "${o(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const s=t.length;n.Sw(e,s,i),i+=4;for(let o=0;o{i.d(t,{CO:()=>g,WR:()=>c,mF:()=>d});var n=i(87110),s=i(94327),o=i(15365),r=i(72532),a=i(58357);class l{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;t(0,n.Xo)(e,((e,t)=>e.range.getEndPosition().isBeforeOrEqual(t.range.getStartPosition())))))}apply(e){let t="",i=new o.y(1,1);for(const s of this.edits){const n=s.range,o=n.getStartPosition(),r=n.getEndPosition(),a=u(i,o);a.isEmpty()||(t+=e.getValueOfRange(a)),t+=s.text,i=r}const n=u(i,e.endPositionExclusive);return n.isEmpty()||(t+=e.getValueOfRange(n)),t}applyToString(e){const t=new p(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,n=0;for(const s of this.edits){const r=a.W.ofText(s.text),l=o.y.lift({lineNumber:s.range.startLineNumber+i,column:s.range.startColumn+(s.range.startLineNumber===t?n:0)}),h=r.createRange(l);e.push(h),i=h.endLineNumber-s.range.endLineNumber,n=h.endColumn-s.range.endColumn,t=s.range.endLineNumber}return e}}class c{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}}function u(e,t){if(e.lineNumber===t.lineNumber&&e.column===Number.MAX_SAFE_INTEGER)return h.Q.fromPositions(t,t);if(!e.isBeforeOrEqual(t))throw new s.D7("start must be before end");return new h.Q(e.lineNumber,e.column,t.lineNumber,t.column)}class g{get endPositionExclusive(){return this.length.addToPosition(new o.y(1,1))}}class p extends g{constructor(e){super(),this.value=e,this._t=new l(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}},58357:(e,t,i)=>{i.d(t,{W:()=>o});var n=i(15365),s=i(28061);class o{static{this.zero=new o(0,0)}static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new o(0,t.column-e.column):new o(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return o.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,i=0;for(const n of e)"\n"===n?(t++,i=0):i++;return new o(t,i)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return 0===this.lineCount?new s.Q(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new s.Q(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new n.y(e.lineNumber,e.column+this.columnCount):new n.y(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}},12590:(e,t,i)=>{i.d(t,{R:()=>n});const n={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}},82862:(e,t,i)=>{i.d(t,{i:()=>a});var n=i(27992),s=i(27454);class o extends s.V{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let i=0,n=e.length;it)break;i=n}return i}findNextIntlWordAtOrAfterOffset(e,t){for(const i of this._getIntlSegmenterWordsOnLine(e))if(!(i.index{i.d(t,{Io:()=>a,J3:()=>o,Ld:()=>r,Th:()=>h});var n=i(17954),s=i(85525);const o="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";const r=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const i of o)e.indexOf(i)>=0||(t+="\\"+i);return t+="\\s]+)",new RegExp(t,"g")}();function a(e){let t=r;if(e&&e instanceof RegExp)if(e.global)t=e;else{let i="g";e.ignoreCase&&(i+="i"),e.multiline&&(i+="m"),e.unicode&&(i+="u"),t=new RegExp(e.source,i)}return t.lastIndex=0,t}const l=new s.w;function h(e,t,i,s,o){if(t=a(t),o||(o=n.f.first(l)),i.length>o.maxLen){let n=e-o.maxLen/2;return n<0?n=0:s+=n,h(e,t,i=i.substring(n,e+o.maxLen/2),s,o)}const r=Date.now(),c=e-1-s;let u=-1,g=null;for(let n=1;!(Date.now()-r>=o.timeBudget);n++){const e=c-o.windowSize*n;t.lastIndex=Math.max(0,e);const s=d(t,i,c,u);if(!s&&g)break;if(g=s,e<=0)break;u=e}if(g){const e={word:g[0],startColumn:s+1+g.index,endColumn:s+1+g.index+g[0].length};return t.lastIndex=0,e}return null}function d(e,t,i,n){let s;for(;s=e.exec(t);){const t=s.index||0;if(t<=i&&e.lastIndex>=i)return s;if(n>0&&t>n)return null}return null}l.unshift({maxLen:1e3,windowSize:15,timeBudget:150})},75090:(e,t,i)=>{i.d(t,{$8:()=>a,SL:()=>r,_3:()=>l,aY:()=>d,uY:()=>h});var n=i(13338),s=i(94327),o=i(72532);class r{static trivial(e,t){return new r([new a(o.L.ofLength(e.length),o.L.ofLength(t.length))],!1)}static trivialTimedOut(e,t){return new r([new a(o.L.ofLength(e.length),o.L.ofLength(t.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}}class a{static invert(e,t){const i=[];return(0,n.pN)(e,((e,n)=>{i.push(a.fromOffsetPairs(e?e.getEndExclusives():l.zero,n?n.getStarts():new l(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),i}static fromOffsetPairs(e,t){return new a(new o.L(e.offset1,t.offset1),new o.L(e.offset2,t.offset2))}static assertSorted(e){let t;for(const i of e){if(t&&!(t.seq1Range.endExclusive<=i.seq1Range.start&&t.seq2Range.endExclusive<=i.seq2Range.start))throw new s.D7("Sequence diffs must be sorted");t=i}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new a(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new a(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new a(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new a(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new a(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(t&&i)return new a(t,i)}getStarts(){return new l(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new l(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class l{static{this.zero=new l(0,0)}static{this.max=new l(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new l(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}class h{static{this.instance=new h}isValid(){return!0}}class d{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new s.D7("timeout must be positive")}isValid(){return!(Date.now()-this.startTime{i.d(t,{D8:()=>T});var n=i(13338),s=i(87110),o=i(79955),r=i(72532),a=i(28061),l=i(75090);class h{constructor(e,t){this.width=e,this.height=t,this.array=[],this.array=new Array(e*t)}get(e,t){return this.array[e+t*this.width]}set(e,t,i){this.array[e+t*this.width]=i}}function d(e){return 32===e||9===e}class c{static{this.chrKeys=new Map}static getKey(e){let t=this.chrKeys.get(e);return void 0===t&&(t=this.chrKeys.size,this.chrKeys.set(e,t)),t}constructor(e,t,i){this.range=e,this.lines=t,this.source=i,this.histogram=[];let n=0;for(let s=e.startLineNumber-1;s0&&h>0&&3===o.get(r-1,h-1)&&(u+=a.get(r-1,h-1)),u+=n?n(r,h):1):u=-1;const g=Math.max(d,c,u);if(g===u){const e=r>0&&h>0?a.get(r-1,h-1):0;a.set(r,h,e+1),o.set(r,h,3)}else g===d?(a.set(r,h,0),o.set(r,h,1)):g===c&&(a.set(r,h,0),o.set(r,h,2));s.set(r,h,g)}const d=[];let c=e.length,u=t.length;function g(e,t){e+1===c&&t+1===u||d.push(new l.$8(new r.L(e+1,c),new r.L(t+1,u))),c=e,u=t}let p=e.length-1,m=t.length-1;for(;p>=0&&m>=0;)3===o.get(p,m)?(g(p,m),p--,m--):1===o.get(p,m)?p--:m--;return g(-1,-1),d.reverse(),new l.SL(d,!1)}}class g{compute(e,t,i=l.uY.instance){if(0===e.length||0===t.length)return l.SL.trivial(e,t);const n=e,s=t;function o(e,t){for(;en.length||u>s.length)continue;const g=o(l,u);h.set(c,g);const m=l===r?d.get(c+1):d.get(c-1);if(d.set(c,g!==l?new p(m,l,u,g-l):m),h.get(c)===n.length&&h.get(c)-c===s.length)break e}}let u=d.get(c);const g=[];let _=n.length,v=s.length;for(;;){const e=u?u.x+u.length:0,t=u?u.y+u.length:0;if(e===_&&t===v||g.push(new l.$8(new r.L(e,_),new r.L(t,v))),!u)break;_=u.x,v=u.y,u=u.prev}return g.reverse(),new l.SL(g,!1)}}class p{constructor(e,t,i,n){this.prev=e,this.x=t,this.y=i,this.length=n}}class m{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class f{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}var _=i(39331),v=i(97393),b=i(27992),C=i(15365);class w{constructor(e,t,i){this.lines=e,this.range=t,this.considerWhitespaceChanges=i,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let n=this.range.startLineNumber;n<=this.range.endLineNumber;n++){let t=e[n-1],s=0;n===this.range.startLineNumber&&this.range.startColumn>1&&(s=this.range.startColumn-1,t=t.substring(s)),this.lineStartOffsets.push(s);let o=0;if(!i){const e=t.trimStart();o=t.length-e.length,t=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(o);const r=n===this.range.endLineNumber?Math.min(this.range.endColumn-1-s-o,t.length):t.length;for(let e=0;eString.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=L(e>0?this.elements[e-1]:-1),i=L(et<=e)),n=e-this.firstElementOffsetByLineIdx[i];return new C.y(this.range.startLineNumber+i,1+this.lineStartOffsets[i]+n+(0===n&&"left"===t?0:this.trimmedWsLengthsByLineIdx[i]))}translateRange(e){const t=this.translateOffset(e.start,"right"),i=this.translateOffset(e.endExclusive,"left");return i.isBefore(t)?a.Q.fromPositions(i,i):a.Q.fromPositions(t,i)}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!y(this.elements[e]))return;let t=e;for(;t>0&&y(this.elements[t-1]);)t--;let i=e;for(;it<=e.start))??0,i=(0,v.XP)(this.firstElementOffsetByLineIdx,(t=>e.endExclusive<=t))??this.elements.length;return new r.L(t,i)}}function y(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const S={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function k(e){return S[e]}function L(e){return 10===e?8:13===e?7:d(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function x(e,t,i,s,r,a){let{moves:l,excludedChanges:h}=function(e,t,i,n){const s=[],o=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new c(e.original,t,e))),r=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new c(e.modified,i,e)))),a=new Set;for(const l of o){let e,t=-1;for(const i of r){const n=l.computeSimilarity(i);n>t&&(t=n,e=i)}if(t>.9&&e&&(r.delete(e),s.push(new _.WL(l.range,e.range)),a.add(l.source),a.add(e.source)),!n.isValid())return{moves:s,excludedChanges:a}}return{moves:s,excludedChanges:a}}(e,t,i,a);if(!a.isValid())return[];const d=function(e,t,i,s,r,a){const l=[],h=new b.db;for(const n of e)for(let e=n.original.startLineNumber;ee.modified.startLineNumber),n.U9));for(const n of e){let e=[];for(let t=n.modified.startLineNumber;t{for(const n of e)if(n.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&n.modifiedLineRange.endLineNumberExclusive+1===s.endLineNumberExclusive)return n.originalLineRange=new o.M(n.originalLineRange.startLineNumber,t.endLineNumberExclusive),n.modifiedLineRange=new o.M(n.modifiedLineRange.startLineNumber,s.endLineNumberExclusive),void r.push(n);const i={modifiedLineRange:s,originalLineRange:t};d.push(i),r.push(i)})),e=r}if(!a.isValid())return[]}d.sort((0,n.Hw)((0,n.VE)((e=>e.modifiedLineRange.length),n.U9)));const c=new o.S,u=new o.S;for(const n of d){const e=n.modifiedLineRange.startLineNumber-n.originalLineRange.startLineNumber,t=c.subtractFrom(n.modifiedLineRange),i=u.subtractFrom(n.originalLineRange).getWithDelta(e),s=t.getIntersection(i);for(const n of s.ranges){if(n.length<3)continue;const t=n,i=n.delta(-e);l.push(new _.WL(i,t)),c.addRange(t),u.addRange(i)}}l.sort((0,n.VE)((e=>e.original.startLineNumber),n.U9));const g=new v.vJ(e);for(let n=0;ne.original.startLineNumber<=t.original.startLineNumber)),h=(0,v.lx)(e,(e=>e.modified.startLineNumber<=t.modified.startLineNumber)),d=Math.max(t.original.startLineNumber-i.original.startLineNumber,t.modified.startLineNumber-h.modified.startLineNumber),p=g.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumbers.length||i>r.length)break;if(c.contains(i)||u.contains(e))break;if(!D(s[e-1],r[i-1],a))break}for(b>0&&(u.addRange(new o.M(t.original.startLineNumber-b,t.original.startLineNumber)),c.addRange(new o.M(t.modified.startLineNumber-b,t.modified.startLineNumber))),C=0;Cs.length||i>r.length)break;if(c.contains(i)||u.contains(e))break;if(!D(s[e-1],r[i-1],a))break}C>0&&(u.addRange(new o.M(t.original.endLineNumberExclusive,t.original.endLineNumberExclusive+C)),c.addRange(new o.M(t.modified.endLineNumberExclusive,t.modified.endLineNumberExclusive+C))),(b>0||C>0)&&(l[n]=new _.WL(new o.M(t.original.startLineNumber-b,t.original.endLineNumberExclusive+C),new o.M(t.modified.startLineNumber-b,t.modified.endLineNumberExclusive+C)))}return l}(e.filter((e=>!h.has(e))),s,r,t,i,a);return(0,n.E4)(l,d),l=function(e){if(0===e.length)return e;e.sort((0,n.VE)((e=>e.original.startLineNumber),n.U9));const t=[e[0]];for(let i=1;i=0&&r>=0&&o+r<=2?t[t.length-1]=n.join(s):t.push(s)}return t}(l),l=l.filter((e=>{const i=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return i.join("\n").length>=15&&function(e,t){let i=0;for(const n of e)t(n)&&i++;return i}(i,(e=>e.length>=2))>=2})),l=function(e,t){const i=new v.vJ(e);return t=t.filter((t=>(i.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumber300&&t.length>300)return!1;const n=(new g).compute(new w([e],new a.Q(1,1,1,e.length),!1),new w([t],new a.Q(1,1,1,t.length),!1),i);let s=0;const o=l.$8.invert(n.diffs,e.length);for(const a of o)a.seq1Range.forEach((t=>{d(e.charCodeAt(t))||s++}));const r=function(t){let i=0;for(let n=0;nt.length?e:t);return s/r>.6&&r>10}var N=i(52542);class I{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:E(this.lines[e-1]))+(e===this.lines.length?0:E(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function E(e){let t=0;for(;te===t)))return new M.p([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new M.p([new _.wm(new o.M(1,e.length+1),new o.M(1,t.length+1),[new _.q6(new a.Q(1,1,e.length,e[e.length-1].length+1),new a.Q(1,1,t.length,t[t.length-1].length+1))])],[],!1);const h=0===i.maxComputationTimeMs?l.uY.instance:new l.aY(i.maxComputationTimeMs),d=!i.ignoreTrimWhitespace,c=new Map;function u(e){let t=c.get(e);return void 0===t&&(t=c.size,c.set(e,t)),t}const g=e.map((e=>u(e.trim()))),p=t.map((e=>u(e.trim()))),m=new I(g,e),f=new I(p,t),v=(()=>m.length+f.length<1700?this.dynamicProgrammingDiffing.compute(m,f,h,((i,n)=>e[i]===t[n]?0===t[n].length?.1:1+Math.log(1+t[n].length):.99)):this.myersDiffingAlgorithm.compute(m,f,h))();let b=v.diffs,C=v.hitTimeout;b=(0,N.NC)(m,f,b),b=(0,N.X5)(m,f,b);const w=[],y=i=>{if(d)for(let n=0;nn.seq1Range.start-S==n.seq2Range.start-k));y(n.seq1Range.start-S),S=n.seq1Range.endExclusive,k=n.seq2Range.endExclusive;const i=this.refineDiff(e,t,n,h,d);i.hitTimeout&&(C=!0);for(const e of i.mappings)w.push(e)}y(e.length-S);const L=R(w,e,t);let x=[];return i.computeMoves&&(x=this.computeMoves(L,e,t,g,p,h,d)),(0,s.Ft)((()=>{function i(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const i=t[e.lineNumber-1];return!(e.column<1||e.column>i.length+1)}function n(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1)&&!(e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const s of L){if(!s.innerChanges)return!1;for(const n of s.innerChanges){if(!(i(n.modifiedRange.getStartPosition(),t)&&i(n.modifiedRange.getEndPosition(),t)&&i(n.originalRange.getStartPosition(),e)&&i(n.originalRange.getEndPosition(),e)))return!1}if(!n(s.modified,t)||!n(s.original,e))return!1}return!0})),new M.p(L,x,C)}computeMoves(e,t,i,n,s,o,r){return x(e,t,i,n,s,o).map((e=>{const n=R(this.refineDiff(t,i,new l.$8(e.original.toOffsetRange(),e.modified.toOffsetRange()),o,r).mappings,t,i,!0);return new M.t(e,n)}))}refineDiff(e,t,i,n,s){var r;const a=(r=i,new _.WL(new o.M(r.seq1Range.start+1,r.seq1Range.endExclusive+1),new o.M(r.seq2Range.start+1,r.seq2Range.endExclusive+1))).toRangeMapping2(e,t),l=new w(e,a.originalRange,s),h=new w(t,a.modifiedRange,s),d=l.length+h.length<500?this.dynamicProgrammingDiffing.compute(l,h,n):this.myersDiffingAlgorithm.compute(l,h,n),c=!1;let u=d.diffs;u=(0,N.NC)(l,h,u),u=(0,N.Lk)(l,h,u),u=(0,N.sq)(l,h,u),u=(0,N.Rl)(l,h,u);const g=u.map((e=>new _.q6(l.translateRange(e.seq1Range),h.translateRange(e.seq2Range))));return{mappings:g,hitTimeout:d.hitTimeout}}}function R(e,t,i,r=!1){const a=[];for(const s of(0,n.n)(e.map((e=>function(e,t,i){let n=0,s=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+n<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+n<=e.modifiedRange.endLineNumber&&(s=-1);e.modifiedRange.startColumn-1>=i[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+s&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+s&&(n=1);const r=new o.M(e.originalRange.startLineNumber+n,e.originalRange.endLineNumber+1+s),a=new o.M(e.modifiedRange.startLineNumber+n,e.modifiedRange.endLineNumber+1+s);return new _.wm(r,a,[e])}(e,t,i))),((e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified)))){const e=s[0],t=s[s.length-1];a.push(new _.wm(e.original.join(t.original),e.modified.join(t.modified),s.map((e=>e.innerChanges[0]))))}return(0,s.Ft)((()=>{if(!r&&a.length>0){if(a[0].modified.startLineNumber!==a[0].original.startLineNumber)return!1;if(i.length-a[a.length-1].modified.endLineNumberExclusive!=t.length-a[a.length-1].original.endLineNumberExclusive)return!1}return(0,s.Xo)(a,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive{i.d(t,{Lk:()=>d,NC:()=>r,Rl:()=>u,X5:()=>c,sq:()=>h});var n=i(13338),s=i(72532),o=i(75090);function r(e,t,i){let n=i;return n=a(e,t,n),n=a(e,t,n),n=function(e,t,i){if(!e.getBoundaryScore||!t.getBoundaryScore)return i;for(let n=0;n0?i[n-1]:void 0,r=i[n],a=n+10&&(l=l.delta(h))}r.push(l)}return n.length>0&&r.push(n[n.length-1]),r}function l(e,t,i,n,s){let o=1;for(;e.seq1Range.start-o>=n.start&&e.seq2Range.start-o>=s.start&&i.isStronglyEqual(e.seq2Range.start-o,e.seq2Range.endExclusive-o)&&o<100;)o++;o--;let r=0;for(;e.seq1Range.start+rl&&(l=r,a=h)}return e.delta(a)}function h(e,t,i){const n=[];for(const s of i){const e=n[n.length-1];e?s.seq1Range.start-e.seq1Range.endExclusive<=2||s.seq2Range.start-e.seq2Range.endExclusive<=2?n[n.length-1]=new o.$8(e.seq1Range.join(s.seq1Range),e.seq2Range.join(s.seq2Range)):n.push(s):n.push(s)}return n}function d(e,t,i){const n=o.$8.invert(i,e.length),s=[];let r=new o._3(0,0);function a(i,a){if(i.offset10;){const i=n[0];if(!(i.seq1Range.intersects(d.seq1Range)||i.seq2Range.intersects(d.seq2Range)))break;const s=e.findWordContaining(i.seq1Range.start),r=t.findWordContaining(i.seq2Range.start),a=new o.$8(s,r),l=a.intersect(i);if(u+=l.seq1Range.length,g+=l.seq2Range.length,d=d.join(a),!(d.seq1Range.endExclusive>=i.seq1Range.endExclusive))break;n.shift()}u+g<2*(d.seq1Range.length+d.seq2Range.length)/3&&s.push(d),r=d.getEndExclusives()}for(;n.length>0;){const e=n.shift();e.seq1Range.isEmpty||(a(e.getStarts(),e),a(e.getEndExclusives().delta(-1),e))}return function(e,t){const i=[];for(;e.length>0||t.length>0;){const n=e[0],s=t[0];let o;o=n&&(!s||n.seq1Range.start0&&i[i.length-1].seq1Range.endExclusive>=o.seq1Range.start?i[i.length-1]=i[i.length-1].join(o):i.push(o)}return i}(i,s)}function c(e,t,i){let n=i;if(0===n.length)return n;let o,r=0;do{o=!1;const a=[n[0]];for(let l=1;l5||i.seq1Range.length+i.seq2Range.length>5)}c(d,h)?(o=!0,a[a.length-1]=a[a.length-1].join(h)):a.push(h)}n=a}while(r++<10&&o);return n}function u(e,t,i){let r=i;if(0===r.length)return r;let a,l=0;do{a=!1;const d=[r[0]];for(let c=1;c5||o.length>500)return!1;const r=e.getText(o).trim();if(r.length>20||r.split(/\r\n|\r|\n/).length>1)return!1;const a=e.countLinesIn(i.seq1Range),l=i.seq1Range.length,h=t.countLinesIn(i.seq2Range),d=i.seq2Range.length,c=e.countLinesIn(n.seq1Range),p=n.seq1Range.length,m=t.countLinesIn(n.seq2Range),f=n.seq2Range.length;function _(e){return Math.min(e,130)}return Math.pow(Math.pow(_(40*a+l),1.5)+Math.pow(_(40*h+d),1.5),1.5)+Math.pow(Math.pow(_(40*c+p),1.5)+Math.pow(_(40*m+f),1.5),1.5)>74184.96480721243}p(g,u)?(a=!0,d[d.length-1]=d[d.length-1].join(u)):d.push(u)}r=d}while(l++<10&&a);const h=[];return(0,n.kj)(r,((t,i,n)=>{let r=i;function a(e){return e.length>0&&e.trim().length<=3&&i.seq1Range.length+i.seq2Range.length>100}const l=e.extendToFullLines(i.seq1Range),d=e.getText(new s.L(l.start,i.seq1Range.start));a(d)&&(r=r.deltaStart(-d.length));const c=e.getText(new s.L(i.seq1Range.endExclusive,l.endExclusive));a(c)&&(r=r.deltaEnd(c.length));const u=o.$8.fromOffsetPairs(t?t.getEndExclusives():o._3.zero,n?n.getStarts():o._3.max),g=r.intersect(u);h.length>0&&g.getStarts().equals(h[h.length-1].getEndExclusives())?h[h.length-1]=h[h.length-1].join(g):h.push(g)})),h}},23837:(e,t,i)=>{i.d(t,{p:()=>n,t:()=>s});class n{constructor(e,t,i){this.changes=e,this.moves=t,this.hitTimeout=i}}class s{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}},39331:(e,t,i)=>{i.d(t,{WL:()=>l,q6:()=>u,wm:()=>c});var n=i(94327),s=i(79955),o=i(15365),r=i(28061),a=i(6292);class l{static inverse(e,t,i){const n=[];let o=1,r=1;for(const h of e){const e=new l(new s.M(o,h.original.startLineNumber),new s.M(r,h.modified.startLineNumber));e.modified.isEmpty||n.push(e),o=h.original.endLineNumberExclusive,r=h.modified.endLineNumberExclusive}const a=new l(new s.M(o,t+1),new s.M(r,i+1));return a.modified.isEmpty||n.push(a),n}static clip(e,t,i){const n=[];for(const s of e){const e=s.original.intersect(t),o=s.modified.intersect(i);e&&!e.isEmpty&&o&&!o.isEmpty&&n.push(new l(e,o))}return n}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new l(this.modified,this.original)}join(e){return new l(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new u(e,t);if(1===this.original.startLineNumber||1===this.modified.startLineNumber){if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new n.D7("not a valid diff");return new u(new r.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new r.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}return new u(new r.Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new r.Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(d(this.original.endLineNumberExclusive,e)&&d(this.modified.endLineNumberExclusive,t))return new u(new r.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new r.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new u(r.Q.fromPositions(new o.y(this.original.startLineNumber,1),h(new o.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),r.Q.fromPositions(new o.y(this.modified.startLineNumber,1),h(new o.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new u(r.Q.fromPositions(h(new o.y(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),h(new o.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),r.Q.fromPositions(h(new o.y(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),h(new o.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new n.D7}}function h(e,t){if(e.lineNumber<1)return new o.y(1,1);if(e.lineNumber>t.length)return new o.y(t.length,t[t.length-1].length+1);const i=t[e.lineNumber-1];return e.column>i.length+1?new o.y(e.lineNumber,i.length+1):e}function d(e,t){return e>=1&&e<=t.length}class c extends l{static fromRangeMappings(e){const t=s.M.join(e.map((e=>s.M.fromRangeInclusive(e.originalRange)))),i=s.M.join(e.map((e=>s.M.fromRangeInclusive(e.modifiedRange))));return new c(t,i,e)}constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){return new c(this.modified,this.original,this.innerChanges?.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new c(this.original,this.modified,[this.toRangeMapping()])}}class u{static assertSorted(e){for(let t=1;t${this.modifiedRange.toString()}}`}flip(){return new u(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new a.WR(this.originalRange,t)}}},15910:(e,t,i)=>{i.d(t,{x:()=>n});class n{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const i=this.getFontStyle(e);return 1&i&&(t+=" mtki"),2&i&&(t+=" mtkb"),4&i&&(t+=" mtku"),8&i&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),n=this.getFontStyle(e);let s=`color: ${t[i]};`;1&n&&(s+="font-style: italic;"),2&n&&(s+="font-weight: bold;");let o="";return 4&n&&(o+=" underline"),8&n&&(o+=" line-through"),o&&(s+=`text-decoration:${o};`),s}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&i),bold:Boolean(2&i),underline:Boolean(4&i),strikethrough:Boolean(8&i)}}}},74403:(e,t,i)=>{i.d(t,{f:()=>o});var n=i(83958),s=i(18019);function o(e,t,i,r,a,l){if(Array.isArray(e)){let n=0;for(const s of e){const e=o(s,t,i,r,a,l);if(10===e)return e;e>n&&(n=e)}return n}if("string"==typeof e)return r?"*"===e?5:e===i?10:0:0;if(e){const{language:o,pattern:h,scheme:d,hasAccessToAllModels:c,notebookType:u}=e;if(!r&&!c)return 0;u&&a&&(t=a);let g=0;if(d)if(d===t.scheme)g=10;else{if("*"!==d)return 0;g=5}if(o)if(o===i)g=10;else{if("*"!==o)return 0;g=Math.max(g,5)}if(u)if(u===l)g=10;else{if("*"!==u||void 0===l)return 0;g=Math.max(g,5)}if(h){let e;if(e="string"==typeof h?h:{...h,base:(0,s.S8)(h.base)},e!==t.fsPath&&!(0,n.YW)(e,t.fsPath))return 0;g=10}return g}return 0}},29694:(e,t,i)=>{i.d(t,{uB:()=>D,HC:()=>c,Kb:()=>m,FX:()=>g,rY:()=>b,lO:()=>I,M$:()=>d,r4:()=>N,qw:()=>u,sm:()=>R,v_:()=>E,OV:()=>L,YT:()=>x,GE:()=>C,WA:()=>p,gP:()=>k,ou:()=>_,dG:()=>M,$M:()=>v,OB:()=>T,PK:()=>S,Iu:()=>w});var n=i(2181),s=i(37264),o=i(28061),r=i(2106),a=i(10998);class l{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new r.vl,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),(0,a.s)((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){this._factories.get(e)?.dispose();const i=new h(this,e,t);return this._factories.set(e,i),(0,a.s)((()=>{const t=this._factories.get(e);t&&t===i&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}class h extends a.jG{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}var d,c,u,g,p,m,f=i(87289);class _{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class v{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class b{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}!function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(d||(d={})),function(e){const t=new Map;t.set(0,n.W.symbolMethod),t.set(1,n.W.symbolFunction),t.set(2,n.W.symbolConstructor),t.set(3,n.W.symbolField),t.set(4,n.W.symbolVariable),t.set(5,n.W.symbolClass),t.set(6,n.W.symbolStruct),t.set(7,n.W.symbolInterface),t.set(8,n.W.symbolModule),t.set(9,n.W.symbolProperty),t.set(10,n.W.symbolEvent),t.set(11,n.W.symbolOperator),t.set(12,n.W.symbolUnit),t.set(13,n.W.symbolValue),t.set(15,n.W.symbolEnum),t.set(14,n.W.symbolConstant),t.set(15,n.W.symbolEnum),t.set(16,n.W.symbolEnumMember),t.set(17,n.W.symbolKeyword),t.set(27,n.W.symbolSnippet),t.set(18,n.W.symbolText),t.set(19,n.W.symbolColor),t.set(20,n.W.symbolFile),t.set(21,n.W.symbolReference),t.set(22,n.W.symbolCustomColor),t.set(23,n.W.symbolFolder),t.set(24,n.W.symbolTypeParameter),t.set(25,n.W.account),t.set(26,n.W.issues),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for CompletionItemKind "+e),i=n.W.symbolProperty),i};const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26),e.fromString=function(e,t){let n=i.get(e);return void 0!==n||t||(n=9),n}}(c||(c={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(u||(u={}));class C{constructor(e,t,i,n){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=n}equals(e){return o.Q.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}function w(e){return e&&s.r.isUri(e.uri)&&o.Q.isIRange(e.range)&&(o.Q.isIRange(e.originSelectionRange)||o.Q.isIRange(e.targetSelectionRange))}!function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(g||(g={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(p||(p={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(m||(m={}));const y={17:(0,f.kg)("Array","array"),16:(0,f.kg)("Boolean","boolean"),4:(0,f.kg)("Class","class"),13:(0,f.kg)("Constant","constant"),8:(0,f.kg)("Constructor","constructor"),9:(0,f.kg)("Enum","enumeration"),21:(0,f.kg)("EnumMember","enumeration member"),23:(0,f.kg)("Event","event"),7:(0,f.kg)("Field","field"),0:(0,f.kg)("File","file"),11:(0,f.kg)("Function","function"),10:(0,f.kg)("Interface","interface"),19:(0,f.kg)("Key","key"),5:(0,f.kg)("Method","method"),1:(0,f.kg)("Module","module"),2:(0,f.kg)("Namespace","namespace"),20:(0,f.kg)("Null","null"),15:(0,f.kg)("Number","number"),18:(0,f.kg)("Object","object"),24:(0,f.kg)("Operator","operator"),3:(0,f.kg)("Package","package"),6:(0,f.kg)("Property","property"),14:(0,f.kg)("String","string"),22:(0,f.kg)("Struct","struct"),25:(0,f.kg)("TypeParameter","type parameter"),12:(0,f.kg)("Variable","variable")};function S(e,t){return(0,f.kg)("symbolAriaLabel","{0} ({1})",e,y[t])}var k,L,x,D,N;!function(e){const t=new Map;t.set(0,n.W.symbolFile),t.set(1,n.W.symbolModule),t.set(2,n.W.symbolNamespace),t.set(3,n.W.symbolPackage),t.set(4,n.W.symbolClass),t.set(5,n.W.symbolMethod),t.set(6,n.W.symbolProperty),t.set(7,n.W.symbolField),t.set(8,n.W.symbolConstructor),t.set(9,n.W.symbolEnum),t.set(10,n.W.symbolInterface),t.set(11,n.W.symbolFunction),t.set(12,n.W.symbolVariable),t.set(13,n.W.symbolConstant),t.set(14,n.W.symbolString),t.set(15,n.W.symbolNumber),t.set(16,n.W.symbolBoolean),t.set(17,n.W.symbolArray),t.set(18,n.W.symbolObject),t.set(19,n.W.symbolKey),t.set(20,n.W.symbolNull),t.set(21,n.W.symbolEnumMember),t.set(22,n.W.symbolStruct),t.set(23,n.W.symbolEvent),t.set(24,n.W.symbolOperator),t.set(25,n.W.symbolTypeParameter),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for SymbolKind "+e),i=n.W.symbolProperty),i}}(k||(k={}));class I{static{this.Comment=new I("comment")}static{this.Imports=new I("imports")}static{this.Region=new I("region")}static fromValue(e){switch(e){case"comment":return I.Comment;case"imports":return I.Imports;case"region":return I.Region}return new I(e)}constructor(e){this.value=e}}!function(e){e[e.AIGenerated=1]="AIGenerated"}(L||(L={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(x||(x={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&("string"==typeof e.id&&"string"==typeof e.title)}}(D||(D={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(N||(N={}));class E{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then((e=>{e&&e.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const M=new l,T=new l;var R;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(R||(R={}))},77922:(e,t,i)=>{i.d(t,{L:()=>n});const n=(0,i(82399).u1)("languageService")},49550:(e,t,i)=>{var n;i.d(t,{GB:()=>o,i3:()=>s,l:()=>n}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(n||(n={}));class s{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t{i.d(t,{JZ:()=>M,Cw:()=>P});var n=i(2106),s=i(10998),o=i(16844),r=i(18782),a=i(49550);class l{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t"}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t"}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new a.i3(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new a.i3({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new a.i3({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:l.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:l.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}var h=i(13338),d=i(19184),c=i(1804);class u{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const t=i.charAt(i.length-1);e.push(t)}return(0,h.dM)(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const n=t.findTokenIndexAtOffset(i-1);if((0,d.Yo)(t.getStandardTokenType(n)))return null;const s=this._richEditBrackets.reversedRegex,o=t.getLineContent().substring(0,i-1)+e,r=c.Fu.findPrevBracketInRange(s,1,o,0,o.length);if(!r)return null;const a=o.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const l=t.getActualLineContentBefore(r.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function g(e){return e.global&&(e.lastIndex=0),!0}class p{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&g(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&g(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&g(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&g(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}var m=i(94327);class f{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=f._createOpenBracketRegExp(e[0]),i=f._createCloseBracketRegExp(e[1]);t&&i&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:i})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,n){if(e>=3)for(let s=0,o=this._regExpRules.length;s!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return e.action}if(e>=2&&i.length>0&&n.length>0)for(let s=0,o=this._brackets.length;s=2&&i.length>0)for(let s=0,o=this._brackets.length;s{const t=new Set;return{info:new x(this,e,t),closing:t}})),s=new y.VV((e=>{const t=new Set,i=new Set;return{info:new D(this,e,t,i),opening:t,openingColorized:i}}));for(const[r,a]of i){const e=n.get(r),t=s.get(a);e.closing.add(t.info),t.opening.add(e.info)}const o=t.colorizedBracketPairs?k(t.colorizedBracketPairs):i.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[r,a]of o){const e=n.get(r),t=s.get(a);e.closing.add(t.info),t.openingColorized.add(e.info),t.opening.add(e.info)}this._openingBrackets=new Map([...n.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...s.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){const t=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return(0,c.xb)(t,e)}}function k(e){return e.filter((([e,t])=>""!==e&&""!==t))}class L{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class x extends L{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class D extends L{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var N=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},I=function(e,t){return function(i,n){t(i,n,e)}};class E{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const M=(0,_.u1)("languageConfigurationService");let T=class extends s.jG{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new H),this.onDidChangeEmitter=this._register(new n.vl),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(R));this._register(this.configurationService.onDidChangeConfiguration((e=>{const t=e.change.keys.some((e=>i.has(e))),n=e.change.overrides.filter((([e,t])=>t.some((e=>i.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new E(void 0));else for(const i of n)this.languageService.isRegisteredLanguageId(i)&&(this.configurations.delete(i),this.onDidChangeEmitter.fire(new E(i)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new E(e.languageId))})))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,i,n){let s=t.getLanguageConfiguration(e);if(!s){if(!n.isRegisteredLanguageId(e))return new V(e,{});s=new V(e,{})}const o=function(e,t){const i=t.getValue(R.brackets,{overrideIdentifier:e}),n=t.getValue(R.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:A(i),colorizedBracketPairs:A(n)}}(s.languageId,i),r=F([s.underlyingConfig,o]);return new V(s.languageId,r)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};T=N([I(0,v.pG),I(1,b.L)],T);const R={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function A(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}function P(e,t,i){const n=e.getLineContent(t);let s=o.UU(n);return s.length>i-1&&(s=s.substring(0,i-1)),s}class O{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new W(e,t,++this._order);return this._entries.push(i),this._resolved=null,(0,s.s)((()=>{for(let e=0;ee.configuration))))}}function F(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const i of e)t={comments:i.comments||t.comments,brackets:i.brackets||t.brackets,wordPattern:i.wordPattern||t.wordPattern,indentationRules:i.indentationRules||t.indentationRules,onEnterRules:i.onEnterRules||t.onEnterRules,autoClosingPairs:i.autoClosingPairs||t.autoClosingPairs,surroundingPairs:i.surroundingPairs||t.surroundingPairs,autoCloseBefore:i.autoCloseBefore||t.autoCloseBefore,folding:i.folding||t.folding,colorizedBracketPairs:i.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:i.__electricCharacterSupport||t.__electricCharacterSupport};return t}class W{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class B{constructor(e){this.languageId=e}}class H extends s.jG{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new n.vl),this.onDidChange=this._onDidChange.event,this._register(this.register(w.vH,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let n=this._entries.get(e);n||(n=new O(e),this._entries.set(e,n));const o=n.register(t,i);return this._onDidChange.fire(new B(e)),(0,s.s)((()=>{o.dispose(),this._onDidChange.fire(new B(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class V{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new f(this.underlyingConfig):null,this.comments=V._handleComments(this.underlyingConfig),this.characterPair=new l(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||r.Ld,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new p(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new S(e,this.underlyingConfig)}getWordDefinition(){return(0,r.Io)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new c.az(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new u(this.brackets)),this._electricCharacter}onEnter(e,t,i,n){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,n):null}getAutoClosingPairs(){return new a.GB(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[e,n]=t.blockComment;i.blockCommentStartToken=e,i.blockCommentEndToken=n}return i}}(0,C.v)(M,T,1)},54957:(e,t,i)=>{i.d(t,{W6:()=>l,vH:()=>h});var n=i(87289),s=i(2106),o=i(67167),r=i(53720),a=i(27142);const l=new class{constructor(){this._onDidChangeLanguages=new s.vl,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{i.d(t,{$H:()=>o,Lh:()=>r,r3:()=>s});var n=i(29694);const s=new class{clone(){return this}equals(e){return this===e}};function o(e,t){return new n.$M([new n.ou(0,"",e)],t)}function r(e,t){const i=new Uint32Array(2);return i[0]=0,i[1]=(32768|e|2<<24)>>>0,new n.rY(i,null===t?s:t)}},19184:(e,t,i)=>{function n(e,t){const i=e.getCount(),n=e.findTokenIndexAtOffset(t),o=e.getLanguageId(n);let r=n;for(;r+10&&e.getLanguageId(a-1)===o;)a--;return new s(e,o,a,r+1,e.getStartOffset(a),e.getEndOffset(r))}i.d(t,{BQ:()=>n,Yo:()=>o});class s{constructor(e,t,i,n,s,o){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=s,this._lastCharOffset=o,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}function o(e){return!!(3&e)}},1804:(e,t,i)=>{i.d(t,{Fu:()=>p,az:()=>a,xb:()=>u});var n=i(16844),s=i(54324),o=i(28061);class r{constructor(e,t,i,n,s,o){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=i,this.close=n,this.forwardRegex=s,this.reversedRegex=o,this._openSet=r._toSet(this.open),this._closeSet=r._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const i of e)t.add(i);return t}}class a{constructor(e,t){this._richEditBracketsBrand=void 0;const i=function(e){const t=e.length;e=e.map((e=>[e[0].toLowerCase(),e[1].toLowerCase()]));const i=[];for(let r=0;r{const[i,n]=e,[s,o]=t;return i===s||i===o||n===s||n===o},s=(e,n)=>{const s=Math.min(e,n),o=Math.max(e,n);for(let r=0;r0&&o.push({open:n,close:s})}return o}(t);this.brackets=i.map(((t,n)=>new r(e,n,t.open,t.close,function(e,t,i,n){let s=[];s=s.concat(e),s=s.concat(t);for(let o=0,r=s.length;o=0&&n.push(t);for(const t of o.close)t.indexOf(e)>=0&&n.push(t)}}function h(e,t){return e.length-t.length}function d(e){if(e.length<=1)return e;const t=[],i=new Set;for(const n of e)i.has(n)||(t.push(n),i.add(n));return t}function c(e){const t=/^[\w ]+$/.test(e);return e=n.bm(e),t?`\\b${e}\\b`:e}function u(e,t){const i=`(${e.map(c).join(")|(")})`;return n.OS(i,!0,t)}const g=function(){let e=null,t=null;return function(i){return e!==i&&(e=i,t=function(e){const t=new Uint16Array(e.length);let i=0;for(let n=e.length-1;n>=0;n--)t[i++]=e.charCodeAt(n);return s.b7().decode(t)}(e)),t}}();class p{static _findPrevBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=i.length-(s.index||0),a=s[0].length,l=n+r;return new o.Q(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,n,s){const o=g(i).substring(i.length-s,i.length-n);return this._findPrevBracketInText(e,t,o,n)}static findNextBracketInText(e,t,i,n){const s=i.match(e);if(!s)return null;const r=s.index||0,a=s[0].length;if(0===a)return null;const l=n+r;return new o.Q(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,n,s){const o=i.substring(n,s);return this.findNextBracketInText(e,t,o,n)}}},66055:(e,t,i)=>{i.d(t,{A5:()=>n,Dg:()=>l,F4:()=>u,L5:()=>c,VW:()=>o,Wo:()=>d,X2:()=>a,ZS:()=>s,nk:()=>h,vd:()=>g});var n,s,o,r=i(71386);!function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(n||(n={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(s||(s={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(o||(o={}));class a{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|e.tabSize),"tabSize"===e.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|e.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace),this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&(0,r.aI)(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class l{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function h(e){return e&&"function"==typeof e.read}class d{constructor(e,t,i,n,s,o){this.identifier=e,this.range=t,this.text=i,this.forceMoveMarkers=n,this.isAutoWhitespaceEdit=s,this._isTracked=o}}class c{constructor(e,t,i){this.regex=e,this.wordSeparators=t,this.simpleSearch=i}}class u{constructor(e,t,i){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=i}}function g(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},64651:(e,t,i)=>{i.d(t,{Gc:()=>v,Nn:()=>l,Xw:()=>h,rh:()=>_,yF:()=>f});var n=i(94327),s=i(62549),o=i(34883),r=i(60756);class a{get length(){return this._length}constructor(e){this._length=e}}class l extends a{static create(e,t,i){let n=e.length;return t&&(n=(0,o.QB)(n,t.length)),i&&(n=(0,o.QB)(n,i.length)),new l(n,e,t,i,t?t.missingOpeningBracketIds:r.gV.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,i,n,s){super(e),this.openingBracket=t,this.child=i,this.closingBracket=n,this.missingOpeningBracketIds=s}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new l(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation((0,o.QB)(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class h extends a{static create23(e,t,i,n=!1){let s=e.length,r=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(s=(0,o.QB)(s,t.length),r=r.merge(t.missingOpeningBracketIds),i){if(e.listHeight!==i.listHeight)throw new Error("Invalid list heights");s=(0,o.QB)(s,i.length),r=r.merge(i.missingOpeningBracketIds)}return n?new c(s,e.listHeight+1,e,t,i,r):new d(s,e.listHeight+1,e,t,i,r)}static getEmpty(){return new g(o.Vp,0,[],r.gV.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,i){super(e),this.listHeight=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),i=4===t.kind?t.toMutable():t;return t!==i&&this.setChild(e-1,i),i}makeFirstElementMutable(){this.throwIfImmutable();if(0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new n.D7;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,i=this.getChild(0).missingOpeningBracketIds;for(let n=1;n{i.d(t,{W:()=>r,c:()=>o});var n=i(28061),s=i(34883);class o{static fromModelContentChanges(e){return e.map((e=>{const t=n.Q.lift(e.range);return new o((0,s.VL)(t.getStartPosition()),(0,s.VL)(t.getEndPosition()),(0,s.rR)(e.text))})).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${(0,s.l4)(this.startOffset)}...${(0,s.l4)(this.endOffset)}) -> ${(0,s.l4)(this.newLength)}`}}class r{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>a.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return null===i?null:(0,s.MS)(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?(0,s.qe)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):(0,s.qe)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=(0,s.l4)(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,s.qe)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):(0,s.qe)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx{i.d(t,{Z:()=>h});var n=i(16844),s=i(64651),o=i(34883),r=i(60756),a=i(33206);class l{static createFromLanguage(e,t){function i(e){return t.getKey(`${e.languageId}:::${e.bracketText}`)}const n=new Map;for(const l of e.bracketsNew.openingBrackets){const e=(0,o.qe)(0,l.bracketText.length),t=i(l),h=r.gV.getEmpty().add(t,r.FD);n.set(l.bracketText,new a.ou(e,1,t,h,s.rh.create(e,l,h)))}for(const l of e.bracketsNew.closingBrackets){const e=(0,o.qe)(0,l.bracketText.length);let t=r.gV.getEmpty();const h=l.getOpeningBrackets();for(const n of h)t=t.add(i(n),r.FD);n.set(l.bracketText,new a.ou(e,2,i(h[0]),t,s.rh.create(e,l,t)))}return new l(n)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map((e=>function(e){let t=(0,n.bm)(e);/^[\w ]+/.test(e)&&(t=`\\b${t}`);/[\w ]+$/.test(e)&&(t=`${t}\\b`);return t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(2===i.kind&&i.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class h{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=l.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}},47132:(e,t,i)=>{i.d(t,{M:()=>r});var n=i(13338),s=i(22994),o=i(34883);function r(e,t){if(0===e.length)return t;if(0===t.length)return e;const i=new n.j3(l(e)),r=l(t);r.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let h=i.dequeue();function d(e){if(void 0===e){const e=i.takeWhile((e=>!0))||[];return h&&e.unshift(h),e}const t=[];for(;h&&!(0,o.Vh)(e);){const[n,s]=h.splitAt(e);t.push(n),e=(0,o.MS)(n.lengthAfter,e),h=s??i.dequeue()}return(0,o.Vh)(e)||t.push(new a(!1,e,e)),t}const c=[];function u(e,t,i){if(c.length>0&&(0,o.wP)(c[c.length-1].endOffset,e)){const e=c[c.length-1];c[c.length-1]=new s.c(e.startOffset,t,(0,o.QB)(e.newLength,i))}else c.push({startOffset:e,endOffset:t,newLength:i})}let g=o.Vp;for(const n of r){const e=d(n.lengthBefore);if(n.modified){const t=(0,o.pW)(e,(e=>e.lengthBefore)),i=(0,o.QB)(g,t);u(g,i,n.lengthAfter),g=i}else for(const t of e){const e=g;g=(0,o.QB)(g,t.lengthBefore),t.modified&&u(e,g,t.lengthAfter)}}return c}class a{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=(0,o.MS)(e,this.lengthAfter);return(0,o.wP)(t,o.Vp)?[this,void 0]:this.modified?[new a(this.modified,this.lengthBefore,e),new a(this.modified,o.Vp,t)]:[new a(this.modified,e,e),new a(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${(0,o.l4)(this.lengthBefore)} -> ${(0,o.l4)(this.lengthAfter)}`}}function l(e){const t=[];let i=o.Vp;for(const n of e){const e=(0,o.MS)(i,n.startOffset);(0,o.Vh)(e)||t.push(new a(!1,e,e));const s=(0,o.MS)(n.startOffset,n.endOffset);t.push(new a(!0,s,n.newLength)),i=n.endOffset}return t}},34883:(e,t,i)=>{i.d(t,{C7:()=>r,MS:()=>_,QB:()=>p,Qx:()=>y,VL:()=>w,Vh:()=>l,Vp:()=>a,eu:()=>u,l4:()=>c,o0:()=>C,pW:()=>m,qe:()=>d,rR:()=>S,sS:()=>g,vr:()=>b,wP:()=>f,zG:()=>v});var n=i(16844),s=i(28061),o=i(58357);function r(e,t,i,n){return e!==i?d(i-e,n):d(0,n-t)}const a=0;function l(e){return 0===e}const h=2**26;function d(e,t){return e*h+t}function c(e){const t=e,i=Math.floor(t/h),n=t-i*h;return new o.W(i,n)}function u(e){return Math.floor(e/h)}function g(e){return e}function p(e,t){let i=e+t;return t>=h&&(i-=e%h),i}function m(e,t){return e.reduce(((e,i)=>p(e,t(i))),a)}function f(e,t){return e===t}function _(e,t){const i=e,n=t;if(n-i<=0)return a;const s=Math.floor(i/h),o=Math.floor(n/h),r=n-o*h;if(s===o){return d(0,r-(i-s*h))}return d(o-s,r)}function v(e,t){return e=t}function w(e){return d(e.lineNumber-1,e.column-1)}function y(e,t){const i=e,n=Math.floor(i/h),o=i-n*h,r=t,a=Math.floor(r/h),l=r-a*h;return new s.Q(n+1,o+1,a+1,l+1)}function S(e){const t=(0,n.uz)(e);return d(t.length-1,t[t.length-1].length)}},96961:(e,t,i)=>{i.d(t,{T:()=>g});var n=i(64651),s=i(22994),o=i(60756),r=i(34883);function a(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let i=e.length;for(;i>3;){const s=i>>1;for(let o=0;o=3?e[2]:null,t)}function l(e,t){return Math.abs(e.listHeight-t.listHeight)}function h(e,t){return e.listHeight===t.listHeight?n.Xw.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let i=e=e.toMutable();const s=[];let o;for(;;){if(t.listHeight===i.listHeight){o=t;break}if(4!==i.kind)throw new Error("unexpected");s.push(i),i=i.makeLastElementMutable()}for(let r=s.length-1;r>=0;r--){const e=s[r];o?e.childrenLength>=3?o=n.Xw.create23(e.unappendChild(),o,null,!1):(e.appendChildOfSameHeight(o),o=void 0):e.handleChildrenChanged()}return o?n.Xw.create23(e,o,null,!1):e}(e,t):function(e,t){let i=e=e.toMutable();const s=[];for(;t.listHeight!==i.listHeight;){if(4!==i.kind)throw new Error("unexpected");s.push(i),i=i.makeFirstElementMutable()}let o=t;for(let r=s.length-1;r>=0;r--){const e=s[r];o?e.childrenLength>=3?o=n.Xw.create23(o,e.unprependChild(),null,!1):(e.prependChildOfSameHeight(o),o=void 0):e.handleChildrenChanged()}return o?n.Xw.create23(o,e,null,!1):e}(t,e)}class d{constructor(e){this.lastOffset=r.Vp,this.nextNodes=[e],this.offsets=[r.Vp],this.idxs=[]}readLongestNodeAt(e,t){if((0,r.zG)(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=u(this.nextNodes);if(!i)return;const n=u(this.offsets);if((0,r.zG)(e,n))return;if((0,r.zG)(n,e))if((0,r.QB)(n,i.length)<=e)this.nextNodeAfterCurrent();else{const e=c(i);-1!==e?(this.nextNodes.push(i.getChild(e)),this.offsets.push(n),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const e=c(i);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(i.getChild(e)),this.offsets.push(n),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=u(this.offsets),t=u(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const i=u(this.nextNodes),n=c(i,this.idxs[this.idxs.length-1]);if(-1!==n){this.nextNodes.push(i.getChild(n)),this.offsets.push((0,r.QB)(e,t.length)),this.idxs[this.idxs.length-1]=n;break}this.idxs.pop()}}}function c(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function u(e){return e.length>0?e[e.length-1]:void 0}function g(e,t,i,n){return new p(e,t,i,n).parseDocument()}class p{constructor(e,t,i,n){if(this.tokenizer=e,this.createImmutableLists=n,this._itemsConstructed=0,this._itemsFromCache=0,i&&n)throw new Error("Not supported");this.oldNodeReader=i?new d(i):void 0,this.positionMapper=new s.W(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(o.gV.getEmpty(),0);return e||(e=n.Xw.getEmpty()),e}parseList(e,t){const i=[];for(;;){let n=this.tryReadChildFromCache(e);if(!n){const i=this.tokenizer.peek();if(!i||2===i.kind&&i.bracketIds.intersects(e))break;n=this.parseChild(e,t+1)}4===n.kind&&0===n.childrenLength||i.push(n)}const n=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function i(){if(t>=e.length)return null;const i=t,n=e[i].listHeight;for(t++;t=2?a(0===i&&t===e.length?e:e.slice(i,t),!1):e[i]}let n=i(),s=i();if(!s)return n;for(let o=i();o;o=i())l(n,s)<=l(s,o)?(n=h(n,s),s=o):s=h(s,o);return h(n,s)}(i):a(i,this.createImmutableLists);return n}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!(0,r.Vh)(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(i=>{if(null!==t&&!(0,r.zG)(i.length,t))return!1;return i.canBeReused(e)}));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;const i=this.tokenizer.read();switch(i.kind){case 2:return new n.Gc(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new n.yF(i.length);const s=e.merge(i.bracketIds),o=this.parseList(s,t+1),r=this.tokenizer.peek();return r&&2===r.kind&&(r.bracketId===i.bracketId||r.bracketIds.intersects(i.bracketIds))?(this.tokenizer.read(),n.Nn.create(i.astNode,o,r.astNode)):n.Nn.create(i.astNode,o,null)}default:throw new Error("unexpected")}}}},60756:(e,t,i)=>{i.d(t,{FD:()=>o,Mg:()=>r,gV:()=>s});const n=[];class s{static{this.cache=new Array(129)}static create(e,t){if(e<=128&&0===t.length){let i=s.cache[e];return i||(i=new s(e,t),s.cache[e]=i),i}return new s(e,t)}static{this.empty=s.create(0,n)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const i=t.getKey(e);let n=i>>5;if(0===n){const e=1<e};class r{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}},33206:(e,t,i)=>{i.d(t,{_:()=>c,ou:()=>l,tk:()=>h});var n=i(94327),s=i(15910),o=i(64651),r=i(34883),a=i(60756);class l{constructor(e,t,i,n,s){this.length=e,this.kind=t,this.bracketId=i,this.bracketIds=n,this.astNode=s}}class h{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new d(this.textModel,this.bracketTokens),this._offset=r.Vp,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,r.qe)(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=(0,r.QB)(this._offset,e);const t=(0,r.l4)(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=(0,r.QB)(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class d{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,r.sS)(e.length),e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const n=this.lineTokens,o=n.getCount();let a=null;if(this.lineTokenOffset1e3)break}if(i>1500)break}const n=(0,r.C7)(e,t,this.lineIdx,this.lineCharOffset);return new l(n,0,-1,a.gV.getEmpty(),new o.yF(n))}}class c{constructor(e,t){this.text=e,this._offset=r.Vp,this.idx=0;const i=t.getRegExpStr(),n=i?new RegExp(i+"|\n","gi"):null,s=[];let h,d=0,c=0,u=0,g=0;const p=[];for(let _=0;_<60;_++)p.push(new l((0,r.qe)(0,_),0,-1,a.gV.getEmpty(),new o.yF((0,r.qe)(0,_))));const m=[];for(let _=0;_<60;_++)m.push(new l((0,r.qe)(1,_),0,-1,a.gV.getEmpty(),new o.yF((0,r.qe)(1,_))));if(n)for(n.lastIndex=0;null!==(h=n.exec(e));){const e=h.index,i=h[0];if("\n"===i)d++,c=e+1;else{if(u!==e){let t;if(g===d){const i=e-u;if(i{i.d(t,{Th:()=>m,z8:()=>f});var n=i(87289),s=i(94327),o=i(93702),r=i(37264),a=i(6949),l=i(42802),h=i(22467);function d(e){return e.toString()}class c{static create(e,t){const i=e.getAlternativeVersionId(),n=p(e);return new c(i,i,n,n,t,t,[])}constructor(e,t,i,n,s,o,r){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=i,this.afterEOL=n,this.beforeCursorState=s,this.afterCursorState=o,this.changes=r}append(e,t,i,n,s){t.length>0&&(this.changes=(0,a.x)(this.changes,t)),this.afterEOL=i,this.afterVersionId=n,this.afterCursorState=s}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,i){if(l.Sw(e,t?t.length:0,i),i+=4,t)for(const n of t)l.Sw(e,n.selectionStartLineNumber,i),i+=4,l.Sw(e,n.selectionStartColumn,i),i+=4,l.Sw(e,n.positionLineNumber,i),i+=4,l.Sw(e,n.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const n=l.bb(e,t);t+=4;for(let s=0;se.toString())).join(", ")}matchesResource(e){return(r.r.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof c}append(e,t,i,n,s){this._data instanceof c&&this._data.append(e,t,i,n,s)}close(){this._data instanceof c&&(this._data=this._data.serialize())}open(){this._data instanceof c||(this._data=c.deserialize(this._data))}undo(){if(r.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof c&&(this._data=this._data.serialize());const e=c.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(r.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof c&&(this._data=this._data.serialize());const e=c.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof c&&(this._data=this._data.serialize()),this._data.byteLength+168}}class g{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const n of this._editStackElementsArr){const e=d(n.resource);this._editStackElementsMap.set(e,n)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=d(e);return this._editStackElementsMap.has(t)}setModel(e){const t=d(r.r.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=d(e.uri);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).canAppend(e)}return!1}append(e,t,i,n,s){const o=d(e.uri);this._editStackElementsMap.get(o).append(e,t,i,n,s)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=d(e);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).heapSize()}return 0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${(0,h.P8)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function p(e){return"\n"===e.getEOL()?0:1}function m(e){return!!e&&(e instanceof u||e instanceof g)}class f{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);m(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);m(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(m(i)&&i.canAppend(this._model))return i;const s=new u(n.kg("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(s,t),s}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],p(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,n){const s=this._getOrCreateEditStackElement(e,n),o=this._model.applyEdits(t,!0),r=f._computeCursorState(i,o),a=o.map(((e,t)=>({index:t,textChange:e.textChange})));return a.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),s.append(this._model,a.map((e=>e.textChange)),p(this._model),this._model.getAlternativeVersionId(),r),r}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return(0,s.dz)(i),null}}}},52818:(e,t,i)=>{i.d(t,{P:()=>c,k:()=>u});var n=i(97393),s=i(16844),o=i(62549),r=i(28061),a=i(32177),l=i(50969),h=i(60779),d=i(94327);class c extends a._{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return(0,l.G)(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,i){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new d.D7("Illegal value for lineNumber");const s=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(s&&s.offSide);let r=-2,a=-1,l=-2,h=-1;const c=e=>{if(-1!==r&&(-2===r||r>e-1)){r=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){r=t,a=e;break}}}if(-2===l){l=-1,h=-1;for(let t=e;t=0){l=t,h=e;break}}}};let u=-2,g=-1,p=-2,m=-1;const f=e=>{if(-2===u){u=-1,g=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){u=t,g=e;break}}}if(-1!==p&&(-2===p||p=0){p=t,m=e;break}}}};let _=0,v=!0,b=0,C=!0,w=0,y=0;for(let d=0;v||C;d++){const s=e-d,r=e+d;d>1&&(s<1||s1&&(r>n||r>i)&&(C=!1),d>5e4&&(v=!1,C=!1);let p=-1;if(v&&s>=1){const e=this._computeIndentLevel(s-1);e>=0?(l=s-1,h=e,p=Math.ceil(e/this.textModel.getOptions().indentSize)):(c(s),p=this._getIndentLevelForWhitespaceLine(o,a,h))}let S=-1;if(C&&r<=n){const e=this._computeIndentLevel(r-1);e>=0?(u=r-1,g=e,S=Math.ceil(e/this.textModel.getOptions().indentSize)):(f(r),S=this._getIndentLevelForWhitespaceLine(o,g,m))}if(0!==d){if(1===d){if(r<=n&&S>=0&&y+1===S){v=!1,_=r,b=r,w=S;continue}if(s>=1&&p>=0&&p-1===y){C=!1,_=s,b=s,w=p;continue}if(_=e,b=e,w=y,0===w)return{startLineNumber:_,endLineNumber:b,indent:w}}v&&(p>=w?_=s:v=!1),C&&(S>=w?b=r:C=!1)}else y=p}return{startLineNumber:_,endLineNumber:b,indent:w}}getLinesBracketGuides(e,t,i,o){const a=[];for(let n=e;n<=t;n++)a.push([]);const l=!0,d=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new r.Q(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let c;if(i&&d.length>0){const s=(e<=i.lineNumber&&i.lineNumber<=t?d:this.textModel.bracketPairs.getBracketPairsInRange(r.Q.fromPositions(i)).toArray()).filter((e=>r.Q.strictContainsPosition(e.range,i)));c=(0,n.Uk)(s,(e=>l))?.range}const g=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,p=new u;for(const n of d){if(!n.closingBracketRange)continue;const i=c&&n.range.equalsRange(c);if(!i&&!o.includeInactive)continue;const r=p.getInlineClassName(n.nestingLevel,n.nestingLevelOfEqualBracketType,g)+(o.highlightActive&&i?" "+p.activeClassName:""),l=n.openingBracketRange.getStartPosition(),d=n.closingBracketRange.getStartPosition(),u=o.horizontalGuides===h.N6.Enabled||o.horizontalGuides===h.N6.EnabledForActive&&i;if(n.range.startLineNumber===n.range.endLineNumber){u&&a[n.range.startLineNumber-e].push(new h.TH(-1,n.openingBracketRange.getEndPosition().column,r,new h.pv(!1,d.column),-1,-1));continue}const m=this.getVisibleColumnFromPosition(d),f=this.getVisibleColumnFromPosition(n.openingBracketRange.getStartPosition()),_=Math.min(f,m,n.minVisibleColumnIndentation+1);let v=!1;s.HG(this.textModel.getLineContent(n.closingBracketRange.startLineNumber))=e&&f>_&&a[l.lineNumber-e].push(new h.TH(_,-1,r,new h.pv(!1,l.column),-1,-1)),d.lineNumber<=t&&m>_&&a[d.lineNumber-e].push(new h.TH(_,-1,r,new h.pv(!v,d.column),-1,-1)))}for(const n of a)n.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return a}getVisibleColumnFromPosition(e){return o.A.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const n=this.textModel.getOptions(),s=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(s&&s.offSide),r=new Array(t-e+1);let a=-2,l=-1,h=-2,d=-1;for(let c=e;c<=t;c++){const t=c-e,s=this._computeIndentLevel(c-1);if(s>=0)a=c-1,l=s,r[t]=Math.ceil(s/n.indentSize);else{if(-2===a){a=-1,l=-1;for(let e=c-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==h&&(-2===h||h=0){h=e,d=t;break}}}r[t]=this._getIndentLevelForWhitespaceLine(o,l,d)}}return r}_getIndentLevelForWhitespaceLine(e,t,i){const n=this.textModel.getOptions();return-1===t||-1===i?0:t{i.d(t,{N:()=>o,c2:()=>r});var n=i(13338),s=i(37512);class o{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=(0,s.j)(e);const i=this.values,n=this.prefixSum,o=t.length;return 0!==o&&(this.values=new Uint32Array(i.length+o),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=(0,s.j)(e),t=(0,s.j)(t),this.values[e]!==t&&(this.values[e]=t,e-1=i.length)return!1;const o=i.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=(0,s.j)(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,n=0,s=0,o=0;for(;t<=i;)if(n=t+(i-t)/2|0,s=this.prefixSum[n],o=s-this.values[n],e=s))break;t=n+1}return new a(n,e-o)}}class r{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(),0===e?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new a(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=(0,n.nK)(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;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=i+t;for(let n=0;n{i.d(t,{Ho:()=>Yt,kI:()=>Zt,Bz:()=>Vt});var n=i(13338),s=i(94901),o=i(94327),r=i(2106),a=i(10998),l=i(16844),h=i(37264),d=i(3902),c=i(57999),u=i(15365),g=i(28061),p=i(93702),m=i(12590),f=i(77922),_=i(16355),v=i(66055),b=i(19184),C=i(1804);class w{constructor(e,t,i,n){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=i,this.isInvalid=n}}class y{constructor(e,t,i,n,s,o){this.range=e,this.openingBracketRange=t,this.closingBracketRange=i,this.nestingLevel=n,this.nestingLevelOfEqualBracketType=s,this.bracketPairNode=o}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class S extends y{constructor(e,t,i,n,s,o,r){super(e,t,i,n,s,o),this.minVisibleColumnIndentation=r}}var k=i(22994),L=i(85702),x=i(34883),D=i(96961),N=i(60756),I=i(33206),E=i(47132);class M extends a.jG{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new r.vl,this.denseKeyProvider=new N.Mg,this.brackets=new L.Z(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new I._(this.textModel.getValue(),e);this.initialAstWithoutTokens=(0,D.T)(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new k.c((0,x.qe)(e.fromLineNumber-1,0),(0,x.qe)(e.toLineNumber,0),(0,x.qe)(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=k.c.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const i=(0,E.M)(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=(0,E.M)(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){const n=t,s=new I.tk(this.textModel,this.brackets);return(0,D.T)(s,e,n,i)}getBracketsInRange(e,t){this.flushQueue();const i=(0,x.qe)(e.startLineNumber-1,e.startColumn-1),s=(0,x.qe)(e.endLineNumber-1,e.endColumn-1);return new n.c1((e=>{const n=this.initialAstWithoutTokens||this.astWithTokens;A(n,x.Vp,n.length,i,s,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const i=(0,x.VL)(e.getStartPosition()),s=(0,x.VL)(e.getEndPosition());return new n.c1((e=>{const n=this.initialAstWithoutTokens||this.astWithTokens,o=new P(e,t,this.textModel);O(n,x.Vp,n.length,i,s,o,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return R(t,x.Vp,t.length,(0,x.VL)(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return T(t,x.Vp,t.length,(0,x.VL)(e))}}function T(e,t,i,n){if(4===e.kind||2===e.kind){const s=[];for(const n of e.children)i=(0,x.QB)(t,n.length),s.push({nodeOffsetStart:t,nodeOffsetEnd:i}),t=i;for(let t=s.length-1;t>=0;t--){const{nodeOffsetStart:i,nodeOffsetEnd:o}=s[t];if((0,x.zG)(i,n)){const s=T(e.children[t],i,o,n);if(s)return s}}return null}if(3===e.kind)return null;if(1===e.kind){const n=(0,x.Qx)(t,i);return{bracketInfo:e.bracketInfo,range:n}}return null}function R(e,t,i,n){if(4===e.kind||2===e.kind){for(const s of e.children){if(i=(0,x.QB)(t,s.length),(0,x.zG)(n,i)){const e=R(s,t,i,n);if(e)return e}t=i}return null}if(3===e.kind)return null;if(1===e.kind){const n=(0,x.Qx)(t,i);return{bracketInfo:e.bracketInfo,range:n}}return null}function A(e,t,i,n,s,o,r,a,l,h,d=!1){if(r>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let d=0;d200)return!0;let l=!0;if(2===e.kind){let h=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),h=t,t++,a.set(e.openingBracket.text,t)}const d=(0,x.QB)(t,e.openingBracket.length);let c=-1;if(o.includeMinIndentation&&(c=e.computeMinIndentation(t,o.textModel)),l=o.push(new S((0,x.Qx)(t,i),(0,x.Qx)(t,d),e.closingBracket?(0,x.Qx)((0,x.QB)(d,e.child?.length||x.Vp),i):void 0,r,h,e,c)),t=d,l&&e.child){const h=e.child;if(i=(0,x.QB)(t,h.length),(0,x.vr)(t,s)&&(0,x.o0)(i,n)&&(l=O(h,t,i,n,s,o,r+1,a),!l))return!1}a?.set(e.openingBracket.text,h)}else{let i=t;for(const t of e.children){const e=i;if(i=(0,x.QB)(i,t.length),(0,x.vr)(e,s)&&(0,x.vr)(n,i)&&(l=O(t,e,i,n,s,o,r,a),!l))return!1}}return l}class F extends a.jG{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new a.HE),this.onDidChangeEmitter=new r.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){e.languageId&&!this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const i=new a.Cm;this.bracketPairsTree.value=(e=i.add(new M(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=i,{object:e,dispose:()=>t?.dispose()}),i.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||n.c1.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||n.c1.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||n.c1.empty}findMatchingBracketUp(e,t,i){const n=this.textModel.validatePosition(t),s=this.textModel.getLanguageIdAtPosition(n.lineNumber,n.column);if(this.canBuildAST){const i=this.languageConfigurationService.getLanguageConfiguration(s).bracketsNew.getClosingBracketInfo(e);if(!i)return null;const n=this.getBracketPairsInRange(g.Q.fromPositions(t,t)).findLast((e=>i.closes(e.openingBracketInfo)));return n?n.openingBracketRange:null}{const t=e.toLowerCase(),o=this.languageConfigurationService.getLanguageConfiguration(s).brackets;if(!o)return null;const r=o.textIsBracket[t];return r?H(this._findMatchingBracketUp(r,n,W(i))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(g.Q.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy((0,n.VE)((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),g.Q.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const i=W(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,n){const s=t.getCount(),o=t.getLanguageId(n);let r=Math.max(0,e.column-1-i.maxBracketLength);for(let l=n-1;l>=0;l--){const e=t.getEndOffset(l);if(e<=r)break;if((0,b.Yo)(t.getStandardTokenType(l))||t.getLanguageId(l)!==o){r=e;break}}let a=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let l=n+1;l=a)break;if((0,b.Yo)(t.getStandardTokenType(l))||t.getLanguageId(l)!==o){a=e;break}}return{searchStartOffset:r,searchEndOffset:a}}_matchBracket(e,t){const i=e.lineNumber,n=this.textModel.tokenization.getLineTokens(i),s=this.textModel.getLineContent(i),o=n.findTokenIndexAtOffset(e.column-1);if(o<0)return null;const r=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(o)).brackets;if(r&&!(0,b.Yo)(n.getStandardTokenType(o))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,r,o),h=null;for(;;){const n=C.Fu.findNextBracketInRange(r.forwardRegex,i,s,a,l);if(!n)break;if(n.startColumn<=e.column&&e.column<=n.endColumn){const e=s.substring(n.startColumn-1,n.endColumn-1).toLowerCase(),i=this._matchFoundBracket(n,r.textIsBracket[e],r.textIsOpenBracket[e],t);if(i){if(i instanceof B)return null;h=i}}a=n.endColumn-1}if(h)return h}if(o>0&&n.getStartOffset(o)===e.column-1){const r=o-1,a=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(r)).brackets;if(a&&!(0,b.Yo)(n.getStandardTokenType(r))){const{searchStartOffset:o,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,a,r),h=C.Fu.findPrevBracketInRange(a.reversedRegex,i,s,o,l);if(h&&h.startColumn<=e.column&&e.column<=h.endColumn){const e=s.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),i=this._matchFoundBracket(h,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(i)return i instanceof B?null:i}}}return null}_matchFoundBracket(e,t,i,n){if(!t)return null;const s=i?this._findMatchingBracketDown(t,e.getEndPosition(),n):this._findMatchingBracketUp(t,e.getStartPosition(),n);return s?s instanceof B?s:[e,s]:null}_findMatchingBracketUp(e,t,i){const n=e.languageId,s=e.reversedRegex;let o=-1,r=0;const a=(t,n,a,l)=>{for(;;){if(i&&++r%100==0&&!i())return B.INSTANCE;const h=C.Fu.findPrevBracketInRange(s,t,n,a,l);if(!h)break;const d=n.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(d)?o++:e.isClose(d)&&o--,0===o)return h;l=h.startColumn-1}return null};for(let l=t.lineNumber;l>=1;l--){const e=this.textModel.tokenization.getLineTokens(l),i=e.getCount(),s=this.textModel.getLineContent(l);let o=i-1,r=s.length,h=s.length;l===t.lineNumber&&(o=e.findTokenIndexAtOffset(t.column-1),r=t.column-1,h=t.column-1);let d=!0;for(;o>=0;o--){const t=e.getLanguageId(o)===n&&!(0,b.Yo)(e.getStandardTokenType(o));if(t)d?r=e.getStartOffset(o):(r=e.getStartOffset(o),h=e.getEndOffset(o));else if(d&&r!==h){const e=a(l,s,r,h);if(e)return e}d=t}if(d&&r!==h){const e=a(l,s,r,h);if(e)return e}}return null}_findMatchingBracketDown(e,t,i){const n=e.languageId,s=e.forwardRegex;let o=1,r=0;const a=(t,n,a,l)=>{for(;;){if(i&&++r%100==0&&!i())return B.INSTANCE;const h=C.Fu.findNextBracketInRange(s,t,n,a,l);if(!h)break;const d=n.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(d)?o++:e.isClose(d)&&o--,0===o)return h;a=h.endColumn-1}return null},l=this.textModel.getLineCount();for(let h=t.lineNumber;h<=l;h++){const e=this.textModel.tokenization.getLineTokens(h),i=e.getCount(),s=this.textModel.getLineContent(h);let o=0,r=0,l=0;h===t.lineNumber&&(o=e.findTokenIndexAtOffset(t.column-1),r=t.column-1,l=t.column-1);let d=!0;for(;o=1;o--){const e=this.textModel.tokenization.getLineTokens(o),r=e.getCount(),a=this.textModel.getLineContent(o);let l=r-1,h=a.length,d=a.length;if(o===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),h=t.column-1,d=t.column-1;const o=e.getLanguageId(l);i!==o&&(i=o,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let c=!0;for(;l>=0;l--){const t=e.getLanguageId(l);if(i!==t){if(n&&s&&c&&h!==d){const e=C.Fu.findPrevBracketInRange(n.reversedRegex,o,a,h,d);if(e)return this._toFoundBracket(s,e);c=!1}i=t,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const r=!!n&&!(0,b.Yo)(e.getStandardTokenType(l));if(r)c?h=e.getStartOffset(l):(h=e.getStartOffset(l),d=e.getEndOffset(l));else if(s&&n&&c&&h!==d){const e=C.Fu.findPrevBracketInRange(n.reversedRegex,o,a,h,d);if(e)return this._toFoundBracket(s,e)}c=r}if(s&&n&&c&&h!==d){const e=C.Fu.findPrevBracketInRange(n.reversedRegex,o,a,h,d);if(e)return this._toFoundBracket(s,e)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const i=this.textModel.getLineCount();let n=null,s=null,o=null;for(let r=t.lineNumber;r<=i;r++){const e=this.textModel.tokenization.getLineTokens(r),i=e.getCount(),a=this.textModel.getLineContent(r);let l=0,h=0,d=0;if(r===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),h=t.column-1,d=t.column-1;const i=e.getLanguageId(l);n!==i&&(n=i,s=this.languageConfigurationService.getLanguageConfiguration(n).brackets,o=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let c=!0;for(;lvoid 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const n=W(t),s=this.textModel.getLineCount(),o=new Map;let r=[];const a=(e,t)=>{if(!o.has(e)){const i=[];for(let e=0,n=t?t.brackets.length:0;e{for(;;){if(n&&++l%100==0&&!n())return B.INSTANCE;const a=C.Fu.findNextBracketInRange(e.forwardRegex,t,i,s,o);if(!a)break;const h=i.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),d=e.textIsBracket[h];if(d&&(d.isOpen(h)?r[d.index]++:d.isClose(h)&&r[d.index]--,-1===r[d.index]))return this._matchFoundBracket(a,d,!1,n);s=a.endColumn-1}return null};let d=null,c=null;for(let u=i.lineNumber;u<=s;u++){const e=this.textModel.tokenization.getLineTokens(u),t=e.getCount(),n=this.textModel.getLineContent(u);let s=0,o=0,r=0;if(u===i.lineNumber){s=e.findTokenIndexAtOffset(i.column-1),o=i.column-1,r=i.column-1;const t=e.getLanguageId(s);d!==t&&(d=t,c=this.languageConfigurationService.getLanguageConfiguration(d).brackets,a(d,c))}let l=!0;for(;s!0;{const t=Date.now();return()=>Date.now()-t<=e}}class B{static{this.INSTANCE=new B}constructor(){this._searchCanceledBrand=void 0}}function H(e){return e instanceof B?null:e}var V=i(48295),z=i(89044);class U extends a.jG{constructor(e){super(),this.textModel=e,this.colorProvider=new K,this.onDidChangeEmitter=new r.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,n){if(n)return[];if(void 0===t)return[];if(!this.colorizationOptions.enabled)return[];return this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray()}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new g.Q(1,1,this.textModel.getLineCount(),1),e,t):[]}}class K{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}(0,z.zy)(((e,t)=>{const i=[V.sN,V.lQ,V.ss,V.l5,V.sH,V.zp],n=new K;t.addRule(`.monaco-editor .${n.unexpectedClosingBracketClassName} { color: ${e.getColor(V.s7)}; }`);const s=i.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let o=0;o<30;o++){const e=s[o%s.length];t.addRule(`.monaco-editor .${n.getInlineClassNameOfLevel(o)} { color: ${e}; }`)}}));var j=i(54296),$=i(52818);class q{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function G(e,t,i,n,s){let o;for(s.spacesDiff=0,s.looksLikeAlignment=!1,o=0;o0&&a>0)return;if(l>0&&h>0)return;const d=Math.abs(a-h),c=Math.abs(r-l);if(0===d)return s.spacesDiff=c,void(c>0&&0<=l-1&&l-10?s++:m>1&&o++,G(r,a,l,p,d),d.looksLikeAlignment&&(!i||t!==d.spacesDiff))continue;const _=d.spacesDiff;_<=8&&h[_]++,r=l,a=p}let c=i;s!==o&&(c=s{const i=h[t];i>e&&(e=i,u=t)})),4===u&&h[4]>0&&h[2]>0&&h[2]>=h[4]/2&&(u=2)}return{insertSpaces:c,tabSize:u}}function Y(e){return(1&e.metadata)>>>0}function Z(e,t){e.metadata=254&e.metadata|t}function X(e){return(2&e.metadata)>>>1==1}function J(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function ee(e){return(4&e.metadata)>>>2==1}function te(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function ie(e){return(64&e.metadata)>>>6==1}function ne(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function se(e,t){e.metadata=231&e.metadata|t<<3}function oe(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class re{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,Z(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,te(this,!1),ne(this,!1),se(this,1),oe(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,J(this,!1)}reset(e,t,i,n){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=n}setOptions(e){this.options=e;const t=this.options.className;te(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),ne(this,null!==this.options.glyphMarginClassName),se(this,this.options.stickiness),oe(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const ae=new re(null,0,0);ae.parent=ae,ae.left=ae,ae.right=ae,Z(ae,0);class le{constructor(){this.root=ae,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,n,s,o){return this.root===ae?[]:function(e,t,i,n,s,o,r){let a=e.root,l=0,h=0,d=0,c=0;const u=[];let g=0;for(;a!==ae;)if(X(a))J(a.left,!1),J(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;else{if(!X(a.left)){if(h=l+a.maxEnd,hi)J(a,!0);else{if(c=l+a.end,c>=t){a.setCachedOffsets(d,c,o);let e=!0;n&&a.ownerId&&a.ownerId!==n&&(e=!1),s&&ee(a)&&(e=!1),r&&!ie(a)&&(e=!1),e&&(u[g++]=a)}J(a,!0),a.right===ae||X(a.right)||(l+=a.delta,a=a.right)}}return J(e.root,!1),u}(this,e,t,i,n,s,o)}search(e,t,i,n){return this.root===ae?[]:function(e,t,i,n,s){let o=e.root,r=0,a=0,l=0;const h=[];let d=0;for(;o!==ae;){if(X(o)){J(o.left,!1),J(o.right,!1),o===o.parent.right&&(r-=o.parent.delta),o=o.parent;continue}if(o.left!==ae&&!X(o.left)){o=o.left;continue}a=r+o.start,l=r+o.end,o.setCachedOffsets(a,l,n);let e=!0;t&&o.ownerId&&o.ownerId!==t&&(e=!1),i&&ee(o)&&(e=!1),s&&!ie(o)&&(e=!1),e&&(h[d++]=o),J(o,!0),o.right===ae||X(o.right)||(r+=o.delta,o=o.right)}return J(e.root,!1),h}(this,e,t,i,n)}collectNodesFromOwner(e){return function(e,t){let i=e.root;const n=[];let s=0;for(;i!==ae;)X(i)?(J(i.left,!1),J(i.right,!1),i=i.parent):i.left===ae||X(i.left)?(i.ownerId===t&&(n[s++]=i),J(i,!0),i.right===ae||X(i.right)||(i=i.right)):i=i.left;return J(e.root,!1),n}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const i=[];let n=0;for(;t!==ae;)X(t)?(J(t.left,!1),J(t.right,!1),t=t.parent):t.left===ae||X(t.left)?t.right===ae||X(t.right)?(i[n++]=t,J(t,!0)):t=t.right:t=t.left;return J(e.root,!1),i}(this)}insert(e){ce(this,e),this._normalizeDeltaIfNecessary()}delete(e){ue(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let n=0;for(;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;const s=i.start+n,o=i.end+n;i.setCachedOffsets(s,o,t)}acceptReplace(e,t,i,n){const s=function(e,t,i){let n=e.root,s=0,o=0,r=0,a=0;const l=[];let h=0;for(;n!==ae;)if(X(n))J(n.left,!1),J(n.right,!1),n===n.parent.right&&(s-=n.parent.delta),n=n.parent;else{if(!X(n.left)){if(o=s+n.maxEnd,oi?J(n,!0):(a=s+n.end,a>=t&&(n.setCachedOffsets(r,a,0),l[h++]=n),J(n,!0),n.right===ae||X(n.right)||(s+=n.delta,n=n.right))}return J(e.root,!1),l}(this,e,e+t);for(let o=0,r=s.length;oi?(s.start+=l,s.end+=l,s.delta+=l,(s.delta<-1073741824||s.delta>1073741824)&&(e.requestNormalizeDelta=!0),J(s,!0)):(J(s,!0),s.right===ae||X(s.right)||(o+=s.delta,s=s.right))}J(e.root,!1)}(this,e,e+t,i),this._normalizeDeltaIfNecessary();for(let o=0,r=s.length;oi)&&(1!==n&&(2===n||t))}function de(e,t,i,n,s){const o=function(e){return(24&e.metadata)>>>3}(e),r=0===o||2===o,a=1===o||2===o,l=i-t,h=n,d=Math.min(l,h),c=e.start;let u=!1;const g=e.end;let p=!1;t<=c&&g<=i&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,u=!0,e.end=t,p=!0);{const e=s?1:l>0?2:0;!u&&he(c,r,t,e)&&(u=!0),!p&&he(g,a,t,e)&&(p=!0)}if(d>0&&!s){const e=l>h?2:0;!u&&he(c,r,t+d,e)&&(u=!0),!p&&he(g,a,t+d,e)&&(p=!0)}{const n=s?1:0;!u&&he(c,r,i,n)&&(e.start=t+h,u=!0),!p&&he(g,a,i,n)&&(e.end=t+h,p=!0)}const m=h-l;u||(e.start=Math.max(0,c+m)),p||(e.end=Math.max(0,g+m)),e.start>e.end&&(e.end=e.start)}function ce(e,t){if(e.root===ae)return t.parent=ae,t.left=ae,t.right=ae,Z(t,0),e.root=t,e.root;!function(e,t){let i=0,n=e.root;const s=t.start,o=t.end;for(;;){if(be(s,o,n.start+i,n.end+i)<0){if(n.left===ae){t.start-=i,t.end-=i,t.maxEnd-=i,n.left=t;break}n=n.left}else{if(n.right===ae){t.start-=i+n.delta,t.end-=i+n.delta,t.maxEnd-=i+n.delta,n.right=t;break}i+=n.delta,n=n.right}}t.parent=n,t.left=ae,t.right=ae,Z(t,1)}(e,t),ve(t.parent);let i=t;for(;i!==e.root&&1===Y(i.parent);)if(i.parent===i.parent.parent.left){const t=i.parent.parent.right;1===Y(t)?(Z(i.parent,0),Z(t,0),Z(i.parent.parent,1),i=i.parent.parent):(i===i.parent.right&&(i=i.parent,pe(e,i)),Z(i.parent,0),Z(i.parent.parent,1),me(e,i.parent.parent))}else{const t=i.parent.parent.left;1===Y(t)?(Z(i.parent,0),Z(t,0),Z(i.parent.parent,1),i=i.parent.parent):(i===i.parent.left&&(i=i.parent,me(e,i)),Z(i.parent,0),Z(i.parent.parent,1),pe(e,i.parent.parent))}return Z(e.root,0),t}function ue(e,t){let i,n;if(t.left===ae?(i=t.right,n=t,i.delta+=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta):t.right===ae?(i=t.left,n=t):(n=function(e){for(;e.left!==ae;)e=e.left;return e}(t.right),i=n.right,i.start+=n.delta,i.end+=n.delta,i.delta+=n.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,n.delta=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0)),n===e.root)return e.root=i,Z(i,0),t.detach(),ge(),_e(i),void(e.root.parent=ae);const s=1===Y(n);if(n===n.parent.left?n.parent.left=i:n.parent.right=i,n===t?i.parent=n.parent:(n.parent===t?i.parent=n:i.parent=n.parent,n.left=t.left,n.right=t.right,n.parent=t.parent,Z(n,Y(t)),t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==ae&&(n.left.parent=n),n.right!==ae&&(n.right.parent=n)),t.detach(),s)return ve(i.parent),n!==t&&(ve(n),ve(n.parent)),void ge();let o;for(ve(i),ve(i.parent),n!==t&&(ve(n),ve(n.parent));i!==e.root&&0===Y(i);)i===i.parent.left?(o=i.parent.right,1===Y(o)&&(Z(o,0),Z(i.parent,1),pe(e,i.parent),o=i.parent.right),0===Y(o.left)&&0===Y(o.right)?(Z(o,1),i=i.parent):(0===Y(o.right)&&(Z(o.left,0),Z(o,1),me(e,o),o=i.parent.right),Z(o,Y(i.parent)),Z(i.parent,0),Z(o.right,0),pe(e,i.parent),i=e.root)):(o=i.parent.left,1===Y(o)&&(Z(o,0),Z(i.parent,1),me(e,i.parent),o=i.parent.left),0===Y(o.left)&&0===Y(o.right)?(Z(o,1),i=i.parent):(0===Y(o.left)&&(Z(o.right,0),Z(o,1),pe(e,o),o=i.parent.left),Z(o,Y(i.parent)),Z(i.parent,0),Z(o.left,0),me(e,i.parent),i=e.root));Z(i,0),ge()}function ge(){ae.parent=ae,ae.delta=0,ae.start=0,ae.end=0}function pe(e,t){const i=t.right;i.delta+=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,t.right=i.left,i.left!==ae&&(i.left.parent=t),i.parent=t.parent,t.parent===ae?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i,_e(t),_e(i)}function me(e,t){const i=t.left;t.delta-=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=i.delta,t.end-=i.delta,t.left=i.right,i.right!==ae&&(i.right.parent=t),i.parent=t.parent,t.parent===ae?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i,_e(t),_e(i)}function fe(e){let t=e.end;if(e.left!==ae){const i=e.left.maxEnd;i>t&&(t=i)}if(e.right!==ae){const i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function _e(e){e.maxEnd=fe(e)}function ve(e){for(;e!==ae;){const t=fe(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function be(e,t,i,n){return e===i?t-n:e-i}class Ce{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==we)return ye(this.right);let e=this;for(;e.parent!==we&&e.parent.left!==e;)e=e.parent;return e.parent===we?we:e.parent}prev(){if(this.left!==we)return Se(this.left);let e=this;for(;e.parent!==we&&e.parent.right!==e;)e=e.parent;return e.parent===we?we:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const we=new Ce(null,0);function ye(e){for(;e.left!==we;)e=e.left;return e}function Se(e){for(;e.right!==we;)e=e.right;return e}function ke(e){return e===we?0:e.size_left+e.piece.length+ke(e.right)}function Le(e){return e===we?0:e.lf_left+e.piece.lineFeedCnt+Le(e.right)}function xe(){we.parent=we}function De(e,t){const i=t.right;i.size_left+=t.size_left+(t.piece?t.piece.length:0),i.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=i.left,i.left!==we&&(i.left.parent=t),i.parent=t.parent,t.parent===we?e.root=i:t.parent.left===t?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i}function Ne(e,t){const i=t.left;t.left=i.right,i.right!==we&&(i.right.parent=t),i.parent=t.parent,t.size_left-=i.size_left+(i.piece?i.piece.length:0),t.lf_left-=i.lf_left+(i.piece?i.piece.lineFeedCnt:0),t.parent===we?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i}function Ie(e,t){let i,n;if(t.left===we?(n=t,i=n.right):t.right===we?(n=t,i=n.left):(n=ye(t.right),i=n.right),n===e.root)return e.root=i,i.color=0,t.detach(),xe(),void(e.root.parent=we);const s=1===n.color;if(n===n.parent.left?n.parent.left=i:n.parent.right=i,n===t?(i.parent=n.parent,Te(e,i)):(n.parent===t?i.parent=n:i.parent=n.parent,Te(e,i),n.left=t.left,n.right=t.right,n.parent=t.parent,n.color=t.color,t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==we&&(n.left.parent=n),n.right!==we&&(n.right.parent=n),n.size_left=t.size_left,n.lf_left=t.lf_left,Te(e,n)),t.detach(),i.parent.left===i){const t=ke(i),n=Le(i);if(t!==i.parent.size_left||n!==i.parent.lf_left){const s=t-i.parent.size_left,o=n-i.parent.lf_left;i.parent.size_left=t,i.parent.lf_left=n,Me(e,i.parent,s,o)}}if(Te(e,i.parent),s)return void xe();let o;for(;i!==e.root&&0===i.color;)i===i.parent.left?(o=i.parent.right,1===o.color&&(o.color=0,i.parent.color=1,De(e,i.parent),o=i.parent.right),0===o.left.color&&0===o.right.color?(o.color=1,i=i.parent):(0===o.right.color&&(o.left.color=0,o.color=1,Ne(e,o),o=i.parent.right),o.color=i.parent.color,i.parent.color=0,o.right.color=0,De(e,i.parent),i=e.root)):(o=i.parent.left,1===o.color&&(o.color=0,i.parent.color=1,Ne(e,i.parent),o=i.parent.left),0===o.left.color&&0===o.right.color?(o.color=1,i=i.parent):(0===o.left.color&&(o.right.color=0,o.color=1,De(e,o),o=i.parent.left),o.color=i.parent.color,i.parent.color=0,o.left.color=0,Ne(e,i.parent),i=e.root));i.color=0,xe()}function Ee(e,t){for(Te(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;1===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&De(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Ne(e,t.parent.parent))}else{const i=t.parent.parent.left;1===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&Ne(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,De(e,t.parent.parent))}e.root.color=0}function Me(e,t,i,n){for(;t!==e.root&&t!==we;)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=n),t=t.parent}function Te(e,t){let i=0,n=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(i=ke((t=t.parent).left)-t.size_left,n=Le(t.left)-t.lf_left,t.size_left+=i,t.lf_left+=n;t!==e.root&&(0!==i||0!==n);)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=n),t=t.parent}}we.parent=we,we.left=we,we.right=we,we.color=0;var Re=i(104);const Ae=65535;function Pe(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class Oe{constructor(e,t,i,n,s){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=n,this.isBasicASCII=s}}function Fe(e,t=!0){const i=[0];let n=1;for(let s=0,o=e.length;s(e!==we&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class Ve{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let n=0;n=e)&&(i[n]=null,t=!0)}if(t){const e=[];for(const t of i)null!==t&&e.push(t);this._cache=e}}}class ze{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new Be("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=we,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let n=null;for(let s=0,o=e.length;s0){e[s].lineStarts||(e[s].lineStarts=Fe(e[s].buffer));const t=new We(s+1,{line:0,column:0},{line:e[s].lineStarts.length-1,column:e[s].buffer.length-e[s].lineStarts[e[s].lineStarts.length-1]},e[s].lineStarts.length-1,e[s].buffer.length);this._buffers.push(e[s]),n=this.rbInsertRight(n,t)}this._searchCache=new Ve(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=Ae,i=t-Math.floor(21845),n=2*i;let s="",o=0;const r=[];if(this.iterate(this.root,(t=>{const a=this.getNodeContent(t),l=a.length;if(o<=i||o+l0){const t=s.replace(/\r\n|\r|\n/g,e);r.push(new Be(t,Fe(t)))}this.create(r,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new He(this,e)}getOffsetAt(e,t){let i=0,n=this.root;for(;n!==we;)if(n.left!==we&&n.lf_left+1>=e)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt+1>=e){i+=n.size_left;return i+(this.getAccumulatedValue(n,e-n.lf_left-2)+t-1)}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const n=e;for(;t!==we;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const s=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+s.index,0===s.index){const e=n-this.getOffsetAt(i+1,1);return new u.y(i+1,e+1)}return new u.y(i+1,s.remainder+1)}if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===we){const t=n-e-this.getOffsetAt(i+1,1);return new u.y(i+1,t+1)}t=t.right}return new u.y(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),n=this.nodeAt2(e.endLineNumber,e.endColumn),s=this.getValueInRange2(i,n);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?s:s.replace(/\r\n|\r|\n/g,t):s}getValueInRange2(e,t){if(e.node===t.node){const i=e.node,n=this._buffers[i.piece.bufferIndex].buffer,s=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n.substring(s+e.remainder,s+t.remainder)}let i=e.node;const n=this._buffers[i.piece.bufferIndex].buffer,s=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let o=n.substring(s+e.remainder,s+i.piece.length);for(i=i.next();i!==we;){const e=this._buffers[i.piece.bufferIndex].buffer,n=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){o+=e.substring(n,n+t.remainder);break}o+=e.substr(n,i.piece.length),i=i.next()}return o}getLinesContent(){const e=[];let t=0,i="",n=!1;return this.iterate(this.root,(s=>{if(s===we)return!0;const o=s.piece;let r=o.length;if(0===r)return!0;const a=this._buffers[o.bufferIndex].buffer,l=this._buffers[o.bufferIndex].lineStarts,h=o.start.line,d=o.end.line;let c=l[h]+o.start.column;if(n&&(10===a.charCodeAt(c)&&(c++,r--),e[t++]=i,i="",n=!1,0===r))return!0;if(h===d)return this._EOLNormalized||13!==a.charCodeAt(c+r-1)?i+=a.substr(c,r):(n=!0,i+=a.substr(c,r-1)),!0;i+=this._EOLNormalized?a.substring(c,Math.max(c,l[h+1]-this._EOLLength)):a.substring(c,l[h+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let n=h+1;ne+p,t.reset(0)):(v=c.buffer,b=e=>e,t.reset(p));do{if(f=t.next(v),f){if(b(f.index)>=m)return h;this.positionInBuffer(e,b(f.index)-u,_);const t=this.getLineFeedCnt(e.piece.bufferIndex,s,_),o=_.line===s.line?_.column-s.column+n:_.column+1,r=o+f[0].length;if(d[h++]=(0,Re.dr)(new g.Q(i+t,o,i+t,r),f,a),b(f.index)+f[0].length>=m)return h;if(h>=l)return h}}while(f);return h}findMatchesLineByLine(e,t,i,n){const s=[];let o=0;const r=new Re.W5(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let h=this.positionInBuffer(a.node,a.remainder);const d=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,r,e.startLineNumber,e.startColumn,h,d,t,i,n,o,s),s;let c=e.startLineNumber,u=a.node;for(;u!==l.node;){const l=this.getLineFeedCnt(u.piece.bufferIndex,h,u.piece.end);if(l>=1){const a=this._buffers[u.piece.bufferIndex].lineStarts,d=this.offsetInBuffer(u.piece.bufferIndex,u.piece.start),g=a[h.line+l],p=c===e.startLineNumber?e.startColumn:1;if(o=this.findMatchesInNode(u,r,c,p,h,this.positionInBuffer(u,g-d),t,i,n,o,s),o>=n)return s;c+=l}const d=c===e.startLineNumber?e.startColumn-1:0;if(c===e.endLineNumber){const a=this.getLineContent(c).substring(d,e.endColumn-1);return o=this._findMatchesInLine(t,r,a,e.endLineNumber,d,o,s,i,n),s}if(o=this._findMatchesInLine(t,r,this.getLineContent(c).substr(d),c,d,o,s,i,n),o>=n)return s;c++,a=this.nodeAt2(c,1),u=a.node,h=this.positionInBuffer(a.node,a.remainder)}if(c===e.endLineNumber){const a=c===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(c).substring(a,e.endColumn-1);return o=this._findMatchesInLine(t,r,l,e.endLineNumber,a,o,s,i,n),s}const g=c===e.startLineNumber?e.startColumn:1;return o=this.findMatchesInNode(l.node,r,c,g,h,d,t,i,n,o,s),s}_findMatchesInLine(e,t,i,n,s,o,r,a,l){const h=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,d=i.length;let c=-a;for(;-1!==(c=i.indexOf(t,c+a));)if((!h||(0,Re.wC)(h,i,d,c,a))&&(r[o++]=new v.Dg(new g.Q(n,c+1+s,n,c+1+a+s),null),o>=l))return o;return o}let d;t.reset(0);do{if(d=t.next(i),d&&(r[o++]=(0,Re.dr)(new g.Q(n,d.index+1+s,n,d.index+1+d[0].length+s),d,a),o>=l))return o}while(d);return o}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==we){const{node:i,remainder:n,nodeStartOffset:s}=this.nodeAt(e),o=i.piece,r=o.bufferIndex,a=this.positionInBuffer(i,n);if(0===i.piece.bufferIndex&&o.end.line===this._lastChangeBufferPos.line&&o.end.column===this._lastChangeBufferPos.column&&s+o.length===e&&t.lengthe){const e=[];let s=new We(o.bufferIndex,a,o.end,this.getLineFeedCnt(o.bufferIndex,a,o.end),this.offsetInBuffer(r,o.end)-this.offsetInBuffer(r,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)){if(10===this.nodeCharCodeAt(i,n)){const e={line:s.start.line+1,column:0};s=new We(s.bufferIndex,e,s.end,this.getLineFeedCnt(s.bufferIndex,e,s.end),s.length-1),t+="\n"}}if(this.shouldCheckCRLF()&&this.startWithLF(t)){if(13===this.nodeCharCodeAt(i,n-1)){const s=this.positionInBuffer(i,n-1);this.deleteNodeTail(i,s),t="\r"+t,0===i.piece.length&&e.push(i)}else this.deleteNodeTail(i,a)}else this.deleteNodeTail(i,a);const l=this.createNewPieces(t);s.length>0&&this.rbInsertRight(i,s);let h=i;for(let t=0;t=0;o--)s=this.rbInsertLeft(s,n[o]);this.validateCRLFWithPrevNode(s),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const i=this.createNewPieces(e),n=this.rbInsertRight(t,i[0]);let s=n;for(let o=1;o=d))break;a=h+1}return i?(i.line=h,i.column=r-c,null):{line:h,column:r-c}}getLineFeedCnt(e,t,i){if(0===i.column)return i.line-t.line;const n=this._buffers[e].lineStarts;if(i.line===n.length-1)return i.line-t.line;const s=n[i.line+1],o=n[i.line]+i.column;if(s>o+1)return i.line-t.line;const r=o-1;return 13===this._buffers[e].buffer.charCodeAt(r)?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;tAe){const t=[];for(;e.length>Ae;){const i=e.charCodeAt(65534);let n;13===i||i>=55296&&i<=56319?(n=e.substring(0,65534),e=e.substring(65534)):(n=e.substring(0,Ae),e=e.substring(Ae));const s=Fe(n);t.push(new We(this._buffers.length,{line:0,column:0},{line:s.length-1,column:n.length-s[s.length-1]},s.length-1,n.length)),this._buffers.push(new Be(n,s))}const i=Fe(e);return t.push(new We(this._buffers.length,{line:0,column:0},{line:i.length-1,column:e.length-i[i.length-1]},i.length-1,e.length)),this._buffers.push(new Be(e,i)),t}let t=this._buffers[0].buffer.length;const i=Fe(e,!1);let n=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},n=this._lastChangeBufferPos;for(let e=0;e=e-1)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt>e-1){const n=this.getAccumulatedValue(i,e-i.lf_left-2),r=this.getAccumulatedValue(i,e-i.lf_left-1),a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return s+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:s,nodeStartLineNumber:o-(e-1-i.lf_left)}),a.substring(l+n,l+r-t)}if(i.lf_left+i.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(i,e-i.lf_left-2),s=this._buffers[i.piece.bufferIndex].buffer,o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n=s.substring(o+t,o+i.piece.length);break}e-=i.lf_left+i.piece.lineFeedCnt,s+=i.size_left+i.piece.length,i=i.right}}for(i=i.next();i!==we;){const e=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const s=this.getAccumulatedValue(i,0),o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n+=e.substring(o,o+s-t),n}{const t=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n+=e.substr(t,i.piece.length)}i=i.next()}return n}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==we;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,n=this.positionInBuffer(e,t),s=n.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,i.start,n);if(t!==s)return{index:t,remainder:0}}return{index:s,remainder:n.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,n=this._buffers[i.bufferIndex].lineStarts,s=i.start.line+t+1;return s>i.end.line?n[i.end.line]+i.end.column-n[i.start.line]-i.start.column:n[s]-n[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,n=i.lineFeedCnt,s=this.offsetInBuffer(i.bufferIndex,i.end),o=t,r=this.offsetInBuffer(i.bufferIndex,o),a=this.getLineFeedCnt(i.bufferIndex,i.start,o),l=a-n,h=r-s,d=i.length+h;e.piece=new We(i.bufferIndex,i.start,o,a,d),Me(this,e,h,l)}deleteNodeHead(e,t){const i=e.piece,n=i.lineFeedCnt,s=this.offsetInBuffer(i.bufferIndex,i.start),o=t,r=this.getLineFeedCnt(i.bufferIndex,o,i.end),a=r-n,l=s-this.offsetInBuffer(i.bufferIndex,o),h=i.length+l;e.piece=new We(i.bufferIndex,o,i.end,r,h),Me(this,e,l,a)}shrinkNode(e,t,i){const n=e.piece,s=n.start,o=n.end,r=n.length,a=n.lineFeedCnt,l=t,h=this.getLineFeedCnt(n.bufferIndex,n.start,l),d=this.offsetInBuffer(n.bufferIndex,t)-this.offsetInBuffer(n.bufferIndex,s);e.piece=new We(n.bufferIndex,n.start,l,h,d),Me(this,e,d-r,h-a);const c=new We(n.bufferIndex,i,o,this.getLineFeedCnt(n.bufferIndex,i,o),this.offsetInBuffer(n.bufferIndex,o)-this.offsetInBuffer(n.bufferIndex,i)),u=this.rbInsertRight(e,c);this.validateCRLFWithPrevNode(u)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),n=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const s=Fe(t,!1);for(let c=0;ce)t=t.left;else{if(t.size_left+t.piece.length>=e){n+=t.size_left;const i={node:t,remainder:e-t.size_left,nodeStartOffset:n};return this._searchCache.set(i),i}e-=t.size_left+t.piece.length,n+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let i=this.root,n=0;for(;i!==we;)if(i.left!==we&&i.lf_left>=e-1)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt>e-1){const s=this.getAccumulatedValue(i,e-i.lf_left-2),o=this.getAccumulatedValue(i,e-i.lf_left-1);return n+=i.size_left,{node:i,remainder:Math.min(s+t-1,o),nodeStartOffset:n}}if(i.lf_left+i.piece.lineFeedCnt===e-1){const s=this.getAccumulatedValue(i,e-i.lf_left-2);if(s+t-1<=i.piece.length)return{node:i,remainder:s+t-1,nodeStartOffset:n};t-=i.piece.length-s;break}e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==we;){if(i.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(i,0),n=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,e),nodeStartOffset:n}}if(i.piece.length>=t-1){return{node:i,remainder:t-1,nodeStartOffset:this.offsetOfNode(i)}}t-=i.piece.length,i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(n)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===we||0===e.piece.lineFeedCnt)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,n=t.start.line,s=i[n]+t.start.column;if(n===i.length-1)return!1;return!(i[n+1]>s+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(s)}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==we&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],n=this._buffers[e.piece.bufferIndex].lineStarts;let s;s=0===e.piece.end.column?{line:e.piece.end.line-1,column:n[e.piece.end.line]-n[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const o=e.piece.length-1,r=e.piece.lineFeedCnt-1;e.piece=new We(e.piece.bufferIndex,e.piece.start,s,r,o),Me(this,e,-1,-1),0===e.piece.length&&i.push(e);const a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,h=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new We(t.piece.bufferIndex,a,t.piece.end,h,l),Me(this,t,-1,-1),0===t.piece.length&&i.push(t);const d=this.createNewPieces("\r\n");this.rbInsertRight(e,d[0]);for(let c=0;ce.sortIndex-t.sortIndex))}this._mightContainRTL=n,this._mightContainUnusualLineTerminators=s,this._mightContainNonBasicASCII=o;const p=this._doApplyEdits(a);let m=null;if(t&&u.length>0){u.sort(((e,t)=>t.lineNumber-e.lineNumber)),m=[];for(let e=0,t=u.length;e0&&u[e-1].lineNumber===t)continue;const i=u[e].oldContent,n=this.getLineContent(t);0!==n.length&&n!==i&&-1===l.HG(n)&&m.push(t)}}return this._onDidChangeContent.fire(),new v.F4(g,p,m)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,n=e[e.length-1].range,s=new g.Q(i.startLineNumber,i.startColumn,n.endLineNumber,n.endColumn);let o=i.startLineNumber,r=i.startColumn;const a=[];for(let d=0,p=e.length;d0&&a.push(i.text),o=n.endLineNumber,r=n.endColumn}const l=a.join(""),[h,c,u]=(0,d.W)(l);return{sortIndex:0,identifier:e[0].identifier,range:s,rangeOffset:this.getOffsetAt(s.startLineNumber,s.startColumn),rangeLength:this.getValueLengthInRange(s,0),text:l,eolCount:h,firstLineLength:c,lastLineLength:u,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(Ke._sortOpsDescending);const t=[];for(let i=0;i0){const e=r.eolCount+1;h=1===e?new g.Q(a,l,a,l+r.firstLineLength):new g.Q(a,l,a+e-1,r.lastLineLength+1)}else h=new g.Q(a,l,a,l);i=h.endLineNumber,n=h.endColumn,t.push(h),s=r}return t}static _sortOpsAscending(e,t){const i=g.Q.compareRangesUsingEnds(e.range,t.range);return 0===i?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=g.Q.compareRangesUsingEnds(e.range,t.range);return 0===i?t.sortIndex-e.sortIndex:-i}}class je{constructor(e,t,i,n,s,o,r,a,l){this._chunks=e,this._bom=t,this._cr=i,this._lf=n,this._crlf=s,this._containsRTL=o,this._containsUnusualLineTerminators=r,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":i>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let s=0,o=i.length;s=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let i=1,n=0,s=0,o=0,r=!0;for(let l=0,h=t.length;l126)&&(r=!1)}const a=new Oe(Pe(e),n,s,o,r);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new Be(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=l.E_(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=l.$X(e)))}finish(e=!0){return this._finish(),new je(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=Fe(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var qe=i(79955),Ge=i(18782),Qe=i(29694),Ye=i(32177),Ze=i(65958),Xe=i(63339),Je=i(23013),et=i(72532),tt=i(97036);class it{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,i){if(e>=this._store.length)return;if(0===t)return void this.insert(e,i);if(0===i)return void this.delete(e,t);const n=this._store.slice(0,e),s=this._store.slice(e+t),o=function(e,t){const i=[];for(let n=0;n=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const i=[];for(let n=0;n0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e)return void i.appendLineTokens(t)}this._tokens.push(new nt(e,[t]))}finalize(){return this._tokens}}var ot=i(57445);class rt{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new lt(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class at extends rt{constructor(e,t,i,n){super(e,t),this._textModel=i,this._languageIdCodec=n}updateTokensUntilLine(e,t){const i=this._textModel.getLanguageId();for(;;){const n=this.getFirstInvalidLine();if(!n||n.lineNumber>t)break;const s=this._textModel.getLineContent(n.lineNumber),o=ct(this._languageIdCodec,i,this.tokenizationSupport,s,!0,n.startState);e.add(n.lineNumber,o.tokens),this.store.setEndState(n.lineNumber,o.endState)}}getTokenTypeIfInsertingCharacter(e,t){const i=this.getStartState(e.lineNumber);if(!i)return 0;const n=this._textModel.getLanguageId(),s=this._textModel.getLineContent(e.lineNumber),o=s.substring(0,e.column-1)+t+s.substring(e.column-1),r=ct(this._languageIdCodec,n,this.tokenizationSupport,o,!0,i),a=new ot.f(r.tokens,o,this._languageIdCodec);if(0===a.getCount())return 0;const l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,i){const n=e.lineNumber,s=e.column,o=this.getStartState(n);if(!o)return null;const r=this._textModel.getLineContent(n),a=r.substring(0,s-1)+i+r.substring(s-1+t),l=this._textModel.getLanguageIdAtPosition(n,0),h=ct(this._languageIdCodec,l,this.tokenizationSupport,a,!0,o);return new ot.f(h.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e1&&r>=1;r--){const e=this._textModel.getLineFirstNonWhitespaceColumn(r);if(0!==e&&(e0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}}class dt{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex((t=>t.contains(e)));if(-1!==t){const i=this._ranges[t];i.start===e?i.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new et.L(e+1,i.endExclusive):i.endExclusive===e+1?this._ranges[t]=new et.L(i.start,e):this._ranges.splice(t,1,new et.L(i.start,e),new et.L(e+1,i.endExclusive))}}addRange(e){et.L.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let n=i;for(;!(n>=this._ranges.length||e.endExclusivee.toString())).join(" + ")}}function ct(e,t,i,n,s,r){let a=null;if(i)try{a=i.tokenizeEncoded(n,s,r.clone())}catch(l){(0,o.dz)(l)}return a||(a=(0,tt.Lh)(e.encodeLanguageId(t),r)),ot.f.convertToEndOffset(a.tokens,n.length),a}class ut{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,Ze.$6)((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new qe.M(e,t))}}class gt{constructor(){this._onDidChangeVisibleRanges=new r.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new pt((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class pt{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const i=e.map((e=>new qe.M(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}class mt extends a.jG{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Ze.uC((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,n.aI)(this._computedLineRanges,this._lineRanges,((e,t)=>e.equals(t)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class ft extends a.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,i){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=i,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new r.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new r.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class _t extends ft{constructor(e,t,i,n){super(t,i,n),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=Qe.OB.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const i=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(i)return new ot.f(i,t,this._languageIdCodec)}return ot.f.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,i){return 0}tokenizeLineWithEdit(e,t,i){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}var vt=i(35320);const bt=new Uint32Array(0).buffer;class Ct{static deleteBeginning(e,t){return null===e||e===bt?e:Ct.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===bt)return e;const i=wt(e),n=i[i.length-2];return Ct.delete(e,t,n)}static delete(e,t,i){if(null===e||e===bt||t===i)return e;const n=wt(e),s=n.length>>>1;if(0===t&&n[n.length-2]===i)return bt;const o=ot.f.findIndexInTokensArray(n,t),r=o>0?n[o-1<<1]:0;if(il&&(n[a++]=e,n[a++]=n[1+(c<<1)],l=e)}if(a===n.length)return e;const d=new Uint32Array(a);return d.set(n.subarray(0,a),0),d.buffer}static append(e,t){if(t===bt)return e;if(e===bt)return t;if(null===e)return e;if(null===t)return null;const i=wt(e),n=wt(t),s=n.length>>>1,o=new Uint32Array(i.length+n.length);o.set(i,0);let r=i.length;const a=i[i.length-2];for(let l=0;l>>1;let o=ot.f.findIndexInTokensArray(n,t);if(o>0){n[o-1<<1]===t&&o--}for(let r=o;r0}getTokens(e,t,i){let n=null;if(t1&&(t=yt.x.getLanguageId(n[1])!==e),!t)return bt}if(!n||0===n.length){const i=new Uint32Array(2);return i[0]=t,i[1]=kt(e),i.buffer}return n[n.length-2]=t,0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const i=[];for(let n=0;n=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=Ct.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=Ct.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let n=null;i=this._len||(0!==t?(this._lineTokens[n]=Ct.deleteEnding(this._lineTokens[n],e.column-1),this._lineTokens[n]=Ct.insert(this._lineTokens[n],e.column-1,i),this._insertLines(e.lineNumber,t)):this._lineTokens[n]=Ct.insert(this._lineTokens[n],e.column-1,i))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const i=[];for(let n=0,s=e.length;n>>0}class Lt{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){const n=t[0].getRange(),s=t[t.length-1].getRange();if(!n||!s)return e;i=e.plusRange(n).plusRange(s)}let s=null;for(let n=0,o=this._pieces.length;ni.endLineNumber){s=s||{index:n};break}if(e.removeTokens(i),e.isEmpty()){this._pieces.splice(n,1),n--,o--;continue}if(e.endLineNumberi.endLineNumber){s=s||{index:n};continue}const[t,r]=e.split(i);t.isEmpty()?s=s||{index:n}:r.isEmpty()||(this._pieces.splice(n,1,t,r),n++,o++,s=s||{index:n})}return s=s||{index:this._pieces.length},t.length>0&&(this._pieces=n.nK(this._pieces,s.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const i=this._pieces;if(0===i.length)return t;const n=i[Lt._findFirstPieceWithLine(i,e)].getLineTokens(e);if(!n)return t;const s=t.getCount(),o=n.getCount();let r=0;const a=[];let l=0,h=0;const d=(e,t)=>{e!==h&&(h=e,a[l++]=e,a[l++]=t)};for(let c=0;c>>0,l=~a>>>0;for(;rt)){for(;s>i&&e[s-1].startLineNumber<=t&&t<=e[s-1].endLineNumber;)s--;return s}n=s-1}}return i}acceptEdit(e,t,i,n,s){for(const o of this._pieces)o.acceptEdit(e,t,i,n,s)}}var xt,Dt=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Nt=function(e,t){return function(i,n){t(i,n,e)}};let It=xt=class extends Ye._{constructor(e,t,i,n,s,o,l){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=i,this._attachedViews=n,this._languageService=s,this._languageConfigurationService=o,this._treeSitterService=l,this._semanticTokens=new Lt(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new r.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new r.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new r.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new a.Cm),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(r.Jh.filter(Qe.OB.onDidChange,(e=>e.changedLanguages.includes(this._languageId)))((()=>{this.createPreferredTokenProvider()}))),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new Et(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews))}createTreeSitterTokens(){return this._register(new _t(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,(()=>this._languageId)))}createTokens(e){const t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){Qe.OB.get(this._languageId)?this._tokens instanceof _t||this.createTokens(!0):this._tokens instanceof Et||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,i,n]=(0,d.W)(t.text);this._semanticTokens.acceptEdit(t.range,e,i,n,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new o.D7("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this._tokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),n=this.getLineTokens(t.lineNumber),s=n.findTokenIndexAtOffset(t.column-1),[o,r]=xt._findLanguageBoundaries(n,s),a=(0,Ge.Th)(t.column,this.getLanguageConfiguration(n.getLanguageId(s)).getWordDefinition(),i.substring(o,r),o);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(s>0&&o===t.column-1){const[o,r]=xt._findLanguageBoundaries(n,s-1),a=(0,Ge.Th)(t.column,this.getLanguageConfiguration(n.getLanguageId(s-1)).getWordDefinition(),i.substring(o,r),o);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const i=e.getLanguageId(t);let n=0;for(let o=t;o>=0&&e.getLanguageId(o)===i;o--)n=e.getStartOffset(o);let s=e.getLineContent().length;for(let o=t,r=e.getCount();o{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(n.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let i=this._attachedViewStates.get(e);i||(i=new mt((()=>this.refreshRanges(i.lineRanges))),this._attachedViewStates.set(e,i)),i.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new lt(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[t,i]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=Qe.dG.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(i){return(0,o.dz)(i),[null,null]}return[e,t]})();if(this._tokenizer=t&&i?new at(this._textModel.getLineCount(),t,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{if(2===this._backgroundTokenizationState)return;this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(e,t)=>{if(!this._tokenizer)return;const i=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==i&&e>=i&&this._tokenizer?.store.setEndState(e,t)}};t&&t.createBackgroundTokenizer&&!t.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new ut(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),t?.backgroundTokenizerShouldOnlyVerifyTokens&&t.createBackgroundTokenizer?(this._debugBackgroundTokens=new St(this._languageIdCodec),this._debugBackgroundStates=new lt(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[e,i]=(0,d.W)(t.text);this._tokens.acceptEdit(t.range,e,i),this._debugBackgroundTokens?.acceptEdit(t.range,e,i)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=qe.M.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const i=new st,{heuristicTokens:n}=this._tokenizer.tokenizeHeuristically(i,e,t),s=this.setTokens(i.finalize());if(n)for(const o of s.changes)this._backgroundTokenizer.value?.requestTokens(o.fromLineNumber,o.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new st;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){const t=this._textModel.getLineContent(e),i=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const n=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!i.equals(n)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return i}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;const n=this._textModel.validatePosition(new u.y(e,t));return this.forceTokenization(n.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(n,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;const n=this._textModel.validatePosition(e);return this.forceTokenization(n.lineNumber),this._tokenizer.tokenizeLineWithEdit(n,t,i)}get hasTokens(){return this._tokens.hasTokens}}var Mt,Tt=i(83455),Rt=i(82399),At=i(38803),Pt=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},Ot=function(e,t){return function(i,n){t(i,n,e)}};function Ft(e,t){let i;return i="string"==typeof e?function(e){const t=new $e;return t.acceptChunk(e),t.finish()}(e):v.nk(e)?function(e){const t=new $e;let i;for(;"string"==typeof(i=e.read());)t.acceptChunk(i);return t.finish()}(e):e,i.create(t)}let Wt=0;class Bt{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,i=0;for(;;){const n=this._source.read();if(null===n)return this._eos=!0,0===t?null:e.join("");if(n.length>0&&(e[t++]=n,i+=n.length),i>=65536)return e.join("")}}}const Ht=()=>{throw new Error("Invalid change accessor")};let Vt=class extends a.jG{static{Mt=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:m.R.tabSize,indentSize:m.R.indentSize,insertSpaces:m.R.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:m.R.trimAutoWhitespace,largeFileOptimizations:m.R.largeFileOptimizations,bracketPairColorizationOptions:m.R.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){const i=Q(e,t.tabSize,t.insertSpaces);return new v.X2({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new v.X2(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return(0,a.qE)(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,i,n=null,s,o,d,c){super(),this._undoRedoService=s,this._languageService=o,this._languageConfigurationService=d,this.instantiationService=c,this._onWillDispose=this._register(new r.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new ei((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new r.vl),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new r.vl),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new r.vl),this._eventEmitter=this._register(new ti),this._languageSelectionListener=this._register(new a.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new gt,Wt++,this.id="$model"+Wt,this.isForSimpleWidget=i.isForSimpleWidget,this._associatedResource=null==n?h.r.parse("inmemory://model/"+Wt):n,this._attachedEditorCount=0;const{textBuffer:u,disposable:p}=Ft(e,i.defaultEOL);this._buffer=u,this._bufferDisposable=p,this._options=Mt.resolveOptions(this._buffer,i);const m="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange((()=>this._setLanguage(t.languageId)))),this._bracketPairs=this._register(new F(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new $.P(this,this._languageConfigurationService)),this._decorationProvider=this._register(new U(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(It,this,this._bracketPairs,m,this._attachedViews);const f=this._buffer.getLineCount(),_=this._buffer.getValueLengthInRange(new g.Q(1,1,f,this._buffer.getLineLength(f)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=_>Mt.LARGE_FILE_SIZE_THRESHOLD||f>Mt.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=_>Mt.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=_>Mt._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=l.tk(Wt),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Kt,this._commandManager=new j.z8(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(m),this._register(this._languageConfigurationService.onDidChange((e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)})))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new Ke([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=a.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new o.D7("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new Tt.Ic(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,o.Qg)();const{textBuffer:t,disposable:i}=Ft(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,n,s,o,r,a){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:n}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:s,isRedoing:o,isFlush:r}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),s=this.getLineCount(),o=this.getLineMaxColumn(s);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new Kt,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Tt.HP([new Tt.Wn],this._versionId,!1,!1),this._createContentChanged2(new g.Q(1,1,s,o),0,n,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),s=this.getLineCount(),o=this.getLineMaxColumn(s);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Tt.HP([new Tt.mS],this._versionId,!1,!1),this._createContentChanged2(new g.Q(1,1,s,o),0,n,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,n=t.length;i0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let n=1;n<=i;n++){const i=this._buffer.getLineLength(n);i>=1e4?t+=i:e+=i}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,i=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,n=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,s=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,o=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,r=new v.X2({tabSize:t,indentSize:i,insertSpaces:n,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:s,bracketPairColorizationOptions:o});if(this._options.equals(r))return;const a=this._options.createChangeEvent(r);this._options=r,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const i=Q(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),(0,c.P)(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(l._J.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map((e=>({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new o.D7("Operation would exceed heap memory limits");const i=this.getFullModelRange(),n=this.getValueInRange(i,e);return t?this._buffer.getBOM()+n:n}createSnapshot(e=!1){return new Bt(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+n:n}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new o.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new o.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,n=e.startColumn;let s=Math.floor("number"!=typeof i||isNaN(i)?1:i),o=Math.floor("number"!=typeof n||isNaN(n)?1:n);if(s<1)s=1,o=1;else if(s>t)s=t,o=this.getLineMaxColumn(s);else if(o<=1)o=1;else{const e=this.getLineMaxColumn(s);o>=e&&(o=e)}const r=e.endLineNumber,a=e.endColumn;let l=Math.floor("number"!=typeof r||isNaN(r)?1:r),h=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,h=1;else if(l>t)l=t,h=this.getLineMaxColumn(l);else if(h<=1)h=1;else{const e=this.getLineMaxColumn(l);h>=e&&(h=e)}return i===s&&n===o&&r===l&&a===h&&e instanceof g.Q&&!(e instanceof p.L)?e:new g.Q(s,o,l,h)}_isValidPosition(e,t,i){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===i){const i=this._buffer.getLineCharCode(e,t-2);if(l.pc(i))return!1}return!0}_validatePosition(e,t,i){const n=Math.floor("number"!=typeof e||isNaN(e)?1:e),s=Math.floor("number"!=typeof t||isNaN(t)?1:t),o=this._buffer.getLineCount();if(n<1)return new u.y(1,1);if(n>o)return new u.y(o,this.getLineMaxColumn(o));if(s<=1)return new u.y(n,1);const r=this.getLineMaxColumn(n);if(s>=r)return new u.y(n,r);if(1===i){const e=this._buffer.getLineCharCode(n,s-2);if(l.pc(e))return new u.y(n,s-1)}return new u.y(n,s)}validatePosition(e){return this._assertNotDisposed(),e instanceof u.y&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,o=e.endColumn;if(!this._isValidPosition(i,n,0))return!1;if(!this._isValidPosition(s,o,0))return!1;if(1===t){const e=n>1?this._buffer.getLineCharCode(i,n-2):0,t=o>1&&o<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,o-2):0,r=l.pc(e),a=l.pc(t);return!r&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof g.Q&&!(e instanceof p.L)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),i=this._validatePosition(e.endLineNumber,e.endColumn,0),n=t.lineNumber,s=t.column,o=i.lineNumber,r=i.column;{const e=s>1?this._buffer.getLineCharCode(n,s-2):0,t=r>1&&r<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,r-2):0,i=l.pc(e),a=l.pc(t);return i||a?n===o&&s===r?new g.Q(n,s-1,o,r-1):i&&a?new g.Q(n,s-1,o,r+1):i?new g.Q(n,s-1,o,r):new g.Q(n,s,o,r+1):new g.Q(n,s,o,r)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new g.Q(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,n){return this._buffer.findMatchesLineByLine(e,t,i,n)}findMatches(e,t,i,n,s,o,r=999){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>g.Q.isIRange(e)))&&(a=t.map((e=>this.validateRange(e))))),null===a&&(a=[this.getFullModelRange()]),a=a.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const l=[];let h;if(l.push(a.reduce(((e,t)=>g.Q.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t)))),!i&&e.indexOf("\n")<0){const t=new Re.lt(e,i,n,s).parseSearchRequest();if(!t)return[];h=e=>this.findMatchesLineByLine(e,t,o,r)}else h=t=>Re.hB.findMatches(this,new Re.lt(e,i,n,s),t,o,r);return l.map(h).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,i,n,s,o){this._assertNotDisposed();const r=this.validatePosition(t);if(!i&&e.indexOf("\n")<0){const t=new Re.lt(e,i,n,s).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new g.Q(r.lineNumber,r.column,a,this.getLineMaxColumn(a)),h=this.findMatchesLineByLine(l,t,o,1);return Re.hB.findNextMatch(this,new Re.lt(e,i,n,s),r,o),h.length>0?h[0]:(l=new g.Q(1,1,r.lineNumber,this.getLineMaxColumn(r.lineNumber)),h=this.findMatchesLineByLine(l,t,o,1),h.length>0?h[0]:null)}return Re.hB.findNextMatch(this,new Re.lt(e,i,n,s),r,o)}findPreviousMatch(e,t,i,n,s,o){this._assertNotDisposed();const r=this.validatePosition(t);return Re.hB.findPreviousMatch(this,new Re.lt(e,i,n,s),r,o)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof v.Wo?e:new v.Wo(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,n=e.length;i({range:this.validateRange(e.range),text:e.text})));let n=!0;if(e)for(let t=0,s=e.length;ts.endLineNumber,r=s.startLineNumber>t.endLineNumber;if(!n&&!r){o=!0;break}}if(!o){n=!1;break}}if(n)for(let e=0,s=this._trimAutoWhitespaceLines.length;et.endLineNumber)&&!(n===t.startLineNumber&&t.startColumn===s&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(0)||n===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(r.length-1))){o=!1;break}}if(o){const e=new g.Q(n,1,n,s);t.push(new v.Wo(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,n)}_applyUndo(e,t,i,n){const s=e.map((e=>{const t=this.getPositionAt(e.newPosition),i=this.getPositionAt(e.newEnd);return{range:new g.Q(t.lineNumber,t.column,i.lineNumber,i.column),text:e.oldText}}));this._applyUndoRedoEdits(s,t,!0,!1,i,n)}_applyRedo(e,t,i,n){const s=e.map((e=>{const t=this.getPositionAt(e.oldPosition),i=this.getPositionAt(e.oldEnd);return{range:new g.Q(t.lineNumber,t.column,i.lineNumber,i.column),text:e.newText}}));this._applyUndoRedoEdits(s,t,!1,!0,i,n)}_applyUndoRedoEdits(e,t,i,n,s,o){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=n,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(s)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(o),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const i=this._buffer.getLineCount(),s=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),r=s.changes;if(this._trimAutoWhitespaceLines=s.trimAutoWhitespaceLineNumbers,0!==r.length){for(let i=0,n=r.length;i=0;t--){const i=l+t,n=f+t;w.takeFromEndWhile((e=>e.lineNumber>n));const s=w.takeFromEndWhile((e=>e.lineNumber===n));e.push(new Tt.U0(i,this.getLineContent(n),s))}if(pe.lineNumbere.lineNumber===t))}e.push(new Tt.bg(s+1,l+g,d,h))}t+=m}this._emitContentChangedEvent(new Tt.HP(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:r,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===s.reverseEdits?void 0:s.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){if(null===e||0===e.size)return;const t=Array.from(e).map((e=>new Tt.U0(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new Tt.vn(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(t,i)=>this._deltaDecorationsImpl(e,[],[{range:t,options:i}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,Jt(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,i)=>0===t.length&&0===i.length?[]:this._deltaDecorationsImpl(e,t,i)};let n=null;try{n=t(i)}catch(s){(0,o.dz)(s)}return i.addDecoration=Ht,i.changeDecoration=Ht,i.changeDecorationOptions=Ht,i.removeDecoration=Ht,i.deltaDecorations=Ht,n}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,o.dz)(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){const n=e?this._decorations[e]:null;if(!n)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:Xt[i]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(n),delete this._decorations[n.id],null;const s=this._validateRangeRelaxedNoAllocations(t),o=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),r=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);return this._decorationsTree.delete(n),n.reset(this.getVersionId(),o,r,s),n.setOptions(Xt[i]),this._decorationsTree.insert(n),n.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let i=0,n=t.length;ithis.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,s=!1,o=!1){const r=this.getLineCount(),a=Math.min(r,Math.max(1,e)),l=Math.min(r,Math.max(1,t)),h=this.getLineMaxColumn(l),d=new g.Q(a,1,l,h),c=this._getDecorationsInRange(d,i,s,o);return(0,n.E4)(c,this._decorationProvider.getDecorationsInRange(d,i,s)),c}getDecorationsInRange(e,t=0,i=!1,s=!1,o=!1){const r=this.validateRange(e),a=this._getDecorationsInRange(r,t,i,o);return(0,n.E4)(a,this._decorationProvider.getDecorationsInRange(r,t,i,s)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),n=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return Tt.uK.fromDecorations(n).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1,!1);return i=i.concat(this._decorationProvider.getAllDecorations(e,t)),i}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,i,n){const s=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,s,o,t,i,n)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const i=this._decorations[e];if(!i)return;if(i.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(i.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const n=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),o=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),s,o,n),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.startLineNumber)}_changeDecorationOptionsImpl(e,t){const i=this._decorations[e];if(!i)return;const n=!(!i.options.overviewRuler||!i.options.overviewRuler.color),s=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(i.options),this._onDidChangeDecorations.checkAffectedAndFire(t),i.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(i.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const o=n!==s,r=function(e){return!!e.after||!!e.before}(t)!==Ut(i);o||r?(this._decorationsTree.delete(i),i.setOptions(t),this._decorationsTree.insert(i)):i.setOptions(t)}_deltaDecorationsImpl(e,t,i,n=!1){const s=this.getVersionId(),o=t.length;let r=0;const a=i.length;let l=0;this._onDidChangeDecorations.beginDeferredEmit();try{const h=new Array(a);for(;rthis._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 function(e){let t=0;for(const i of e){if(" "!==i&&"\t"!==i)break;t++}return t}(this.getLineContent(e))+1}};function zt(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Ut(e){return!!e.options.after||!!e.options.before}Vt=Mt=Pt([Ot(4,At.$D),Ot(5,f.L),Ot(6,_.JZ),Ot(7,Rt._Y)],Vt);class Kt{constructor(){this._decorationsTree0=new le,this._decorationsTree1=new le,this._injectedTextDecorationsTree=new le}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const i of t)null===i.range&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,n,s,o){const r=e.getVersionId(),a=this._intervalSearch(t,i,n,s,r,o);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,i,n,s,o){const r=this._decorationsTree0.intervalSearch(e,t,i,n,s,o),a=this._decorationsTree1.intervalSearch(e,t,i,n,s,o),l=this._injectedTextDecorationsTree.intervalSearch(e,t,i,n,s,o);return r.concat(a).concat(l)}getInjectedTextInInterval(e,t,i,n){const s=e.getVersionId(),o=this._injectedTextDecorationsTree.intervalSearch(t,i,n,!1,s,!1);return this._ensureNodesHaveRanges(e,o).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const i=e.getVersionId(),n=this._injectedTextDecorationsTree.search(t,!1,i,!1);return this._ensureNodesHaveRanges(e,n).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,i,n,s){const o=e.getVersionId(),r=this._search(t,i,n,o,s);return this._ensureNodesHaveRanges(e,r)}_search(e,t,i,n,s){if(i)return this._decorationsTree1.search(e,t,n,s);{const i=this._decorationsTree0.search(e,t,n,s),o=this._decorationsTree1.search(e,t,n,s),r=this._injectedTextDecorationsTree.search(e,t,n,s);return i.concat(o).concat(r)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),n=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(n)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){Ut(e)?this._injectedTextDecorationsTree.insert(e):zt(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Ut(e)?this._injectedTextDecorationsTree.delete(e):zt(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Ut(e)?this._injectedTextDecorationsTree.resolveNode(e,t):zt(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,n){this._decorationsTree0.acceptReplace(e,t,i,n),this._decorationsTree1.acceptReplace(e,t,i,n),this._injectedTextDecorationsTree.acceptReplace(e,t,i,n)}}function jt(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class $t{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class qt extends $t{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:v.A5.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const i=e?t.getColor(e.id):null;return i?i.toString():""}}class Gt{constructor(e){this.position=e?.position??v.ZS.Center,this.persistLane=e?.persistLane}}class Qt extends $t{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?s.Q1.fromHex(e):t.getColor(e.id)}}class Yt{static from(e){return e instanceof Yt?e:new Yt(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class Zt{static register(e){return new Zt(e)}static createDynamic(e){return new Zt(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?jt(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?jt(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.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new qt(e.overviewRuler):null,this.minimap=e.minimap?new Qt(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new Gt(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?jt(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?jt(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?jt(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?l.jy(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?jt(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?jt(e.marginClassName):null,this.inlineClassName=e.inlineClassName?jt(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?jt(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?jt(e.afterContentClassName):null,this.after=e.after?Yt.from(e.after):null,this.before=e.before?Yt.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}Zt.EMPTY=Zt.register({description:"empty"});const Xt=[Zt.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),Zt.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),Zt.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),Zt.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function Jt(e){return e instanceof Zt?e:Zt.createDynamic(e)}class ei extends a.jG{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new r.vl),this.event=this._actual.event,this._affectedInjectedTextLines=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--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}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(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const 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)}}class ti extends a.jG{constructor(){super(),this._fastEmitter=this._register(new r.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new r.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}},32177:(e,t,i)=>{i.d(t,{_:()=>s});var n=i(10998);class s extends n.jG{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}},104:(e,t,i)=>{i.d(t,{W5:()=>g,dr:()=>h,hB:()=>c,lt:()=>l,wC:()=>u});var n=i(16844),s=i(82862),o=i(15365),r=i(28061),a=i(66055);class l{constructor(e,t,i,n){this.searchString=e,this.isRegex=t,this.matchCase=i,this.wordSeparators=n}parseSearchRequest(){if(""===this.searchString)return null;let e;e=this.isRegex?function(e){if(!e||0===e.length)return!1;for(let t=0,i=e.length;t=i)break;const n=e.charCodeAt(t);if(110===n||114===n||87===n)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=n.OS(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(o){return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new a.L5(t,this.wordSeparators?(0,s.i)(this.wordSeparators,[]):null,i?this.searchString:null)}}function h(e,t,i){if(!i)return new a.Dg(e,null);const n=[];for(let s=0,o=t.length;s=e?n=s-1:t[s+1]>=e?(i=s,n=s):i=s+1}return i+1}}class c{static findMatches(e,t,i,n,s){const o=t.parseSearchRequest();return o?o.regex.multiline?this._doFindMatchesMultiline(e,i,new g(o.wordSeparators,o.regex),n,s):this._doFindMatchesLineByLine(e,i,o,n,s):[]}static _getMultilineMatchRange(e,t,i,n,s,o){let a,l,h=0;if(n?(h=n.findLineFeedCountBeforeOffset(s),a=t+s+h):a=t+s,n){const e=n.findLineFeedCountBeforeOffset(s+o.length)-h;l=a+o.length+e}else l=a+o.length;const d=e.getPositionAt(a),c=e.getPositionAt(l);return new r.Q(d.lineNumber,d.column,c.lineNumber,c.column)}static _doFindMatchesMultiline(e,t,i,n,s){const o=e.getOffsetAt(t.getStartPosition()),r=e.getValueInRange(t,1),a="\r\n"===e.getEOL()?new d(r):null,l=[];let c,u=0;for(i.reset(0);c=i.next(r);)if(l[u++]=h(this._getMultilineMatchRange(e,o,r,a,c.index,c[0]),c,n),u>=s)return l;return l}static _doFindMatchesLineByLine(e,t,i,n,s){const o=[];let r=0;if(t.startLineNumber===t.endLineNumber){const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return r=this._findMatchesInLine(i,a,t.startLineNumber,t.startColumn-1,r,o,n,s),o}const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);r=this._findMatchesInLine(i,a,t.startLineNumber,t.startColumn-1,r,o,n,s);for(let l=t.startLineNumber+1;l=d))return s;return s}const p=new g(e.wordSeparators,e.regex);let m;p.reset(0);do{if(m=p.next(t),m&&(o[s++]=h(new r.Q(i,m.index+1+n,i,m.index+1+m[0].length+n),m,l),s>=d))return s}while(m);return s}static findNextMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const o=new g(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindNextMatchMultiline(e,i,o,n):this._doFindNextMatchLineByLine(e,i,o,n)}static _doFindNextMatchMultiline(e,t,i,n){const s=new o.y(t.lineNumber,1),a=e.getOffsetAt(s),l=e.getLineCount(),c=e.getValueInRange(new r.Q(s.lineNumber,s.column,l,e.getLineMaxColumn(l)),1),u="\r\n"===e.getEOL()?new d(c):null;i.reset(t.column-1);const g=i.next(c);return g?h(this._getMultilineMatchRange(e,a,c,u,g.index,g[0]),g,n):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new o.y(1,1),i,n):null}static _doFindNextMatchLineByLine(e,t,i,n){const s=e.getLineCount(),o=t.lineNumber,r=e.getLineContent(o),a=this._findFirstMatchInLine(i,r,o,t.column,n);if(a)return a;for(let l=1;l<=s;l++){const t=(o+l-1)%s,r=e.getLineContent(t+1),a=this._findFirstMatchInLine(i,r,t+1,1,n);if(a)return a}return null}static _findFirstMatchInLine(e,t,i,n,s){e.reset(n-1);const o=e.next(t);return o?h(new r.Q(i,o.index+1,i,o.index+1+o[0].length),o,s):null}static findPreviousMatch(e,t,i,n){const s=t.parseSearchRequest();if(!s)return null;const o=new g(s.wordSeparators,s.regex);return s.regex.multiline?this._doFindPreviousMatchMultiline(e,i,o,n):this._doFindPreviousMatchLineByLine(e,i,o,n)}static _doFindPreviousMatchMultiline(e,t,i,n){const s=this._doFindMatchesMultiline(e,new r.Q(1,1,t.lineNumber,t.column),i,n,9990);if(s.length>0)return s[s.length-1];const a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new o.y(a,e.getLineMaxColumn(a)),i,n):null}static _doFindPreviousMatchLineByLine(e,t,i,n){const s=e.getLineCount(),o=t.lineNumber,r=e.getLineContent(o).substring(0,t.column-1),a=this._findLastMatchInLine(i,r,o,n);if(a)return a;for(let l=1;l<=s;l++){const t=(s+o-l-1)%s,r=e.getLineContent(t+1),a=this._findLastMatchInLine(i,r,t+1,n);if(a)return a}return null}static _findLastMatchInLine(e,t,i,n){let s,o=null;for(e.reset(0);s=e.next(t);)o=h(new r.Q(i,s.index+1,i,s.index+1+s[0].length),s,n);return o}}function u(e,t,i,n,s){return function(e,t,i,n,s){if(0===n)return!0;const o=t.charCodeAt(n-1);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(s>0){const i=t.charCodeAt(n);if(0!==e.get(i))return!0}return!1}(e,t,0,n,s)&&function(e,t,i,n,s){if(n+s===i)return!0;const o=t.charCodeAt(n+s);if(0!==e.get(o))return!0;if(13===o||10===o)return!0;if(s>0){const i=t.charCodeAt(n+s-1);if(0!==e.get(i))return!0}return!1}(e,t,i,n,s)}class g{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(i=this._searchRegex.exec(e),!i)return null;const s=i.index,o=i[0].length;if(s===this._prevMatchStartIndex&&o===this._prevMatchLength){if(0===o){n.Z5(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=s,this._prevMatchLength=o,!this._wordSeparators||u(this._wordSeparators,e,t,s,o))return i}while(i);return null}}},50969:(e,t,i)=>{function n(e,t){let i=0,n=0;const s=e.length;for(;nn})},93059:(e,t,i)=>{i.r(t),i.d(t,{KeyMod:()=>u,createMonacoBaseAPI:()=>g});var n=i(78903),s=i(2106),o=i(68387),r=i(37264),a=i(15365),l=i(28061),h=i(93702),d=i(29694),c=i(42783);class u{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(e,t){return(0,o.m5)(e,t)}}function g(){return{editor:void 0,languages:void 0,CancellationTokenSource:n.Qi,Emitter:s.vl,KeyCode:c.DD,KeyMod:u,Position:a.y,Range:l.Q,Selection:h.L,SelectionDirection:c.SB,MarkerSeverity:c.cj,MarkerTag:c.d_,Uri:r.r,Token:d.ou}}},14003:(e,t,i)=>{i.r(t),i.d(t,{BaseEditorSimpleWorker:()=>q,EditorSimpleWorker:()=>G,create:()=>Q});var n=i(47531),s=i(28061),o=i(27454);class r{constructor(e,t,i){const n=new Uint8Array(e*t);for(let s=0,o=e*t;st&&(t=o),n>i&&(i=n),r>i&&(i=r)}t++,i++;const n=new r(i,t,0);for(let s=0,o=e.length;s=this._maxCharCode?0:this._states.get(e,t)}}let l=null;let h=null;class d{static _createLink(e,t,i,n,s){let o=s-1;do{const i=t.charCodeAt(o);if(2!==e.get(i))break;o--}while(o>n);if(n>0){const e=t.charCodeAt(n-1),i=t.charCodeAt(o);(40===e&&41===i||91===e&&93===i||123===e&&125===i)&&o--}return{range:{startLineNumber:i,startColumn:n+1,endLineNumber:i,endColumn:o+2},url:t.substring(n,o+1)}}static computeLinks(e,t=function(){return null===l&&(l=new a([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),l}()){const i=function(){if(null===h){h=new o.V(0);const e=" \t<>'\"\u3001\u3002\uff61\uff64\uff0c\uff0e\uff1a\uff1b\u2018\u3008\u300c\u300e\u3014\uff08\uff3b\uff5b\uff62\uff63\uff5d\uff3d\uff09\u3015\u300f\u300d\u3009\u2019\uff40\uff5e\u2026";for(let i=0;i=0?(n+=i?1:-1,n<0?n=e.length-1:n%=e.length,e[n]):null}}var u=i(93059),g=i(96358),p=i(23013),m=i(49887),f=i(23837),_=i(39331),v=i(16844),b=i(87110),C=i(79955);class w{computeDiff(e,t,i){const n=new D(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),o=[];let r=null;for(const a of n.changes){let e,t;e=0===a.originalEndLineNumber?new C.M(a.originalStartLineNumber+1,a.originalStartLineNumber+1):new C.M(a.originalStartLineNumber,a.originalEndLineNumber+1),t=0===a.modifiedEndLineNumber?new C.M(a.modifiedStartLineNumber+1,a.modifiedStartLineNumber+1):new C.M(a.modifiedStartLineNumber,a.modifiedEndLineNumber+1);let i=new _.wm(e,t,a.charChanges?.map((e=>new _.q6(new s.Q(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new s.Q(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));r&&(r.modified.endLineNumberExclusive!==i.modified.startLineNumber&&r.original.endLineNumberExclusive!==i.original.startLineNumber||(i=new _.wm(r.original.join(i.original),r.modified.join(i.modified),r.innerChanges&&i.innerChanges?r.innerChanges.concat(i.innerChanges):void 0),o.pop())),o.push(i),r=i}return(0,b.Ft)((()=>(0,b.Xo)(o,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class L{constructor(e,t,i,n,s,o,r,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=n,this.modifiedStartLineNumber=s,this.modifiedStartColumn=o,this.modifiedEndLineNumber=r,this.modifiedEndColumn=a}static createFromDiffChange(e,t,i){const n=t.getStartLineNumber(e.originalStart),s=t.getStartColumn(e.originalStart),o=t.getEndLineNumber(e.originalStart+e.originalLength-1),r=t.getEndColumn(e.originalStart+e.originalLength-1),a=i.getStartLineNumber(e.modifiedStart),l=i.getStartColumn(e.modifiedStart),h=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),d=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new L(n,s,o,r,a,l,h,d)}}class x{constructor(e,t,i,n,s){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=i,this.modifiedEndLineNumber=n,this.charChanges=s}static createFromDiffResult(e,t,i,n,s,o,r){let a,l,h,d,c;if(0===t.originalLength?(a=i.getStartLineNumber(t.originalStart)-1,l=0):(a=i.getStartLineNumber(t.originalStart),l=i.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(h=n.getStartLineNumber(t.modifiedStart)-1,d=0):(h=n.getStartLineNumber(t.modifiedStart),d=n.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),o&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&s()){const o=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=n.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(o.getElements().length>0&&a.getElements().length>0){let e=y(o,a,s,!0).changes;r&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let i=t[0];for(let n=1,s=e.length;n1&&r>1;){if(e.charCodeAt(i-2)!==t.charCodeAt(r-2))break;i--,r--}(i>1||r>1)&&this._pushTrimWhitespaceCharChange(n,s+1,1,i,o+1,1,r)}{let i=I(e,1),r=I(t,1);const a=e.length+1,l=t.length+1;for(;i!0;const t=Date.now();return()=>Date.now()-tnew w,R=()=>new M.D8;var A=i(71386),P=i(13072),O=i(94901);function F(e){const t=[];for(const i of e){const e=Number(i);(e||0===e&&""!==i.replace(/\s/g,""))&&t.push(e)}return t}function W(e,t,i,n){return{red:e/255,blue:i/255,green:t/255,alpha:n}}function B(e,t){const i=t.index,n=t[0].length;if(!i)return;const s=e.positionAt(i);return{startLineNumber:s.lineNumber,startColumn:s.column,endLineNumber:s.lineNumber,endColumn:s.column+n}}function H(e,t){if(!e)return;const i=O.Q1.Format.CSS.parseHex(t);return i?{range:e,color:W(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}:void 0}function V(e,t,i){if(!e||1!==t.length)return;const n=F(t[0].values());return{range:e,color:W(n[0],n[1],n[2],i?n[3]:1)}}function z(e,t,i){if(!e||1!==t.length)return;const n=F(t[0].values()),s=new O.Q1(new O.hB(n[0],n[1]/100,n[2]/100,i?n[3]:1));return{range:e,color:W(s.rgba.r,s.rgba.g,s.rgba.b,s.rgba.a)}}function U(e,t){return"string"==typeof e?[...e.matchAll(t)]:e.findMatches(t)}function K(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],i=U(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/gm);if(i.length>0)for(const n of i){const i=n.filter((e=>void 0!==e)),s=i[1],o=i[2];if(!o)continue;let r;if("rgb"===s){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;r=V(B(e,n),U(o,t),!1)}else if("rgba"===s){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=V(B(e,n),U(o,t),!0)}else if("hsl"===s){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;r=z(B(e,n),U(o,t),!1)}else if("hsla"===s){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=z(B(e,n),U(o,t),!0)}else"#"===s&&(r=H(B(e,n),s+o));r&&t.push(r)}return t}(e):[]}var j=i(99307),$=i(81171);class q{constructor(){this._workerTextModelSyncServer=new $.WorkerTextModelSyncServer}dispose(){}_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,i){const n=this._getModel(e);return n?m.UnicodeTextModelHighlighter.computeUnicodeHighlights(n,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){const i=this._getModel(e);return i?(0,j.findSectionHeaders)(i,t):[]}async $computeDiff(e,t,i,n){const s=this._getModel(e),o=this._getModel(t);if(!s||!o)return null;return G.computeDiff(s,o,i,n)}static computeDiff(e,t,i,n){const s="advanced"===n?R():T(),o=e.getLinesContent(),r=t.getLinesContent(),a=s.computeDiff(o,r,i);function l(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:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:l(a.changes),moves:a.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)]))}}static _modelsAreIdentical(e,t){const i=e.getLineCount();if(i!==t.getLineCount())return!1;for(let n=1;n<=i;n++){if(e.getLineContent(n)!==t.getLineContent(n))return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(e,t,i){const o=this._getModel(e);if(!o)return t;const r=[];let a;t=t.slice(0).sort(((e,t)=>{if(e.range&&t.range)return s.Q.compareRangesUsingStarts(e.range,t.range);return(e.range?0:1)-(t.range?0:1)}));let l=0;for(let n=1;nG._diffLimit){r.push({range:h,text:d});continue}const t=(0,n.F1)(e,d,i),l=o.offsetAt(s.Q.lift(h).getStartPosition());for(const i of t){const e=o.positionAt(l+i.originalStart),t=o.positionAt(l+i.originalStart+i.originalLength),n={text:d.substr(i.modifiedStart,i.modifiedLength),range:{startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:t.lineNumber,endColumn:t.column}};o.getValueInRange(n.range)!==n.text&&r.push(n)}}return"number"==typeof a&&r.push({eol:a,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r}async $computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?d.computeLinks(e):[]}(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?K(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(e,t,i,n){const s=new p.W,o=new RegExp(i,n),r=new Set;e:for(const a of e){const e=this._getModel(a);if(e)for(const i of e.words(o))if(i!==t&&isNaN(Number(i))&&(r.add(i),r.size>G._suggestionsLimit))break e}return{words:Array.from(r),duration:s.elapsed()}}async $computeWordRanges(e,t,i,n){const s=this._getModel(e);if(!s)return Object.create(null);const o=new RegExp(i,n),r=Object.create(null);for(let a=t.startLineNumber;athis._host.$fhr(e,t))),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(s,t),Promise.resolve((0,A.V0)(this._foreignModule))):new Promise(((n,o)=>{const r=e=>{this._foreignModule=e.create(s,t),n((0,A.V0)(this._foreignModule))};{const t=P.zl.asBrowserUri(`${e}.js`).toString(!0);i(9204)(`${t}`).then(r).catch(o)}}))}$fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(i){return Promise.reject(i)}}}function Q(e){return new G(g.EditorWorkerHost.getChannel(e),null)}"function"==typeof importScripts&&(globalThis.monaco=(0,u.createMonacoBaseAPI)())},90304:(e,t,i)=>{i.r(t),i.d(t,{IEditorWorkerService:()=>n});const n=(0,i(82399).u1)("editorWorkerService")},96358:(e,t,i)=>{i.r(t),i.d(t,{EditorWorkerHost:()=>n});class n{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(e){return e.getChannel(n.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(n.CHANNEL_NAME,t)}}},99307:(e,t,i)=>{i.r(t),i.d(t,{findSectionHeaders:()=>o});const n=new RegExp("\\bMARK:\\s*(.*)$","d"),s=/^-+|-+$/g;function o(e,t){let i=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){const n=function(e,t){const i=[],n=e.getLineCount();for(let s=1;s<=n;s++){const n=e.getLineContent(s),o=n.match(t.foldingRules.markers.start);if(o){const e={startLineNumber:s,startColumn:o[0].length+1,endLineNumber:s,endColumn:n.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(n.substring(o[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&i.push(t)}}}return i}(e,t);i=i.concat(n)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],i=e.getLineCount();for(let n=1;n<=i;n++){r(e.getLineContent(n),n,t)}return t}(e);i=i.concat(t)}return i}function r(e,t,i){n.lastIndex=0;const s=n.exec(e);if(s){const e={startLineNumber:t,startColumn:s.indices[1][0]+1,endLineNumber:t,endColumn:s.indices[1][1]+1};if(e.endColumn>e.startColumn){const t={range:e,...a(s[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&i.push(t)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(s,""),hasSeparatorLine:t}}},78148:(e,t,i)=>{i.r(t),i.d(t,{getIconClasses:()=>d});var n=i(13072),s=i(22467),o=i(37264),r=i(54957),a=i(89971),l=i(58881);const h=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function d(e,t,i,d,u){if(l.L.isThemeIcon(u))return[`codicon-${u.id}`,"predefined-file-icon"];if(o.r.isUri(u))return[];const g=d===a.p.ROOT_FOLDER?["rootfolder-icon"]:d===a.p.FOLDER?["folder-icon"]:["file-icon"];if(i){let o;if(i.scheme===n.ny.data){o=s.B6.parseMetaData(i).get(s.B6.META_DATA_LABEL)}else{const e=i.path.match(h);e?(o=c(e[2].toLowerCase()),e[1]&&g.push(`${c(e[1].toLowerCase())}-name-dir-icon`)):o=c(i.authority.toLowerCase())}if(d===a.p.ROOT_FOLDER)g.push(`${o}-root-name-folder-icon`);else if(d===a.p.FOLDER)g.push(`${o}-name-folder-icon`);else{if(o){if(g.push(`${o}-name-file-icon`),g.push("name-file-icon"),o.length<=255){const e=o.split(".");for(let t=1;t{i.r(t),i.d(t,{ILanguageFeatureDebounceService:()=>g,LanguageFeatureDebounceService:()=>_});var n=i(22344),s=i(27992),o=i(62992),r=i(88195),a=i(66726),l=i(82399),h=i(46441),d=i(13072),c=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},u=function(e,t){return function(i,n){t(i,n,e)}};const g=(0,l.u1)("ILanguageFeatureDebounceService");var p;!function(e){const t=new WeakMap;let i=0;e.of=function(e){let n=t.get(e);return void 0===n&&(n=++i,t.set(e,n)),n}}(p||(p={}));class m{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class f{constructor(e,t,i,n,o,r){this._logService=e,this._name=t,this._registry=i,this._default=n,this._min=o,this._max=r,this._cache=new s.qK(50,.7)}_key(e){return e.id+this._registry.all(e).reduce(((e,t)=>(0,n.sN)(p.of(t),e)),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?(0,o.qE)(i.value,this._min,this._max):this.default()}update(e,t){const i=this._key(e);let n=this._cache.get(i);n||(n=new o.mu(6),this._cache.set(i,n));const s=(0,o.qE)(n.update(t),this._min,this._max);return(0,d.v$)(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${s}ms`),s}_overall(){const e=new o.Uq;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){const e=0|this._overall()||this._default;return(0,o.qE)(e,this._min,this._max)}}let _=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,i){const n=i?.min??50,s=i?.max??n**2,o=i?.key??void 0,r=`${p.of(e)},${n}${o?","+o:""}`;let a=this._data.get(r);return a||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),a=new m(1.5*n)):a=new f(this._logService,t,e,0|this._overallAverage()||1.5*n,n,s),this._data.set(r,a)),a}_overallAverage(){const e=new o.Uq;for(const t of this._data.values())e.update(t.default());return e.value}};_=c([u(0,h.rr),u(1,r.k)],_),(0,a.v)(g,_,1)},52230:(e,t,i)=>{i.r(t),i.d(t,{ILanguageFeaturesService:()=>n});const n=(0,i(82399).u1)("ILanguageFeaturesService")},16127:(e,t,i)=>{i.r(t),i.d(t,{LanguageFeaturesService:()=>g});var n=i(2106),s=i(10998),o=i(66055),r=i(74403);function a(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(a):!!e.exclusive)}class l{constructor(e,t,i,n,s){this.uri=e,this.languageId=t,this.notebookUri=i,this.notebookType=n,this.recursive=s}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}}class h{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new n.vl,this.onDidChange=this._onDidChange.event}register(e,t){let i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,s.s)((()=>{if(i){const e=this._entries.indexOf(i);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const i of this._entries)i._score>0&&t.push(i.provider);return t}ordered(e,t=!1){const i=[];return this._orderedForEach(e,t,(e=>i.push(e.provider))),i}orderedGroups(e){const t=[];let i,n;return this._orderedForEach(e,!1,(e=>{i&&n===e._score?i.push(e.provider):(n=e._score,i=[e.provider],t.push(i))})),t}_orderedForEach(e,t,i){this._updateScores(e,t);for(const n of this._entries)n._score>0&&i(n)}_updateScores(e,t){const i=this._notebookInfoResolver?.(e.uri),n=i?new l(e.uri,e.getLanguageId(),i.uri,i.type,t):new l(e.uri,e.getLanguageId(),void 0,void 0,t);if(!this._lastCandidate?.equals(n)){this._lastCandidate=n;for(const i of this._entries)if(i._score=(0,r.f)(i.selector,n.uri,n.languageId,(0,o.vd)(e),n.notebookUri,n.notebookType),a(i.selector)&&i._score>0){if(!t){for(const e of this._entries)e._score=0;i._score=1e3;break}i._score=0}this._entries.sort(h._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:d(e.selector)&&!d(t.selector)?1:!d(e.selector)&&d(t.selector)?-1:e._timet._time?-1:0}}function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(d):Boolean(e.isBuiltin))}var c=i(52230),u=i(66726);class g{constructor(){this.referenceProvider=new h(this._score.bind(this)),this.renameProvider=new h(this._score.bind(this)),this.newSymbolNamesProvider=new h(this._score.bind(this)),this.codeActionProvider=new h(this._score.bind(this)),this.definitionProvider=new h(this._score.bind(this)),this.typeDefinitionProvider=new h(this._score.bind(this)),this.declarationProvider=new h(this._score.bind(this)),this.implementationProvider=new h(this._score.bind(this)),this.documentSymbolProvider=new h(this._score.bind(this)),this.inlayHintsProvider=new h(this._score.bind(this)),this.colorProvider=new h(this._score.bind(this)),this.codeLensProvider=new h(this._score.bind(this)),this.documentFormattingEditProvider=new h(this._score.bind(this)),this.documentRangeFormattingEditProvider=new h(this._score.bind(this)),this.onTypeFormattingEditProvider=new h(this._score.bind(this)),this.signatureHelpProvider=new h(this._score.bind(this)),this.hoverProvider=new h(this._score.bind(this)),this.documentHighlightProvider=new h(this._score.bind(this)),this.multiDocumentHighlightProvider=new h(this._score.bind(this)),this.selectionRangeProvider=new h(this._score.bind(this)),this.foldingRangeProvider=new h(this._score.bind(this)),this.linkProvider=new h(this._score.bind(this)),this.inlineCompletionsProvider=new h(this._score.bind(this)),this.inlineEditProvider=new h(this._score.bind(this)),this.completionProvider=new h(this._score.bind(this)),this.linkedEditingRangeProvider=new h(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new h(this._score.bind(this)),this.documentSemanticTokensProvider=new h(this._score.bind(this)),this.documentDropEditProvider=new h(this._score.bind(this)),this.documentPasteEditProvider=new h(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}}(0,u.v)(c.ILanguageFeaturesService,g,1)},83930:(e,t,i)=>{i.r(t),i.d(t,{LanguageService:()=>d});var n=i(2106),s=i(10998),o=i(66995),r=i(13338),a=i(29694),l=i(54957),h=i(59233);class d extends s.jG{static{this.instanceCount=0}constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new n.vl),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new n.vl),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new n.vl({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,d.instanceCount++,this._registry=this._register(new o.LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){d.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return(0,r.Fy)(i,null)}createById(e){return new c(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new c(this.onDidChange,(()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(i)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=l.vH),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),a.dG.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}class c{constructor(e,t){this._value=(0,h.y0)(this,e,(()=>t())),this.onDidChange=n.Jh.fromObservable(this._value)}get languageId(){return this._value.get()}}},55996:(e,t,i)=>{i.r(t),i.d(t,{clearPlatformLanguageAssociations:()=>p,getLanguageIds:()=>m,registerPlatformLanguageAssociation:()=>g});var n=i(83958),s=i(53720),o=i(13072),r=i(18019),a=i(22467),l=i(16844),h=i(54957);let d=[],c=[],u=[];function g(e,t=!1){!function(e,t,i){const s=function(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?(0,n.qg)(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(r.SA.sep)>=0}}(e,t);d.push(s),s.userConfigured?u.push(s):c.push(s);i&&!s.userConfigured&&d.forEach((e=>{e.mime===s.mime||e.userConfigured||(s.extension&&e.extension===s.extension&&console.warn(`Overwriting extension <<${s.extension}>> to now point to mime <<${s.mime}>>`),s.filename&&e.filename===s.filename&&console.warn(`Overwriting filename <<${s.filename}>> to now point to mime <<${s.mime}>>`),s.filepattern&&e.filepattern===s.filepattern&&console.warn(`Overwriting filepattern <<${s.filepattern}>> to now point to mime <<${s.mime}>>`),s.firstline&&e.firstline===s.firstline&&console.warn(`Overwriting firstline <<${s.firstline}>> to now point to mime <<${s.mime}>>`))}))}(e,!1,t)}function p(){d=d.filter((e=>e.userConfigured)),c=[]}function m(e,t){return function(e,t){let i;if(e)switch(e.scheme){case o.ny.file:i=e.fsPath;break;case o.ny.data:i=a.B6.parseMetaData(e).get(a.B6.META_DATA_LABEL);break;case o.ny.vscodeNotebookCell:i=void 0;break;default:i=e.path}if(!i)return[{id:"unknown",mime:s.K.unknown}];i=i.toLowerCase();const n=(0,r.P8)(i),g=f(i,n,u);if(g)return[g,{id:h.vH,mime:s.K.text}];const p=f(i,n,c);if(p)return[p,{id:h.vH,mime:s.K.text}];if(t){const e=function(e){(0,l.LU)(e)&&(e=e.substr(1));if(e.length>0)for(let t=d.length-1;t>=0;t--){const i=d[t];if(!i.firstline)continue;const n=e.match(i.firstline);if(n&&n.length>0)return i}return}(t);if(e)return[e,{id:h.vH,mime:s.K.text}]}return[{id:"unknown",mime:s.K.unknown}]}(e,t).map((e=>e.id))}function f(e,t,i){let n,s,o;for(let r=i.length-1;r>=0;r--){const a=i[r];if(t===a.filenameLowercase){n=a;break}if(a.filepattern&&(!s||a.filepattern.length>s.filepattern.length)){const i=a.filepatternOnPath?e:t;a.filepatternLowercase?.(i)&&(s=a)}a.extension&&(!o||a.extension.length>o.extension.length)&&t.endsWith(a.extensionLowercase)&&(o=a)}return n||(s||(o||void 0))}},66995:(e,t,i)=>{i.r(t),i.d(t,{LanguageIdCodec:()=>u,LanguagesRegistry:()=>g});var n=i(2106),s=i(10998),o=i(16844),r=i(55996),a=i(54957),l=i(27142),h=i(67167);const d=Object.prototype.hasOwnProperty,c="vs.editor.nullLanguage";class u{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(c,0),this._register(a.vH,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||c}}class g extends s.jG{static{this.instanceCount=0}constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new n.vl),this.onDidChange=this._onDidChange.event,g.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new u,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(a.W6.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){g.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,r.clearPlatformLanguageAssociations)();const e=[].concat(a.W6.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),h.O.as(l.Fd.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let i;d.call(this._languages,t)?i=this._languages[t]:(this.languageIdCodec.register(t),i={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=i),this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let n=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),n=t.mimetypes[0]),n||(n=`text/x-${i}`,e.mimetypes.push(n)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)(0,r.registerPlatformLanguageAssociation)({id:i,mime:n,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const o of t.filenames)(0,r.registerPlatformLanguageAssociation)({id:i,mime:n,filename:o},this._warnOnOverwrite),e.filenames.push(o);if(Array.isArray(t.filenamePatterns))for(const o of t.filenamePatterns)(0,r.registerPlatformLanguageAssociation)({id:i,mime:n,filepattern:o},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);(0,o.eY)(t)||(0,r.registerPlatformLanguageAssociation)({id:i,mime:n,firstline:t},this._warnOnOverwrite)}catch(l){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,l)}}e.aliases.push(i);let s=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(s=0===t.aliases.length?[null]:t.aliases),null!==s)for(const o of s)o&&0!==o.length&&e.aliases.push(o);const a=null!==s&&s.length>0;if(a&&null===s[0]);else{const t=(a?s[0]:null)||i;!a&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&d.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return d.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&d.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?(0,r.getLanguageIds)(e,t):[]}}},80886:(e,t,i)=>{i.r(t),i.d(t,{IMarkerDecorationsService:()=>n});const n=(0,i(82399).u1)("markerDecorationsService")},90011:(e,t,i)=>{i.r(t),i.d(t,{MarkerDecorationsService:()=>_});var n=i(27619),s=i(10998),o=i(66055),r=i(89044),a=i(48295),l=i(64830),h=i(28061),d=i(13072),c=i(2106),u=i(92551),g=i(27992),p=i(88436),m=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},f=function(e,t){return function(i,n){t(i,n,e)}};let _=class extends s.jG{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new c.vl),this._markerDecorations=new g.fT,e.getModels().forEach((e=>this._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new v(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==d.ny.inMemory&&e.uri.scheme!==d.ny.internal&&e.uri.scheme!==d.ny.vscode||this._markerService?.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};_=m([f(0,l.IModelService),f(1,n.DR)],_);class v extends s.jG{constructor(e){super(),this.model=e,this._map=new g.cO,this._register((0,s.s)((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(e){const{added:t,removed:i}=(0,p.Z)(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===i.length)return!1;const n=i.map((e=>this._map.get(e))),s=t.map((e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)}))),o=this.model.deltaDecorations(n,s);for(const r of i)this._map.delete(r);for(let r=0;r=t)return i;const n=e.getWordAtPosition(i.getStartPosition());n&&(i=new h.Q(i.startLineNumber,n.startColumn,i.endLineNumber,n.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&i.startLineNumber===i.endLineNumber){const n=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);n=0}}},64830:(e,t,i)=>{i.r(t),i.d(t,{IModelService:()=>n});const n=(0,i(82399).u1)("modelService")},40931:(e,t,i)=>{i.r(t),i.d(t,{DefaultModelSHA1Computer:()=>L,ModelService:()=>k});var n,s=i(2106),o=i(10998),r=i(63339),a=i(3156),l=i(12590),h=i(54957),d=i(41504),c=i(85753),u=i(38803),g=i(22344),p=i(54296),m=i(13072),f=i(71386),_=i(82399),v=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},b=function(e,t){return function(i,n){t(i,n,e)}};function C(e){return e.toString()}class w{constructor(e,t,i){this.model=e,this._modelEventListeners=new o.Cm,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>i(e,t))))}dispose(){this._modelEventListeners.dispose()}}const y=r.j9||r.zx?1:2;class S{constructor(e,t,i,n,s,o,r,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=n,this.heapSize=s,this.sha1=o,this.versionId=r,this.alternativeVersionId=a}}let k=class extends o.jG{static{n=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(e,t,i,n){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._instantiationService=n,this._onModelAdded=this._register(new s.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new s.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new s.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let i=l.R.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(i=t),i<1&&(i=1)}let n="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(n=Math.max(t,1))}let s=l.R.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let o=y;const r=e.eol;"\r\n"===r?o=2:"\n"===r&&(o=1);let a=l.R.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let h=l.R.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(h="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let d=l.R.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(d="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let c=l.R.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(c={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:i,indentSize:n,insertSpaces:s,detectIndentation:h,defaultEOL:o,trimAutoWhitespace:a,largeFileOptimizations:d,bracketPairColorizationOptions:c}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&"string"==typeof i&&"auto"!==i?i:3===r.OS||2===r.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,i){const s="string"==typeof e?e:e.languageId;let o=this._modelCreationOptionsByLanguageAndResource[s+t];if(!o){const e=this._configurationService.getValue("editor",{overrideIdentifier:s,resource:t}),r=this._getEOL(t,s);o=n._readModelOptions({editor:e,eol:r},i),this._modelCreationOptionsByLanguageAndResource[s+t]=o}return o}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let s=0,o=i.length;se){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,n){const s=this.getCreationOptions(t,i,n),o=this._instantiationService.createInstance(a.Bz,e,t,s,i);if(i&&this._disposedModels.has(C(i))){const e=this._removeDisposedModel(i),t=this._undoRedoService.getElements(i),n=this._getSHA1Computer(),s=!!n.canComputeSHA1(o)&&n.computeSHA1(o)===e.sha1;if(s||e.sharesUndoRedoStack){for(const e of t.past)(0,p.Th)(e)&&e.matchesResource(i)&&e.setModel(o);for(const e of t.future)(0,p.Th)(e)&&e.matchesResource(i)&&e.setModel(o);this._undoRedoService.setElementsValidFlag(i,!0,(e=>(0,p.Th)(e)&&e.matchesResource(i))),s&&(o._overwriteVersionId(e.versionId),o._overwriteAlternativeVersionId(e.alternativeVersionId),o._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const r=C(o.uri);if(this._models[r])throw new Error("ModelService: Cannot add model because it already exists!");const l=new w(o,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[r]=l,l}createModel(e,t,i,n=!1){let s;return s=t?this._createModelData(e,t,i,n):this._createModelData(e,h.vH,i,n),this._onModelAdded.fire(s.model),s.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,n=t.length;i0||t.future.length>0){for(const i of t.past)(0,p.Th)(i)&&i.matchesResource(e.uri)&&(o=!0,r+=i.heapSize(e.uri),i.setModel(e.uri));for(const i of t.future)(0,p.Th)(i)&&i.matchesResource(e.uri)&&(o=!0,r+=i.heapSize(e.uri),i.setModel(e.uri))}}const a=n.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,l=this._getSHA1Computer();if(o)if(s||!(r>a)&&l.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(a-r),this._undoRedoService.setElementsValidFlag(e.uri,!1,(t=>(0,p.Th)(t)&&t.matchesResource(e.uri))),this._insertDisposedModel(new S(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),s,r,l.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=i.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!s){const e=i.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],i.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const i=t.oldLanguage,s=e.getLanguageId(),o=this.getCreationOptions(i,e.uri,e.isForSimpleWidget),r=this.getCreationOptions(s,e.uri,e.isForSimpleWidget);n._setModelOptionsForModel(e,r,o),this._onModelModeChanged.fire({model:e,oldLanguageId:i})}_getSHA1Computer(){return new L}};k=n=v([b(0,c.pG),b(1,d.ITextResourcePropertiesService),b(2,u.$D),b(3,_._Y)],k);class L{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(e){return e.getValueLength()<=L.MAX_MODEL_SIZE}computeSHA1(e){const t=new g.v7,i=e.createSnapshot();let n;for(;n=i.read();)t.update(n);return t.digest()}}},37042:(e,t,i)=>{i.r(t),i.d(t,{ITextModelService:()=>n});const n=(0,i(82399).u1)("textModelService")},19376:(e,t,i)=>{i.r(t),i.d(t,{encodeSemanticTokensDto:()=>o});var n=i(42802),s=i(63339);function o(e){const t=new Uint32Array(function(e){let t=0;if(t+=2,"full"===e.type)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(const i of e.deltas)i.data&&(t+=i.data.length)}return t}(e));let i=0;if(t[i++]=e.id,"full"===e.type)t[i++]=1,t[i++]=e.data.length,t.set(e.data,i),i+=e.data.length;else{t[i++]=2,t[i++]=e.deltas.length;for(const n of e.deltas)t[i++]=n.start,t[i++]=n.deleteCount,n.data?(t[i++]=n.data.length,t.set(n.data,i),i+=n.data.length):t[i++]=0}return function(e){const t=new Uint8Array(e.buffer,e.byteOffset,4*e.length);return s.cm()||function(e){for(let t=0,i=e.length;t{i.r(t),i.d(t,{SemanticTokensProviderStyling:()=>m,toMultilineTokens2:()=>f});i(15910);var n=i(89044),s=i(46441),o=i(15365),r=i(28061),a=i(3902);class l{static create(e,t){return new l(e,new h(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new r.Q(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,i,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber,[n,s,o]=this._tokens.split(t,e.startColumn-1,i,e.endColumn-1);return[new l(this._startLineNumber,n),new l(this._startLineNumber+o,s)]}applyEdit(e,t){const[i,n,s]=(0,a.W)(t);this.acceptEdit(e,i,n,s,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,i,n,s){this._acceptDeleteRange(e),this._acceptInsertText(new o.y(e.startLineNumber,e.startColumn),t,i,n,s),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;if(i<0){const e=i-t;return void(this._startLineNumber-=e)}const n=this._tokens.getMaxDeltaLine();if(!(t>=n+1)){if(t<0&&i>=n+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const n=-t;this._startLineNumber-=n,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,i,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,i,e.endColumn-1)}}_acceptInsertText(e,t,i,n,s){if(0===t&&0===i)return;const o=e.lineNumber-this._startLineNumber;if(o<0)return void(this._startLineNumber+=t);o>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(o,e.column-1,t,i,n,s)}}class h{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let i=0;ie)){let s=n;for(;s>t&&this._getDeltaLine(s-1)===e;)s--;let o=n;for(;oe||d===e&&u>=t)&&(de||r===e&&g>=t){if(rs?p-=s-i:p=i;else if(u===t&&g===i){if(!(u===n&&p>s)){h=!0;continue}p-=s-i}else if(us)){h=!0;continue}u=t,g=i,p=g+(p-s)}else if(u>n){if(0===a&&!h){l=r;break}u-=a}else{if(!(u===n&&g>=s))throw new Error("Not possible!");e&&0===u&&(g+=e,p+=e),u-=a,g-=s-i,p-=s-i}const f=4*l;o[f]=u,o[f+1]=g,o[f+2]=p,o[f+3]=m,l++}this._tokenCount=l}acceptInsertText(e,t,i,n,s,o){const r=0===i&&1===n&&(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122),a=this._tokens,l=this._tokenCount;for(let h=0;h=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},g=function(e,t){return function(i,n){t(i,n,e)}};const p=!1;let m=class{constructor(e,t,i,n){this._legend=e,this._themeService=t,this._languageService=i,this._logService=n,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new v}getMetadata(e,t,i){const n=this._languageService.languageIdCodec.encodeLanguageId(i),s=this._hashTable.get(e,t,n);let o;if(s)o=s.metadata;else{let s=this._legend.tokenTypes[e];const r=[];if(s){let e=t;for(let t=0;e>0&&t>=1;p;const n=this._themeService.getColorTheme().getTokenStyleMetadata(s,r,i);if(void 0===n)o=2147483647;else{if(o=0,void 0!==n.italic){o|=1|(n.italic?1:0)<<11}if(void 0!==n.bold){o|=2|(n.bold?2:0)<<11}if(void 0!==n.underline){o|=4|(n.underline?4:0)<<11}if(void 0!==n.strikethrough){o|=8|(n.strikethrough?8:0)<<11}if(n.foreground){o|=16|n.foreground<<15}0===o&&(o=2147483647)}}else o=2147483647,s="not-in-legend";this._hashTable.add(e,t,n,o)}return o}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,i,n,s){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${i}: The provided start offset ${n} is outside the previous data (length ${s}).`))}};function f(e,t,i){const n=e.data,s=e.data.length/5|0,o=Math.max(Math.ceil(s/1024),400),r=[];let a=0,h=1,d=0;for(;ae&&0===n[5*t];)t--;if(t-1===e){let e=c;for(;e+1l)t.warnOverlappingSemanticTokens(r,l+1);else{const e=t.getMetadata(_,v,i);2147483647!==e&&(0===p&&(p=r),u[g]=r-p,u[g+1]=l,u[g+2]=c,u[g+3]=e,g+=4,m=r,f=c)}h=r,d=l,a++}g!==u.length&&(u=u.subarray(0,g));const _=l.create(p,u);r.push(_)}return r}m=u([g(1,n.Gy),g(2,c.L),g(3,s.rr)],m);class _{constructor(e,t,i,n){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=i,this.metadata=n,this.next=null}}class v{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=v._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=v._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1{i.r(t),i.d(t,{ISemanticTokensStylingService:()=>n});const n=(0,i(82399).u1)("semanticTokensStylingService")},38148:(e,t,i)=>{i.r(t),i.d(t,{SemanticTokensStylingService:()=>u});var n=i(10998),s=i(77922),o=i(89044),r=i(46441),a=i(27642),l=i(82891),h=i(66726),d=function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r},c=function(e,t){return function(i,n){t(i,n,e)}};let u=class extends n.jG{constructor(e,t,i){super(),this._themeService=e,this._logService=t,this._languageService=i,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new a.SemanticTokensProviderStyling(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};u=d([c(0,o.Gy),c(1,r.rr),c(2,s.L)],u),(0,h.v)(l.ISemanticTokensStylingService,u,1)},81171:(e,t,i)=>{i.r(t),i.d(t,{MirrorModel:()=>m,STOP_SYNC_MODEL_DELTA_TIME_MS:()=>u,WorkerTextModelSyncClient:()=>g,WorkerTextModelSyncServer:()=>p});var n=i(65958),s=i(10998),o=i(37264),r=i(15365),a=i(28061),l=i(18782),h=i(16844),d=i(56158);class c{constructor(e,t,i,n){this._uri=e,this._lines=t,this._eol=i,this._versionId=n,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const i of t)this._acceptDeleteRange(i.range),this._acceptInsertText(new r.y(i.range.startLineNumber,i.range.startColumn),i.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,i=new Uint32Array(t);for(let n=0;nthis._checkStopModelSync()),Math.round(u/2)),this._register(e)}}dispose(){for(const e in this._syncedModels)(0,s.AS)(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const i of e){const e=i.toString();this._syncedModels[e]||this._beginModelSync(i,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const i in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[i]>u&&t.push(i)}for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i)return;if(!t&&i.isTooLargeForSyncing())return;const n=e.toString();this._proxy.$acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const o=new s.Cm;o.add(i.onDidChangeContent((e=>{this._proxy.$acceptModelChanged(n.toString(),e)}))),o.add(i.onWillDispose((()=>{this._stopModelSync(n)}))),o.add((0,s.s)((()=>{this._proxy.$acceptRemovedModel(n)}))),this._syncedModels[n]=o}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],(0,s.AS)(t)}}class p{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}$acceptNewModel(e){this._models[e.url]=new m(o.r.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class m extends c{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;ithis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,n=!0;else{const e=this._lines[t-1].length+1;i<1?(i=1,n=!0):i>e&&(i=e,n=!0)}return n?{lineNumber:t,column:i}:e}}},41504:(e,t,i)=>{i.r(t),i.d(t,{ITextResourceConfigurationService:()=>s,ITextResourcePropertiesService:()=>o});var n=i(82399);const s=(0,n.u1)("textResourceConfigurationService"),o=(0,n.u1)("textResourcePropertiesService")},35320:(e,t,i)=>{i.r(t),i.d(t,{ITreeSitterParserService:()=>n});const n=(0,i(82399).u1)("treeSitterParserService")},2603:(e,t,i)=>{i.r(t),i.d(t,{DraggedTreeItemsIdentifier:()=>s,TreeViewsDnDService:()=>n});class n{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class s{constructor(e){this.identifier=e}}},26756:(e,t,i)=>{i.r(t),i.d(t,{ITreeViewsDnDService:()=>r});var n=i(66726),s=i(82399),o=i(2603);const r=(0,s.u1)("treeViewsDndService");(0,n.v)(r,o.TreeViewsDnDService,1)},49887:(e,t,i)=>{i.r(t),i.d(t,{UnicodeTextModelHighlighter:()=>l});var n=i(28061),s=i(104),o=i(16844),r=i(87110),a=i(18782);class l{static computeUnicodeHighlights(e,t,i){const l=i?i.startLineNumber:1,d=i?i.endLineNumber:e.getLineCount(),c=new h(t),u=c.getCandidateCodePoints();let g;var p;g="allNonBasicAscii"===u?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(""+(p=Array.from(u),`[${o.bm(p.map((e=>String.fromCodePoint(e))).join(""))}]`),"g");const m=new s.W5(null,g),f=[];let _,v=!1,b=0,C=0,w=0;e:for(let s=l,h=d;s<=h;s++){const t=e.getLineContent(s),i=t.length;m.reset(0);do{if(_=m.next(t),_){let e=_.index,l=_.index+_[0].length;if(e>0){const i=t.charCodeAt(e-1);o.pc(i)&&e--}if(l+1=t){v=!0;break e}f.push(new n.Q(s,e+1,s,l+1))}}}while(_)}return{ranges:f,hasMore:v,ambiguousCharacterCount:b,invisibleCharacterCount:C,nonBasicAsciiCharacterCount:w}}static computeUnicodeHighlightReason(e,t){const i=new h(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const n=e.codePointAt(0),s=i.ambiguousCharacters.getPrimaryConfusable(n),r=o.tl.getLocales().filter((e=>!o.tl.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(n)));return{kind:0,confusableWith:String.fromCodePoint(s),notAmbiguousInLocales:r}}case 1:return{kind:2}}}}class h{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=o.tl.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of o.y_.codePoints)d(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let n=!1,s=!1;if(t)for(const r of t){const e=r.codePointAt(0),t=o.aC(r);n=n||t,t||this.ambiguousCharacters.isAmbiguous(e)||o.y_.isInvisibleCharacter(e)||(s=!0)}return!n&&s?0:this.options.invisibleCharacters&&!d(e)&&o.y_.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function d(e){return" "===e||"\n"===e||"\t"===e}},42783:(e,t,i)=>{var n,s,o,r,a,l,h,d,c,u,g,p,m,f,_,v,b,C,w,y,S,k,L,x,D,N,I,E,M,T,R,A,P,O,F,W,B,H,V,z,U,K,j,$,q,G;i.d(t,{A5:()=>R,Ah:()=>A,DD:()=>k,DO:()=>O,Gn:()=>n,H_:()=>K,Ic:()=>P,Io:()=>r,Kb:()=>u,M$:()=>v,OV:()=>E,QP:()=>a,Qj:()=>h,R3:()=>D,SB:()=>H,U7:()=>j,VW:()=>C,VX:()=>N,WA:()=>z,WU:()=>f,XR:()=>B,YT:()=>M,ZS:()=>_,_E:()=>o,cj:()=>L,dE:()=>T,d_:()=>x,e0:()=>g,h5:()=>d,hS:()=>I,hW:()=>F,jT:()=>V,kK:()=>q,kf:()=>m,l:()=>b,m9:()=>$,of:()=>c,ok:()=>s,ov:()=>W,p2:()=>p,qw:()=>y,r4:()=>w,sm:()=>S,t7:()=>l,tJ:()=>G,v0:()=>U}),function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(n||(n={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(s||(s={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(o||(o={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(r||(r={})),function(e){e[e.Deprecated=1]="Deprecated"}(a||(a={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(l||(l={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(h||(h={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(d||(d={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(c||(c={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(u||(u={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(g||(g={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.placeholder=88]="placeholder",e[e.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",e[e.quickSuggestions=90]="quickSuggestions",e[e.quickSuggestionsDelay=91]="quickSuggestionsDelay",e[e.readOnly=92]="readOnly",e[e.readOnlyMessage=93]="readOnlyMessage",e[e.renameOnType=94]="renameOnType",e[e.renderControlCharacters=95]="renderControlCharacters",e[e.renderFinalNewline=96]="renderFinalNewline",e[e.renderLineHighlight=97]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=99]="renderValidationDecorations",e[e.renderWhitespace=100]="renderWhitespace",e[e.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",e[e.roundedSelection=102]="roundedSelection",e[e.rulers=103]="rulers",e[e.scrollbar=104]="scrollbar",e[e.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=106]="scrollBeyondLastLine",e[e.scrollPredominantAxis=107]="scrollPredominantAxis",e[e.selectionClipboard=108]="selectionClipboard",e[e.selectionHighlight=109]="selectionHighlight",e[e.selectOnLineNumbers=110]="selectOnLineNumbers",e[e.showFoldingControls=111]="showFoldingControls",e[e.showUnused=112]="showUnused",e[e.snippetSuggestions=113]="snippetSuggestions",e[e.smartSelect=114]="smartSelect",e[e.smoothScrolling=115]="smoothScrolling",e[e.stickyScroll=116]="stickyScroll",e[e.stickyTabStops=117]="stickyTabStops",e[e.stopRenderingLineAfter=118]="stopRenderingLineAfter",e[e.suggest=119]="suggest",e[e.suggestFontSize=120]="suggestFontSize",e[e.suggestLineHeight=121]="suggestLineHeight",e[e.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",e[e.suggestSelection=123]="suggestSelection",e[e.tabCompletion=124]="tabCompletion",e[e.tabIndex=125]="tabIndex",e[e.unicodeHighlighting=126]="unicodeHighlighting",e[e.unusualLineTerminators=127]="unusualLineTerminators",e[e.useShadowDOM=128]="useShadowDOM",e[e.useTabStops=129]="useTabStops",e[e.wordBreak=130]="wordBreak",e[e.wordSegmenterLocales=131]="wordSegmenterLocales",e[e.wordSeparators=132]="wordSeparators",e[e.wordWrap=133]="wordWrap",e[e.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=136]="wordWrapColumn",e[e.wordWrapOverride1=137]="wordWrapOverride1",e[e.wordWrapOverride2=138]="wordWrapOverride2",e[e.wrappingIndent=139]="wrappingIndent",e[e.wrappingStrategy=140]="wrappingStrategy",e[e.showDeprecated=141]="showDeprecated",e[e.inlayHints=142]="inlayHints",e[e.editorClassName=143]="editorClassName",e[e.pixelRatio=144]="pixelRatio",e[e.tabFocusMode=145]="tabFocusMode",e[e.layoutInfo=146]="layoutInfo",e[e.wrappingInfo=147]="wrappingInfo",e[e.defaultColorDecorators=148]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"}(p||(p={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(m||(m={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(f||(f={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(_||(_={})),function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(v||(v={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(b||(b={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(C||(C={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(w||(w={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(y||(y={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(S||(S={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(k||(k={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(L||(L={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(x||(x={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(D||(D={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(N||(N={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(I||(I={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(E||(E={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(M||(M={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(T||(T={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(R||(R={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(A||(A={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(P||(P={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(O||(O={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(F||(F={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(W||(W={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(B||(B={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(H||(H={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(V||(V={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(z||(z={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(U||(U={})),function(e){e[e.Deprecated=1]="Deprecated"}(K||(K={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(j||(j={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}($||($={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(q||(q={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(G||(G={}))},83455:(e,t,i)=>{i.d(t,{E$:()=>r,HP:()=>h,Ic:()=>c,U0:()=>o,Wn:()=>n,bg:()=>a,mS:()=>l,uK:()=>s,vn:()=>d});class n{constructor(){this.changeType=1}}class s{static applyInjectedText(e,t){if(!t||0===t.length)return e;let i="",n=0;for(const s of t)i+=e.substring(n,s.column-1),n=s.column-1,i+=s.options.content;return i+=e.substring(n),i}static fromDecorations(e){const t=[];for(const i of e)i.options.before&&i.options.before.content.length>0&&t.push(new s(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new s(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}constructor(e,t,i,n,s){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=n,this.order=s}}class o{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class r{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class a{constructor(e,t,i,n){this.changeType=4,this.injectedTexts=n,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class l{constructor(){this.changeType=5}}class h{constructor(e,t,i,n){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=n,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;t{var n;i.d(t,{N6:()=>n,TH:()=>s,pv:()=>o}),function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(n||(n={}));class s{constructor(e,t,i,n,s,o){if(this.visibleColumn=e,this.column=t,this.className=i,this.horizontalLine=n,this.forWrappedLinesAfterColumn=s,this.forWrappedLinesBeforeOrAtColumn=o,-1!==e==(-1!==t))throw new Error}}class o{constructor(e,t){this.top=e,this.endColumn=t}}},57445:(e,t,i)=>{i.d(t,{T:()=>r,f:()=>s});var n=i(15910);class s{static{this.defaultTokenMetadata=33587200}static createEmpty(e,t){const i=s.defaultTokenMetadata,n=new Uint32Array(2);return n[0]=e.length,n[1]=i,new s(n,e,t)}static createFromTextAndMetadata(e,t){let i=0,n="";const o=new Array;for(const{text:s,metadata:r}of e)o.push(i+s.length,r),i+=s.length,n+=s;return new s(new Uint32Array(o),n,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=i}equals(e){return e instanceof s&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,i){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const n=t<<1,s=n+(i<<1);for(let o=n;o0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],i=n.x.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return n.x.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return n.x.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return n.x.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[1+(e<<1)];return n.x.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return n.x.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return s.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new o(this,e,t,i)}static convertToEndOffset(e,t){const i=(e.length>>>1)-1;for(let n=0;n>>1)-1;for(;it&&(n=s)}return i}withInserted(e){if(0===e.length)return this;let t=0,i=0,n="";const o=new Array;let r=0;for(;;){const s=tr){n+=this._text.substring(r,a.offset);const e=this._tokens[1+(t<<1)];o.push(n.length,e),r=a.offset}n+=a.text,o.push(n.length,a.tokenMetadata),i++}}return new s(new Uint32Array(o),n,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),i=this.getEndOffset(e);return this._text.substring(t,i)}forEach(e){const t=this.getCount();for(let i=0;i=i)break;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(e){return e instanceof o&&(this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._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){const 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){const t=this._firstTokenIndex+e,i=this._source.getStartOffset(t),n=this._source.getEndOffset(t);let s=this._source.getTokenText(t);return ithis._endOffset&&(s=s.substring(0,s.length-(n-this._endOffset))),s}forEach(e){for(let t=0;t{function n(){return globalThis._VSCODE_NLS_MESSAGES}function s(){return globalThis._VSCODE_NLS_LANGUAGE}i.d(t,{i8:()=>s,Ec:()=>n,kg:()=>a,aS:()=>h});const o="pseudo"===s()||"undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function r(e,t){let i;return i=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,i)=>{const n=i[0],s=t[n];let o=e;return"string"==typeof s?o=s:"number"!=typeof s&&"boolean"!=typeof s&&null!=s||(o=String(s)),o})),o&&(i="\uff3b"+i.replace(/[aouei]/g,"$&$&")+"\uff3d"),i}function a(e,t,...i){return r("number"==typeof e?l(e,t):t,i)}function l(e,t){const i=n()?.[e];if("string"!=typeof i){if("string"==typeof t)return t;throw new Error(`!!! NLS MISSING: ${e} !!!`)}return i}function h(e,t,...i){let n;n="number"==typeof e?l(e,t):t;const s=r(n,i);return{value:s,original:t===n?s:r(t,i)}}},85753:(e,t,i)=>{i.d(t,{Mo:()=>h,ad:()=>s,gD:()=>l,iB:()=>r,kW:()=>o,pG:()=>n});const n=(0,i(82399).u1)("configurationService");function s(e,t){const i=Object.create(null);for(const n in e)o(i,n,e[n],t);return i}function o(e,t,i,n){const s=t.split("."),o=s.pop();let r=e;for(let l=0;l{i.d(t,{Fd:()=>d,Gv:()=>S,rC:()=>y});var n=i(13338),s=i(2106),o=i(79359),r=i(87289),a=i(85753),l=i(51460),h=i(67167);const d={Configuration:"base.contributions.configuration"},c={properties:{},patternProperties:{}},u={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},m={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},_="vscode://schemas/settings/resourceLanguage",v=h.O.as(l.F.JSONContribution);const b="\\[([^\\]]+)\\]",C=new RegExp(b,"g"),w=`^(${b})+$`,y=new RegExp(w);function S(e){const t=[];if(y.test(e)){let i=C.exec(e);for(;i?.length;){const n=i[1].trim();n&&t.push(n),i=C.exec(e)}}return(0,n.dM)(t)}const k=new class{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new s.vl,this._onDidUpdateConfiguration=new s.vl,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:r.kg("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},v.registerSchema(_,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),v.registerSchema(_,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);const i=[];for(const{overrides:n,source:s}of e)for(const e in n){t.add(e);const o=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),r=n[e];if(o.configurationDefaultOverrides.push({value:r,source:s}),y.test(e)){const t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,r,s,o.configurationDefaultOverrideValue);if(!t)continue;o.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,s),i.push(...S(e))}else{const t=this.mergeDefaultConfigurationsForConfigurationProperty(e,r,s,o.configurationDefaultOverrideValue);if(!t)continue;o.configurationDefaultOverrideValue=t;const i=this.configurationProperties[e];i&&(this.updatePropertyDefaultValue(e,i),this.updateSchema(e,i))}}this.doRegisterOverrideIdentifiers(i)}updateDefaultOverrideProperty(e,t,i){const n={type:"object",default:t.value,description:r.kg("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",(0,a.Mo)(e)),$ref:_,defaultDefaultValue:t.value,source:i,defaultValueSource:i};this.configurationProperties[e]=n,this.defaultLanguageConfigurationOverridesNode.properties[e]=n}mergeDefaultConfigurationsForOverrideIdentifier(e,t,i,n){const s=n?.value||{},r=n?.source??new Map;if(r instanceof Map){for(const e of Object.keys(t)){const n=t[e];if(o.Gv(n)&&(o.b0(s[e])||o.Gv(s[e]))){if(s[e]={...s[e]??{},...n},i)for(const t in n)r.set(`${e}.${t}`,i)}else s[e]=n,i?r.set(e,i):r.delete(e)}return{value:s,source:r}}console.error("objectConfigurationSources is not a Map")}mergeDefaultConfigurationsForConfigurationProperty(e,t,i,n){const s=this.configurationProperties[e],r=n?.value??s?.defaultDefaultValue;let a=i;if(o.Gv(t)&&(void 0!==s&&"object"===s.type||void 0===s&&(o.b0(r)||o.Gv(r)))){if(a=n?.source??new Map,!(a instanceof Map))return void console.error("defaultValueSource is not a Map");for(const n in t)i&&a.set(`${e}.${n}`,i);t={...o.Gv(r)?r:{},...t}}return{value:t,source:a}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach((e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,i),this.configurationContributors.push(e),this.registerJSONConfiguration(e)}))}validateAndRegisterProperties(e,t=!0,i,n,s=3,r){s=o.z(e.scope)?s:e.scope;const a=e.properties;if(a)for(const h in a){const e=a[h];t&&L(h,e)?delete a[h]:(e.source=i,e.defaultDefaultValue=a[h].default,this.updatePropertyDefaultValue(h,e),y.test(h)?e.scope=void 0:(e.scope=o.z(e.scope)?s:e.scope,e.restricted=o.z(e.restricted)?!!n?.includes(h):e.restricted),!a[h].hasOwnProperty("included")||a[h].included?(this.configurationProperties[h]=a[h],a[h].policy?.name&&this.policyConfigurations.set(a[h].policy.name,h),!a[h].deprecationMessage&&a[h].markdownDeprecationMessage&&(a[h].deprecationMessage=a[h].markdownDeprecationMessage),r.add(h)):(this.excludedConfigurationProperties[h]=a[h],delete a[h]))}const l=e.allOf;if(l)for(const o of l)this.validateAndRegisterProperties(o,t,i,n,s,r)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const i=e.properties;if(i)for(const t in i)this.updateSchema(t,i[t]);const n=e.allOf;n?.forEach(t)};t(e)}updateSchema(e,t){switch(c.properties[e]=t,t.scope){case 1:u.properties[e]=t;break;case 2:g.properties[e]=t;break;case 6:p.properties[e]=t;break;case 3:m.properties[e]=t;break;case 4:f.properties[e]=t;break;case 5:f.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:r.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:r.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:_};this.updatePropertyDefaultValue(t,i),c.properties[t]=i,u.properties[t]=i,g.properties[t]=i,p.properties[t]=i,m.properties[t]=i,f.properties[t]=i}}registerOverridePropertyPatternKey(){const e={type:"object",description:r.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:r.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:_};c.patternProperties[w]=e,u.patternProperties[w]=e,g.patternProperties[w]=e,p.patternProperties[w]=e,m.patternProperties[w]=e,f.patternProperties[w]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue;let n,s;!i||t.disallowConfigurationDefault&&i.source||(n=i.value,s=i.source),o.b0(n)&&(n=t.defaultDefaultValue,s=void 0),o.b0(n)&&(n=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=n,t.defaultValueSource=s}};function L(e,t){return e.trim()?y.test(e)?r.kg("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==k.getConfigurationProperties()[e]?r.kg("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):t.policy?.name&&void 0!==k.getPolicyConfigurations().get(t.policy?.name)?r.kg("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,t.policy?.name,k.getPolicyConfigurations().get(t.policy?.name)):null:r.kg("config.property.empty","Cannot register an empty property")}h.O.add(d.Configuration,k)},17474:(e,t,i)=>{i.d(t,{f1:()=>E,M$:()=>k,fN:()=>$,N1:()=>j,jQ:()=>L,M0:()=>Q});var n=i(63339),s=i(16844),o=i(94327),r=i(87289);function a(...e){switch(e.length){case 1:return(0,r.kg)("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",e[0]);case 2:return(0,r.kg)("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",e[0],e[1]);case 3:return(0,r.kg)("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}const l=(0,r.kg)("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),h=(0,r.kg)("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class d{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw(0,o.iH)(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map((e=>e.charCodeAt(0))))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();){this._start=this._current;switch(this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(a("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(a("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(a("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return!this._isAtEnd()&&(this._input.charCodeAt(this._current)===e&&(this._current++,!0))}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),n={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(n)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=d._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(l):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length)return this._current=e,void this._error(h);const n=this._input.charCodeAt(e);if(t)t=!1;else{if(47===n&&!i){e++;break}91===n?i=!0:92===n?t=!0:93===n&&(i=!1)}e++}for(;e=this._input.length}}var c=i(82399);const u=new Map;u.set("false",!1),u.set("true",!0),u.set("isMac",n.zx),u.set("isLinux",n.j9),u.set("isWindows",n.uF),u.set("isWeb",n.HZ),u.set("isMacNative",n.zx&&!n.HZ),u.set("isEdge",n.UP),u.set("isFirefox",n.gm),u.set("isChrome",n.H8),u.set("isSafari",n.nr);const g=Object.prototype.hasOwnProperty,p={regexParsingWithErrorRecovery:!0},m=(0,r.kg)("contextkey.parser.error.emptyString","Empty context key expression"),f=(0,r.kg)("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),_=(0,r.kg)("contextkey.parser.error.noInAfterNot","'in' after 'not'."),v=(0,r.kg)("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),b=(0,r.kg)("contextkey.parser.error.unexpectedToken","Unexpected token"),C=(0,r.kg)("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),w=(0,r.kg)("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),y=(0,r.kg)("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");class S{static{this._parseError=new Error}constructor(e=p){this._config=e,this._scanner=new d,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(""!==e){this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),t=17===e.type?C:void 0;throw this._parsingErrors.push({message:b,offset:e.offset,lexeme:d.getLexeme(e),additionalInfo:t}),S._parseError}return e}catch(t){if(t!==S._parseError)throw t;return}}else this._parsingErrors.push({message:m,offset:0,lexeme:"",additionalInfo:f})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:k.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:k.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),D.INSTANCE;case 12:return this._advance(),N.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,v),e?.negate()}case 17:return this._advance(),A.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),k.true();case 12:return this._advance(),k.false();case 0:{this._advance();const e=this._expr();return this._consume(1,v),e}case 17:{const n=e.lexeme;if(this._advance(),this._matchOne(9)){const e=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==e.type)throw this._errExpectedButGot("REGEX",e);const i=e.lexeme,s=i.lastIndexOf("/"),o=s===i.length-1?void 0:this._removeFlagsGY(i.substring(s+1));let r;try{r=new RegExp(i.substring(1,s),o)}catch(t){throw this._errExpectedButGot("REGEX",e)}return H.create(n,r)}switch(e.type){case 10:case 19:{const i=[e.lexeme];this._advance();let s=this._peek(),o=0;for(let t=0;t=0){const r=t.slice(n+1,s),a="i"===t[s+1]?"i":"";try{o=new RegExp(r,a)}catch(i){throw this._errExpectedButGot("REGEX",e)}}}if(null===o)throw this._errExpectedButGot("REGEX",e);return H.create(n,o)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,_);const e=this._value();return k.notIn(n,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return k.equals(n,e);switch(e){case"true":return k.has(n);case"false":return k.not(n);default:return k.equals(n,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return k.notEquals(n,e);switch(e){case"true":return k.not(n);case"false":return k.has(n);default:return k.notEquals(n,e)}}case 5:return this._advance(),W.create(n,this._value());case 6:return this._advance(),B.create(n,this._value());case 7:return this._advance(),O.create(n,this._value());case 8:return this._advance(),F.create(n,this._value());case 13:return this._advance(),k.in(n,this._value());default:return k.has(n)}}case 20:throw this._parsingErrors.push({message:w,offset:e.offset,lexeme:"",additionalInfo:y}),S._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const n=(0,r.kg)("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,d.getLexeme(t)),s=t.offset,o=d.getLexeme(t);return this._parsingErrors.push({message:n,offset:s,lexeme:o,additionalInfo:i}),S._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}class k{static false(){return D.INSTANCE}static true(){return N.INSTANCE}static has(e){return I.create(e)}static equals(e,t){return E.create(e,t)}static notEquals(e,t){return R.create(e,t)}static regex(e,t){return H.create(e,t)}static in(e,t){return M.create(e,t)}static notIn(e,t){return T.create(e,t)}static not(e){return A.create(e)}static and(...e){return U.create(e,null,!0)}static or(...e){return K.create(e,null,!0)}static{this._parser=new S({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(null==e)return;return this._parser.parse(e)}}function L(e,t){const i=e?e.substituteConstants():void 0,n=t?t.substituteConstants():void 0;return!i&&!n||!(!i||!n)&&i.equals(n)}function x(e,t){return e.cmp(t)}class D{static{this.INSTANCE=new D}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return N.INSTANCE}}class N{static{this.INSTANCE=new N}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return D.INSTANCE}}class I{static create(e,t=null){const i=u.get(e);return"boolean"==typeof i?i?N.INSTANCE:D.INSTANCE:new I(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:q(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=u.get(this.key);return"boolean"==typeof e?e?N.INSTANCE:D.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=A.create(this.key,this)),this.negated}}class E{static create(e,t,i=null){if("boolean"==typeof t)return t?I.create(e,i):A.create(e,i);const n=u.get(e);if("boolean"==typeof n){return t===(n?"true":"false")?N.INSTANCE:D.INSTANCE}return new E(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=u.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?N.INSTANCE:D.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=R.create(this.key,this.value,this)),this.negated}}class M{static create(e,t){return new M(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&(this.key===e.key&&this.valueKey===e.valueKey)}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):"string"==typeof i&&"object"==typeof t&&null!==t&&g.call(t,i)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=T.create(this.key,this.valueKey)),this.negated}}class T{static create(e,t){return new T(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=M.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class R{static create(e,t,i=null){if("boolean"==typeof t)return t?A.create(e,i):I.create(e,i);const n=u.get(e);if("boolean"==typeof n){return t===(n?"true":"false")?D.INSTANCE:N.INSTANCE}return new R(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=u.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?D.INSTANCE:N.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=E.create(this.key,this.value,this)),this.negated}}class A{static create(e,t=null){const i=u.get(e);return"boolean"==typeof i?i?D.INSTANCE:N.INSTANCE:new A(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:q(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=u.get(this.key);return"boolean"==typeof e?e?D.INSTANCE:N.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=I.create(this.key,this)),this.negated}}function P(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):D.INSTANCE}class O{static create(e,t,i=null){return P(t,(t=>new O(e,t,i)))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=B.create(this.key,this.value,this)),this.negated}}class F{static create(e,t,i=null){return P(t,(t=>new F(e,t,i)))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=W.create(this.key,this.value,this)),this.negated}}class W{static create(e,t,i=null){return P(t,(t=>new W(e,t,i)))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))new B(e,t,i)))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:G(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=O.create(this.key,this.value,this)),this.negated}}class H{static create(e,t){return new H(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=V.create(this)),this.negated}}class V{static create(e){return new V(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function z(e){let t=null;for(let i=0,n=e.length;ie.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const e=n[n.length-1];if(9!==e.type)break;n.pop();const t=n.pop(),s=0===n.length,o=K.create(e.expr.map((e=>U.create([e,t],null,i))),null,s);o&&(n.push(o),n.sort(x))}if(1===n.length)return n[0];if(i){for(let e=0;ee.serialize())).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=K.create(e,this,!0)}return this.negated}}class K{static create(e,t,i){return K._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize())).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),n=[];for(const e of Z(t))for(const t of Z(i))n.push(U.create([e,t],null,!1));e.unshift(K.create(n,null,!1))}this.negated=K.create(e,this,!0)}return this.negated}}class j extends I{static{this._info=[]}static all(){return j._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,"object"==typeof i?j._info.push({...i,key:e}):!0!==i&&j._info.push({key:e,description:i,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return E.create(this.key,e)}}const $=(0,c.u1)("contextKeyService");function q(e,t){return et?1:0}function G(e,t,i,n){return ei?1:tn?1:0}function Q(e,t){if(0===e.type||1===t.type)return!0;if(9===e.type)return 9===t.type&&Y(e.expr,t.expr);if(9===t.type){for(const i of t.expr)if(Q(e,i))return!0;return!1}if(6===e.type){if(6===t.type)return Y(t.expr,e.expr);for(const i of e.expr)if(Q(i,t))return!0;return!1}return e.equals(t)}function Y(e,t){let i=0,n=0;for(;i{i.d(t,{k:()=>n});const n=(0,i(82399).u1)("environmentService")},89971:(e,t,i)=>{var n;i.d(t,{p:()=>n}),function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(n||(n={}))},83312:(e,t,i)=>{i.d(t,{d:()=>n});class n{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}},66726:(e,t,i)=>{i.d(t,{N:()=>r,v:()=>o});var n=i(83312);const s=[];function o(e,t,i){t instanceof n.d||(t=new n.d(t,[],Boolean(i))),s.push([e,t])}function r(){return s}},82399:(e,t,i)=>{var n;i.d(t,{_$:()=>n,_Y:()=>s,u1:()=>o}),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(n||(n={}));const s=o("instantiationService");function o(e){if(n.serviceIds.has(e))return n.serviceIds.get(e);const t=function(e,i,s){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,i){t[n.DI_TARGET]===t?t[n.DI_DEPENDENCIES].push({id:e,index:i}):(t[n.DI_DEPENDENCIES]=[{id:e,index:i}],t[n.DI_TARGET]=t)}(t,e,s)};return t.toString=()=>e,n.serviceIds.set(e,t),t}},51460:(e,t,i)=>{i.d(t,{F:()=>o});var n=i(2106),s=i(67167);const o={JSONContribution:"base.contributions.json"};const r=new class{constructor(){this._onDidChangeSchema=new n.vl,this.schemasById={}}registerSchema(e,t){var i;this.schemasById[(i=e,i.length>0&&"#"===i.charAt(i.length-1)?i.substring(0,i.length-1):i)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};s.O.add(o.JSONContribution,r)},46441:(e,t,i)=>{i.d(t,{$b:()=>a,Cr:()=>d,Dk:()=>c,rr:()=>r});var n=i(2106),s=i(10998),o=i(17474);const r=(0,i(82399).u1)("logService");var a;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(a||(a={}));const l=a.Info;class h extends s.jG{constructor(){super(...arguments),this.level=l,this._onDidChangeLogLevel=this._register(new n.vl),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==a.Off&&this.level<=e}}class d extends h{constructor(e=l,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(a.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(a.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(a.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(a.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(a.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}}class c extends h{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}new o.N1("logLevel",function(e){switch(e){case a.Trace:return"trace";case a.Debug:return"debug";case a.Info:return"info";case a.Warning:return"warn";case a.Error:return"error";case a.Off:return"off"}}(a.Info))},27619:(e,t,i)=>{i.d(t,{DR:()=>l,cj:()=>n,oc:()=>s});var n,s,o=i(66459),r=i(87289),a=i(82399);!function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(n||(n={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=(0,r.kg)("sev.error","Error"),t[e.Warning]=(0,r.kg)("sev.warning","Warning"),t[e.Info]=(0,r.kg)("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case o.A.Error:return e.Error;case o.A.Warning:return e.Warning;case o.A.Info:return e.Info;case o.A.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return o.A.Error;case e.Warning:return o.A.Warning;case e.Info:return o.A.Info;case e.Hint:return o.A.Ignore}}}(n||(n={})),function(e){const t="";function i(e,i){const s=[t];return e.source?s.push(e.source.replace("\xa6","\\\xa6")):s.push(t),e.code?"string"==typeof e.code?s.push(e.code.replace("\xa6","\\\xa6")):s.push(e.code.value.replace("\xa6","\\\xa6")):s.push(t),void 0!==e.severity&&null!==e.severity?s.push(n.toString(e.severity)):s.push(t),e.message&&i?s.push(e.message.replace("\xa6","\\\xa6")):s.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?s.push(e.startLineNumber.toString()):s.push(t),void 0!==e.startColumn&&null!==e.startColumn?s.push(e.startColumn.toString()):s.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?s.push(e.endLineNumber.toString()):s.push(t),void 0!==e.endColumn&&null!==e.endColumn?s.push(e.endColumn.toString()):s.push(t),s.push(t),s.join("\xa6")}e.makeKey=function(e){return i(e,!0)},e.makeKeyOptionalMessage=i}(s||(s={}));const l=(0,a.u1)("markerService")},67167:(e,t,i)=>{i.d(t,{O:()=>o});var n=i(87110),s=i(79359);const o=new class{constructor(){this.data=new Map}add(e,t){n.ok(s.Kg(e)),n.ok(s.Gv(t)),n.ok(!this.data.has(e),"There is already an extension with this id"),this.data.set(e,t)}as(e){return this.data.get(e)||null}}},92551:(e,t,i)=>{i.d(t,{FdG:()=>n.Fd,buw:()=>d,GuP:()=>n.Gu,Bbc:()=>n.Bb,HP_:()=>n.HP,WMx:()=>u,zRE:()=>g,sAS:()=>he,vV$:()=>ae,etE:()=>le,mc0:()=>re,XJc:()=>Xe,raQ:()=>et,G_h:()=>Ye,T9h:()=>Je,xOA:()=>it,Inn:()=>tt,nZG:()=>nt,Q1$:()=>Ze,OcU:()=>ct,C5U:()=>gt,t0B:()=>ut,b1q:()=>h,EY1:()=>Z,ZEf:()=>X,Gj6:()=>J,ld8:()=>te,$BZ:()=>ie,GNm:()=>ee,Ztu:()=>T,YtV:()=>b,AN$:()=>L,Rbi:()=>k,f3U:()=>F,Ubg:()=>W,ECk:()=>H,p8Y:()=>B,S5J:()=>V,By2:()=>C,i61:()=>M,WfR:()=>z,oZ8:()=>U,tan:()=>P,IIb:()=>E,pOz:()=>I,WL6:()=>j,P6i:()=>K,B2L:()=>Q,sjA:()=>G,_pU:()=>q,HwT:()=>$,seu:()=>R,rm4:()=>A,QwA:()=>O,whs:()=>x,Stt:()=>N,Hng:()=>D,CgL:()=>w,sIe:()=>S,FiB:()=>y,tAP:()=>l,CU6:()=>r,t4B:()=>a,c1f:()=>Pe,uNK:()=>Re,$$0:()=>Oe,L4c:()=>Ee,Zgs:()=>Te,cws:()=>Me,_$n:()=>Ue,eYZ:()=>je,h9z:()=>Ke,I$A:()=>Fe,YSW:()=>Be,L9Z:()=>We,ULt:()=>He,C1n:()=>ze,T5N:()=>Ve,HDX:()=>pt,zUX:()=>ft,Qfh:()=>_t,eUu:()=>mt,Rjz:()=>yt,GVV:()=>St,fED:()=>kt,yIp:()=>Rt,Yoe:()=>Tt,pnl:()=>Ot,P9Z:()=>Wt,fiM:()=>Ft,H8q:()=>Bt,gtq:()=>wt,VFX:()=>vt,efJ:()=>bt,eMz:()=>Pt,p7Y:()=>Ct,QI5:()=>At,lO1:()=>Et,QRv:()=>Mt,CQ3:()=>Nt,ijf:()=>It,uNx:()=>Lt,f4y:()=>xt,C9U:()=>Dt,c6Y:()=>$t,g$2:()=>Kt,dd_:()=>jt,Ux$:()=>Gt,SNb:()=>Qt,pmr:()=>qt,D7X:()=>Yt,ILr:()=>Ne,yLC:()=>De,AjU:()=>ye,K1Z:()=>Ie,KoI:()=>Le,yr0:()=>ke,Xp1:()=>Se,uMG:()=>xe,yLr:()=>n.yL,fAP:()=>_e,z5H:()=>ve,iwL:()=>ti,NBf:()=>ei,tYX:()=>be,bNw:()=>we,JPj:()=>Ce,BTi:()=>v,ELA:()=>Zt,HJZ:()=>Xt,AlL:()=>oi,nH:()=>ni,c7i:()=>si,er1:()=>Jt,Ukx:()=>ot,Ips:()=>rt,jOE:()=>st,xWN:()=>lt,ZBU:()=>ht,kPT:()=>at,jr9:()=>dt,x1A:()=>n.x1,bXl:()=>p,mhZ:()=>_,gnV:()=>m,cI_:()=>f,rvE:()=>$e,HcB:()=>Qe,yqq:()=>Ge,lWP:()=>qe,k5u:()=>zt,sbQ:()=>Ut,vwp:()=>c,JO0:()=>n.JO,pft:()=>Vt,U4U:()=>Ht,DSL:()=>se,f9l:()=>ne});var n=i(87676),s=i(87289),o=i(94901);const r=(0,n.x1)("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},s.kg("foreground","Overall foreground color. This color is only used if not overridden by a component.")),a=((0,n.x1)("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},s.kg("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),(0,n.x1)("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},s.kg("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),(0,n.x1)("descriptionForeground",{light:"#717171",dark:(0,n.JO)(r,.7),hcDark:(0,n.JO)(r,.7),hcLight:(0,n.JO)(r,.7)},s.kg("descriptionForeground","Foreground color for description text providing additional information, for example for a label.")),(0,n.x1)("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},s.kg("iconForeground","The default color for icons in the workbench."))),l=(0,n.x1)("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},s.kg("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),h=(0,n.x1)("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},s.kg("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),d=(0,n.x1)("contrastActiveBorder",{light:null,dark:null,hcDark:l,hcLight:l},s.kg("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),c=((0,n.x1)("selection.background",null,s.kg("selectionBackground","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.")),(0,n.x1)("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},s.kg("textLinkForeground","Foreground color for links in text."))),u=((0,n.x1)("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},s.kg("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),(0,n.x1)("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:o.Q1.black,hcLight:"#292929"},s.kg("textSeparatorForeground","Color for text separators.")),(0,n.x1)("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},s.kg("textPreformatForeground","Foreground color for preformatted text segments.")),(0,n.x1)("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},s.kg("textPreformatBackground","Background color for preformatted text segments.")),(0,n.x1)("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},s.kg("textBlockQuoteBackground","Background color for block quotes in text.")),(0,n.x1)("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:o.Q1.white,hcLight:"#292929"},s.kg("textBlockQuoteBorder","Border color for block quotes in text.")),(0,n.x1)("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:o.Q1.black,hcLight:"#F2F2F2"},s.kg("textCodeBlockBackground","Background color for code blocks in text.")),(0,n.x1)("sash.hoverBorder",l,s.kg("sashActiveBorder","Border color of active sashes.")),(0,n.x1)("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:o.Q1.black,hcLight:"#0F4A85"},s.kg("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count."))),g=(0,n.x1)("badge.foreground",{dark:o.Q1.white,light:"#333",hcDark:o.Q1.white,hcLight:o.Q1.white},s.kg("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),p=(0,n.x1)("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},s.kg("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),m=(0,n.x1)("scrollbarSlider.background",{dark:o.Q1.fromHex("#797979").transparent(.4),light:o.Q1.fromHex("#646464").transparent(.4),hcDark:(0,n.JO)(h,.6),hcLight:(0,n.JO)(h,.4)},s.kg("scrollbarSliderBackground","Scrollbar slider background color.")),f=(0,n.x1)("scrollbarSlider.hoverBackground",{dark:o.Q1.fromHex("#646464").transparent(.7),light:o.Q1.fromHex("#646464").transparent(.7),hcDark:(0,n.JO)(h,.8),hcLight:(0,n.JO)(h,.8)},s.kg("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),_=(0,n.x1)("scrollbarSlider.activeBackground",{dark:o.Q1.fromHex("#BFBFBF").transparent(.4),light:o.Q1.fromHex("#000000").transparent(.6),hcDark:h,hcLight:h},s.kg("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),v=(0,n.x1)("progressBar.background",{dark:o.Q1.fromHex("#0E70C0"),light:o.Q1.fromHex("#0E70C0"),hcDark:h,hcLight:h},s.kg("progressBarBackground","Background color of the progress bar that can show for long running operations.")),b=(0,n.x1)("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("editorBackground","Editor background color.")),C=(0,n.x1)("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:o.Q1.white,hcLight:r},s.kg("editorForeground","Editor default foreground color.")),w=((0,n.x1)("editorStickyScroll.background",b,s.kg("editorStickyScrollBackground","Background color of sticky scroll in the editor")),(0,n.x1)("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:o.Q1.fromHex("#0F4A85").transparent(.1)},s.kg("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),(0,n.x1)("editorStickyScroll.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("editorStickyScrollBorder","Border color of sticky scroll in the editor")),(0,n.x1)("editorStickyScroll.shadow",p,s.kg("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor")),(0,n.x1)("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:o.Q1.white},s.kg("editorWidgetBackground","Background color of editor widgets, such as find/replace."))),y=(0,n.x1)("editorWidget.foreground",r,s.kg("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),S=(0,n.x1)("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:h,hcLight:h},s.kg("editorWidgetBorder","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.")),k=((0,n.x1)("editorWidget.resizeBorder",null,s.kg("editorWidgetResizeBorder","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.")),(0,n.x1)("editorError.background",null,s.kg("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},s.kg("editorError.foreground","Foreground color of error squigglies in the editor."))),L=(0,n.x1)("editorError.border",{dark:null,light:null,hcDark:o.Q1.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},s.kg("errorBorder","If set, color of double underlines for errors in the editor.")),x=(0,n.x1)("editorWarning.background",null,s.kg("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),D=(0,n.x1)("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},s.kg("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),N=(0,n.x1)("editorWarning.border",{dark:null,light:null,hcDark:o.Q1.fromHex("#FFCC00").transparent(.8),hcLight:o.Q1.fromHex("#FFCC00").transparent(.8)},s.kg("warningBorder","If set, color of double underlines for warnings in the editor.")),I=((0,n.x1)("editorInfo.background",null,s.kg("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},s.kg("editorInfo.foreground","Foreground color of info squigglies in the editor."))),E=(0,n.x1)("editorInfo.border",{dark:null,light:null,hcDark:o.Q1.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},s.kg("infoBorder","If set, color of double underlines for infos in the editor.")),M=(0,n.x1)("editorHint.foreground",{dark:o.Q1.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},s.kg("editorHint.foreground","Foreground color of hint squigglies in the editor.")),T=((0,n.x1)("editorHint.border",{dark:null,light:null,hcDark:o.Q1.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},s.kg("hintBorder","If set, color of double underlines for hints in the editor.")),(0,n.x1)("editorLink.activeForeground",{dark:"#4E94CE",light:o.Q1.blue,hcDark:o.Q1.cyan,hcLight:"#292929"},s.kg("activeLinkForeground","Color of active links."))),R=(0,n.x1)("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},s.kg("editorSelectionBackground","Color of the editor selection.")),A=(0,n.x1)("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:o.Q1.white},s.kg("editorSelectionForeground","Color of the selected text for high contrast.")),P=(0,n.x1)("editor.inactiveSelectionBackground",{light:(0,n.JO)(R,.5),dark:(0,n.JO)(R,.5),hcDark:(0,n.JO)(R,.7),hcLight:(0,n.JO)(R,.5)},s.kg("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),O=(0,n.x1)("editor.selectionHighlightBackground",{light:(0,n.oG)(R,b,.3,.6),dark:(0,n.oG)(R,b,.3,.6),hcDark:null,hcLight:null},s.kg("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),F=((0,n.x1)("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:d,hcLight:d},s.kg("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),(0,n.x1)("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},s.kg("editorFindMatch","Color of the current search match.")),(0,n.x1)("editor.findMatchForeground",null,s.kg("editorFindMatchForeground","Text color of the current search match."))),W=(0,n.x1)("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},s.kg("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),B=(0,n.x1)("editor.findMatchHighlightForeground",null,s.kg("findMatchHighlightForeground","Foreground color of the other search matches."),!0),H=((0,n.x1)("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},s.kg("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("editor.findMatchBorder",{light:null,dark:null,hcDark:d,hcLight:d},s.kg("editorFindMatchBorder","Border color of the current search match.")),(0,n.x1)("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:d,hcLight:d},s.kg("findMatchHighlightBorder","Border color of the other search matches."))),V=(0,n.x1)("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:(0,n.JO)(d,.4),hcLight:(0,n.JO)(d,.4)},s.kg("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),z=((0,n.x1)("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},s.kg("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("editorHoverWidget.background",w,s.kg("hoverBackground","Background color of the editor hover."))),U=((0,n.x1)("editorHoverWidget.foreground",y,s.kg("hoverForeground","Foreground color of the editor hover.")),(0,n.x1)("editorHoverWidget.border",S,s.kg("hoverBorder","Border color of the editor hover."))),K=((0,n.x1)("editorHoverWidget.statusBarBackground",{dark:(0,n.a)(z,.2),light:(0,n.e$)(z,.05),hcDark:w,hcLight:w},s.kg("statusBarBackground","Background color of the editor hover status bar.")),(0,n.x1)("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:o.Q1.white,hcLight:o.Q1.black},s.kg("editorInlayHintForeground","Foreground color of inline hints"))),j=(0,n.x1)("editorInlayHint.background",{dark:(0,n.JO)(u,.1),light:(0,n.JO)(u,.1),hcDark:(0,n.JO)(o.Q1.white,.1),hcLight:(0,n.JO)(u,.1)},s.kg("editorInlayHintBackground","Background color of inline hints")),$=(0,n.x1)("editorInlayHint.typeForeground",K,s.kg("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),q=(0,n.x1)("editorInlayHint.typeBackground",j,s.kg("editorInlayHintBackgroundTypes","Background color of inline hints for types")),G=(0,n.x1)("editorInlayHint.parameterForeground",K,s.kg("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),Q=(0,n.x1)("editorInlayHint.parameterBackground",j,s.kg("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),Y=(0,n.x1)("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},s.kg("editorLightBulbForeground","The color used for the lightbulb actions icon.")),Z=((0,n.x1)("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},s.kg("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),(0,n.x1)("editorLightBulbAi.foreground",Y,s.kg("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),(0,n.x1)("editor.snippetTabstopHighlightBackground",{dark:new o.Q1(new o.bU(124,124,124,.3)),light:new o.Q1(new o.bU(10,50,100,.2)),hcDark:new o.Q1(new o.bU(124,124,124,.3)),hcLight:new o.Q1(new o.bU(10,50,100,.2))},s.kg("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),(0,n.x1)("editor.snippetTabstopHighlightBorder",null,s.kg("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),(0,n.x1)("editor.snippetFinalTabstopHighlightBackground",null,s.kg("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),(0,n.x1)("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new o.Q1(new o.bU(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},s.kg("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet.")),new o.Q1(new o.bU(155,185,85,.2))),X=new o.Q1(new o.bU(255,0,0,.2)),J=(0,n.x1)("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},s.kg("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),ee=(0,n.x1)("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},s.kg("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),te=((0,n.x1)("diffEditor.insertedLineBackground",{dark:Z,light:Z,hcDark:null,hcLight:null},s.kg("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("diffEditor.removedLineBackground",{dark:X,light:X,hcDark:null,hcLight:null},s.kg("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("diffEditorGutter.insertedLineBackground",null,s.kg("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),(0,n.x1)("diffEditorGutter.removedLineBackground",null,s.kg("diffEditorRemovedLineGutter","Background color for the margin where lines got removed.")),(0,n.x1)("diffEditorOverview.insertedForeground",null,s.kg("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content."))),ie=(0,n.x1)("diffEditorOverview.removedForeground",null,s.kg("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content.")),ne=((0,n.x1)("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},s.kg("diffEditorInsertedOutline","Outline color for the text that got inserted.")),(0,n.x1)("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},s.kg("diffEditorRemovedOutline","Outline color for text that got removed.")),(0,n.x1)("diffEditor.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("diffEditorBorder","Border color between the two text editors.")),(0,n.x1)("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},s.kg("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),(0,n.x1)("diffEditor.unchangedRegionBackground","sideBar.background",s.kg("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),(0,n.x1)("diffEditor.unchangedRegionForeground","foreground",s.kg("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),(0,n.x1)("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},s.kg("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor.")),(0,n.x1)("widget.shadow",{dark:(0,n.JO)(o.Q1.black,.36),light:(0,n.JO)(o.Q1.black,.16),hcDark:null,hcLight:null},s.kg("widgetShadow","Shadow color of widgets such as find/replace inside the editor."))),se=(0,n.x1)("widget.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("widgetBorder","Border color of widgets such as find/replace inside the editor.")),oe=(0,n.x1)("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},s.kg("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse")),re=((0,n.x1)("toolbar.hoverOutline",{dark:null,light:null,hcDark:d,hcLight:d},s.kg("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),(0,n.x1)("toolbar.activeBackground",{dark:(0,n.a)(oe,.1),light:(0,n.e$)(oe,.1),hcDark:null,hcLight:null},s.kg("toolbarActiveBackground","Toolbar background when holding the mouse over actions")),(0,n.x1)("breadcrumb.foreground",(0,n.JO)(r,.8),s.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items."))),ae=(0,n.x1)("breadcrumb.background",b,s.kg("breadcrumbsBackground","Background color of breadcrumb items.")),le=(0,n.x1)("breadcrumb.focusForeground",{light:(0,n.e$)(r,.2),dark:(0,n.a)(r,.1),hcDark:(0,n.a)(r,.1),hcLight:(0,n.a)(r,.1)},s.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),he=(0,n.x1)("breadcrumb.activeSelectionForeground",{light:(0,n.e$)(r,.2),dark:(0,n.a)(r,.1),hcDark:(0,n.a)(r,.1),hcLight:(0,n.a)(r,.1)},s.kg("breadcrumbsSelectedForeground","Color of selected breadcrumb items.")),de=((0,n.x1)("breadcrumbPicker.background",w,s.kg("breadcrumbsSelectedBackground","Background color of breadcrumb item picker.")),o.Q1.fromHex("#40C8AE").transparent(.5)),ce=o.Q1.fromHex("#40A6FF").transparent(.5),ue=o.Q1.fromHex("#606060").transparent(.4),ge=(0,n.x1)("merge.currentHeaderBackground",{dark:de,light:de,hcDark:null,hcLight:null},s.kg("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),pe=((0,n.x1)("merge.currentContentBackground",(0,n.JO)(ge,.4),s.kg("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("merge.incomingHeaderBackground",{dark:ce,light:ce,hcDark:null,hcLight:null},s.kg("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),me=((0,n.x1)("merge.incomingContentBackground",(0,n.JO)(pe,.4),s.kg("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("merge.commonHeaderBackground",{dark:ue,light:ue,hcDark:null,hcLight:null},s.kg("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),fe=((0,n.x1)("merge.commonContentBackground",(0,n.JO)(me,.4),s.kg("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),(0,n.x1)("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},s.kg("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."))),_e=((0,n.x1)("editorOverviewRuler.currentContentForeground",{dark:(0,n.JO)(ge,1),light:(0,n.JO)(ge,1),hcDark:fe,hcLight:fe},s.kg("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),(0,n.x1)("editorOverviewRuler.incomingContentForeground",{dark:(0,n.JO)(pe,1),light:(0,n.JO)(pe,1),hcDark:fe,hcLight:fe},s.kg("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),(0,n.x1)("editorOverviewRuler.commonContentForeground",{dark:(0,n.JO)(me,1),light:(0,n.JO)(me,1),hcDark:fe,hcLight:fe},s.kg("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts.")),(0,n.x1)("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},s.kg("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0)),ve=(0,n.x1)("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",s.kg("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),be=(0,n.x1)("problemsErrorIcon.foreground",k,s.kg("problemsErrorIconForeground","The color used for the problems error icon.")),Ce=(0,n.x1)("problemsWarningIcon.foreground",D,s.kg("problemsWarningIconForeground","The color used for the problems warning icon.")),we=(0,n.x1)("problemsInfoIcon.foreground",I,s.kg("problemsInfoIconForeground","The color used for the problems info icon.")),ye=(0,n.x1)("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},s.kg("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),Se=(0,n.x1)("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},s.kg("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),ke=(0,n.x1)("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},s.kg("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),Le=(0,n.x1)("minimap.infoHighlight",{dark:I,light:I,hcDark:E,hcLight:E},s.kg("minimapInfo","Minimap marker color for infos.")),xe=(0,n.x1)("minimap.warningHighlight",{dark:D,light:D,hcDark:N,hcLight:N},s.kg("overviewRuleWarning","Minimap marker color for warnings.")),De=(0,n.x1)("minimap.errorHighlight",{dark:new o.Q1(new o.bU(255,18,18,.7)),light:new o.Q1(new o.bU(255,18,18,.7)),hcDark:new o.Q1(new o.bU(255,50,50,1)),hcLight:"#B5200D"},s.kg("minimapError","Minimap marker color for errors.")),Ne=(0,n.x1)("minimap.background",null,s.kg("minimapBackground","Minimap background color.")),Ie=(0,n.x1)("minimap.foregroundOpacity",o.Q1.fromHex("#000f"),s.kg("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),Ee=((0,n.x1)("minimapSlider.background",(0,n.JO)(m,.5),s.kg("minimapSliderBackground","Minimap slider background color.")),(0,n.x1)("minimapSlider.hoverBackground",(0,n.JO)(f,.5),s.kg("minimapSliderHoverBackground","Minimap slider background color when hovering.")),(0,n.x1)("minimapSlider.activeBackground",(0,n.JO)(_,.5),s.kg("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),(0,n.x1)("charts.foreground",r,s.kg("chartsForeground","The foreground color used in charts.")),(0,n.x1)("charts.lines",(0,n.JO)(r,.5),s.kg("chartsLines","The color used for horizontal lines in charts.")),(0,n.x1)("charts.red",k,s.kg("chartsRed","The red color used in chart visualizations.")),(0,n.x1)("charts.blue",I,s.kg("chartsBlue","The blue color used in chart visualizations.")),(0,n.x1)("charts.yellow",D,s.kg("chartsYellow","The yellow color used in chart visualizations.")),(0,n.x1)("charts.orange",ye,s.kg("chartsOrange","The orange color used in chart visualizations.")),(0,n.x1)("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},s.kg("chartsGreen","The green color used in chart visualizations.")),(0,n.x1)("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},s.kg("chartsPurple","The purple color used in chart visualizations.")),(0,n.x1)("input.background",{dark:"#3C3C3C",light:o.Q1.white,hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("inputBoxBackground","Input box background."))),Me=(0,n.x1)("input.foreground",r,s.kg("inputBoxForeground","Input box foreground.")),Te=(0,n.x1)("input.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("inputBoxBorder","Input box border.")),Re=(0,n.x1)("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:h,hcLight:h},s.kg("inputBoxActiveOptionBorder","Border color of activated options in input fields.")),Ae=(0,n.x1)("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},s.kg("inputOption.hoverBackground","Background color of activated options in input fields.")),Pe=(0,n.x1)("inputOption.activeBackground",{dark:(0,n.JO)(l,.4),light:(0,n.JO)(l,.2),hcDark:o.Q1.transparent,hcLight:o.Q1.transparent},s.kg("inputOption.activeBackground","Background hover color of options in input fields.")),Oe=(0,n.x1)("inputOption.activeForeground",{dark:o.Q1.white,light:o.Q1.black,hcDark:r,hcLight:r},s.kg("inputOption.activeForeground","Foreground color of activated options in input fields.")),Fe=((0,n.x1)("input.placeholderForeground",{light:(0,n.JO)(r,.5),dark:(0,n.JO)(r,.5),hcDark:(0,n.JO)(r,.7),hcLight:(0,n.JO)(r,.7)},s.kg("inputPlaceholderForeground","Input box foreground color for placeholder text.")),(0,n.x1)("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("inputValidationInfoBackground","Input validation background color for information severity."))),We=(0,n.x1)("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:r},s.kg("inputValidationInfoForeground","Input validation foreground color for information severity.")),Be=(0,n.x1)("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:h,hcLight:h},s.kg("inputValidationInfoBorder","Input validation border color for information severity.")),He=(0,n.x1)("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("inputValidationWarningBackground","Input validation background color for warning severity.")),Ve=(0,n.x1)("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:r},s.kg("inputValidationWarningForeground","Input validation foreground color for warning severity.")),ze=(0,n.x1)("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:h,hcLight:h},s.kg("inputValidationWarningBorder","Input validation border color for warning severity.")),Ue=(0,n.x1)("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("inputValidationErrorBackground","Input validation background color for error severity.")),Ke=(0,n.x1)("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:r},s.kg("inputValidationErrorForeground","Input validation foreground color for error severity.")),je=(0,n.x1)("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:h,hcLight:h},s.kg("inputValidationErrorBorder","Input validation border color for error severity.")),$e=(0,n.x1)("dropdown.background",{dark:"#3C3C3C",light:o.Q1.white,hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("dropdownBackground","Dropdown background.")),qe=(0,n.x1)("dropdown.listBackground",{dark:null,light:null,hcDark:o.Q1.black,hcLight:o.Q1.white},s.kg("dropdownListBackground","Dropdown list background.")),Ge=(0,n.x1)("dropdown.foreground",{dark:"#F0F0F0",light:r,hcDark:o.Q1.white,hcLight:r},s.kg("dropdownForeground","Dropdown foreground.")),Qe=(0,n.x1)("dropdown.border",{dark:$e,light:"#CECECE",hcDark:h,hcLight:h},s.kg("dropdownBorder","Dropdown border.")),Ye=(0,n.x1)("button.foreground",o.Q1.white,s.kg("buttonForeground","Button foreground color.")),Ze=(0,n.x1)("button.separator",(0,n.JO)(Ye,.4),s.kg("buttonSeparator","Button separator color.")),Xe=(0,n.x1)("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},s.kg("buttonBackground","Button background color.")),Je=(0,n.x1)("button.hoverBackground",{dark:(0,n.a)(Xe,.2),light:(0,n.e$)(Xe,.2),hcDark:Xe,hcLight:Xe},s.kg("buttonHoverBackground","Button background color when hovering.")),et=(0,n.x1)("button.border",h,s.kg("buttonBorder","Button border color.")),tt=(0,n.x1)("button.secondaryForeground",{dark:o.Q1.white,light:o.Q1.white,hcDark:o.Q1.white,hcLight:r},s.kg("buttonSecondaryForeground","Secondary button foreground color.")),it=(0,n.x1)("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:o.Q1.white},s.kg("buttonSecondaryBackground","Secondary button background color.")),nt=(0,n.x1)("button.secondaryHoverBackground",{dark:(0,n.a)(it,.2),light:(0,n.e$)(it,.2),hcDark:null,hcLight:null},s.kg("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),st=(0,n.x1)("radio.activeForeground",Oe,s.kg("radioActiveForeground","Foreground color of active radio option.")),ot=(0,n.x1)("radio.activeBackground",Pe,s.kg("radioBackground","Background color of active radio option.")),rt=(0,n.x1)("radio.activeBorder",Re,s.kg("radioActiveBorder","Border color of the active radio option.")),at=(0,n.x1)("radio.inactiveForeground",null,s.kg("radioInactiveForeground","Foreground color of inactive radio option.")),lt=(0,n.x1)("radio.inactiveBackground",null,s.kg("radioInactiveBackground","Background color of inactive radio option.")),ht=(0,n.x1)("radio.inactiveBorder",{light:(0,n.JO)(st,.2),dark:(0,n.JO)(st,.2),hcDark:(0,n.JO)(st,.4),hcLight:(0,n.JO)(st,.2)},s.kg("radioInactiveBorder","Border color of the inactive radio option.")),dt=(0,n.x1)("radio.inactiveHoverBackground",Ae,s.kg("radioHoverBackground","Background color of inactive active radio option when hovering.")),ct=(0,n.x1)("checkbox.background",$e,s.kg("checkbox.background","Background color of checkbox widget.")),ut=((0,n.x1)("checkbox.selectBackground",w,s.kg("checkbox.select.background","Background color of checkbox widget when the element it's in is selected.")),(0,n.x1)("checkbox.foreground",Ge,s.kg("checkbox.foreground","Foreground color of checkbox widget."))),gt=(0,n.x1)("checkbox.border",Qe,s.kg("checkbox.border","Border color of checkbox widget.")),pt=((0,n.x1)("checkbox.selectBorder",a,s.kg("checkbox.select.border","Border color of checkbox widget when the element it's in is selected.")),(0,n.x1)("keybindingLabel.background",{dark:new o.Q1(new o.bU(128,128,128,.17)),light:new o.Q1(new o.bU(221,221,221,.4)),hcDark:o.Q1.transparent,hcLight:o.Q1.transparent},s.kg("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut."))),mt=(0,n.x1)("keybindingLabel.foreground",{dark:o.Q1.fromHex("#CCCCCC"),light:o.Q1.fromHex("#555555"),hcDark:o.Q1.white,hcLight:r},s.kg("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),ft=(0,n.x1)("keybindingLabel.border",{dark:new o.Q1(new o.bU(51,51,51,.6)),light:new o.Q1(new o.bU(204,204,204,.4)),hcDark:new o.Q1(new o.bU(111,195,223)),hcLight:h},s.kg("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),_t=(0,n.x1)("keybindingLabel.bottomBorder",{dark:new o.Q1(new o.bU(68,68,68,.6)),light:new o.Q1(new o.bU(187,187,187,.4)),hcDark:new o.Q1(new o.bU(111,195,223)),hcLight:r},s.kg("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),vt=(0,n.x1)("list.focusBackground",null,s.kg("listFocusBackground","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.")),bt=(0,n.x1)("list.focusForeground",null,s.kg("listFocusForeground","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.")),Ct=(0,n.x1)("list.focusOutline",{dark:l,light:l,hcDark:d,hcLight:d},s.kg("listFocusOutline","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.")),wt=(0,n.x1)("list.focusAndSelectionOutline",null,s.kg("listFocusAndSelectionOutline","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.")),yt=(0,n.x1)("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:o.Q1.fromHex("#0F4A85").transparent(.1)},s.kg("listActiveSelectionBackground","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.")),St=(0,n.x1)("list.activeSelectionForeground",{dark:o.Q1.white,light:o.Q1.white,hcDark:null,hcLight:null},s.kg("listActiveSelectionForeground","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.")),kt=(0,n.x1)("list.activeSelectionIconForeground",null,s.kg("listActiveSelectionIconForeground","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.")),Lt=(0,n.x1)("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:o.Q1.fromHex("#0F4A85").transparent(.1)},s.kg("listInactiveSelectionBackground","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.")),xt=(0,n.x1)("list.inactiveSelectionForeground",null,s.kg("listInactiveSelectionForeground","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.")),Dt=(0,n.x1)("list.inactiveSelectionIconForeground",null,s.kg("listInactiveSelectionIconForeground","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.")),Nt=(0,n.x1)("list.inactiveFocusBackground",null,s.kg("listInactiveFocusBackground","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.")),It=(0,n.x1)("list.inactiveFocusOutline",null,s.kg("listInactiveFocusOutline","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.")),Et=(0,n.x1)("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:o.Q1.white.transparent(.1),hcLight:o.Q1.fromHex("#0F4A85").transparent(.1)},s.kg("listHoverBackground","List/Tree background when hovering over items using the mouse.")),Mt=(0,n.x1)("list.hoverForeground",null,s.kg("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),Tt=(0,n.x1)("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},s.kg("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),Rt=(0,n.x1)("list.dropBetweenBackground",{dark:a,light:a,hcDark:null,hcLight:null},s.kg("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),At=(0,n.x1)("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:l,hcLight:l},s.kg("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),Pt=(0,n.x1)("list.focusHighlightForeground",{dark:At,light:(0,n.Hz)(yt,At,"#BBE7FF"),hcDark:At,hcLight:At},s.kg("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.")),Ot=((0,n.x1)("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},s.kg("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),(0,n.x1)("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},s.kg("listErrorForeground","Foreground color of list items containing errors.")),(0,n.x1)("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},s.kg("listWarningForeground","Foreground color of list items containing warnings.")),(0,n.x1)("listFilterWidget.background",{light:(0,n.e$)(w,0),dark:(0,n.a)(w,0),hcDark:w,hcLight:w},s.kg("listFilterWidgetBackground","Background color of the type filter widget in lists and trees."))),Ft=(0,n.x1)("listFilterWidget.outline",{dark:o.Q1.transparent,light:o.Q1.transparent,hcDark:"#f38518",hcLight:"#007ACC"},s.kg("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),Wt=(0,n.x1)("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:h,hcLight:h},s.kg("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),Bt=(0,n.x1)("listFilterWidget.shadow",ne,s.kg("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees.")),Ht=((0,n.x1)("list.filterMatchBackground",{dark:W,light:W,hcDark:null,hcLight:null},s.kg("listFilterMatchHighlight","Background color of the filtered match.")),(0,n.x1)("list.filterMatchBorder",{dark:H,light:H,hcDark:h,hcLight:d},s.kg("listFilterMatchHighlightBorder","Border color of the filtered match.")),(0,n.x1)("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},s.kg("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized.")),(0,n.x1)("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},s.kg("treeIndentGuidesStroke","Tree stroke color for the indentation guides."))),Vt=(0,n.x1)("tree.inactiveIndentGuidesStroke",(0,n.JO)(Ht,.4),s.kg("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),zt=(0,n.x1)("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},s.kg("tableColumnsBorder","Table border color between columns.")),Ut=(0,n.x1)("tree.tableOddRowsBackground",{dark:(0,n.JO)(r,.04),light:(0,n.JO)(r,.04),hcDark:null,hcLight:null},s.kg("tableOddRowsBackgroundColor","Background color for odd table rows.")),Kt=((0,n.x1)("editorActionList.background",w,s.kg("editorActionListBackground","Action List background color.")),(0,n.x1)("editorActionList.foreground",y,s.kg("editorActionListForeground","Action List foreground color.")),(0,n.x1)("editorActionList.focusForeground",St,s.kg("editorActionListFocusForeground","Action List foreground color for the focused item.")),(0,n.x1)("editorActionList.focusBackground",yt,s.kg("editorActionListFocusBackground","Action List background color for the focused item.")),(0,n.x1)("menu.border",{dark:null,light:null,hcDark:h,hcLight:h},s.kg("menuBorder","Border color of menus."))),jt=(0,n.x1)("menu.foreground",Ge,s.kg("menuForeground","Foreground color of menu items.")),$t=(0,n.x1)("menu.background",$e,s.kg("menuBackground","Background color of menu items.")),qt=(0,n.x1)("menu.selectionForeground",St,s.kg("menuSelectionForeground","Foreground color of the selected menu item in menus.")),Gt=(0,n.x1)("menu.selectionBackground",yt,s.kg("menuSelectionBackground","Background color of the selected menu item in menus.")),Qt=(0,n.x1)("menu.selectionBorder",{dark:null,light:null,hcDark:d,hcLight:d},s.kg("menuSelectionBorder","Border color of the selected menu item in menus.")),Yt=(0,n.x1)("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:h,hcLight:h},s.kg("menuSeparatorBackground","Color of a separator menu item in menus.")),Zt=(0,n.x1)("quickInput.background",w,s.kg("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),Xt=(0,n.x1)("quickInput.foreground",y,s.kg("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),Jt=(0,n.x1)("quickInputTitle.background",{dark:new o.Q1(new o.bU(255,255,255,.105)),light:new o.Q1(new o.bU(0,0,0,.06)),hcDark:"#000000",hcLight:o.Q1.white},s.kg("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),ei=(0,n.x1)("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:o.Q1.white,hcLight:"#0F4A85"},s.kg("pickerGroupForeground","Quick picker color for grouping labels.")),ti=(0,n.x1)("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:o.Q1.white,hcLight:"#0F4A85"},s.kg("pickerGroupBorder","Quick picker color for grouping borders.")),ii=(0,n.x1)("quickInput.list.focusBackground",null,"",void 0,s.kg("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),ni=(0,n.x1)("quickInputList.focusForeground",St,s.kg("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),si=(0,n.x1)("quickInputList.focusIconForeground",kt,s.kg("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),oi=(0,n.x1)("quickInputList.focusBackground",{dark:(0,n.yL)(ii,yt),light:(0,n.yL)(ii,yt),hcDark:null,hcLight:null},s.kg("quickInput.listFocusBackground","Quick picker background color for the focused item."));(0,n.x1)("search.resultsInfoForeground",{light:r,dark:(0,n.JO)(r,.65),hcDark:r,hcLight:r},s.kg("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),(0,n.x1)("searchEditor.findMatchBackground",{light:(0,n.JO)(W,.66),dark:(0,n.JO)(W,.66),hcDark:W,hcLight:W},s.kg("searchEditor.queryMatch","Color of the Search Editor query matches.")),(0,n.x1)("searchEditor.findMatchBorder",{light:(0,n.JO)(H,.66),dark:(0,n.JO)(H,.66),hcDark:H,hcLight:H},s.kg("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."))},87676:(e,t,i)=>{i.d(t,{Bb:()=>d,Fd:()=>g,Gu:()=>c,HP:()=>u,Hz:()=>C,JO:()=>v,a:()=>_,e$:()=>f,oG:()=>w,x1:()=>m,yL:()=>b});var n=i(87110),s=i(65958),o=i(94901),r=i(2106),a=i(51460),l=i(67167),h=i(87289);function d(e){return`--vscode-${e.replace(/\./g,"-")}`}function c(e){return`var(${d(e)})`}function u(e,t){return`var(${d(e)}, ${t})`}const g={ColorContribution:"base.contributions.colors"};const p=new class{constructor(){this._onDidChangeSchema=new r.vl,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,i,n=!1,s){const o={id:e,description:i,defaults:t,needsTransparency:n,deprecationMessage:s};this.colorsById[e]=o;const r={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return s&&(r.deprecationMessage=s),n&&(r.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",r.patternErrorMessage=h.kg("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:i,oneOf:[r,{type:"string",const:"default",description:h.kg("useDefault","Use the default color.")}]},this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map((e=>this.colorsById[e]))}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i?.defaults){return y(null!==(n=i.defaults)&&"object"==typeof n&&"light"in n&&"dark"in n?i.defaults[t.type]:i.defaults,t)}var n}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{const i=-1===e.indexOf(".")?0:1,n=-1===t.indexOf(".")?0:1;return i!==n?i-n:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function m(e,t,i,n,s){return p.registerColor(e,t,i,n,s)}function f(e,t){return{op:0,value:e,factor:t}}function _(e,t){return{op:1,value:e,factor:t}}function v(e,t){return{op:2,value:e,factor:t}}function b(...e){return{op:4,values:e}}function C(e,t,i){return{op:6,if:e,then:t,else:i}}function w(e,t,i,n){return{op:5,value:e,background:t,factor:i,transparency:n}}function y(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?o.Q1.fromHex(e):t.getColor(e):e instanceof o.Q1?e:"object"==typeof e?function(e,t){switch(e.op){case 0:return y(e.value,t)?.darken(e.factor);case 1:return y(e.value,t)?.lighten(e.factor);case 2:return y(e.value,t)?.transparent(e.factor);case 3:{const i=y(e.background,t);return i?y(e.value,t)?.makeOpaque(i):y(e.value,t)}case 4:for(const i of e.values){const e=y(i,t);if(e)return e}return;case 6:return y(t.defines(e.if)?e.then:e.else,t);case 5:{const i=y(e.value,t);if(!i)return;const n=y(e.background,t);return n?i.isDarkerThan(n)?o.Q1.getLighterColor(i,n,e.factor).transparent(e.transparency):o.Q1.getDarkerColor(i,n,e.factor).transparent(e.transparency):i.transparent(e.factor*e.transparency)}default:throw(0,n.xb)(e)}}(e,t):void 0}l.O.add(g.ColorContribution,p);const S="vscode://schemas/workbench-colors",k=l.O.as(a.F.JSONContribution);k.registerSchema(S,p.getColorSchema());const L=new s.uC((()=>k.notifySchemaChanged(S)),200);p.onDidChangeSchema((()=>{L.isScheduled()||L.schedule()}))},89563:(e,t,i)=>{var n;function s(e){return e===n.HIGH_CONTRAST_DARK||e===n.HIGH_CONTRAST_LIGHT}function o(e){return e===n.DARK||e===n.HIGH_CONTRAST_DARK}i.d(t,{Bb:()=>s,HD:()=>o,zM:()=>n}),function(e){e.DARK="dark",e.LIGHT="light",e.HIGH_CONTRAST_DARK="hcDark",e.HIGH_CONTRAST_LIGHT="hcLight"}(n||(n={}))},89044:(e,t,i)=>{i.d(t,{Fd:()=>c,Gy:()=>l,Pz:()=>d,Yf:()=>h,lR:()=>p,zy:()=>g});var n=i(2106),s=i(10998),o=i(82399),r=i(67167),a=i(89563);const l=(0,o.u1)("themeService");function h(e){return{id:e}}function d(e){switch(e){case a.zM.DARK:return"vs-dark";case a.zM.HIGH_CONTRAST_DARK:return"hc-black";case a.zM.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const c={ThemingContribution:"base.contributions.theming"};const u=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new n.vl}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),(0,s.s)((()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function g(e){return u.onColorThemeChange(e)}r.O.add(c.ThemingContribution,u);class p extends s.jG{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange((e=>this.onThemeChange(e))))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}},38803:(e,t,i)=>{i.d(t,{$D:()=>n,I_:()=>o,To:()=>s,Ym:()=>r});const n=(0,i(82399).u1)("undoRedoService");class s{constructor(e,t){this.resource=e,this.elements=t}}class o{static{this._ID=0}constructor(){this.id=o._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new o}}class r{static{this._ID=0}constructor(){this.id=r._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new r}}},81569:(e,t,i)=>{i.d(t,{Ay:()=>u});var n=i(29482),s=i(96540);function o(e){return/^\d+$/.test(e)?"".concat(e,"px"):e}function r(){}var a=function(){return a=Object.assign||function(e){for(var t,i=1,n=arguments.length;i{t.d(e,{A:()=>B});t(96540);var i=t(88473),a=t(34164),s=t(21312),l=t(17559);const r="admonition_xJq3",c="admonitionHeading_Gvgb",o="admonitionIcon_Rf37",d="admonitionContent_BuS1";var u=t(74848);function h(n){let{type:e,className:t,children:i}=n;return(0,u.jsx)("div",{className:(0,a.A)(l.G.common.admonition,l.G.common.admonitionType(e),r,t),children:i})}function m(n){let{icon:e,title:t}=n;return(0,u.jsxs)("div",{className:c,children:[(0,u.jsx)("span",{className:o,children:e}),t]})}function f(n){let{children:e}=n;return e?(0,u.jsx)("div",{className:d,children:e}):null}function x(n){const{type:e,icon:t,title:i,children:a,className:s}=n;return(0,u.jsxs)(h,{type:e,className:s,children:[i||t?(0,u.jsx)(m,{title:i,icon:t}):null,(0,u.jsx)(f,{children:a})]})}function j(n){return(0,u.jsx)("svg",{viewBox:"0 0 14 16",...n,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const p={icon:(0,u.jsx)(j,{}),title:(0,u.jsx)(s.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function v(n){return(0,u.jsx)(x,{...p,...n,className:(0,a.A)("alert alert--secondary",n.className),children:n.children})}function g(n){return(0,u.jsx)("svg",{viewBox:"0 0 12 16",...n,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const N={icon:(0,u.jsx)(g,{}),title:(0,u.jsx)(s.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function A(n){return(0,u.jsx)(x,{...N,...n,className:(0,a.A)("alert alert--success",n.className),children:n.children})}function y(n){return(0,u.jsx)("svg",{viewBox:"0 0 14 16",...n,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const b={icon:(0,u.jsx)(y,{}),title:(0,u.jsx)(s.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function _(n){return(0,u.jsx)(x,{...b,...n,className:(0,a.A)("alert alert--info",n.className),children:n.children})}function C(n){return(0,u.jsx)("svg",{viewBox:"0 0 16 16",...n,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const w={icon:(0,u.jsx)(C,{}),title:(0,u.jsx)(s.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function z(n){return(0,u.jsx)("svg",{viewBox:"0 0 12 16",...n,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const M={icon:(0,u.jsx)(z,{}),title:(0,u.jsx)(s.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const T={icon:(0,u.jsx)(C,{}),title:(0,u.jsx)(s.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const k={...{note:v,tip:A,info:_,warning:function(n){return(0,u.jsx)(x,{...w,...n,className:(0,a.A)("alert alert--warning",n.className),children:n.children})},danger:function(n){return(0,u.jsx)(x,{...M,...n,className:(0,a.A)("alert alert--danger",n.className),children:n.children})}},...{secondary:n=>(0,u.jsx)(v,{title:"secondary",...n}),important:n=>(0,u.jsx)(_,{title:"important",...n}),success:n=>(0,u.jsx)(A,{title:"success",...n}),caution:function(n){return(0,u.jsx)(x,{...T,...n,className:(0,a.A)("alert alert--warning",n.className),children:n.children})}}};function B(n){const e=(0,i.c)(n),t=(a=e.type,k[a]||(console.warn(`No admonition component found for admonition type "${a}". Using Info as fallback.`),k.info));var a;return(0,u.jsx)(t,{...e})}},41622:(n,e,t)=>{t.d(e,{A:()=>x});var i=t(96540),a=t(34164),s=t(63427),l=t(92303),r=t(41422);const c={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};var o=t(74848);function d(n){return!!n&&("SUMMARY"===n.tagName||d(n.parentElement))}function u(n,e){return!!n&&(n===e||u(n.parentElement,e))}function h(n){let{summary:e,children:t,...h}=n;(0,s.default)().collectAnchor(h.id);const m=(0,l.A)(),f=(0,i.useRef)(null),{collapsed:x,setCollapsed:j}=(0,r.u)({initialState:!h.open}),[p,v]=(0,i.useState)(h.open),g=i.isValidElement(e)?e:(0,o.jsx)("summary",{children:e??"Details"});return(0,o.jsxs)("details",{...h,ref:f,open:p,"data-collapsed":x,className:(0,a.A)(c.details,m&&c.isBrowser,h.className),onMouseDown:n=>{d(n.target)&&n.detail>1&&n.preventDefault()},onClick:n=>{n.stopPropagation();const e=n.target;d(e)&&u(e,f.current)&&(n.preventDefault(),x?(j(!1),v(!0)):j(!0))},children:[g,(0,o.jsx)(r.N,{lazy:!1,collapsed:x,disableSSRStyle:!0,onCollapseTransitionEnd:n=>{j(n),v(!n)},children:(0,o.jsx)("div",{className:c.collapsibleContent,children:t})})]})}const m={details:"details_b_Ee"},f="alert alert--info";function x(n){let{...e}=n;return(0,o.jsx)(h,{...e,className:(0,a.A)(f,m.details,e.className)})}},64678:(n,e,t)=>{t.r(e),t.d(e,{default:()=>g});var i=t(96540),a=t(5260),s=t(85819),l=t(74848);function r(n){return(0,l.jsx)("code",{...n})}var c=t(28774);var o=t(41622);function d(n){const e=i.Children.toArray(n.children),t=e.find((n=>i.isValidElement(n)&&"summary"===n.type)),a=(0,l.jsx)(l.Fragment,{children:e.filter((n=>n!==t))});return(0,l.jsx)(o.A,{...n,summary:t,children:a})}var u=t(51107);function h(n){return(0,l.jsx)(u.default,{...n})}var m=t(34164);const f="containsTaskList_mC6p";function x(n){if(void 0!==n)return(0,m.A)(n,n?.includes("contains-task-list")&&f)}var j=t(63427);const p="img_ev3q";var v=t(13472);const g={Head:a.A,details:d,Details:d,code:function(n){return function(n){return void 0!==n.children&&i.Children.toArray(n.children).every((n=>"string"==typeof n&&!n.includes("\n")))}(n)?(0,l.jsx)(r,{...n}):(0,l.jsx)(s.default,{...n})},a:function(n){return(0,l.jsx)(c.default,{...n})},pre:function(n){return(0,l.jsx)(l.Fragment,{children:n.children})},ul:function(n){return(0,l.jsx)("ul",{...n,className:x(n.className)})},li:function(n){return(0,j.default)().collectAnchor(n.id),(0,l.jsx)("li",{...n})},img:function(n){return(0,l.jsx)("img",{decoding:"async",loading:"lazy",...n,className:(e=n.className,(0,m.A)(e,p))});var e},h1:n=>(0,l.jsx)(h,{as:"h1",...n}),h2:n=>(0,l.jsx)(h,{as:"h2",...n}),h3:n=>(0,l.jsx)(h,{as:"h3",...n}),h4:n=>(0,l.jsx)(h,{as:"h4",...n}),h5:n=>(0,l.jsx)(h,{as:"h5",...n}),h6:n=>(0,l.jsx)(h,{as:"h6",...n}),admonition:v.A,mermaid:()=>null}},77910:(n,e,t)=>{t.r(e),t.d(e,{default:()=>l});t(96540);var i=t(28453),a=t(64678),s=t(74848);function l(n){let{children:e}=n;return(0,s.jsx)(i.x,{components:a.default,children:e})}},39022:(n,e,t)=>{t.d(e,{A:()=>l});t(96540);var i=t(34164),a=t(28774),s=t(74848);function l(n){const{permalink:e,title:t,subLabel:l,isNext:r}=n;return(0,s.jsxs)(a.default,{className:(0,i.A)("pagination-nav__link",r?"pagination-nav__link--next":"pagination-nav__link--prev"),to:e,children:[l&&(0,s.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,s.jsx)("div",{className:"pagination-nav__label",children:t})]})}},88473:(n,e,t)=>{t.d(e,{c:()=>s});var i=t(96540),a=t(74848);function s(n){const{mdxAdmonitionTitle:e,rest:t}=function(n){const e=i.Children.toArray(n),t=e.find((n=>i.isValidElement(n)&&"mdxAdmonitionTitle"===n.type)),s=e.filter((n=>n!==t)),l=t?.props.children;return{mdxAdmonitionTitle:l,rest:s.length>0?(0,a.jsx)(a.Fragment,{children:s}):null}}(n.children),s=n.title??e;return{...n,...s&&{title:s},children:t}}}}]); \ No newline at end of file diff --git a/assets/js/9761.b949f5b3.js b/assets/js/9761.b949f5b3.js deleted file mode 100644 index 1482e4a5..00000000 --- a/assets/js/9761.b949f5b3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9761],{13472:(n,e,t)=>{t.d(e,{A:()=>T});t(96540);var i=t(88473),a=t(34164),s=t(21312),l=t(17559);const o={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};var r=t(74848);function c(n){let{type:e,className:t,children:i}=n;return(0,r.jsx)("div",{className:(0,a.A)(l.G.common.admonition,l.G.common.admonitionType(e),o.admonition,t),children:i})}function d(n){let{icon:e,title:t}=n;return(0,r.jsxs)("div",{className:o.admonitionHeading,children:[(0,r.jsx)("span",{className:o.admonitionIcon,children:e}),t]})}function u(n){let{children:e}=n;return e?(0,r.jsx)("div",{className:o.admonitionContent,children:e}):null}function m(n){const{type:e,icon:t,title:i,children:a,className:s}=n;return(0,r.jsxs)(c,{type:e,className:s,children:[i||t?(0,r.jsx)(d,{title:i,icon:t}):null,(0,r.jsx)(u,{children:a})]})}function h(n){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...n,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const f={icon:(0,r.jsx)(h,{}),title:(0,r.jsx)(s.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function x(n){return(0,r.jsx)(m,{...f,...n,className:(0,a.A)("alert alert--secondary",n.className),children:n.children})}function j(n){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...n,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const p={icon:(0,r.jsx)(j,{}),title:(0,r.jsx)(s.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function v(n){return(0,r.jsx)(m,{...p,...n,className:(0,a.A)("alert alert--success",n.className),children:n.children})}function g(n){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...n,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const N={icon:(0,r.jsx)(g,{}),title:(0,r.jsx)(s.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function A(n){return(0,r.jsx)(m,{...N,...n,className:(0,a.A)("alert alert--info",n.className),children:n.children})}function y(n){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...n,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const b={icon:(0,r.jsx)(y,{}),title:(0,r.jsx)(s.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function C(n){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...n,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const _={icon:(0,r.jsx)(C,{}),title:(0,r.jsx)(s.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const w={icon:(0,r.jsx)(y,{}),title:(0,r.jsx)(s.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const z={...{note:x,tip:v,info:A,warning:function(n){return(0,r.jsx)(m,{...b,...n,className:(0,a.A)("alert alert--warning",n.className),children:n.children})},danger:function(n){return(0,r.jsx)(m,{..._,...n,className:(0,a.A)("alert alert--danger",n.className),children:n.children})}},...{secondary:n=>(0,r.jsx)(x,{title:"secondary",...n}),important:n=>(0,r.jsx)(A,{title:"important",...n}),success:n=>(0,r.jsx)(v,{title:"success",...n}),caution:function(n){return(0,r.jsx)(m,{...w,...n,className:(0,a.A)("alert alert--warning",n.className),children:n.children})}}};function T(n){const e=(0,i.c)(n),t=(a=e.type,z[a]||(console.warn(`No admonition component found for admonition type "${a}". Using Info as fallback.`),z.info));var a;return(0,r.jsx)(t,{...e})}},41622:(n,e,t)=>{t.d(e,{A:()=>x});var i=t(96540),a=t(34164),s=t(63427),l=t(92303),o=t(41422);const r={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};var c=t(74848);function d(n){return!!n&&("SUMMARY"===n.tagName||d(n.parentElement))}function u(n,e){return!!n&&(n===e||u(n.parentElement,e))}function m(n){let{summary:e,children:t,...m}=n;(0,s.default)().collectAnchor(m.id);const h=(0,l.A)(),f=(0,i.useRef)(null),{collapsed:x,setCollapsed:j}=(0,o.u)({initialState:!m.open}),[p,v]=(0,i.useState)(m.open),g=i.isValidElement(e)?e:(0,c.jsx)("summary",{children:e??"Details"});return(0,c.jsxs)("details",{...m,ref:f,open:p,"data-collapsed":x,className:(0,a.A)(r.details,h&&r.isBrowser,m.className),onMouseDown:n=>{d(n.target)&&n.detail>1&&n.preventDefault()},onClick:n=>{n.stopPropagation();const e=n.target;d(e)&&u(e,f.current)&&(n.preventDefault(),x?(j(!1),v(!0)):j(!0))},children:[g,(0,c.jsx)(o.N,{lazy:!1,collapsed:x,disableSSRStyle:!0,onCollapseTransitionEnd:n=>{j(n),v(!n)},children:(0,c.jsx)("div",{className:r.collapsibleContent,children:t})})]})}const h={details:"details_b_Ee"},f="alert alert--info";function x(n){let{...e}=n;return(0,c.jsx)(m,{...e,className:(0,a.A)(f,h.details,e.className)})}},64678:(n,e,t)=>{t.r(e),t.d(e,{default:()=>g});var i=t(96540),a=t(5260),s=t(85819),l=t(74848);function o(n){return(0,l.jsx)("code",{...n})}var r=t(28774);var c=t(41622);function d(n){const e=i.Children.toArray(n.children),t=e.find((n=>i.isValidElement(n)&&"summary"===n.type)),a=(0,l.jsx)(l.Fragment,{children:e.filter((n=>n!==t))});return(0,l.jsx)(c.A,{...n,summary:t,children:a})}var u=t(51107);function m(n){return(0,l.jsx)(u.default,{...n})}var h=t(34164);const f={containsTaskList:"containsTaskList_mC6p"};function x(n){if(void 0!==n)return(0,h.A)(n,n?.includes("contains-task-list")&&f.containsTaskList)}var j=t(63427);const p={img:"img_ev3q"};var v=t(13472);const g={Head:a.A,details:d,Details:d,code:function(n){return function(n){return void 0!==n.children&&i.Children.toArray(n.children).every((n=>"string"==typeof n&&!n.includes("\n")))}(n)?(0,l.jsx)(o,{...n}):(0,l.jsx)(s.default,{...n})},a:function(n){return(0,l.jsx)(r.default,{...n})},pre:function(n){return(0,l.jsx)(l.Fragment,{children:n.children})},ul:function(n){return(0,l.jsx)("ul",{...n,className:x(n.className)})},li:function(n){return(0,j.default)().collectAnchor(n.id),(0,l.jsx)("li",{...n})},img:function(n){return(0,l.jsx)("img",{decoding:"async",loading:"lazy",...n,className:(e=n.className,(0,h.A)(e,p.img))});var e},h1:n=>(0,l.jsx)(m,{as:"h1",...n}),h2:n=>(0,l.jsx)(m,{as:"h2",...n}),h3:n=>(0,l.jsx)(m,{as:"h3",...n}),h4:n=>(0,l.jsx)(m,{as:"h4",...n}),h5:n=>(0,l.jsx)(m,{as:"h5",...n}),h6:n=>(0,l.jsx)(m,{as:"h6",...n}),admonition:v.A,mermaid:()=>null}},77910:(n,e,t)=>{t.r(e),t.d(e,{default:()=>l});t(96540);var i=t(28453),a=t(64678),s=t(74848);function l(n){let{children:e}=n;return(0,s.jsx)(i.x,{components:a.default,children:e})}},39022:(n,e,t)=>{t.d(e,{A:()=>l});t(96540);var i=t(34164),a=t(28774),s=t(74848);function l(n){const{permalink:e,title:t,subLabel:l,isNext:o}=n;return(0,s.jsxs)(a.default,{className:(0,i.A)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:e,children:[l&&(0,s.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,s.jsx)("div",{className:"pagination-nav__label",children:t})]})}},88473:(n,e,t)=>{t.d(e,{c:()=>s});var i=t(96540),a=t(74848);function s(n){const{mdxAdmonitionTitle:e,rest:t}=function(n){const e=i.Children.toArray(n),t=e.find((n=>i.isValidElement(n)&&"mdxAdmonitionTitle"===n.type)),s=e.filter((n=>n!==t)),l=t?.props.children;return{mdxAdmonitionTitle:l,rest:s.length>0?(0,a.jsx)(a.Fragment,{children:s}):null}}(n.children),s=n.title??e;return{...n,...s&&{title:s},children:t}}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.22867fff.js b/assets/js/a94703ab.22867fff.js deleted file mode 100644 index 193b3a3f..00000000 --- a/assets/js/a94703ab.22867fff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9048],{17426:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ue});var a=n(96540),o=n(34164),i=n(45500),s=n(17559),l=n(26972),c=n(60609),r=n(21312),d=n(23104),u=n(75062);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(74848);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,r.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(53109),x=n(56347),f=n(24581),j=n(6342),_=n(23465);function g(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const v={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function A(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,r.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,r.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",v.collapseSidebarButton),onClick:t,children:(0,b.jsx)(g,{className:v.collapseSidebarButtonIcon})})}var k=n(65041),C=n(33082),S=n(89532),T=n(41422),N=n(99169),I=n(28774),B=n(92303);function y(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,r.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,r.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function L(e){let{item:t,onItemClick:n,activePath:i,level:c,index:r,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=function(e){const t=(0,B.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0),[e,t])}(t),g=(0,l.w8)(t,i),v=(0,N.ys)(x,i),{collapsed:A,setCollapsed:k}=(0,T.u)({initialState:()=>!!h&&(!g&&t.collapsed)}),{expandedItem:L,setExpandedItem:w}=(0,C.G)(),E=function(e){void 0===e&&(e=!A),w(e?null:r),k(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:g,collapsed:A,updateCollapsed:E}),(0,a.useEffect)((()=>{h&&null!=L&&L!==r&&f&&k(!0)}),[h,L,r,k,f]),(0,b.jsxs)("li",{className:(0,o.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":A},p),children:[(0,b.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(I.default,{className:(0,o.A)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":g}),onClick:h?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":v?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!A:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(y,{collapsed:A,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(T.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:A,children:(0,b.jsx)(D,{items:u,tabIndex:A?-1:0,onItemClick:n,activePath:i,level:c+1})})]})}var w=n(16654),E=n(43186);const H={menuExternalLink:"menuExternalLink_NmtK"};function M(e){let{item:t,onItemClick:n,activePath:a,level:i,index:c,...r}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l.w8)(t,a),x=(0,w.A)(d);return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(I.default,{className:(0,o.A)("menu__link",!x&&H.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...r,children:[u,!x&&(0,b.jsx)(E.A,{})]})},u)}const G={menuHtmlItem:"menuHtmlItem_M9Kj"};function W(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:c}=t;return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(n),l&&[G.menuHtmlItem,"menu__list-item"],c),dangerouslySetInnerHTML:{__html:i}},a)}function R(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(L,{item:t,...n});case"html":return(0,b.jsx)(W,{item:t,...n});default:return(0,b.jsx)(M,{item:t,...n})}}function P(e){let{items:t,...n}=e;const a=(0,l.Y)(t,n.activePath);return(0,b.jsx)(C.A,{children:a.map(((e,t)=>(0,b.jsx)(R,{item:e,index:t,...n},t)))})}const D=(0,a.memo)(P),F={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function U(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,k.M)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,r.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",F.menu,l&&F.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(D,{items:n,activePath:t,level:1})})})}const V="sidebar_njMd",Y="sidebarWithHideableNavbar_wUlq",K="sidebarHidden_VK0M",z="sidebarLogo_isFc";function q(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,b.jsxs)("div",{className:(0,o.A)(V,s&&Y,i&&K),children:[s&&(0,b.jsx)(_.A,{tabIndex:-1,className:z}),(0,b.jsx)(U,{path:t,sidebar:n}),l&&(0,b.jsx)(A,{onClick:a})]})}const O=a.memo(q);var J=n(75600),Q=n(22069);const X=e=>{let{sidebar:t,path:n}=e;const a=(0,Q.M)();return(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(D,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function Z(e){return(0,b.jsx)(J.GX,{component:X,props:e})}const $=a.memo(Z);function ee(e){const t=(0,f.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(O,{...e}),a&&(0,b.jsx)($,{...e})]})}const te={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function ne(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:te.expandButton,title:(0,r.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,r.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(g,{className:te.expandButtonIcon})})}const ae={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function oe(e){let{children:t}=e;const n=(0,c.t)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function ie(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.zy)(),[c,r]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{c&&r(!1),!c&&(0,p.O)()&&r(!0),i((e=>!e))}),[i,c]);return(0,b.jsx)("aside",{className:(0,o.A)(s.G.docs.docSidebarContainer,ae.docSidebarContainer,n&&ae.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ae.docSidebarContainer)&&n&&r(!0)},children:(0,b.jsx)(oe,{children:(0,b.jsxs)("div",{className:(0,o.A)(ae.sidebarViewport,c&&ae.sidebarViewportHidden),children:[(0,b.jsx)(ee,{sidebar:t,path:l,onCollapse:d,isHidden:c}),c&&(0,b.jsx)(ne,{toggleSidebar:d})]})})})}const se={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function le(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,c.t)();return(0,b.jsx)("main",{className:(0,o.A)(se.docMainContainer,(t||!a)&&se.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",se.docItemWrapper,t&&se.docItemWrapperEnhanced),children:n})})}const ce={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function re(e){let{children:t}=e;const n=(0,c.t)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:ce.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:ce.docRoot,children:[n&&(0,b.jsx)(ie,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(le,{hiddenSidebarContainer:o,children:t})]})]})}var de=n(23363);function ue(e){const t=(0,l.B5)(e);if(!t)return(0,b.jsx)(de.A,{});const{docElement:n,sidebarName:a,sidebarItems:r}=t;return(0,b.jsx)(i.e3,{className:(0,o.A)(s.G.page.docsDocPage),children:(0,b.jsx)(c.V,{name:a,items:r,children:(0,b.jsx)(re,{children:n})})})}},23363:(e,t,n)=>{n.d(t,{A:()=>l});n(96540);var a=n(34164),o=n(21312),i=n(51107),s=n(74848);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.default,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.f9660984.js b/assets/js/a94703ab.f9660984.js new file mode 100644 index 00000000..6a885947 --- /dev/null +++ b/assets/js/a94703ab.f9660984.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9048],{17426:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(96540),o=n(34164),i=n(45500),s=n(17559),l=n(26972),c=n(60609),r=n(21312),d=n(23104),u=n(75062);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(74848);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,r.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(53109),x=n(56347),f=n(24581),j=n(6342),_=n(23465);function g(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const v="collapseSidebarButton_PEFL",A="collapseSidebarButtonIcon_kv0_";function k(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,r.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,r.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",v),onClick:t,children:(0,b.jsx)(g,{className:A})})}var C=n(65041),T=n(33082),S=n(89532),N=n(41422),I=n(99169),B=n(28774),y=n(92303);function w(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,r.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,r.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function L(e){let{item:t,onItemClick:n,activePath:i,level:c,index:r,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=function(e){const t=(0,y.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0),[e,t])}(t),g=(0,l.w8)(t,i),v=(0,I.ys)(x,i),{collapsed:A,setCollapsed:k}=(0,N.u)({initialState:()=>!!h&&(!g&&t.collapsed)}),{expandedItem:C,setExpandedItem:L}=(0,T.G)(),M=function(e){void 0===e&&(e=!A),L(e?null:r),k(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:g,collapsed:A,updateCollapsed:M}),(0,a.useEffect)((()=>{h&&null!=C&&C!==r&&f&&k(!0)}),[h,C,r,k,f]),(0,b.jsxs)("li",{className:(0,o.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":A},p),children:[(0,b.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(B.default,{className:(0,o.A)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":g}),onClick:h?e=>{n?.(t),x?M(!1):(e.preventDefault(),M())}:()=>{n?.(t)},"aria-current":v?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!A:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(w,{collapsed:A,categoryLabel:m,onClick:e=>{e.preventDefault(),M()}})]}),(0,b.jsx)(N.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:A,children:(0,b.jsx)(F,{items:u,tabIndex:A?-1:0,onItemClick:n,activePath:i,level:c+1})})]})}var M=n(16654),E=n(43186);const H="menuExternalLink_NmtK";function G(e){let{item:t,onItemClick:n,activePath:a,level:i,index:c,...r}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l.w8)(t,a),x=(0,M.A)(d);return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(B.default,{className:(0,o.A)("menu__link",!x&&H,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...r,children:[u,!x&&(0,b.jsx)(E.A,{})]})},u)}const R="menuHtmlItem_M9Kj";function W(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:c}=t;return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(n),l&&[R,"menu__list-item"],c),dangerouslySetInnerHTML:{__html:i}},a)}function P(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(L,{item:t,...n});case"html":return(0,b.jsx)(W,{item:t,...n});default:return(0,b.jsx)(G,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.Y)(t,n.activePath);return(0,b.jsx)(T.A,{children:a.map(((e,t)=>(0,b.jsx)(P,{item:e,index:t,...n},t)))})}const F=(0,a.memo)(D),U="menu_SIkG",V="menuWithAnnouncementBar_GW3s";function Y(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.M)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,r.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",U,l&&V,i),children:(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(F,{items:n,activePath:t,level:1})})})}const K="sidebar_njMd",z="sidebarWithHideableNavbar_wUlq",q="sidebarHidden_VK0M",O="sidebarLogo_isFc";function J(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,b.jsxs)("div",{className:(0,o.A)(K,s&&z,i&&q),children:[s&&(0,b.jsx)(_.A,{tabIndex:-1,className:O}),(0,b.jsx)(Y,{path:t,sidebar:n}),l&&(0,b.jsx)(k,{onClick:a})]})}const Q=a.memo(J);var X=n(75600),Z=n(22069);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,Z.M)();return(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(F,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(X.GX,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(Q,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,r.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,r.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(g,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function se(e){let{children:t}=e;const n=(0,c.t)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.zy)(),[c,r]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{c&&r(!1),!c&&(0,p.O)()&&r(!0),i((e=>!e))}),[i,c]);return(0,b.jsx)("aside",{className:(0,o.A)(s.G.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&r(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.A)(ie.sidebarViewport,c&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:c}),c&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const ce={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function re(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,c.t)();return(0,b.jsx)("main",{className:(0,o.A)(ce.docMainContainer,(t||!a)&&ce.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",ce.docItemWrapper,t&&ce.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,c.t)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(re,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(23363);function be(e){const t=(0,l.B5)(e);if(!t)return(0,b.jsx)(me.A,{});const{docElement:n,sidebarName:a,sidebarItems:r}=t;return(0,b.jsx)(i.e3,{className:(0,o.A)(s.G.page.docsDocPage),children:(0,b.jsx)(c.V,{name:a,items:r,children:(0,b.jsx)(ue,{children:n})})})}},23363:(e,t,n)=>{n.d(t,{A:()=>l});n(96540);var a=n(34164),o=n(21312),i=n(51107),s=n(74848);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.default,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/c578995c.8e7884ba.js b/assets/js/c578995c.cb4b50e9.js similarity index 63% rename from assets/js/c578995c.8e7884ba.js rename to assets/js/c578995c.cb4b50e9.js index 43bc71c0..c3e0f251 100644 --- a/assets/js/c578995c.8e7884ba.js +++ b/assets/js/c578995c.cb4b50e9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[5772],{71243:(e,t,n)=>{n.r(t),n.d(t,{default:()=>f});n(96540);var s=n(34164),r=n(17559),a=n(26972),i=n(99169),l=n(28774),o=n(21312),c=n(86025),d=n(74848);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const p={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function m(){const e=(0,c.Ay)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(l.default,{"aria-label":(0,o.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:p.breadcrumbHomeIcon})})})}const h={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function g(e){let{children:t,href:n,isLast:s}=e;const r="breadcrumbs__link";return s?(0,d.jsx)("span",{className:r,itemProp:"name",children:t}):n?(0,d.jsx)(l.default,{className:r,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:r,children:t})}function x(e){let{children:t,active:n,index:r,addMicrodata:a}=e;return(0,d.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(r+1)})]})}function f(){const e=(0,a.OF)(),t=(0,i.Dt)();return e?(0,d.jsx)("nav",{className:(0,s.A)(r.G.docs.docBreadcrumbs,h.breadcrumbsContainer),"aria-label":(0,o.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(m,{}),e.map(((t,n)=>{const s=n===e.length-1,r="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(x,{active:s,index:n,addMicrodata:!!r,children:(0,d.jsx)(g,{href:r,isLast:s,children:t.label})},n)}))]})}):null}},27719:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});n(96540);var s=n(21312),r=n(39022),a=n(74848);function i(e){const{previous:t,next:n}=e;return(0,a.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,a.jsx)(r.A,{...t,subLabel:(0,a.jsx)(s.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,a.jsx)(r.A,{...n,subLabel:(0,a.jsx)(s.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},4267:(e,t,n)=>{n.r(t),n.d(t,{default:()=>o});n(96540);var s=n(34164),r=n(21312),a=n(17559),i=n(23025),l=n(74848);function o(e){let{className:t}=e;const n=(0,i.r)();return n.badge?(0,l.jsx)("span",{className:(0,s.A)(t,a.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(r.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},67763:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});n(96540);var s=n(34164),r=n(65195);const a={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var i=n(74848);const l="table-of-contents__link toc-highlight",o="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,s.A)(a.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)(r.A,{...n,linkClassName:l,linkActiveClassName:o})})}},49765:(e,t,n)=>{n.r(t),n.d(t,{default:()=>u});n(96540);var s=n(34164),r=n(41422),a=n(65195),i=n(21312);const l={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};var o=n(74848);function c(e){let{collapsed:t,...n}=e;return(0,o.jsx)("button",{type:"button",...n,className:(0,s.A)("clean-btn",l.tocCollapsibleButton,!t&&l.tocCollapsibleButtonExpanded,n.className),children:(0,o.jsx)(i.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const d={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function u(e){let{toc:t,className:n,minHeadingLevel:i,maxHeadingLevel:l}=e;const{collapsed:u,toggleCollapsed:p}=(0,r.u)({initialState:!0});return(0,o.jsxs)("div",{className:(0,s.A)(d.tocCollapsible,!u&&d.tocCollapsibleExpanded,n),children:[(0,o.jsx)(c,{collapsed:u,onClick:p}),(0,o.jsx)(r.N,{lazy:!0,className:d.tocCollapsibleContent,collapsed:u,children:(0,o.jsx)(a.A,{toc:t,minHeadingLevel:i,maxHeadingLevel:l})})]})}},65195:(e,t,n)=>{n.d(t,{A:()=>g});var s=n(96540),r=n(6342);function a(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...r}=e;n>=0?t[n].children.push(r):s.push(r)})),s}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function l(e){const t=e.getBoundingClientRect();return t.top===t.bottom?l(e.parentNode):t}function o(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>l(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:r,minHeadingLevel:a,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let r=t;r<=n;r+=1)s.push(`h${r}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:a,maxHeadingLevel:i}),c=o(l,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(r),e.classList.add(r),t.current=e):e.classList.remove(r)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}var u=n(28774),p=n(74848);function m(e){let{toc:t,className:n,linkClassName:s,isChild:r}=e;return t.length?(0,p.jsx)("ul",{className:r?void 0:n,children:t.map((e=>(0,p.jsxs)("li",{children:[(0,p.jsx)(u.default,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,p.jsx)(m,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const h=s.memo(m);function g(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:c,maxHeadingLevel:u,...m}=e;const g=(0,r.p)(),x=c??g.tableOfContents.minHeadingLevel,f=u??g.tableOfContents.maxHeadingLevel,b=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return(0,s.useMemo)((()=>i({toc:a(t),minHeadingLevel:n,maxHeadingLevel:r})),[t,n,r])}({toc:t,minHeadingLevel:x,maxHeadingLevel:f});return d((0,s.useMemo)((()=>{if(l&&o)return{linkClassName:l,linkActiveClassName:o,minHeadingLevel:x,maxHeadingLevel:f}}),[l,o,x,f])),(0,p.jsx)(h,{toc:b,className:n,linkClassName:l,...m})}},95068:(e,t,n)=>{n.r(t),n.d(t,{Collapsible:()=>c.N,DraftBannerMessage:()=>_.TT,DraftBannerTitle:()=>_.Yh,ErrorBoundaryError:()=>S.bq,ErrorBoundaryErrorMessageFallback:()=>S.MN,ErrorBoundaryTryAgainButton:()=>S.a2,ErrorCauseBoundary:()=>S.k2,HtmlClassNameProvider:()=>m.e3,NavbarSecondaryMenuFiller:()=>g.GX,PageMetadata:()=>m.be,ReactContextError:()=>p.dV,SkipToContentFallbackId:()=>T.j,SkipToContentLink:()=>T.K,ThemeClassNames:()=>d.G,ThemedComponent:()=>i.A,UnlistedBannerMessage:()=>_.Uh,UnlistedBannerTitle:()=>_.Rc,UnlistedMetadata:()=>_.AE,composeProviders:()=>p.fM,createStorageSlot:()=>l.Wf,duplicates:()=>k.XI,filterDocCardListItems:()=>C,groupBy:()=>k.$z,isMultiColumnFooterLinks:()=>y.C,isRegexpStringMatch:()=>j.G,listStorageKeys:()=>l.Eo,listTagsByLetters:()=>f.Q,prefersReducedMotion:()=>u.O,processAdmonitionProps:()=>N.c,translateTagsPageTitle:()=>f.b,uniq:()=>k.sb,useClearQueryString:()=>v.W9,useCollapsible:()=>c.u,useColorMode:()=>h.G,useContextualSearchFilters:()=>M,useCurrentSidebarCategory:()=>$,useDocsPreferredVersion:()=>A,useEvent:()=>p._q,useHistorySelector:()=>v.Hl,usePluralForm:()=>o.W,usePrevious:()=>p.ZC,usePrismTheme:()=>w.A,useQueryString:()=>v.l,useQueryStringList:()=>v.fV,useSearchLinkCreator:()=>b.w,useSearchQueryString:()=>b.b,useStorageSlot:()=>l.Dv,useThemeConfig:()=>a.p,useWindowSize:()=>x.l});var s=n(44586),r=n(2967),a=n(6342),i=n(9967),l=n(70679),o=n(53465),c=n(41422),d=n(17559),u=n(53109),p=n(89532),m=n(45500),h=n(95293),g=n(75600),x=n(24581),f=n(26820),b=n(24255),y=n(53106),j=n(91252),k=n(31682),w=n(26058),N=n(88473),v=n(57485),T=n(75236),_=n(44084),S=n(12181);function $(){return n(44070).useCurrentSidebarCategory(...arguments)}function C(){return n(44070).filterDocCardListItems(...arguments)}function A(){return n(44070).useDocsPreferredVersion(...arguments)}function M(){const{i18n:e}=(0,s.default)(),t=n(44070).useDocsContextualSearchTags(),a=[r.C,...t];return{locale:e.currentLocale,tags:a}}},44084:(e,t,n)=>{n.d(t,{AE:()=>o,Rc:()=>i,TT:()=>d,Uh:()=>l,Yh:()=>c});n(96540);var s=n(21312),r=n(5260),a=n(74848);function i(){return(0,a.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,a.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,a.jsx)(r.A,{children:(0,a.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,a.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,a.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}},26820:(e,t,n)=>{n.d(t,{Q:()=>a,b:()=>r});var s=n(21312);const r=()=>(0,s.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});function a(e){const t={};return Object.values(e).forEach((e=>{const n=function(e){return e[0].toUpperCase()}(e.label);t[n]??=[],t[n].push(e)})),Object.entries(t).sort(((e,t)=>{let[n]=e,[s]=t;return n.localeCompare(s)})).map((e=>{let[t,n]=e;return{letter:t,tags:n.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}},53465:(e,t,n)=>{n.d(t,{W:()=>c});var s=n(96540),r=n(44586);const a=["zero","one","two","few","many","other"];function i(e){return a.filter((t=>e.includes(t)))}const l={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,r.default)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),l}}),[e])}function c(){const e=o();return{selectMessage:(t,n)=>function(e,t,n){const s=e.split("|");if(1===s.length)return s[0];s.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const r=n.select(t),a=n.pluralForms.indexOf(r);return s[Math.min(a,s.length-1)]}(n,t,e)}}},53966:(e,t,n)=>{const s=n(28774),r=n(63427),a=n(74848),i=e=>e&&e.__esModule?e:{default:e},l=i(s),o=i(r);t.AnchorLink=function(e){let{id:t}=e;return o.default().collectAnchor(t),a.jsxs(l.default,{className:"tsd-anchor",href:`#${t}`,children:[a.jsx("span",{className:"tsd-anchor-id",id:t}),a.jsx("i",{className:"codicon codicon-symbol-numeric"})]})}},21200:(e,t,n)=>{const s=n(96540).createContext({options:{banner:"",breadcrumbs:!0,gitRefName:"master",minimal:!1,pluginId:"default",scopes:[]},reflections:{}});t.ApiDataContext=s},89332:(e,t,n)=>{function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var s,r,a,i,l=[],o=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(s=a.call(n)).done)&&(l.push(s.value),l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=Array(t);n{}});t.ApiOptionsContext=f,t.default=function(e){let{readme:t,route:n}=e;const r=s(a.useState(!1),2),b=r[0],y=r[1],j=a.useMemo((()=>({hideInherited:b,setHideInherited:y})),[b,y]),k=l.useRequiredReflection(n.id),w=o.useReflectionMap(),N=a.useMemo((()=>function(e,t,n){const s=[],r=new Set;return e.groups?.forEach((e=>{e.children?.forEach((e=>{const a=t[e];if((!a.inheritedFrom||!n)&&!r.has(a.name)&&(!a.permalink||a.permalink.includes("#"))){const e=d.getKindIconHtml(a.kind,a.name),t=c.escapeMdx(a.name);s.push({children:[],id:a.name,value:e?`${e} ${t}`:t,level:1}),r.add(a.name)}}))})),s}(k,w,b)),[k,w,b]),v=l.useReflection(k.previousId),T=l.useReflection(k.nextId),_=a.useMemo((()=>({next:T?{permalink:T.permalink,title:c.escapeMdx(T.name)}:void 0,previous:v?{permalink:v.permalink,title:c.escapeMdx(v.name)}:void 0})),[T,v]);return x.jsx(f.Provider,{value:j,children:x.jsxs(u,{heading:x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"tsd-header-flags",children:x.jsx(m.Flags,{flags:k.flags})}),c.escapeMdx(k.name)," ",x.jsx(g.TypeParametersGeneric,{params:k.typeParameters})]}),pageMetadata:x.jsx(i.PageMetadata,{description:k.comment?.summary?p.displayPartsToMarkdown(k.comment.summary):"",title:`${k.name} | API`}),pagingMetadata:_,route:n,toc:N,children:[t&&x.jsx("section",{className:"tsd-readme",children:x.jsx(t,{})}),x.jsx(h.Reflection,{reflection:k})]})})}},55934:(e,t,n)=>{function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,s)}return n}function r(e){for(var t=1;te&&e.__esModule?e:{default:e},j=y(l),k=y(o),w=y(c),N=y(d),v=y(u),T=y(p),_=y(m);e.exports=function(e){let{children:t,heading:n,pageMetadata:s,pagingMetadata:a,toc:l}=e;const o=i.useWindowSize(),c=h.useBreadcrumbs(),d=l.length>0,u=d&&("desktop"===o||"ssr"===o);return b.jsxs(b.Fragment,{children:[s,b.jsxs("div",{className:"row",children:[b.jsxs("div",{className:"col apiItemCol",children:[b.jsx(f.VersionBanner,{}),b.jsxs("div",{className:"apiItemContainer",children:[b.jsxs("article",{children:[c&&b.jsx(j.default,{}),b.jsx(w.default,{}),d&&b.jsxs(b.Fragment,{children:[!u&&b.jsx(g,{className:"tsd-api-options-mobile"}),b.jsx(_.default,{className:`${i.ThemeClassNames.docs.docTocMobile??""} apiTocMobile`,maxHeadingLevel:6,minHeadingLevel:1,toc:l})]}),b.jsxs("div",{className:`${i.ThemeClassNames.docs.docMarkdown??""} markdown`,children:[b.jsx("header",{children:b.jsx(N.default,{as:"h1",children:n})}),b.jsx(v.default,{children:t})]}),b.jsx(x.Footer,{})]}),a&&b.jsx(k.default,r({},a))]})]}),u&&b.jsxs("div",{className:"col col--3",children:[b.jsx(g,{className:"tsd-api-options"}),b.jsx(T.default,{className:i.ThemeClassNames.docs.docTocDesktop,maxHeadingLevel:6,minHeadingLevel:1,toc:l})]})]})]})}},37839:(e,t,n)=>{const s=n(96540),r=n(89332),a=n(74848);e.exports=function(e){let{className:t}=e;const n=s.useContext(r.ApiOptionsContext),i=n.hideInherited,l=n.setHideInherited,o=s.useCallback((()=>{l(!i)}),[i,l]);return a.jsx(a.Fragment,{children:a.jsxs("div",{className:t,children:[a.jsx("div",{children:a.jsx("b",{children:"Page Options"})}),a.jsxs("label",{children:[a.jsx("input",{checked:i,type:"checkbox",onChange:o}),a.jsx("span",{children:"Hide Inherited"})]}),a.jsx("div",{})]})})}},13750:(e,t,n)=>{const s=n(96540),r=n(89370),a=n(74848);function i(e){return!!e&&Boolean(e.summary?.some((e=>"text"!==e.kind||""!==e.text))||e.blockTags&&e.blockTags?.length>0)}function l(e){return e.map((e=>"inline-tag"===e.kind?`{${e.tag} ${e.text}}`:e.text)).join("")}t.Comment=function(e){let{comment:t,root:n,hideTags:o=[]}=e;if(!t||!i(t))return null;o.push("@reference");const c=t.blockTags?.filter((e=>!o.includes(e.tag)&&"@default"!==e.tag))??[];return a.jsxs("div",{className:"tsd-comment tsd-typography "+(n?"tsd-comment-root":""),children:[!!t.summary&&a.jsx("div",{className:"lead",children:a.jsx(r.Markdown,{content:l(t.summary)})}),c.length>0&&a.jsx("dl",{className:"tsd-comment-tags",children:c.map((e=>a.jsxs(s.Fragment,{children:[a.jsx("dt",{children:a.jsx("strong",{children:e.tag})}),a.jsx("dd",{children:a.jsx(r.Markdown,{content:l(e.content)})})]},e.tag)))})]})},t.displayPartsToMarkdown=l,t.hasComment=i},21922:(e,t,n)=>{const s=n(74848);function r(e){switch(e){case"@beta":case"@experimental":return"warning";case"@alpha":return"danger";default:return"info"}}t.CommentBadges=function(e){let{comment:t}=e;const n=t.modifierTags;return s.jsx("div",{className:"badge-group",children:n.map((e=>s.jsx("span",{className:`badge badge--${r(e)}`,children:e.slice(1)},e)))})},t.isCommentWithModifiers=function(e){return!!e&&!!e.modifierTags&&e.modifierTags.length>0}},92765:(e,t,n)=>{function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,s)}return n}function r(e){for(var t=1;t"@default"===e.tag));return t?i.displayPartsToMarkdown(t.content):null}(t);return a||n?o.jsxs("span",{className:"tsd-signature-symbol",children:[" = ",n&&o.jsx(o.Fragment,{children:"string"==typeof n?n:o.jsx(l.Type,{type:n})}),!n&&a&&o.jsx(l.Type,{type:r(r({type:"literal"},"intrinsic"===s?.type?{}:s),{},{value:a})})]}):null}},72608:(e,t,n)=>{const s=n(74848);function r(e){return e.replace(/^is([A-Z])/,((e,t)=>String(t).toLocaleLowerCase()))}t.Flags=function(e){let{flags:t}=e;return t?s.jsx(s.Fragment,{children:Object.keys(t).map(r).map((e=>s.jsx("span",{className:`tsd-flag tsd-flag-${e}`,children:e},e)))}):null}},80360:(e,t,n)=>{const s=n(74848);t.Footer=function(){return s.jsxs("footer",{className:"tsd-footer",children:["Powered by"," ",s.jsx("a",{href:"https://github.com/milesj/docusaurus-plugin-typedoc-api",children:"docusaurus-plugin-typedoc-api"})," ","and ",s.jsx("a",{href:"https://typedoc.org/",children:"TypeDoc"})]})}},76832:(e,t,n)=>{const s=n(43871),r=n(74848);t.Hierarchy=function e(t){let{tree:n}=t;return r.jsx("ul",{className:"tsd-hierarchy",children:n.types.map(((t,a)=>r.jsxs("li",{children:[n.isTarget?r.jsx("em",{className:"tsd-target",children:"reference"===t.type?t.name:"UNKNOWN"}):r.jsx(s.Type,{type:t}),a===n.types.length-1&&n.next&&r.jsx(e,{tree:n.next})]},t.type+String(a))))})}},1266:(e,t,n)=>{const s=n(51430),r=n(74848);t.Icon=function(e){let{reflection:t}=e;const n=s.getKindIcon(t.kind,t.name);if(!n)return null;const a=s.getKindIconColor(t.kind);return r.jsx("i",{className:`codicon codicon-${n}`,style:{color:a}})}},25915:(e,t,n)=>{const s=n(96540),r=n(28774),a=n(29671),i=n(97089),l=n(53966),o=n(1266),c=n(74848),d=(e=>e&&e.__esModule?e:{default:e})(r);function u(e){let{id:t}=e;const n=a.useRequiredReflection(t);return c.jsx("li",{children:c.jsxs(d.default,{className:"tsd-kind-icon",to:n.permalink??`#${n.name}`,children:[c.jsx(o.Icon,{reflection:n}),i.escapeMdx(n.name)]})})}t.Index=function(e){let{reflection:t}=e;return t.categories&&t.categories.length>0?c.jsxs("section",{className:"tsd-panel-group tsd-index-group",children:[c.jsxs("h2",{children:["Index ",c.jsx(l.AnchorLink,{id:"Index"})]}),c.jsx("section",{className:"tsd-panel tsd-index-panel",children:c.jsx("div",{className:"tsd-index-content",children:t.categories.map((e=>c.jsxs("section",{className:"tsd-index-section",children:[c.jsx("h3",{className:"tsd-panel-header",children:"__CATEGORY__"===e.title?"Other":e.title}),c.jsx("div",{className:"tsd-panel-content",children:c.jsx("ul",{className:"tsd-index-list",children:e.children?.map((e=>c.jsx(u,{id:e},e)))})})]},e.title)))})})]}):t.groups&&t.groups.length>0?c.jsxs("section",{className:"tsd-panel-group tsd-index-group",children:[c.jsxs("h2",{children:["Index ",c.jsx(l.AnchorLink,{id:"Index"})]}),c.jsx("section",{className:"tsd-panel tsd-index-panel",children:c.jsx("div",{className:"tsd-index-content",children:t.groups.map((e=>c.jsx("section",{className:"tsd-index-section",children:e.categories&&e.categories.length>0?e.categories.map((t=>c.jsxs(s.Fragment,{children:[c.jsx("h3",{className:"tsd-panel-header",children:"__CATEGORY__"===t.title?e.title:t.title}),c.jsx("div",{className:"tsd-panel-content",children:c.jsx("ul",{className:"tsd-index-list",children:t.children?.map((e=>c.jsx(u,{id:e},e)))})})]},t.title))):c.jsxs(c.Fragment,{children:[c.jsx("h3",{className:"tsd-panel-header",children:e.title}),c.jsx("div",{className:"tsd-panel-content",children:c.jsx("ul",{className:"tsd-index-list",children:e.children?.map((e=>c.jsx(u,{id:e},e)))})})]})},e.title)))})})]}):null}},89370:(e,t,n)=>{function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var s,r,a,i,l=[],o=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(s=a.call(n)).done)&&(l.push(s.value),l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=Array(t);ne&&e.__esModule?e:{default:e},g=h(c),x=h(d),f=/^:{3}([a-z]+)? *(.*)\n/;i.marked.setOptions({gfm:!0}),i.marked.use(l.markedSmartypants()),i.marked.use({extensions:[{name:"admonition",level:"block",start:e=>e.match(f)?.index,tokenizer(e,t){const n=f.exec(e);if(n){const t=n[1]??"info",s=n[2]?n[2].trim():void 0,r=n.index,a=r+n[0].length,i=e.indexOf("\n:::",a),l=i+4,o={type:"admonition",raw:e.slice(r,l),text:e.slice(a,i),title:s,keyword:t,tokens:[]};return this.lexer.blockTokens(o.text,o.tokens),o}}}]});const b={blockquote:"blockquote",br:"br",code:"pre",codespan:"code",def:"span",del:"del",em:"em",escape:"span",hr:"hr",html:"div",paragraph:"p",strong:"strong",table:"table",tablecell:"td",tablerow:"tr"};function y(e){const t=[];let n=0;if(e.forEach((e=>{const s=e.tokens??[];switch(e.type){case"code":t.push(m.jsx(g.default,{language:e.lang,children:e.text},n));break;case"codespan":t.push(m.jsx(x.default.code,{children:e.raw.slice(1,-1)},n));break;case"heading":{const r=x.default[`h${e.depth}`];t.push(m.jsx(r,{children:y(s)??e.text},n));break}case"image":t.push(m.jsx(x.default.img,{alt:e.title??"",src:e.href},n));break;case"link":t.push(m.jsx(x.default.a,{href:e.href,title:e.title??"",children:y(s)??e.text},n));break;case"list":{const r=e.ordered?"ol":"ul";t.push(m.jsx(r,{children:y(e.items??s)},n));break}case"list_item":t.push(m.jsxs("li",{children:[e.task&&m.jsxs(m.Fragment,{children:[m.jsx("input",{checked:e.checked,type:"checkbox"})," "]}),y(s)??e.text]},n));break;case"space":t.push(e.raw||" ");break;case"table":t.push(m.jsxs("table",{children:[m.jsx("thead",{children:m.jsx("tr",{children:e.header.map(((t,n)=>m.jsx("th",{align:e.align[n]??"left",children:y(t.tokens)},n)))})}),m.jsx("tbody",{children:e.rows.map(((t,n)=>m.jsx("tr",{children:t.map(((t,s)=>m.jsx("td",{align:e.align[n]??"left",children:y(t.tokens)},s)))},n)))})]},n));break;case"text":t.push(0===s.length?e.text:m.jsx(a.Fragment,{children:y(s)},n));break;case"admonition":t.push(m.jsx(x.default.admonition,{title:e.title,type:e.keyword,children:y(s)??e.text},n));break;default:{const r=b[e.type]||e.type,a="text"in e?e.text:"";t.push(m.jsx(r,{children:y(s)??a},n));break}}n+=1})),0!==t.length)return t}t.Markdown=function(e){let{content:t}=e;const n=u.useReflectionMap(),r=o.useDocsVersion(),l=o.useDocsData(r.pluginId),c=s(a.useState((()=>i.marked.lexer(p.replaceLinkTokens(t,n,r,l.path)))),1)[0];return t?m.jsx("div",{className:"tsd-markdown markdown",children:y(c)}):null}},76525:(e,t,n)=>{const s=n(96540),r=n(29671),a=n(37993),i=n(97089),l=n(50042),o=n(53966),c=n(89332),d=n(21922),u=n(72608),p=n(57381),m=n(77309),h=n(76388),g=n(61226),x=n(7138),f=n(74848);t.Member=function e(t){let{id:n}=t;const b=a.useReflectionMap(),y=r.useRequiredReflection(n),j=y.comment;let k=null;const w=s.useContext(c.ApiOptionsContext),N=!!y.inheritedFrom&&w.hideInherited;return k=y.signatures?f.jsx(g.MemberSignatures,{inPanel:!0,sigs:y.signatures}):y.getSignature||y.setSignature?f.jsx(m.MemberGetterSetter,{inPanel:!0,getter:y.getSignature,setter:y.setSignature}):"target"in y&&y.target?f.jsx(h.MemberReference,{reflection:y}):f.jsx(p.MemberDeclaration,{id:n}),!N&&f.jsxs("section",{className:"tsd-panel tsd-member",children:[f.jsxs("h3",{className:"tsd-panel-header",children:[f.jsx(o.AnchorLink,{id:y.name}),f.jsx(x.SourceLink,{sources:y.sources}),f.jsx(u.Flags,{flags:y.flags}),i.escapeMdx(y.name),d.isCommentWithModifiers(j)&&f.jsx(d.CommentBadges,{comment:j})]}),k,y.groups?.map((t=>f.jsx(s.Fragment,{children:t.children?.map((t=>l.hasOwnDocument(t,b)?null:f.jsx(e,{id:t},t)))},t.title)))]})}},57381:(e,t,n)=>{const s=n(78621),r=n(29671),a=n(97089),i=n(13750),l=n(92765),o=n(1266),c=n(84883),d=n(36364),u=n(43871),p=n(18107),m=n(4474),h=n(74848);t.MemberDeclaration=function(e){let{id:t}=e;const n=r.useRequiredReflection(t),g=s.useMinimalLayout(),x=n.typeParameters&&n.typeParameters.length>0,f=!g&&u.extractDeclarationFromType(n.type);return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"tsd-panel-content",children:h.jsxs("div",{className:"tsd-signature tsd-kind-icon",children:[h.jsx(o.Icon,{reflection:n}),a.escapeMdx(n.name),h.jsx(m.TypeParametersGeneric,{params:n.typeParameters}),h.jsxs("span",{className:"tsd-signature-symbol",children:[n.flags?.isOptional&&"?",": "]})," ",h.jsx(u.Type,{type:n.type}),h.jsx(l.DefaultValue,{comment:n.comment,type:n.type,value:n.defaultValue})]})}),h.jsxs("div",{className:"tsd-panel-content",children:[h.jsx(c.MemberSources,{reflection:n}),h.jsx(i.Comment,{comment:n.comment}),i.hasComment(n.comment)&&(x||f)&&h.jsx("hr",{className:"tsd-divider"}),x&&h.jsxs("div",{className:"tds-type-parameters",children:[h.jsx("h4",{className:"tsd-type-parameters-title",children:"Type parameters"}),h.jsx(p.TypeParameters,{params:n.typeParameters})]}),f&&h.jsxs("div",{className:"tsd-type-declaration",children:[h.jsx("h4",{children:"Type declaration"}),h.jsx(d.Parameter,{param:u.extractDeclarationFromType(n.type)})]})]})]})}},77309:(e,t,n)=>{const s=n(78621),r=n(97089),a=n(1266),i=n(37171),l=n(78761),o=n(74848);t.MemberGetterSetter=function(e){let{inPanel:t,getter:n,setter:c}=e;const d=s.useMinimalLayout();return n||c?o.jsxs(o.Fragment,{children:[(n||c)&&o.jsx("div",{className:t?"tsd-panel-content":"",children:o.jsxs("ul",{className:"tsd-signatures",children:[n&&o.jsxs("li",{className:"tsd-signature tsd-kind-icon",children:[o.jsx(a.Icon,{reflection:n}),o.jsx("span",{className:"tsd-signature-symbol",children:"get "}),r.escapeMdx(n.name),o.jsx(l.MemberSignatureTitle,{hideName:!0,sig:n})]}),c&&o.jsxs("li",{className:"tsd-signature tsd-kind-icon",children:[o.jsx(a.Icon,{reflection:c}),o.jsx("span",{className:"tsd-signature-symbol",children:"set "}),r.escapeMdx(c.name),o.jsx(l.MemberSignatureTitle,{hideName:!0,sig:c})]})]})}),(i.hasSigBody(n,d)||i.hasSigBody(c,d))&&o.jsx("div",{className:t?"tsd-panel-content":"",children:o.jsxs("ul",{className:"tsd-descriptions",children:[n&&o.jsx("li",{className:"tsd-description",children:o.jsx(i.MemberSignatureBody,{sig:n})}),c&&o.jsx("li",{className:"tsd-description",children:o.jsx(i.MemberSignatureBody,{sig:c})})]})})]}):null}},76388:(e,t,n)=>{const s=n(28774),r=n(29671),a=n(97089),i=n(74848),l=(e=>e&&e.__esModule?e:{default:e})(s);t.MemberReference=function(e){let{reflection:t}=e;const n=r.useReflection(t.target);let s=null;return s=n?t.name===n.name?i.jsxs(i.Fragment,{children:["Re-exports"," ",i.jsx(l.default,{className:"tsd-signature-type",to:n.permalink,children:a.escapeMdx(n.name)})]}):i.jsxs(i.Fragment,{children:["Renames and re-exports"," ",i.jsx(l.default,{className:"tsd-signature-type",to:n.permalink,children:a.escapeMdx(n.name)})]}):i.jsxs(i.Fragment,{children:["Re-exports ",i.jsx("span",{className:"tsd-signature-type",children:a.escapeMdx(t.name)})]}),i.jsx("div",{className:"tsd-panel-content",children:s})}},37171:(e,t,n)=>{const s=n(96540),r=n(78621),a=n(13750),i=n(21922),l=n(92765),o=n(72608),c=n(84883),d=n(36364),u=n(43871),p=n(18107),m=n(74848);function h(e){if(e?.blockTags){const t=e.blockTags.map((e=>e.tag));if(t.includes("@returns")){const n=t.indexOf("@returns");return{summary:e.blockTags[n].content}}}}const g=["@returns","@param"];t.MemberSignatureBody=function(e){let{hideSources:t,sig:n}=e;const x=r.useMinimalLayout(),f=n.typeParameter&&n.typeParameter.length>0,b=!x&&n.parameters&&n.parameters.length>0,y=!x&&n.type;return m.jsxs(m.Fragment,{children:[!t&&m.jsx(c.MemberSources,{reflection:n}),i.isCommentWithModifiers(n.comment)&&m.jsx(i.CommentBadges,{comment:n.comment}),m.jsx(a.Comment,{comment:n.comment,hideTags:g}),a.hasComment(n.comment)&&(f||b||y)&&m.jsx("hr",{className:"tsd-divider"}),f&&m.jsxs(m.Fragment,{children:[m.jsx("h4",{className:"tsd-type-parameters-title",children:"Type parameters"}),m.jsx(p.TypeParameters,{params:n.typeParameter})]}),b&&m.jsxs(m.Fragment,{children:[m.jsx("h4",{className:"tsd-parameters-title",children:"Parameters"}),m.jsx("ul",{className:"tsd-parameters",children:n.parameters?.map((e=>m.jsxs(s.Fragment,{children:[m.jsxs("li",{children:[m.jsxs("h5",{children:[m.jsx(o.Flags,{flags:e.flags}),e.flags?.isRest&&m.jsx("span",{className:"tsd-signature-symbol",children:"..."}),`${e.name}: `,m.jsx(u.Type,{type:e.type}),m.jsx(l.DefaultValue,{comment:e.comment,type:e.type,value:e.defaultValue})]}),m.jsx(a.Comment,{comment:e.comment})]}),"reflection"===e.type?.type&&m.jsx("ul",{children:e.type.declaration?.children?.map((e=>m.jsxs("li",{children:[m.jsxs("h5",{children:[m.jsx(o.Flags,{flags:e.flags}),e.flags?.isRest&&m.jsx("span",{className:"tsd-signature-symbol",children:"..."}),`${e.name}: `,m.jsx(u.Type,{type:e.type}),m.jsx(l.DefaultValue,{comment:e.comment,type:e.type,value:e.defaultValue})]}),m.jsx(a.Comment,{comment:e.comment})]},e.id)))},e.type.declaration.id),"union"===e.type?.type&&e.type.types.filter((e=>"reflection"===e.type)).map((e=>m.jsx("ul",{children:e.declaration?.children?.map((e=>m.jsxs("li",{children:[m.jsxs("h5",{children:[m.jsx(o.Flags,{flags:e.flags}),e.flags?.isRest&&m.jsx("span",{className:"tsd-signature-symbol",children:"..."}),`${e.name}: `,m.jsx(u.Type,{type:e.type}),m.jsx(l.DefaultValue,{comment:e.comment,type:e.type,value:e.defaultValue})]}),m.jsx(a.Comment,{comment:e.comment})]},e.id)))},e.declaration.id)))]},e.id)))})]}),y&&m.jsxs(m.Fragment,{children:[m.jsxs("h4",{className:"tsd-returns-title",children:["Returns ",m.jsx(u.Type,{type:n.type})]}),m.jsx(a.Comment,{comment:h(n.comment)}),m.jsx(d.Parameter,{param:u.extractDeclarationFromType(n.type)})]})]})},t.hasSigBody=function(e,t,n){return void 0===n&&(n=!1),!!e&&(!n&&c.hasSources(e)||a.hasComment(e.comment)||e.typeParameter&&e.typeParameter.length>0||!t&&e.parameters&&e.parameters.length>0||!t&&e.type)}},78761:(e,t,n)=>{const s=n(96540),r=n(97089),a=n(43871),i=n(4474),l=n(74848);t.MemberSignatureTitle=function(e){let{useArrow:t,hideName:n,sig:o}=e;return l.jsxs(l.Fragment,{children:[n||"__type"===o.name?16384===o.kind?l.jsxs(l.Fragment,{children:[o.flags?.isAbstract&&l.jsx("span",{className:"tsd-signature-symbol",children:"abstract "}),l.jsx("span",{className:"tsd-signature-symbol",children:"new "})]}):null:r.escapeMdx(o.name),l.jsx(i.TypeParametersGeneric,{params:o.typeParameter}),l.jsx("span",{className:"tsd-signature-symbol",children:"("}),o.parameters?.map(((e,t)=>l.jsxs(s.Fragment,{children:[t>0&&l.jsx("span",{className:"tsd-signature-symbol",children:", "}),l.jsxs("span",{children:[e.flags?.isRest&&l.jsx("span",{className:"tsd-signature-symbol",children:"..."}),e.name,l.jsxs("span",{className:"tsd-signature-symbol",children:[(e.flags?.isOptional||"defaultValue"in e)&&"?",": "]}),l.jsx(a.Type,{type:e.type})]})]},e.id))),l.jsx("span",{className:"tsd-signature-symbol",children:")"}),o.type&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:t?" => ":": "}),l.jsx(a.Type,{type:o.type})]})]})}},61226:(e,t,n)=>{function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var s,r,a,i,l=[],o=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(s=a.call(n)).done)&&(l.push(s.value),l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=Array(t);n1,g=n[u];return d.jsxs(d.Fragment,{children:[d.jsx("div",{className:t?"tsd-panel-content":"",children:d.jsx("ul",{className:"tsd-signatures",children:n.map(((e,t)=>d.jsxs("li",{className:`tsd-signature tsd-kind-icon ${t===u?"":"tsd-signature-inactive"} ${h?"tsd-pressable":""}`,onClick:h?()=>{p(t)}:void 0,children:[d.jsx(l.Icon,{reflection:e}),d.jsx(c.MemberSignatureTitle,{sig:e})]},e.id)))})}),o.hasSigBody(g,m)&&d.jsxs(d.Fragment,{children:[!t&&d.jsx("hr",{className:"tsd-divider"}),d.jsx("div",{className:t?"tsd-panel-content":"",children:d.jsx("ul",{className:"tsd-descriptions",children:d.jsx("li",{className:"tsd-description",children:d.jsx(o.MemberSignatureBody,{sig:g})},g.id)})})]})]})}},84883:(e,t,n)=>{const s=n(48962),r=n(74848);function a(e){return Boolean(e.implementationOf||e.inheritedFrom||e.overwrites)}t.MemberSources=function(e){let{reflection:t}=e;return a(t)?r.jsxs("aside",{className:"tsd-sources",children:[t.implementationOf&&r.jsxs("p",{children:["Implementation of ",r.jsx(s.TypeAndParent,{type:t.implementationOf})]}),t.inheritedFrom&&r.jsxs("p",{children:["Inherited from ",r.jsx(s.TypeAndParent,{type:t.inheritedFrom})]}),t.overwrites&&r.jsxs("p",{children:["Overrides ",r.jsx(s.TypeAndParent,{type:t.overwrites})]})]}):null},t.hasSources=a},95592:(e,t,n)=>{const s=n(37993),r=n(50042),a=n(53966),i=n(76525),l=n(78333),o=n(74848);t.Members=function(e){let{reflection:t}=e;const n=s.useReflectionMap();return t.categories&&t.categories.length>0?o.jsx(o.Fragment,{children:t.categories.map((e=>r.allCategoryChildrenHaveOwnDocument(e,n)?null:o.jsxs("section",{className:"tsd-panel-group tsd-member-group",children:[o.jsxs("h2",{children:["__CATEGORY__"===e.title?"Other":e.title," ",o.jsx(a.AnchorLink,{id:e.title})]}),e.children?.map((e=>r.hasOwnDocument(e,n)?null:o.jsx(i.Member,{id:e},e)))]},e.title)))}):o.jsx(o.Fragment,{children:t.groups?.map((e=>r.allGroupChildrenHaveOwnDocument(e,n)?null:o.jsx(l.MembersGroup,{group:e},e.title)))})}},78333:(e,t,n)=>{const s=n(37993),r=n(50042),a=n(53966),i=n(76525),l=n(74848);t.MembersGroup=function(e){let{group:t}=e;const n=s.useReflectionMap();return t.categories&&t.categories.length>0?l.jsx(l.Fragment,{children:t.categories.map((e=>l.jsxs("section",{className:"tsd-panel-group tsd-member-group",children:[l.jsxs("h2",{children:["__CATEGORY__"===e.title?"Other":e.title," ",l.jsx(a.AnchorLink,{id:e.title})]}),e.children?.map((e=>r.hasOwnDocument(e,n)?null:l.jsx(i.Member,{id:e},e)))]},e.title)))}):l.jsxs("section",{className:"tsd-panel-group tsd-member-group",children:[l.jsxs("h2",{children:[t.title," ",l.jsx(a.AnchorLink,{id:t.title})]}),t.children?.map((e=>r.hasOwnDocument(e,n)?null:l.jsx(i.Member,{id:e},e)))]})}},36364:(e,t,n)=>{const s=n(78621),r=n(13750),a=n(72608),i=n(1266),l=n(37171),o=n(61226),c=n(78761),d=n(43871),u=n(74848);function p(e){let{param:t}=e;if(!t)return null;if(t.signatures&&t.signatures.length>0)return u.jsxs("li",{className:"tsd-parameter",children:[u.jsxs("h5",{children:[t.flags?.isRest&&u.jsx("span",{className:"tsd-signature-symbol",children:"..."}),t.name,u.jsxs("span",{className:"tsd-signature-symbol",children:[t.flags?.isOptional&&"?",": "]}),"function"]}),u.jsx(o.MemberSignatures,{sigs:t.signatures})]});if(t.type)return u.jsxs("li",{className:"tsd-parameter",children:[u.jsxs("h5",{children:[u.jsx(a.Flags,{flags:t.flags}),t.flags?.isRest&&u.jsx("span",{className:"tsd-signature-symbol",children:"..."}),t.name,u.jsxs("span",{className:"tsd-signature-symbol",children:[t.flags?.isOptional&&"?",": "]}),u.jsx(d.Type,{type:t.type})]}),u.jsx(r.Comment,{comment:t.comment}),t.children?.map((e=>u.jsx(m,{param:e},e.id))),u.jsx(m,{param:d.extractDeclarationFromType(t.type)})]});const n=t.getSignature,s=t.setSignature;return u.jsxs(u.Fragment,{children:[n&&u.jsxs("li",{className:"tsd-parameter",children:[u.jsxs("h5",{children:[u.jsx(a.Flags,{flags:n.flags}),u.jsx("span",{className:"tsd-signature-symbol",children:"get "}),n.name,u.jsx("span",{className:"tsd-signature-symbol",children:"(): "}),u.jsx(d.Type,{type:n.type})]}),u.jsx(r.Comment,{comment:n.comment})]}),s&&u.jsxs("li",{className:"tsd-parameter",children:[u.jsxs("h5",{children:[u.jsx(a.Flags,{flags:s.flags}),u.jsx("span",{className:"tsd-signature-symbol",children:"set "}),s.name,u.jsx("span",{className:"tsd-signature-symbol",children:"("}),s.parameters?.map(((e,t)=>u.jsxs("span",{children:[t>0&&", ",e.name,u.jsx("span",{className:"tsd-signature-symbol",children:": "}),e.type?u.jsx(d.Type,{type:e.type}):"any"]},e.id))),u.jsx("span",{className:"tsd-signature-symbol",children:"): "}),u.jsx(d.Type,{type:s.type})]}),u.jsx(r.Comment,{comment:s.comment})]})]})}function m(e){let{param:t}=e;const n=s.useMinimalLayout();if(!t||n)return null;const a=t.signatures?.some((e=>l.hasSigBody(e,n,!0)));return u.jsxs("ul",{className:"tsd-parameters",children:[t.signatures&&t.signatures.length>0&&u.jsxs("li",{className:"tsd-parameter-signature",children:[u.jsx("ul",{className:"tsd-signatures",children:t.signatures.map((e=>u.jsxs("li",{className:"tsd-signature tsd-kind-icon",children:[u.jsx(i.Icon,{reflection:e}),u.jsx(c.MemberSignatureTitle,{hideName:!0,sig:e})]},e.id)))}),a&&u.jsx("ul",{className:"tsd-descriptions",children:t.signatures.map((e=>u.jsx("li",{className:"tsd-description",children:u.jsx(l.MemberSignatureBody,{hideSources:!0,sig:e})},e.id)))})]}),t.indexSignature&&u.jsxs("li",{className:"tsd-parameter-index-signature",children:[u.jsxs("h5",{children:[u.jsx("span",{className:"tsd-signature-symbol",children:"["}),t.indexSignature.parameters?.map((e=>u.jsxs("span",{children:[e.flags?.isRest&&u.jsx("span",{className:"tsd-signature-symbol",children:"..."}),e.name," ",u.jsx(d.Type,{type:e.type})]},e.id))),u.jsx("span",{className:"tsd-signature-symbol",children:"]: "}),u.jsx(d.Type,{type:t.indexSignature.type})]}),u.jsx(r.Comment,{comment:t.indexSignature.comment}),u.jsx(m,{param:d.extractDeclarationFromType(t.indexSignature)})]}),t.children?.map((e=>u.jsx(p,{param:e},e.id)))]})}t.Parameter=m},93294:(e,t,n)=>{const s=n(96540),r=n(14331),a=n(13750),i=n(21922),l=n(76832),o=n(1266),c=n(25915),d=n(95592),u=n(61226),p=n(36364),m=n(43871),h=n(18107),g=n(74848);t.Reflection=function(e){let{reflection:t}=e;const n=s.useMemo((()=>r.createHierarchy(t)),[t]);return g.jsxs(g.Fragment,{children:[i.isCommentWithModifiers(t.comment)&&g.jsx(i.CommentBadges,{comment:t.comment}),a.hasComment(t.comment)&&g.jsx(a.Comment,{root:!0,comment:t.comment}),"typeParameter"in t&&t.typeParameter&&t.typeParameter.length>0&&128!==t.kind&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header",children:"Type parameters"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx(h.TypeParameters,{params:t.typeParameter})})]}),("extendedBy"in t&&t.extendedBy&&t.extendedBy.length>0||"extendedTypes"in t&&t.extendedTypes&&t.extendedTypes.length>0)&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header",children:"Hierarchy"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx(l.Hierarchy,{tree:n})})]}),"implementedTypes"in t&&t.implementedTypes&&t.implementedTypes.length>0&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header",children:"Implements"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx("ul",{className:"tsd-hierarchy",children:t.implementedTypes.map(((e,t)=>g.jsx("li",{children:g.jsx(m.Type,{type:e})},e.type+String(t))))})})]}),"implementedBy"in t&&t.implementedBy&&t.implementedBy.length>0&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header",children:"Implemented by"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx("ul",{className:"tsd-hierarchy",children:t.implementedBy.map(((e,t)=>g.jsx("li",{children:g.jsx(m.Type,{type:e})},e.name+String(t))))})})]}),"signatures"in t&&t.signatures&&t.signatures.length>0&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header tsd-before-signature",children:"Callable"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx(u.MemberSignatures,{sigs:t.signatures})})]}),"indexSignature"in t&&t.indexSignature&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header tsd-before-signature",children:"Indexable"}),g.jsxs("div",{className:"tsd-panel-content",children:[g.jsxs("div",{className:"tsd-signature tsd-kind-icon",children:[g.jsx(o.Icon,{reflection:t.indexSignature}),g.jsx("span",{className:"tsd-signature-symbol",children:"["}),t.indexSignature.parameters?.map((e=>g.jsxs("span",{children:[e.name,": ",g.jsx(m.Type,{type:e.type})]},e.id))),g.jsx("span",{className:"tsd-signature-symbol",children:"]: "}),g.jsx(m.Type,{type:t.indexSignature.type})]}),g.jsx(a.Comment,{comment:t.indexSignature.comment}),g.jsx(p.Parameter,{param:m.extractDeclarationFromType(t.indexSignature.type)})]})]}),g.jsx(c.Index,{reflection:t}),g.jsx(d.Members,{reflection:t})]})}},7138:(e,t,n)=>{const s=n(44586),r=n(95144),a=n(74848),i=(e=>e&&e.__esModule?e:{default:e})(s);t.SourceLink=function(e){let{sources:t=[]}=e;const n=i.default().siteConfig,s=r.useGitRefName();return 0===t.length?null:a.jsx(a.Fragment,{children:t.map((e=>{return a.jsx("a",{className:"tsd-anchor",href:e.url||`https://${n.githubHost}${n.githubPort?`:${n.githubPort}`:""}/${n.organizationName}/${n.projectName}/blob/${s}/${t=e.fileName,t.replace(/\/(dts|dist|lib|build|es|esm|cjs|mjs)\//,"/src/")}#L${e.line}`,rel:"noreferrer",target:"_blank",children:a.jsx("i",{className:"codicon codicon-file-code"})},e.fileName);var t}))})}},43871:(e,t,n)=>{const s=n(96540),r=n(28774),a=n(37993),i=n(78761),l=n(74848),o=(e=>e&&e.__esModule?e:{default:e})(r);function c(e,t){return t?l.jsxs(l.Fragment,{children:[t&&l.jsx("span",{className:"tsd-signature-symbol",children:"("}),e,t&&l.jsx("span",{className:"tsd-signature-symbol",children:")"})]}):e}t.Type=function e(t){let{needsParens:n=!1,type:r}=t;const d=a.useReflectionMap();if(!r)return null;switch(String(r.type)){case"array":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx(e,{needsParens:!0,type:t.elementType}),l.jsx("span",{className:"tsd-signature-symbol",children:"[]"})]})}case"conditional":{const t=r;return c(l.jsxs(l.Fragment,{children:[l.jsx(e,{needsParens:!0,type:t.checkType}),l.jsx("span",{className:"tsd-signature-symbol",children:" extends "}),l.jsx(e,{type:t.extendsType}),l.jsx("span",{className:"tsd-signature-symbol",children:" ? "}),l.jsx(e,{type:t.trueType}),l.jsx("span",{className:"tsd-signature-symbol",children:" : "}),l.jsx(e,{type:t.falseType})]}),n)}case"indexedAccess":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx(e,{type:t.objectType}),l.jsx("span",{className:"tsd-signature-symbol",children:"["}),l.jsx(e,{type:t.indexType}),l.jsx("span",{className:"tsd-signature-symbol",children:"]"})]})}case"inferred":{const e=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"infer "})," ",e.name]})}case"intersection":{const t=r;return c(l.jsx(l.Fragment,{children:t.types.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:" & "}),l.jsx(e,{needsParens:!0,type:t})]},t.type+n)))}),n)}case"intrinsic":{const e=r;return l.jsx("span",{className:"tsd-signature-type",children:e.name})}case"literal":{const e=r;return l.jsx("span",{className:"tsd-signature-type",children:String(e.value)})}case"mapped":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"{ "}),"+"===t.readonlyModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:"readonly "}),"-"===t.readonlyModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:"-readonly "}),l.jsx("span",{className:"tsd-signature-symbol",children:"[ "}),l.jsx("span",{className:"tsd-signature-type",children:t.parameter}),l.jsx("span",{className:"tsd-signature-symbol",children:" in "}),l.jsx(e,{type:t.parameterType}),t.nameType&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:" as "}),l.jsx(e,{type:t.nameType})]}),l.jsx("span",{className:"tsd-signature-symbol",children:" ]"}),"+"===t.optionalModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:"?: "}),"-"===t.optionalModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:"-?: "}),!t.optionalModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:": "}),l.jsx(e,{type:t.templateType}),l.jsx("span",{className:"tsd-signature-symbol",children:" }"})]})}case"optional":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx(e,{type:t.elementType}),l.jsx("span",{className:"tsd-signature-symbol",children:"?"})]})}case"predicate":{const t=r;return l.jsxs(l.Fragment,{children:[t.asserts&&l.jsx("span",{className:"tsd-signature-symbol",children:"asserts "}),l.jsx("span",{className:"tsd-signature-type",children:t.name}),t.targetType&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:" is "}),l.jsx(e,{type:t.targetType})]})]})}case"query":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"typeof "}),l.jsx(e,{type:t.queryType})]})}case"reference":{const t=r,n=t.target?d[Number(t.target)]:null,a=n?.id&&!n.sources?"tsd-signature-type-generic":"";return l.jsxs(l.Fragment,{children:[n?.permalink?l.jsx(o.default,{className:`tsd-signature-type ${a}`,"data-tsd-kind":n.kind,to:n.permalink,children:t.name}):l.jsx("span",{className:`tsd-signature-type ${a}`,children:t.name}),t.typeArguments&&t.typeArguments.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"<"}),t.typeArguments.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:", "}),l.jsx(e,{type:t})]},t.type+n))),l.jsx("span",{className:"tsd-signature-symbol",children:">"})]})]})}case"reflection":{const t=r.declaration;return t?.children&&t.children.length>0?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"{ "}),t.children.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:"; "}),l.jsxs("span",{children:[t.name,l.jsxs("span",{className:"tsd-signature-symbol",children:[t.flags?.isOptional&&"?",": "]}),t.type?l.jsx(e,{type:t.type}):"any"]})]},t.id??n))),l.jsx("span",{className:"tsd-signature-symbol",children:" }"})]}):t?.signatures&&1===t.signatures.length?l.jsx(i.MemberSignatureTitle,{hideName:!0,useArrow:!0,sig:t.signatures[0]}):t?.signatures&&t.signatures.length>0?c(l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"{ "}),t.signatures.map(((e,t)=>l.jsxs(s.Fragment,{children:[t>0&&l.jsx("span",{className:"tsd-signature-symbol",children:"; "}),l.jsx(i.MemberSignatureTitle,{sig:e})]},e.id??t))),l.jsx("span",{className:"tsd-signature-symbol",children:" }"})]}),n):l.jsx(l.Fragment,{children:"{}"})}case"rest":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"..."}),l.jsx(e,{type:t.elementType})]})}case"tuple":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"["}),t.elements?.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:", "}),l.jsx(e,{type:t})]},t.type+n))),l.jsx("span",{className:"tsd-signature-symbol",children:"]"})]})}case"typeOperator":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"tsd-signature-symbol",children:[t.operator," "]}),l.jsx(e,{type:t.target})]})}case"union":{const t=r;return c(l.jsx(l.Fragment,{children:t.types.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:" | "}),l.jsx(e,{needsParens:!0,type:t})]},t.type+n)))}),n)}case"unknown":{const e=r;return l.jsx("span",{className:"tsd-signature-type",children:e.name})}case"named-tuple-member":case"namedTupleMember":{const t=r;return l.jsxs(l.Fragment,{children:[t.name,l.jsx("span",{className:"tsd-signature-symbol",children:t.isOptional?"?: ":": "}),l.jsx(e,{type:t.element})]})}case"template-literal":case"templateLiteral":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"`"}),t.head&&l.jsx("span",{className:"tsd-signature-type",children:t.head}),t.tail.map(((t,n)=>l.jsxs(s.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"${"}),"string"!=typeof t[0]&&l.jsx(e,{type:t[0]}),l.jsx("span",{className:"tsd-signature-symbol",children:"}"}),"string"==typeof t[1]&&l.jsx("span",{className:"tsd-signature-type",children:t[1]})]},n))),l.jsx("span",{className:"tsd-signature-symbol",children:"`"})]})}default:return l.jsx("span",{className:"tsd-signature-type",children:"void"})}},t.extractDeclarationFromType=function(e){if(e)return e?.declaration}},48962:(e,t,n)=>{const s=n(43871),r=n(74848);t.TypeAndParent=function e(t){let{type:n}=t;return n?"elementType"in n&&n.elementType?r.jsxs(r.Fragment,{children:[r.jsx(e,{type:n.elementType}),"[]"]}):r.jsx(s.Type,{type:n}):r.jsx(r.Fragment,{children:"void"})}},18107:(e,t,n)=>{const s=n(13750),r=n(92765),a=n(43871),i=n(74848);t.TypeParameters=function(e){let{params:t}=e;return t&&0!==t.length?i.jsx("ul",{className:"tsd-type-parameters",children:t.map((e=>i.jsxs("li",{children:[i.jsx("strong",{children:e.name}),e.type&&i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"tsd-signature-symbol",children:":"})," ",i.jsx(a.Type,{type:e.type})]}),i.jsx(r.DefaultValue,{comment:e.comment,type:e.type,value:e.default}),i.jsx(s.Comment,{comment:e.comment})]},e.id)))}):null}},4474:(e,t,n)=>{const s=n(96540),r=n(74848);t.TypeParametersGeneric=function(e){let{params:t}=e;return t&&0!==t.length?r.jsxs("span",{className:"tsd-generics",children:[r.jsx("span",{className:"tsd-signature-symbol",children:"<"}),t.map(((e,t)=>r.jsxs(s.Fragment,{children:[t>0&&r.jsx("span",{className:"tsd-signature-symbol",children:", "}),e.name]},e.id))),r.jsx("span",{className:"tsd-signature-symbol",children:">"})]}):null}},40941:(e,t,n)=>{const s=n(96540),r=n(28774),a=n(44070),i=n(95068),l=n(74848),o=(e=>e&&e.__esModule?e:{default:e})(r);t.VersionBanner=function(){const e=a.useDocsVersion(),t=e.banner,n=e.docs,r=e.pluginId,c=e.version,d=a.useDocVersionSuggestions(r).latestVersionSuggestion,u=a.useDocsPreferredVersion(r).savePreferredVersionName,p=s.useCallback((()=>{u(d.name)}),[d.name,u]);if(!t||!d)return null;const m=n[d.label];return l.jsx("div",{className:`${i.ThemeClassNames.docs.docVersionBanner} alert alert--warning margin-bottom--md`,role:"alert",children:l.jsxs("div",{children:["unreleased"===t&&l.jsx(l.Fragment,{children:"This is documentation for an unreleased version."}),"unmaintained"===t&&l.jsxs(l.Fragment,{children:["This is documentation for version ",l.jsx("b",{children:c}),"."]})," ","For the latest API, see version"," ",l.jsx("b",{children:l.jsx(o.default,{to:m.id,onClick:p,children:m.title})}),"."]})})}},60522:(e,t,n)=>{const s=n(96540),r=n(21200);t.useBreadcrumbs=function(){return s.useContext(r.ApiDataContext).options.breadcrumbs}},95144:(e,t,n)=>{const s=n(96540),r=n(21200);t.useGitRefName=function(){return s.useContext(r.ApiDataContext).options.gitRefName}},78621:(e,t,n)=>{const s=n(96540),r=n(21200);t.useMinimalLayout=function(){return s.useContext(r.ApiDataContext).options.minimal}},29671:(e,t,n)=>{const s=n(96540),r=n(21200);function a(e,t){const n=s.useContext(r.ApiDataContext).reflections;if(void 0===e&&!t)return null;if(void 0!==e&&n[e])return n[e];throw new Error(`Unable to find declaration with ID ${e}`)}t.useReflection=a,t.useRequiredReflection=function(e){return a(e,!0)}},37993:(e,t,n)=>{const s=n(96540),r=n(21200);t.useReflectionMap=function(){return s.useContext(r.ApiDataContext).reflections}},97089:(e,t)=>{t.escapeMdx=function(e){return e.replace("<","\uff1c").replace(">","\uff1e")}},14331:(e,t)=>{t.createHierarchy=function(e){let t,n;function s(e){if(!e)return;const s={types:e};n?(n.next=s,n=s):(t=s,n=s)}return"extendedTypes"in e&&e.extendedTypes&&s(e.extendedTypes),s([{name:e.name,target:e.id,type:"reference"}]),n.isTarget=!0,"extendedBy"in e&&e.extendedBy&&s(e.extendedBy),t}},51430:(e,t)=>{const n={1:"project",2:"package",4:"symbol-namespace",8:"symbol-enum",16:"symbol-enum-member",32:"symbol-variable",64:"symbol-function",128:"symbol-class",256:"symbol-interface",512:"symbol-constructor",1024:"symbol-property",2048:"symbol-method",4096:"symbol-method",8192:"bracket-dot",16384:"symbol-method",32768:"symbol-property",65536:"symbol-key",131072:"symbol-type-parameter",262144:"symbol-field",524288:"symbol-field",1048576:"symbol-field",2097152:"symbol-parameter",4194304:"references"};function s(e,t){let s=n[e];return 1024===e&&t.match(/^on[A-Z]/)&&(s="symbol-event"),s}function r(e){switch(e){case 64:case 512:case 2048:case 4096:case 16384:case 262144:return"var(--ifm-color-info)";case 16:case 32:case 1024:case 524288:case 1048576:return"var(--ifm-color-success)";case 4:case 128:return"var(--ifm-color-warning)";case 8:case 256:case 4194304:return"var(--ifm-color-danger)";default:return"inherit"}}t.getKindIcon=s,t.getKindIconColor=r,t.getKindIconHtml=function(e,t){const n=s(e,t);return n?``:""}},98919:(e,t)=>{function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var s,r,a,i,l=[],o=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(s=a.call(n)).done)&&(l.push(s.value),l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=Array(t);n{const i=r(a),l=i.caption,o=n(i.target.split("."),2),c=o[0],d=o[1],u=function(e,t,n){return Object.values(e).find((e=>e.name===t&&(!n||e.children?.some((e=>e.name===n)))))}(e,c,d),p="linkcode"===s?`\`${l}\``:l;return u?.permalink?`[${p}](${u.permalink}${d?`#${d}`:""})`:p}}t.replaceLinkTokens=function(e,t,n,s){return e.replace(/{@(link|linkcode|linkplain|apilink)\s+([^}]+?)}/gi,a(t)).replace(/{@doclink\s+([^}]+?)}/gi,function(e,t){return(n,s)=>{const a=r(s),i=a.caption,l=a.target,o="current"===e.version?"next":e.version;return`[${i}](${e.isLast?`${"/"===t?"":t}/${l}`:`${"/"===t?"":t}/${o}/${l}`})`}}(n,s))}},50042:(e,t)=>{function n(e,t){const n=t[e];return Boolean(n?.permalink&&!n.permalink.includes("#"))}t.allCategoryChildrenHaveOwnDocument=function(e,t){let s=!0;return e.children?.forEach((e=>{s&&=n(e,t)})),s},t.allGroupChildrenHaveOwnDocument=function(e,t){return Boolean(e.children?.every((e=>n(e,t))))},t.hasOwnDocument=n},30374:(e,t)=>{const n=/<(\/?)(?:pre|code|kbd|script|math)[^>]*>/i,s=e=>{var t="[!\"#$%'()*+,-./:;<=>?@[\\]^_`{|}~]",n="[^\\ \\t\\r\\n\\[\\{\\(\\-]",s="[\\ \\t\\r\\n\\[\\{\\(\\-]",r="–|—";return e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(new RegExp(`^'(?=${t}\\B)`),"’")).replace(new RegExp(`^"(?=${t}\\B)`),"”")).replace(/"'(?=\w)/,"“‘")).replace(/'"(?=\w)/,"‘“")).replace(/'(?=\d\d)/,"’")).replace(new RegExp(`(\\s| |--|&[mn]dash;|${r}|ȁ[34])'(?=\\w)`,"g"),"$1‘")).replace(new RegExp(`(${n})'`,"g"),"$1’")).replace(new RegExp(`(${s}?)'(?=\\s|s\\b)`,"g"),"$1’")).replace(/'/g,"‘")).replace(new RegExp(`(\\s| |--|&[mn]dash;|${r}|ȁ[34])"(?=\\w)`,"g"),"$1“")).replace(new RegExp(`(${n})"`,"g"),"$1”")).replace(new RegExp(`(${s}?)"(?=\\s)`,"g"),"$1”")).replace(/"/g,"“")},r=e=>e=(e=e.replace(/``/g,"“")).replace(/''/g,"”"),a=e=>e=(e=e.replace(/`/g,"‘")).replace(/'/g,"’"),i=e=>e=e.replace(/--/g,"—"),l=e=>e=(e=e.replace(/---/g,"—")).replace(/--/g,"–"),o=e=>e=(e=e.replace(/---/g,"–")).replace(/--/g,"—"),c=e=>e=(e=e.replace(/\.\.\./g,"…")).replace(/\. \. \./g,"…"),d=e=>e=(e=(e=(e=(e=(e=(e=e.replace(/–/g,"-")).replace(/—/g,"--")).replace(/‘/g,"'")).replace(/’/g,"'")).replace(/“/g,'"')).replace(/”/g,'"')).replace(/…/g,"..."),u=e=>e=(e=(e=(e=(e=(e=e.replace(/\\\\/g,"\")).replace(/\\"/g,""")).replace(/\\'/g,"'")).replace(/\\\./g,".")).replace(/\\-/g,"-")).replace(/\\`/g,"`"),p=e=>{for(var t=0,n=e.length,s=[],r=/|<\?.*?\?>|<[^>]*>/g,a=null;a=r.exec(e);){if(t((e="",t="1")=>{var m,h,g,x,f,b=0;if("0"===(t="number"==typeof t?t.toString():t.replace(/\s/g,"")))return e;if("1"===t)m=1,h=1,g=1,x=1;else if("2"===t)m=1,h=1,g=2,x=1;else if("3"===t)m=1,h=1,g=3,x=1;else if("-1"===t)f=1;else for(let n=0;n{function n(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function s(e){t.defaults=e}t.defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};const r=/[&<>"']/,a=new RegExp(r.source,"g"),i=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,l=new RegExp(i.source,"g"),o={"&":"&","<":"<",">":">",'"':""","'":"'"},c=e=>o[e];function d(e,t){if(t){if(r.test(e))return e.replace(a,c)}else if(i.test(e))return e.replace(l,c);return e}const u=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;const p=/(^|[^\[])\^/g;function m(e,t){e="string"==typeof e?e:e.source,t=t||"";const n={replace:(t,s)=>(s=(s="object"==typeof s&&"source"in s?s.source:s).replace(p,"$1"),e=e.replace(t,s),n),getRegex:()=>new RegExp(e,t)};return n}function h(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(t){return null}return e}const g={exec:()=>null};function x(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let s=!1,r=t;for(;--r>=0&&"\\"===n[r];)s=!s;return s?"|":" |"})).split(/ \|/);let s=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:f(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const s=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=s.length?e.slice(s.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=f(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=f(t[0].replace(/^ *>[ \t]?/gm,""),"\n"),n=this.lexer.state.top;this.lexer.state.top=!0;const s=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:"blockquote",raw:t[0],tokens:s,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim();const s=n.length>1,r={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");const a=new RegExp(`^( {0,3}${n})((?:[\t ][^\\n]*)?(?:\\n|$))`);let i="",l="",o=!1;for(;e;){let n=!1;if(!(t=a.exec(e)))break;if(this.rules.block.hr.test(e))break;i=t[0],e=e.substring(i.length);let s=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),c=e.split("\n",1)[0],d=0;this.options.pedantic?(d=2,l=s.trimStart()):(d=t[2].search(/[^ ]/),d=d>4?1:d,l=s.slice(d),d+=t[1].length);let u=!1;if(!s&&/^ *$/.test(c)&&(i+=c+"\n",e=e.substring(c.length+1),n=!0),!n){const t=new RegExp(`^ {0,${Math.min(3,d-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),n=new RegExp(`^ {0,${Math.min(3,d-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),r=new RegExp(`^ {0,${Math.min(3,d-1)}}(?:\`\`\`|~~~)`),a=new RegExp(`^ {0,${Math.min(3,d-1)}}#`);for(;e;){const o=e.split("\n",1)[0];if(c=o,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),r.test(c))break;if(a.test(c))break;if(t.test(c))break;if(n.test(e))break;if(c.search(/[^ ]/)>=d||!c.trim())l+="\n"+c.slice(d);else{if(u)break;if(s.search(/[^ ]/)>=4)break;if(r.test(s))break;if(a.test(s))break;if(n.test(s))break;l+="\n"+c}u||c.trim()||(u=!0),i+=o+"\n",e=e.substring(o.length+1),s=c.slice(d)}}r.loose||(o?r.loose=!0:/\n *\n *$/.test(i)&&(o=!0));let p,m=null;this.options.gfm&&(m=/^\[[ xX]\] /.exec(l),m&&(p="[ ] "!==m[0],l=l.replace(/^\[[ xX]\] +/,""))),r.items.push({type:"list_item",raw:i,task:!!m,checked:p,loose:!1,text:l,tokens:[]}),r.raw+=i}r.items[r.items.length-1].raw=i.trimEnd(),r.items[r.items.length-1].text=l.trimEnd(),r.raw=r.raw.trimEnd();for(let e=0;e"space"===e.type)),n=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));r.loose=n}if(r.loose)for(let e=0;e$/,"$1").replace(this.rules.inline._escapes,"$1"):"",s=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:s}}}table(e){const t=this.rules.block.table.exec(e);if(t){if(!/[:|]/.test(t[2]))return;const e={type:"table",raw:t[0],header:x(t[1]).map((e=>({text:e,tokens:[]}))),align:t[2].replace(/^\||\| *$/g,"").split("|"),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){let t,n,s,r,a=e.align.length;for(t=0;t({text:e,tokens:[]})));for(a=e.header.length,n=0;n/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=f(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let n=0;for(let s=0;s-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],s="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],s=e[3])}else s=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),b(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:s?s.replace(this.rules.inline._escapes,"$1"):s},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return b(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrong.lDelim.exec(e);if(!s)return;if(s[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(s[1]||s[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const n=[...s[0]].length-1;let r,a,i=n,l=0;const o="*"===s[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+n);null!=(s=o.exec(t));){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r)continue;if(a=[...r].length,s[3]||s[4]){i+=a;continue}if((s[5]||s[6])&&n%3&&!((n+a)%3)){l+=a;continue}if(i-=a,i>0)continue;a=Math.min(a,a+i+l);const t=[...s[0]][0].length,o=e.slice(0,n+s.index+t+a);if(Math.min(n,a)%2){const e=o.slice(1,-1);return{type:"em",raw:o,text:e,tokens:this.lexer.inlineTokens(e)}}const c=o.slice(2,-2);return{type:"strong",raw:o,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),s=/^ /.test(e)&&/ $/.test(e);return n&&s&&(e=e.substring(1,e.length-1)),e=d(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,n;return"@"===t[2]?(e=d(t[1]),n="mailto:"+e):(e=d(t[1]),n=e),{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])e=d(t[0]),n="mailto:"+e;else{let s;do{s=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])[0]}while(s!==t[0]);e=d(t[0]),n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:d(t[0]),{type:"text",raw:t[0],text:e}}}}const j={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:g,lheading:/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};j.def=m(j.def).replace("label",j._label).replace("title",j._title).getRegex(),j.bullet=/(?:[*+-]|\d{1,9}[.)])/,j.listItemStart=m(/^( *)(bull) */).replace("bull",j.bullet).getRegex(),j.list=m(j.list).replace(/bull/g,j.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+j.def.source+")").getRegex(),j._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",j._comment=/|$)/,j.html=m(j.html,"i").replace("comment",j._comment).replace("tag",j._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),j.lheading=m(j.lheading).replace(/bull/g,j.bullet).getRegex(),j.paragraph=m(j._paragraph).replace("hr",j.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",j._tag).getRegex(),j.blockquote=m(j.blockquote).replace("paragraph",j.paragraph).getRegex(),j.normal={...j},j.gfm={...j.normal,table:"^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},j.gfm.table=m(j.gfm.table).replace("hr",j.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",j._tag).getRegex(),j.gfm.paragraph=m(j._paragraph).replace("hr",j.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",j.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",j._tag).getRegex(),j.pedantic={...j.normal,html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",j._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:g,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:m(j.normal._paragraph).replace("hr",j.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",j.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const k={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:g,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,rDelimAst:/^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:g,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`^|~"};k.punctuation=m(k.punctuation,"u").replace(/punctuation/g,k._punctuation).getRegex(),k.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,k.anyPunctuation=/\\[punct]/g,k._escapes=/\\([punct])/g,k._comment=m(j._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),k.emStrong.lDelim=m(k.emStrong.lDelim,"u").replace(/punct/g,k._punctuation).getRegex(),k.emStrong.rDelimAst=m(k.emStrong.rDelimAst,"gu").replace(/punct/g,k._punctuation).getRegex(),k.emStrong.rDelimUnd=m(k.emStrong.rDelimUnd,"gu").replace(/punct/g,k._punctuation).getRegex(),k.anyPunctuation=m(k.anyPunctuation,"gu").replace(/punct/g,k._punctuation).getRegex(),k._escapes=m(k._escapes,"gu").replace(/punct/g,k._punctuation).getRegex(),k._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,k._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,k.autolink=m(k.autolink).replace("scheme",k._scheme).replace("email",k._email).getRegex(),k._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,k.tag=m(k.tag).replace("comment",k._comment).replace("attribute",k._attribute).getRegex(),k._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,k._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,k._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,k.link=m(k.link).replace("label",k._label).replace("href",k._href).replace("title",k._title).getRegex(),k.reflink=m(k.reflink).replace("label",k._label).replace("ref",j._label).getRegex(),k.nolink=m(k.nolink).replace("ref",j._label).getRegex(),k.reflinkSearch=m(k.reflinkSearch,"g").replace("reflink",k.reflink).replace("nolink",k.nolink).getRegex(),k.normal={...k},k.pedantic={...k.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",k._label).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",k._label).getRegex()},k.gfm={...k.normal,escape:m(k.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((s=>!!(n=s.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?t.push(n):(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(s.raw+="\n"+n.raw,s.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(r=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let s;this.options.extensions.startBlock.forEach((e=>{s=e.call({lexer:this},n),"number"==typeof s&&s>=0&&(t=Math.min(t,s))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r)))s=t[t.length-1],a&&"paragraph"===s.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n),a=r.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===s.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,s,r,a,i,l,o=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(o));)e.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(o));)o=o.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(a=this.tokenizer.rules.inline.anyPunctuation.exec(o));)o=o.slice(0,a.index)+"++"+o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(i||(l=""),i=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((s=>!!(n=s.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===n.type&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===n.type&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,o,l))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e))){if(r=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let s;this.options.extensions.startInline.forEach((e=>{s=e.call({lexer:this},n),"number"==typeof s&&s>=0&&(t=Math.min(t,s))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(r))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(l=n.raw.slice(-1)),i=!0,s=t[t.length-1],s&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class N{options;constructor(e){this.options=e||t.defaults}code(e,t,n){const s=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+"\n",s?'
    '+(n?e:d(e,!0))+"
    \n":"
    "+(n?e:d(e,!0))+"
    \n"}blockquote(e){return`
    \n${e}
    \n`}html(e,t){return e}heading(e,t,n){return`${e}\n`}hr(){return"
    \n"}list(e,t,n){const s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e,t,n){return`
  • ${e}
  • \n`}checkbox(e){return"'}paragraph(e){return`

    ${e}

    \n`}table(e,t){return t&&(t=`${t}`),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return`\n${e}\n`}tablecell(e,t){const n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`\n`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
    "}del(e){return`${e}`}link(e,t,n){const s=h(e);if(null===s)return n;let r='",r}image(e,t,n){const s=h(e);if(null===s)return n;let r=`${n}"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):"")));continue}case"code":{const e=r;n+=this.renderer.code(e.text,e.lang,!!e.escaped);continue}case"table":{const e=r;let t="",s="";for(let n=0;n0&&"paragraph"===t.tokens[0].type?(t.tokens[0].text=e+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=e+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",text:e+" "}):l+=e+" "}l+=this.parse(t.tokens,a),i+=this.renderer.listitem(l,r,!!s)}n+=this.renderer.list(i,t,s);continue}case"html":{const e=r;n+=this.renderer.html(e.text,e.block);continue}case"paragraph":{const e=r;n+=this.renderer.paragraph(this.parseInline(e.tokens));continue}case"text":{let a=r,i=a.tokens?this.parseInline(a.tokens):a.text;for(;s+1{n=n.concat(this.walkTokens(e[s],t))})):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let s=e.renderer.apply(this,t);return!1===s&&(s=n.apply(this,t)),s}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),n.extensions=t),e.renderer){const t=this.defaults.renderer||new N(this.defaults);for(const n in e.renderer){const s=e.renderer[n],r=n,a=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=a.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new y(this.defaults);for(const n in e.tokenizer){const s=e.tokenizer[n],r=n,a=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new _;for(const n in e.hooks){const s=e.hooks[n],r=n,a=t[r];_.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async)return Promise.resolve(s.call(t,e)).then((e=>a.call(t,e)));const n=s.call(t,e);return a.call(t,n)}:t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){const t=this.defaults.walkTokens,s=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(s.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}})),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return w.lex(e,t??this.defaults)}parser(e,t){return T.parse(e,t??this.defaults)}#e(e,t){return(n,s)=>{const r={...s},a={...this.defaults,...r};!0===this.defaults.async&&!1===r.async&&(a.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),a.async=!0);const i=this.#t(!!a.silent,!!a.async);if(null==n)return i(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(n):n).then((t=>e(t,a))).then((e=>a.walkTokens?Promise.all(this.walkTokens(e,a.walkTokens)).then((()=>e)):e)).then((e=>t(e,a))).then((e=>a.hooks?a.hooks.postprocess(e):e)).catch(i);try{a.hooks&&(n=a.hooks.preprocess(n));const s=e(n,a);a.walkTokens&&this.walkTokens(s,a.walkTokens);let r=t(s,a);return a.hooks&&(r=a.hooks.postprocess(r)),r}catch(l){return i(l)}}}#t(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+d(n.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}}const $=new S;function C(e,t){return $.parse(e,t)}C.options=C.setOptions=function(e){return $.setOptions(e),C.defaults=$.defaults,s(C.defaults),C},C.getDefaults=n,C.defaults=t.defaults,C.use=function(...e){return $.use(...e),C.defaults=$.defaults,s(C.defaults),C},C.walkTokens=function(e,t){return $.walkTokens(e,t)},C.parseInline=$.parseInline,C.Parser=T,C.parser=T.parse,C.Renderer=N,C.TextRenderer=v,C.Lexer=w,C.lexer=w.lex,C.Tokenizer=y,C.Hooks=_,C.parse=C;const A=C.options,M=C.setOptions,R=C.use,O=C.walkTokens,I=C.parseInline,F=C,P=T.parse,L=w.lex;t.Hooks=_,t.Lexer=w,t.Marked=S,t.Parser=T,t.Renderer=N,t.TextRenderer=v,t.Tokenizer=y,t.getDefaults=n,t.lexer=L,t.marked=C,t.options=A,t.parse=F,t.parseInline=I,t.parser=P,t.setOptions=M,t.use=R,t.walkTokens=O}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[5772],{71243:(e,t,n)=>{n.r(t),n.d(t,{default:()=>f});n(96540);var s=n(34164),r=n(17559),a=n(26972),i=n(99169),l=n(28774),o=n(21312),c=n(86025),d=n(74848);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const p={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function m(){const e=(0,c.Ay)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(l.default,{"aria-label":(0,o.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:p.breadcrumbHomeIcon})})})}const h={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function g(e){let{children:t,href:n,isLast:s}=e;const r="breadcrumbs__link";return s?(0,d.jsx)("span",{className:r,itemProp:"name",children:t}):n?(0,d.jsx)(l.default,{className:r,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:r,children:t})}function x(e){let{children:t,active:n,index:r,addMicrodata:a}=e;return(0,d.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(r+1)})]})}function f(){const e=(0,a.OF)(),t=(0,i.Dt)();return e?(0,d.jsx)("nav",{className:(0,s.A)(r.G.docs.docBreadcrumbs,h.breadcrumbsContainer),"aria-label":(0,o.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(m,{}),e.map(((t,n)=>{const s=n===e.length-1,r="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(x,{active:s,index:n,addMicrodata:!!r,children:(0,d.jsx)(g,{href:r,isLast:s,children:t.label})},n)}))]})}):null}},27719:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});n(96540);var s=n(21312),r=n(39022),a=n(74848);function i(e){const{previous:t,next:n}=e;return(0,a.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,a.jsx)(r.A,{...t,subLabel:(0,a.jsx)(s.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,a.jsx)(r.A,{...n,subLabel:(0,a.jsx)(s.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},4267:(e,t,n)=>{n.r(t),n.d(t,{default:()=>o});n(96540);var s=n(34164),r=n(21312),a=n(17559),i=n(23025),l=n(74848);function o(e){let{className:t}=e;const n=(0,i.r)();return n.badge?(0,l.jsx)("span",{className:(0,s.A)(t,a.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(r.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},67763:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});n(96540);var s=n(34164),r=n(65195);const a={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var i=n(74848);const l="table-of-contents__link toc-highlight",o="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,s.A)(a.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)(r.A,{...n,linkClassName:l,linkActiveClassName:o})})}},49765:(e,t,n)=>{n.r(t),n.d(t,{default:()=>u});n(96540);var s=n(34164),r=n(41422),a=n(65195),i=n(21312);const l={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};var o=n(74848);function c(e){let{collapsed:t,...n}=e;return(0,o.jsx)("button",{type:"button",...n,className:(0,s.A)("clean-btn",l.tocCollapsibleButton,!t&&l.tocCollapsibleButtonExpanded,n.className),children:(0,o.jsx)(i.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const d={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function u(e){let{toc:t,className:n,minHeadingLevel:i,maxHeadingLevel:l}=e;const{collapsed:u,toggleCollapsed:p}=(0,r.u)({initialState:!0});return(0,o.jsxs)("div",{className:(0,s.A)(d.tocCollapsible,!u&&d.tocCollapsibleExpanded,n),children:[(0,o.jsx)(c,{collapsed:u,onClick:p}),(0,o.jsx)(r.N,{lazy:!0,className:d.tocCollapsibleContent,collapsed:u,children:(0,o.jsx)(a.A,{toc:t,minHeadingLevel:i,maxHeadingLevel:l})})]})}},65195:(e,t,n)=>{n.d(t,{A:()=>g});var s=n(96540),r=n(6342);function a(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...r}=e;n>=0?t[n].children.push(r):s.push(r)})),s}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function l(e){const t=e.getBoundingClientRect();return t.top===t.bottom?l(e.parentNode):t}function o(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>l(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:r,minHeadingLevel:a,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let r=t;r<=n;r+=1)s.push(`h${r}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:a,maxHeadingLevel:i}),c=o(l,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(r),e.classList.add(r),t.current=e):e.classList.remove(r)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}var u=n(28774),p=n(74848);function m(e){let{toc:t,className:n,linkClassName:s,isChild:r}=e;return t.length?(0,p.jsx)("ul",{className:r?void 0:n,children:t.map((e=>(0,p.jsxs)("li",{children:[(0,p.jsx)(u.default,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,p.jsx)(m,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const h=s.memo(m);function g(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:c,maxHeadingLevel:u,...m}=e;const g=(0,r.p)(),x=c??g.tableOfContents.minHeadingLevel,f=u??g.tableOfContents.maxHeadingLevel,b=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return(0,s.useMemo)((()=>i({toc:a(t),minHeadingLevel:n,maxHeadingLevel:r})),[t,n,r])}({toc:t,minHeadingLevel:x,maxHeadingLevel:f});return d((0,s.useMemo)((()=>{if(l&&o)return{linkClassName:l,linkActiveClassName:o,minHeadingLevel:x,maxHeadingLevel:f}}),[l,o,x,f])),(0,p.jsx)(h,{toc:b,className:n,linkClassName:l,...m})}},95068:(e,t,n)=>{n.r(t),n.d(t,{Collapsible:()=>c.N,DraftBannerMessage:()=>_.TT,DraftBannerTitle:()=>_.Yh,ErrorBoundaryError:()=>S.bq,ErrorBoundaryErrorMessageFallback:()=>S.MN,ErrorBoundaryTryAgainButton:()=>S.a2,ErrorCauseBoundary:()=>S.k2,HtmlClassNameProvider:()=>m.e3,NavbarSecondaryMenuFiller:()=>g.GX,PageMetadata:()=>m.be,ReactContextError:()=>p.dV,SkipToContentFallbackId:()=>T.j,SkipToContentLink:()=>T.K,ThemeClassNames:()=>d.G,ThemedComponent:()=>i.A,UnlistedBannerMessage:()=>_.Uh,UnlistedBannerTitle:()=>_.Rc,UnlistedMetadata:()=>_.AE,composeProviders:()=>p.fM,createStorageSlot:()=>l.Wf,duplicates:()=>k.XI,filterDocCardListItems:()=>C,groupBy:()=>k.$z,isMultiColumnFooterLinks:()=>y.C,isRegexpStringMatch:()=>j.G,listStorageKeys:()=>l.Eo,listTagsByLetters:()=>f.Q,prefersReducedMotion:()=>u.O,processAdmonitionProps:()=>N.c,translateTagsPageTitle:()=>f.b,uniq:()=>k.sb,useClearQueryString:()=>v.W9,useCollapsible:()=>c.u,useColorMode:()=>h.G,useContextualSearchFilters:()=>M,useCurrentSidebarCategory:()=>$,useDocsPreferredVersion:()=>A,useEvent:()=>p._q,useHistorySelector:()=>v.Hl,usePluralForm:()=>o.W,usePrevious:()=>p.ZC,usePrismTheme:()=>w.A,useQueryString:()=>v.l,useQueryStringList:()=>v.fV,useSearchLinkCreator:()=>b.w,useSearchQueryString:()=>b.b,useStorageSlot:()=>l.Dv,useThemeConfig:()=>a.p,useWindowSize:()=>x.l});var s=n(44586),r=n(2967),a=n(6342),i=n(9967),l=n(70679),o=n(53465),c=n(41422),d=n(17559),u=n(53109),p=n(89532),m=n(45500),h=n(95293),g=n(75600),x=n(24581),f=n(26820),b=n(24255),y=n(53106),j=n(91252),k=n(31682),w=n(26058),N=n(88473),v=n(57485),T=n(75236),_=n(44084),S=n(12181);function $(){return n(44070).useCurrentSidebarCategory(...arguments)}function C(){return n(44070).filterDocCardListItems(...arguments)}function A(){return n(44070).useDocsPreferredVersion(...arguments)}function M(){const{i18n:e}=(0,s.default)(),t=n(44070).useDocsContextualSearchTags(),a=[r.C,...t];return{locale:e.currentLocale,tags:a}}},44084:(e,t,n)=>{n.d(t,{AE:()=>o,Rc:()=>i,TT:()=>d,Uh:()=>l,Yh:()=>c});n(96540);var s=n(21312),r=n(5260),a=n(74848);function i(){return(0,a.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,a.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,a.jsx)(r.A,{children:(0,a.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,a.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,a.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}},26820:(e,t,n)=>{n.d(t,{Q:()=>a,b:()=>r});var s=n(21312);const r=()=>(0,s.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});function a(e){const t={};return Object.values(e).forEach((e=>{const n=function(e){return e[0].toUpperCase()}(e.label);t[n]??=[],t[n].push(e)})),Object.entries(t).sort(((e,t)=>{let[n]=e,[s]=t;return n.localeCompare(s)})).map((e=>{let[t,n]=e;return{letter:t,tags:n.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}},53465:(e,t,n)=>{n.d(t,{W:()=>c});var s=n(96540),r=n(44586);const a=["zero","one","two","few","many","other"];function i(e){return a.filter((t=>e.includes(t)))}const l={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,r.default)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),l}}),[e])}function c(){const e=o();return{selectMessage:(t,n)=>function(e,t,n){const s=e.split("|");if(1===s.length)return s[0];s.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const r=n.select(t),a=n.pluralForms.indexOf(r);return s[Math.min(a,s.length-1)]}(n,t,e)}}},53966:(e,t,n)=>{const s=n(28774),r=n(63427),a=n(74848),i=e=>e&&e.__esModule?e:{default:e},l=i(s),o=i(r);t.AnchorLink=function(e){let{id:t}=e;return o.default().collectAnchor(t),a.jsxs(l.default,{className:"tsd-anchor",href:`#${t}`,children:[a.jsx("span",{className:"tsd-anchor-id",id:t}),a.jsx("i",{className:"codicon codicon-symbol-numeric"})]})}},21200:(e,t,n)=>{const s=n(96540).createContext({options:{banner:"",breadcrumbs:!0,gitRefName:"master",minimal:!1,pluginId:"default",scopes:[]},reflections:{}});t.ApiDataContext=s},89332:(e,t,n)=>{function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var s,r,a,i,l=[],o=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(s=a.call(n)).done)&&(l.push(s.value),l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=Array(t);n{}});t.ApiOptionsContext=f,t.default=function(e){let{readme:t,route:n}=e;const r=s(a.useState(!1),2),b=r[0],y=r[1],j=a.useMemo((()=>({hideInherited:b,setHideInherited:y})),[b,y]),k=l.useRequiredReflection(n.id),w=o.useReflectionMap(),N=a.useMemo((()=>function(e,t,n){const s=[],r=new Set;return e.groups?.forEach((e=>{e.children?.forEach((e=>{const a=t[e];if((!a.inheritedFrom||!n)&&!r.has(a.name)&&(!a.permalink||a.permalink.includes("#"))){const e=d.getKindIconHtml(a.kind,a.name),t=c.escapeMdx(a.name);s.push({children:[],id:a.name,value:e?`${e} ${t}`:t,level:1}),r.add(a.name)}}))})),s}(k,w,b)),[k,w,b]),v=l.useReflection(k.previousId),T=l.useReflection(k.nextId),_=a.useMemo((()=>({next:T?{permalink:T.permalink,title:c.escapeMdx(T.name)}:void 0,previous:v?{permalink:v.permalink,title:c.escapeMdx(v.name)}:void 0})),[T,v]);return x.jsx(f.Provider,{value:j,children:x.jsxs(u,{heading:x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"tsd-header-flags",children:x.jsx(m.Flags,{flags:k.flags})}),c.escapeMdx(k.name)," ",x.jsx(g.TypeParametersGeneric,{params:k.typeParameters})]}),pageMetadata:x.jsx(i.PageMetadata,{description:k.comment?.summary?p.displayPartsToMarkdown(k.comment.summary):"",title:`${k.name} | API`}),pagingMetadata:_,route:n,toc:N,children:[t&&x.jsx("section",{className:"tsd-readme",children:x.jsx(t,{})}),x.jsx(h.Reflection,{reflection:k})]})})}},55934:(e,t,n)=>{function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,s)}return n}function r(e){for(var t=1;te&&e.__esModule?e:{default:e},j=y(l),k=y(o),w=y(c),N=y(d),v=y(u),T=y(p),_=y(m);e.exports=function(e){let{children:t,heading:n,pageMetadata:s,pagingMetadata:a,toc:l}=e;const o=i.useWindowSize(),c=h.useBreadcrumbs(),d=l.length>0,u=d&&("desktop"===o||"ssr"===o);return b.jsxs(b.Fragment,{children:[s,b.jsxs("div",{className:"row",children:[b.jsxs("div",{className:"col apiItemCol",children:[b.jsx(f.VersionBanner,{}),b.jsxs("div",{className:"apiItemContainer",children:[b.jsxs("article",{children:[c&&b.jsx(j.default,{}),b.jsx(w.default,{}),d&&b.jsxs(b.Fragment,{children:[!u&&b.jsx(g,{className:"tsd-api-options-mobile"}),b.jsx(_.default,{className:`${i.ThemeClassNames.docs.docTocMobile??""} apiTocMobile`,maxHeadingLevel:6,minHeadingLevel:1,toc:l})]}),b.jsxs("div",{className:`${i.ThemeClassNames.docs.docMarkdown??""} markdown`,children:[b.jsx("header",{children:b.jsx(N.default,{as:"h1",children:n})}),b.jsx(v.default,{children:t})]}),b.jsx(x.Footer,{})]}),a&&b.jsx(k.default,r({},a))]})]}),u&&b.jsxs("div",{className:"col col--3",children:[b.jsx(g,{className:"tsd-api-options"}),b.jsx(T.default,{className:i.ThemeClassNames.docs.docTocDesktop,maxHeadingLevel:6,minHeadingLevel:1,toc:l})]})]})]})}},37839:(e,t,n)=>{const s=n(96540),r=n(89332),a=n(74848);e.exports=function(e){let{className:t}=e;const n=s.useContext(r.ApiOptionsContext),i=n.hideInherited,l=n.setHideInherited,o=s.useCallback((()=>{l(!i)}),[i,l]);return a.jsx(a.Fragment,{children:a.jsxs("div",{className:t,children:[a.jsx("div",{children:a.jsx("b",{children:"Page Options"})}),a.jsxs("label",{children:[a.jsx("input",{checked:i,type:"checkbox",onChange:o}),a.jsx("span",{children:"Hide Inherited"})]}),a.jsx("div",{})]})})}},13750:(e,t,n)=>{const s=n(96540),r=n(89370),a=n(74848);function i(e){return!!e&&Boolean(e.summary?.some((e=>"text"!==e.kind||""!==e.text))||e.blockTags&&e.blockTags?.length>0)}function l(e){return e.map((e=>"inline-tag"===e.kind?`{${e.tag} ${e.text}}`:e.text)).join("")}t.Comment=function(e){let{comment:t,root:n,hideTags:o=[]}=e;if(!t||!i(t))return null;o.push("@reference");const c=t.blockTags?.filter((e=>!o.includes(e.tag)&&"@default"!==e.tag))??[];return a.jsxs("div",{className:"tsd-comment tsd-typography "+(n?"tsd-comment-root":""),children:[!!t.summary&&a.jsx("div",{className:"lead",children:a.jsx(r.Markdown,{content:l(t.summary)})}),c.length>0&&a.jsx("dl",{className:"tsd-comment-tags",children:c.map((e=>a.jsxs(s.Fragment,{children:[a.jsx("dt",{children:a.jsx("strong",{children:e.tag})}),a.jsx("dd",{children:a.jsx(r.Markdown,{content:l(e.content)})})]},e.tag)))})]})},t.displayPartsToMarkdown=l,t.hasComment=i},21922:(e,t,n)=>{const s=n(74848);function r(e){switch(e){case"@beta":case"@experimental":return"warning";case"@alpha":return"danger";default:return"info"}}t.CommentBadges=function(e){let{comment:t}=e;const n=t.modifierTags;return s.jsx("div",{className:"badge-group",children:n.map((e=>s.jsx("span",{className:`badge badge--${r(e)}`,children:e.slice(1)},e)))})},t.isCommentWithModifiers=function(e){return!!e&&!!e.modifierTags&&e.modifierTags.length>0}},92765:(e,t,n)=>{function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,s)}return n}function r(e){for(var t=1;t"@default"===e.tag));return t?i.displayPartsToMarkdown(t.content):null}(t);return a||n?o.jsxs("span",{className:"tsd-signature-symbol",children:[" = ",n&&o.jsx(o.Fragment,{children:"string"==typeof n?n:o.jsx(l.Type,{type:n})}),!n&&a&&o.jsx(l.Type,{type:r(r({type:"literal"},"intrinsic"===s?.type?{}:s),{},{value:a})})]}):null}},72608:(e,t,n)=>{const s=n(74848);function r(e){return e.replace(/^is([A-Z])/,((e,t)=>String(t).toLocaleLowerCase()))}t.Flags=function(e){let{flags:t}=e;return t?s.jsx(s.Fragment,{children:Object.keys(t).map(r).map((e=>s.jsx("span",{className:`tsd-flag tsd-flag-${e}`,children:e},e)))}):null}},80360:(e,t,n)=>{const s=n(74848);t.Footer=function(){return s.jsxs("footer",{className:"tsd-footer",children:["Powered by"," ",s.jsx("a",{href:"https://github.com/milesj/docusaurus-plugin-typedoc-api",children:"docusaurus-plugin-typedoc-api"})," ","and ",s.jsx("a",{href:"https://typedoc.org/",children:"TypeDoc"})]})}},76832:(e,t,n)=>{const s=n(43871),r=n(74848);t.Hierarchy=function e(t){let{tree:n}=t;return r.jsx("ul",{className:"tsd-hierarchy",children:n.types.map(((t,a)=>r.jsxs("li",{children:[n.isTarget?r.jsx("em",{className:"tsd-target",children:"reference"===t.type?t.name:"UNKNOWN"}):r.jsx(s.Type,{type:t}),a===n.types.length-1&&n.next&&r.jsx(e,{tree:n.next})]},t.type+String(a))))})}},1266:(e,t,n)=>{const s=n(51430),r=n(74848);t.Icon=function(e){let{reflection:t}=e;const n=s.getKindIcon(t.kind,t.name);if(!n)return null;const a=s.getKindIconColor(t.kind);return r.jsx("i",{className:`codicon codicon-${n}`,style:{color:a}})}},25915:(e,t,n)=>{const s=n(96540),r=n(28774),a=n(29671),i=n(97089),l=n(53966),o=n(1266),c=n(74848),d=(e=>e&&e.__esModule?e:{default:e})(r);function u(e){let{id:t}=e;const n=a.useRequiredReflection(t);return c.jsx("li",{children:c.jsxs(d.default,{className:"tsd-kind-icon",to:n.permalink??`#${n.name}`,children:[c.jsx(o.Icon,{reflection:n}),i.escapeMdx(n.name)]})})}t.Index=function(e){let{reflection:t}=e;return t.categories&&t.categories.length>0?c.jsxs("section",{className:"tsd-panel-group tsd-index-group",children:[c.jsxs("h2",{children:["Index ",c.jsx(l.AnchorLink,{id:"Index"})]}),c.jsx("section",{className:"tsd-panel tsd-index-panel",children:c.jsx("div",{className:"tsd-index-content",children:t.categories.map((e=>c.jsxs("section",{className:"tsd-index-section",children:[c.jsx("h3",{className:"tsd-panel-header",children:"__CATEGORY__"===e.title?"Other":e.title}),c.jsx("div",{className:"tsd-panel-content",children:c.jsx("ul",{className:"tsd-index-list",children:e.children?.map((e=>c.jsx(u,{id:e},e)))})})]},e.title)))})})]}):t.groups&&t.groups.length>0?c.jsxs("section",{className:"tsd-panel-group tsd-index-group",children:[c.jsxs("h2",{children:["Index ",c.jsx(l.AnchorLink,{id:"Index"})]}),c.jsx("section",{className:"tsd-panel tsd-index-panel",children:c.jsx("div",{className:"tsd-index-content",children:t.groups.map((e=>c.jsx("section",{className:"tsd-index-section",children:e.categories&&e.categories.length>0?e.categories.map((t=>c.jsxs(s.Fragment,{children:[c.jsx("h3",{className:"tsd-panel-header",children:"__CATEGORY__"===t.title?e.title:t.title}),c.jsx("div",{className:"tsd-panel-content",children:c.jsx("ul",{className:"tsd-index-list",children:t.children?.map((e=>c.jsx(u,{id:e},e)))})})]},t.title))):c.jsxs(c.Fragment,{children:[c.jsx("h3",{className:"tsd-panel-header",children:e.title}),c.jsx("div",{className:"tsd-panel-content",children:c.jsx("ul",{className:"tsd-index-list",children:e.children?.map((e=>c.jsx(u,{id:e},e)))})})]})},e.title)))})})]}):null}},89370:(e,t,n)=>{function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var s,r,a,i,l=[],o=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(s=a.call(n)).done)&&(l.push(s.value),l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=Array(t);ne&&e.__esModule?e:{default:e},g=h(c),x=h(d),f=/^:{3}([a-z]+)? *(.*)\n/;i.marked.setOptions({gfm:!0}),i.marked.use(l.markedSmartypants()),i.marked.use({extensions:[{name:"admonition",level:"block",start:e=>e.match(f)?.index,tokenizer(e,t){const n=f.exec(e);if(n){const t=n[1]??"info",s=n[2]?n[2].trim():void 0,r=n.index,a=r+n[0].length,i=e.indexOf("\n:::",a),l=i+4,o={type:"admonition",raw:e.slice(r,l),text:e.slice(a,i),title:s,keyword:t,tokens:[]};return this.lexer.blockTokens(o.text,o.tokens),o}}}]});const b={blockquote:"blockquote",br:"br",code:"pre",codespan:"code",def:"span",del:"del",em:"em",escape:"span",hr:"hr",html:"div",paragraph:"p",strong:"strong",table:"table",tablecell:"td",tablerow:"tr"};function y(e){const t=[];let n=0;if(e.forEach((e=>{const s=e.tokens??[];switch(e.type){case"code":t.push(m.jsx(g.default,{language:e.lang,children:e.text},n));break;case"codespan":t.push(m.jsx(x.default.code,{children:e.raw.slice(1,-1)},n));break;case"heading":{const r=x.default[`h${e.depth}`];t.push(m.jsx(r,{children:y(s)??e.text},n));break}case"image":t.push(m.jsx(x.default.img,{alt:e.title??"",src:e.href},n));break;case"link":t.push(m.jsx(x.default.a,{href:e.href,title:e.title??"",children:y(s)??e.text},n));break;case"list":{const r=e.ordered?"ol":"ul";t.push(m.jsx(r,{children:y(e.items??s)},n));break}case"list_item":t.push(m.jsxs("li",{children:[e.task&&m.jsxs(m.Fragment,{children:[m.jsx("input",{checked:e.checked,type:"checkbox"})," "]}),y(s)??e.text]},n));break;case"space":t.push(e.raw||" ");break;case"table":t.push(m.jsxs("table",{children:[m.jsx("thead",{children:m.jsx("tr",{children:e.header.map(((t,n)=>m.jsx("th",{align:e.align[n]??"left",children:y(t.tokens)},n)))})}),m.jsx("tbody",{children:e.rows.map(((t,n)=>m.jsx("tr",{children:t.map(((t,s)=>m.jsx("td",{align:e.align[n]??"left",children:y(t.tokens)},s)))},n)))})]},n));break;case"text":t.push(0===s.length?e.text:m.jsx(a.Fragment,{children:y(s)},n));break;case"admonition":t.push(m.jsx(x.default.admonition,{title:e.title,type:e.keyword,children:y(s)??e.text},n));break;default:{const r=b[e.type]||e.type,a="text"in e?e.text:"";t.push(m.jsx(r,{children:y(s)??a},n));break}}n+=1})),0!==t.length)return t}t.Markdown=function(e){let{content:t}=e;const n=u.useReflectionMap(),r=o.useDocsVersion(),l=o.useDocsData(r.pluginId),c=s(a.useState((()=>i.marked.lexer(p.replaceLinkTokens(t,n,r,l.path)))),1)[0];return t?m.jsx("div",{className:"tsd-markdown markdown",children:y(c)}):null}},76525:(e,t,n)=>{const s=n(96540),r=n(29671),a=n(37993),i=n(97089),l=n(50042),o=n(53966),c=n(89332),d=n(21922),u=n(72608),p=n(57381),m=n(77309),h=n(76388),g=n(61226),x=n(7138),f=n(74848);t.Member=function e(t){let{id:n}=t;const b=a.useReflectionMap(),y=r.useRequiredReflection(n),j=y.comment;let k=null;const w=s.useContext(c.ApiOptionsContext),N=!!y.inheritedFrom&&w.hideInherited;return k=y.signatures?f.jsx(g.MemberSignatures,{inPanel:!0,sigs:y.signatures}):y.getSignature||y.setSignature?f.jsx(m.MemberGetterSetter,{inPanel:!0,getter:y.getSignature,setter:y.setSignature}):"target"in y&&y.target?f.jsx(h.MemberReference,{reflection:y}):f.jsx(p.MemberDeclaration,{id:n}),!N&&f.jsxs("section",{className:"tsd-panel tsd-member",children:[f.jsxs("h3",{className:"tsd-panel-header",children:[f.jsx(o.AnchorLink,{id:y.name}),f.jsx(x.SourceLink,{sources:y.sources}),f.jsx(u.Flags,{flags:y.flags}),i.escapeMdx(y.name),d.isCommentWithModifiers(j)&&f.jsx(d.CommentBadges,{comment:j})]}),k,y.groups?.map((t=>f.jsx(s.Fragment,{children:t.children?.map((t=>l.hasOwnDocument(t,b)?null:f.jsx(e,{id:t},t)))},t.title)))]})}},57381:(e,t,n)=>{const s=n(78621),r=n(29671),a=n(97089),i=n(13750),l=n(92765),o=n(1266),c=n(84883),d=n(36364),u=n(43871),p=n(18107),m=n(4474),h=n(74848);t.MemberDeclaration=function(e){let{id:t}=e;const n=r.useRequiredReflection(t),g=s.useMinimalLayout(),x=n.typeParameters&&n.typeParameters.length>0,f=!g&&u.extractDeclarationFromType(n.type);return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"tsd-panel-content",children:h.jsxs("div",{className:"tsd-signature tsd-kind-icon",children:[h.jsx(o.Icon,{reflection:n}),a.escapeMdx(n.name),h.jsx(m.TypeParametersGeneric,{params:n.typeParameters}),h.jsxs("span",{className:"tsd-signature-symbol",children:[n.flags?.isOptional&&"?",": "]})," ",h.jsx(u.Type,{type:n.type}),h.jsx(l.DefaultValue,{comment:n.comment,type:n.type,value:n.defaultValue})]})}),h.jsxs("div",{className:"tsd-panel-content",children:[h.jsx(c.MemberSources,{reflection:n}),h.jsx(i.Comment,{comment:n.comment}),i.hasComment(n.comment)&&(x||f)&&h.jsx("hr",{className:"tsd-divider"}),x&&h.jsxs("div",{className:"tds-type-parameters",children:[h.jsx("h4",{className:"tsd-type-parameters-title",children:"Type parameters"}),h.jsx(p.TypeParameters,{params:n.typeParameters})]}),f&&h.jsxs("div",{className:"tsd-type-declaration",children:[h.jsx("h4",{children:"Type declaration"}),h.jsx(d.Parameter,{param:u.extractDeclarationFromType(n.type)})]})]})]})}},77309:(e,t,n)=>{const s=n(78621),r=n(97089),a=n(1266),i=n(37171),l=n(78761),o=n(74848);t.MemberGetterSetter=function(e){let{inPanel:t,getter:n,setter:c}=e;const d=s.useMinimalLayout();return n||c?o.jsxs(o.Fragment,{children:[(n||c)&&o.jsx("div",{className:t?"tsd-panel-content":"",children:o.jsxs("ul",{className:"tsd-signatures",children:[n&&o.jsxs("li",{className:"tsd-signature tsd-kind-icon",children:[o.jsx(a.Icon,{reflection:n}),o.jsx("span",{className:"tsd-signature-symbol",children:"get "}),r.escapeMdx(n.name),o.jsx(l.MemberSignatureTitle,{hideName:!0,sig:n})]}),c&&o.jsxs("li",{className:"tsd-signature tsd-kind-icon",children:[o.jsx(a.Icon,{reflection:c}),o.jsx("span",{className:"tsd-signature-symbol",children:"set "}),r.escapeMdx(c.name),o.jsx(l.MemberSignatureTitle,{hideName:!0,sig:c})]})]})}),(i.hasSigBody(n,d)||i.hasSigBody(c,d))&&o.jsx("div",{className:t?"tsd-panel-content":"",children:o.jsxs("ul",{className:"tsd-descriptions",children:[n&&o.jsx("li",{className:"tsd-description",children:o.jsx(i.MemberSignatureBody,{sig:n})}),c&&o.jsx("li",{className:"tsd-description",children:o.jsx(i.MemberSignatureBody,{sig:c})})]})})]}):null}},76388:(e,t,n)=>{const s=n(28774),r=n(29671),a=n(97089),i=n(74848),l=(e=>e&&e.__esModule?e:{default:e})(s);t.MemberReference=function(e){let{reflection:t}=e;const n=r.useReflection(t.target);let s=null;return s=n?t.name===n.name?i.jsxs(i.Fragment,{children:["Re-exports"," ",i.jsx(l.default,{className:"tsd-signature-type",to:n.permalink,children:a.escapeMdx(n.name)})]}):i.jsxs(i.Fragment,{children:["Renames and re-exports"," ",i.jsx(l.default,{className:"tsd-signature-type",to:n.permalink,children:a.escapeMdx(n.name)})]}):i.jsxs(i.Fragment,{children:["Re-exports ",i.jsx("span",{className:"tsd-signature-type",children:a.escapeMdx(t.name)})]}),i.jsx("div",{className:"tsd-panel-content",children:s})}},37171:(e,t,n)=>{const s=n(96540),r=n(78621),a=n(13750),i=n(21922),l=n(92765),o=n(72608),c=n(84883),d=n(36364),u=n(43871),p=n(18107),m=n(74848);function h(e){if(e?.blockTags){const t=e.blockTags.map((e=>e.tag));if(t.includes("@returns")){const n=t.indexOf("@returns");return{summary:e.blockTags[n].content}}}}const g=["@returns","@param"];t.MemberSignatureBody=function(e){let{hideSources:t,sig:n}=e;const x=r.useMinimalLayout(),f=n.typeParameter&&n.typeParameter.length>0,b=!x&&n.parameters&&n.parameters.length>0,y=!x&&n.type;return m.jsxs(m.Fragment,{children:[!t&&m.jsx(c.MemberSources,{reflection:n}),i.isCommentWithModifiers(n.comment)&&m.jsx(i.CommentBadges,{comment:n.comment}),m.jsx(a.Comment,{comment:n.comment,hideTags:g}),a.hasComment(n.comment)&&(f||b||y)&&m.jsx("hr",{className:"tsd-divider"}),f&&m.jsxs(m.Fragment,{children:[m.jsx("h4",{className:"tsd-type-parameters-title",children:"Type parameters"}),m.jsx(p.TypeParameters,{params:n.typeParameter})]}),b&&m.jsxs(m.Fragment,{children:[m.jsx("h4",{className:"tsd-parameters-title",children:"Parameters"}),m.jsx("ul",{className:"tsd-parameters",children:n.parameters?.map((e=>m.jsxs(s.Fragment,{children:[m.jsxs("li",{children:[m.jsxs("h5",{children:[m.jsx(o.Flags,{flags:e.flags}),e.flags?.isRest&&m.jsx("span",{className:"tsd-signature-symbol",children:"..."}),`${e.name}: `,m.jsx(u.Type,{type:e.type}),m.jsx(l.DefaultValue,{comment:e.comment,type:e.type,value:e.defaultValue})]}),m.jsx(a.Comment,{comment:e.comment})]}),"reflection"===e.type?.type&&m.jsx("ul",{children:e.type.declaration?.children?.map((e=>m.jsxs("li",{children:[m.jsxs("h5",{children:[m.jsx(o.Flags,{flags:e.flags}),e.flags?.isRest&&m.jsx("span",{className:"tsd-signature-symbol",children:"..."}),`${e.name}: `,m.jsx(u.Type,{type:e.type}),m.jsx(l.DefaultValue,{comment:e.comment,type:e.type,value:e.defaultValue})]}),m.jsx(a.Comment,{comment:e.comment})]},e.id)))},e.type.declaration.id),"union"===e.type?.type&&e.type.types.filter((e=>"reflection"===e.type)).map((e=>m.jsx("ul",{children:e.declaration?.children?.map((e=>m.jsxs("li",{children:[m.jsxs("h5",{children:[m.jsx(o.Flags,{flags:e.flags}),e.flags?.isRest&&m.jsx("span",{className:"tsd-signature-symbol",children:"..."}),`${e.name}: `,m.jsx(u.Type,{type:e.type}),m.jsx(l.DefaultValue,{comment:e.comment,type:e.type,value:e.defaultValue})]}),m.jsx(a.Comment,{comment:e.comment})]},e.id)))},e.declaration.id)))]},e.id)))})]}),y&&m.jsxs(m.Fragment,{children:[m.jsxs("h4",{className:"tsd-returns-title",children:["Returns ",m.jsx(u.Type,{type:n.type})]}),m.jsx(a.Comment,{comment:h(n.comment)}),m.jsx(d.Parameter,{param:u.extractDeclarationFromType(n.type)})]})]})},t.hasSigBody=function(e,t,n){return void 0===n&&(n=!1),!!e&&(!n&&c.hasSources(e)||a.hasComment(e.comment)||e.typeParameter&&e.typeParameter.length>0||!t&&e.parameters&&e.parameters.length>0||!t&&e.type)}},78761:(e,t,n)=>{const s=n(96540),r=n(97089),a=n(43871),i=n(4474),l=n(74848);t.MemberSignatureTitle=function(e){let{useArrow:t,hideName:n,sig:o}=e;return l.jsxs(l.Fragment,{children:[n||"__type"===o.name?16384===o.kind?l.jsxs(l.Fragment,{children:[o.flags?.isAbstract&&l.jsx("span",{className:"tsd-signature-symbol",children:"abstract "}),l.jsx("span",{className:"tsd-signature-symbol",children:"new "})]}):null:r.escapeMdx(o.name),l.jsx(i.TypeParametersGeneric,{params:o.typeParameter}),l.jsx("span",{className:"tsd-signature-symbol",children:"("}),o.parameters?.map(((e,t)=>l.jsxs(s.Fragment,{children:[t>0&&l.jsx("span",{className:"tsd-signature-symbol",children:", "}),l.jsxs("span",{children:[e.flags?.isRest&&l.jsx("span",{className:"tsd-signature-symbol",children:"..."}),e.name,l.jsxs("span",{className:"tsd-signature-symbol",children:[(e.flags?.isOptional||"defaultValue"in e)&&"?",": "]}),l.jsx(a.Type,{type:e.type})]})]},e.id))),l.jsx("span",{className:"tsd-signature-symbol",children:")"}),o.type&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:t?" => ":": "}),l.jsx(a.Type,{type:o.type})]})]})}},61226:(e,t,n)=>{function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var s,r,a,i,l=[],o=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(s=a.call(n)).done)&&(l.push(s.value),l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=Array(t);n1,g=n[u];return d.jsxs(d.Fragment,{children:[d.jsx("div",{className:t?"tsd-panel-content":"",children:d.jsx("ul",{className:"tsd-signatures",children:n.map(((e,t)=>d.jsxs("li",{className:`tsd-signature tsd-kind-icon ${t===u?"":"tsd-signature-inactive"} ${h?"tsd-pressable":""}`,onClick:h?()=>{p(t)}:void 0,children:[d.jsx(l.Icon,{reflection:e}),d.jsx(c.MemberSignatureTitle,{sig:e})]},e.id)))})}),o.hasSigBody(g,m)&&d.jsxs(d.Fragment,{children:[!t&&d.jsx("hr",{className:"tsd-divider"}),d.jsx("div",{className:t?"tsd-panel-content":"",children:d.jsx("ul",{className:"tsd-descriptions",children:d.jsx("li",{className:"tsd-description",children:d.jsx(o.MemberSignatureBody,{sig:g})},g.id)})})]})]})}},84883:(e,t,n)=>{const s=n(48962),r=n(74848);function a(e){return Boolean(e.implementationOf||e.inheritedFrom||e.overwrites)}t.MemberSources=function(e){let{reflection:t}=e;return a(t)?r.jsxs("aside",{className:"tsd-sources",children:[t.implementationOf&&r.jsxs("p",{children:["Implementation of ",r.jsx(s.TypeAndParent,{type:t.implementationOf})]}),t.inheritedFrom&&r.jsxs("p",{children:["Inherited from ",r.jsx(s.TypeAndParent,{type:t.inheritedFrom})]}),t.overwrites&&r.jsxs("p",{children:["Overrides ",r.jsx(s.TypeAndParent,{type:t.overwrites})]})]}):null},t.hasSources=a},95592:(e,t,n)=>{const s=n(37993),r=n(50042),a=n(53966),i=n(76525),l=n(78333),o=n(74848);t.Members=function(e){let{reflection:t}=e;const n=s.useReflectionMap();return t.categories&&t.categories.length>0?o.jsx(o.Fragment,{children:t.categories.map((e=>r.allCategoryChildrenHaveOwnDocument(e,n)?null:o.jsxs("section",{className:"tsd-panel-group tsd-member-group",children:[o.jsxs("h2",{children:["__CATEGORY__"===e.title?"Other":e.title," ",o.jsx(a.AnchorLink,{id:e.title})]}),e.children?.map((e=>r.hasOwnDocument(e,n)?null:o.jsx(i.Member,{id:e},e)))]},e.title)))}):o.jsx(o.Fragment,{children:t.groups?.map((e=>r.allGroupChildrenHaveOwnDocument(e,n)?null:o.jsx(l.MembersGroup,{group:e},e.title)))})}},78333:(e,t,n)=>{const s=n(37993),r=n(50042),a=n(53966),i=n(76525),l=n(74848);t.MembersGroup=function(e){let{group:t}=e;const n=s.useReflectionMap();return t.categories&&t.categories.length>0?l.jsx(l.Fragment,{children:t.categories.map((e=>l.jsxs("section",{className:"tsd-panel-group tsd-member-group",children:[l.jsxs("h2",{children:["__CATEGORY__"===e.title?"Other":e.title," ",l.jsx(a.AnchorLink,{id:e.title})]}),e.children?.map((e=>r.hasOwnDocument(e,n)?null:l.jsx(i.Member,{id:e},e)))]},e.title)))}):l.jsxs("section",{className:"tsd-panel-group tsd-member-group",children:[l.jsxs("h2",{children:[t.title," ",l.jsx(a.AnchorLink,{id:t.title})]}),t.children?.map((e=>r.hasOwnDocument(e,n)?null:l.jsx(i.Member,{id:e},e)))]})}},36364:(e,t,n)=>{const s=n(78621),r=n(13750),a=n(72608),i=n(1266),l=n(37171),o=n(61226),c=n(78761),d=n(43871),u=n(74848);function p(e){let{param:t}=e;if(!t)return null;if(t.signatures&&t.signatures.length>0)return u.jsxs("li",{className:"tsd-parameter",children:[u.jsxs("h5",{children:[t.flags?.isRest&&u.jsx("span",{className:"tsd-signature-symbol",children:"..."}),t.name,u.jsxs("span",{className:"tsd-signature-symbol",children:[t.flags?.isOptional&&"?",": "]}),"function"]}),u.jsx(o.MemberSignatures,{sigs:t.signatures})]});if(t.type)return u.jsxs("li",{className:"tsd-parameter",children:[u.jsxs("h5",{children:[u.jsx(a.Flags,{flags:t.flags}),t.flags?.isRest&&u.jsx("span",{className:"tsd-signature-symbol",children:"..."}),t.name,u.jsxs("span",{className:"tsd-signature-symbol",children:[t.flags?.isOptional&&"?",": "]}),u.jsx(d.Type,{type:t.type})]}),u.jsx(r.Comment,{comment:t.comment}),t.children?.map((e=>u.jsx(m,{param:e},e.id))),u.jsx(m,{param:d.extractDeclarationFromType(t.type)})]});const n=t.getSignature,s=t.setSignature;return u.jsxs(u.Fragment,{children:[n&&u.jsxs("li",{className:"tsd-parameter",children:[u.jsxs("h5",{children:[u.jsx(a.Flags,{flags:n.flags}),u.jsx("span",{className:"tsd-signature-symbol",children:"get "}),n.name,u.jsx("span",{className:"tsd-signature-symbol",children:"(): "}),u.jsx(d.Type,{type:n.type})]}),u.jsx(r.Comment,{comment:n.comment})]}),s&&u.jsxs("li",{className:"tsd-parameter",children:[u.jsxs("h5",{children:[u.jsx(a.Flags,{flags:s.flags}),u.jsx("span",{className:"tsd-signature-symbol",children:"set "}),s.name,u.jsx("span",{className:"tsd-signature-symbol",children:"("}),s.parameters?.map(((e,t)=>u.jsxs("span",{children:[t>0&&", ",e.name,u.jsx("span",{className:"tsd-signature-symbol",children:": "}),e.type?u.jsx(d.Type,{type:e.type}):"any"]},e.id))),u.jsx("span",{className:"tsd-signature-symbol",children:"): "}),u.jsx(d.Type,{type:s.type})]}),u.jsx(r.Comment,{comment:s.comment})]})]})}function m(e){let{param:t}=e;const n=s.useMinimalLayout();if(!t||n)return null;const a=t.signatures?.some((e=>l.hasSigBody(e,n,!0)));return u.jsxs("ul",{className:"tsd-parameters",children:[t.signatures&&t.signatures.length>0&&u.jsxs("li",{className:"tsd-parameter-signature",children:[u.jsx("ul",{className:"tsd-signatures",children:t.signatures.map((e=>u.jsxs("li",{className:"tsd-signature tsd-kind-icon",children:[u.jsx(i.Icon,{reflection:e}),u.jsx(c.MemberSignatureTitle,{hideName:!0,sig:e})]},e.id)))}),a&&u.jsx("ul",{className:"tsd-descriptions",children:t.signatures.map((e=>u.jsx("li",{className:"tsd-description",children:u.jsx(l.MemberSignatureBody,{hideSources:!0,sig:e})},e.id)))})]}),t.indexSignature&&u.jsxs("li",{className:"tsd-parameter-index-signature",children:[u.jsxs("h5",{children:[u.jsx("span",{className:"tsd-signature-symbol",children:"["}),t.indexSignature.parameters?.map((e=>u.jsxs("span",{children:[e.flags?.isRest&&u.jsx("span",{className:"tsd-signature-symbol",children:"..."}),e.name," ",u.jsx(d.Type,{type:e.type})]},e.id))),u.jsx("span",{className:"tsd-signature-symbol",children:"]: "}),u.jsx(d.Type,{type:t.indexSignature.type})]}),u.jsx(r.Comment,{comment:t.indexSignature.comment}),u.jsx(m,{param:d.extractDeclarationFromType(t.indexSignature)})]}),t.children?.map((e=>u.jsx(p,{param:e},e.id)))]})}t.Parameter=m},93294:(e,t,n)=>{const s=n(96540),r=n(14331),a=n(13750),i=n(21922),l=n(76832),o=n(1266),c=n(25915),d=n(95592),u=n(61226),p=n(36364),m=n(43871),h=n(18107),g=n(74848);t.Reflection=function(e){let{reflection:t}=e;const n=s.useMemo((()=>r.createHierarchy(t)),[t]);return g.jsxs(g.Fragment,{children:[i.isCommentWithModifiers(t.comment)&&g.jsx(i.CommentBadges,{comment:t.comment}),a.hasComment(t.comment)&&g.jsx(a.Comment,{root:!0,comment:t.comment}),"typeParameter"in t&&t.typeParameter&&t.typeParameter.length>0&&128!==t.kind&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header",children:"Type parameters"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx(h.TypeParameters,{params:t.typeParameter})})]}),("extendedBy"in t&&t.extendedBy&&t.extendedBy.length>0||"extendedTypes"in t&&t.extendedTypes&&t.extendedTypes.length>0)&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header",children:"Hierarchy"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx(l.Hierarchy,{tree:n})})]}),"implementedTypes"in t&&t.implementedTypes&&t.implementedTypes.length>0&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header",children:"Implements"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx("ul",{className:"tsd-hierarchy",children:t.implementedTypes.map(((e,t)=>g.jsx("li",{children:g.jsx(m.Type,{type:e})},e.type+String(t))))})})]}),"implementedBy"in t&&t.implementedBy&&t.implementedBy.length>0&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header",children:"Implemented by"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx("ul",{className:"tsd-hierarchy",children:t.implementedBy.map(((e,t)=>g.jsx("li",{children:g.jsx(m.Type,{type:e})},e.name+String(t))))})})]}),"signatures"in t&&t.signatures&&t.signatures.length>0&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header tsd-before-signature",children:"Callable"}),g.jsx("div",{className:"tsd-panel-content",children:g.jsx(u.MemberSignatures,{sigs:t.signatures})})]}),"indexSignature"in t&&t.indexSignature&&g.jsxs("section",{className:"tsd-panel",children:[g.jsx("h3",{className:"tsd-panel-header tsd-before-signature",children:"Indexable"}),g.jsxs("div",{className:"tsd-panel-content",children:[g.jsxs("div",{className:"tsd-signature tsd-kind-icon",children:[g.jsx(o.Icon,{reflection:t.indexSignature}),g.jsx("span",{className:"tsd-signature-symbol",children:"["}),t.indexSignature.parameters?.map((e=>g.jsxs("span",{children:[e.name,": ",g.jsx(m.Type,{type:e.type})]},e.id))),g.jsx("span",{className:"tsd-signature-symbol",children:"]: "}),g.jsx(m.Type,{type:t.indexSignature.type})]}),g.jsx(a.Comment,{comment:t.indexSignature.comment}),g.jsx(p.Parameter,{param:m.extractDeclarationFromType(t.indexSignature.type)})]})]}),g.jsx(c.Index,{reflection:t}),g.jsx(d.Members,{reflection:t})]})}},7138:(e,t,n)=>{const s=n(44586),r=n(95144),a=n(74848),i=(e=>e&&e.__esModule?e:{default:e})(s);t.SourceLink=function(e){let{sources:t=[]}=e;const n=i.default().siteConfig,s=r.useGitRefName();return 0===t.length?null:a.jsx(a.Fragment,{children:t.map((e=>{return a.jsx("a",{className:"tsd-anchor",href:e.url||`https://${n.githubHost}${n.githubPort?`:${n.githubPort}`:""}/${n.organizationName}/${n.projectName}/blob/${s}/${t=e.fileName,t.replace(/\/(dts|dist|lib|build|es|esm|cjs|mjs)\//,"/src/")}#L${e.line}`,rel:"noreferrer",target:"_blank",children:a.jsx("i",{className:"codicon codicon-file-code"})},e.fileName);var t}))})}},43871:(e,t,n)=>{const s=n(96540),r=n(28774),a=n(37993),i=n(78761),l=n(74848),o=(e=>e&&e.__esModule?e:{default:e})(r);function c(e,t){return t?l.jsxs(l.Fragment,{children:[t&&l.jsx("span",{className:"tsd-signature-symbol",children:"("}),e,t&&l.jsx("span",{className:"tsd-signature-symbol",children:")"})]}):e}t.Type=function e(t){let{needsParens:n=!1,type:r}=t;const d=a.useReflectionMap();if(!r)return null;switch(String(r.type)){case"array":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx(e,{needsParens:!0,type:t.elementType}),l.jsx("span",{className:"tsd-signature-symbol",children:"[]"})]})}case"conditional":{const t=r;return c(l.jsxs(l.Fragment,{children:[l.jsx(e,{needsParens:!0,type:t.checkType}),l.jsx("span",{className:"tsd-signature-symbol",children:" extends "}),l.jsx(e,{type:t.extendsType}),l.jsx("span",{className:"tsd-signature-symbol",children:" ? "}),l.jsx(e,{type:t.trueType}),l.jsx("span",{className:"tsd-signature-symbol",children:" : "}),l.jsx(e,{type:t.falseType})]}),n)}case"indexedAccess":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx(e,{type:t.objectType}),l.jsx("span",{className:"tsd-signature-symbol",children:"["}),l.jsx(e,{type:t.indexType}),l.jsx("span",{className:"tsd-signature-symbol",children:"]"})]})}case"inferred":{const e=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"infer "})," ",e.name]})}case"intersection":{const t=r;return c(l.jsx(l.Fragment,{children:t.types.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:" & "}),l.jsx(e,{needsParens:!0,type:t})]},t.type+n)))}),n)}case"intrinsic":{const e=r;return l.jsx("span",{className:"tsd-signature-type",children:e.name})}case"literal":{const e=r;return l.jsx("span",{className:"tsd-signature-type",children:String(e.value)})}case"mapped":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"{ "}),"+"===t.readonlyModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:"readonly "}),"-"===t.readonlyModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:"-readonly "}),l.jsx("span",{className:"tsd-signature-symbol",children:"[ "}),l.jsx("span",{className:"tsd-signature-type",children:t.parameter}),l.jsx("span",{className:"tsd-signature-symbol",children:" in "}),l.jsx(e,{type:t.parameterType}),t.nameType&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:" as "}),l.jsx(e,{type:t.nameType})]}),l.jsx("span",{className:"tsd-signature-symbol",children:" ]"}),"+"===t.optionalModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:"?: "}),"-"===t.optionalModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:"-?: "}),!t.optionalModifier&&l.jsx("span",{className:"tsd-signature-symbol",children:": "}),l.jsx(e,{type:t.templateType}),l.jsx("span",{className:"tsd-signature-symbol",children:" }"})]})}case"optional":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx(e,{type:t.elementType}),l.jsx("span",{className:"tsd-signature-symbol",children:"?"})]})}case"predicate":{const t=r;return l.jsxs(l.Fragment,{children:[t.asserts&&l.jsx("span",{className:"tsd-signature-symbol",children:"asserts "}),l.jsx("span",{className:"tsd-signature-type",children:t.name}),t.targetType&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:" is "}),l.jsx(e,{type:t.targetType})]})]})}case"query":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"typeof "}),l.jsx(e,{type:t.queryType})]})}case"reference":{const t=r,n=t.target?d[Number(t.target)]:null,a=n?.id&&!n.sources?"tsd-signature-type-generic":"";return l.jsxs(l.Fragment,{children:[n?.permalink?l.jsx(o.default,{className:`tsd-signature-type ${a}`,"data-tsd-kind":n.kind,to:n.permalink,children:t.name}):l.jsx("span",{className:`tsd-signature-type ${a}`,children:t.name}),t.typeArguments&&t.typeArguments.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"<"}),t.typeArguments.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:", "}),l.jsx(e,{type:t})]},t.type+n))),l.jsx("span",{className:"tsd-signature-symbol",children:">"})]})]})}case"reflection":{const t=r.declaration;return t?.children&&t.children.length>0?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"{ "}),t.children.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:"; "}),l.jsxs("span",{children:[t.name,l.jsxs("span",{className:"tsd-signature-symbol",children:[t.flags?.isOptional&&"?",": "]}),t.type?l.jsx(e,{type:t.type}):"any"]})]},t.id??n))),l.jsx("span",{className:"tsd-signature-symbol",children:" }"})]}):t?.signatures&&1===t.signatures.length?l.jsx(i.MemberSignatureTitle,{hideName:!0,useArrow:!0,sig:t.signatures[0]}):t?.signatures&&t.signatures.length>0?c(l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"{ "}),t.signatures.map(((e,t)=>l.jsxs(s.Fragment,{children:[t>0&&l.jsx("span",{className:"tsd-signature-symbol",children:"; "}),l.jsx(i.MemberSignatureTitle,{sig:e})]},e.id??t))),l.jsx("span",{className:"tsd-signature-symbol",children:" }"})]}),n):l.jsx(l.Fragment,{children:"{}"})}case"rest":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"..."}),l.jsx(e,{type:t.elementType})]})}case"tuple":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"["}),t.elements?.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:", "}),l.jsx(e,{type:t})]},t.type+n))),l.jsx("span",{className:"tsd-signature-symbol",children:"]"})]})}case"typeOperator":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"tsd-signature-symbol",children:[t.operator," "]}),l.jsx(e,{type:t.target})]})}case"union":{const t=r;return c(l.jsx(l.Fragment,{children:t.types.map(((t,n)=>l.jsxs(s.Fragment,{children:[n>0&&l.jsx("span",{className:"tsd-signature-symbol",children:" | "}),l.jsx(e,{needsParens:!0,type:t})]},t.type+n)))}),n)}case"unknown":{const e=r;return l.jsx("span",{className:"tsd-signature-type",children:e.name})}case"named-tuple-member":case"namedTupleMember":{const t=r;return l.jsxs(l.Fragment,{children:[t.name,l.jsx("span",{className:"tsd-signature-symbol",children:t.isOptional?"?: ":": "}),l.jsx(e,{type:t.element})]})}case"template-literal":case"templateLiteral":{const t=r;return l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"`"}),t.head&&l.jsx("span",{className:"tsd-signature-type",children:t.head}),t.tail.map(((t,n)=>l.jsxs(s.Fragment,{children:[l.jsx("span",{className:"tsd-signature-symbol",children:"${"}),"string"!=typeof t[0]&&l.jsx(e,{type:t[0]}),l.jsx("span",{className:"tsd-signature-symbol",children:"}"}),"string"==typeof t[1]&&l.jsx("span",{className:"tsd-signature-type",children:t[1]})]},n))),l.jsx("span",{className:"tsd-signature-symbol",children:"`"})]})}default:return l.jsx("span",{className:"tsd-signature-type",children:"void"})}},t.extractDeclarationFromType=function(e){if(e)return e?.declaration}},48962:(e,t,n)=>{const s=n(43871),r=n(74848);t.TypeAndParent=function e(t){let{type:n}=t;return n?"elementType"in n&&n.elementType?r.jsxs(r.Fragment,{children:[r.jsx(e,{type:n.elementType}),"[]"]}):r.jsx(s.Type,{type:n}):r.jsx(r.Fragment,{children:"void"})}},18107:(e,t,n)=>{const s=n(13750),r=n(92765),a=n(43871),i=n(74848);t.TypeParameters=function(e){let{params:t}=e;return t&&0!==t.length?i.jsx("ul",{className:"tsd-type-parameters",children:t.map((e=>i.jsxs("li",{children:[i.jsx("strong",{children:e.name}),e.type&&i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"tsd-signature-symbol",children:":"})," ",i.jsx(a.Type,{type:e.type})]}),i.jsx(r.DefaultValue,{comment:e.comment,type:e.type,value:e.default}),i.jsx(s.Comment,{comment:e.comment})]},e.id)))}):null}},4474:(e,t,n)=>{const s=n(96540),r=n(74848);t.TypeParametersGeneric=function(e){let{params:t}=e;return t&&0!==t.length?r.jsxs("span",{className:"tsd-generics",children:[r.jsx("span",{className:"tsd-signature-symbol",children:"<"}),t.map(((e,t)=>r.jsxs(s.Fragment,{children:[t>0&&r.jsx("span",{className:"tsd-signature-symbol",children:", "}),e.name]},e.id))),r.jsx("span",{className:"tsd-signature-symbol",children:">"})]}):null}},40941:(e,t,n)=>{const s=n(96540),r=n(28774),a=n(44070),i=n(95068),l=n(74848),o=(e=>e&&e.__esModule?e:{default:e})(r);t.VersionBanner=function(){const e=a.useDocsVersion(),t=e.banner,n=e.docs,r=e.pluginId,c=e.version,d=a.useDocVersionSuggestions(r).latestVersionSuggestion,u=a.useDocsPreferredVersion(r).savePreferredVersionName,p=s.useCallback((()=>{u(d.name)}),[d.name,u]);if(!t||!d)return null;const m=n[d.label];return l.jsx("div",{className:`${i.ThemeClassNames.docs.docVersionBanner} alert alert--warning margin-bottom--md`,role:"alert",children:l.jsxs("div",{children:["unreleased"===t&&l.jsx(l.Fragment,{children:"This is documentation for an unreleased version."}),"unmaintained"===t&&l.jsxs(l.Fragment,{children:["This is documentation for version ",l.jsx("b",{children:c}),"."]})," ","For the latest API, see version"," ",l.jsx("b",{children:l.jsx(o.default,{to:m.id,onClick:p,children:m.title})}),"."]})})}},60522:(e,t,n)=>{const s=n(96540),r=n(21200);t.useBreadcrumbs=function(){return s.useContext(r.ApiDataContext).options.breadcrumbs}},95144:(e,t,n)=>{const s=n(96540),r=n(21200);t.useGitRefName=function(){return s.useContext(r.ApiDataContext).options.gitRefName}},78621:(e,t,n)=>{const s=n(96540),r=n(21200);t.useMinimalLayout=function(){return s.useContext(r.ApiDataContext).options.minimal}},29671:(e,t,n)=>{const s=n(96540),r=n(21200);function a(e,t){const n=s.useContext(r.ApiDataContext).reflections;if(void 0===e&&!t)return null;if(void 0!==e&&n[e])return n[e];throw new Error(`Unable to find declaration with ID ${e}`)}t.useReflection=a,t.useRequiredReflection=function(e){return a(e,!0)}},37993:(e,t,n)=>{const s=n(96540),r=n(21200);t.useReflectionMap=function(){return s.useContext(r.ApiDataContext).reflections}},97089:(e,t)=>{t.escapeMdx=function(e){return e.replace("<","\uff1c").replace(">","\uff1e")}},14331:(e,t)=>{t.createHierarchy=function(e){let t,n;function s(e){if(!e)return;const s={types:e};n?(n.next=s,n=s):(t=s,n=s)}return"extendedTypes"in e&&e.extendedTypes&&s(e.extendedTypes),s([{name:e.name,target:e.id,type:"reference"}]),n.isTarget=!0,"extendedBy"in e&&e.extendedBy&&s(e.extendedBy),t}},51430:(e,t)=>{const n={1:"project",2:"package",4:"symbol-namespace",8:"symbol-enum",16:"symbol-enum-member",32:"symbol-variable",64:"symbol-function",128:"symbol-class",256:"symbol-interface",512:"symbol-constructor",1024:"symbol-property",2048:"symbol-method",4096:"symbol-method",8192:"bracket-dot",16384:"symbol-method",32768:"symbol-property",65536:"symbol-key",131072:"symbol-type-parameter",262144:"symbol-field",524288:"symbol-field",1048576:"symbol-field",2097152:"symbol-parameter",4194304:"references"};function s(e,t){let s=n[e];return 1024===e&&t.match(/^on[A-Z]/)&&(s="symbol-event"),s}function r(e){switch(e){case 64:case 512:case 2048:case 4096:case 16384:case 262144:return"var(--ifm-color-info)";case 16:case 32:case 1024:case 524288:case 1048576:return"var(--ifm-color-success)";case 4:case 128:return"var(--ifm-color-warning)";case 8:case 256:case 4194304:return"var(--ifm-color-danger)";default:return"inherit"}}t.getKindIcon=s,t.getKindIconColor=r,t.getKindIconHtml=function(e,t){const n=s(e,t);return n?``:""}},98919:(e,t)=>{function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var s,r,a,i,l=[],o=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(s=a.call(n)).done)&&(l.push(s.value),l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,s=Array(t);n{const i=r(a),l=i.caption,o=n(i.target.split("."),2),c=o[0],d=o[1],u=function(e,t,n){return Object.values(e).find((e=>e.name===t&&(!n||e.children?.some((e=>e.name===n)))))}(e,c,d),p="linkcode"===s?`\`${l}\``:l;return u?.permalink?`[${p}](${u.permalink}${d?`#${d}`:""})`:p}}t.replaceLinkTokens=function(e,t,n,s){return e.replace(/{@(link|linkcode|linkplain|apilink)\s+([^}]+?)}/gi,a(t)).replace(/{@doclink\s+([^}]+?)}/gi,function(e,t){return(n,s)=>{const a=r(s),i=a.caption,l=a.target,o="current"===e.version?"next":e.version;return`[${i}](${e.isLast?`${"/"===t?"":t}/${l}`:`${"/"===t?"":t}/${o}/${l}`})`}}(n,s))}},50042:(e,t)=>{function n(e,t){const n=t[e];return Boolean(n?.permalink&&!n.permalink.includes("#"))}t.allCategoryChildrenHaveOwnDocument=function(e,t){let s=!0;return e.children?.forEach((e=>{s&&=n(e,t)})),s},t.allGroupChildrenHaveOwnDocument=function(e,t){return Boolean(e.children?.every((e=>n(e,t))))},t.hasOwnDocument=n},30374:(e,t)=>{const n=/<(\/?)(?:pre|code|kbd|script|math)[^>]*>/i,s=e=>{var t="[!\"#$%'()*+,-./:;<=>?@[\\]^_`{|}~]",n="[^\\ \\t\\r\\n\\[\\{\\(\\-]",s="[\\ \\t\\r\\n\\[\\{\\(\\-]",r="–|—";return e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(new RegExp(`^'(?=${t}\\B)`),"’")).replace(new RegExp(`^"(?=${t}\\B)`),"”")).replace(/"'(?=\w)/,"“‘")).replace(/'"(?=\w)/,"‘“")).replace(/'(?=\d\d)/,"’")).replace(new RegExp(`(\\s| |--|&[mn]dash;|${r}|ȁ[34])'(?=\\w)`,"g"),"$1‘")).replace(new RegExp(`(${n})'`,"g"),"$1’")).replace(new RegExp(`(${s}?)'(?=\\s|s\\b)`,"g"),"$1’")).replace(/'/g,"‘")).replace(new RegExp(`(\\s| |--|&[mn]dash;|${r}|ȁ[34])"(?=\\w)`,"g"),"$1“")).replace(new RegExp(`(${n})"`,"g"),"$1”")).replace(new RegExp(`(${s}?)"(?=\\s)`,"g"),"$1”")).replace(/"/g,"“")},r=e=>e=(e=e.replace(/``/g,"“")).replace(/''/g,"”"),a=e=>e=(e=e.replace(/`/g,"‘")).replace(/'/g,"’"),i=e=>e=e.replace(/--/g,"—"),l=e=>e=(e=e.replace(/---/g,"—")).replace(/--/g,"–"),o=e=>e=(e=e.replace(/---/g,"–")).replace(/--/g,"—"),c=e=>e=(e=e.replace(/\.\.\./g,"…")).replace(/\. \. \./g,"…"),d=e=>e=(e=(e=(e=(e=(e=(e=e.replace(/–/g,"-")).replace(/—/g,"--")).replace(/‘/g,"'")).replace(/’/g,"'")).replace(/“/g,'"')).replace(/”/g,'"')).replace(/…/g,"..."),u=e=>e=(e=(e=(e=(e=(e=e.replace(/\\\\/g,"\")).replace(/\\"/g,""")).replace(/\\'/g,"'")).replace(/\\\./g,".")).replace(/\\-/g,"-")).replace(/\\`/g,"`"),p=e=>{for(var t=0,n=e.length,s=[],r=/|<\?.*?\?>|<[^>]*>/g,a=null;a=r.exec(e);){if(t((e="",t="1")=>{var m,h,g,x,f,b=0;if("0"===(t="number"==typeof t?t.toString():t.replace(/\s/g,"")))return e;if("1"===t)m=1,h=1,g=1,x=1;else if("2"===t)m=1,h=1,g=2,x=1;else if("3"===t)m=1,h=1,g=3,x=1;else if("-1"===t)f=1;else for(let n=0;n{function n(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function s(e){t.defaults=e}t.defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};const r=/[&<>"']/,a=new RegExp(r.source,"g"),i=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,l=new RegExp(i.source,"g"),o={"&":"&","<":"<",">":">",'"':""","'":"'"},c=e=>o[e];function d(e,t){if(t){if(r.test(e))return e.replace(a,c)}else if(i.test(e))return e.replace(l,c);return e}const u=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;const p=/(^|[^\[])\^/g;function m(e,t){e="string"==typeof e?e:e.source,t=t||"";const n={replace:(t,s)=>(s=(s="object"==typeof s&&"source"in s?s.source:s).replace(p,"$1"),e=e.replace(t,s),n),getRegex:()=>new RegExp(e,t)};return n}function h(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(t){return null}return e}const g={exec:()=>null};function x(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let s=!1,r=t;for(;--r>=0&&"\\"===n[r];)s=!s;return s?"|":" |"})).split(/ \|/);let s=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:f(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const s=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=s.length?e.slice(s.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=f(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=f(t[0].replace(/^ *>[ \t]?/gm,""),"\n"),n=this.lexer.state.top;this.lexer.state.top=!0;const s=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:"blockquote",raw:t[0],tokens:s,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim();const s=n.length>1,r={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");const a=new RegExp(`^( {0,3}${n})((?:[\t ][^\\n]*)?(?:\\n|$))`);let i="",l="",o=!1;for(;e;){let n=!1;if(!(t=a.exec(e)))break;if(this.rules.block.hr.test(e))break;i=t[0],e=e.substring(i.length);let s=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),c=e.split("\n",1)[0],d=0;this.options.pedantic?(d=2,l=s.trimStart()):(d=t[2].search(/[^ ]/),d=d>4?1:d,l=s.slice(d),d+=t[1].length);let u=!1;if(!s&&/^ *$/.test(c)&&(i+=c+"\n",e=e.substring(c.length+1),n=!0),!n){const t=new RegExp(`^ {0,${Math.min(3,d-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),n=new RegExp(`^ {0,${Math.min(3,d-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),r=new RegExp(`^ {0,${Math.min(3,d-1)}}(?:\`\`\`|~~~)`),a=new RegExp(`^ {0,${Math.min(3,d-1)}}#`);for(;e;){const o=e.split("\n",1)[0];if(c=o,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),r.test(c))break;if(a.test(c))break;if(t.test(c))break;if(n.test(e))break;if(c.search(/[^ ]/)>=d||!c.trim())l+="\n"+c.slice(d);else{if(u)break;if(s.search(/[^ ]/)>=4)break;if(r.test(s))break;if(a.test(s))break;if(n.test(s))break;l+="\n"+c}u||c.trim()||(u=!0),i+=o+"\n",e=e.substring(o.length+1),s=c.slice(d)}}r.loose||(o?r.loose=!0:/\n *\n *$/.test(i)&&(o=!0));let p,m=null;this.options.gfm&&(m=/^\[[ xX]\] /.exec(l),m&&(p="[ ] "!==m[0],l=l.replace(/^\[[ xX]\] +/,""))),r.items.push({type:"list_item",raw:i,task:!!m,checked:p,loose:!1,text:l,tokens:[]}),r.raw+=i}r.items[r.items.length-1].raw=i.trimEnd(),r.items[r.items.length-1].text=l.trimEnd(),r.raw=r.raw.trimEnd();for(let e=0;e"space"===e.type)),n=t.length>0&&t.some((e=>/\n.*\n/.test(e.raw)));r.loose=n}if(r.loose)for(let e=0;e$/,"$1").replace(this.rules.inline._escapes,"$1"):"",s=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:s}}}table(e){const t=this.rules.block.table.exec(e);if(t){if(!/[:|]/.test(t[2]))return;const e={type:"table",raw:t[0],header:x(t[1]).map((e=>({text:e,tokens:[]}))),align:t[2].replace(/^\||\| *$/g,"").split("|"),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){let t,n,s,r,a=e.align.length;for(t=0;t({text:e,tokens:[]})));for(a=e.header.length,n=0;n/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=f(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let n=0;for(let s=0;s-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],s="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],s=e[3])}else s=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),b(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:s?s.replace(this.rules.inline._escapes,"$1"):s},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return b(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrong.lDelim.exec(e);if(!s)return;if(s[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(s[1]||s[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const n=[...s[0]].length-1;let r,a,i=n,l=0;const o="*"===s[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+n);null!=(s=o.exec(t));){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r)continue;if(a=[...r].length,s[3]||s[4]){i+=a;continue}if((s[5]||s[6])&&n%3&&!((n+a)%3)){l+=a;continue}if(i-=a,i>0)continue;a=Math.min(a,a+i+l);const t=[...s[0]][0].length,o=e.slice(0,n+s.index+t+a);if(Math.min(n,a)%2){const e=o.slice(1,-1);return{type:"em",raw:o,text:e,tokens:this.lexer.inlineTokens(e)}}const c=o.slice(2,-2);return{type:"strong",raw:o,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),s=/^ /.test(e)&&/ $/.test(e);return n&&s&&(e=e.substring(1,e.length-1)),e=d(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let e,n;return"@"===t[2]?(e=d(t[1]),n="mailto:"+e):(e=d(t[1]),n=e),{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])e=d(t[0]),n="mailto:"+e;else{let s;do{s=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])[0]}while(s!==t[0]);e=d(t[0]),n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:d(t[0]),{type:"text",raw:t[0],text:e}}}}const j={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:g,lheading:/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};j.def=m(j.def).replace("label",j._label).replace("title",j._title).getRegex(),j.bullet=/(?:[*+-]|\d{1,9}[.)])/,j.listItemStart=m(/^( *)(bull) */).replace("bull",j.bullet).getRegex(),j.list=m(j.list).replace(/bull/g,j.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+j.def.source+")").getRegex(),j._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",j._comment=/|$)/,j.html=m(j.html,"i").replace("comment",j._comment).replace("tag",j._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),j.lheading=m(j.lheading).replace(/bull/g,j.bullet).getRegex(),j.paragraph=m(j._paragraph).replace("hr",j.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",j._tag).getRegex(),j.blockquote=m(j.blockquote).replace("paragraph",j.paragraph).getRegex(),j.normal={...j},j.gfm={...j.normal,table:"^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},j.gfm.table=m(j.gfm.table).replace("hr",j.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",j._tag).getRegex(),j.gfm.paragraph=m(j._paragraph).replace("hr",j.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",j.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",j._tag).getRegex(),j.pedantic={...j.normal,html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",j._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:g,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:m(j.normal._paragraph).replace("hr",j.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",j.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const k={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:g,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,rDelimAst:/^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:g,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`^|~"};k.punctuation=m(k.punctuation,"u").replace(/punctuation/g,k._punctuation).getRegex(),k.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,k.anyPunctuation=/\\[punct]/g,k._escapes=/\\([punct])/g,k._comment=m(j._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),k.emStrong.lDelim=m(k.emStrong.lDelim,"u").replace(/punct/g,k._punctuation).getRegex(),k.emStrong.rDelimAst=m(k.emStrong.rDelimAst,"gu").replace(/punct/g,k._punctuation).getRegex(),k.emStrong.rDelimUnd=m(k.emStrong.rDelimUnd,"gu").replace(/punct/g,k._punctuation).getRegex(),k.anyPunctuation=m(k.anyPunctuation,"gu").replace(/punct/g,k._punctuation).getRegex(),k._escapes=m(k._escapes,"gu").replace(/punct/g,k._punctuation).getRegex(),k._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,k._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,k.autolink=m(k.autolink).replace("scheme",k._scheme).replace("email",k._email).getRegex(),k._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,k.tag=m(k.tag).replace("comment",k._comment).replace("attribute",k._attribute).getRegex(),k._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,k._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,k._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,k.link=m(k.link).replace("label",k._label).replace("href",k._href).replace("title",k._title).getRegex(),k.reflink=m(k.reflink).replace("label",k._label).replace("ref",j._label).getRegex(),k.nolink=m(k.nolink).replace("ref",j._label).getRegex(),k.reflinkSearch=m(k.reflinkSearch,"g").replace("reflink",k.reflink).replace("nolink",k.nolink).getRegex(),k.normal={...k},k.pedantic={...k.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",k._label).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",k._label).getRegex()},k.gfm={...k.normal,escape:m(k.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((s=>!!(n=s.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?t.push(n):(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),s=t[t.length-1],!s||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(s.raw+="\n"+n.raw,s.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(r=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let s;this.options.extensions.startBlock.forEach((e=>{s=e.call({lexer:this},n),"number"==typeof s&&s>=0&&(t=Math.min(t,s))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r)))s=t[t.length-1],a&&"paragraph"===s.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n),a=r.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===s.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,s,r,a,i,l,o=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(o));)e.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(o));)o=o.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(a=this.tokenizer.rules.inline.anyPunctuation.exec(o));)o=o.slice(0,a.index)+"++"+o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(i||(l=""),i=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((s=>!!(n=s.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===n.type&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),s=t[t.length-1],s&&"text"===n.type&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,o,l))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e))){if(r=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let s;this.options.extensions.startInline.forEach((e=>{s=e.call({lexer:this},n),"number"==typeof s&&s>=0&&(t=Math.min(t,s))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(r))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(l=n.raw.slice(-1)),i=!0,s=t[t.length-1],s&&"text"===s.type?(s.raw+=n.raw,s.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class N{options;constructor(e){this.options=e||t.defaults}code(e,t,n){const s=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+"\n",s?'
    '+(n?e:d(e,!0))+"
    \n":"
    "+(n?e:d(e,!0))+"
    \n"}blockquote(e){return`
    \n${e}
    \n`}html(e,t){return e}heading(e,t,n){return`${e}\n`}hr(){return"
    \n"}list(e,t,n){const s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e,t,n){return`
  • ${e}
  • \n`}checkbox(e){return"'}paragraph(e){return`

    ${e}

    \n`}table(e,t){return t&&(t=`${t}`),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return`\n${e}\n`}tablecell(e,t){const n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`\n`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
    "}del(e){return`${e}`}link(e,t,n){const s=h(e);if(null===s)return n;let r='
    ",r}image(e,t,n){const s=h(e);if(null===s)return n;let r=`${n}"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):"")));continue}case"code":{const e=r;n+=this.renderer.code(e.text,e.lang,!!e.escaped);continue}case"table":{const e=r;let t="",s="";for(let n=0;n0&&"paragraph"===t.tokens[0].type?(t.tokens[0].text=e+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=e+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",text:e+" "}):l+=e+" "}l+=this.parse(t.tokens,a),i+=this.renderer.listitem(l,r,!!s)}n+=this.renderer.list(i,t,s);continue}case"html":{const e=r;n+=this.renderer.html(e.text,e.block);continue}case"paragraph":{const e=r;n+=this.renderer.paragraph(this.parseInline(e.tokens));continue}case"text":{let a=r,i=a.tokens?this.parseInline(a.tokens):a.text;for(;s+1{n=n.concat(this.walkTokens(e[s],t))})):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((e=>{const n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let s=e.renderer.apply(this,t);return!1===s&&(s=n.apply(this,t)),s}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");const n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),n.extensions=t),e.renderer){const t=this.defaults.renderer||new N(this.defaults);for(const n in e.renderer){const s=e.renderer[n],r=n,a=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=a.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){const t=this.defaults.tokenizer||new y(this.defaults);for(const n in e.tokenizer){const s=e.tokenizer[n],r=n,a=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){const t=this.defaults.hooks||new _;for(const n in e.hooks){const s=e.hooks[n],r=n,a=t[r];_.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async)return Promise.resolve(s.call(t,e)).then((e=>a.call(t,e)));const n=s.call(t,e);return a.call(t,n)}:t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){const t=this.defaults.walkTokens,s=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(s.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}})),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return w.lex(e,t??this.defaults)}parser(e,t){return T.parse(e,t??this.defaults)}#e(e,t){return(n,s)=>{const r={...s},a={...this.defaults,...r};!0===this.defaults.async&&!1===r.async&&(a.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),a.async=!0);const i=this.#t(!!a.silent,!!a.async);if(null==n)return i(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(n):n).then((t=>e(t,a))).then((e=>a.walkTokens?Promise.all(this.walkTokens(e,a.walkTokens)).then((()=>e)):e)).then((e=>t(e,a))).then((e=>a.hooks?a.hooks.postprocess(e):e)).catch(i);try{a.hooks&&(n=a.hooks.preprocess(n));const s=e(n,a);a.walkTokens&&this.walkTokens(s,a.walkTokens);let r=t(s,a);return a.hooks&&(r=a.hooks.postprocess(r)),r}catch(l){return i(l)}}}#t(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+d(n.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}}const $=new S;function C(e,t){return $.parse(e,t)}C.options=C.setOptions=function(e){return $.setOptions(e),C.defaults=$.defaults,s(C.defaults),C},C.getDefaults=n,C.defaults=t.defaults,C.use=function(...e){return $.use(...e),C.defaults=$.defaults,s(C.defaults),C},C.walkTokens=function(e,t){return $.walkTokens(e,t)},C.parseInline=$.parseInline,C.Parser=T,C.parser=T.parse,C.Renderer=N,C.TextRenderer=v,C.Lexer=w,C.lexer=w.lex,C.Tokenizer=y,C.Hooks=_,C.parse=C;const A=C.options,M=C.setOptions,R=C.use,O=C.walkTokens,I=C.parseInline,F=C,P=T.parse,L=w.lex;t.Hooks=_,t.Lexer=w,t.Marked=S,t.Parser=T,t.Renderer=N,t.TextRenderer=v,t.Tokenizer=y,t.getDefaults=n,t.lexer=L,t.marked=C,t.options=A,t.parse=F,t.parseInline=I,t.parser=P,t.setOptions=M,t.use=R,t.walkTokens=O}}]); \ No newline at end of file diff --git a/assets/js/common.64052dc7.js b/assets/js/common.64052dc7.js deleted file mode 100644 index fb90d4a7..00000000 --- a/assets/js/common.64052dc7.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[2076],{64241:(e,t,r)=>{var n={"./de/common.json":[87680,7680],"./de/daysOfWeek.json":[42335,2335],"./de/eventTiming.json":[76689,6689],"./de/quantityComparator.json":[74328,4328],"./de/unitsOfTime.json":[46616,6616],"./en/common.json":[21092,1092],"./en/daysOfWeek.json":[46891,6891],"./en/eventTiming.json":[91293,1293],"./en/quantityComparator.json":[93876,3876],"./en/unitsOfTime.json":[76492,6492],"./fr/common.json":[64305,4305],"./fr/daysOfWeek.json":[84858,4858],"./fr/eventTiming.json":[8842,8842],"./fr/quantityComparator.json":[40225,225],"./fr/unitsOfTime.json":[40047,47],"./nl/common.json":[72031,2031],"./nl/daysOfWeek.json":[47748,7748],"./nl/eventTiming.json":[80404,404],"./nl/quantityComparator.json":[79975,9975],"./nl/unitsOfTime.json":[61465,1465]};function o(e){if(!r.o(n,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],o=t[0];return r.e(t[1]).then((()=>r.t(o,19)))}o.keys=()=>Object.keys(n),o.id=64241,e.exports=o},76300:(e,t,r)=>{"use strict";r.d(t,{U:()=>We});const n={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class o{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||n,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),r=0;r{this.observers[e]||(this.observers[e]=new Map);const r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{let[t,n]=e;for(let o=0;o{let[n,o]=t;for(let a=0;a{let e,t;const r=new Promise(((r,n)=>{e=r,t=n}));return r.resolve=e,r.reject=t,r},l=e=>null==e?"":""+e,c=/###/g,u=e=>e&&e.indexOf("###")>-1?e.replace(c,"."):e,d=e=>!e||"string"==typeof e,p=(e,t,r)=>{const n="string"!=typeof t?t:t.split(".");let o=0;for(;o{const{obj:n,k:o}=p(e,t,Object);if(void 0!==n||1===t.length)return void(n[o]=r);let a=t[t.length-1],s=t.slice(0,t.length-1),i=p(e,s,Object);for(;void 0===i.obj&&s.length;)a=`${s[s.length-1]}.${a}`,s=s.slice(0,s.length-1),i=p(e,s,Object),i&&i.obj&&void 0!==i.obj[`${i.k}.${a}`]&&(i.obj=void 0);i.obj[`${i.k}.${a}`]=r},h=(e,t)=>{const{obj:r,k:n}=p(e,t);if(r)return r[n]},f=(e,t,r)=>{for(const n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?"string"==typeof e[n]||e[n]instanceof String||"string"==typeof t[n]||t[n]instanceof String?r&&(e[n]=t[n]):f(e[n],t[n],r):e[n]=t[n]);return e},m=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var b={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const y=e=>"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>b[e])):e;const v=[" ",",","?","!",";"],x=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}(20),w=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const n=t.split(r);let o=e;for(let a=0;a-1&&se&&e.indexOf("_")>0?e.replace("_","-"):e;class q extends s{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,a=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;let s;e.indexOf(".")>-1?s=e.split("."):(s=[e,t],r&&(Array.isArray(r)?s.push(...r):"string"==typeof r&&o?s.push(...r.split(o)):s.push(r)));const i=h(this.data,s);return!i&&!t&&!r&&e.indexOf(".")>-1&&(e=s[0],t=s[1],r=s.slice(2).join(".")),i||!a||"string"!=typeof r?i:w(this.data&&this.data[e]&&this.data[e][t],r,o)}addResource(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let s=[e,t];r&&(s=s.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(s=e.split("."),n=t,t=s[1]),this.addNamespaces(t),g(this.data,s,n),o.silent||this.emit("added",e,t,r,n)}addResources(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const o in r)("string"==typeof r[o]||Array.isArray(r[o]))&&this.addResource(e,t,o,r[o],{silent:!0});n.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,n,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},s=[e,t];e.indexOf(".")>-1&&(s=e.split("."),n=r,r=t,t=s[1]),this.addNamespaces(t);let i=h(this.data,s)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?f(i,r,o):i={...i,...r},g(this.data,s,i),a.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var S={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,n,o){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,r,n,o))})),t}};const E={};class L extends s{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),((e,t,r)=>{e.forEach((e=>{t[e]&&(r[e]=t[e])}))})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=a.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const r=this.resolve(e,t);return r&&void 0!==r.res}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");const n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let o=t.ns||this.options.defaultNS||[];const a=r&&e.indexOf(r)>-1,s=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||((e,t,r)=>{t=t||"",r=r||"";const n=v.filter((e=>t.indexOf(e)<0&&r.indexOf(e)<0));if(0===n.length)return!0;const o=x.getRegExp(`(${n.map((e=>"?"===e?"\\?":e)).join("|")})`);let a=!o.test(e);if(!a){const t=e.indexOf(r);t>0&&!o.test(e.substring(0,t))&&(a=!0)}return a})(e,r,n));if(a&&!s){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:o};const a=e.split(r);(r!==n||r===n&&this.options.ns.indexOf(a[0])>-1)&&(o=a.shift()),e=a.join(n)}return"string"==typeof o&&(o=[o]),{key:e,namespaces:o}}translate(e,t,r){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const n=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(e[e.length-1],t),i=s[s.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(c){const e=t.nsSeparator||this.options.nsSeparator;return n?{res:`${i}${e}${a}`,usedKey:a,exactUsedKey:a,usedLng:l,usedNS:i,usedParams:this.getUsedParamsDetails(t)}:`${i}${e}${a}`}return n?{res:a,usedKey:a,exactUsedKey:a,usedLng:l,usedNS:i,usedParams:this.getUsedParamsDetails(t)}:a}const u=this.resolve(e,t);let d=u&&u.res;const p=u&&u.usedKey||a,g=u&&u.exactUsedKey||a,h=Object.prototype.toString.apply(d),f=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&d&&("string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(h)<0&&("string"!=typeof f||!Array.isArray(d))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,d,{...t,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return n?(u.res=e,u.usedParams=this.getUsedParamsDetails(t),u):e}if(o){const e=Array.isArray(d),r=e?[]:{},n=e?g:p;for(const a in d)if(Object.prototype.hasOwnProperty.call(d,a)){const e=`${n}${o}${a}`;r[a]=this.translate(e,{...t,joinArrays:!1,ns:s}),r[a]===e&&(r[a]=d[a])}d=r}}else if(m&&"string"==typeof f&&Array.isArray(d))d=d.join(f),d&&(d=this.extendTranslation(d,e,t,r));else{let n=!1,s=!1;const c=void 0!==t.count&&"string"!=typeof t.count,p=L.hasDefaultValue(t),g=c?this.pluralResolver.getSuffix(l,t.count,t):"",h=t.ordinal&&c?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",f=c&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),m=f&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${g}`]||t[`defaultValue${h}`]||t.defaultValue;!this.isValidLookup(d)&&p&&(n=!0,d=m),this.isValidLookup(d)||(s=!0,d=a);const b=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&s?void 0:d,y=p&&m!==d&&this.options.updateMissing;if(s||n||y){if(this.logger.log(y?"updateKey":"missingKey",l,i,a,y?m:d),o){const e=this.resolve(a,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const r=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&r&&r[0])for(let t=0;t{const o=p&&n!==d?n:b;this.options.missingKeyHandler?this.options.missingKeyHandler(e,i,r,o,y,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,i,r,o,y,t),this.emit("missingKey",e,i,r,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&c?e.forEach((e=>{const r=this.pluralResolver.getSuffixes(e,t);f&&t[`defaultValue${this.options.pluralSeparator}zero`]&&r.indexOf(`${this.options.pluralSeparator}zero`)<0&&r.push(`${this.options.pluralSeparator}zero`),r.forEach((r=>{n([e],a+r,t[`defaultValue${r}`]||m)}))})):n(e,a,m))}d=this.extendTranslation(d,e,t,u,r),s&&d===a&&this.options.appendNamespaceToMissingKey&&(d=`${i}:${a}`),(s||n)&&this.options.parseMissingKeyHandler&&(d="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${i}:${a}`:a,n?d:void 0):this.options.parseMissingKeyHandler(d))}return n?(u.res=d,u.usedParams=this.getUsedParamsDetails(t),u):d}extendTranslation(e,t,r,n,o){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const s="string"==typeof e&&(r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let i;if(s){const t=e.match(this.interpolator.nestingRegexp);i=t&&t.length}let l=r.replace&&"string"!=typeof r.replace?r.replace:r;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,r.lng||this.language||n.usedLng,r),s){const t=e.match(this.interpolator.nestingRegexp);i<(t&&t.length)&&(r.nest=!1)}!r.lng&&"v1"!==this.options.compatibilityAPI&&n&&n.res&&(r.lng=this.language||n.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,n=new Array(e),s=0;s1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const i=this.extractFromKey(e,s),l=i.key;r=l;let c=i.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==s.count&&"string"!=typeof s.count,d=u&&!s.ordinal&&0===s.count&&this.pluralResolver.shouldUseIntlApi(),p=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,g=s.lngs?s.lngs:this.languageUtils.toResolveHierarchy(s.lng||this.language,s.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(a=e,!E[`${g[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(E[`${g[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${g.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach((r=>{if(this.isValidLookup(t))return;o=r;const a=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(a,l,r,e,s);else{let e;u&&(e=this.pluralResolver.getSuffix(r,s.count,s));const t=`${this.options.pluralSeparator}zero`,n=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(a.push(l+e),s.ordinal&&0===e.indexOf(n)&&a.push(l+e.replace(n,this.options.pluralSeparator)),d&&a.push(l+t)),p){const r=`${l}${this.options.contextSeparator}${s.context}`;a.push(r),u&&(a.push(r+e),s.ordinal&&0===e.indexOf(n)&&a.push(r+e.replace(n,this.options.pluralSeparator)),d&&a.push(r+t))}}let i;for(;i=a.pop();)this.isValidLookup(t)||(n=i,t=this.getResource(r,e,i,s))})))}))})),{res:t,usedKey:r,exactUsedKey:n,usedLng:o,usedNS:a}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,r,n):this.resourceStore.getResource(e,t,r,n)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&"string"!=typeof e.replace;let n=r?e.replace:e;if(r&&void 0!==e.count&&(n.count=e.count),this.options.interpolation.defaultVariables&&(n={...this.options.interpolation.defaultVariables,...n}),!r){n={...n};for(const e of t)delete n[e]}return n}static hasDefaultValue(e){const t="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,12)&&void 0!==e[r])return!0;return!1}}const O=e=>e.charAt(0).toUpperCase()+e.slice(1);class A{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=a.create("languageUtils")}getScriptPartFromCode(e){if(!(e=k(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=k(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let r=e.split("-");return this.options.lowerCaseLng?r=r.map((e=>e.toLowerCase())):2===r.length?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),t.indexOf(r[1].toLowerCase())>-1&&(r[1]=O(r[1].toLowerCase()))):3===r.length&&(r[0]=r[0].toLowerCase(),2===r[1].length&&(r[1]=r[1].toUpperCase()),"sgn"!==r[0]&&2===r[2].length&&(r[2]=r[2].toUpperCase()),t.indexOf(r[1].toLowerCase())>-1&&(r[1]=O(r[1].toLowerCase())),t.indexOf(r[2].toLowerCase())>-1&&(r[2]=O(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const r=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(r)||(t=r)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find((e=>e===r?e:e.indexOf("-")<0&&r.indexOf("-")<0?void 0:e.indexOf("-")>0&&r.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===r||0===e.indexOf(r)&&r.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){const r=this.getFallbackCodes(t||this.options.fallbackLng||[],e),n=[],o=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),r.forEach((e=>{n.indexOf(e)<0&&o(this.formatLanguageCode(e))})),n}}let D=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],C={1:e=>Number(e>1),2:e=>Number(1!=e),3:e=>0,4:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),5:e=>Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5),6:e=>Number(1==e?0:e>=2&&e<=4?1:2),7:e=>Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),8:e=>Number(1==e?0:2==e?1:8!=e&&11!=e?2:3),9:e=>Number(e>=2),10:e=>Number(1==e?0:2==e?1:e<7?2:e<11?3:4),11:e=>Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3),12:e=>Number(e%10!=1||e%100==11),13:e=>Number(0!==e),14:e=>Number(1==e?0:2==e?1:3==e?2:3),15:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2),16:e=>Number(e%10==1&&e%100!=11?0:0!==e?1:2),17:e=>Number(1==e||e%10==1&&e%100!=11?0:1),18:e=>Number(0==e?0:1==e?1:2),19:e=>Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3),20:e=>Number(1==e?0:0==e||e%100>0&&e%100<20?1:2),21:e=>Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0),22:e=>Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)};const N=["v1","v2","v3"],T=["v4"],R={zero:0,one:1,two:2,few:3,many:4,other:5};class j{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=a.create("pluralResolver"),this.options.compatibilityJSON&&!T.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=(()=>{const e={};return D.forEach((t=>{t.lngs.forEach((r=>{e[r]={numbers:t.nr,plurals:C[t.fc]}}))})),e})(),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{const r=k("dev"===e?"en":e),n=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:r,type:n});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];const a=new Intl.PluralRules(r,{type:n});return this.pluralRulesCache[o]=a,a}catch(r){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=this.getRule(e,t);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,r).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=this.getRule(e,t);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort(((e,t)=>R[e]-R[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):r.numbers.map((r=>this.getSuffix(e,r,t))):[]}getSuffix(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.getRule(e,r);return n?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:this.getSuffixRetroCompatible(n,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const r=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let n=e.numbers[r];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===n?n="plural":1===n&&(n=""));const o=()=>this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString();return"v1"===this.options.compatibilityJSON?1===n?"":"number"==typeof n?`_plural_${n.toString()}`:o():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!N.includes(this.options.compatibilityJSON)}}const P=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=((e,t,r)=>{const n=h(e,r);return void 0!==n?n:h(t,r)})(e,t,r);return!a&&o&&"string"==typeof r&&(a=w(e,r,n),void 0===a&&(a=w(t,r,n))),a},I=e=>e.replace(/\$/g,"$$$$");class F{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=a.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:r,useRawValueToEscape:n,prefix:o,prefixEscaped:a,suffix:s,suffixEscaped:i,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:p,nestingSuffix:g,nestingSuffixEscaped:h,nestingOptionsSeparator:f,maxReplaces:b,alwaysFormat:v}=e.interpolation;this.escape=void 0!==t?t:y,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=o?m(o):a||"{{",this.suffix=s?m(s):i||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=d?m(d):p||m("$t("),this.nestingSuffix=g?m(g):h||m(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=b||1e3,this.alwaysFormat=void 0!==v&&v,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,r,n){let o,a,s;const i=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(e.indexOf(this.formatSeparator)<0){const o=P(t,i,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,r,{...n,...t,interpolationkey:e}):o}const o=e.split(this.formatSeparator),a=o.shift().trim(),s=o.join(this.formatSeparator).trim();return this.format(P(t,i,a,this.options.keySeparator,this.options.ignoreJSONStructure),s,r,{...n,...t,interpolationkey:a})};this.resetRegExp();const u=n&&n.missingInterpolationHandler||this.options.missingInterpolationHandler,d=n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>I(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?I(this.escape(e)):I(e)}].forEach((t=>{for(s=0;o=t.regex.exec(e);){const r=o[1].trim();if(a=c(r),void 0===a)if("function"==typeof u){const t=u(e,o,n);a="string"==typeof t?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,r))a="";else{if(d){a=o[0];continue}this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),a=""}else"string"==typeof a||this.useRawValueToEscape||(a=l(a));const i=t.safeValue(a);if(e=e.replace(o[0],i),d?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,s++,s>=this.maxReplaces)break}})),e}nest(e,t){let r,n,o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=(e,t)=>{const r=this.nestingOptionsSeparator;if(e.indexOf(r)<0)return e;const n=e.split(new RegExp(`${r}[ ]*{`));let a=`{${n[1]}`;e=n[0],a=this.interpolate(a,o);const s=a.match(/'/g),i=a.match(/"/g);(s&&s.length%2==0&&!i||i.length%2!=0)&&(a=a.replace(/'/g,'"'));try{o=JSON.parse(a),t&&(o={...t,...o})}catch(l){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,l),`${e}${r}${a}`}return o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1&&delete o.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let i=[];o={...a},o=o.replace&&"string"!=typeof o.replace?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let c=!1;if(-1!==r[0].indexOf(this.formatSeparator)&&!/{.*}/.test(r[1])){const e=r[1].split(this.formatSeparator).map((e=>e.trim()));r[1]=e.shift(),i=e,c=!0}if(n=t(s.call(this,r[1].trim(),o),o),n&&r[0]===e&&"string"!=typeof n)return n;"string"!=typeof n&&(n=l(n)),n||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),n=""),c&&(n=i.reduce(((e,t)=>this.format(e,t,a.lng,{...a,interpolationkey:r[1].trim()})),n.trim())),e=e.replace(r[0],n),this.regexp.lastIndex=0}return e}}const U=e=>{const t={};return(r,n,o)=>{let a=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(a={...a,[o.interpolationkey]:void 0});const s=n+JSON.stringify(a);let i=t[s];return i||(i=e(k(n),o),t[s]=i),i(r)}};class V{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=a.create("formatter"),this.options=e,this.formats={number:U(((e,t)=>{const r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)})),currency:U(((e,t)=>{const r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)})),datetime:U(((e,t)=>{const r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)})),relativetime:U(((e,t)=>{const r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")})),list:U(((e,t)=>{const r=new Intl.ListFormat(e,{...t});return e=>r.format(e)}))},this.init(e)}init(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=U(t)}format(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find((e=>e.indexOf(")")>-1))){const e=o.findIndex((e=>e.indexOf(")")>-1));o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce(((e,t)=>{const{formatName:o,formatOptions:a}=(e=>{let t=e.toLowerCase().trim();const r={};if(e.indexOf("(")>-1){const n=e.split("(");t=n[0].toLowerCase().trim();const o=n[1].substring(0,n[1].length-1);"currency"===t&&o.indexOf(":")<0?r.currency||(r.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?r.range||(r.range=o.trim()):o.split(";").forEach((e=>{if(e){const[t,...n]=e.split(":"),o=n.join(":").trim().replace(/^'+|'+$/g,""),a=t.trim();r[a]||(r[a]=o),"false"===o&&(r[a]=!1),"true"===o&&(r[a]=!0),isNaN(o)||(r[a]=parseInt(o,10))}}))}return{formatName:t,formatOptions:r}})(t);if(this.formats[o]){let t=e;try{const s=n&&n.formatParams&&n.formatParams[n.interpolationkey]||{},i=s.locale||s.lng||n.locale||n.lng||r;t=this.formats[o](e,i,{...a,...n,...s})}catch(s){this.logger.warn(s)}return t}return this.logger.warn(`there was no format function for ${o}`),e}),e)}}class B extends s{constructor(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=a.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,n.backend,n)}queueLoad(e,t,r,n){const o={},a={},s={},i={};return e.forEach((e=>{let n=!0;t.forEach((t=>{const s=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[s]=2:this.state[s]<0||(1===this.state[s]?void 0===a[s]&&(a[s]=!0):(this.state[s]=1,n=!1,void 0===a[s]&&(a[s]=!0),void 0===o[s]&&(o[s]=!0),void 0===i[t]&&(i[t]=!0)))})),n||(s[e]=!0)})),(Object.keys(o).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(o),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(i)}}loaded(e,t,r){const n=e.split("|"),o=n[0],a=n[1];t&&this.emit("failedLoading",o,a,t),!t&&r&&this.store.addResourceBundle(o,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);const s={};this.queue.forEach((r=>{((e,t,r)=>{const{obj:n,k:o}=p(e,t,Object);n[o]=n[o]||[],n[o].push(r)})(r.loaded,[o],a),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(r,e),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach((e=>{s[e]||(s[e]={});const t=r.loaded[e];t.length&&t.forEach((t=>{void 0===s[e][t]&&(s[e][t]=!0)}))})),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())})),this.emit("loaded",s),this.queue=this.queue.filter((e=>!e.done))}read(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:o,callback:a});this.readingCalls++;const s=(s,i)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}s&&i&&n{this.read.call(this,e,t,r,n+1,2*o,a)}),o):a(s,i)},i=this.backend[r].bind(this.backend);if(2!==i.length)return i(e,t,s);try{const r=i(e,t);r&&"function"==typeof r.then?r.then((e=>s(null,e))).catch(s):s(null,r)}catch(l){s(l)}}prepareLoading(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);const o=this.queueLoad(e,t,r,n);if(!o.toLoad.length)return o.pending.length||n(),null;o.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const r=e.split("|"),n=r[0],o=r[1];this.read(n,o,"read",void 0,void 0,((r,a)=>{r&&this.logger.warn(`${t}loading namespace ${o} for language ${n} failed`,r),!r&&a&&this.logger.log(`${t}loaded namespace ${o} for language ${n}`,a),this.loaded(e,r,a)}))}saveMissing(e,t,r,n,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=r&&""!==r){if(this.backend&&this.backend.create){const l={...a,isUpdate:o},c=this.backend.create.bind(this.backend);if(c.length<6)try{let o;o=5===c.length?c(e,t,r,n,l):c(e,t,r,n),o&&"function"==typeof o.then?o.then((e=>s(null,e))).catch(s):s(null,o)}catch(i){s(i)}else c(e,t,r,n,s,l)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}const $=()=>({debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const r=e[3]||e[2];Object.keys(r).forEach((e=>{t[e]=r[e]}))}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),H=e=>("string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e),M=()=>{};class z extends s{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var r;if(super(),this.options=H(e),this.services={},this.logger=a,this.modules={external:[]},r=this,Object.getOwnPropertyNames(Object.getPrototypeOf(r)).forEach((e=>{"function"==typeof r[e]&&(r[e]=r[e].bind(r))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(r=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const n=$();this.options={...n,...this.options,...H(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...n.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator);const o=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?a.init(o(this.modules.logger),this.options):a.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=V);const r=new A(this.options);this.store=new q(this.options.resources,this.options);const s=this.services;s.logger=a,s.resourceStore=this.store,s.languageUtils=r,s.pluralResolver=new j(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format||(s.formatter=o(t),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new F(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new B(o(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",(function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o1?r-1:0),o=1;o{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,r||(r=M),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const s=i(),l=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),s.resolve(t),r(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),s}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:M;const r="string"==typeof e?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&"cimode"===r.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],n=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(r)n(r);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>n(e)))}this.options.preload&&this.options.preload.forEach((e=>n(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,r){const n=i();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=M),this.services.backendConnector.reload(e,t,(e=>{n.resolve(),r(e)})),n}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&S.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let t=0;t-1)&&this.store.hasLanguageSomeTranslations(e)){this.resolvedLanguage=e;break}}}changeLanguage(e,t){var r=this;this.isLanguageChangingTo=e;const n=i();this.emit("languageChanging",e);const o=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,a)=>{a?(o(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit("languageChanged",a),this.logger.log("languageChanged",a)):this.isLanguageChangingTo=void 0,n.resolve((function(){return r.t(...arguments)})),t&&t(e,(function(){return r.t(...arguments)}))},s=t=>{e||t||!this.services.languageDetector||(t=[]);const r="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);r&&(this.language||o(r),this.translator.language||this.translator.changeLanguage(r),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(r)),this.loadResources(r,(e=>{a(e,r)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(s):this.services.languageDetector.detect(s):s(e):s(this.services.languageDetector.detect()),n}getFixedT(e,t,r){var n=this;const o=function(e,t){let a;if("object"!=typeof t){for(var s=arguments.length,i=new Array(s>2?s-2:0),l=2;l`${a.keyPrefix}${c}${e}`)):a.keyPrefix?`${a.keyPrefix}${c}${e}`:e,n.t(u,a)};return"string"==typeof e?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=t.lng||this.resolvedLanguage||this.languages[0],n=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;const a=(e,t)=>{const r=this.services.backendConnector.state[`${e}|${t}`];return-1===r||0===r||2===r};if(t.precheck){const e=t.precheck(this,a);if(void 0!==e)return e}return!!this.hasResourceBundle(r,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!a(r,e)||n&&!a(o,e)))}loadNamespaces(e,t){const r=i();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{r.resolve(),t&&t(e)})),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=i();"string"==typeof e&&(e=[e]);const n=this.options.preload||[],o=e.filter((e=>n.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return o.length?(this.options.preload=n.concat(o),this.loadResources((e=>{r.resolve(),t&&t(e)})),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new A($());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new z(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:M;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const n={...this.options,...e,isClone:!0},o=new z(n);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));return["store","services","language"].forEach((e=>{o[e]=this[e]})),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new q(this.store.data,n),o.services.resourceStore=o.store),o.translator=new L(o.services,n),o.translator.on("*",(function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.backends=[],this.type="backend",this.allOptions=n,this.init(t,r)}return function(e,t,r){t&&J(e.prototype,t),r&&J(e,r),Object.defineProperty(e,"prototype",{writable:!1})}(e,[{key:"init",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=function(e){return Y.call(Z.call(arguments,1),(function(t){if(t)for(var r in t)void 0===e[r]&&(e[r]=t[r])})),e}(r,this.options||{},{handleEmptyResourcesAsFailed:!0,cacheHitMode:"none"}),this.allOptions=n,this.options.backends&&this.options.backends.forEach((function(r,o){var a;t.backends[o]=t.backends[o]||((a=r)?"function"==typeof a?new a:a:null),t.backends[o].init(e,t.options.backendOptions&&t.options.backendOptions[o]||{},n)})),this.services&&this.options.reloadInterval&&setInterval((function(){return t.reload()}),this.options.reloadInterval)}},{key:"read",value:function(e,t,r){var n=this,o=this.backends.length,a=function r(o,a){if(!(o<0)){var s=n.backends[o];s.save?(s.save(e,t,a),r(o-1,a)):r(o-1,a)}};!function s(i){if(i>=o)return r(new Error("non of the backend loaded data",!0));var l=i===o-1,c=n.options.handleEmptyResourcesAsFailed&&!l?0:-1,u=n.backends[i];u.read?Q(u,e,t,(function(o,l,d){if(!o&&l&&Object.keys(l).length>c){if(r(null,l,i),a(i-1,l),u.save&&n.options.cacheHitMode&&["refresh","refreshAndUpdateStore"].indexOf(n.options.cacheHitMode)>-1){if(d&&n.options.refreshExpirationTime&&d+n.options.refreshExpirationTime>Date.now())return;var p=n.backends[i+1];p&&p.read&&Q(p,e,t,(function(r,o){r||o&&(Object.keys(o).length<=c||(a(i,o),"refreshAndUpdateStore"===n.options.cacheHitMode&&n.services&&n.services.resourceStore&&n.services.resourceStore.addResourceBundle(e,t,o)))}))}}else s(i+1)})):s(i+1)}(0)}},{key:"create",value:function(e,t,r,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.backends.forEach((function(s){if(s.create){var i=s.create.bind(s);if(i.length<6)try{var l;(l=5===i.length?i(e,t,r,n,a):i(e,t,r,n))&&"function"==typeof l.then?l.then((function(e){return o(null,e)})).catch(o):o(null,l)}catch(c){o(c)}else i(e,t,r,n,o,a)}}))}},{key:"reload",value:function(){var e=this,t=this.services,r=t.backendConnector,n=t.languageUtils,o=t.logger,a=r.language;if(!a||"cimode"!==a.toLowerCase()){var s=[],i=function(e){n.toResolveHierarchy(e).forEach((function(e){s.indexOf(e)<0&&s.push(e)}))};i(a),this.allOptions.preload&&this.allOptions.preload.forEach((function(e){return i(e)})),s.forEach((function(t){e.allOptions.ns.forEach((function(e){r.read(t,e,"read",null,null,(function(n,a){n&&o.warn("loading namespace ".concat(e," for language ").concat(t," failed"),n),!n&&a&&o.log("loaded namespace ".concat(e," for language ").concat(t),a),r.loaded("".concat(t,"|").concat(e),n,a)}))}))}))}}}]),e}();X.type="backend";function ee(e){return void 0!==e}function te(){for(var e=arguments.length,t=new Array(e),r=0;rJSON.stringify(e))).join(" ")},displayOrder:["method","doseQuantity","doseRange","rateRatio","rateQuantity","rateRange","durationDurationMax","frequencyFrequencyMaxPeriodPeriodMax","offsetWhen","dayOfWeek","timeOfDay","route","site","asNeeded","boundsDuration","boundsPeriod","boundsRange","countCountMax","event","code","maxDosePerPeriod","maxDosePerAdministration","maxDosePerLifetime","additionalInstruction","patientInstruction"],displaySeparator:" - ",dateTimeFormatOptions:{},i18nConfig:{backend:{backends:[(ae=async(e,t)=>r(64241)(`./${e}/${t}.json`),{type:"backend",init:function(e,t,r){},read:function(e,t,r){if("function"!=typeof ae)r(null,ae&&ae[e]&&ae[e][t]);else{if(ae.length<3){try{var n=ae(e,t);n&&"function"==typeof n.then?n.then((function(e){return r(null,e&&e.default||e)})).catch(r):r(null,n)}catch(o){r(o)}return}ae(e,t,r)}}})]}}};var ae;class se{containsOnlySequentialInstructions(e){let t=e.map((e=>e.sequence)).filter(ee),r=new Set(t);return[0,e.length].includes(r.size)}groupBySequence(e){let t=new Set,r=new Map;for(let n of e){let e=n.sequence,o=r.get(e)??[];o.push(n),r.set(e,o),t.add(e)}return Array.from(t,(e=>r.get(e)))}}function ie(e,t){if(!ee(e.doseAndRate))return;let r=e.doseAndRate.find((e=>ee(e[t])));return ee(r)?r[t]:void 0}function le(e){let{quantity:t,config:r,i18next:n}=e;const{fromFHIRQuantityUnitToString:o,language:a}=r;let s=o({language:a,quantity:t}),i=t.value||1,l=t.comparator,c=0===s.length?n.t("amount.quantity.withoutUnit",{quantity:i}):n.t("amount.quantity.withUnit",{quantity:i,unit:s});return ee(l)?`${n.t(`quantityComparator:${l}`)} ${c}`:c}function ce(e){let{config:t,dos:r,i18next:n}=e,o=ie(r,"doseQuantity");if(ee(o))return n.t("fields.doseQuantity",{quantityText:le({quantity:o,config:t,i18next:n})})}function ue(e){return[e?.unit,e?.code].some(ee)}function de(e,t,r){let n=t.value;if("http://hl7.org/fhir/ValueSet/duration-units"===t.system){let r=t.code;return e.t(`unitsOfTime:withoutCount.${r}`,{count:n})}return r.fromFHIRQuantityUnitToString({language:r.language,quantity:t})}function pe(e){let{range:t,config:r,i18next:n}=e;const{low:o,high:a}=t,s=o?.value,i=a?.value;if(re(s,i))return;const{prefix:l,unit:c}=function(e){let{range:t,config:r,i18next:n}=e;const{low:o,high:a}=t;let s=a||o;return ue(s)?{prefix:"amount.range.withUnit",unit:de(n,s,r)}:{prefix:"amount.range.withoutUnit",unit:""}}({range:t,config:r,i18next:n});return te(s,i)?n.t(`${l}.lowAndHigh`,{low:s,high:i,unit:c}):ee(i)?n.t(`${l}.onlyHigh`,{high:i,unit:c}):n.t(`${l}.onlyLow`,{low:s,unit:c})}function ge(e){let{dos:t,config:r,i18next:n}=e,o=ie(t,"doseRange");if(!ee(o))return;const a=pe({range:o,config:r,i18next:n});return ee(a)?n.t("fields.doseRange",{rangeText:a}):void 0}function he(e){let{dos:t,config:r,i18next:n}=e,o=ie(t,"rateQuantity");if(ee(o))return n.t("fields.rateQuantity",{quantityText:le({quantity:o,config:r,i18next:n})})}function fe(e){let{dos:t,config:r,i18next:n}=e,o=ie(t,"rateRange");if(!ee(o))return;const a=pe({range:o,config:r,i18next:n});return ee(a)?n.t("fields.rateRange",{rangeText:a}):void 0}function me(e){let{ratio:t,config:r,i18next:n}=e;const{denominator:o,numerator:a}=t;let s=a?.value,i=o?.value;const l=[];if(ee(s)){const e=le({quantity:a,config:r,i18next:n});l.push(e)}if(ee(i)){const e=function(e){let{config:t,i18next:r,quantity:n}=e,o=ue(n),a=n.value;return o?` ${r.t("amount.ratio.denominatorLinkword",{count:a})} ${1!==a?le({quantity:n,config:t,i18next:r}):t.fromFHIRQuantityUnitToString({quantity:n,language:t.language})}`:`:${a}`}({config:r,i18next:n,quantity:o});l.push(e)}return l.length>0?l.join(""):void 0}function be(e){let{dos:t,config:r,i18next:n}=e,o=ie(t,"rateRatio");if(!ee(o))return;const a=me({config:r,i18next:n,ratio:o});return ee(a)?n.t("fields.rateRatio",{ratioText:a}):void 0}function ye(e,t){if(ee(e.timing?.repeat))return e.timing.repeat[t]}function ve(e){let{dos:t,i18next:r}=e,n=ye(t,"duration"),o=ye(t,"durationMax"),a=ye(t,"durationUnit");if(ee(a))return[ee(n)&&r.t("fields.duration",{durationText:r.t(`unitsOfTime:withCount.${a}`,{count:n})}),ee(o)&&r.t("fields.durationMax",{durationMaxText:r.t(`unitsOfTime:withCount.${a}`,{count:o})})].filter((e=>!1!==e)).join(" ")}function xe(e){let{dos:t,i18next:r}=e,n=ye(t,"frequency"),o=ye(t,"frequencyMax");if(!re(n,o))return te(n,o)?r.t("fields.frequency.withfrequencyMax",{count:o,frequency:n}):ee(o)?r.t("fields.frequencyMax.frequencyMax",{count:o}):r.t("fields.frequency.onlyFrequency",{count:n})}function we(e){let{dos:t,i18next:r}=e,n=ye(t,"period"),o=ye(t,"periodMax"),a=ye(t,"periodUnit");if(ee(a))return te(n,o)?r.t("fields.periodMax.withPeriod",{period:n,count:o,unit:r.t(`unitsOfTime:withoutCount.${a}`,{count:o})}):ee(o)?r.t("fields.periodMax.onlyPeriodMax",{count:o,unit:r.t(`unitsOfTime:withoutCount.${a}`,{count:o})}):r.t("fields.period.period",{count:n,unit:r.t(`unitsOfTime:withoutCount.${a}`,{count:n})})}const ke={and:"linkwords.and",then:"linkwords.then"};function qe(e,t,r){void 0===r&&(r="and");const n=t.slice(0,-1).join(", "),o=t.slice(-1).join(""),a=ke[r];return n+(t.length>1?` ${e.t(a)} `:"")+o}function Se(e,t){if(!ee(t)||t<=0)return;let r=(n=t,{d:Math.floor(n/1440),h:Math.floor(n%1440/60),min:n%60});var n;return["d","h","min"].filter((e=>r[e]>0)).map((t=>e.t(`unitsOfTime:withCount.${t}`,{count:r[t]}))).join(" ")}function Ee(e,t){if(ne(t))return;const r=t.map((t=>e.t(`eventTiming:${t}`)));return qe(e,r)}function Le(e){let{dos:t,i18next:r}=e,n=ye(t,"offset"),o=ye(t,"when");if(!re(n,o))return[Se(r,n),Ee(r,o)].filter(ee).join(" ")}function Oe(e){let{dos:t,i18next:r}=e,n=ye(t,"dayOfWeek");if(ne(n))return;const o=n.map((e=>r.t(`daysOfWeek:${e}`))),a=qe(r,o);return r.t("fields.dayOfWeek.dayOfWeek",{count:n.length,dayOfWeek:a})}function Ae(e){var t=e.split(":");return t.length>2&&"00"===t[2]&&t.pop(),t.join(":")}function De(e){let{dos:t,i18next:r}=e,n=ye(t,"timeOfDay");if(ne(n))return;const o=n.map(Ae),a=qe(r,o);return r.t("fields.timeOfDay",{timeOfDay:a,count:o.length})}function Ce(e,t,r){return qe(e,t.map((e=>r.fromCodeableConceptToString({code:e,language:r.language}))).filter(ee))}function Ne(e){let{dos:t,config:r,i18next:n}=e,o=t.asNeededBoolean,a=t.asNeeded,s=function(e){let t=e.asNeededCodeableConcept;return e.asNeededFor||(void 0!==t?[t]:[])}(t);return s.length>0?n.t("fields.asNeededFor",{reasons:Ce(n,s,r)}):[o,a].includes(!0)?n.t("fields.asNeeded"):void 0}function Te(e){let{dos:t,config:r,i18next:n}=e,o=ye(t,"boundsDuration");if(!ee(o))return;let a=function(e,t,r){let n=t.value;if("http://hl7.org/fhir/ValueSet/duration-units"===t.system){let r=t.code;return e.t(`unitsOfTime:withCount.${r}`,{count:n})}return`${n} ${r.fromFHIRQuantityUnitToString({language:r.language,quantity:t})}`}(n,o,r);return n.t("fields.boundsDuration",{durationText:a})}function Re(e){let{dos:t,config:r,i18next:n}=e,o=ye(t,"boundsRange");if(!ee(o))return;const a=pe({range:o,config:r,i18next:n});return ee(a)?n.t("fields.boundsRange",{rangeText:a}):void 0}function je(e){let{dos:t,i18next:r}=e,n=ye(t,"count"),o=ye(t,"countMax");if(!re(n,o))return te(n,o)?r.t("fields.countMax.countMax",{count:o,low:n}):ee(o)?r.t("fields.count.count",{count:o}):r.t("fields.count.count",{count:n})}const Pe={yearOnly:e=>{let{config:t,date:r}=e;return new Intl.DateTimeFormat(t.language,{year:"numeric"}).format(r)},yearAndMonthOnly:e=>{let{config:t,date:r}=e;return new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long"}).format(r)},dateOnly:e=>{let{config:t,date:r}=e;return new Intl.DateTimeFormat(t.language,{...Ie(t.dateTimeFormatOptions)}).format(r)},dateTime:e=>{let{config:t,date:r}=e;return new Intl.DateTimeFormat(t.language,{...Ie(t.dateTimeFormatOptions),...Fe(t.dateTimeFormatOptions)}).format(r)}};function Ie(e){if(ee(e.dateStyle))return{dateStyle:e.dateStyle};return{...e,year:"numeric",month:"2-digit",day:"2-digit"}}function Fe(e){if(ee(e.timeStyle))return{timeStyle:e.timeStyle};return{...e,hour:"2-digit",minute:"2-digit",second:"2-digit"}}function Ue(e){let t=new Date(e),r=e.includes("T"),n=e.split("-").length-1;return{date:t,hasTimePart:r,hasMonths:n>=1,hasDays:n>=2}}function Ve(e){let{config:t,datetimes:r}=e;return r.map(Ue).map((e=>{let{date:r,hasTimePart:n,hasMonths:o,hasDays:a}=e;return Pe[o?a?n?"dateTime":"dateOnly":"yearAndMonthOnly":"yearOnly"]({config:t,date:r})}))}function Be(e){let{config:t,datetime:r}=e;if(!ee(r))return;return Ve({config:t,datetimes:[r]})[0]}function $e(e){let{dos:t,config:r,i18next:n}=e,o=t.timing?.event;if(ne(o))return;let a=qe(n,Ve({config:r,datetimes:o}));return n.t("fields.event.event",{count:o.length,event:a})}function He(e){let{dos:t,config:r,i18next:n}=e;if(!ne(t.additionalInstruction))return qe(n,t.additionalInstruction.map((e=>r.fromCodeableConceptToString({code:e,language:r.language}))).filter(ee))}function Me(e){let{dos:t,config:r,i18next:n}=e;if(!ee(t.maxDosePerLifetime))return;const o=t.maxDosePerLifetime;return n.t("fields.maxDosePerLifetime",{quantityText:le({quantity:o,config:r,i18next:n})})}function ze(e){let{dos:t,config:r,i18next:n}=e;if(!ee(t.maxDosePerAdministration))return;const o=t.maxDosePerAdministration;return n.t("fields.maxDosePerAdministration",{quantityText:le({quantity:o,config:r,i18next:n})})}function Ge(e){let{dos:t,config:r,i18next:n}=e;if(!ee(t.timing?.repeat?.boundsPeriod))return;const o=t.timing.repeat.boundsPeriod;let a=Be({config:r,datetime:o.start}),s=Be({config:r,datetime:o.end});return te(a,s)?n.t("fields.boundsPeriod.startAndEnd",{start:a,end:s}):ee(a)?n.t("fields.boundsPeriod.onlyStart",{start:a}):n.t("fields.boundsPeriod.onlyEnd",{end:s})}function _e(e){let{dos:t,config:r,i18next:n}=e;if(!ee(t.maxDosePerPeriod))return;const o=t.maxDosePerPeriod,a=Array.isArray(o)?o:[o];if(0===a.length)return;const s=a.map((e=>me({config:r,i18next:n,ratio:e}))).filter(ee),i=qe(n,s);return n.t("fields.maxDosePerPeriod",{count:a.length,maxDosePerPeriodText:i})}const Ke={additionalInstruction:e=>He(e),asNeeded:e=>Ne(e),boundsDuration:e=>Te(e),boundsRange:e=>Re(e),boundsPeriod:e=>Ge(e),code:e=>{let{dos:t,config:r}=e;return r.fromCodeableConceptToString({language:r.language,code:t.timing?.code})},countCountMax:e=>je(e),dayOfWeek:e=>Oe(e),doseQuantity:e=>ce(e),doseRange:e=>ge(e),durationDurationMax:e=>ve(e),event:e=>$e(e),extension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.extension})},frequencyFrequencyMax:e=>xe(e),frequencyFrequencyMaxPeriodPeriodMax:e=>{let t=[xe(e),we(e)].filter(ee);return t.length>0?t.join(" "):void 0},maxDosePerAdministration:e=>ze(e),maxDosePerLifetime:e=>Me(e),maxDosePerPeriod:e=>_e(e),method:e=>{let{dos:t,config:r}=e;return r.fromCodeableConceptToString({language:r.language,code:t.method})},offsetWhen:e=>Le(e),patientInstruction:e=>{let{dos:t}=e;return t.patientInstruction},periodPeriodMax:e=>we(e),rateQuantity:e=>he(e),rateRange:e=>fe(e),rateRatio:e=>be(e),route:e=>{let{dos:t,config:r}=e;return r.fromCodeableConceptToString({language:r.language,code:t.route})},site:e=>{let{dos:t,config:r}=e;return r.fromCodeableConceptToString({language:r.language,code:t.site})},text:e=>{let{dos:t}=e;return t.text},timeOfDay:e=>De(e),timingExtension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.timing?.extension})},timingRepeatExtension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.timing?.repeat?.extension})},modifierExtension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.modifierExtension})},timingModifierExtension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.timing?.modifierExtension})}};function Je(e){let{entry:t,...r}=e;return Ke[t](r)}class We extends se{constructor(e){super(),this.config={...oe,...e},this.i18nInstance=G.createInstance()}async init(){return await this.i18nInstance.use(X).init({fallbackLng:"en",lng:this.config.language,ns:["common","daysOfWeek","eventTiming","unitsOfTime","quantityComparator"],defaultNS:"common",...this.config.i18nConfig})}static async build(e){void 0===e&&(e={});const t=new We(e);return await t.init(),t}getProperty(e){return this.config[e]}setProperty(e,t){this.config[e]=t}async changeLanguage(e){return this.config.language=e,this.i18nInstance.changeLanguage(e)}getFields(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;nJe({config:this.config,dos:e,entry:t,i18next:this.i18nInstance}))).filter(ee).join(this.config.displaySeparator)}fromDosageToText(e){let t=this.config.displayOrder;return this.getFields(e,...t)}fromMultipleDosageToText(e){return this.containsOnlySequentialInstructions(e)?this.convertSequentialDosagesToText(e):this.convertGroupedDosagesToText(e)}convertSequentialDosagesToText(e){const t=e.map((e=>this.fromDosageToText(e)));return qe(this.i18nInstance,t,"then")}convertConcurrentDosagesToText(e){const t=e.map((e=>this.fromDosageToText(e)));return qe(this.i18nInstance,t,"and")}convertGroupedDosagesToText(e){const t=this.groupBySequence(e).map((e=>this.convertConcurrentDosagesToText(e)));return qe(this.i18nInstance,t,"then")}}},85819:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>U});var n=r(96540),o=r(92303),a=r(34164),s=r(26058),i=r(17559),l=r(18426),c=r.n(l);const u=/title=(?["'])(?.*?)\1/,d=/\{(?<range>[\d,-]+)\}/,p={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},g={...p,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},h=Object.keys(p);function f(e,t){const r=e.map((e=>{const{start:r,end:n}=g[e];return`(?:${r}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${n})`})).join("|");return new RegExp(`^\\s*(?:${r})\\s*$`)}function m(e,t){let r=e.replace(/\n$/,"");const{language:n,magicComments:o,metastring:a}=t;if(a&&d.test(a)){const e=a.match(d).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,n=c()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(n),code:r}}if(void 0===n)return{lineClassNames:{},code:r};const s=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return f(["js","jsBlock"],t);case"jsx":case"tsx":return f(["js","jsBlock","jsx"],t);case"html":return f(["js","jsBlock","html"],t);case"python":case"py":case"bash":return f(["bash"],t);case"markdown":case"md":return f(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return f(["tex"],t);case"lua":case"haskell":case"sql":return f(["lua"],t);case"wasm":return f(["wasm"],t);case"vb":case"vba":case"visual-basic":return f(["vb","rem"],t);case"vbnet":return f(["vbnet","rem"],t);case"batch":return f(["rem"],t);case"basic":return f(["rem","f90"],t);case"fsharp":return f(["js","ml"],t);case"ocaml":case"sml":return f(["ml"],t);case"fortran":return f(["f90"],t);case"cobol":return f(["cobol"],t);default:return f(h,t)}}(n,o),i=r.split("\n"),l=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),u=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:r}=e;return[r,t]}))),p=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:r}=e;return[r.start,t]}))),g=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:r}=e;return[r.end,t]})));for(let c=0;c<i.length;){const e=i[c].match(s);if(!e){c+=1;continue}const t=e.slice(1).find((e=>void 0!==e));u[t]?l[u[t]].range+=`${c},`:p[t]?l[p[t]].start=c:g[t]&&(l[g[t]].range+=`${l[g[t]].start}-${c-1},`),i.splice(c,1)}r=i.join("\n");const m={};return Object.entries(l).forEach((e=>{let[t,{range:r}]=e;c()(r).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:r}}const b={codeBlockContainer:"codeBlockContainer_Ckt0"};var y=r(74848);function v(e){let{as:t,...r}=e;const n=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},r={};return Object.entries(e.plain).forEach((e=>{let[n,o]=e;const a=t[n];a&&"string"==typeof o&&(r[a]=o)})),r}((0,s.A)());return(0,y.jsx)(t,{...r,style:n,className:(0,a.A)(r.className,b.codeBlockContainer,i.G.common.codeBlock)})}const x={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function w(e){let{children:t,className:r}=e;return(0,y.jsx)(v,{as:"pre",tabIndex:0,className:(0,a.A)(x.codeBlockStandalone,"thin-scrollbar",r),children:(0,y.jsx)("code",{className:x.codeBlockLines,children:t})})}var k=r(6342),q=r(89532);const S={attributes:!0,characterData:!0,childList:!0,subtree:!0};function E(e,t){const[r,o]=(0,n.useState)(),a=(0,n.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,n.useEffect)((()=>{a()}),[a]),function(e,t,r){void 0===r&&(r=S);const o=(0,q._q)(t),a=(0,q.Be)(r);(0,n.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,a),()=>t.disconnect()}),[e,o,a])}(r,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),a())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var L=r(71765);const O={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function A(e){let{line:t,classNames:r,showLineNumbers:n,getLineProps:o,getTokenProps:s}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const i=o({line:t,className:(0,a.A)(r,n&&O.codeLine)}),l=t.map(((e,t)=>(0,y.jsx)("span",{...s({token:e})},t)));return(0,y.jsxs)("span",{...i,children:[n?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("span",{className:O.codeLineNumber}),(0,y.jsx)("span",{className:O.codeLineContent,children:l})]}):l,(0,y.jsx)("br",{})]})}var D=r(21312);function C(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function N(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const T={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function R(e){let{code:t,className:r}=e;const[o,s]=(0,n.useState)(!1),i=(0,n.useRef)(void 0),l=(0,n.useCallback)((()=>{!function(e,t){let{target:r=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const n=document.createElement("textarea"),o=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";const a=document.getSelection(),s=a.rangeCount>0&&a.getRangeAt(0);r.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}n.remove(),s&&(a.removeAllRanges(),a.addRange(s)),o&&o.focus()}(t),s(!0),i.current=window.setTimeout((()=>{s(!1)}),1e3)}),[t]);return(0,n.useEffect)((()=>()=>window.clearTimeout(i.current)),[]),(0,y.jsx)("button",{type:"button","aria-label":o?(0,D.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,D.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,D.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.A)("clean-btn",r,T.copyButton,o&&T.copyButtonCopied),onClick:l,children:(0,y.jsxs)("span",{className:T.copyButtonIcons,"aria-hidden":"true",children:[(0,y.jsx)(C,{className:T.copyButtonIcon}),(0,y.jsx)(N,{className:T.copyButtonSuccessIcon})]})})}function j(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const P={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function I(e){let{className:t,onClick:r,isEnabled:n}=e;const o=(0,D.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,y.jsx)("button",{type:"button",onClick:r,className:(0,a.A)("clean-btn",t,n&&P.wordWrapButtonEnabled),"aria-label":o,title:o,children:(0,y.jsx)(j,{className:P.wordWrapButtonIcon,"aria-hidden":"true"})})}function F(e){let{children:t,className:r="",metastring:o,title:i,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:d,magicComments:p}}=(0,k.p)(),g=function(e){return e?.toLowerCase()}(c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(r)??d),h=(0,s.A)(),f=function(){const[e,t]=(0,n.useState)(!1),[r,o]=(0,n.useState)(!1),a=(0,n.useRef)(null),s=(0,n.useCallback)((()=>{const r=a.current.querySelector("code");e?r.removeAttribute("style"):(r.style.whiteSpace="pre-wrap",r.style.overflowWrap="anywhere"),t((e=>!e))}),[a,e]),i=(0,n.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=a.current,r=e>t||a.current.querySelector("code").hasAttribute("style");o(r)}),[a]);return E(a,i),(0,n.useEffect)((()=>{i()}),[e,i]),(0,n.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:a,isEnabled:e,isCodeScrollable:r,toggle:s}}(),b=function(e){return e?.match(u)?.groups.title??""}(o)||i,{lineClassNames:w,code:q}=m(t,{metastring:o,language:g,magicComments:p}),S=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return(0,y.jsxs)(v,{as:"div",className:(0,a.A)(r,g&&!r.includes(`language-${g}`)&&`language-${g}`),children:[b&&(0,y.jsx)("div",{className:x.codeBlockTitle,children:b}),(0,y.jsxs)("div",{className:x.codeBlockContent,children:[(0,y.jsx)(L.f4,{theme:h,code:q,language:g??"text",children:e=>{let{className:t,style:r,tokens:n,getLineProps:o,getTokenProps:s}=e;return(0,y.jsx)("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,a.A)(t,x.codeBlock,"thin-scrollbar"),style:r,children:(0,y.jsx)("code",{className:(0,a.A)(x.codeBlockLines,S&&x.codeBlockLinesWithNumbering),children:n.map(((e,t)=>(0,y.jsx)(A,{line:e,getLineProps:o,getTokenProps:s,classNames:w[t],showLineNumbers:S},t)))})})}}),(0,y.jsxs)("div",{className:x.buttonGroup,children:[(f.isEnabled||f.isCodeScrollable)&&(0,y.jsx)(I,{className:x.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),(0,y.jsx)(R,{className:x.codeButton,code:q})]})]})]})}function U(e){let{children:t,...r}=e;const a=(0,o.A)(),s=function(e){return n.Children.toArray(e).some((e=>(0,n.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof s?F:w;return(0,y.jsx)(i,{...r,children:s},String(a))}},19365:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});r(96540);var n=r(34164);const o={tabItem:"tabItem_Ymn6"};var a=r(74848);function s(e){let{children:t,hidden:r,className:s}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,n.A)(o.tabItem,s),hidden:r,children:t})}},11470:(e,t,r)=>{"use strict";r.d(t,{A:()=>k});var n=r(96540),o=r(34164),a=r(23104),s=r(56347),i=r(205),l=r(57485),c=r(31682),u=r(70679);function d(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:t,children:r}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:r,attributes:n,default:o}}=e;return{value:t,label:r,attributes:n,default:o}}))}(r);return function(e){const t=(0,c.XI)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,r])}function g(e){let{value:t,tabValues:r}=e;return r.some((e=>e.value===t))}function h(e){let{queryString:t=!1,groupId:r}=e;const o=(0,s.W6)(),a=function(e){let{queryString:t=!1,groupId:r}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!r)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:t,groupId:r});return[(0,l.aZ)(a),(0,n.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(o.location.search);t.set(a,e),o.replace({...o.location,search:t.toString()})}),[a,o])]}function f(e){const{defaultValue:t,queryString:r=!1,groupId:o}=e,a=p(e),[s,l]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!g({value:t,tabValues:r}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=r.find((e=>e.default))??r[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:a}))),[c,d]=h({queryString:r,groupId:o}),[f,m]=function(e){let{groupId:t}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(t),[o,a]=(0,u.Dv)(r);return[o,(0,n.useCallback)((e=>{r&&a.set(e)}),[r,a])]}({groupId:o}),b=(()=>{const e=c??f;return g({value:e,tabValues:a})?e:null})();(0,i.A)((()=>{b&&l(b)}),[b]);return{selectedValue:s,selectValue:(0,n.useCallback)((e=>{if(!g({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),d(e),m(e)}),[d,m,a]),tabValues:a}}var m=r(92303);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var y=r(74848);function v(e){let{className:t,block:r,selectedValue:n,selectValue:s,tabValues:i}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.a_)(),u=e=>{const t=e.currentTarget,r=l.indexOf(t),o=i[r].value;o!==n&&(c(t),s(o))},d=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const r=l.indexOf(e.currentTarget)+1;t=l[r]??l[0];break}case"ArrowLeft":{const r=l.indexOf(e.currentTarget)-1;t=l[r]??l[l.length-1];break}}t?.focus()};return(0,y.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":r},t),children:i.map((e=>{let{value:t,label:r,attributes:a}=e;return(0,y.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>l.push(e),onKeyDown:d,onClick:u,...a,className:(0,o.A)("tabs__item",b.tabItem,a?.className,{"tabs__item--active":n===t}),children:r??t},t)}))})}function x(e){let{lazy:t,children:r,selectedValue:a}=e;const s=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===a));return e?(0,n.cloneElement)(e,{className:(0,o.A)("margin-top--md",e.props.className)}):null}return(0,y.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function w(e){const t=f(e);return(0,y.jsxs)("div",{className:(0,o.A)("tabs-container",b.tabList),children:[(0,y.jsx)(v,{...t,...e}),(0,y.jsx)(x,{...t,...e})]})}function k(e){const t=(0,m.A)();return(0,y.jsx)(w,{...e,children:d(e.children)},String(t))}},26058:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(95293),o=r(6342);function a(){const{prism:e}=(0,o.p)(),{colorMode:t}=(0,n.G)(),r=e.theme,a=e.darkTheme||r;return"dark"===t?a:r}},52376:function(e,t,r){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var o=r(64340),a=r(33762),s=r(34826),i=n(n({},o.namedReferences),{all:o.namedReferences.html5});function l(e,t,r){t.lastIndex=0;var n,o=t.exec(e);if(o){n="";var a=0;do{a!==o.index&&(n+=e.substring(a,o.index));var s=o[0];n+=r(s),a=o.index+s.length}while(o=t.exec(e));a!==e.length&&(n+=e.substring(a))}else n=e;return n}var c={specialChars:/[<>'"&]/g,nonAscii:/[<>'"&\u0080-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,nonAsciiPrintable:/[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,nonAsciiPrintableOnly:/[\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,extensive:/[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g},u={mode:"specialChars",level:"all",numeric:"decimal"};t.encode=function(e,t){var r=void 0===t?u:t,n=r.mode,o=void 0===n?"specialChars":n,a=r.numeric,d=void 0===a?"decimal":a,p=r.level;if(!e)return"";var g=c[o],h=i[void 0===p?"all":p].characters,f="hexadecimal"===d;return l(e,g,(function(e){var t=h[e];if(!t){var r=e.length>1?s.getCodePoint(e,0):e.charCodeAt(0);t=(f?"&#x"+r.toString(16):"&#"+r)+";"}return t}))};var d={scope:"body",level:"all"},p=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,g=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,h={xml:{strict:p,attribute:g,body:o.bodyRegExps.xml},html4:{strict:p,attribute:g,body:o.bodyRegExps.html4},html5:{strict:p,attribute:g,body:o.bodyRegExps.html5}},f=n(n({},h),{all:h.html5}),m=String.fromCharCode,b=m(65533),y={level:"all"};function v(e,t,r,n){var o=e,i=e[e.length-1];if(r&&"="===i)o=e;else if(n&&";"!==i)o=e;else{var l=t[e];if(l)o=l;else if("&"===e[0]&&"#"===e[1]){var c=e[2],u="x"==c||"X"==c?parseInt(e.substr(3),16):parseInt(e.substr(2));o=u>=1114111?b:u>65535?s.fromCodePoint(u):m(a.numericUnicodeMap[u]||u)}}return o}t.decodeEntity=function(e,t){var r=(void 0===t?y:t).level;return e?v(e,i[void 0===r?"all":r].entities,!1,!1):""},t.decode=function(e,t){var r=void 0===t?d:t,n=r.level,o=void 0===n?"all":n,a=r.scope,s=void 0===a?"xml"===o?"strict":"body":a;if(!e)return"";var c=f[o][s],u=i[o].entities,p="attribute"===s,g="strict"===s;return l(e,c,(function(e){return v(e,u,p,g)}))}},64340:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bodyRegExps={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},t.namedReferences={xml:{entities:{"<":"<",">":">",""":'"',"'":"'","&":"&"},characters:{"<":"<",">":">",'"':""","'":"'","&":"&"}},html4:{entities:{"'":"'"," ":"\xa0"," ":"\xa0","¡":"\xa1","¡":"\xa1","¢":"\xa2","¢":"\xa2","£":"\xa3","£":"\xa3","¤":"\xa4","¤":"\xa4","¥":"\xa5","¥":"\xa5","¦":"\xa6","¦":"\xa6","§":"\xa7","§":"\xa7","¨":"\xa8","¨":"\xa8","©":"\xa9","©":"\xa9","ª":"\xaa","ª":"\xaa","«":"\xab","«":"\xab","¬":"\xac","¬":"\xac","­":"\xad","­":"\xad","®":"\xae","®":"\xae","¯":"\xaf","¯":"\xaf","°":"\xb0","°":"\xb0","±":"\xb1","±":"\xb1","²":"\xb2","²":"\xb2","³":"\xb3","³":"\xb3","´":"\xb4","´":"\xb4","µ":"\xb5","µ":"\xb5","¶":"\xb6","¶":"\xb6","·":"\xb7","·":"\xb7","¸":"\xb8","¸":"\xb8","¹":"\xb9","¹":"\xb9","º":"\xba","º":"\xba","»":"\xbb","»":"\xbb","¼":"\xbc","¼":"\xbc","½":"\xbd","½":"\xbd","¾":"\xbe","¾":"\xbe","¿":"\xbf","¿":"\xbf","À":"\xc0","À":"\xc0","Á":"\xc1","Á":"\xc1","Â":"\xc2","Â":"\xc2","Ã":"\xc3","Ã":"\xc3","Ä":"\xc4","Ä":"\xc4","Å":"\xc5","Å":"\xc5","Æ":"\xc6","Æ":"\xc6","Ç":"\xc7","Ç":"\xc7","È":"\xc8","È":"\xc8","É":"\xc9","É":"\xc9","Ê":"\xca","Ê":"\xca","Ë":"\xcb","Ë":"\xcb","Ì":"\xcc","Ì":"\xcc","Í":"\xcd","Í":"\xcd","Î":"\xce","Î":"\xce","Ï":"\xcf","Ï":"\xcf","Ð":"\xd0","Ð":"\xd0","Ñ":"\xd1","Ñ":"\xd1","Ò":"\xd2","Ò":"\xd2","Ó":"\xd3","Ó":"\xd3","Ô":"\xd4","Ô":"\xd4","Õ":"\xd5","Õ":"\xd5","Ö":"\xd6","Ö":"\xd6","×":"\xd7","×":"\xd7","Ø":"\xd8","Ø":"\xd8","Ù":"\xd9","Ù":"\xd9","Ú":"\xda","Ú":"\xda","Û":"\xdb","Û":"\xdb","Ü":"\xdc","Ü":"\xdc","Ý":"\xdd","Ý":"\xdd","Þ":"\xde","Þ":"\xde","ß":"\xdf","ß":"\xdf","à":"\xe0","à":"\xe0","á":"\xe1","á":"\xe1","â":"\xe2","â":"\xe2","ã":"\xe3","ã":"\xe3","ä":"\xe4","ä":"\xe4","å":"\xe5","å":"\xe5","æ":"\xe6","æ":"\xe6","ç":"\xe7","ç":"\xe7","è":"\xe8","è":"\xe8","é":"\xe9","é":"\xe9","ê":"\xea","ê":"\xea","ë":"\xeb","ë":"\xeb","ì":"\xec","ì":"\xec","í":"\xed","í":"\xed","î":"\xee","î":"\xee","ï":"\xef","ï":"\xef","ð":"\xf0","ð":"\xf0","ñ":"\xf1","ñ":"\xf1","ò":"\xf2","ò":"\xf2","ó":"\xf3","ó":"\xf3","ô":"\xf4","ô":"\xf4","õ":"\xf5","õ":"\xf5","ö":"\xf6","ö":"\xf6","÷":"\xf7","÷":"\xf7","ø":"\xf8","ø":"\xf8","ù":"\xf9","ù":"\xf9","ú":"\xfa","ú":"\xfa","û":"\xfb","û":"\xfb","ü":"\xfc","ü":"\xfc","ý":"\xfd","ý":"\xfd","þ":"\xfe","þ":"\xfe","ÿ":"\xff","ÿ":"\xff",""":'"',""":'"',"&":"&","&":"&","<":"<","<":"<",">":">",">":">","Œ":"\u0152","œ":"\u0153","Š":"\u0160","š":"\u0161","Ÿ":"\u0178","ˆ":"\u02c6","˜":"\u02dc"," ":"\u2002"," ":"\u2003"," ":"\u2009","‌":"\u200c","‍":"\u200d","‎":"\u200e","‏":"\u200f","–":"\u2013","—":"\u2014","‘":"\u2018","’":"\u2019","‚":"\u201a","“":"\u201c","”":"\u201d","„":"\u201e","†":"\u2020","‡":"\u2021","‰":"\u2030","‹":"\u2039","›":"\u203a","€":"\u20ac","ƒ":"\u0192","Α":"\u0391","Β":"\u0392","Γ":"\u0393","Δ":"\u0394","Ε":"\u0395","Ζ":"\u0396","Η":"\u0397","Θ":"\u0398","Ι":"\u0399","Κ":"\u039a","Λ":"\u039b","Μ":"\u039c","Ν":"\u039d","Ξ":"\u039e","Ο":"\u039f","Π":"\u03a0","Ρ":"\u03a1","Σ":"\u03a3","Τ":"\u03a4","Υ":"\u03a5","Φ":"\u03a6","Χ":"\u03a7","Ψ":"\u03a8","Ω":"\u03a9","α":"\u03b1","β":"\u03b2","γ":"\u03b3","δ":"\u03b4","ε":"\u03b5","ζ":"\u03b6","η":"\u03b7","θ":"\u03b8","ι":"\u03b9","κ":"\u03ba","λ":"\u03bb","μ":"\u03bc","ν":"\u03bd","ξ":"\u03be","ο":"\u03bf","π":"\u03c0","ρ":"\u03c1","ς":"\u03c2","σ":"\u03c3","τ":"\u03c4","υ":"\u03c5","φ":"\u03c6","χ":"\u03c7","ψ":"\u03c8","ω":"\u03c9","ϑ":"\u03d1","ϒ":"\u03d2","ϖ":"\u03d6","•":"\u2022","…":"\u2026","′":"\u2032","″":"\u2033","‾":"\u203e","⁄":"\u2044","℘":"\u2118","ℑ":"\u2111","ℜ":"\u211c","™":"\u2122","ℵ":"\u2135","←":"\u2190","↑":"\u2191","→":"\u2192","↓":"\u2193","↔":"\u2194","↵":"\u21b5","⇐":"\u21d0","⇑":"\u21d1","⇒":"\u21d2","⇓":"\u21d3","⇔":"\u21d4","∀":"\u2200","∂":"\u2202","∃":"\u2203","∅":"\u2205","∇":"\u2207","∈":"\u2208","∉":"\u2209","∋":"\u220b","∏":"\u220f","∑":"\u2211","−":"\u2212","∗":"\u2217","√":"\u221a","∝":"\u221d","∞":"\u221e","∠":"\u2220","∧":"\u2227","∨":"\u2228","∩":"\u2229","∪":"\u222a","∫":"\u222b","∴":"\u2234","∼":"\u223c","≅":"\u2245","≈":"\u2248","≠":"\u2260","≡":"\u2261","≤":"\u2264","≥":"\u2265","⊂":"\u2282","⊃":"\u2283","⊄":"\u2284","⊆":"\u2286","⊇":"\u2287","⊕":"\u2295","⊗":"\u2297","⊥":"\u22a5","⋅":"\u22c5","⌈":"\u2308","⌉":"\u2309","⌊":"\u230a","⌋":"\u230b","⟨":"\u2329","⟩":"\u232a","◊":"\u25ca","♠":"\u2660","♣":"\u2663","♥":"\u2665","♦":"\u2666"},characters:{"'":"'","\xa0":" ","\xa1":"¡","\xa2":"¢","\xa3":"£","\xa4":"¤","\xa5":"¥","\xa6":"¦","\xa7":"§","\xa8":"¨","\xa9":"©","\xaa":"ª","\xab":"«","\xac":"¬","\xad":"­","\xae":"®","\xaf":"¯","\xb0":"°","\xb1":"±","\xb2":"²","\xb3":"³","\xb4":"´","\xb5":"µ","\xb6":"¶","\xb7":"·","\xb8":"¸","\xb9":"¹","\xba":"º","\xbb":"»","\xbc":"¼","\xbd":"½","\xbe":"¾","\xbf":"¿","\xc0":"À","\xc1":"Á","\xc2":"Â","\xc3":"Ã","\xc4":"Ä","\xc5":"Å","\xc6":"Æ","\xc7":"Ç","\xc8":"È","\xc9":"É","\xca":"Ê","\xcb":"Ë","\xcc":"Ì","\xcd":"Í","\xce":"Î","\xcf":"Ï","\xd0":"Ð","\xd1":"Ñ","\xd2":"Ò","\xd3":"Ó","\xd4":"Ô","\xd5":"Õ","\xd6":"Ö","\xd7":"×","\xd8":"Ø","\xd9":"Ù","\xda":"Ú","\xdb":"Û","\xdc":"Ü","\xdd":"Ý","\xde":"Þ","\xdf":"ß","\xe0":"à","\xe1":"á","\xe2":"â","\xe3":"ã","\xe4":"ä","\xe5":"å","\xe6":"æ","\xe7":"ç","\xe8":"è","\xe9":"é","\xea":"ê","\xeb":"ë","\xec":"ì","\xed":"í","\xee":"î","\xef":"ï","\xf0":"ð","\xf1":"ñ","\xf2":"ò","\xf3":"ó","\xf4":"ô","\xf5":"õ","\xf6":"ö","\xf7":"÷","\xf8":"ø","\xf9":"ù","\xfa":"ú","\xfb":"û","\xfc":"ü","\xfd":"ý","\xfe":"þ","\xff":"ÿ",'"':""","&":"&","<":"<",">":">","\u0152":"Œ","\u0153":"œ","\u0160":"Š","\u0161":"š","\u0178":"Ÿ","\u02c6":"ˆ","\u02dc":"˜","\u2002":" ","\u2003":" ","\u2009":" ","\u200c":"‌","\u200d":"‍","\u200e":"‎","\u200f":"‏","\u2013":"–","\u2014":"—","\u2018":"‘","\u2019":"’","\u201a":"‚","\u201c":"“","\u201d":"”","\u201e":"„","\u2020":"†","\u2021":"‡","\u2030":"‰","\u2039":"‹","\u203a":"›","\u20ac":"€","\u0192":"ƒ","\u0391":"Α","\u0392":"Β","\u0393":"Γ","\u0394":"Δ","\u0395":"Ε","\u0396":"Ζ","\u0397":"Η","\u0398":"Θ","\u0399":"Ι","\u039a":"Κ","\u039b":"Λ","\u039c":"Μ","\u039d":"Ν","\u039e":"Ξ","\u039f":"Ο","\u03a0":"Π","\u03a1":"Ρ","\u03a3":"Σ","\u03a4":"Τ","\u03a5":"Υ","\u03a6":"Φ","\u03a7":"Χ","\u03a8":"Ψ","\u03a9":"Ω","\u03b1":"α","\u03b2":"β","\u03b3":"γ","\u03b4":"δ","\u03b5":"ε","\u03b6":"ζ","\u03b7":"η","\u03b8":"θ","\u03b9":"ι","\u03ba":"κ","\u03bb":"λ","\u03bc":"μ","\u03bd":"ν","\u03be":"ξ","\u03bf":"ο","\u03c0":"π","\u03c1":"ρ","\u03c2":"ς","\u03c3":"σ","\u03c4":"τ","\u03c5":"υ","\u03c6":"φ","\u03c7":"χ","\u03c8":"ψ","\u03c9":"ω","\u03d1":"ϑ","\u03d2":"ϒ","\u03d6":"ϖ","\u2022":"•","\u2026":"…","\u2032":"′","\u2033":"″","\u203e":"‾","\u2044":"⁄","\u2118":"℘","\u2111":"ℑ","\u211c":"ℜ","\u2122":"™","\u2135":"ℵ","\u2190":"←","\u2191":"↑","\u2192":"→","\u2193":"↓","\u2194":"↔","\u21b5":"↵","\u21d0":"⇐","\u21d1":"⇑","\u21d2":"⇒","\u21d3":"⇓","\u21d4":"⇔","\u2200":"∀","\u2202":"∂","\u2203":"∃","\u2205":"∅","\u2207":"∇","\u2208":"∈","\u2209":"∉","\u220b":"∋","\u220f":"∏","\u2211":"∑","\u2212":"−","\u2217":"∗","\u221a":"√","\u221d":"∝","\u221e":"∞","\u2220":"∠","\u2227":"∧","\u2228":"∨","\u2229":"∩","\u222a":"∪","\u222b":"∫","\u2234":"∴","\u223c":"∼","\u2245":"≅","\u2248":"≈","\u2260":"≠","\u2261":"≡","\u2264":"≤","\u2265":"≥","\u2282":"⊂","\u2283":"⊃","\u2284":"⊄","\u2286":"⊆","\u2287":"⊇","\u2295":"⊕","\u2297":"⊗","\u22a5":"⊥","\u22c5":"⋅","\u2308":"⌈","\u2309":"⌉","\u230a":"⌊","\u230b":"⌋","\u2329":"⟨","\u232a":"⟩","\u25ca":"◊","\u2660":"♠","\u2663":"♣","\u2665":"♥","\u2666":"♦"}},html5:{entities:{"Æ":"\xc6","Æ":"\xc6","&":"&","&":"&","Á":"\xc1","Á":"\xc1","Ă":"\u0102","Â":"\xc2","Â":"\xc2","А":"\u0410","𝔄":"\ud835\udd04","À":"\xc0","À":"\xc0","Α":"\u0391","Ā":"\u0100","⩓":"\u2a53","Ą":"\u0104","𝔸":"\ud835\udd38","⁡":"\u2061","Å":"\xc5","Å":"\xc5","𝒜":"\ud835\udc9c","≔":"\u2254","Ã":"\xc3","Ã":"\xc3","Ä":"\xc4","Ä":"\xc4","∖":"\u2216","⫧":"\u2ae7","⌆":"\u2306","Б":"\u0411","∵":"\u2235","ℬ":"\u212c","Β":"\u0392","𝔅":"\ud835\udd05","𝔹":"\ud835\udd39","˘":"\u02d8","ℬ":"\u212c","≎":"\u224e","Ч":"\u0427","©":"\xa9","©":"\xa9","Ć":"\u0106","⋒":"\u22d2","ⅅ":"\u2145","ℭ":"\u212d","Č":"\u010c","Ç":"\xc7","Ç":"\xc7","Ĉ":"\u0108","∰":"\u2230","Ċ":"\u010a","¸":"\xb8","·":"\xb7","ℭ":"\u212d","Χ":"\u03a7","⊙":"\u2299","⊖":"\u2296","⊕":"\u2295","⊗":"\u2297","∲":"\u2232","”":"\u201d","’":"\u2019","∷":"\u2237","⩴":"\u2a74","≡":"\u2261","∯":"\u222f","∮":"\u222e","ℂ":"\u2102","∐":"\u2210","∳":"\u2233","⨯":"\u2a2f","𝒞":"\ud835\udc9e","⋓":"\u22d3","≍":"\u224d","ⅅ":"\u2145","⤑":"\u2911","Ђ":"\u0402","Ѕ":"\u0405","Џ":"\u040f","‡":"\u2021","↡":"\u21a1","⫤":"\u2ae4","Ď":"\u010e","Д":"\u0414","∇":"\u2207","Δ":"\u0394","𝔇":"\ud835\udd07","´":"\xb4","˙":"\u02d9","˝":"\u02dd","`":"`","˜":"\u02dc","⋄":"\u22c4","ⅆ":"\u2146","𝔻":"\ud835\udd3b","¨":"\xa8","⃜":"\u20dc","≐":"\u2250","∯":"\u222f","¨":"\xa8","⇓":"\u21d3","⇐":"\u21d0","⇔":"\u21d4","⫤":"\u2ae4","⟸":"\u27f8","⟺":"\u27fa","⟹":"\u27f9","⇒":"\u21d2","⊨":"\u22a8","⇑":"\u21d1","⇕":"\u21d5","∥":"\u2225","↓":"\u2193","⤓":"\u2913","⇵":"\u21f5","̑":"\u0311","⥐":"\u2950","⥞":"\u295e","↽":"\u21bd","⥖":"\u2956","⥟":"\u295f","⇁":"\u21c1","⥗":"\u2957","⊤":"\u22a4","↧":"\u21a7","⇓":"\u21d3","𝒟":"\ud835\udc9f","Đ":"\u0110","Ŋ":"\u014a","Ð":"\xd0","Ð":"\xd0","É":"\xc9","É":"\xc9","Ě":"\u011a","Ê":"\xca","Ê":"\xca","Э":"\u042d","Ė":"\u0116","𝔈":"\ud835\udd08","È":"\xc8","È":"\xc8","∈":"\u2208","Ē":"\u0112","◻":"\u25fb","▫":"\u25ab","Ę":"\u0118","𝔼":"\ud835\udd3c","Ε":"\u0395","⩵":"\u2a75","≂":"\u2242","⇌":"\u21cc","ℰ":"\u2130","⩳":"\u2a73","Η":"\u0397","Ë":"\xcb","Ë":"\xcb","∃":"\u2203","ⅇ":"\u2147","Ф":"\u0424","𝔉":"\ud835\udd09","◼":"\u25fc","▪":"\u25aa","𝔽":"\ud835\udd3d","∀":"\u2200","ℱ":"\u2131","ℱ":"\u2131","Ѓ":"\u0403",">":">",">":">","Γ":"\u0393","Ϝ":"\u03dc","Ğ":"\u011e","Ģ":"\u0122","Ĝ":"\u011c","Г":"\u0413","Ġ":"\u0120","𝔊":"\ud835\udd0a","⋙":"\u22d9","𝔾":"\ud835\udd3e","≥":"\u2265","⋛":"\u22db","≧":"\u2267","⪢":"\u2aa2","≷":"\u2277","⩾":"\u2a7e","≳":"\u2273","𝒢":"\ud835\udca2","≫":"\u226b","Ъ":"\u042a","ˇ":"\u02c7","^":"^","Ĥ":"\u0124","ℌ":"\u210c","ℋ":"\u210b","ℍ":"\u210d","─":"\u2500","ℋ":"\u210b","Ħ":"\u0126","≎":"\u224e","≏":"\u224f","Е":"\u0415","IJ":"\u0132","Ё":"\u0401","Í":"\xcd","Í":"\xcd","Î":"\xce","Î":"\xce","И":"\u0418","İ":"\u0130","ℑ":"\u2111","Ì":"\xcc","Ì":"\xcc","ℑ":"\u2111","Ī":"\u012a","ⅈ":"\u2148","⇒":"\u21d2","∬":"\u222c","∫":"\u222b","⋂":"\u22c2","⁣":"\u2063","⁢":"\u2062","Į":"\u012e","𝕀":"\ud835\udd40","Ι":"\u0399","ℐ":"\u2110","Ĩ":"\u0128","І":"\u0406","Ï":"\xcf","Ï":"\xcf","Ĵ":"\u0134","Й":"\u0419","𝔍":"\ud835\udd0d","𝕁":"\ud835\udd41","𝒥":"\ud835\udca5","Ј":"\u0408","Є":"\u0404","Х":"\u0425","Ќ":"\u040c","Κ":"\u039a","Ķ":"\u0136","К":"\u041a","𝔎":"\ud835\udd0e","𝕂":"\ud835\udd42","𝒦":"\ud835\udca6","Љ":"\u0409","<":"<","<":"<","Ĺ":"\u0139","Λ":"\u039b","⟪":"\u27ea","ℒ":"\u2112","↞":"\u219e","Ľ":"\u013d","Ļ":"\u013b","Л":"\u041b","⟨":"\u27e8","←":"\u2190","⇤":"\u21e4","⇆":"\u21c6","⌈":"\u2308","⟦":"\u27e6","⥡":"\u2961","⇃":"\u21c3","⥙":"\u2959","⌊":"\u230a","↔":"\u2194","⥎":"\u294e","⊣":"\u22a3","↤":"\u21a4","⥚":"\u295a","⊲":"\u22b2","⧏":"\u29cf","⊴":"\u22b4","⥑":"\u2951","⥠":"\u2960","↿":"\u21bf","⥘":"\u2958","↼":"\u21bc","⥒":"\u2952","⇐":"\u21d0","⇔":"\u21d4","⋚":"\u22da","≦":"\u2266","≶":"\u2276","⪡":"\u2aa1","⩽":"\u2a7d","≲":"\u2272","𝔏":"\ud835\udd0f","⋘":"\u22d8","⇚":"\u21da","Ŀ":"\u013f","⟵":"\u27f5","⟷":"\u27f7","⟶":"\u27f6","⟸":"\u27f8","⟺":"\u27fa","⟹":"\u27f9","𝕃":"\ud835\udd43","↙":"\u2199","↘":"\u2198","ℒ":"\u2112","↰":"\u21b0","Ł":"\u0141","≪":"\u226a","⤅":"\u2905","М":"\u041c"," ":"\u205f","ℳ":"\u2133","𝔐":"\ud835\udd10","∓":"\u2213","𝕄":"\ud835\udd44","ℳ":"\u2133","Μ":"\u039c","Њ":"\u040a","Ń":"\u0143","Ň":"\u0147","Ņ":"\u0145","Н":"\u041d","​":"\u200b","​":"\u200b","​":"\u200b","​":"\u200b","≫":"\u226b","≪":"\u226a"," ":"\n","𝔑":"\ud835\udd11","⁠":"\u2060"," ":"\xa0","ℕ":"\u2115","⫬":"\u2aec","≢":"\u2262","≭":"\u226d","∦":"\u2226","∉":"\u2209","≠":"\u2260","≂̸":"\u2242\u0338","∄":"\u2204","≯":"\u226f","≱":"\u2271","≧̸":"\u2267\u0338","≫̸":"\u226b\u0338","≹":"\u2279","⩾̸":"\u2a7e\u0338","≵":"\u2275","≎̸":"\u224e\u0338","≏̸":"\u224f\u0338","⋪":"\u22ea","⧏̸":"\u29cf\u0338","⋬":"\u22ec","≮":"\u226e","≰":"\u2270","≸":"\u2278","≪̸":"\u226a\u0338","⩽̸":"\u2a7d\u0338","≴":"\u2274","⪢̸":"\u2aa2\u0338","⪡̸":"\u2aa1\u0338","⊀":"\u2280","⪯̸":"\u2aaf\u0338","⋠":"\u22e0","∌":"\u220c","⋫":"\u22eb","⧐̸":"\u29d0\u0338","⋭":"\u22ed","⊏̸":"\u228f\u0338","⋢":"\u22e2","⊐̸":"\u2290\u0338","⋣":"\u22e3","⊂⃒":"\u2282\u20d2","⊈":"\u2288","⊁":"\u2281","⪰̸":"\u2ab0\u0338","⋡":"\u22e1","≿̸":"\u227f\u0338","⊃⃒":"\u2283\u20d2","⊉":"\u2289","≁":"\u2241","≄":"\u2244","≇":"\u2247","≉":"\u2249","∤":"\u2224","𝒩":"\ud835\udca9","Ñ":"\xd1","Ñ":"\xd1","Ν":"\u039d","Œ":"\u0152","Ó":"\xd3","Ó":"\xd3","Ô":"\xd4","Ô":"\xd4","О":"\u041e","Ő":"\u0150","𝔒":"\ud835\udd12","Ò":"\xd2","Ò":"\xd2","Ō":"\u014c","Ω":"\u03a9","Ο":"\u039f","𝕆":"\ud835\udd46","“":"\u201c","‘":"\u2018","⩔":"\u2a54","𝒪":"\ud835\udcaa","Ø":"\xd8","Ø":"\xd8","Õ":"\xd5","Õ":"\xd5","⨷":"\u2a37","Ö":"\xd6","Ö":"\xd6","‾":"\u203e","⏞":"\u23de","⎴":"\u23b4","⏜":"\u23dc","∂":"\u2202","П":"\u041f","𝔓":"\ud835\udd13","Φ":"\u03a6","Π":"\u03a0","±":"\xb1","ℌ":"\u210c","ℙ":"\u2119","⪻":"\u2abb","≺":"\u227a","⪯":"\u2aaf","≼":"\u227c","≾":"\u227e","″":"\u2033","∏":"\u220f","∷":"\u2237","∝":"\u221d","𝒫":"\ud835\udcab","Ψ":"\u03a8",""":'"',""":'"',"𝔔":"\ud835\udd14","ℚ":"\u211a","𝒬":"\ud835\udcac","⤐":"\u2910","®":"\xae","®":"\xae","Ŕ":"\u0154","⟫":"\u27eb","↠":"\u21a0","⤖":"\u2916","Ř":"\u0158","Ŗ":"\u0156","Р":"\u0420","ℜ":"\u211c","∋":"\u220b","⇋":"\u21cb","⥯":"\u296f","ℜ":"\u211c","Ρ":"\u03a1","⟩":"\u27e9","→":"\u2192","⇥":"\u21e5","⇄":"\u21c4","⌉":"\u2309","⟧":"\u27e7","⥝":"\u295d","⇂":"\u21c2","⥕":"\u2955","⌋":"\u230b","⊢":"\u22a2","↦":"\u21a6","⥛":"\u295b","⊳":"\u22b3","⧐":"\u29d0","⊵":"\u22b5","⥏":"\u294f","⥜":"\u295c","↾":"\u21be","⥔":"\u2954","⇀":"\u21c0","⥓":"\u2953","⇒":"\u21d2","ℝ":"\u211d","⥰":"\u2970","⇛":"\u21db","ℛ":"\u211b","↱":"\u21b1","⧴":"\u29f4","Щ":"\u0429","Ш":"\u0428","Ь":"\u042c","Ś":"\u015a","⪼":"\u2abc","Š":"\u0160","Ş":"\u015e","Ŝ":"\u015c","С":"\u0421","𝔖":"\ud835\udd16","↓":"\u2193","←":"\u2190","→":"\u2192","↑":"\u2191","Σ":"\u03a3","∘":"\u2218","𝕊":"\ud835\udd4a","√":"\u221a","□":"\u25a1","⊓":"\u2293","⊏":"\u228f","⊑":"\u2291","⊐":"\u2290","⊒":"\u2292","⊔":"\u2294","𝒮":"\ud835\udcae","⋆":"\u22c6","⋐":"\u22d0","⋐":"\u22d0","⊆":"\u2286","≻":"\u227b","⪰":"\u2ab0","≽":"\u227d","≿":"\u227f","∋":"\u220b","∑":"\u2211","⋑":"\u22d1","⊃":"\u2283","⊇":"\u2287","⋑":"\u22d1","Þ":"\xde","Þ":"\xde","™":"\u2122","Ћ":"\u040b","Ц":"\u0426"," ":"\t","Τ":"\u03a4","Ť":"\u0164","Ţ":"\u0162","Т":"\u0422","𝔗":"\ud835\udd17","∴":"\u2234","Θ":"\u0398","  ":"\u205f\u200a"," ":"\u2009","∼":"\u223c","≃":"\u2243","≅":"\u2245","≈":"\u2248","𝕋":"\ud835\udd4b","⃛":"\u20db","𝒯":"\ud835\udcaf","Ŧ":"\u0166","Ú":"\xda","Ú":"\xda","↟":"\u219f","⥉":"\u2949","Ў":"\u040e","Ŭ":"\u016c","Û":"\xdb","Û":"\xdb","У":"\u0423","Ű":"\u0170","𝔘":"\ud835\udd18","Ù":"\xd9","Ù":"\xd9","Ū":"\u016a","_":"_","⏟":"\u23df","⎵":"\u23b5","⏝":"\u23dd","⋃":"\u22c3","⊎":"\u228e","Ų":"\u0172","𝕌":"\ud835\udd4c","↑":"\u2191","⤒":"\u2912","⇅":"\u21c5","↕":"\u2195","⥮":"\u296e","⊥":"\u22a5","↥":"\u21a5","⇑":"\u21d1","⇕":"\u21d5","↖":"\u2196","↗":"\u2197","ϒ":"\u03d2","Υ":"\u03a5","Ů":"\u016e","𝒰":"\ud835\udcb0","Ũ":"\u0168","Ü":"\xdc","Ü":"\xdc","⊫":"\u22ab","⫫":"\u2aeb","В":"\u0412","⊩":"\u22a9","⫦":"\u2ae6","⋁":"\u22c1","‖":"\u2016","‖":"\u2016","∣":"\u2223","|":"|","❘":"\u2758","≀":"\u2240"," ":"\u200a","𝔙":"\ud835\udd19","𝕍":"\ud835\udd4d","𝒱":"\ud835\udcb1","⊪":"\u22aa","Ŵ":"\u0174","⋀":"\u22c0","𝔚":"\ud835\udd1a","𝕎":"\ud835\udd4e","𝒲":"\ud835\udcb2","𝔛":"\ud835\udd1b","Ξ":"\u039e","𝕏":"\ud835\udd4f","𝒳":"\ud835\udcb3","Я":"\u042f","Ї":"\u0407","Ю":"\u042e","Ý":"\xdd","Ý":"\xdd","Ŷ":"\u0176","Ы":"\u042b","𝔜":"\ud835\udd1c","𝕐":"\ud835\udd50","𝒴":"\ud835\udcb4","Ÿ":"\u0178","Ж":"\u0416","Ź":"\u0179","Ž":"\u017d","З":"\u0417","Ż":"\u017b","​":"\u200b","Ζ":"\u0396","ℨ":"\u2128","ℤ":"\u2124","𝒵":"\ud835\udcb5","á":"\xe1","á":"\xe1","ă":"\u0103","∾":"\u223e","∾̳":"\u223e\u0333","∿":"\u223f","â":"\xe2","â":"\xe2","´":"\xb4","´":"\xb4","а":"\u0430","æ":"\xe6","æ":"\xe6","⁡":"\u2061","𝔞":"\ud835\udd1e","à":"\xe0","à":"\xe0","ℵ":"\u2135","ℵ":"\u2135","α":"\u03b1","ā":"\u0101","⨿":"\u2a3f","&":"&","&":"&","∧":"\u2227","⩕":"\u2a55","⩜":"\u2a5c","⩘":"\u2a58","⩚":"\u2a5a","∠":"\u2220","⦤":"\u29a4","∠":"\u2220","∡":"\u2221","⦨":"\u29a8","⦩":"\u29a9","⦪":"\u29aa","⦫":"\u29ab","⦬":"\u29ac","⦭":"\u29ad","⦮":"\u29ae","⦯":"\u29af","∟":"\u221f","⊾":"\u22be","⦝":"\u299d","∢":"\u2222","Å":"\xc5","⍼":"\u237c","ą":"\u0105","𝕒":"\ud835\udd52","≈":"\u2248","⩰":"\u2a70","⩯":"\u2a6f","≊":"\u224a","≋":"\u224b","'":"'","≈":"\u2248","≊":"\u224a","å":"\xe5","å":"\xe5","𝒶":"\ud835\udcb6","*":"*","≈":"\u2248","≍":"\u224d","ã":"\xe3","ã":"\xe3","ä":"\xe4","ä":"\xe4","∳":"\u2233","⨑":"\u2a11","⫭":"\u2aed","≌":"\u224c","϶":"\u03f6","‵":"\u2035","∽":"\u223d","⋍":"\u22cd","⊽":"\u22bd","⌅":"\u2305","⌅":"\u2305","⎵":"\u23b5","⎶":"\u23b6","≌":"\u224c","б":"\u0431","„":"\u201e","∵":"\u2235","∵":"\u2235","⦰":"\u29b0","϶":"\u03f6","ℬ":"\u212c","β":"\u03b2","ℶ":"\u2136","≬":"\u226c","𝔟":"\ud835\udd1f","⋂":"\u22c2","◯":"\u25ef","⋃":"\u22c3","⨀":"\u2a00","⨁":"\u2a01","⨂":"\u2a02","⨆":"\u2a06","★":"\u2605","▽":"\u25bd","△":"\u25b3","⨄":"\u2a04","⋁":"\u22c1","⋀":"\u22c0","⤍":"\u290d","⧫":"\u29eb","▪":"\u25aa","▴":"\u25b4","▾":"\u25be","◂":"\u25c2","▸":"\u25b8","␣":"\u2423","▒":"\u2592","░":"\u2591","▓":"\u2593","█":"\u2588","=⃥":"=\u20e5","≡⃥":"\u2261\u20e5","⌐":"\u2310","𝕓":"\ud835\udd53","⊥":"\u22a5","⊥":"\u22a5","⋈":"\u22c8","╗":"\u2557","╔":"\u2554","╖":"\u2556","╓":"\u2553","═":"\u2550","╦":"\u2566","╩":"\u2569","╤":"\u2564","╧":"\u2567","╝":"\u255d","╚":"\u255a","╜":"\u255c","╙":"\u2559","║":"\u2551","╬":"\u256c","╣":"\u2563","╠":"\u2560","╫":"\u256b","╢":"\u2562","╟":"\u255f","⧉":"\u29c9","╕":"\u2555","╒":"\u2552","┐":"\u2510","┌":"\u250c","─":"\u2500","╥":"\u2565","╨":"\u2568","┬":"\u252c","┴":"\u2534","⊟":"\u229f","⊞":"\u229e","⊠":"\u22a0","╛":"\u255b","╘":"\u2558","┘":"\u2518","└":"\u2514","│":"\u2502","╪":"\u256a","╡":"\u2561","╞":"\u255e","┼":"\u253c","┤":"\u2524","├":"\u251c","‵":"\u2035","˘":"\u02d8","¦":"\xa6","¦":"\xa6","𝒷":"\ud835\udcb7","⁏":"\u204f","∽":"\u223d","⋍":"\u22cd","\":"\\","⧅":"\u29c5","⟈":"\u27c8","•":"\u2022","•":"\u2022","≎":"\u224e","⪮":"\u2aae","≏":"\u224f","≏":"\u224f","ć":"\u0107","∩":"\u2229","⩄":"\u2a44","⩉":"\u2a49","⩋":"\u2a4b","⩇":"\u2a47","⩀":"\u2a40","∩︀":"\u2229\ufe00","⁁":"\u2041","ˇ":"\u02c7","⩍":"\u2a4d","č":"\u010d","ç":"\xe7","ç":"\xe7","ĉ":"\u0109","⩌":"\u2a4c","⩐":"\u2a50","ċ":"\u010b","¸":"\xb8","¸":"\xb8","⦲":"\u29b2","¢":"\xa2","¢":"\xa2","·":"\xb7","𝔠":"\ud835\udd20","ч":"\u0447","✓":"\u2713","✓":"\u2713","χ":"\u03c7","○":"\u25cb","⧃":"\u29c3","ˆ":"\u02c6","≗":"\u2257","↺":"\u21ba","↻":"\u21bb","®":"\xae","Ⓢ":"\u24c8","⊛":"\u229b","⊚":"\u229a","⊝":"\u229d","≗":"\u2257","⨐":"\u2a10","⫯":"\u2aef","⧂":"\u29c2","♣":"\u2663","♣":"\u2663",":":":","≔":"\u2254","≔":"\u2254",",":",","@":"@","∁":"\u2201","∘":"\u2218","∁":"\u2201","ℂ":"\u2102","≅":"\u2245","⩭":"\u2a6d","∮":"\u222e","𝕔":"\ud835\udd54","∐":"\u2210","©":"\xa9","©":"\xa9","℗":"\u2117","↵":"\u21b5","✗":"\u2717","𝒸":"\ud835\udcb8","⫏":"\u2acf","⫑":"\u2ad1","⫐":"\u2ad0","⫒":"\u2ad2","⋯":"\u22ef","⤸":"\u2938","⤵":"\u2935","⋞":"\u22de","⋟":"\u22df","↶":"\u21b6","⤽":"\u293d","∪":"\u222a","⩈":"\u2a48","⩆":"\u2a46","⩊":"\u2a4a","⊍":"\u228d","⩅":"\u2a45","∪︀":"\u222a\ufe00","↷":"\u21b7","⤼":"\u293c","⋞":"\u22de","⋟":"\u22df","⋎":"\u22ce","⋏":"\u22cf","¤":"\xa4","¤":"\xa4","↶":"\u21b6","↷":"\u21b7","⋎":"\u22ce","⋏":"\u22cf","∲":"\u2232","∱":"\u2231","⌭":"\u232d","⇓":"\u21d3","⥥":"\u2965","†":"\u2020","ℸ":"\u2138","↓":"\u2193","‐":"\u2010","⊣":"\u22a3","⤏":"\u290f","˝":"\u02dd","ď":"\u010f","д":"\u0434","ⅆ":"\u2146","‡":"\u2021","⇊":"\u21ca","⩷":"\u2a77","°":"\xb0","°":"\xb0","δ":"\u03b4","⦱":"\u29b1","⥿":"\u297f","𝔡":"\ud835\udd21","⇃":"\u21c3","⇂":"\u21c2","⋄":"\u22c4","⋄":"\u22c4","♦":"\u2666","♦":"\u2666","¨":"\xa8","ϝ":"\u03dd","⋲":"\u22f2","÷":"\xf7","÷":"\xf7","÷":"\xf7","⋇":"\u22c7","⋇":"\u22c7","ђ":"\u0452","⌞":"\u231e","⌍":"\u230d","$":"$","𝕕":"\ud835\udd55","˙":"\u02d9","≐":"\u2250","≑":"\u2251","∸":"\u2238","∔":"\u2214","⊡":"\u22a1","⌆":"\u2306","↓":"\u2193","⇊":"\u21ca","⇃":"\u21c3","⇂":"\u21c2","⤐":"\u2910","⌟":"\u231f","⌌":"\u230c","𝒹":"\ud835\udcb9","ѕ":"\u0455","⧶":"\u29f6","đ":"\u0111","⋱":"\u22f1","▿":"\u25bf","▾":"\u25be","⇵":"\u21f5","⥯":"\u296f","⦦":"\u29a6","џ":"\u045f","⟿":"\u27ff","⩷":"\u2a77","≑":"\u2251","é":"\xe9","é":"\xe9","⩮":"\u2a6e","ě":"\u011b","≖":"\u2256","ê":"\xea","ê":"\xea","≕":"\u2255","э":"\u044d","ė":"\u0117","ⅇ":"\u2147","≒":"\u2252","𝔢":"\ud835\udd22","⪚":"\u2a9a","è":"\xe8","è":"\xe8","⪖":"\u2a96","⪘":"\u2a98","⪙":"\u2a99","⏧":"\u23e7","ℓ":"\u2113","⪕":"\u2a95","⪗":"\u2a97","ē":"\u0113","∅":"\u2205","∅":"\u2205","∅":"\u2205"," ":"\u2004"," ":"\u2005"," ":"\u2003","ŋ":"\u014b"," ":"\u2002","ę":"\u0119","𝕖":"\ud835\udd56","⋕":"\u22d5","⧣":"\u29e3","⩱":"\u2a71","ε":"\u03b5","ε":"\u03b5","ϵ":"\u03f5","≖":"\u2256","≕":"\u2255","≂":"\u2242","⪖":"\u2a96","⪕":"\u2a95","=":"=","≟":"\u225f","≡":"\u2261","⩸":"\u2a78","⧥":"\u29e5","≓":"\u2253","⥱":"\u2971","ℯ":"\u212f","≐":"\u2250","≂":"\u2242","η":"\u03b7","ð":"\xf0","ð":"\xf0","ë":"\xeb","ë":"\xeb","€":"\u20ac","!":"!","∃":"\u2203","ℰ":"\u2130","ⅇ":"\u2147","≒":"\u2252","ф":"\u0444","♀":"\u2640","ffi":"\ufb03","ff":"\ufb00","ffl":"\ufb04","𝔣":"\ud835\udd23","fi":"\ufb01","fj":"fj","♭":"\u266d","fl":"\ufb02","▱":"\u25b1","ƒ":"\u0192","𝕗":"\ud835\udd57","∀":"\u2200","⋔":"\u22d4","⫙":"\u2ad9","⨍":"\u2a0d","½":"\xbd","½":"\xbd","⅓":"\u2153","¼":"\xbc","¼":"\xbc","⅕":"\u2155","⅙":"\u2159","⅛":"\u215b","⅔":"\u2154","⅖":"\u2156","¾":"\xbe","¾":"\xbe","⅗":"\u2157","⅜":"\u215c","⅘":"\u2158","⅚":"\u215a","⅝":"\u215d","⅞":"\u215e","⁄":"\u2044","⌢":"\u2322","𝒻":"\ud835\udcbb","≧":"\u2267","⪌":"\u2a8c","ǵ":"\u01f5","γ":"\u03b3","ϝ":"\u03dd","⪆":"\u2a86","ğ":"\u011f","ĝ":"\u011d","г":"\u0433","ġ":"\u0121","≥":"\u2265","⋛":"\u22db","≥":"\u2265","≧":"\u2267","⩾":"\u2a7e","⩾":"\u2a7e","⪩":"\u2aa9","⪀":"\u2a80","⪂":"\u2a82","⪄":"\u2a84","⋛︀":"\u22db\ufe00","⪔":"\u2a94","𝔤":"\ud835\udd24","≫":"\u226b","⋙":"\u22d9","ℷ":"\u2137","ѓ":"\u0453","≷":"\u2277","⪒":"\u2a92","⪥":"\u2aa5","⪤":"\u2aa4","≩":"\u2269","⪊":"\u2a8a","⪊":"\u2a8a","⪈":"\u2a88","⪈":"\u2a88","≩":"\u2269","⋧":"\u22e7","𝕘":"\ud835\udd58","`":"`","ℊ":"\u210a","≳":"\u2273","⪎":"\u2a8e","⪐":"\u2a90",">":">",">":">","⪧":"\u2aa7","⩺":"\u2a7a","⋗":"\u22d7","⦕":"\u2995","⩼":"\u2a7c","⪆":"\u2a86","⥸":"\u2978","⋗":"\u22d7","⋛":"\u22db","⪌":"\u2a8c","≷":"\u2277","≳":"\u2273","≩︀":"\u2269\ufe00","≩︀":"\u2269\ufe00","⇔":"\u21d4"," ":"\u200a","½":"\xbd","ℋ":"\u210b","ъ":"\u044a","↔":"\u2194","⥈":"\u2948","↭":"\u21ad","ℏ":"\u210f","ĥ":"\u0125","♥":"\u2665","♥":"\u2665","…":"\u2026","⊹":"\u22b9","𝔥":"\ud835\udd25","⤥":"\u2925","⤦":"\u2926","⇿":"\u21ff","∻":"\u223b","↩":"\u21a9","↪":"\u21aa","𝕙":"\ud835\udd59","―":"\u2015","𝒽":"\ud835\udcbd","ℏ":"\u210f","ħ":"\u0127","⁃":"\u2043","‐":"\u2010","í":"\xed","í":"\xed","⁣":"\u2063","î":"\xee","î":"\xee","и":"\u0438","е":"\u0435","¡":"\xa1","¡":"\xa1","⇔":"\u21d4","𝔦":"\ud835\udd26","ì":"\xec","ì":"\xec","ⅈ":"\u2148","⨌":"\u2a0c","∭":"\u222d","⧜":"\u29dc","℩":"\u2129","ij":"\u0133","ī":"\u012b","ℑ":"\u2111","ℐ":"\u2110","ℑ":"\u2111","ı":"\u0131","⊷":"\u22b7","Ƶ":"\u01b5","∈":"\u2208","℅":"\u2105","∞":"\u221e","⧝":"\u29dd","ı":"\u0131","∫":"\u222b","⊺":"\u22ba","ℤ":"\u2124","⊺":"\u22ba","⨗":"\u2a17","⨼":"\u2a3c","ё":"\u0451","į":"\u012f","𝕚":"\ud835\udd5a","ι":"\u03b9","⨼":"\u2a3c","¿":"\xbf","¿":"\xbf","𝒾":"\ud835\udcbe","∈":"\u2208","⋹":"\u22f9","⋵":"\u22f5","⋴":"\u22f4","⋳":"\u22f3","∈":"\u2208","⁢":"\u2062","ĩ":"\u0129","і":"\u0456","ï":"\xef","ï":"\xef","ĵ":"\u0135","й":"\u0439","𝔧":"\ud835\udd27","ȷ":"\u0237","𝕛":"\ud835\udd5b","𝒿":"\ud835\udcbf","ј":"\u0458","є":"\u0454","κ":"\u03ba","ϰ":"\u03f0","ķ":"\u0137","к":"\u043a","𝔨":"\ud835\udd28","ĸ":"\u0138","х":"\u0445","ќ":"\u045c","𝕜":"\ud835\udd5c","𝓀":"\ud835\udcc0","⇚":"\u21da","⇐":"\u21d0","⤛":"\u291b","⤎":"\u290e","≦":"\u2266","⪋":"\u2a8b","⥢":"\u2962","ĺ":"\u013a","⦴":"\u29b4","ℒ":"\u2112","λ":"\u03bb","⟨":"\u27e8","⦑":"\u2991","⟨":"\u27e8","⪅":"\u2a85","«":"\xab","«":"\xab","←":"\u2190","⇤":"\u21e4","⤟":"\u291f","⤝":"\u291d","↩":"\u21a9","↫":"\u21ab","⤹":"\u2939","⥳":"\u2973","↢":"\u21a2","⪫":"\u2aab","⤙":"\u2919","⪭":"\u2aad","⪭︀":"\u2aad\ufe00","⤌":"\u290c","❲":"\u2772","{":"{","[":"[","⦋":"\u298b","⦏":"\u298f","⦍":"\u298d","ľ":"\u013e","ļ":"\u013c","⌈":"\u2308","{":"{","л":"\u043b","⤶":"\u2936","“":"\u201c","„":"\u201e","⥧":"\u2967","⥋":"\u294b","↲":"\u21b2","≤":"\u2264","←":"\u2190","↢":"\u21a2","↽":"\u21bd","↼":"\u21bc","⇇":"\u21c7","↔":"\u2194","⇆":"\u21c6","⇋":"\u21cb","↭":"\u21ad","⋋":"\u22cb","⋚":"\u22da","≤":"\u2264","≦":"\u2266","⩽":"\u2a7d","⩽":"\u2a7d","⪨":"\u2aa8","⩿":"\u2a7f","⪁":"\u2a81","⪃":"\u2a83","⋚︀":"\u22da\ufe00","⪓":"\u2a93","⪅":"\u2a85","⋖":"\u22d6","⋚":"\u22da","⪋":"\u2a8b","≶":"\u2276","≲":"\u2272","⥼":"\u297c","⌊":"\u230a","𝔩":"\ud835\udd29","≶":"\u2276","⪑":"\u2a91","↽":"\u21bd","↼":"\u21bc","⥪":"\u296a","▄":"\u2584","љ":"\u0459","≪":"\u226a","⇇":"\u21c7","⌞":"\u231e","⥫":"\u296b","◺":"\u25fa","ŀ":"\u0140","⎰":"\u23b0","⎰":"\u23b0","≨":"\u2268","⪉":"\u2a89","⪉":"\u2a89","⪇":"\u2a87","⪇":"\u2a87","≨":"\u2268","⋦":"\u22e6","⟬":"\u27ec","⇽":"\u21fd","⟦":"\u27e6","⟵":"\u27f5","⟷":"\u27f7","⟼":"\u27fc","⟶":"\u27f6","↫":"\u21ab","↬":"\u21ac","⦅":"\u2985","𝕝":"\ud835\udd5d","⨭":"\u2a2d","⨴":"\u2a34","∗":"\u2217","_":"_","◊":"\u25ca","◊":"\u25ca","⧫":"\u29eb","(":"(","⦓":"\u2993","⇆":"\u21c6","⌟":"\u231f","⇋":"\u21cb","⥭":"\u296d","‎":"\u200e","⊿":"\u22bf","‹":"\u2039","𝓁":"\ud835\udcc1","↰":"\u21b0","≲":"\u2272","⪍":"\u2a8d","⪏":"\u2a8f","[":"[","‘":"\u2018","‚":"\u201a","ł":"\u0142","<":"<","<":"<","⪦":"\u2aa6","⩹":"\u2a79","⋖":"\u22d6","⋋":"\u22cb","⋉":"\u22c9","⥶":"\u2976","⩻":"\u2a7b","⦖":"\u2996","◃":"\u25c3","⊴":"\u22b4","◂":"\u25c2","⥊":"\u294a","⥦":"\u2966","≨︀":"\u2268\ufe00","≨︀":"\u2268\ufe00","∺":"\u223a","¯":"\xaf","¯":"\xaf","♂":"\u2642","✠":"\u2720","✠":"\u2720","↦":"\u21a6","↦":"\u21a6","↧":"\u21a7","↤":"\u21a4","↥":"\u21a5","▮":"\u25ae","⨩":"\u2a29","м":"\u043c","—":"\u2014","∡":"\u2221","𝔪":"\ud835\udd2a","℧":"\u2127","µ":"\xb5","µ":"\xb5","∣":"\u2223","*":"*","⫰":"\u2af0","·":"\xb7","·":"\xb7","−":"\u2212","⊟":"\u229f","∸":"\u2238","⨪":"\u2a2a","⫛":"\u2adb","…":"\u2026","∓":"\u2213","⊧":"\u22a7","𝕞":"\ud835\udd5e","∓":"\u2213","𝓂":"\ud835\udcc2","∾":"\u223e","μ":"\u03bc","⊸":"\u22b8","⊸":"\u22b8","⋙̸":"\u22d9\u0338","≫⃒":"\u226b\u20d2","≫̸":"\u226b\u0338","⇍":"\u21cd","⇎":"\u21ce","⋘̸":"\u22d8\u0338","≪⃒":"\u226a\u20d2","≪̸":"\u226a\u0338","⇏":"\u21cf","⊯":"\u22af","⊮":"\u22ae","∇":"\u2207","ń":"\u0144","∠⃒":"\u2220\u20d2","≉":"\u2249","⩰̸":"\u2a70\u0338","≋̸":"\u224b\u0338","ʼn":"\u0149","≉":"\u2249","♮":"\u266e","♮":"\u266e","ℕ":"\u2115"," ":"\xa0"," ":"\xa0","≎̸":"\u224e\u0338","≏̸":"\u224f\u0338","⩃":"\u2a43","ň":"\u0148","ņ":"\u0146","≇":"\u2247","⩭̸":"\u2a6d\u0338","⩂":"\u2a42","н":"\u043d","–":"\u2013","≠":"\u2260","⇗":"\u21d7","⤤":"\u2924","↗":"\u2197","↗":"\u2197","≐̸":"\u2250\u0338","≢":"\u2262","⤨":"\u2928","≂̸":"\u2242\u0338","∄":"\u2204","∄":"\u2204","𝔫":"\ud835\udd2b","≧̸":"\u2267\u0338","≱":"\u2271","≱":"\u2271","≧̸":"\u2267\u0338","⩾̸":"\u2a7e\u0338","⩾̸":"\u2a7e\u0338","≵":"\u2275","≯":"\u226f","≯":"\u226f","⇎":"\u21ce","↮":"\u21ae","⫲":"\u2af2","∋":"\u220b","⋼":"\u22fc","⋺":"\u22fa","∋":"\u220b","њ":"\u045a","⇍":"\u21cd","≦̸":"\u2266\u0338","↚":"\u219a","‥":"\u2025","≰":"\u2270","↚":"\u219a","↮":"\u21ae","≰":"\u2270","≦̸":"\u2266\u0338","⩽̸":"\u2a7d\u0338","⩽̸":"\u2a7d\u0338","≮":"\u226e","≴":"\u2274","≮":"\u226e","⋪":"\u22ea","⋬":"\u22ec","∤":"\u2224","𝕟":"\ud835\udd5f","¬":"\xac","¬":"\xac","∉":"\u2209","⋹̸":"\u22f9\u0338","⋵̸":"\u22f5\u0338","∉":"\u2209","⋷":"\u22f7","⋶":"\u22f6","∌":"\u220c","∌":"\u220c","⋾":"\u22fe","⋽":"\u22fd","∦":"\u2226","∦":"\u2226","⫽⃥":"\u2afd\u20e5","∂̸":"\u2202\u0338","⨔":"\u2a14","⊀":"\u2280","⋠":"\u22e0","⪯̸":"\u2aaf\u0338","⊀":"\u2280","⪯̸":"\u2aaf\u0338","⇏":"\u21cf","↛":"\u219b","⤳̸":"\u2933\u0338","↝̸":"\u219d\u0338","↛":"\u219b","⋫":"\u22eb","⋭":"\u22ed","⊁":"\u2281","⋡":"\u22e1","⪰̸":"\u2ab0\u0338","𝓃":"\ud835\udcc3","∤":"\u2224","∦":"\u2226","≁":"\u2241","≄":"\u2244","≄":"\u2244","∤":"\u2224","∦":"\u2226","⋢":"\u22e2","⋣":"\u22e3","⊄":"\u2284","⫅̸":"\u2ac5\u0338","⊈":"\u2288","⊂⃒":"\u2282\u20d2","⊈":"\u2288","⫅̸":"\u2ac5\u0338","⊁":"\u2281","⪰̸":"\u2ab0\u0338","⊅":"\u2285","⫆̸":"\u2ac6\u0338","⊉":"\u2289","⊃⃒":"\u2283\u20d2","⊉":"\u2289","⫆̸":"\u2ac6\u0338","≹":"\u2279","ñ":"\xf1","ñ":"\xf1","≸":"\u2278","⋪":"\u22ea","⋬":"\u22ec","⋫":"\u22eb","⋭":"\u22ed","ν":"\u03bd","#":"#","№":"\u2116"," ":"\u2007","⊭":"\u22ad","⤄":"\u2904","≍⃒":"\u224d\u20d2","⊬":"\u22ac","≥⃒":"\u2265\u20d2",">⃒":">\u20d2","⧞":"\u29de","⤂":"\u2902","≤⃒":"\u2264\u20d2","<⃒":"<\u20d2","⊴⃒":"\u22b4\u20d2","⤃":"\u2903","⊵⃒":"\u22b5\u20d2","∼⃒":"\u223c\u20d2","⇖":"\u21d6","⤣":"\u2923","↖":"\u2196","↖":"\u2196","⤧":"\u2927","Ⓢ":"\u24c8","ó":"\xf3","ó":"\xf3","⊛":"\u229b","⊚":"\u229a","ô":"\xf4","ô":"\xf4","о":"\u043e","⊝":"\u229d","ő":"\u0151","⨸":"\u2a38","⊙":"\u2299","⦼":"\u29bc","œ":"\u0153","⦿":"\u29bf","𝔬":"\ud835\udd2c","˛":"\u02db","ò":"\xf2","ò":"\xf2","⧁":"\u29c1","⦵":"\u29b5","Ω":"\u03a9","∮":"\u222e","↺":"\u21ba","⦾":"\u29be","⦻":"\u29bb","‾":"\u203e","⧀":"\u29c0","ō":"\u014d","ω":"\u03c9","ο":"\u03bf","⦶":"\u29b6","⊖":"\u2296","𝕠":"\ud835\udd60","⦷":"\u29b7","⦹":"\u29b9","⊕":"\u2295","∨":"\u2228","↻":"\u21bb","⩝":"\u2a5d","ℴ":"\u2134","ℴ":"\u2134","ª":"\xaa","ª":"\xaa","º":"\xba","º":"\xba","⊶":"\u22b6","⩖":"\u2a56","⩗":"\u2a57","⩛":"\u2a5b","ℴ":"\u2134","ø":"\xf8","ø":"\xf8","⊘":"\u2298","õ":"\xf5","õ":"\xf5","⊗":"\u2297","⨶":"\u2a36","ö":"\xf6","ö":"\xf6","⌽":"\u233d","∥":"\u2225","¶":"\xb6","¶":"\xb6","∥":"\u2225","⫳":"\u2af3","⫽":"\u2afd","∂":"\u2202","п":"\u043f","%":"%",".":".","‰":"\u2030","⊥":"\u22a5","‱":"\u2031","𝔭":"\ud835\udd2d","φ":"\u03c6","ϕ":"\u03d5","ℳ":"\u2133","☎":"\u260e","π":"\u03c0","⋔":"\u22d4","ϖ":"\u03d6","ℏ":"\u210f","ℎ":"\u210e","ℏ":"\u210f","+":"+","⨣":"\u2a23","⊞":"\u229e","⨢":"\u2a22","∔":"\u2214","⨥":"\u2a25","⩲":"\u2a72","±":"\xb1","±":"\xb1","⨦":"\u2a26","⨧":"\u2a27","±":"\xb1","⨕":"\u2a15","𝕡":"\ud835\udd61","£":"\xa3","£":"\xa3","≺":"\u227a","⪳":"\u2ab3","⪷":"\u2ab7","≼":"\u227c","⪯":"\u2aaf","≺":"\u227a","⪷":"\u2ab7","≼":"\u227c","⪯":"\u2aaf","⪹":"\u2ab9","⪵":"\u2ab5","⋨":"\u22e8","≾":"\u227e","′":"\u2032","ℙ":"\u2119","⪵":"\u2ab5","⪹":"\u2ab9","⋨":"\u22e8","∏":"\u220f","⌮":"\u232e","⌒":"\u2312","⌓":"\u2313","∝":"\u221d","∝":"\u221d","≾":"\u227e","⊰":"\u22b0","𝓅":"\ud835\udcc5","ψ":"\u03c8"," ":"\u2008","𝔮":"\ud835\udd2e","⨌":"\u2a0c","𝕢":"\ud835\udd62","⁗":"\u2057","𝓆":"\ud835\udcc6","ℍ":"\u210d","⨖":"\u2a16","?":"?","≟":"\u225f",""":'"',""":'"',"⇛":"\u21db","⇒":"\u21d2","⤜":"\u291c","⤏":"\u290f","⥤":"\u2964","∽̱":"\u223d\u0331","ŕ":"\u0155","√":"\u221a","⦳":"\u29b3","⟩":"\u27e9","⦒":"\u2992","⦥":"\u29a5","⟩":"\u27e9","»":"\xbb","»":"\xbb","→":"\u2192","⥵":"\u2975","⇥":"\u21e5","⤠":"\u2920","⤳":"\u2933","⤞":"\u291e","↪":"\u21aa","↬":"\u21ac","⥅":"\u2945","⥴":"\u2974","↣":"\u21a3","↝":"\u219d","⤚":"\u291a","∶":"\u2236","ℚ":"\u211a","⤍":"\u290d","❳":"\u2773","}":"}","]":"]","⦌":"\u298c","⦎":"\u298e","⦐":"\u2990","ř":"\u0159","ŗ":"\u0157","⌉":"\u2309","}":"}","р":"\u0440","⤷":"\u2937","⥩":"\u2969","”":"\u201d","”":"\u201d","↳":"\u21b3","ℜ":"\u211c","ℛ":"\u211b","ℜ":"\u211c","ℝ":"\u211d","▭":"\u25ad","®":"\xae","®":"\xae","⥽":"\u297d","⌋":"\u230b","𝔯":"\ud835\udd2f","⇁":"\u21c1","⇀":"\u21c0","⥬":"\u296c","ρ":"\u03c1","ϱ":"\u03f1","→":"\u2192","↣":"\u21a3","⇁":"\u21c1","⇀":"\u21c0","⇄":"\u21c4","⇌":"\u21cc","⇉":"\u21c9","↝":"\u219d","⋌":"\u22cc","˚":"\u02da","≓":"\u2253","⇄":"\u21c4","⇌":"\u21cc","‏":"\u200f","⎱":"\u23b1","⎱":"\u23b1","⫮":"\u2aee","⟭":"\u27ed","⇾":"\u21fe","⟧":"\u27e7","⦆":"\u2986","𝕣":"\ud835\udd63","⨮":"\u2a2e","⨵":"\u2a35",")":")","⦔":"\u2994","⨒":"\u2a12","⇉":"\u21c9","›":"\u203a","𝓇":"\ud835\udcc7","↱":"\u21b1","]":"]","’":"\u2019","’":"\u2019","⋌":"\u22cc","⋊":"\u22ca","▹":"\u25b9","⊵":"\u22b5","▸":"\u25b8","⧎":"\u29ce","⥨":"\u2968","℞":"\u211e","ś":"\u015b","‚":"\u201a","≻":"\u227b","⪴":"\u2ab4","⪸":"\u2ab8","š":"\u0161","≽":"\u227d","⪰":"\u2ab0","ş":"\u015f","ŝ":"\u015d","⪶":"\u2ab6","⪺":"\u2aba","⋩":"\u22e9","⨓":"\u2a13","≿":"\u227f","с":"\u0441","⋅":"\u22c5","⊡":"\u22a1","⩦":"\u2a66","⇘":"\u21d8","⤥":"\u2925","↘":"\u2198","↘":"\u2198","§":"\xa7","§":"\xa7",";":";","⤩":"\u2929","∖":"\u2216","∖":"\u2216","✶":"\u2736","𝔰":"\ud835\udd30","⌢":"\u2322","♯":"\u266f","щ":"\u0449","ш":"\u0448","∣":"\u2223","∥":"\u2225","­":"\xad","­":"\xad","σ":"\u03c3","ς":"\u03c2","ς":"\u03c2","∼":"\u223c","⩪":"\u2a6a","≃":"\u2243","≃":"\u2243","⪞":"\u2a9e","⪠":"\u2aa0","⪝":"\u2a9d","⪟":"\u2a9f","≆":"\u2246","⨤":"\u2a24","⥲":"\u2972","←":"\u2190","∖":"\u2216","⨳":"\u2a33","⧤":"\u29e4","∣":"\u2223","⌣":"\u2323","⪪":"\u2aaa","⪬":"\u2aac","⪬︀":"\u2aac\ufe00","ь":"\u044c","/":"/","⧄":"\u29c4","⌿":"\u233f","𝕤":"\ud835\udd64","♠":"\u2660","♠":"\u2660","∥":"\u2225","⊓":"\u2293","⊓︀":"\u2293\ufe00","⊔":"\u2294","⊔︀":"\u2294\ufe00","⊏":"\u228f","⊑":"\u2291","⊏":"\u228f","⊑":"\u2291","⊐":"\u2290","⊒":"\u2292","⊐":"\u2290","⊒":"\u2292","□":"\u25a1","□":"\u25a1","▪":"\u25aa","▪":"\u25aa","→":"\u2192","𝓈":"\ud835\udcc8","∖":"\u2216","⌣":"\u2323","⋆":"\u22c6","☆":"\u2606","★":"\u2605","ϵ":"\u03f5","ϕ":"\u03d5","¯":"\xaf","⊂":"\u2282","⫅":"\u2ac5","⪽":"\u2abd","⊆":"\u2286","⫃":"\u2ac3","⫁":"\u2ac1","⫋":"\u2acb","⊊":"\u228a","⪿":"\u2abf","⥹":"\u2979","⊂":"\u2282","⊆":"\u2286","⫅":"\u2ac5","⊊":"\u228a","⫋":"\u2acb","⫇":"\u2ac7","⫕":"\u2ad5","⫓":"\u2ad3","≻":"\u227b","⪸":"\u2ab8","≽":"\u227d","⪰":"\u2ab0","⪺":"\u2aba","⪶":"\u2ab6","⋩":"\u22e9","≿":"\u227f","∑":"\u2211","♪":"\u266a","¹":"\xb9","¹":"\xb9","²":"\xb2","²":"\xb2","³":"\xb3","³":"\xb3","⊃":"\u2283","⫆":"\u2ac6","⪾":"\u2abe","⫘":"\u2ad8","⊇":"\u2287","⫄":"\u2ac4","⟉":"\u27c9","⫗":"\u2ad7","⥻":"\u297b","⫂":"\u2ac2","⫌":"\u2acc","⊋":"\u228b","⫀":"\u2ac0","⊃":"\u2283","⊇":"\u2287","⫆":"\u2ac6","⊋":"\u228b","⫌":"\u2acc","⫈":"\u2ac8","⫔":"\u2ad4","⫖":"\u2ad6","⇙":"\u21d9","⤦":"\u2926","↙":"\u2199","↙":"\u2199","⤪":"\u292a","ß":"\xdf","ß":"\xdf","⌖":"\u2316","τ":"\u03c4","⎴":"\u23b4","ť":"\u0165","ţ":"\u0163","т":"\u0442","⃛":"\u20db","⌕":"\u2315","𝔱":"\ud835\udd31","∴":"\u2234","∴":"\u2234","θ":"\u03b8","ϑ":"\u03d1","ϑ":"\u03d1","≈":"\u2248","∼":"\u223c"," ":"\u2009","≈":"\u2248","∼":"\u223c","þ":"\xfe","þ":"\xfe","˜":"\u02dc","×":"\xd7","×":"\xd7","⊠":"\u22a0","⨱":"\u2a31","⨰":"\u2a30","∭":"\u222d","⤨":"\u2928","⊤":"\u22a4","⌶":"\u2336","⫱":"\u2af1","𝕥":"\ud835\udd65","⫚":"\u2ada","⤩":"\u2929","‴":"\u2034","™":"\u2122","▵":"\u25b5","▿":"\u25bf","◃":"\u25c3","⊴":"\u22b4","≜":"\u225c","▹":"\u25b9","⊵":"\u22b5","◬":"\u25ec","≜":"\u225c","⨺":"\u2a3a","⨹":"\u2a39","⧍":"\u29cd","⨻":"\u2a3b","⏢":"\u23e2","𝓉":"\ud835\udcc9","ц":"\u0446","ћ":"\u045b","ŧ":"\u0167","≬":"\u226c","↞":"\u219e","↠":"\u21a0","⇑":"\u21d1","⥣":"\u2963","ú":"\xfa","ú":"\xfa","↑":"\u2191","ў":"\u045e","ŭ":"\u016d","û":"\xfb","û":"\xfb","у":"\u0443","⇅":"\u21c5","ű":"\u0171","⥮":"\u296e","⥾":"\u297e","𝔲":"\ud835\udd32","ù":"\xf9","ù":"\xf9","↿":"\u21bf","↾":"\u21be","▀":"\u2580","⌜":"\u231c","⌜":"\u231c","⌏":"\u230f","◸":"\u25f8","ū":"\u016b","¨":"\xa8","¨":"\xa8","ų":"\u0173","𝕦":"\ud835\udd66","↑":"\u2191","↕":"\u2195","↿":"\u21bf","↾":"\u21be","⊎":"\u228e","υ":"\u03c5","ϒ":"\u03d2","υ":"\u03c5","⇈":"\u21c8","⌝":"\u231d","⌝":"\u231d","⌎":"\u230e","ů":"\u016f","◹":"\u25f9","𝓊":"\ud835\udcca","⋰":"\u22f0","ũ":"\u0169","▵":"\u25b5","▴":"\u25b4","⇈":"\u21c8","ü":"\xfc","ü":"\xfc","⦧":"\u29a7","⇕":"\u21d5","⫨":"\u2ae8","⫩":"\u2ae9","⊨":"\u22a8","⦜":"\u299c","ϵ":"\u03f5","ϰ":"\u03f0","∅":"\u2205","ϕ":"\u03d5","ϖ":"\u03d6","∝":"\u221d","↕":"\u2195","ϱ":"\u03f1","ς":"\u03c2","⊊︀":"\u228a\ufe00","⫋︀":"\u2acb\ufe00","⊋︀":"\u228b\ufe00","⫌︀":"\u2acc\ufe00","ϑ":"\u03d1","⊲":"\u22b2","⊳":"\u22b3","в":"\u0432","⊢":"\u22a2","∨":"\u2228","⊻":"\u22bb","≚":"\u225a","⋮":"\u22ee","|":"|","|":"|","𝔳":"\ud835\udd33","⊲":"\u22b2","⊂⃒":"\u2282\u20d2","⊃⃒":"\u2283\u20d2","𝕧":"\ud835\udd67","∝":"\u221d","⊳":"\u22b3","𝓋":"\ud835\udccb","⫋︀":"\u2acb\ufe00","⊊︀":"\u228a\ufe00","⫌︀":"\u2acc\ufe00","⊋︀":"\u228b\ufe00","⦚":"\u299a","ŵ":"\u0175","⩟":"\u2a5f","∧":"\u2227","≙":"\u2259","℘":"\u2118","𝔴":"\ud835\udd34","𝕨":"\ud835\udd68","℘":"\u2118","≀":"\u2240","≀":"\u2240","𝓌":"\ud835\udccc","⋂":"\u22c2","◯":"\u25ef","⋃":"\u22c3","▽":"\u25bd","𝔵":"\ud835\udd35","⟺":"\u27fa","⟷":"\u27f7","ξ":"\u03be","⟸":"\u27f8","⟵":"\u27f5","⟼":"\u27fc","⋻":"\u22fb","⨀":"\u2a00","𝕩":"\ud835\udd69","⨁":"\u2a01","⨂":"\u2a02","⟹":"\u27f9","⟶":"\u27f6","𝓍":"\ud835\udccd","⨆":"\u2a06","⨄":"\u2a04","△":"\u25b3","⋁":"\u22c1","⋀":"\u22c0","ý":"\xfd","ý":"\xfd","я":"\u044f","ŷ":"\u0177","ы":"\u044b","¥":"\xa5","¥":"\xa5","𝔶":"\ud835\udd36","ї":"\u0457","𝕪":"\ud835\udd6a","𝓎":"\ud835\udcce","ю":"\u044e","ÿ":"\xff","ÿ":"\xff","ź":"\u017a","ž":"\u017e","з":"\u0437","ż":"\u017c","ℨ":"\u2128","ζ":"\u03b6","𝔷":"\ud835\udd37","ж":"\u0436","⇝":"\u21dd","𝕫":"\ud835\udd6b","𝓏":"\ud835\udccf","‍":"\u200d","‌":"\u200c"},characters:{"\xc6":"Æ","&":"&","\xc1":"Á","\u0102":"Ă","\xc2":"Â","\u0410":"А","\ud835\udd04":"𝔄","\xc0":"À","\u0391":"Α","\u0100":"Ā","\u2a53":"⩓","\u0104":"Ą","\ud835\udd38":"𝔸","\u2061":"⁡","\xc5":"Å","\ud835\udc9c":"𝒜","\u2254":"≔","\xc3":"Ã","\xc4":"Ä","\u2216":"∖","\u2ae7":"⫧","\u2306":"⌆","\u0411":"Б","\u2235":"∵","\u212c":"ℬ","\u0392":"Β","\ud835\udd05":"𝔅","\ud835\udd39":"𝔹","\u02d8":"˘","\u224e":"≎","\u0427":"Ч","\xa9":"©","\u0106":"Ć","\u22d2":"⋒","\u2145":"ⅅ","\u212d":"ℭ","\u010c":"Č","\xc7":"Ç","\u0108":"Ĉ","\u2230":"∰","\u010a":"Ċ","\xb8":"¸","\xb7":"·","\u03a7":"Χ","\u2299":"⊙","\u2296":"⊖","\u2295":"⊕","\u2297":"⊗","\u2232":"∲","\u201d":"”","\u2019":"’","\u2237":"∷","\u2a74":"⩴","\u2261":"≡","\u222f":"∯","\u222e":"∮","\u2102":"ℂ","\u2210":"∐","\u2233":"∳","\u2a2f":"⨯","\ud835\udc9e":"𝒞","\u22d3":"⋓","\u224d":"≍","\u2911":"⤑","\u0402":"Ђ","\u0405":"Ѕ","\u040f":"Џ","\u2021":"‡","\u21a1":"↡","\u2ae4":"⫤","\u010e":"Ď","\u0414":"Д","\u2207":"∇","\u0394":"Δ","\ud835\udd07":"𝔇","\xb4":"´","\u02d9":"˙","\u02dd":"˝","`":"`","\u02dc":"˜","\u22c4":"⋄","\u2146":"ⅆ","\ud835\udd3b":"𝔻","\xa8":"¨","\u20dc":"⃜","\u2250":"≐","\u21d3":"⇓","\u21d0":"⇐","\u21d4":"⇔","\u27f8":"⟸","\u27fa":"⟺","\u27f9":"⟹","\u21d2":"⇒","\u22a8":"⊨","\u21d1":"⇑","\u21d5":"⇕","\u2225":"∥","\u2193":"↓","\u2913":"⤓","\u21f5":"⇵","\u0311":"̑","\u2950":"⥐","\u295e":"⥞","\u21bd":"↽","\u2956":"⥖","\u295f":"⥟","\u21c1":"⇁","\u2957":"⥗","\u22a4":"⊤","\u21a7":"↧","\ud835\udc9f":"𝒟","\u0110":"Đ","\u014a":"Ŋ","\xd0":"Ð","\xc9":"É","\u011a":"Ě","\xca":"Ê","\u042d":"Э","\u0116":"Ė","\ud835\udd08":"𝔈","\xc8":"È","\u2208":"∈","\u0112":"Ē","\u25fb":"◻","\u25ab":"▫","\u0118":"Ę","\ud835\udd3c":"𝔼","\u0395":"Ε","\u2a75":"⩵","\u2242":"≂","\u21cc":"⇌","\u2130":"ℰ","\u2a73":"⩳","\u0397":"Η","\xcb":"Ë","\u2203":"∃","\u2147":"ⅇ","\u0424":"Ф","\ud835\udd09":"𝔉","\u25fc":"◼","\u25aa":"▪","\ud835\udd3d":"𝔽","\u2200":"∀","\u2131":"ℱ","\u0403":"Ѓ",">":">","\u0393":"Γ","\u03dc":"Ϝ","\u011e":"Ğ","\u0122":"Ģ","\u011c":"Ĝ","\u0413":"Г","\u0120":"Ġ","\ud835\udd0a":"𝔊","\u22d9":"⋙","\ud835\udd3e":"𝔾","\u2265":"≥","\u22db":"⋛","\u2267":"≧","\u2aa2":"⪢","\u2277":"≷","\u2a7e":"⩾","\u2273":"≳","\ud835\udca2":"𝒢","\u226b":"≫","\u042a":"Ъ","\u02c7":"ˇ","^":"^","\u0124":"Ĥ","\u210c":"ℌ","\u210b":"ℋ","\u210d":"ℍ","\u2500":"─","\u0126":"Ħ","\u224f":"≏","\u0415":"Е","\u0132":"IJ","\u0401":"Ё","\xcd":"Í","\xce":"Î","\u0418":"И","\u0130":"İ","\u2111":"ℑ","\xcc":"Ì","\u012a":"Ī","\u2148":"ⅈ","\u222c":"∬","\u222b":"∫","\u22c2":"⋂","\u2063":"⁣","\u2062":"⁢","\u012e":"Į","\ud835\udd40":"𝕀","\u0399":"Ι","\u2110":"ℐ","\u0128":"Ĩ","\u0406":"І","\xcf":"Ï","\u0134":"Ĵ","\u0419":"Й","\ud835\udd0d":"𝔍","\ud835\udd41":"𝕁","\ud835\udca5":"𝒥","\u0408":"Ј","\u0404":"Є","\u0425":"Х","\u040c":"Ќ","\u039a":"Κ","\u0136":"Ķ","\u041a":"К","\ud835\udd0e":"𝔎","\ud835\udd42":"𝕂","\ud835\udca6":"𝒦","\u0409":"Љ","<":"<","\u0139":"Ĺ","\u039b":"Λ","\u27ea":"⟪","\u2112":"ℒ","\u219e":"↞","\u013d":"Ľ","\u013b":"Ļ","\u041b":"Л","\u27e8":"⟨","\u2190":"←","\u21e4":"⇤","\u21c6":"⇆","\u2308":"⌈","\u27e6":"⟦","\u2961":"⥡","\u21c3":"⇃","\u2959":"⥙","\u230a":"⌊","\u2194":"↔","\u294e":"⥎","\u22a3":"⊣","\u21a4":"↤","\u295a":"⥚","\u22b2":"⊲","\u29cf":"⧏","\u22b4":"⊴","\u2951":"⥑","\u2960":"⥠","\u21bf":"↿","\u2958":"⥘","\u21bc":"↼","\u2952":"⥒","\u22da":"⋚","\u2266":"≦","\u2276":"≶","\u2aa1":"⪡","\u2a7d":"⩽","\u2272":"≲","\ud835\udd0f":"𝔏","\u22d8":"⋘","\u21da":"⇚","\u013f":"Ŀ","\u27f5":"⟵","\u27f7":"⟷","\u27f6":"⟶","\ud835\udd43":"𝕃","\u2199":"↙","\u2198":"↘","\u21b0":"↰","\u0141":"Ł","\u226a":"≪","\u2905":"⤅","\u041c":"М","\u205f":" ","\u2133":"ℳ","\ud835\udd10":"𝔐","\u2213":"∓","\ud835\udd44":"𝕄","\u039c":"Μ","\u040a":"Њ","\u0143":"Ń","\u0147":"Ň","\u0145":"Ņ","\u041d":"Н","\u200b":"​","\n":" ","\ud835\udd11":"𝔑","\u2060":"⁠","\xa0":" ","\u2115":"ℕ","\u2aec":"⫬","\u2262":"≢","\u226d":"≭","\u2226":"∦","\u2209":"∉","\u2260":"≠","\u2242\u0338":"≂̸","\u2204":"∄","\u226f":"≯","\u2271":"≱","\u2267\u0338":"≧̸","\u226b\u0338":"≫̸","\u2279":"≹","\u2a7e\u0338":"⩾̸","\u2275":"≵","\u224e\u0338":"≎̸","\u224f\u0338":"≏̸","\u22ea":"⋪","\u29cf\u0338":"⧏̸","\u22ec":"⋬","\u226e":"≮","\u2270":"≰","\u2278":"≸","\u226a\u0338":"≪̸","\u2a7d\u0338":"⩽̸","\u2274":"≴","\u2aa2\u0338":"⪢̸","\u2aa1\u0338":"⪡̸","\u2280":"⊀","\u2aaf\u0338":"⪯̸","\u22e0":"⋠","\u220c":"∌","\u22eb":"⋫","\u29d0\u0338":"⧐̸","\u22ed":"⋭","\u228f\u0338":"⊏̸","\u22e2":"⋢","\u2290\u0338":"⊐̸","\u22e3":"⋣","\u2282\u20d2":"⊂⃒","\u2288":"⊈","\u2281":"⊁","\u2ab0\u0338":"⪰̸","\u22e1":"⋡","\u227f\u0338":"≿̸","\u2283\u20d2":"⊃⃒","\u2289":"⊉","\u2241":"≁","\u2244":"≄","\u2247":"≇","\u2249":"≉","\u2224":"∤","\ud835\udca9":"𝒩","\xd1":"Ñ","\u039d":"Ν","\u0152":"Œ","\xd3":"Ó","\xd4":"Ô","\u041e":"О","\u0150":"Ő","\ud835\udd12":"𝔒","\xd2":"Ò","\u014c":"Ō","\u03a9":"Ω","\u039f":"Ο","\ud835\udd46":"𝕆","\u201c":"“","\u2018":"‘","\u2a54":"⩔","\ud835\udcaa":"𝒪","\xd8":"Ø","\xd5":"Õ","\u2a37":"⨷","\xd6":"Ö","\u203e":"‾","\u23de":"⏞","\u23b4":"⎴","\u23dc":"⏜","\u2202":"∂","\u041f":"П","\ud835\udd13":"𝔓","\u03a6":"Φ","\u03a0":"Π","\xb1":"±","\u2119":"ℙ","\u2abb":"⪻","\u227a":"≺","\u2aaf":"⪯","\u227c":"≼","\u227e":"≾","\u2033":"″","\u220f":"∏","\u221d":"∝","\ud835\udcab":"𝒫","\u03a8":"Ψ",'"':""","\ud835\udd14":"𝔔","\u211a":"ℚ","\ud835\udcac":"𝒬","\u2910":"⤐","\xae":"®","\u0154":"Ŕ","\u27eb":"⟫","\u21a0":"↠","\u2916":"⤖","\u0158":"Ř","\u0156":"Ŗ","\u0420":"Р","\u211c":"ℜ","\u220b":"∋","\u21cb":"⇋","\u296f":"⥯","\u03a1":"Ρ","\u27e9":"⟩","\u2192":"→","\u21e5":"⇥","\u21c4":"⇄","\u2309":"⌉","\u27e7":"⟧","\u295d":"⥝","\u21c2":"⇂","\u2955":"⥕","\u230b":"⌋","\u22a2":"⊢","\u21a6":"↦","\u295b":"⥛","\u22b3":"⊳","\u29d0":"⧐","\u22b5":"⊵","\u294f":"⥏","\u295c":"⥜","\u21be":"↾","\u2954":"⥔","\u21c0":"⇀","\u2953":"⥓","\u211d":"ℝ","\u2970":"⥰","\u21db":"⇛","\u211b":"ℛ","\u21b1":"↱","\u29f4":"⧴","\u0429":"Щ","\u0428":"Ш","\u042c":"Ь","\u015a":"Ś","\u2abc":"⪼","\u0160":"Š","\u015e":"Ş","\u015c":"Ŝ","\u0421":"С","\ud835\udd16":"𝔖","\u2191":"↑","\u03a3":"Σ","\u2218":"∘","\ud835\udd4a":"𝕊","\u221a":"√","\u25a1":"□","\u2293":"⊓","\u228f":"⊏","\u2291":"⊑","\u2290":"⊐","\u2292":"⊒","\u2294":"⊔","\ud835\udcae":"𝒮","\u22c6":"⋆","\u22d0":"⋐","\u2286":"⊆","\u227b":"≻","\u2ab0":"⪰","\u227d":"≽","\u227f":"≿","\u2211":"∑","\u22d1":"⋑","\u2283":"⊃","\u2287":"⊇","\xde":"Þ","\u2122":"™","\u040b":"Ћ","\u0426":"Ц","\t":" ","\u03a4":"Τ","\u0164":"Ť","\u0162":"Ţ","\u0422":"Т","\ud835\udd17":"𝔗","\u2234":"∴","\u0398":"Θ","\u205f\u200a":"  ","\u2009":" ","\u223c":"∼","\u2243":"≃","\u2245":"≅","\u2248":"≈","\ud835\udd4b":"𝕋","\u20db":"⃛","\ud835\udcaf":"𝒯","\u0166":"Ŧ","\xda":"Ú","\u219f":"↟","\u2949":"⥉","\u040e":"Ў","\u016c":"Ŭ","\xdb":"Û","\u0423":"У","\u0170":"Ű","\ud835\udd18":"𝔘","\xd9":"Ù","\u016a":"Ū",_:"_","\u23df":"⏟","\u23b5":"⎵","\u23dd":"⏝","\u22c3":"⋃","\u228e":"⊎","\u0172":"Ų","\ud835\udd4c":"𝕌","\u2912":"⤒","\u21c5":"⇅","\u2195":"↕","\u296e":"⥮","\u22a5":"⊥","\u21a5":"↥","\u2196":"↖","\u2197":"↗","\u03d2":"ϒ","\u03a5":"Υ","\u016e":"Ů","\ud835\udcb0":"𝒰","\u0168":"Ũ","\xdc":"Ü","\u22ab":"⊫","\u2aeb":"⫫","\u0412":"В","\u22a9":"⊩","\u2ae6":"⫦","\u22c1":"⋁","\u2016":"‖","\u2223":"∣","|":"|","\u2758":"❘","\u2240":"≀","\u200a":" ","\ud835\udd19":"𝔙","\ud835\udd4d":"𝕍","\ud835\udcb1":"𝒱","\u22aa":"⊪","\u0174":"Ŵ","\u22c0":"⋀","\ud835\udd1a":"𝔚","\ud835\udd4e":"𝕎","\ud835\udcb2":"𝒲","\ud835\udd1b":"𝔛","\u039e":"Ξ","\ud835\udd4f":"𝕏","\ud835\udcb3":"𝒳","\u042f":"Я","\u0407":"Ї","\u042e":"Ю","\xdd":"Ý","\u0176":"Ŷ","\u042b":"Ы","\ud835\udd1c":"𝔜","\ud835\udd50":"𝕐","\ud835\udcb4":"𝒴","\u0178":"Ÿ","\u0416":"Ж","\u0179":"Ź","\u017d":"Ž","\u0417":"З","\u017b":"Ż","\u0396":"Ζ","\u2128":"ℨ","\u2124":"ℤ","\ud835\udcb5":"𝒵","\xe1":"á","\u0103":"ă","\u223e":"∾","\u223e\u0333":"∾̳","\u223f":"∿","\xe2":"â","\u0430":"а","\xe6":"æ","\ud835\udd1e":"𝔞","\xe0":"à","\u2135":"ℵ","\u03b1":"α","\u0101":"ā","\u2a3f":"⨿","\u2227":"∧","\u2a55":"⩕","\u2a5c":"⩜","\u2a58":"⩘","\u2a5a":"⩚","\u2220":"∠","\u29a4":"⦤","\u2221":"∡","\u29a8":"⦨","\u29a9":"⦩","\u29aa":"⦪","\u29ab":"⦫","\u29ac":"⦬","\u29ad":"⦭","\u29ae":"⦮","\u29af":"⦯","\u221f":"∟","\u22be":"⊾","\u299d":"⦝","\u2222":"∢","\u237c":"⍼","\u0105":"ą","\ud835\udd52":"𝕒","\u2a70":"⩰","\u2a6f":"⩯","\u224a":"≊","\u224b":"≋","'":"'","\xe5":"å","\ud835\udcb6":"𝒶","*":"*","\xe3":"ã","\xe4":"ä","\u2a11":"⨑","\u2aed":"⫭","\u224c":"≌","\u03f6":"϶","\u2035":"‵","\u223d":"∽","\u22cd":"⋍","\u22bd":"⊽","\u2305":"⌅","\u23b6":"⎶","\u0431":"б","\u201e":"„","\u29b0":"⦰","\u03b2":"β","\u2136":"ℶ","\u226c":"≬","\ud835\udd1f":"𝔟","\u25ef":"◯","\u2a00":"⨀","\u2a01":"⨁","\u2a02":"⨂","\u2a06":"⨆","\u2605":"★","\u25bd":"▽","\u25b3":"△","\u2a04":"⨄","\u290d":"⤍","\u29eb":"⧫","\u25b4":"▴","\u25be":"▾","\u25c2":"◂","\u25b8":"▸","\u2423":"␣","\u2592":"▒","\u2591":"░","\u2593":"▓","\u2588":"█","=\u20e5":"=⃥","\u2261\u20e5":"≡⃥","\u2310":"⌐","\ud835\udd53":"𝕓","\u22c8":"⋈","\u2557":"╗","\u2554":"╔","\u2556":"╖","\u2553":"╓","\u2550":"═","\u2566":"╦","\u2569":"╩","\u2564":"╤","\u2567":"╧","\u255d":"╝","\u255a":"╚","\u255c":"╜","\u2559":"╙","\u2551":"║","\u256c":"╬","\u2563":"╣","\u2560":"╠","\u256b":"╫","\u2562":"╢","\u255f":"╟","\u29c9":"⧉","\u2555":"╕","\u2552":"╒","\u2510":"┐","\u250c":"┌","\u2565":"╥","\u2568":"╨","\u252c":"┬","\u2534":"┴","\u229f":"⊟","\u229e":"⊞","\u22a0":"⊠","\u255b":"╛","\u2558":"╘","\u2518":"┘","\u2514":"└","\u2502":"│","\u256a":"╪","\u2561":"╡","\u255e":"╞","\u253c":"┼","\u2524":"┤","\u251c":"├","\xa6":"¦","\ud835\udcb7":"𝒷","\u204f":"⁏","\\":"\","\u29c5":"⧅","\u27c8":"⟈","\u2022":"•","\u2aae":"⪮","\u0107":"ć","\u2229":"∩","\u2a44":"⩄","\u2a49":"⩉","\u2a4b":"⩋","\u2a47":"⩇","\u2a40":"⩀","\u2229\ufe00":"∩︀","\u2041":"⁁","\u2a4d":"⩍","\u010d":"č","\xe7":"ç","\u0109":"ĉ","\u2a4c":"⩌","\u2a50":"⩐","\u010b":"ċ","\u29b2":"⦲","\xa2":"¢","\ud835\udd20":"𝔠","\u0447":"ч","\u2713":"✓","\u03c7":"χ","\u25cb":"○","\u29c3":"⧃","\u02c6":"ˆ","\u2257":"≗","\u21ba":"↺","\u21bb":"↻","\u24c8":"Ⓢ","\u229b":"⊛","\u229a":"⊚","\u229d":"⊝","\u2a10":"⨐","\u2aef":"⫯","\u29c2":"⧂","\u2663":"♣",":":":",",":",","@":"@","\u2201":"∁","\u2a6d":"⩭","\ud835\udd54":"𝕔","\u2117":"℗","\u21b5":"↵","\u2717":"✗","\ud835\udcb8":"𝒸","\u2acf":"⫏","\u2ad1":"⫑","\u2ad0":"⫐","\u2ad2":"⫒","\u22ef":"⋯","\u2938":"⤸","\u2935":"⤵","\u22de":"⋞","\u22df":"⋟","\u21b6":"↶","\u293d":"⤽","\u222a":"∪","\u2a48":"⩈","\u2a46":"⩆","\u2a4a":"⩊","\u228d":"⊍","\u2a45":"⩅","\u222a\ufe00":"∪︀","\u21b7":"↷","\u293c":"⤼","\u22ce":"⋎","\u22cf":"⋏","\xa4":"¤","\u2231":"∱","\u232d":"⌭","\u2965":"⥥","\u2020":"†","\u2138":"ℸ","\u2010":"‐","\u290f":"⤏","\u010f":"ď","\u0434":"д","\u21ca":"⇊","\u2a77":"⩷","\xb0":"°","\u03b4":"δ","\u29b1":"⦱","\u297f":"⥿","\ud835\udd21":"𝔡","\u2666":"♦","\u03dd":"ϝ","\u22f2":"⋲","\xf7":"÷","\u22c7":"⋇","\u0452":"ђ","\u231e":"⌞","\u230d":"⌍",$:"$","\ud835\udd55":"𝕕","\u2251":"≑","\u2238":"∸","\u2214":"∔","\u22a1":"⊡","\u231f":"⌟","\u230c":"⌌","\ud835\udcb9":"𝒹","\u0455":"ѕ","\u29f6":"⧶","\u0111":"đ","\u22f1":"⋱","\u25bf":"▿","\u29a6":"⦦","\u045f":"џ","\u27ff":"⟿","\xe9":"é","\u2a6e":"⩮","\u011b":"ě","\u2256":"≖","\xea":"ê","\u2255":"≕","\u044d":"э","\u0117":"ė","\u2252":"≒","\ud835\udd22":"𝔢","\u2a9a":"⪚","\xe8":"è","\u2a96":"⪖","\u2a98":"⪘","\u2a99":"⪙","\u23e7":"⏧","\u2113":"ℓ","\u2a95":"⪕","\u2a97":"⪗","\u0113":"ē","\u2205":"∅","\u2004":" ","\u2005":" ","\u2003":" ","\u014b":"ŋ","\u2002":" ","\u0119":"ę","\ud835\udd56":"𝕖","\u22d5":"⋕","\u29e3":"⧣","\u2a71":"⩱","\u03b5":"ε","\u03f5":"ϵ","=":"=","\u225f":"≟","\u2a78":"⩸","\u29e5":"⧥","\u2253":"≓","\u2971":"⥱","\u212f":"ℯ","\u03b7":"η","\xf0":"ð","\xeb":"ë","\u20ac":"€","!":"!","\u0444":"ф","\u2640":"♀","\ufb03":"ffi","\ufb00":"ff","\ufb04":"ffl","\ud835\udd23":"𝔣","\ufb01":"fi",fj:"fj","\u266d":"♭","\ufb02":"fl","\u25b1":"▱","\u0192":"ƒ","\ud835\udd57":"𝕗","\u22d4":"⋔","\u2ad9":"⫙","\u2a0d":"⨍","\xbd":"½","\u2153":"⅓","\xbc":"¼","\u2155":"⅕","\u2159":"⅙","\u215b":"⅛","\u2154":"⅔","\u2156":"⅖","\xbe":"¾","\u2157":"⅗","\u215c":"⅜","\u2158":"⅘","\u215a":"⅚","\u215d":"⅝","\u215e":"⅞","\u2044":"⁄","\u2322":"⌢","\ud835\udcbb":"𝒻","\u2a8c":"⪌","\u01f5":"ǵ","\u03b3":"γ","\u2a86":"⪆","\u011f":"ğ","\u011d":"ĝ","\u0433":"г","\u0121":"ġ","\u2aa9":"⪩","\u2a80":"⪀","\u2a82":"⪂","\u2a84":"⪄","\u22db\ufe00":"⋛︀","\u2a94":"⪔","\ud835\udd24":"𝔤","\u2137":"ℷ","\u0453":"ѓ","\u2a92":"⪒","\u2aa5":"⪥","\u2aa4":"⪤","\u2269":"≩","\u2a8a":"⪊","\u2a88":"⪈","\u22e7":"⋧","\ud835\udd58":"𝕘","\u210a":"ℊ","\u2a8e":"⪎","\u2a90":"⪐","\u2aa7":"⪧","\u2a7a":"⩺","\u22d7":"⋗","\u2995":"⦕","\u2a7c":"⩼","\u2978":"⥸","\u2269\ufe00":"≩︀","\u044a":"ъ","\u2948":"⥈","\u21ad":"↭","\u210f":"ℏ","\u0125":"ĥ","\u2665":"♥","\u2026":"…","\u22b9":"⊹","\ud835\udd25":"𝔥","\u2925":"⤥","\u2926":"⤦","\u21ff":"⇿","\u223b":"∻","\u21a9":"↩","\u21aa":"↪","\ud835\udd59":"𝕙","\u2015":"―","\ud835\udcbd":"𝒽","\u0127":"ħ","\u2043":"⁃","\xed":"í","\xee":"î","\u0438":"и","\u0435":"е","\xa1":"¡","\ud835\udd26":"𝔦","\xec":"ì","\u2a0c":"⨌","\u222d":"∭","\u29dc":"⧜","\u2129":"℩","\u0133":"ij","\u012b":"ī","\u0131":"ı","\u22b7":"⊷","\u01b5":"Ƶ","\u2105":"℅","\u221e":"∞","\u29dd":"⧝","\u22ba":"⊺","\u2a17":"⨗","\u2a3c":"⨼","\u0451":"ё","\u012f":"į","\ud835\udd5a":"𝕚","\u03b9":"ι","\xbf":"¿","\ud835\udcbe":"𝒾","\u22f9":"⋹","\u22f5":"⋵","\u22f4":"⋴","\u22f3":"⋳","\u0129":"ĩ","\u0456":"і","\xef":"ï","\u0135":"ĵ","\u0439":"й","\ud835\udd27":"𝔧","\u0237":"ȷ","\ud835\udd5b":"𝕛","\ud835\udcbf":"𝒿","\u0458":"ј","\u0454":"є","\u03ba":"κ","\u03f0":"ϰ","\u0137":"ķ","\u043a":"к","\ud835\udd28":"𝔨","\u0138":"ĸ","\u0445":"х","\u045c":"ќ","\ud835\udd5c":"𝕜","\ud835\udcc0":"𝓀","\u291b":"⤛","\u290e":"⤎","\u2a8b":"⪋","\u2962":"⥢","\u013a":"ĺ","\u29b4":"⦴","\u03bb":"λ","\u2991":"⦑","\u2a85":"⪅","\xab":"«","\u291f":"⤟","\u291d":"⤝","\u21ab":"↫","\u2939":"⤹","\u2973":"⥳","\u21a2":"↢","\u2aab":"⪫","\u2919":"⤙","\u2aad":"⪭","\u2aad\ufe00":"⪭︀","\u290c":"⤌","\u2772":"❲","{":"{","[":"[","\u298b":"⦋","\u298f":"⦏","\u298d":"⦍","\u013e":"ľ","\u013c":"ļ","\u043b":"л","\u2936":"⤶","\u2967":"⥧","\u294b":"⥋","\u21b2":"↲","\u2264":"≤","\u21c7":"⇇","\u22cb":"⋋","\u2aa8":"⪨","\u2a7f":"⩿","\u2a81":"⪁","\u2a83":"⪃","\u22da\ufe00":"⋚︀","\u2a93":"⪓","\u22d6":"⋖","\u297c":"⥼","\ud835\udd29":"𝔩","\u2a91":"⪑","\u296a":"⥪","\u2584":"▄","\u0459":"љ","\u296b":"⥫","\u25fa":"◺","\u0140":"ŀ","\u23b0":"⎰","\u2268":"≨","\u2a89":"⪉","\u2a87":"⪇","\u22e6":"⋦","\u27ec":"⟬","\u21fd":"⇽","\u27fc":"⟼","\u21ac":"↬","\u2985":"⦅","\ud835\udd5d":"𝕝","\u2a2d":"⨭","\u2a34":"⨴","\u2217":"∗","\u25ca":"◊","(":"(","\u2993":"⦓","\u296d":"⥭","\u200e":"‎","\u22bf":"⊿","\u2039":"‹","\ud835\udcc1":"𝓁","\u2a8d":"⪍","\u2a8f":"⪏","\u201a":"‚","\u0142":"ł","\u2aa6":"⪦","\u2a79":"⩹","\u22c9":"⋉","\u2976":"⥶","\u2a7b":"⩻","\u2996":"⦖","\u25c3":"◃","\u294a":"⥊","\u2966":"⥦","\u2268\ufe00":"≨︀","\u223a":"∺","\xaf":"¯","\u2642":"♂","\u2720":"✠","\u25ae":"▮","\u2a29":"⨩","\u043c":"м","\u2014":"—","\ud835\udd2a":"𝔪","\u2127":"℧","\xb5":"µ","\u2af0":"⫰","\u2212":"−","\u2a2a":"⨪","\u2adb":"⫛","\u22a7":"⊧","\ud835\udd5e":"𝕞","\ud835\udcc2":"𝓂","\u03bc":"μ","\u22b8":"⊸","\u22d9\u0338":"⋙̸","\u226b\u20d2":"≫⃒","\u21cd":"⇍","\u21ce":"⇎","\u22d8\u0338":"⋘̸","\u226a\u20d2":"≪⃒","\u21cf":"⇏","\u22af":"⊯","\u22ae":"⊮","\u0144":"ń","\u2220\u20d2":"∠⃒","\u2a70\u0338":"⩰̸","\u224b\u0338":"≋̸","\u0149":"ʼn","\u266e":"♮","\u2a43":"⩃","\u0148":"ň","\u0146":"ņ","\u2a6d\u0338":"⩭̸","\u2a42":"⩂","\u043d":"н","\u2013":"–","\u21d7":"⇗","\u2924":"⤤","\u2250\u0338":"≐̸","\u2928":"⤨","\ud835\udd2b":"𝔫","\u21ae":"↮","\u2af2":"⫲","\u22fc":"⋼","\u22fa":"⋺","\u045a":"њ","\u2266\u0338":"≦̸","\u219a":"↚","\u2025":"‥","\ud835\udd5f":"𝕟","\xac":"¬","\u22f9\u0338":"⋹̸","\u22f5\u0338":"⋵̸","\u22f7":"⋷","\u22f6":"⋶","\u22fe":"⋾","\u22fd":"⋽","\u2afd\u20e5":"⫽⃥","\u2202\u0338":"∂̸","\u2a14":"⨔","\u219b":"↛","\u2933\u0338":"⤳̸","\u219d\u0338":"↝̸","\ud835\udcc3":"𝓃","\u2284":"⊄","\u2ac5\u0338":"⫅̸","\u2285":"⊅","\u2ac6\u0338":"⫆̸","\xf1":"ñ","\u03bd":"ν","#":"#","\u2116":"№","\u2007":" ","\u22ad":"⊭","\u2904":"⤄","\u224d\u20d2":"≍⃒","\u22ac":"⊬","\u2265\u20d2":"≥⃒",">\u20d2":">⃒","\u29de":"⧞","\u2902":"⤂","\u2264\u20d2":"≤⃒","<\u20d2":"<⃒","\u22b4\u20d2":"⊴⃒","\u2903":"⤃","\u22b5\u20d2":"⊵⃒","\u223c\u20d2":"∼⃒","\u21d6":"⇖","\u2923":"⤣","\u2927":"⤧","\xf3":"ó","\xf4":"ô","\u043e":"о","\u0151":"ő","\u2a38":"⨸","\u29bc":"⦼","\u0153":"œ","\u29bf":"⦿","\ud835\udd2c":"𝔬","\u02db":"˛","\xf2":"ò","\u29c1":"⧁","\u29b5":"⦵","\u29be":"⦾","\u29bb":"⦻","\u29c0":"⧀","\u014d":"ō","\u03c9":"ω","\u03bf":"ο","\u29b6":"⦶","\ud835\udd60":"𝕠","\u29b7":"⦷","\u29b9":"⦹","\u2228":"∨","\u2a5d":"⩝","\u2134":"ℴ","\xaa":"ª","\xba":"º","\u22b6":"⊶","\u2a56":"⩖","\u2a57":"⩗","\u2a5b":"⩛","\xf8":"ø","\u2298":"⊘","\xf5":"õ","\u2a36":"⨶","\xf6":"ö","\u233d":"⌽","\xb6":"¶","\u2af3":"⫳","\u2afd":"⫽","\u043f":"п","%":"%",".":".","\u2030":"‰","\u2031":"‱","\ud835\udd2d":"𝔭","\u03c6":"φ","\u03d5":"ϕ","\u260e":"☎","\u03c0":"π","\u03d6":"ϖ","\u210e":"ℎ","+":"+","\u2a23":"⨣","\u2a22":"⨢","\u2a25":"⨥","\u2a72":"⩲","\u2a26":"⨦","\u2a27":"⨧","\u2a15":"⨕","\ud835\udd61":"𝕡","\xa3":"£","\u2ab3":"⪳","\u2ab7":"⪷","\u2ab9":"⪹","\u2ab5":"⪵","\u22e8":"⋨","\u2032":"′","\u232e":"⌮","\u2312":"⌒","\u2313":"⌓","\u22b0":"⊰","\ud835\udcc5":"𝓅","\u03c8":"ψ","\u2008":" ","\ud835\udd2e":"𝔮","\ud835\udd62":"𝕢","\u2057":"⁗","\ud835\udcc6":"𝓆","\u2a16":"⨖","?":"?","\u291c":"⤜","\u2964":"⥤","\u223d\u0331":"∽̱","\u0155":"ŕ","\u29b3":"⦳","\u2992":"⦒","\u29a5":"⦥","\xbb":"»","\u2975":"⥵","\u2920":"⤠","\u2933":"⤳","\u291e":"⤞","\u2945":"⥅","\u2974":"⥴","\u21a3":"↣","\u219d":"↝","\u291a":"⤚","\u2236":"∶","\u2773":"❳","}":"}","]":"]","\u298c":"⦌","\u298e":"⦎","\u2990":"⦐","\u0159":"ř","\u0157":"ŗ","\u0440":"р","\u2937":"⤷","\u2969":"⥩","\u21b3":"↳","\u25ad":"▭","\u297d":"⥽","\ud835\udd2f":"𝔯","\u296c":"⥬","\u03c1":"ρ","\u03f1":"ϱ","\u21c9":"⇉","\u22cc":"⋌","\u02da":"˚","\u200f":"‏","\u23b1":"⎱","\u2aee":"⫮","\u27ed":"⟭","\u21fe":"⇾","\u2986":"⦆","\ud835\udd63":"𝕣","\u2a2e":"⨮","\u2a35":"⨵",")":")","\u2994":"⦔","\u2a12":"⨒","\u203a":"›","\ud835\udcc7":"𝓇","\u22ca":"⋊","\u25b9":"▹","\u29ce":"⧎","\u2968":"⥨","\u211e":"℞","\u015b":"ś","\u2ab4":"⪴","\u2ab8":"⪸","\u0161":"š","\u015f":"ş","\u015d":"ŝ","\u2ab6":"⪶","\u2aba":"⪺","\u22e9":"⋩","\u2a13":"⨓","\u0441":"с","\u22c5":"⋅","\u2a66":"⩦","\u21d8":"⇘","\xa7":"§",";":";","\u2929":"⤩","\u2736":"✶","\ud835\udd30":"𝔰","\u266f":"♯","\u0449":"щ","\u0448":"ш","\xad":"­","\u03c3":"σ","\u03c2":"ς","\u2a6a":"⩪","\u2a9e":"⪞","\u2aa0":"⪠","\u2a9d":"⪝","\u2a9f":"⪟","\u2246":"≆","\u2a24":"⨤","\u2972":"⥲","\u2a33":"⨳","\u29e4":"⧤","\u2323":"⌣","\u2aaa":"⪪","\u2aac":"⪬","\u2aac\ufe00":"⪬︀","\u044c":"ь","/":"/","\u29c4":"⧄","\u233f":"⌿","\ud835\udd64":"𝕤","\u2660":"♠","\u2293\ufe00":"⊓︀","\u2294\ufe00":"⊔︀","\ud835\udcc8":"𝓈","\u2606":"☆","\u2282":"⊂","\u2ac5":"⫅","\u2abd":"⪽","\u2ac3":"⫃","\u2ac1":"⫁","\u2acb":"⫋","\u228a":"⊊","\u2abf":"⪿","\u2979":"⥹","\u2ac7":"⫇","\u2ad5":"⫕","\u2ad3":"⫓","\u266a":"♪","\xb9":"¹","\xb2":"²","\xb3":"³","\u2ac6":"⫆","\u2abe":"⪾","\u2ad8":"⫘","\u2ac4":"⫄","\u27c9":"⟉","\u2ad7":"⫗","\u297b":"⥻","\u2ac2":"⫂","\u2acc":"⫌","\u228b":"⊋","\u2ac0":"⫀","\u2ac8":"⫈","\u2ad4":"⫔","\u2ad6":"⫖","\u21d9":"⇙","\u292a":"⤪","\xdf":"ß","\u2316":"⌖","\u03c4":"τ","\u0165":"ť","\u0163":"ţ","\u0442":"т","\u2315":"⌕","\ud835\udd31":"𝔱","\u03b8":"θ","\u03d1":"ϑ","\xfe":"þ","\xd7":"×","\u2a31":"⨱","\u2a30":"⨰","\u2336":"⌶","\u2af1":"⫱","\ud835\udd65":"𝕥","\u2ada":"⫚","\u2034":"‴","\u25b5":"▵","\u225c":"≜","\u25ec":"◬","\u2a3a":"⨺","\u2a39":"⨹","\u29cd":"⧍","\u2a3b":"⨻","\u23e2":"⏢","\ud835\udcc9":"𝓉","\u0446":"ц","\u045b":"ћ","\u0167":"ŧ","\u2963":"⥣","\xfa":"ú","\u045e":"ў","\u016d":"ŭ","\xfb":"û","\u0443":"у","\u0171":"ű","\u297e":"⥾","\ud835\udd32":"𝔲","\xf9":"ù","\u2580":"▀","\u231c":"⌜","\u230f":"⌏","\u25f8":"◸","\u016b":"ū","\u0173":"ų","\ud835\udd66":"𝕦","\u03c5":"υ","\u21c8":"⇈","\u231d":"⌝","\u230e":"⌎","\u016f":"ů","\u25f9":"◹","\ud835\udcca":"𝓊","\u22f0":"⋰","\u0169":"ũ","\xfc":"ü","\u29a7":"⦧","\u2ae8":"⫨","\u2ae9":"⫩","\u299c":"⦜","\u228a\ufe00":"⊊︀","\u2acb\ufe00":"⫋︀","\u228b\ufe00":"⊋︀","\u2acc\ufe00":"⫌︀","\u0432":"в","\u22bb":"⊻","\u225a":"≚","\u22ee":"⋮","\ud835\udd33":"𝔳","\ud835\udd67":"𝕧","\ud835\udccb":"𝓋","\u299a":"⦚","\u0175":"ŵ","\u2a5f":"⩟","\u2259":"≙","\u2118":"℘","\ud835\udd34":"𝔴","\ud835\udd68":"𝕨","\ud835\udccc":"𝓌","\ud835\udd35":"𝔵","\u03be":"ξ","\u22fb":"⋻","\ud835\udd69":"𝕩","\ud835\udccd":"𝓍","\xfd":"ý","\u044f":"я","\u0177":"ŷ","\u044b":"ы","\xa5":"¥","\ud835\udd36":"𝔶","\u0457":"ї","\ud835\udd6a":"𝕪","\ud835\udcce":"𝓎","\u044e":"ю","\xff":"ÿ","\u017a":"ź","\u017e":"ž","\u0437":"з","\u017c":"ż","\u03b6":"ζ","\ud835\udd37":"𝔷","\u0436":"ж","\u21dd":"⇝","\ud835\udd6b":"𝕫","\ud835\udccf":"𝓏","\u200d":"‍","\u200c":"‌"}}}},33762:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numericUnicodeMap={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},34826:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromCodePoint=String.fromCodePoint||function(e){return String.fromCharCode(Math.floor((e-65536)/1024)+55296,(e-65536)%1024+56320)},t.getCodePoint=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536},t.highSurrogateFrom=55296,t.highSurrogateTo=56319},18426:(e,t)=>{function r(e){let t,r=[];for(let n of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(n))r.push(parseInt(n,10));else if(t=n.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,n,o,a]=t;if(n&&a){n=parseInt(n),a=parseInt(a);const e=n<a?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(a+=e);for(let t=n;t!==a;t+=e)r.push(t)}}return r}t.default=r,e.exports=r},28453:(e,t,r)=>{"use strict";r.d(t,{R:()=>s,x:()=>i});var n=r(96540);const o={},a=n.createContext(o);function s(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/common.8cf64e18.js b/assets/js/common.8cf64e18.js new file mode 100644 index 00000000..e743cfc5 --- /dev/null +++ b/assets/js/common.8cf64e18.js @@ -0,0 +1 @@ +(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[2076],{64241:(e,t,r)=>{var n={"./de/common.json":[87680,7680],"./de/daysOfWeek.json":[42335,2335],"./de/eventTiming.json":[76689,6689],"./de/quantityComparator.json":[74328,4328],"./de/unitsOfTime.json":[46616,6616],"./en/common.json":[21092,1092],"./en/daysOfWeek.json":[46891,6891],"./en/eventTiming.json":[91293,1293],"./en/quantityComparator.json":[93876,3876],"./en/unitsOfTime.json":[76492,6492],"./fr/common.json":[64305,4305],"./fr/daysOfWeek.json":[84858,4858],"./fr/eventTiming.json":[8842,8842],"./fr/quantityComparator.json":[40225,225],"./fr/unitsOfTime.json":[40047,47],"./nl/common.json":[72031,2031],"./nl/daysOfWeek.json":[47748,7748],"./nl/eventTiming.json":[80404,404],"./nl/quantityComparator.json":[79975,9975],"./nl/unitsOfTime.json":[61465,1465]};function o(e){if(!r.o(n,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],o=t[0];return r.e(t[1]).then((()=>r.t(o,19)))}o.keys=()=>Object.keys(n),o.id=64241,e.exports=o},76300:(e,t,r)=>{"use strict";r.d(t,{U:()=>Ye});const n=e=>"string"==typeof e,o=()=>{let e,t;const r=new Promise(((r,n)=>{e=r,t=n}));return r.resolve=e,r.reject=t,r},a=e=>null==e?"":""+e,s=/###/g,i=e=>e&&e.indexOf("###")>-1?e.replace(s,"."):e,l=e=>!e||n(e),c=(e,t,r)=>{const o=n(t)?t.split("."):t;let a=0;for(;a<o.length-1;){if(l(e))return{};const t=i(o[a]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++a}return l(e)?{}:{obj:e,k:i(o[a])}},u=(e,t,r)=>{const{obj:n,k:o}=c(e,t,Object);if(void 0!==n||1===t.length)return void(n[o]=r);let a=t[t.length-1],s=t.slice(0,t.length-1),i=c(e,s,Object);for(;void 0===i.obj&&s.length;)a=`${s[s.length-1]}.${a}`,s=s.slice(0,s.length-1),i=c(e,s,Object),i&&i.obj&&void 0!==i.obj[`${i.k}.${a}`]&&(i.obj=void 0);i.obj[`${i.k}.${a}`]=r},d=(e,t)=>{const{obj:r,k:n}=c(e,t);if(r)return r[n]},p=(e,t,r)=>{for(const o in t)"__proto__"!==o&&"constructor"!==o&&(o in e?n(e[o])||e[o]instanceof String||n(t[o])||t[o]instanceof String?r&&(e[o]=t[o]):p(e[o],t[o],r):e[o]=t[o]);return e},g=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var h={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const f=e=>n(e)?e.replace(/[&<>"'\/]/g,(e=>h[e])):e;const m=[" ",",","?","!",";"],b=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}(20),v=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const n=t.split(r);let o=e;for(let a=0;a<n.length;){if(!o||"object"!=typeof o)return;let e,t="";for(let s=a;s<n.length;++s)if(s!==a&&(t+=r),t+=n[s],e=o[t],void 0!==e){if(["string","number","boolean"].indexOf(typeof e)>-1&&s<n.length-1)continue;a+=s-a+1;break}o=e}return o},y=e=>e&&e.replace("_","-"),x={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class w{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||x,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,o){return o&&!this.debug?null:(n(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new w(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new w(this.logger,e)}}var k=new w;class q{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];if(this.observers[e]){Array.from(this.observers[e].entries()).forEach((e=>{let[t,n]=e;for(let o=0;o<n;o++)t(...r)}))}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach((t=>{let[n,o]=t;for(let a=0;a<o;a++)n.apply(n,[e,...r])}))}}}class S extends q{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,s=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let i;e.indexOf(".")>-1?i=e.split("."):(i=[e,t],r&&(Array.isArray(r)?i.push(...r):n(r)&&a?i.push(...r.split(a)):i.push(r)));const l=d(this.data,i);return!l&&!t&&!r&&e.indexOf(".")>-1&&(e=i[0],t=i[1],r=i.slice(2).join(".")),!l&&s&&n(r)?v(this.data&&this.data[e]&&this.data[e][t],r,a):l}addResource(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let s=[e,t];r&&(s=s.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(s=e.split("."),n=t,t=s[1]),this.addNamespaces(t),u(this.data,s,n),o.silent||this.emit("added",e,t,r,n)}addResources(e,t,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const a in r)(n(r[a])||Array.isArray(r[a]))&&this.addResource(e,t,a,r[a],{silent:!0});o.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,n,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},s=[e,t];e.indexOf(".")>-1&&(s=e.split("."),n=r,r=t,t=s[1]),this.addNamespaces(t);let i=d(this.data,s)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?p(i,r,o):i={...i,...r},u(this.data,s,i),a.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var E={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,n,o){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,r,n,o))})),t}};const L={};class O extends q{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),((e,t,r)=>{e.forEach((e=>{t[e]&&(r[e]=t[e])}))})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=k.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const r=this.resolve(e,t);return r&&void 0!==r.res}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");const o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let a=t.ns||this.options.defaultNS||[];const s=r&&e.indexOf(r)>-1,i=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||((e,t,r)=>{t=t||"",r=r||"";const n=m.filter((e=>t.indexOf(e)<0&&r.indexOf(e)<0));if(0===n.length)return!0;const o=b.getRegExp(`(${n.map((e=>"?"===e?"\\?":e)).join("|")})`);let a=!o.test(e);if(!a){const t=e.indexOf(r);t>0&&!o.test(e.substring(0,t))&&(a=!0)}return a})(e,r,o));if(s&&!i){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:n(a)?[a]:a};const s=e.split(r);(r!==o||r===o&&this.options.ns.indexOf(s[0])>-1)&&(a=s.shift()),e=s.join(o)}return{key:e,namespaces:n(a)?[a]:a}}translate(e,t,r){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const o=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,a=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:s,namespaces:i}=this.extractFromKey(e[e.length-1],t),l=i[i.length-1],c=t.lng||this.language,u=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&"cimode"===c.toLowerCase()){if(u){const e=t.nsSeparator||this.options.nsSeparator;return o?{res:`${l}${e}${s}`,usedKey:s,exactUsedKey:s,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${e}${s}`}return o?{res:s,usedKey:s,exactUsedKey:s,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:s}const d=this.resolve(e,t);let p=d&&d.res;const g=d&&d.usedKey||s,h=d&&d.exactUsedKey||s,f=Object.prototype.toString.apply(p),m=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject,v=!n(p)&&"boolean"!=typeof p&&"number"!=typeof p;if(!(b&&p&&v&&["[object Number]","[object Function]","[object RegExp]"].indexOf(f)<0)||n(m)&&Array.isArray(p))if(b&&n(m)&&Array.isArray(p))p=p.join(m),p&&(p=this.extendTranslation(p,e,t,r));else{let o=!1,i=!1;const u=void 0!==t.count&&!n(t.count),g=O.hasDefaultValue(t),h=u?this.pluralResolver.getSuffix(c,t.count,t):"",f=t.ordinal&&u?this.pluralResolver.getSuffix(c,t.count,{ordinal:!1}):"",m=u&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),b=m&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${h}`]||t[`defaultValue${f}`]||t.defaultValue;!this.isValidLookup(p)&&g&&(o=!0,p=b),this.isValidLookup(p)||(i=!0,p=s);const v=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&i?void 0:p,y=g&&b!==p&&this.options.updateMissing;if(i||o||y){if(this.logger.log(y?"updateKey":"missingKey",c,l,s,y?b:p),a){const e=this.resolve(s,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const r=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&r&&r[0])for(let t=0;t<r.length;t++)e.push(r[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const n=(e,r,n)=>{const o=g&&n!==p?n:v;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,r,o,y,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,l,r,o,y,t),this.emit("missingKey",e,l,r,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&u?e.forEach((e=>{const r=this.pluralResolver.getSuffixes(e,t);m&&t[`defaultValue${this.options.pluralSeparator}zero`]&&r.indexOf(`${this.options.pluralSeparator}zero`)<0&&r.push(`${this.options.pluralSeparator}zero`),r.forEach((r=>{n([e],s+r,t[`defaultValue${r}`]||b)}))})):n(e,s,b))}p=this.extendTranslation(p,e,t,d,r),i&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${s}`),(i||o)&&this.options.parseMissingKeyHandler&&(p="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,o?p:void 0):this.options.parseMissingKeyHandler(p))}else{if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,{...t,ns:i}):`key '${s} (${this.language})' returned an object instead of string.`;return o?(d.res=e,d.usedParams=this.getUsedParamsDetails(t),d):e}if(a){const e=Array.isArray(p),r=e?[]:{},n=e?h:g;for(const o in p)if(Object.prototype.hasOwnProperty.call(p,o)){const e=`${n}${a}${o}`;r[o]=this.translate(e,{...t,joinArrays:!1,ns:i}),r[o]===e&&(r[o]=p[o])}p=r}}return o?(d.res=p,d.usedParams=this.getUsedParamsDetails(t),d):p}extendTranslation(e,t,r,o,a){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const i=n(e)&&(r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(i){const t=e.match(this.interpolator.nestingRegexp);l=t&&t.length}let c=r.replace&&!n(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(c={...this.options.interpolation.defaultVariables,...c}),e=this.interpolator.interpolate(e,c,r.lng||this.language||o.usedLng,r),i){const t=e.match(this.interpolator.nestingRegexp);l<(t&&t.length)&&(r.nest=!1)}!r.lng&&"v1"!==this.options.compatibilityAPI&&o&&o.res&&(r.lng=this.language||o.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return a&&a[0]===n[0]&&!r.context?(s.logger.warn(`It seems you are nesting recursively key: ${n[0]} in key: ${t[0]}`),null):s.translate(...n,t)}),r)),r.interpolation&&this.interpolator.reset()}const i=r.postProcess||this.options.postProcess,l=n(i)?[i]:i;return null!=e&&l&&l.length&&!1!==r.applyPostProcessor&&(e=E.handle(l,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e){let t,r,o,a,s,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n(e)&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const l=this.extractFromKey(e,i),c=l.key;r=c;let u=l.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const d=void 0!==i.count&&!n(i.count),p=d&&!i.ordinal&&0===i.count&&this.pluralResolver.shouldUseIntlApi(),g=void 0!==i.context&&(n(i.context)||"number"==typeof i.context)&&""!==i.context,h=i.lngs?i.lngs:this.languageUtils.toResolveHierarchy(i.lng||this.language,i.fallbackLng);u.forEach((e=>{this.isValidLookup(t)||(s=e,!L[`${h[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(s)&&(L[`${h[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${h.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),h.forEach((r=>{if(this.isValidLookup(t))return;a=r;const n=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(n,c,r,e,i);else{let e;d&&(e=this.pluralResolver.getSuffix(r,i.count,i));const t=`${this.options.pluralSeparator}zero`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(d&&(n.push(c+e),i.ordinal&&0===e.indexOf(o)&&n.push(c+e.replace(o,this.options.pluralSeparator)),p&&n.push(c+t)),g){const r=`${c}${this.options.contextSeparator}${i.context}`;n.push(r),d&&(n.push(r+e),i.ordinal&&0===e.indexOf(o)&&n.push(r+e.replace(o,this.options.pluralSeparator)),p&&n.push(r+t))}}let s;for(;s=n.pop();)this.isValidLookup(t)||(o=s,t=this.getResource(r,e,s,i))})))}))})),{res:t,usedKey:r,exactUsedKey:o,usedLng:a,usedNS:s}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,r,n):this.resourceStore.getResource(e,t,r,n)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!n(e.replace);let o=r?e.replace:e;if(r&&void 0!==e.count&&(o.count=e.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!r){o={...o};for(const e of t)delete o[e]}return o}static hasDefaultValue(e){const t="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,12)&&void 0!==e[r])return!0;return!1}}const A=e=>e.charAt(0).toUpperCase()+e.slice(1);class D{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=k.create("languageUtils")}getScriptPartFromCode(e){if(!(e=y(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=y(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(n(e)&&e.indexOf("-")>-1){if("undefined"!=typeof Intl&&void 0!==Intl.getCanonicalLocales)try{let t=Intl.getCanonicalLocales(e)[0];if(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)return t}catch(t){}const r=["hans","hant","latn","cyrl","cans","mong","arab"];let n=e.split("-");return this.options.lowerCaseLng?n=n.map((e=>e.toLowerCase())):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),r.indexOf(n[1].toLowerCase())>-1&&(n[1]=A(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),r.indexOf(n[1].toLowerCase())>-1&&(n[1]=A(n[1].toLowerCase())),r.indexOf(n[2].toLowerCase())>-1&&(n[2]=A(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const r=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(r)||(t=r)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find((e=>e===r?e:e.indexOf("-")<0&&r.indexOf("-")<0?void 0:e.indexOf("-")>0&&r.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===r||0===e.indexOf(r)&&r.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),n(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){const r=this.getFallbackCodes(t||this.options.fallbackLng||[],e),o=[],a=e=>{e&&(this.isSupportedCode(e)?o.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return n(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&a(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&a(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&a(this.getLanguagePartFromCode(e))):n(e)&&a(this.formatLanguageCode(e)),r.forEach((e=>{o.indexOf(e)<0&&a(this.formatLanguageCode(e))})),o}}let C=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],N={1:e=>Number(e>1),2:e=>Number(1!=e),3:e=>0,4:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),5:e=>Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5),6:e=>Number(1==e?0:e>=2&&e<=4?1:2),7:e=>Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),8:e=>Number(1==e?0:2==e?1:8!=e&&11!=e?2:3),9:e=>Number(e>=2),10:e=>Number(1==e?0:2==e?1:e<7?2:e<11?3:4),11:e=>Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3),12:e=>Number(e%10!=1||e%100==11),13:e=>Number(0!==e),14:e=>Number(1==e?0:2==e?1:3==e?2:3),15:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2),16:e=>Number(e%10==1&&e%100!=11?0:0!==e?1:2),17:e=>Number(1==e||e%10==1&&e%100!=11?0:1),18:e=>Number(0==e?0:1==e?1:2),19:e=>Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3),20:e=>Number(1==e?0:0==e||e%100>0&&e%100<20?1:2),21:e=>Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0),22:e=>Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)};const T=["v1","v2","v3"],R=["v4"],j={zero:0,one:1,two:2,few:3,many:4,other:5};class P{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=k.create("pluralResolver"),this.options.compatibilityJSON&&!R.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=(()=>{const e={};return C.forEach((t=>{t.lngs.forEach((r=>{e[r]={numbers:t.nr,plurals:N[t.fc]}}))})),e})(),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{const r=y("dev"===e?"en":e),n=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:r,type:n});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];const a=new Intl.PluralRules(r,{type:n});return this.pluralRulesCache[o]=a,a}catch(r){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=this.getRule(e,t);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,r).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=this.getRule(e,t);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort(((e,t)=>j[e]-j[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):r.numbers.map((r=>this.getSuffix(e,r,t))):[]}getSuffix(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.getRule(e,r);return n?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:this.getSuffixRetroCompatible(n,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const r=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let n=e.numbers[r];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===n?n="plural":1===n&&(n=""));const o=()=>this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString();return"v1"===this.options.compatibilityJSON?1===n?"":"number"==typeof n?`_plural_${n.toString()}`:o():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!T.includes(this.options.compatibilityJSON)}}const I=function(e,t,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=((e,t,r)=>{const n=d(e,r);return void 0!==n?n:d(t,r)})(e,t,r);return!s&&a&&n(r)&&(s=v(e,r,o),void 0===s&&(s=v(t,r,o))),s},F=e=>e.replace(/\$/g,"$$$$");class U{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=k.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:r,useRawValueToEscape:n,prefix:o,prefixEscaped:a,suffix:s,suffixEscaped:i,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:p,nestingSuffix:h,nestingSuffixEscaped:m,nestingOptionsSeparator:b,maxReplaces:v,alwaysFormat:y}=e.interpolation;this.escape=void 0!==t?t:f,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=o?g(o):a||"{{",this.suffix=s?g(s):i||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=d?g(d):p||g("$t("),this.nestingSuffix=h?g(h):m||g(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=v||1e3,this.alwaysFormat=void 0!==y&&y,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,r,o){let s,i,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=e=>{if(e.indexOf(this.formatSeparator)<0){const n=I(t,c,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(n,void 0,r,{...o,...t,interpolationkey:e}):n}const n=e.split(this.formatSeparator),a=n.shift().trim(),s=n.join(this.formatSeparator).trim();return this.format(I(t,c,a,this.options.keySeparator,this.options.ignoreJSONStructure),s,r,{...o,...t,interpolationkey:a})};this.resetRegExp();const d=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,p=o&&o.interpolation&&void 0!==o.interpolation.skipOnVariables?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>F(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?F(this.escape(e)):F(e)}].forEach((t=>{for(l=0;s=t.regex.exec(e);){const r=s[1].trim();if(i=u(r),void 0===i)if("function"==typeof d){const t=d(e,s,o);i=n(t)?t:""}else if(o&&Object.prototype.hasOwnProperty.call(o,r))i="";else{if(p){i=s[0];continue}this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),i=""}else n(i)||this.useRawValueToEscape||(i=a(i));const c=t.safeValue(i);if(e=e.replace(s[0],c),p?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=s[0].length):t.regex.lastIndex=0,l++,l>=this.maxReplaces)break}})),e}nest(e,t){let r,o,s,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const l=(e,t)=>{const r=this.nestingOptionsSeparator;if(e.indexOf(r)<0)return e;const n=e.split(new RegExp(`${r}[ ]*{`));let o=`{${n[1]}`;e=n[0],o=this.interpolate(o,s);const a=o.match(/'/g),i=o.match(/"/g);(a&&a.length%2==0&&!i||i.length%2!=0)&&(o=o.replace(/'/g,'"'));try{s=JSON.parse(o),t&&(s={...t,...s})}catch(l){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,l),`${e}${r}${o}`}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let c=[];s={...i},s=s.replace&&!n(s.replace)?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(-1!==r[0].indexOf(this.formatSeparator)&&!/{.*}/.test(r[1])){const e=r[1].split(this.formatSeparator).map((e=>e.trim()));r[1]=e.shift(),c=e,u=!0}if(o=t(l.call(this,r[1].trim(),s),s),o&&r[0]===e&&!n(o))return o;n(o)||(o=a(o)),o||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),o=""),u&&(o=c.reduce(((e,t)=>this.format(e,t,i.lng,{...i,interpolationkey:r[1].trim()})),o.trim())),e=e.replace(r[0],o),this.regexp.lastIndex=0}return e}}const V=e=>{const t={};return(r,n,o)=>{let a=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(a={...a,[o.interpolationkey]:void 0});const s=n+JSON.stringify(a);let i=t[s];return i||(i=e(y(n),o),t[s]=i),i(r)}};class B{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=k.create("formatter"),this.options=e,this.formats={number:V(((e,t)=>{const r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)})),currency:V(((e,t)=>{const r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)})),datetime:V(((e,t)=>{const r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)})),relativetime:V(((e,t)=>{const r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")})),list:V(((e,t)=>{const r=new Intl.ListFormat(e,{...t});return e=>r.format(e)}))},this.init(e)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=V(t)}format(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find((e=>e.indexOf(")")>-1))){const e=o.findIndex((e=>e.indexOf(")")>-1));o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce(((e,t)=>{const{formatName:o,formatOptions:a}=(e=>{let t=e.toLowerCase().trim();const r={};if(e.indexOf("(")>-1){const n=e.split("(");t=n[0].toLowerCase().trim();const o=n[1].substring(0,n[1].length-1);"currency"===t&&o.indexOf(":")<0?r.currency||(r.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?r.range||(r.range=o.trim()):o.split(";").forEach((e=>{if(e){const[t,...n]=e.split(":"),o=n.join(":").trim().replace(/^'+|'+$/g,""),a=t.trim();r[a]||(r[a]=o),"false"===o&&(r[a]=!1),"true"===o&&(r[a]=!0),isNaN(o)||(r[a]=parseInt(o,10))}}))}return{formatName:t,formatOptions:r}})(t);if(this.formats[o]){let t=e;try{const s=n&&n.formatParams&&n.formatParams[n.interpolationkey]||{},i=s.locale||s.lng||n.locale||n.lng||r;t=this.formats[o](e,i,{...a,...n,...s})}catch(s){this.logger.warn(s)}return t}return this.logger.warn(`there was no format function for ${o}`),e}),e)}}class $ extends q{constructor(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=k.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,n.backend,n)}queueLoad(e,t,r,n){const o={},a={},s={},i={};return e.forEach((e=>{let n=!0;t.forEach((t=>{const s=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[s]=2:this.state[s]<0||(1===this.state[s]?void 0===a[s]&&(a[s]=!0):(this.state[s]=1,n=!1,void 0===a[s]&&(a[s]=!0),void 0===o[s]&&(o[s]=!0),void 0===i[t]&&(i[t]=!0)))})),n||(s[e]=!0)})),(Object.keys(o).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(o),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(i)}}loaded(e,t,r){const n=e.split("|"),o=n[0],a=n[1];t&&this.emit("failedLoading",o,a,t),!t&&r&&this.store.addResourceBundle(o,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);const s={};this.queue.forEach((r=>{((e,t,r)=>{const{obj:n,k:o}=c(e,t,Object);n[o]=n[o]||[],n[o].push(r)})(r.loaded,[o],a),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(r,e),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach((e=>{s[e]||(s[e]={});const t=r.loaded[e];t.length&&t.forEach((t=>{void 0===s[e][t]&&(s[e][t]=!0)}))})),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())})),this.emit("loaded",s),this.queue=this.queue.filter((e=>!e.done))}read(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:o,callback:a});this.readingCalls++;const s=(s,i)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}s&&i&&n<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,r,n+1,2*o,a)}),o):a(s,i)},i=this.backend[r].bind(this.backend);if(2!==i.length)return i(e,t,s);try{const r=i(e,t);r&&"function"==typeof r.then?r.then((e=>s(null,e))).catch(s):s(null,r)}catch(l){s(l)}}prepareLoading(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();n(e)&&(e=this.languageUtils.toResolveHierarchy(e)),n(t)&&(t=[t]);const a=this.queueLoad(e,t,r,o);if(!a.toLoad.length)return a.pending.length||o(),null;a.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const r=e.split("|"),n=r[0],o=r[1];this.read(n,o,"read",void 0,void 0,((r,a)=>{r&&this.logger.warn(`${t}loading namespace ${o} for language ${n} failed`,r),!r&&a&&this.logger.log(`${t}loaded namespace ${o} for language ${n}`,a),this.loaded(e,r,a)}))}saveMissing(e,t,r,n,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=r&&""!==r){if(this.backend&&this.backend.create){const l={...a,isUpdate:o},c=this.backend.create.bind(this.backend);if(c.length<6)try{let o;o=5===c.length?c(e,t,r,n,l):c(e,t,r,n),o&&"function"==typeof o.then?o.then((e=>s(null,e))).catch(s):s(null,o)}catch(i){s(i)}else c(e,t,r,n,s,l)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}const H=()=>({debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),n(e[1])&&(t.defaultValue=e[1]),n(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const r=e[3]||e[2];Object.keys(r).forEach((e=>{t[e]=r[e]}))}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),M=e=>(n(e.ns)&&(e.ns=[e.ns]),n(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),n(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e),z=()=>{};class G extends q{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var r;if(super(),this.options=M(e),this.services={},this.logger=k,this.modules={external:[]},r=this,Object.getOwnPropertyNames(Object.getPrototypeOf(r)).forEach((e=>{"function"==typeof r[e]&&(r[e]=r[e].bind(r))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(r=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&(n(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const a=H();this.options={...a,...this.options,...M(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...a.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator);const s=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?k.init(s(this.modules.logger),this.options):k.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=B);const r=new D(this.options);this.store=new S(this.options.resources,this.options);const n=this.services;n.logger=k,n.resourceStore=this.store,n.languageUtils=r,n.pluralResolver=new P(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==a.interpolation.format||(n.formatter=s(t),n.formatter.init(n,this.options),this.options.interpolation.format=n.formatter.format.bind(n.formatter)),n.interpolator=new U(this.options),n.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},n.backendConnector=new $(s(this.modules.backend),n.resourceStore,n,this.options),n.backendConnector.on("*",(function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];e.emit(t,...n)})),this.modules.languageDetector&&(n.languageDetector=s(this.modules.languageDetector),n.languageDetector.init&&n.languageDetector.init(n,this.options.detection,this.options)),this.modules.i18nFormat&&(n.i18nFormat=s(this.modules.i18nFormat),n.i18nFormat.init&&n.i18nFormat.init(this)),this.translator=new O(this.services,this.options),this.translator.on("*",(function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];e.emit(t,...n)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,r||(r=z),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const i=o(),l=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),i.resolve(t),r(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),i}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:z;const r=n(e)?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&"cimode"===r.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],n=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(r)n(r);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>n(e)))}this.options.preload&&this.options.preload.forEach((e=>n(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,r){const n=o();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=z),this.services.backendConnector.reload(e,t,(e=>{n.resolve(),r(e)})),n}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&E.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let t=0;t<this.languages.length;t++){const e=this.languages[t];if(!(["cimode","dev"].indexOf(e)>-1)&&this.store.hasLanguageSomeTranslations(e)){this.resolvedLanguage=e;break}}}changeLanguage(e,t){var r=this;this.isLanguageChangingTo=e;const a=o();this.emit("languageChanging",e);const s=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(e,n)=>{n?(s(n),this.translator.changeLanguage(n),this.isLanguageChangingTo=void 0,this.emit("languageChanged",n),this.logger.log("languageChanged",n)):this.isLanguageChangingTo=void 0,a.resolve((function(){return r.t(...arguments)})),t&&t(e,(function(){return r.t(...arguments)}))},l=t=>{e||t||!this.services.languageDetector||(t=[]);const r=n(t)?t:this.services.languageUtils.getBestMatchFromCodes(t);r&&(this.language||s(r),this.translator.language||this.translator.changeLanguage(r),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(r)),this.loadResources(r,(e=>{i(e,r)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(e):l(this.services.languageDetector.detect()),a}getFixedT(e,t,r){var o=this;const a=function(e,t){let n;if("object"!=typeof t){for(var s=arguments.length,i=new Array(s>2?s-2:0),l=2;l<s;l++)i[l-2]=arguments[l];n=o.options.overloadTranslationOptionHandler([e,t].concat(i))}else n={...t};n.lng=n.lng||a.lng,n.lngs=n.lngs||a.lngs,n.ns=n.ns||a.ns,""!==n.keyPrefix&&(n.keyPrefix=n.keyPrefix||r||a.keyPrefix);const c=o.options.keySeparator||".";let u;return u=n.keyPrefix&&Array.isArray(e)?e.map((e=>`${n.keyPrefix}${c}${e}`)):n.keyPrefix?`${n.keyPrefix}${c}${e}`:e,o.t(u,n)};return n(e)?a.lng=e:a.lngs=e,a.ns=t,a.keyPrefix=r,a}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=t.lng||this.resolvedLanguage||this.languages[0],n=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;const a=(e,t)=>{const r=this.services.backendConnector.state[`${e}|${t}`];return-1===r||0===r||2===r};if(t.precheck){const e=t.precheck(this,a);if(void 0!==e)return e}return!!this.hasResourceBundle(r,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!a(r,e)||n&&!a(o,e)))}loadNamespaces(e,t){const r=o();return this.options.ns?(n(e)&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{r.resolve(),t&&t(e)})),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=o();n(e)&&(e=[e]);const a=this.options.preload||[],s=e.filter((e=>a.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return s.length?(this.options.preload=a.concat(s),this.loadResources((e=>{r.resolve(),t&&t(e)})),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new D(H());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new G(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:z;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const n={...this.options,...e,isClone:!0},o=new G(n);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));return["store","services","language"].forEach((e=>{o[e]=this[e]})),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new S(this.store.data,n),o.services.resourceStore=o.store),o.translator=new O(o.services,n),o.translator.on("*",(function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];o.emit(e,...r)})),o.init(n,t),o.translator.options=n,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const _=G.createInstance();_.createInstance=G.createInstance;_.createInstance,_.dir,_.init,_.loadResources,_.reloadResources,_.use,_.changeLanguage,_.getFixedT,_.t,_.exists,_.setDefaultNamespace,_.hasLoadedNamespace,_.loadNamespaces,_.loadLanguages;function K(e){return K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},K(e)}function J(e){var t=function(e,t){if("object"!=K(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=K(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==K(t)?t:t+""}function W(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,J(n.key),n)}}var Y=[],Z=Y.forEach,Q=Y.slice;function X(e,t,r,n){var o=e.read.bind(e);if(2!==o.length)o(t,r,n);else try{var a=o(t,r);a&&"function"==typeof a.then?a.then((function(e){return n(null,e)})).catch(n):n(null,a)}catch(s){n(s)}}var ee=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.backends=[],this.type="backend",this.allOptions=n,this.init(t,r)}return function(e,t,r){t&&W(e.prototype,t),r&&W(e,r),Object.defineProperty(e,"prototype",{writable:!1})}(e,[{key:"init",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=function(e){return Z.call(Q.call(arguments,1),(function(t){if(t)for(var r in t)void 0===e[r]&&(e[r]=t[r])})),e}(r,this.options||{},{handleEmptyResourcesAsFailed:!0,cacheHitMode:"none"}),this.allOptions=n,this.options.backends&&this.options.backends.forEach((function(r,o){var a;t.backends[o]=t.backends[o]||((a=r)?"function"==typeof a?new a:a:null),t.backends[o].init(e,t.options.backendOptions&&t.options.backendOptions[o]||{},n)})),this.services&&this.options.reloadInterval&&setInterval((function(){return t.reload()}),this.options.reloadInterval)}},{key:"read",value:function(e,t,r){var n=this,o=this.backends.length,a=function r(o,a){if(!(o<0)){var s=n.backends[o];s.save?(s.save(e,t,a),r(o-1,a)):r(o-1,a)}};!function s(i){if(i>=o)return r(new Error("non of the backend loaded data",!0));var l=i===o-1,c=n.options.handleEmptyResourcesAsFailed&&!l?0:-1,u=n.backends[i];u.read?X(u,e,t,(function(o,l,d){if(!o&&l&&Object.keys(l).length>c){if(r(null,l,i),a(i-1,l),u.save&&n.options.cacheHitMode&&["refresh","refreshAndUpdateStore"].indexOf(n.options.cacheHitMode)>-1){if(d&&n.options.refreshExpirationTime&&d+n.options.refreshExpirationTime>Date.now())return;var p=n.backends[i+1];p&&p.read&&X(p,e,t,(function(r,o){r||o&&(Object.keys(o).length<=c||(a(i,o),"refreshAndUpdateStore"===n.options.cacheHitMode&&n.services&&n.services.resourceStore&&n.services.resourceStore.addResourceBundle(e,t,o)))}))}}else s(i+1)})):s(i+1)}(0)}},{key:"create",value:function(e,t,r,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.backends.forEach((function(s){if(s.create){var i=s.create.bind(s);if(i.length<6)try{var l;(l=5===i.length?i(e,t,r,n,a):i(e,t,r,n))&&"function"==typeof l.then?l.then((function(e){return o(null,e)})).catch(o):o(null,l)}catch(c){o(c)}else i(e,t,r,n,o,a)}}))}},{key:"reload",value:function(){var e=this,t=this.services,r=t.backendConnector,n=t.languageUtils,o=t.logger,a=r.language;if(!a||"cimode"!==a.toLowerCase()){var s=[],i=function(e){n.toResolveHierarchy(e).forEach((function(e){s.indexOf(e)<0&&s.push(e)}))};i(a),this.allOptions.preload&&this.allOptions.preload.forEach((function(e){return i(e)})),s.forEach((function(t){e.allOptions.ns.forEach((function(e){r.read(t,e,"read",null,null,(function(n,a){n&&o.warn("loading namespace ".concat(e," for language ").concat(t," failed"),n),!n&&a&&o.log("loaded namespace ".concat(e," for language ").concat(t),a),r.loaded("".concat(t,"|").concat(e),n,a)}))}))}))}}}]),e}();ee.type="backend";function te(e){return void 0!==e}function re(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.every(te)}function ne(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return!t.some(te)}function oe(e){return!te(e)||0===e.length}const ae={language:"en",fromFHIRQuantityUnitToString:function(e){let{quantity:t}=e;return te(t.code)?t.code:te(t.unit)?t.unit:""},fromCodeableConceptToString:function(e){let{code:t}=e;if(!te(t))return;if(te(t.text))return t.text;if(oe(t.coding))return;let r=t.coding[0];return r.display||r.code},fromExtensionsToString:function(e){let{extensions:t}=e;if(!oe(t))return t.map((e=>JSON.stringify(e))).join(" ")},displayOrder:["method","doseQuantity","doseRange","rateRatio","rateQuantity","rateRange","durationDurationMax","frequencyFrequencyMaxPeriodPeriodMax","offsetWhen","dayOfWeek","timeOfDay","route","site","asNeeded","boundsDuration","boundsPeriod","boundsRange","countCountMax","event","code","maxDosePerPeriod","maxDosePerAdministration","maxDosePerLifetime","additionalInstruction","patientInstruction"],displaySeparator:" - ",dateTimeFormatOptions:{},i18nConfig:{backend:{backends:[(se=async(e,t)=>r(64241)(`./${e}/${t}.json`),{type:"backend",init:function(e,t,r){},read:function(e,t,r){if("function"!=typeof se)r(null,se&&se[e]&&se[e][t]);else{if(se.length<3){try{var n=se(e,t);n&&"function"==typeof n.then?n.then((function(e){return r(null,e&&e.default||e)})).catch(r):r(null,n)}catch(o){r(o)}return}se(e,t,r)}}})]}}};var se;class ie{containsOnlySequentialInstructions(e){let t=e.map((e=>e.sequence)).filter(te),r=new Set(t);return[0,e.length].includes(r.size)}groupBySequence(e){let t=new Set,r=new Map;for(let n of e){let e=n.sequence,o=r.get(e)??[];o.push(n),r.set(e,o),t.add(e)}return Array.from(t,(e=>r.get(e)))}}function le(e,t){if(!te(e.doseAndRate))return;let r=e.doseAndRate.find((e=>te(e[t])));return te(r)?r[t]:void 0}function ce(e){let{quantity:t,config:r,i18next:n}=e;const{fromFHIRQuantityUnitToString:o,language:a}=r;let s=o({language:a,quantity:t}),i=t.value||1,l=t.comparator,c=0===s.length?n.t("amount.quantity.withoutUnit",{quantity:i}):n.t("amount.quantity.withUnit",{quantity:i,unit:s});return te(l)?`${n.t(`quantityComparator:${l}`)} ${c}`:c}function ue(e){let{config:t,dos:r,i18next:n}=e,o=le(r,"doseQuantity");if(te(o))return n.t("fields.doseQuantity",{quantityText:ce({quantity:o,config:t,i18next:n})})}function de(e){return[e?.unit,e?.code].some(te)}function pe(e,t,r){let n=t.value;if("http://hl7.org/fhir/ValueSet/duration-units"===t.system){let r=t.code;return e.t(`unitsOfTime:withoutCount.${r}`,{count:n})}return r.fromFHIRQuantityUnitToString({language:r.language,quantity:t})}function ge(e){let{range:t,config:r,i18next:n}=e;const{low:o,high:a}=t,s=o?.value,i=a?.value;if(ne(s,i))return;const{prefix:l,unit:c}=function(e){let{range:t,config:r,i18next:n}=e;const{low:o,high:a}=t;let s=a||o;return de(s)?{prefix:"amount.range.withUnit",unit:pe(n,s,r)}:{prefix:"amount.range.withoutUnit",unit:""}}({range:t,config:r,i18next:n});return re(s,i)?n.t(`${l}.lowAndHigh`,{low:s,high:i,unit:c}):te(i)?n.t(`${l}.onlyHigh`,{high:i,unit:c}):n.t(`${l}.onlyLow`,{low:s,unit:c})}function he(e){let{dos:t,config:r,i18next:n}=e,o=le(t,"doseRange");if(!te(o))return;const a=ge({range:o,config:r,i18next:n});return te(a)?n.t("fields.doseRange",{rangeText:a}):void 0}function fe(e){let{dos:t,config:r,i18next:n}=e,o=le(t,"rateQuantity");if(te(o))return n.t("fields.rateQuantity",{quantityText:ce({quantity:o,config:r,i18next:n})})}function me(e){let{dos:t,config:r,i18next:n}=e,o=le(t,"rateRange");if(!te(o))return;const a=ge({range:o,config:r,i18next:n});return te(a)?n.t("fields.rateRange",{rangeText:a}):void 0}function be(e){let{ratio:t,config:r,i18next:n}=e;const{denominator:o,numerator:a}=t;let s=a?.value,i=o?.value;const l=[];if(te(s)){const e=ce({quantity:a,config:r,i18next:n});l.push(e)}if(te(i)){const e=function(e){let{config:t,i18next:r,quantity:n}=e,o=de(n),a=n.value;return o?` ${r.t("amount.ratio.denominatorLinkword",{count:a})} ${1!==a?ce({quantity:n,config:t,i18next:r}):t.fromFHIRQuantityUnitToString({quantity:n,language:t.language})}`:`:${a}`}({config:r,i18next:n,quantity:o});l.push(e)}return l.length>0?l.join(""):void 0}function ve(e){let{dos:t,config:r,i18next:n}=e,o=le(t,"rateRatio");if(!te(o))return;const a=be({config:r,i18next:n,ratio:o});return te(a)?n.t("fields.rateRatio",{ratioText:a}):void 0}function ye(e,t){if(te(e.timing?.repeat))return e.timing.repeat[t]}function xe(e){let{dos:t,i18next:r}=e,n=ye(t,"duration"),o=ye(t,"durationMax"),a=ye(t,"durationUnit");if(te(a))return[te(n)&&r.t("fields.duration",{durationText:r.t(`unitsOfTime:withCount.${a}`,{count:n})}),te(o)&&r.t("fields.durationMax",{durationMaxText:r.t(`unitsOfTime:withCount.${a}`,{count:o})})].filter((e=>!1!==e)).join(" ")}function we(e){let{dos:t,i18next:r}=e,n=ye(t,"frequency"),o=ye(t,"frequencyMax");if(!ne(n,o))return re(n,o)?r.t("fields.frequency.withfrequencyMax",{count:o,frequency:n}):te(o)?r.t("fields.frequencyMax.frequencyMax",{count:o}):r.t("fields.frequency.onlyFrequency",{count:n})}function ke(e){let{dos:t,i18next:r}=e,n=ye(t,"period"),o=ye(t,"periodMax"),a=ye(t,"periodUnit");if(te(a))return re(n,o)?r.t("fields.periodMax.withPeriod",{period:n,count:o,unit:r.t(`unitsOfTime:withoutCount.${a}`,{count:o})}):te(o)?r.t("fields.periodMax.onlyPeriodMax",{count:o,unit:r.t(`unitsOfTime:withoutCount.${a}`,{count:o})}):r.t("fields.period.period",{count:n,unit:r.t(`unitsOfTime:withoutCount.${a}`,{count:n})})}const qe={and:"linkwords.and",then:"linkwords.then"};function Se(e,t,r){void 0===r&&(r="and");const n=t.slice(0,-1).join(", "),o=t.slice(-1).join(""),a=qe[r];return n+(t.length>1?` ${e.t(a)} `:"")+o}function Ee(e,t){if(!te(t)||t<=0)return;let r=(n=t,{d:Math.floor(n/1440),h:Math.floor(n%1440/60),min:n%60});var n;return["d","h","min"].filter((e=>r[e]>0)).map((t=>e.t(`unitsOfTime:withCount.${t}`,{count:r[t]}))).join(" ")}function Le(e,t){if(oe(t))return;const r=t.map((t=>e.t(`eventTiming:${t}`)));return Se(e,r)}function Oe(e){let{dos:t,i18next:r}=e,n=ye(t,"offset"),o=ye(t,"when");if(!ne(n,o))return[Ee(r,n),Le(r,o)].filter(te).join(" ")}function Ae(e){let{dos:t,i18next:r}=e,n=ye(t,"dayOfWeek");if(oe(n))return;const o=n.map((e=>r.t(`daysOfWeek:${e}`))),a=Se(r,o);return r.t("fields.dayOfWeek.dayOfWeek",{count:n.length,dayOfWeek:a})}function De(e){var t=e.split(":");return t.length>2&&"00"===t[2]&&t.pop(),t.join(":")}function Ce(e){let{dos:t,i18next:r}=e,n=ye(t,"timeOfDay");if(oe(n))return;const o=n.map(De),a=Se(r,o);return r.t("fields.timeOfDay",{timeOfDay:a,count:o.length})}function Ne(e,t,r){return Se(e,t.map((e=>r.fromCodeableConceptToString({code:e,language:r.language}))).filter(te))}function Te(e){let{dos:t,config:r,i18next:n}=e,o=t.asNeededBoolean,a=t.asNeeded,s=function(e){let t=e.asNeededCodeableConcept;return e.asNeededFor||(void 0!==t?[t]:[])}(t);return s.length>0?n.t("fields.asNeededFor",{reasons:Ne(n,s,r)}):[o,a].includes(!0)?n.t("fields.asNeeded"):void 0}function Re(e){let{dos:t,config:r,i18next:n}=e,o=ye(t,"boundsDuration");if(!te(o))return;let a=function(e,t,r){let n=t.value;if("http://hl7.org/fhir/ValueSet/duration-units"===t.system){let r=t.code;return e.t(`unitsOfTime:withCount.${r}`,{count:n})}return`${n} ${r.fromFHIRQuantityUnitToString({language:r.language,quantity:t})}`}(n,o,r);return n.t("fields.boundsDuration",{durationText:a})}function je(e){let{dos:t,config:r,i18next:n}=e,o=ye(t,"boundsRange");if(!te(o))return;const a=ge({range:o,config:r,i18next:n});return te(a)?n.t("fields.boundsRange",{rangeText:a}):void 0}function Pe(e){let{dos:t,i18next:r}=e,n=ye(t,"count"),o=ye(t,"countMax");if(!ne(n,o))return re(n,o)?r.t("fields.countMax.countMax",{count:o,low:n}):te(o)?r.t("fields.count.count",{count:o}):r.t("fields.count.count",{count:n})}const Ie={yearOnly:e=>{let{config:t,date:r}=e;return new Intl.DateTimeFormat(t.language,{year:"numeric"}).format(r)},yearAndMonthOnly:e=>{let{config:t,date:r}=e;return new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long"}).format(r)},dateOnly:e=>{let{config:t,date:r}=e;return new Intl.DateTimeFormat(t.language,{...Fe(t.dateTimeFormatOptions)}).format(r)},dateTime:e=>{let{config:t,date:r}=e;return new Intl.DateTimeFormat(t.language,{...Fe(t.dateTimeFormatOptions),...Ue(t.dateTimeFormatOptions)}).format(r)}};function Fe(e){if(te(e.dateStyle))return{dateStyle:e.dateStyle};return{...e,year:"numeric",month:"2-digit",day:"2-digit"}}function Ue(e){if(te(e.timeStyle))return{timeStyle:e.timeStyle};return{...e,hour:"2-digit",minute:"2-digit",second:"2-digit"}}function Ve(e){let t=new Date(e),r=e.includes("T"),n=e.split("-").length-1;return{date:t,hasTimePart:r,hasMonths:n>=1,hasDays:n>=2}}function Be(e){let{config:t,datetimes:r}=e;return r.map(Ve).map((e=>{let{date:r,hasTimePart:n,hasMonths:o,hasDays:a}=e;return Ie[o?a?n?"dateTime":"dateOnly":"yearAndMonthOnly":"yearOnly"]({config:t,date:r})}))}function $e(e){let{config:t,datetime:r}=e;if(!te(r))return;return Be({config:t,datetimes:[r]})[0]}function He(e){let{dos:t,config:r,i18next:n}=e,o=t.timing?.event;if(oe(o))return;let a=Se(n,Be({config:r,datetimes:o}));return n.t("fields.event.event",{count:o.length,event:a})}function Me(e){let{dos:t,config:r,i18next:n}=e;if(!oe(t.additionalInstruction))return Se(n,t.additionalInstruction.map((e=>r.fromCodeableConceptToString({code:e,language:r.language}))).filter(te))}function ze(e){let{dos:t,config:r,i18next:n}=e;if(!te(t.maxDosePerLifetime))return;const o=t.maxDosePerLifetime;return n.t("fields.maxDosePerLifetime",{quantityText:ce({quantity:o,config:r,i18next:n})})}function Ge(e){let{dos:t,config:r,i18next:n}=e;if(!te(t.maxDosePerAdministration))return;const o=t.maxDosePerAdministration;return n.t("fields.maxDosePerAdministration",{quantityText:ce({quantity:o,config:r,i18next:n})})}function _e(e){let{dos:t,config:r,i18next:n}=e;if(!te(t.timing?.repeat?.boundsPeriod))return;const o=t.timing.repeat.boundsPeriod;let a=$e({config:r,datetime:o.start}),s=$e({config:r,datetime:o.end});return re(a,s)?n.t("fields.boundsPeriod.startAndEnd",{start:a,end:s}):te(a)?n.t("fields.boundsPeriod.onlyStart",{start:a}):n.t("fields.boundsPeriod.onlyEnd",{end:s})}function Ke(e){let{dos:t,config:r,i18next:n}=e;if(!te(t.maxDosePerPeriod))return;const o=t.maxDosePerPeriod,a=Array.isArray(o)?o:[o];if(0===a.length)return;const s=a.map((e=>be({config:r,i18next:n,ratio:e}))).filter(te),i=Se(n,s);return n.t("fields.maxDosePerPeriod",{count:a.length,maxDosePerPeriodText:i})}const Je={additionalInstruction:e=>Me(e),asNeeded:e=>Te(e),boundsDuration:e=>Re(e),boundsRange:e=>je(e),boundsPeriod:e=>_e(e),code:e=>{let{dos:t,config:r}=e;return r.fromCodeableConceptToString({language:r.language,code:t.timing?.code})},countCountMax:e=>Pe(e),dayOfWeek:e=>Ae(e),doseQuantity:e=>ue(e),doseRange:e=>he(e),durationDurationMax:e=>xe(e),event:e=>He(e),extension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.extension})},frequencyFrequencyMax:e=>we(e),frequencyFrequencyMaxPeriodPeriodMax:e=>{let t=[we(e),ke(e)].filter(te);return t.length>0?t.join(" "):void 0},maxDosePerAdministration:e=>Ge(e),maxDosePerLifetime:e=>ze(e),maxDosePerPeriod:e=>Ke(e),method:e=>{let{dos:t,config:r}=e;return r.fromCodeableConceptToString({language:r.language,code:t.method})},offsetWhen:e=>Oe(e),patientInstruction:e=>{let{dos:t}=e;return t.patientInstruction},periodPeriodMax:e=>ke(e),rateQuantity:e=>fe(e),rateRange:e=>me(e),rateRatio:e=>ve(e),route:e=>{let{dos:t,config:r}=e;return r.fromCodeableConceptToString({language:r.language,code:t.route})},site:e=>{let{dos:t,config:r}=e;return r.fromCodeableConceptToString({language:r.language,code:t.site})},text:e=>{let{dos:t}=e;return t.text},timeOfDay:e=>Ce(e),timingExtension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.timing?.extension})},timingRepeatExtension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.timing?.repeat?.extension})},modifierExtension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.modifierExtension})},timingModifierExtension:e=>{let{dos:t,config:r}=e;return r.fromExtensionsToString({language:r.language,extensions:t.timing?.modifierExtension})}};function We(e){let{entry:t,...r}=e;return Je[t](r)}class Ye extends ie{constructor(e){super(),this.config={...ae,...e},this.i18nInstance=_.createInstance()}async init(){return await this.i18nInstance.use(ee).init({fallbackLng:"en",lng:this.config.language,ns:["common","daysOfWeek","eventTiming","unitsOfTime","quantityComparator"],defaultNS:"common",...this.config.i18nConfig})}static async build(e){void 0===e&&(e={});const t=new Ye(e);return await t.init(),t}getProperty(e){return this.config[e]}setProperty(e,t){this.config[e]=t}async changeLanguage(e){return this.config.language=e,this.i18nInstance.changeLanguage(e)}getFields(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.map((t=>We({config:this.config,dos:e,entry:t,i18next:this.i18nInstance}))).filter(te).join(this.config.displaySeparator)}fromDosageToText(e){let t=this.config.displayOrder;return this.getFields(e,...t)}fromMultipleDosageToText(e){return this.containsOnlySequentialInstructions(e)?this.convertSequentialDosagesToText(e):this.convertGroupedDosagesToText(e)}convertSequentialDosagesToText(e){const t=e.map((e=>this.fromDosageToText(e)));return Se(this.i18nInstance,t,"then")}convertConcurrentDosagesToText(e){const t=e.map((e=>this.fromDosageToText(e)));return Se(this.i18nInstance,t,"and")}convertGroupedDosagesToText(e){const t=this.groupBySequence(e).map((e=>this.convertConcurrentDosagesToText(e)));return Se(this.i18nInstance,t,"then")}}},85819:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>U});var n=r(96540),o=r(92303),a=r(34164),s=r(26058),i=r(17559),l=r(18426),c=r.n(l);const u=/title=(?<quote>["'])(?<title>.*?)\1/,d=/\{(?<range>[\d,-]+)\}/,p={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},g={...p,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},h=Object.keys(p);function f(e,t){const r=e.map((e=>{const{start:r,end:n}=g[e];return`(?:${r}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${n})`})).join("|");return new RegExp(`^\\s*(?:${r})\\s*$`)}function m(e,t){let r=e.replace(/\n$/,"");const{language:n,magicComments:o,metastring:a}=t;if(a&&d.test(a)){const e=a.match(d).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,n=c()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(n),code:r}}if(void 0===n)return{lineClassNames:{},code:r};const s=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return f(["js","jsBlock"],t);case"jsx":case"tsx":return f(["js","jsBlock","jsx"],t);case"html":return f(["js","jsBlock","html"],t);case"python":case"py":case"bash":return f(["bash"],t);case"markdown":case"md":return f(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return f(["tex"],t);case"lua":case"haskell":case"sql":return f(["lua"],t);case"wasm":return f(["wasm"],t);case"vb":case"vba":case"visual-basic":return f(["vb","rem"],t);case"vbnet":return f(["vbnet","rem"],t);case"batch":return f(["rem"],t);case"basic":return f(["rem","f90"],t);case"fsharp":return f(["js","ml"],t);case"ocaml":case"sml":return f(["ml"],t);case"fortran":return f(["f90"],t);case"cobol":return f(["cobol"],t);default:return f(h,t)}}(n,o),i=r.split("\n"),l=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),u=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:r}=e;return[r,t]}))),p=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:r}=e;return[r.start,t]}))),g=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:r}=e;return[r.end,t]})));for(let c=0;c<i.length;){const e=i[c].match(s);if(!e){c+=1;continue}const t=e.slice(1).find((e=>void 0!==e));u[t]?l[u[t]].range+=`${c},`:p[t]?l[p[t]].start=c:g[t]&&(l[g[t]].range+=`${l[g[t]].start}-${c-1},`),i.splice(c,1)}r=i.join("\n");const m={};return Object.entries(l).forEach((e=>{let[t,{range:r}]=e;c()(r).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:r}}const b={codeBlockContainer:"codeBlockContainer_Ckt0"};var v=r(74848);function y(e){let{as:t,...r}=e;const n=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},r={};return Object.entries(e.plain).forEach((e=>{let[n,o]=e;const a=t[n];a&&"string"==typeof o&&(r[a]=o)})),r}((0,s.A)());return(0,v.jsx)(t,{...r,style:n,className:(0,a.A)(r.className,b.codeBlockContainer,i.G.common.codeBlock)})}const x={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function w(e){let{children:t,className:r}=e;return(0,v.jsx)(y,{as:"pre",tabIndex:0,className:(0,a.A)(x.codeBlockStandalone,"thin-scrollbar",r),children:(0,v.jsx)("code",{className:x.codeBlockLines,children:t})})}var k=r(6342),q=r(89532);const S={attributes:!0,characterData:!0,childList:!0,subtree:!0};function E(e,t){const[r,o]=(0,n.useState)(),a=(0,n.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,n.useEffect)((()=>{a()}),[a]),function(e,t,r){void 0===r&&(r=S);const o=(0,q._q)(t),a=(0,q.Be)(r);(0,n.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,a),()=>t.disconnect()}),[e,o,a])}(r,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),a())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var L=r(71765);const O={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function A(e){let{line:t,classNames:r,showLineNumbers:n,getLineProps:o,getTokenProps:s}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const i=o({line:t,className:(0,a.A)(r,n&&O.codeLine)}),l=t.map(((e,t)=>(0,v.jsx)("span",{...s({token:e})},t)));return(0,v.jsxs)("span",{...i,children:[n?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("span",{className:O.codeLineNumber}),(0,v.jsx)("span",{className:O.codeLineContent,children:l})]}):l,(0,v.jsx)("br",{})]})}var D=r(21312);function C(e){return(0,v.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,v.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function N(e){return(0,v.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,v.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const T={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function R(e){let{code:t,className:r}=e;const[o,s]=(0,n.useState)(!1),i=(0,n.useRef)(void 0),l=(0,n.useCallback)((()=>{!function(e,t){let{target:r=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const n=document.createElement("textarea"),o=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";const a=document.getSelection(),s=a.rangeCount>0&&a.getRangeAt(0);r.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}n.remove(),s&&(a.removeAllRanges(),a.addRange(s)),o&&o.focus()}(t),s(!0),i.current=window.setTimeout((()=>{s(!1)}),1e3)}),[t]);return(0,n.useEffect)((()=>()=>window.clearTimeout(i.current)),[]),(0,v.jsx)("button",{type:"button","aria-label":o?(0,D.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,D.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,D.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.A)("clean-btn",r,T.copyButton,o&&T.copyButtonCopied),onClick:l,children:(0,v.jsxs)("span",{className:T.copyButtonIcons,"aria-hidden":"true",children:[(0,v.jsx)(C,{className:T.copyButtonIcon}),(0,v.jsx)(N,{className:T.copyButtonSuccessIcon})]})})}function j(e){return(0,v.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,v.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const P={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function I(e){let{className:t,onClick:r,isEnabled:n}=e;const o=(0,D.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,v.jsx)("button",{type:"button",onClick:r,className:(0,a.A)("clean-btn",t,n&&P.wordWrapButtonEnabled),"aria-label":o,title:o,children:(0,v.jsx)(j,{className:P.wordWrapButtonIcon,"aria-hidden":"true"})})}function F(e){let{children:t,className:r="",metastring:o,title:i,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:d,magicComments:p}}=(0,k.p)(),g=function(e){return e?.toLowerCase()}(c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(r)??d),h=(0,s.A)(),f=function(){const[e,t]=(0,n.useState)(!1),[r,o]=(0,n.useState)(!1),a=(0,n.useRef)(null),s=(0,n.useCallback)((()=>{const r=a.current.querySelector("code");e?r.removeAttribute("style"):(r.style.whiteSpace="pre-wrap",r.style.overflowWrap="anywhere"),t((e=>!e))}),[a,e]),i=(0,n.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=a.current,r=e>t||a.current.querySelector("code").hasAttribute("style");o(r)}),[a]);return E(a,i),(0,n.useEffect)((()=>{i()}),[e,i]),(0,n.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:a,isEnabled:e,isCodeScrollable:r,toggle:s}}(),b=function(e){return e?.match(u)?.groups.title??""}(o)||i,{lineClassNames:w,code:q}=m(t,{metastring:o,language:g,magicComments:p}),S=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return(0,v.jsxs)(y,{as:"div",className:(0,a.A)(r,g&&!r.includes(`language-${g}`)&&`language-${g}`),children:[b&&(0,v.jsx)("div",{className:x.codeBlockTitle,children:b}),(0,v.jsxs)("div",{className:x.codeBlockContent,children:[(0,v.jsx)(L.f4,{theme:h,code:q,language:g??"text",children:e=>{let{className:t,style:r,tokens:n,getLineProps:o,getTokenProps:s}=e;return(0,v.jsx)("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,a.A)(t,x.codeBlock,"thin-scrollbar"),style:r,children:(0,v.jsx)("code",{className:(0,a.A)(x.codeBlockLines,S&&x.codeBlockLinesWithNumbering),children:n.map(((e,t)=>(0,v.jsx)(A,{line:e,getLineProps:o,getTokenProps:s,classNames:w[t],showLineNumbers:S},t)))})})}}),(0,v.jsxs)("div",{className:x.buttonGroup,children:[(f.isEnabled||f.isCodeScrollable)&&(0,v.jsx)(I,{className:x.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),(0,v.jsx)(R,{className:x.codeButton,code:q})]})]})]})}function U(e){let{children:t,...r}=e;const a=(0,o.A)(),s=function(e){return n.Children.toArray(e).some((e=>(0,n.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof s?F:w;return(0,v.jsx)(i,{...r,children:s},String(a))}},19365:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});r(96540);var n=r(34164);const o={tabItem:"tabItem_Ymn6"};var a=r(74848);function s(e){let{children:t,hidden:r,className:s}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,n.A)(o.tabItem,s),hidden:r,children:t})}},11470:(e,t,r)=>{"use strict";r.d(t,{A:()=>k});var n=r(96540),o=r(34164),a=r(23104),s=r(56347),i=r(205),l=r(57485),c=r(31682),u=r(70679);function d(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:t,children:r}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:r,attributes:n,default:o}}=e;return{value:t,label:r,attributes:n,default:o}}))}(r);return function(e){const t=(0,c.XI)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,r])}function g(e){let{value:t,tabValues:r}=e;return r.some((e=>e.value===t))}function h(e){let{queryString:t=!1,groupId:r}=e;const o=(0,s.W6)(),a=function(e){let{queryString:t=!1,groupId:r}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!r)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:t,groupId:r});return[(0,l.aZ)(a),(0,n.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(o.location.search);t.set(a,e),o.replace({...o.location,search:t.toString()})}),[a,o])]}function f(e){const{defaultValue:t,queryString:r=!1,groupId:o}=e,a=p(e),[s,l]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!g({value:t,tabValues:r}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=r.find((e=>e.default))??r[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:a}))),[c,d]=h({queryString:r,groupId:o}),[f,m]=function(e){let{groupId:t}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(t),[o,a]=(0,u.Dv)(r);return[o,(0,n.useCallback)((e=>{r&&a.set(e)}),[r,a])]}({groupId:o}),b=(()=>{const e=c??f;return g({value:e,tabValues:a})?e:null})();(0,i.A)((()=>{b&&l(b)}),[b]);return{selectedValue:s,selectValue:(0,n.useCallback)((e=>{if(!g({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),d(e),m(e)}),[d,m,a]),tabValues:a}}var m=r(92303);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=r(74848);function y(e){let{className:t,block:r,selectedValue:n,selectValue:s,tabValues:i}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.a_)(),u=e=>{const t=e.currentTarget,r=l.indexOf(t),o=i[r].value;o!==n&&(c(t),s(o))},d=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const r=l.indexOf(e.currentTarget)+1;t=l[r]??l[0];break}case"ArrowLeft":{const r=l.indexOf(e.currentTarget)-1;t=l[r]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":r},t),children:i.map((e=>{let{value:t,label:r,attributes:a}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>l.push(e),onKeyDown:d,onClick:u,...a,className:(0,o.A)("tabs__item",b.tabItem,a?.className,{"tabs__item--active":n===t}),children:r??t},t)}))})}function x(e){let{lazy:t,children:r,selectedValue:a}=e;const s=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===a));return e?(0,n.cloneElement)(e,{className:(0,o.A)("margin-top--md",e.props.className)}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function w(e){const t=f(e);return(0,v.jsxs)("div",{className:(0,o.A)("tabs-container",b.tabList),children:[(0,v.jsx)(y,{...t,...e}),(0,v.jsx)(x,{...t,...e})]})}function k(e){const t=(0,m.A)();return(0,v.jsx)(w,{...e,children:d(e.children)},String(t))}},26058:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(95293),o=r(6342);function a(){const{prism:e}=(0,o.p)(),{colorMode:t}=(0,n.G)(),r=e.theme,a=e.darkTheme||r;return"dark"===t?a:r}},52376:function(e,t,r){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var o=r(64340),a=r(33762),s=r(34826),i=n(n({},o.namedReferences),{all:o.namedReferences.html5});function l(e,t,r){t.lastIndex=0;var n,o=t.exec(e);if(o){n="";var a=0;do{a!==o.index&&(n+=e.substring(a,o.index));var s=o[0];n+=r(s),a=o.index+s.length}while(o=t.exec(e));a!==e.length&&(n+=e.substring(a))}else n=e;return n}var c={specialChars:/[<>'"&]/g,nonAscii:/[<>'"&\u0080-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,nonAsciiPrintable:/[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,nonAsciiPrintableOnly:/[\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,extensive:/[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g},u={mode:"specialChars",level:"all",numeric:"decimal"};t.encode=function(e,t){var r=void 0===t?u:t,n=r.mode,o=void 0===n?"specialChars":n,a=r.numeric,d=void 0===a?"decimal":a,p=r.level;if(!e)return"";var g=c[o],h=i[void 0===p?"all":p].characters,f="hexadecimal"===d;return l(e,g,(function(e){var t=h[e];if(!t){var r=e.length>1?s.getCodePoint(e,0):e.charCodeAt(0);t=(f?"&#x"+r.toString(16):"&#"+r)+";"}return t}))};var d={scope:"body",level:"all"},p=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g,g=/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,h={xml:{strict:p,attribute:g,body:o.bodyRegExps.xml},html4:{strict:p,attribute:g,body:o.bodyRegExps.html4},html5:{strict:p,attribute:g,body:o.bodyRegExps.html5}},f=n(n({},h),{all:h.html5}),m=String.fromCharCode,b=m(65533),v={level:"all"};function y(e,t,r,n){var o=e,i=e[e.length-1];if(r&&"="===i)o=e;else if(n&&";"!==i)o=e;else{var l=t[e];if(l)o=l;else if("&"===e[0]&&"#"===e[1]){var c=e[2],u="x"==c||"X"==c?parseInt(e.substr(3),16):parseInt(e.substr(2));o=u>=1114111?b:u>65535?s.fromCodePoint(u):m(a.numericUnicodeMap[u]||u)}}return o}t.decodeEntity=function(e,t){var r=(void 0===t?v:t).level;return e?y(e,i[void 0===r?"all":r].entities,!1,!1):""},t.decode=function(e,t){var r=void 0===t?d:t,n=r.level,o=void 0===n?"all":n,a=r.scope,s=void 0===a?"xml"===o?"strict":"body":a;if(!e)return"";var c=f[o][s],u=i[o].entities,p="attribute"===s,g="strict"===s;return l(e,c,(function(e){return y(e,u,p,g)}))}},64340:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bodyRegExps={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g},t.namedReferences={xml:{entities:{"<":"<",">":">",""":'"',"'":"'","&":"&"},characters:{"<":"<",">":">",'"':""","'":"'","&":"&"}},html4:{entities:{"'":"'"," ":"\xa0"," ":"\xa0","¡":"\xa1","¡":"\xa1","¢":"\xa2","¢":"\xa2","£":"\xa3","£":"\xa3","¤":"\xa4","¤":"\xa4","¥":"\xa5","¥":"\xa5","¦":"\xa6","¦":"\xa6","§":"\xa7","§":"\xa7","¨":"\xa8","¨":"\xa8","©":"\xa9","©":"\xa9","ª":"\xaa","ª":"\xaa","«":"\xab","«":"\xab","¬":"\xac","¬":"\xac","­":"\xad","­":"\xad","®":"\xae","®":"\xae","¯":"\xaf","¯":"\xaf","°":"\xb0","°":"\xb0","±":"\xb1","±":"\xb1","²":"\xb2","²":"\xb2","³":"\xb3","³":"\xb3","´":"\xb4","´":"\xb4","µ":"\xb5","µ":"\xb5","¶":"\xb6","¶":"\xb6","·":"\xb7","·":"\xb7","¸":"\xb8","¸":"\xb8","¹":"\xb9","¹":"\xb9","º":"\xba","º":"\xba","»":"\xbb","»":"\xbb","¼":"\xbc","¼":"\xbc","½":"\xbd","½":"\xbd","¾":"\xbe","¾":"\xbe","¿":"\xbf","¿":"\xbf","À":"\xc0","À":"\xc0","Á":"\xc1","Á":"\xc1","Â":"\xc2","Â":"\xc2","Ã":"\xc3","Ã":"\xc3","Ä":"\xc4","Ä":"\xc4","Å":"\xc5","Å":"\xc5","Æ":"\xc6","Æ":"\xc6","Ç":"\xc7","Ç":"\xc7","È":"\xc8","È":"\xc8","É":"\xc9","É":"\xc9","Ê":"\xca","Ê":"\xca","Ë":"\xcb","Ë":"\xcb","Ì":"\xcc","Ì":"\xcc","Í":"\xcd","Í":"\xcd","Î":"\xce","Î":"\xce","Ï":"\xcf","Ï":"\xcf","Ð":"\xd0","Ð":"\xd0","Ñ":"\xd1","Ñ":"\xd1","Ò":"\xd2","Ò":"\xd2","Ó":"\xd3","Ó":"\xd3","Ô":"\xd4","Ô":"\xd4","Õ":"\xd5","Õ":"\xd5","Ö":"\xd6","Ö":"\xd6","×":"\xd7","×":"\xd7","Ø":"\xd8","Ø":"\xd8","Ù":"\xd9","Ù":"\xd9","Ú":"\xda","Ú":"\xda","Û":"\xdb","Û":"\xdb","Ü":"\xdc","Ü":"\xdc","Ý":"\xdd","Ý":"\xdd","Þ":"\xde","Þ":"\xde","ß":"\xdf","ß":"\xdf","à":"\xe0","à":"\xe0","á":"\xe1","á":"\xe1","â":"\xe2","â":"\xe2","ã":"\xe3","ã":"\xe3","ä":"\xe4","ä":"\xe4","å":"\xe5","å":"\xe5","æ":"\xe6","æ":"\xe6","ç":"\xe7","ç":"\xe7","è":"\xe8","è":"\xe8","é":"\xe9","é":"\xe9","ê":"\xea","ê":"\xea","ë":"\xeb","ë":"\xeb","ì":"\xec","ì":"\xec","í":"\xed","í":"\xed","î":"\xee","î":"\xee","ï":"\xef","ï":"\xef","ð":"\xf0","ð":"\xf0","ñ":"\xf1","ñ":"\xf1","ò":"\xf2","ò":"\xf2","ó":"\xf3","ó":"\xf3","ô":"\xf4","ô":"\xf4","õ":"\xf5","õ":"\xf5","ö":"\xf6","ö":"\xf6","÷":"\xf7","÷":"\xf7","ø":"\xf8","ø":"\xf8","ù":"\xf9","ù":"\xf9","ú":"\xfa","ú":"\xfa","û":"\xfb","û":"\xfb","ü":"\xfc","ü":"\xfc","ý":"\xfd","ý":"\xfd","þ":"\xfe","þ":"\xfe","ÿ":"\xff","ÿ":"\xff",""":'"',""":'"',"&":"&","&":"&","<":"<","<":"<",">":">",">":">","Œ":"\u0152","œ":"\u0153","Š":"\u0160","š":"\u0161","Ÿ":"\u0178","ˆ":"\u02c6","˜":"\u02dc"," ":"\u2002"," ":"\u2003"," ":"\u2009","‌":"\u200c","‍":"\u200d","‎":"\u200e","‏":"\u200f","–":"\u2013","—":"\u2014","‘":"\u2018","’":"\u2019","‚":"\u201a","“":"\u201c","”":"\u201d","„":"\u201e","†":"\u2020","‡":"\u2021","‰":"\u2030","‹":"\u2039","›":"\u203a","€":"\u20ac","ƒ":"\u0192","Α":"\u0391","Β":"\u0392","Γ":"\u0393","Δ":"\u0394","Ε":"\u0395","Ζ":"\u0396","Η":"\u0397","Θ":"\u0398","Ι":"\u0399","Κ":"\u039a","Λ":"\u039b","Μ":"\u039c","Ν":"\u039d","Ξ":"\u039e","Ο":"\u039f","Π":"\u03a0","Ρ":"\u03a1","Σ":"\u03a3","Τ":"\u03a4","Υ":"\u03a5","Φ":"\u03a6","Χ":"\u03a7","Ψ":"\u03a8","Ω":"\u03a9","α":"\u03b1","β":"\u03b2","γ":"\u03b3","δ":"\u03b4","ε":"\u03b5","ζ":"\u03b6","η":"\u03b7","θ":"\u03b8","ι":"\u03b9","κ":"\u03ba","λ":"\u03bb","μ":"\u03bc","ν":"\u03bd","ξ":"\u03be","ο":"\u03bf","π":"\u03c0","ρ":"\u03c1","ς":"\u03c2","σ":"\u03c3","τ":"\u03c4","υ":"\u03c5","φ":"\u03c6","χ":"\u03c7","ψ":"\u03c8","ω":"\u03c9","ϑ":"\u03d1","ϒ":"\u03d2","ϖ":"\u03d6","•":"\u2022","…":"\u2026","′":"\u2032","″":"\u2033","‾":"\u203e","⁄":"\u2044","℘":"\u2118","ℑ":"\u2111","ℜ":"\u211c","™":"\u2122","ℵ":"\u2135","←":"\u2190","↑":"\u2191","→":"\u2192","↓":"\u2193","↔":"\u2194","↵":"\u21b5","⇐":"\u21d0","⇑":"\u21d1","⇒":"\u21d2","⇓":"\u21d3","⇔":"\u21d4","∀":"\u2200","∂":"\u2202","∃":"\u2203","∅":"\u2205","∇":"\u2207","∈":"\u2208","∉":"\u2209","∋":"\u220b","∏":"\u220f","∑":"\u2211","−":"\u2212","∗":"\u2217","√":"\u221a","∝":"\u221d","∞":"\u221e","∠":"\u2220","∧":"\u2227","∨":"\u2228","∩":"\u2229","∪":"\u222a","∫":"\u222b","∴":"\u2234","∼":"\u223c","≅":"\u2245","≈":"\u2248","≠":"\u2260","≡":"\u2261","≤":"\u2264","≥":"\u2265","⊂":"\u2282","⊃":"\u2283","⊄":"\u2284","⊆":"\u2286","⊇":"\u2287","⊕":"\u2295","⊗":"\u2297","⊥":"\u22a5","⋅":"\u22c5","⌈":"\u2308","⌉":"\u2309","⌊":"\u230a","⌋":"\u230b","⟨":"\u2329","⟩":"\u232a","◊":"\u25ca","♠":"\u2660","♣":"\u2663","♥":"\u2665","♦":"\u2666"},characters:{"'":"'","\xa0":" ","\xa1":"¡","\xa2":"¢","\xa3":"£","\xa4":"¤","\xa5":"¥","\xa6":"¦","\xa7":"§","\xa8":"¨","\xa9":"©","\xaa":"ª","\xab":"«","\xac":"¬","\xad":"­","\xae":"®","\xaf":"¯","\xb0":"°","\xb1":"±","\xb2":"²","\xb3":"³","\xb4":"´","\xb5":"µ","\xb6":"¶","\xb7":"·","\xb8":"¸","\xb9":"¹","\xba":"º","\xbb":"»","\xbc":"¼","\xbd":"½","\xbe":"¾","\xbf":"¿","\xc0":"À","\xc1":"Á","\xc2":"Â","\xc3":"Ã","\xc4":"Ä","\xc5":"Å","\xc6":"Æ","\xc7":"Ç","\xc8":"È","\xc9":"É","\xca":"Ê","\xcb":"Ë","\xcc":"Ì","\xcd":"Í","\xce":"Î","\xcf":"Ï","\xd0":"Ð","\xd1":"Ñ","\xd2":"Ò","\xd3":"Ó","\xd4":"Ô","\xd5":"Õ","\xd6":"Ö","\xd7":"×","\xd8":"Ø","\xd9":"Ù","\xda":"Ú","\xdb":"Û","\xdc":"Ü","\xdd":"Ý","\xde":"Þ","\xdf":"ß","\xe0":"à","\xe1":"á","\xe2":"â","\xe3":"ã","\xe4":"ä","\xe5":"å","\xe6":"æ","\xe7":"ç","\xe8":"è","\xe9":"é","\xea":"ê","\xeb":"ë","\xec":"ì","\xed":"í","\xee":"î","\xef":"ï","\xf0":"ð","\xf1":"ñ","\xf2":"ò","\xf3":"ó","\xf4":"ô","\xf5":"õ","\xf6":"ö","\xf7":"÷","\xf8":"ø","\xf9":"ù","\xfa":"ú","\xfb":"û","\xfc":"ü","\xfd":"ý","\xfe":"þ","\xff":"ÿ",'"':""","&":"&","<":"<",">":">","\u0152":"Œ","\u0153":"œ","\u0160":"Š","\u0161":"š","\u0178":"Ÿ","\u02c6":"ˆ","\u02dc":"˜","\u2002":" ","\u2003":" ","\u2009":" ","\u200c":"‌","\u200d":"‍","\u200e":"‎","\u200f":"‏","\u2013":"–","\u2014":"—","\u2018":"‘","\u2019":"’","\u201a":"‚","\u201c":"“","\u201d":"”","\u201e":"„","\u2020":"†","\u2021":"‡","\u2030":"‰","\u2039":"‹","\u203a":"›","\u20ac":"€","\u0192":"ƒ","\u0391":"Α","\u0392":"Β","\u0393":"Γ","\u0394":"Δ","\u0395":"Ε","\u0396":"Ζ","\u0397":"Η","\u0398":"Θ","\u0399":"Ι","\u039a":"Κ","\u039b":"Λ","\u039c":"Μ","\u039d":"Ν","\u039e":"Ξ","\u039f":"Ο","\u03a0":"Π","\u03a1":"Ρ","\u03a3":"Σ","\u03a4":"Τ","\u03a5":"Υ","\u03a6":"Φ","\u03a7":"Χ","\u03a8":"Ψ","\u03a9":"Ω","\u03b1":"α","\u03b2":"β","\u03b3":"γ","\u03b4":"δ","\u03b5":"ε","\u03b6":"ζ","\u03b7":"η","\u03b8":"θ","\u03b9":"ι","\u03ba":"κ","\u03bb":"λ","\u03bc":"μ","\u03bd":"ν","\u03be":"ξ","\u03bf":"ο","\u03c0":"π","\u03c1":"ρ","\u03c2":"ς","\u03c3":"σ","\u03c4":"τ","\u03c5":"υ","\u03c6":"φ","\u03c7":"χ","\u03c8":"ψ","\u03c9":"ω","\u03d1":"ϑ","\u03d2":"ϒ","\u03d6":"ϖ","\u2022":"•","\u2026":"…","\u2032":"′","\u2033":"″","\u203e":"‾","\u2044":"⁄","\u2118":"℘","\u2111":"ℑ","\u211c":"ℜ","\u2122":"™","\u2135":"ℵ","\u2190":"←","\u2191":"↑","\u2192":"→","\u2193":"↓","\u2194":"↔","\u21b5":"↵","\u21d0":"⇐","\u21d1":"⇑","\u21d2":"⇒","\u21d3":"⇓","\u21d4":"⇔","\u2200":"∀","\u2202":"∂","\u2203":"∃","\u2205":"∅","\u2207":"∇","\u2208":"∈","\u2209":"∉","\u220b":"∋","\u220f":"∏","\u2211":"∑","\u2212":"−","\u2217":"∗","\u221a":"√","\u221d":"∝","\u221e":"∞","\u2220":"∠","\u2227":"∧","\u2228":"∨","\u2229":"∩","\u222a":"∪","\u222b":"∫","\u2234":"∴","\u223c":"∼","\u2245":"≅","\u2248":"≈","\u2260":"≠","\u2261":"≡","\u2264":"≤","\u2265":"≥","\u2282":"⊂","\u2283":"⊃","\u2284":"⊄","\u2286":"⊆","\u2287":"⊇","\u2295":"⊕","\u2297":"⊗","\u22a5":"⊥","\u22c5":"⋅","\u2308":"⌈","\u2309":"⌉","\u230a":"⌊","\u230b":"⌋","\u2329":"⟨","\u232a":"⟩","\u25ca":"◊","\u2660":"♠","\u2663":"♣","\u2665":"♥","\u2666":"♦"}},html5:{entities:{"Æ":"\xc6","Æ":"\xc6","&":"&","&":"&","Á":"\xc1","Á":"\xc1","Ă":"\u0102","Â":"\xc2","Â":"\xc2","А":"\u0410","𝔄":"\ud835\udd04","À":"\xc0","À":"\xc0","Α":"\u0391","Ā":"\u0100","⩓":"\u2a53","Ą":"\u0104","𝔸":"\ud835\udd38","⁡":"\u2061","Å":"\xc5","Å":"\xc5","𝒜":"\ud835\udc9c","≔":"\u2254","Ã":"\xc3","Ã":"\xc3","Ä":"\xc4","Ä":"\xc4","∖":"\u2216","⫧":"\u2ae7","⌆":"\u2306","Б":"\u0411","∵":"\u2235","ℬ":"\u212c","Β":"\u0392","𝔅":"\ud835\udd05","𝔹":"\ud835\udd39","˘":"\u02d8","ℬ":"\u212c","≎":"\u224e","Ч":"\u0427","©":"\xa9","©":"\xa9","Ć":"\u0106","⋒":"\u22d2","ⅅ":"\u2145","ℭ":"\u212d","Č":"\u010c","Ç":"\xc7","Ç":"\xc7","Ĉ":"\u0108","∰":"\u2230","Ċ":"\u010a","¸":"\xb8","·":"\xb7","ℭ":"\u212d","Χ":"\u03a7","⊙":"\u2299","⊖":"\u2296","⊕":"\u2295","⊗":"\u2297","∲":"\u2232","”":"\u201d","’":"\u2019","∷":"\u2237","⩴":"\u2a74","≡":"\u2261","∯":"\u222f","∮":"\u222e","ℂ":"\u2102","∐":"\u2210","∳":"\u2233","⨯":"\u2a2f","𝒞":"\ud835\udc9e","⋓":"\u22d3","≍":"\u224d","ⅅ":"\u2145","⤑":"\u2911","Ђ":"\u0402","Ѕ":"\u0405","Џ":"\u040f","‡":"\u2021","↡":"\u21a1","⫤":"\u2ae4","Ď":"\u010e","Д":"\u0414","∇":"\u2207","Δ":"\u0394","𝔇":"\ud835\udd07","´":"\xb4","˙":"\u02d9","˝":"\u02dd","`":"`","˜":"\u02dc","⋄":"\u22c4","ⅆ":"\u2146","𝔻":"\ud835\udd3b","¨":"\xa8","⃜":"\u20dc","≐":"\u2250","∯":"\u222f","¨":"\xa8","⇓":"\u21d3","⇐":"\u21d0","⇔":"\u21d4","⫤":"\u2ae4","⟸":"\u27f8","⟺":"\u27fa","⟹":"\u27f9","⇒":"\u21d2","⊨":"\u22a8","⇑":"\u21d1","⇕":"\u21d5","∥":"\u2225","↓":"\u2193","⤓":"\u2913","⇵":"\u21f5","̑":"\u0311","⥐":"\u2950","⥞":"\u295e","↽":"\u21bd","⥖":"\u2956","⥟":"\u295f","⇁":"\u21c1","⥗":"\u2957","⊤":"\u22a4","↧":"\u21a7","⇓":"\u21d3","𝒟":"\ud835\udc9f","Đ":"\u0110","Ŋ":"\u014a","Ð":"\xd0","Ð":"\xd0","É":"\xc9","É":"\xc9","Ě":"\u011a","Ê":"\xca","Ê":"\xca","Э":"\u042d","Ė":"\u0116","𝔈":"\ud835\udd08","È":"\xc8","È":"\xc8","∈":"\u2208","Ē":"\u0112","◻":"\u25fb","▫":"\u25ab","Ę":"\u0118","𝔼":"\ud835\udd3c","Ε":"\u0395","⩵":"\u2a75","≂":"\u2242","⇌":"\u21cc","ℰ":"\u2130","⩳":"\u2a73","Η":"\u0397","Ë":"\xcb","Ë":"\xcb","∃":"\u2203","ⅇ":"\u2147","Ф":"\u0424","𝔉":"\ud835\udd09","◼":"\u25fc","▪":"\u25aa","𝔽":"\ud835\udd3d","∀":"\u2200","ℱ":"\u2131","ℱ":"\u2131","Ѓ":"\u0403",">":">",">":">","Γ":"\u0393","Ϝ":"\u03dc","Ğ":"\u011e","Ģ":"\u0122","Ĝ":"\u011c","Г":"\u0413","Ġ":"\u0120","𝔊":"\ud835\udd0a","⋙":"\u22d9","𝔾":"\ud835\udd3e","≥":"\u2265","⋛":"\u22db","≧":"\u2267","⪢":"\u2aa2","≷":"\u2277","⩾":"\u2a7e","≳":"\u2273","𝒢":"\ud835\udca2","≫":"\u226b","Ъ":"\u042a","ˇ":"\u02c7","^":"^","Ĥ":"\u0124","ℌ":"\u210c","ℋ":"\u210b","ℍ":"\u210d","─":"\u2500","ℋ":"\u210b","Ħ":"\u0126","≎":"\u224e","≏":"\u224f","Е":"\u0415","IJ":"\u0132","Ё":"\u0401","Í":"\xcd","Í":"\xcd","Î":"\xce","Î":"\xce","И":"\u0418","İ":"\u0130","ℑ":"\u2111","Ì":"\xcc","Ì":"\xcc","ℑ":"\u2111","Ī":"\u012a","ⅈ":"\u2148","⇒":"\u21d2","∬":"\u222c","∫":"\u222b","⋂":"\u22c2","⁣":"\u2063","⁢":"\u2062","Į":"\u012e","𝕀":"\ud835\udd40","Ι":"\u0399","ℐ":"\u2110","Ĩ":"\u0128","І":"\u0406","Ï":"\xcf","Ï":"\xcf","Ĵ":"\u0134","Й":"\u0419","𝔍":"\ud835\udd0d","𝕁":"\ud835\udd41","𝒥":"\ud835\udca5","Ј":"\u0408","Є":"\u0404","Х":"\u0425","Ќ":"\u040c","Κ":"\u039a","Ķ":"\u0136","К":"\u041a","𝔎":"\ud835\udd0e","𝕂":"\ud835\udd42","𝒦":"\ud835\udca6","Љ":"\u0409","<":"<","<":"<","Ĺ":"\u0139","Λ":"\u039b","⟪":"\u27ea","ℒ":"\u2112","↞":"\u219e","Ľ":"\u013d","Ļ":"\u013b","Л":"\u041b","⟨":"\u27e8","←":"\u2190","⇤":"\u21e4","⇆":"\u21c6","⌈":"\u2308","⟦":"\u27e6","⥡":"\u2961","⇃":"\u21c3","⥙":"\u2959","⌊":"\u230a","↔":"\u2194","⥎":"\u294e","⊣":"\u22a3","↤":"\u21a4","⥚":"\u295a","⊲":"\u22b2","⧏":"\u29cf","⊴":"\u22b4","⥑":"\u2951","⥠":"\u2960","↿":"\u21bf","⥘":"\u2958","↼":"\u21bc","⥒":"\u2952","⇐":"\u21d0","⇔":"\u21d4","⋚":"\u22da","≦":"\u2266","≶":"\u2276","⪡":"\u2aa1","⩽":"\u2a7d","≲":"\u2272","𝔏":"\ud835\udd0f","⋘":"\u22d8","⇚":"\u21da","Ŀ":"\u013f","⟵":"\u27f5","⟷":"\u27f7","⟶":"\u27f6","⟸":"\u27f8","⟺":"\u27fa","⟹":"\u27f9","𝕃":"\ud835\udd43","↙":"\u2199","↘":"\u2198","ℒ":"\u2112","↰":"\u21b0","Ł":"\u0141","≪":"\u226a","⤅":"\u2905","М":"\u041c"," ":"\u205f","ℳ":"\u2133","𝔐":"\ud835\udd10","∓":"\u2213","𝕄":"\ud835\udd44","ℳ":"\u2133","Μ":"\u039c","Њ":"\u040a","Ń":"\u0143","Ň":"\u0147","Ņ":"\u0145","Н":"\u041d","​":"\u200b","​":"\u200b","​":"\u200b","​":"\u200b","≫":"\u226b","≪":"\u226a"," ":"\n","𝔑":"\ud835\udd11","⁠":"\u2060"," ":"\xa0","ℕ":"\u2115","⫬":"\u2aec","≢":"\u2262","≭":"\u226d","∦":"\u2226","∉":"\u2209","≠":"\u2260","≂̸":"\u2242\u0338","∄":"\u2204","≯":"\u226f","≱":"\u2271","≧̸":"\u2267\u0338","≫̸":"\u226b\u0338","≹":"\u2279","⩾̸":"\u2a7e\u0338","≵":"\u2275","≎̸":"\u224e\u0338","≏̸":"\u224f\u0338","⋪":"\u22ea","⧏̸":"\u29cf\u0338","⋬":"\u22ec","≮":"\u226e","≰":"\u2270","≸":"\u2278","≪̸":"\u226a\u0338","⩽̸":"\u2a7d\u0338","≴":"\u2274","⪢̸":"\u2aa2\u0338","⪡̸":"\u2aa1\u0338","⊀":"\u2280","⪯̸":"\u2aaf\u0338","⋠":"\u22e0","∌":"\u220c","⋫":"\u22eb","⧐̸":"\u29d0\u0338","⋭":"\u22ed","⊏̸":"\u228f\u0338","⋢":"\u22e2","⊐̸":"\u2290\u0338","⋣":"\u22e3","⊂⃒":"\u2282\u20d2","⊈":"\u2288","⊁":"\u2281","⪰̸":"\u2ab0\u0338","⋡":"\u22e1","≿̸":"\u227f\u0338","⊃⃒":"\u2283\u20d2","⊉":"\u2289","≁":"\u2241","≄":"\u2244","≇":"\u2247","≉":"\u2249","∤":"\u2224","𝒩":"\ud835\udca9","Ñ":"\xd1","Ñ":"\xd1","Ν":"\u039d","Œ":"\u0152","Ó":"\xd3","Ó":"\xd3","Ô":"\xd4","Ô":"\xd4","О":"\u041e","Ő":"\u0150","𝔒":"\ud835\udd12","Ò":"\xd2","Ò":"\xd2","Ō":"\u014c","Ω":"\u03a9","Ο":"\u039f","𝕆":"\ud835\udd46","“":"\u201c","‘":"\u2018","⩔":"\u2a54","𝒪":"\ud835\udcaa","Ø":"\xd8","Ø":"\xd8","Õ":"\xd5","Õ":"\xd5","⨷":"\u2a37","Ö":"\xd6","Ö":"\xd6","‾":"\u203e","⏞":"\u23de","⎴":"\u23b4","⏜":"\u23dc","∂":"\u2202","П":"\u041f","𝔓":"\ud835\udd13","Φ":"\u03a6","Π":"\u03a0","±":"\xb1","ℌ":"\u210c","ℙ":"\u2119","⪻":"\u2abb","≺":"\u227a","⪯":"\u2aaf","≼":"\u227c","≾":"\u227e","″":"\u2033","∏":"\u220f","∷":"\u2237","∝":"\u221d","𝒫":"\ud835\udcab","Ψ":"\u03a8",""":'"',""":'"',"𝔔":"\ud835\udd14","ℚ":"\u211a","𝒬":"\ud835\udcac","⤐":"\u2910","®":"\xae","®":"\xae","Ŕ":"\u0154","⟫":"\u27eb","↠":"\u21a0","⤖":"\u2916","Ř":"\u0158","Ŗ":"\u0156","Р":"\u0420","ℜ":"\u211c","∋":"\u220b","⇋":"\u21cb","⥯":"\u296f","ℜ":"\u211c","Ρ":"\u03a1","⟩":"\u27e9","→":"\u2192","⇥":"\u21e5","⇄":"\u21c4","⌉":"\u2309","⟧":"\u27e7","⥝":"\u295d","⇂":"\u21c2","⥕":"\u2955","⌋":"\u230b","⊢":"\u22a2","↦":"\u21a6","⥛":"\u295b","⊳":"\u22b3","⧐":"\u29d0","⊵":"\u22b5","⥏":"\u294f","⥜":"\u295c","↾":"\u21be","⥔":"\u2954","⇀":"\u21c0","⥓":"\u2953","⇒":"\u21d2","ℝ":"\u211d","⥰":"\u2970","⇛":"\u21db","ℛ":"\u211b","↱":"\u21b1","⧴":"\u29f4","Щ":"\u0429","Ш":"\u0428","Ь":"\u042c","Ś":"\u015a","⪼":"\u2abc","Š":"\u0160","Ş":"\u015e","Ŝ":"\u015c","С":"\u0421","𝔖":"\ud835\udd16","↓":"\u2193","←":"\u2190","→":"\u2192","↑":"\u2191","Σ":"\u03a3","∘":"\u2218","𝕊":"\ud835\udd4a","√":"\u221a","□":"\u25a1","⊓":"\u2293","⊏":"\u228f","⊑":"\u2291","⊐":"\u2290","⊒":"\u2292","⊔":"\u2294","𝒮":"\ud835\udcae","⋆":"\u22c6","⋐":"\u22d0","⋐":"\u22d0","⊆":"\u2286","≻":"\u227b","⪰":"\u2ab0","≽":"\u227d","≿":"\u227f","∋":"\u220b","∑":"\u2211","⋑":"\u22d1","⊃":"\u2283","⊇":"\u2287","⋑":"\u22d1","Þ":"\xde","Þ":"\xde","™":"\u2122","Ћ":"\u040b","Ц":"\u0426"," ":"\t","Τ":"\u03a4","Ť":"\u0164","Ţ":"\u0162","Т":"\u0422","𝔗":"\ud835\udd17","∴":"\u2234","Θ":"\u0398","  ":"\u205f\u200a"," ":"\u2009","∼":"\u223c","≃":"\u2243","≅":"\u2245","≈":"\u2248","𝕋":"\ud835\udd4b","⃛":"\u20db","𝒯":"\ud835\udcaf","Ŧ":"\u0166","Ú":"\xda","Ú":"\xda","↟":"\u219f","⥉":"\u2949","Ў":"\u040e","Ŭ":"\u016c","Û":"\xdb","Û":"\xdb","У":"\u0423","Ű":"\u0170","𝔘":"\ud835\udd18","Ù":"\xd9","Ù":"\xd9","Ū":"\u016a","_":"_","⏟":"\u23df","⎵":"\u23b5","⏝":"\u23dd","⋃":"\u22c3","⊎":"\u228e","Ų":"\u0172","𝕌":"\ud835\udd4c","↑":"\u2191","⤒":"\u2912","⇅":"\u21c5","↕":"\u2195","⥮":"\u296e","⊥":"\u22a5","↥":"\u21a5","⇑":"\u21d1","⇕":"\u21d5","↖":"\u2196","↗":"\u2197","ϒ":"\u03d2","Υ":"\u03a5","Ů":"\u016e","𝒰":"\ud835\udcb0","Ũ":"\u0168","Ü":"\xdc","Ü":"\xdc","⊫":"\u22ab","⫫":"\u2aeb","В":"\u0412","⊩":"\u22a9","⫦":"\u2ae6","⋁":"\u22c1","‖":"\u2016","‖":"\u2016","∣":"\u2223","|":"|","❘":"\u2758","≀":"\u2240"," ":"\u200a","𝔙":"\ud835\udd19","𝕍":"\ud835\udd4d","𝒱":"\ud835\udcb1","⊪":"\u22aa","Ŵ":"\u0174","⋀":"\u22c0","𝔚":"\ud835\udd1a","𝕎":"\ud835\udd4e","𝒲":"\ud835\udcb2","𝔛":"\ud835\udd1b","Ξ":"\u039e","𝕏":"\ud835\udd4f","𝒳":"\ud835\udcb3","Я":"\u042f","Ї":"\u0407","Ю":"\u042e","Ý":"\xdd","Ý":"\xdd","Ŷ":"\u0176","Ы":"\u042b","𝔜":"\ud835\udd1c","𝕐":"\ud835\udd50","𝒴":"\ud835\udcb4","Ÿ":"\u0178","Ж":"\u0416","Ź":"\u0179","Ž":"\u017d","З":"\u0417","Ż":"\u017b","​":"\u200b","Ζ":"\u0396","ℨ":"\u2128","ℤ":"\u2124","𝒵":"\ud835\udcb5","á":"\xe1","á":"\xe1","ă":"\u0103","∾":"\u223e","∾̳":"\u223e\u0333","∿":"\u223f","â":"\xe2","â":"\xe2","´":"\xb4","´":"\xb4","а":"\u0430","æ":"\xe6","æ":"\xe6","⁡":"\u2061","𝔞":"\ud835\udd1e","à":"\xe0","à":"\xe0","ℵ":"\u2135","ℵ":"\u2135","α":"\u03b1","ā":"\u0101","⨿":"\u2a3f","&":"&","&":"&","∧":"\u2227","⩕":"\u2a55","⩜":"\u2a5c","⩘":"\u2a58","⩚":"\u2a5a","∠":"\u2220","⦤":"\u29a4","∠":"\u2220","∡":"\u2221","⦨":"\u29a8","⦩":"\u29a9","⦪":"\u29aa","⦫":"\u29ab","⦬":"\u29ac","⦭":"\u29ad","⦮":"\u29ae","⦯":"\u29af","∟":"\u221f","⊾":"\u22be","⦝":"\u299d","∢":"\u2222","Å":"\xc5","⍼":"\u237c","ą":"\u0105","𝕒":"\ud835\udd52","≈":"\u2248","⩰":"\u2a70","⩯":"\u2a6f","≊":"\u224a","≋":"\u224b","'":"'","≈":"\u2248","≊":"\u224a","å":"\xe5","å":"\xe5","𝒶":"\ud835\udcb6","*":"*","≈":"\u2248","≍":"\u224d","ã":"\xe3","ã":"\xe3","ä":"\xe4","ä":"\xe4","∳":"\u2233","⨑":"\u2a11","⫭":"\u2aed","≌":"\u224c","϶":"\u03f6","‵":"\u2035","∽":"\u223d","⋍":"\u22cd","⊽":"\u22bd","⌅":"\u2305","⌅":"\u2305","⎵":"\u23b5","⎶":"\u23b6","≌":"\u224c","б":"\u0431","„":"\u201e","∵":"\u2235","∵":"\u2235","⦰":"\u29b0","϶":"\u03f6","ℬ":"\u212c","β":"\u03b2","ℶ":"\u2136","≬":"\u226c","𝔟":"\ud835\udd1f","⋂":"\u22c2","◯":"\u25ef","⋃":"\u22c3","⨀":"\u2a00","⨁":"\u2a01","⨂":"\u2a02","⨆":"\u2a06","★":"\u2605","▽":"\u25bd","△":"\u25b3","⨄":"\u2a04","⋁":"\u22c1","⋀":"\u22c0","⤍":"\u290d","⧫":"\u29eb","▪":"\u25aa","▴":"\u25b4","▾":"\u25be","◂":"\u25c2","▸":"\u25b8","␣":"\u2423","▒":"\u2592","░":"\u2591","▓":"\u2593","█":"\u2588","=⃥":"=\u20e5","≡⃥":"\u2261\u20e5","⌐":"\u2310","𝕓":"\ud835\udd53","⊥":"\u22a5","⊥":"\u22a5","⋈":"\u22c8","╗":"\u2557","╔":"\u2554","╖":"\u2556","╓":"\u2553","═":"\u2550","╦":"\u2566","╩":"\u2569","╤":"\u2564","╧":"\u2567","╝":"\u255d","╚":"\u255a","╜":"\u255c","╙":"\u2559","║":"\u2551","╬":"\u256c","╣":"\u2563","╠":"\u2560","╫":"\u256b","╢":"\u2562","╟":"\u255f","⧉":"\u29c9","╕":"\u2555","╒":"\u2552","┐":"\u2510","┌":"\u250c","─":"\u2500","╥":"\u2565","╨":"\u2568","┬":"\u252c","┴":"\u2534","⊟":"\u229f","⊞":"\u229e","⊠":"\u22a0","╛":"\u255b","╘":"\u2558","┘":"\u2518","└":"\u2514","│":"\u2502","╪":"\u256a","╡":"\u2561","╞":"\u255e","┼":"\u253c","┤":"\u2524","├":"\u251c","‵":"\u2035","˘":"\u02d8","¦":"\xa6","¦":"\xa6","𝒷":"\ud835\udcb7","⁏":"\u204f","∽":"\u223d","⋍":"\u22cd","\":"\\","⧅":"\u29c5","⟈":"\u27c8","•":"\u2022","•":"\u2022","≎":"\u224e","⪮":"\u2aae","≏":"\u224f","≏":"\u224f","ć":"\u0107","∩":"\u2229","⩄":"\u2a44","⩉":"\u2a49","⩋":"\u2a4b","⩇":"\u2a47","⩀":"\u2a40","∩︀":"\u2229\ufe00","⁁":"\u2041","ˇ":"\u02c7","⩍":"\u2a4d","č":"\u010d","ç":"\xe7","ç":"\xe7","ĉ":"\u0109","⩌":"\u2a4c","⩐":"\u2a50","ċ":"\u010b","¸":"\xb8","¸":"\xb8","⦲":"\u29b2","¢":"\xa2","¢":"\xa2","·":"\xb7","𝔠":"\ud835\udd20","ч":"\u0447","✓":"\u2713","✓":"\u2713","χ":"\u03c7","○":"\u25cb","⧃":"\u29c3","ˆ":"\u02c6","≗":"\u2257","↺":"\u21ba","↻":"\u21bb","®":"\xae","Ⓢ":"\u24c8","⊛":"\u229b","⊚":"\u229a","⊝":"\u229d","≗":"\u2257","⨐":"\u2a10","⫯":"\u2aef","⧂":"\u29c2","♣":"\u2663","♣":"\u2663",":":":","≔":"\u2254","≔":"\u2254",",":",","@":"@","∁":"\u2201","∘":"\u2218","∁":"\u2201","ℂ":"\u2102","≅":"\u2245","⩭":"\u2a6d","∮":"\u222e","𝕔":"\ud835\udd54","∐":"\u2210","©":"\xa9","©":"\xa9","℗":"\u2117","↵":"\u21b5","✗":"\u2717","𝒸":"\ud835\udcb8","⫏":"\u2acf","⫑":"\u2ad1","⫐":"\u2ad0","⫒":"\u2ad2","⋯":"\u22ef","⤸":"\u2938","⤵":"\u2935","⋞":"\u22de","⋟":"\u22df","↶":"\u21b6","⤽":"\u293d","∪":"\u222a","⩈":"\u2a48","⩆":"\u2a46","⩊":"\u2a4a","⊍":"\u228d","⩅":"\u2a45","∪︀":"\u222a\ufe00","↷":"\u21b7","⤼":"\u293c","⋞":"\u22de","⋟":"\u22df","⋎":"\u22ce","⋏":"\u22cf","¤":"\xa4","¤":"\xa4","↶":"\u21b6","↷":"\u21b7","⋎":"\u22ce","⋏":"\u22cf","∲":"\u2232","∱":"\u2231","⌭":"\u232d","⇓":"\u21d3","⥥":"\u2965","†":"\u2020","ℸ":"\u2138","↓":"\u2193","‐":"\u2010","⊣":"\u22a3","⤏":"\u290f","˝":"\u02dd","ď":"\u010f","д":"\u0434","ⅆ":"\u2146","‡":"\u2021","⇊":"\u21ca","⩷":"\u2a77","°":"\xb0","°":"\xb0","δ":"\u03b4","⦱":"\u29b1","⥿":"\u297f","𝔡":"\ud835\udd21","⇃":"\u21c3","⇂":"\u21c2","⋄":"\u22c4","⋄":"\u22c4","♦":"\u2666","♦":"\u2666","¨":"\xa8","ϝ":"\u03dd","⋲":"\u22f2","÷":"\xf7","÷":"\xf7","÷":"\xf7","⋇":"\u22c7","⋇":"\u22c7","ђ":"\u0452","⌞":"\u231e","⌍":"\u230d","$":"$","𝕕":"\ud835\udd55","˙":"\u02d9","≐":"\u2250","≑":"\u2251","∸":"\u2238","∔":"\u2214","⊡":"\u22a1","⌆":"\u2306","↓":"\u2193","⇊":"\u21ca","⇃":"\u21c3","⇂":"\u21c2","⤐":"\u2910","⌟":"\u231f","⌌":"\u230c","𝒹":"\ud835\udcb9","ѕ":"\u0455","⧶":"\u29f6","đ":"\u0111","⋱":"\u22f1","▿":"\u25bf","▾":"\u25be","⇵":"\u21f5","⥯":"\u296f","⦦":"\u29a6","џ":"\u045f","⟿":"\u27ff","⩷":"\u2a77","≑":"\u2251","é":"\xe9","é":"\xe9","⩮":"\u2a6e","ě":"\u011b","≖":"\u2256","ê":"\xea","ê":"\xea","≕":"\u2255","э":"\u044d","ė":"\u0117","ⅇ":"\u2147","≒":"\u2252","𝔢":"\ud835\udd22","⪚":"\u2a9a","è":"\xe8","è":"\xe8","⪖":"\u2a96","⪘":"\u2a98","⪙":"\u2a99","⏧":"\u23e7","ℓ":"\u2113","⪕":"\u2a95","⪗":"\u2a97","ē":"\u0113","∅":"\u2205","∅":"\u2205","∅":"\u2205"," ":"\u2004"," ":"\u2005"," ":"\u2003","ŋ":"\u014b"," ":"\u2002","ę":"\u0119","𝕖":"\ud835\udd56","⋕":"\u22d5","⧣":"\u29e3","⩱":"\u2a71","ε":"\u03b5","ε":"\u03b5","ϵ":"\u03f5","≖":"\u2256","≕":"\u2255","≂":"\u2242","⪖":"\u2a96","⪕":"\u2a95","=":"=","≟":"\u225f","≡":"\u2261","⩸":"\u2a78","⧥":"\u29e5","≓":"\u2253","⥱":"\u2971","ℯ":"\u212f","≐":"\u2250","≂":"\u2242","η":"\u03b7","ð":"\xf0","ð":"\xf0","ë":"\xeb","ë":"\xeb","€":"\u20ac","!":"!","∃":"\u2203","ℰ":"\u2130","ⅇ":"\u2147","≒":"\u2252","ф":"\u0444","♀":"\u2640","ffi":"\ufb03","ff":"\ufb00","ffl":"\ufb04","𝔣":"\ud835\udd23","fi":"\ufb01","fj":"fj","♭":"\u266d","fl":"\ufb02","▱":"\u25b1","ƒ":"\u0192","𝕗":"\ud835\udd57","∀":"\u2200","⋔":"\u22d4","⫙":"\u2ad9","⨍":"\u2a0d","½":"\xbd","½":"\xbd","⅓":"\u2153","¼":"\xbc","¼":"\xbc","⅕":"\u2155","⅙":"\u2159","⅛":"\u215b","⅔":"\u2154","⅖":"\u2156","¾":"\xbe","¾":"\xbe","⅗":"\u2157","⅜":"\u215c","⅘":"\u2158","⅚":"\u215a","⅝":"\u215d","⅞":"\u215e","⁄":"\u2044","⌢":"\u2322","𝒻":"\ud835\udcbb","≧":"\u2267","⪌":"\u2a8c","ǵ":"\u01f5","γ":"\u03b3","ϝ":"\u03dd","⪆":"\u2a86","ğ":"\u011f","ĝ":"\u011d","г":"\u0433","ġ":"\u0121","≥":"\u2265","⋛":"\u22db","≥":"\u2265","≧":"\u2267","⩾":"\u2a7e","⩾":"\u2a7e","⪩":"\u2aa9","⪀":"\u2a80","⪂":"\u2a82","⪄":"\u2a84","⋛︀":"\u22db\ufe00","⪔":"\u2a94","𝔤":"\ud835\udd24","≫":"\u226b","⋙":"\u22d9","ℷ":"\u2137","ѓ":"\u0453","≷":"\u2277","⪒":"\u2a92","⪥":"\u2aa5","⪤":"\u2aa4","≩":"\u2269","⪊":"\u2a8a","⪊":"\u2a8a","⪈":"\u2a88","⪈":"\u2a88","≩":"\u2269","⋧":"\u22e7","𝕘":"\ud835\udd58","`":"`","ℊ":"\u210a","≳":"\u2273","⪎":"\u2a8e","⪐":"\u2a90",">":">",">":">","⪧":"\u2aa7","⩺":"\u2a7a","⋗":"\u22d7","⦕":"\u2995","⩼":"\u2a7c","⪆":"\u2a86","⥸":"\u2978","⋗":"\u22d7","⋛":"\u22db","⪌":"\u2a8c","≷":"\u2277","≳":"\u2273","≩︀":"\u2269\ufe00","≩︀":"\u2269\ufe00","⇔":"\u21d4"," ":"\u200a","½":"\xbd","ℋ":"\u210b","ъ":"\u044a","↔":"\u2194","⥈":"\u2948","↭":"\u21ad","ℏ":"\u210f","ĥ":"\u0125","♥":"\u2665","♥":"\u2665","…":"\u2026","⊹":"\u22b9","𝔥":"\ud835\udd25","⤥":"\u2925","⤦":"\u2926","⇿":"\u21ff","∻":"\u223b","↩":"\u21a9","↪":"\u21aa","𝕙":"\ud835\udd59","―":"\u2015","𝒽":"\ud835\udcbd","ℏ":"\u210f","ħ":"\u0127","⁃":"\u2043","‐":"\u2010","í":"\xed","í":"\xed","⁣":"\u2063","î":"\xee","î":"\xee","и":"\u0438","е":"\u0435","¡":"\xa1","¡":"\xa1","⇔":"\u21d4","𝔦":"\ud835\udd26","ì":"\xec","ì":"\xec","ⅈ":"\u2148","⨌":"\u2a0c","∭":"\u222d","⧜":"\u29dc","℩":"\u2129","ij":"\u0133","ī":"\u012b","ℑ":"\u2111","ℐ":"\u2110","ℑ":"\u2111","ı":"\u0131","⊷":"\u22b7","Ƶ":"\u01b5","∈":"\u2208","℅":"\u2105","∞":"\u221e","⧝":"\u29dd","ı":"\u0131","∫":"\u222b","⊺":"\u22ba","ℤ":"\u2124","⊺":"\u22ba","⨗":"\u2a17","⨼":"\u2a3c","ё":"\u0451","į":"\u012f","𝕚":"\ud835\udd5a","ι":"\u03b9","⨼":"\u2a3c","¿":"\xbf","¿":"\xbf","𝒾":"\ud835\udcbe","∈":"\u2208","⋹":"\u22f9","⋵":"\u22f5","⋴":"\u22f4","⋳":"\u22f3","∈":"\u2208","⁢":"\u2062","ĩ":"\u0129","і":"\u0456","ï":"\xef","ï":"\xef","ĵ":"\u0135","й":"\u0439","𝔧":"\ud835\udd27","ȷ":"\u0237","𝕛":"\ud835\udd5b","𝒿":"\ud835\udcbf","ј":"\u0458","є":"\u0454","κ":"\u03ba","ϰ":"\u03f0","ķ":"\u0137","к":"\u043a","𝔨":"\ud835\udd28","ĸ":"\u0138","х":"\u0445","ќ":"\u045c","𝕜":"\ud835\udd5c","𝓀":"\ud835\udcc0","⇚":"\u21da","⇐":"\u21d0","⤛":"\u291b","⤎":"\u290e","≦":"\u2266","⪋":"\u2a8b","⥢":"\u2962","ĺ":"\u013a","⦴":"\u29b4","ℒ":"\u2112","λ":"\u03bb","⟨":"\u27e8","⦑":"\u2991","⟨":"\u27e8","⪅":"\u2a85","«":"\xab","«":"\xab","←":"\u2190","⇤":"\u21e4","⤟":"\u291f","⤝":"\u291d","↩":"\u21a9","↫":"\u21ab","⤹":"\u2939","⥳":"\u2973","↢":"\u21a2","⪫":"\u2aab","⤙":"\u2919","⪭":"\u2aad","⪭︀":"\u2aad\ufe00","⤌":"\u290c","❲":"\u2772","{":"{","[":"[","⦋":"\u298b","⦏":"\u298f","⦍":"\u298d","ľ":"\u013e","ļ":"\u013c","⌈":"\u2308","{":"{","л":"\u043b","⤶":"\u2936","“":"\u201c","„":"\u201e","⥧":"\u2967","⥋":"\u294b","↲":"\u21b2","≤":"\u2264","←":"\u2190","↢":"\u21a2","↽":"\u21bd","↼":"\u21bc","⇇":"\u21c7","↔":"\u2194","⇆":"\u21c6","⇋":"\u21cb","↭":"\u21ad","⋋":"\u22cb","⋚":"\u22da","≤":"\u2264","≦":"\u2266","⩽":"\u2a7d","⩽":"\u2a7d","⪨":"\u2aa8","⩿":"\u2a7f","⪁":"\u2a81","⪃":"\u2a83","⋚︀":"\u22da\ufe00","⪓":"\u2a93","⪅":"\u2a85","⋖":"\u22d6","⋚":"\u22da","⪋":"\u2a8b","≶":"\u2276","≲":"\u2272","⥼":"\u297c","⌊":"\u230a","𝔩":"\ud835\udd29","≶":"\u2276","⪑":"\u2a91","↽":"\u21bd","↼":"\u21bc","⥪":"\u296a","▄":"\u2584","љ":"\u0459","≪":"\u226a","⇇":"\u21c7","⌞":"\u231e","⥫":"\u296b","◺":"\u25fa","ŀ":"\u0140","⎰":"\u23b0","⎰":"\u23b0","≨":"\u2268","⪉":"\u2a89","⪉":"\u2a89","⪇":"\u2a87","⪇":"\u2a87","≨":"\u2268","⋦":"\u22e6","⟬":"\u27ec","⇽":"\u21fd","⟦":"\u27e6","⟵":"\u27f5","⟷":"\u27f7","⟼":"\u27fc","⟶":"\u27f6","↫":"\u21ab","↬":"\u21ac","⦅":"\u2985","𝕝":"\ud835\udd5d","⨭":"\u2a2d","⨴":"\u2a34","∗":"\u2217","_":"_","◊":"\u25ca","◊":"\u25ca","⧫":"\u29eb","(":"(","⦓":"\u2993","⇆":"\u21c6","⌟":"\u231f","⇋":"\u21cb","⥭":"\u296d","‎":"\u200e","⊿":"\u22bf","‹":"\u2039","𝓁":"\ud835\udcc1","↰":"\u21b0","≲":"\u2272","⪍":"\u2a8d","⪏":"\u2a8f","[":"[","‘":"\u2018","‚":"\u201a","ł":"\u0142","<":"<","<":"<","⪦":"\u2aa6","⩹":"\u2a79","⋖":"\u22d6","⋋":"\u22cb","⋉":"\u22c9","⥶":"\u2976","⩻":"\u2a7b","⦖":"\u2996","◃":"\u25c3","⊴":"\u22b4","◂":"\u25c2","⥊":"\u294a","⥦":"\u2966","≨︀":"\u2268\ufe00","≨︀":"\u2268\ufe00","∺":"\u223a","¯":"\xaf","¯":"\xaf","♂":"\u2642","✠":"\u2720","✠":"\u2720","↦":"\u21a6","↦":"\u21a6","↧":"\u21a7","↤":"\u21a4","↥":"\u21a5","▮":"\u25ae","⨩":"\u2a29","м":"\u043c","—":"\u2014","∡":"\u2221","𝔪":"\ud835\udd2a","℧":"\u2127","µ":"\xb5","µ":"\xb5","∣":"\u2223","*":"*","⫰":"\u2af0","·":"\xb7","·":"\xb7","−":"\u2212","⊟":"\u229f","∸":"\u2238","⨪":"\u2a2a","⫛":"\u2adb","…":"\u2026","∓":"\u2213","⊧":"\u22a7","𝕞":"\ud835\udd5e","∓":"\u2213","𝓂":"\ud835\udcc2","∾":"\u223e","μ":"\u03bc","⊸":"\u22b8","⊸":"\u22b8","⋙̸":"\u22d9\u0338","≫⃒":"\u226b\u20d2","≫̸":"\u226b\u0338","⇍":"\u21cd","⇎":"\u21ce","⋘̸":"\u22d8\u0338","≪⃒":"\u226a\u20d2","≪̸":"\u226a\u0338","⇏":"\u21cf","⊯":"\u22af","⊮":"\u22ae","∇":"\u2207","ń":"\u0144","∠⃒":"\u2220\u20d2","≉":"\u2249","⩰̸":"\u2a70\u0338","≋̸":"\u224b\u0338","ʼn":"\u0149","≉":"\u2249","♮":"\u266e","♮":"\u266e","ℕ":"\u2115"," ":"\xa0"," ":"\xa0","≎̸":"\u224e\u0338","≏̸":"\u224f\u0338","⩃":"\u2a43","ň":"\u0148","ņ":"\u0146","≇":"\u2247","⩭̸":"\u2a6d\u0338","⩂":"\u2a42","н":"\u043d","–":"\u2013","≠":"\u2260","⇗":"\u21d7","⤤":"\u2924","↗":"\u2197","↗":"\u2197","≐̸":"\u2250\u0338","≢":"\u2262","⤨":"\u2928","≂̸":"\u2242\u0338","∄":"\u2204","∄":"\u2204","𝔫":"\ud835\udd2b","≧̸":"\u2267\u0338","≱":"\u2271","≱":"\u2271","≧̸":"\u2267\u0338","⩾̸":"\u2a7e\u0338","⩾̸":"\u2a7e\u0338","≵":"\u2275","≯":"\u226f","≯":"\u226f","⇎":"\u21ce","↮":"\u21ae","⫲":"\u2af2","∋":"\u220b","⋼":"\u22fc","⋺":"\u22fa","∋":"\u220b","њ":"\u045a","⇍":"\u21cd","≦̸":"\u2266\u0338","↚":"\u219a","‥":"\u2025","≰":"\u2270","↚":"\u219a","↮":"\u21ae","≰":"\u2270","≦̸":"\u2266\u0338","⩽̸":"\u2a7d\u0338","⩽̸":"\u2a7d\u0338","≮":"\u226e","≴":"\u2274","≮":"\u226e","⋪":"\u22ea","⋬":"\u22ec","∤":"\u2224","𝕟":"\ud835\udd5f","¬":"\xac","¬":"\xac","∉":"\u2209","⋹̸":"\u22f9\u0338","⋵̸":"\u22f5\u0338","∉":"\u2209","⋷":"\u22f7","⋶":"\u22f6","∌":"\u220c","∌":"\u220c","⋾":"\u22fe","⋽":"\u22fd","∦":"\u2226","∦":"\u2226","⫽⃥":"\u2afd\u20e5","∂̸":"\u2202\u0338","⨔":"\u2a14","⊀":"\u2280","⋠":"\u22e0","⪯̸":"\u2aaf\u0338","⊀":"\u2280","⪯̸":"\u2aaf\u0338","⇏":"\u21cf","↛":"\u219b","⤳̸":"\u2933\u0338","↝̸":"\u219d\u0338","↛":"\u219b","⋫":"\u22eb","⋭":"\u22ed","⊁":"\u2281","⋡":"\u22e1","⪰̸":"\u2ab0\u0338","𝓃":"\ud835\udcc3","∤":"\u2224","∦":"\u2226","≁":"\u2241","≄":"\u2244","≄":"\u2244","∤":"\u2224","∦":"\u2226","⋢":"\u22e2","⋣":"\u22e3","⊄":"\u2284","⫅̸":"\u2ac5\u0338","⊈":"\u2288","⊂⃒":"\u2282\u20d2","⊈":"\u2288","⫅̸":"\u2ac5\u0338","⊁":"\u2281","⪰̸":"\u2ab0\u0338","⊅":"\u2285","⫆̸":"\u2ac6\u0338","⊉":"\u2289","⊃⃒":"\u2283\u20d2","⊉":"\u2289","⫆̸":"\u2ac6\u0338","≹":"\u2279","ñ":"\xf1","ñ":"\xf1","≸":"\u2278","⋪":"\u22ea","⋬":"\u22ec","⋫":"\u22eb","⋭":"\u22ed","ν":"\u03bd","#":"#","№":"\u2116"," ":"\u2007","⊭":"\u22ad","⤄":"\u2904","≍⃒":"\u224d\u20d2","⊬":"\u22ac","≥⃒":"\u2265\u20d2",">⃒":">\u20d2","⧞":"\u29de","⤂":"\u2902","≤⃒":"\u2264\u20d2","<⃒":"<\u20d2","⊴⃒":"\u22b4\u20d2","⤃":"\u2903","⊵⃒":"\u22b5\u20d2","∼⃒":"\u223c\u20d2","⇖":"\u21d6","⤣":"\u2923","↖":"\u2196","↖":"\u2196","⤧":"\u2927","Ⓢ":"\u24c8","ó":"\xf3","ó":"\xf3","⊛":"\u229b","⊚":"\u229a","ô":"\xf4","ô":"\xf4","о":"\u043e","⊝":"\u229d","ő":"\u0151","⨸":"\u2a38","⊙":"\u2299","⦼":"\u29bc","œ":"\u0153","⦿":"\u29bf","𝔬":"\ud835\udd2c","˛":"\u02db","ò":"\xf2","ò":"\xf2","⧁":"\u29c1","⦵":"\u29b5","Ω":"\u03a9","∮":"\u222e","↺":"\u21ba","⦾":"\u29be","⦻":"\u29bb","‾":"\u203e","⧀":"\u29c0","ō":"\u014d","ω":"\u03c9","ο":"\u03bf","⦶":"\u29b6","⊖":"\u2296","𝕠":"\ud835\udd60","⦷":"\u29b7","⦹":"\u29b9","⊕":"\u2295","∨":"\u2228","↻":"\u21bb","⩝":"\u2a5d","ℴ":"\u2134","ℴ":"\u2134","ª":"\xaa","ª":"\xaa","º":"\xba","º":"\xba","⊶":"\u22b6","⩖":"\u2a56","⩗":"\u2a57","⩛":"\u2a5b","ℴ":"\u2134","ø":"\xf8","ø":"\xf8","⊘":"\u2298","õ":"\xf5","õ":"\xf5","⊗":"\u2297","⨶":"\u2a36","ö":"\xf6","ö":"\xf6","⌽":"\u233d","∥":"\u2225","¶":"\xb6","¶":"\xb6","∥":"\u2225","⫳":"\u2af3","⫽":"\u2afd","∂":"\u2202","п":"\u043f","%":"%",".":".","‰":"\u2030","⊥":"\u22a5","‱":"\u2031","𝔭":"\ud835\udd2d","φ":"\u03c6","ϕ":"\u03d5","ℳ":"\u2133","☎":"\u260e","π":"\u03c0","⋔":"\u22d4","ϖ":"\u03d6","ℏ":"\u210f","ℎ":"\u210e","ℏ":"\u210f","+":"+","⨣":"\u2a23","⊞":"\u229e","⨢":"\u2a22","∔":"\u2214","⨥":"\u2a25","⩲":"\u2a72","±":"\xb1","±":"\xb1","⨦":"\u2a26","⨧":"\u2a27","±":"\xb1","⨕":"\u2a15","𝕡":"\ud835\udd61","£":"\xa3","£":"\xa3","≺":"\u227a","⪳":"\u2ab3","⪷":"\u2ab7","≼":"\u227c","⪯":"\u2aaf","≺":"\u227a","⪷":"\u2ab7","≼":"\u227c","⪯":"\u2aaf","⪹":"\u2ab9","⪵":"\u2ab5","⋨":"\u22e8","≾":"\u227e","′":"\u2032","ℙ":"\u2119","⪵":"\u2ab5","⪹":"\u2ab9","⋨":"\u22e8","∏":"\u220f","⌮":"\u232e","⌒":"\u2312","⌓":"\u2313","∝":"\u221d","∝":"\u221d","≾":"\u227e","⊰":"\u22b0","𝓅":"\ud835\udcc5","ψ":"\u03c8"," ":"\u2008","𝔮":"\ud835\udd2e","⨌":"\u2a0c","𝕢":"\ud835\udd62","⁗":"\u2057","𝓆":"\ud835\udcc6","ℍ":"\u210d","⨖":"\u2a16","?":"?","≟":"\u225f",""":'"',""":'"',"⇛":"\u21db","⇒":"\u21d2","⤜":"\u291c","⤏":"\u290f","⥤":"\u2964","∽̱":"\u223d\u0331","ŕ":"\u0155","√":"\u221a","⦳":"\u29b3","⟩":"\u27e9","⦒":"\u2992","⦥":"\u29a5","⟩":"\u27e9","»":"\xbb","»":"\xbb","→":"\u2192","⥵":"\u2975","⇥":"\u21e5","⤠":"\u2920","⤳":"\u2933","⤞":"\u291e","↪":"\u21aa","↬":"\u21ac","⥅":"\u2945","⥴":"\u2974","↣":"\u21a3","↝":"\u219d","⤚":"\u291a","∶":"\u2236","ℚ":"\u211a","⤍":"\u290d","❳":"\u2773","}":"}","]":"]","⦌":"\u298c","⦎":"\u298e","⦐":"\u2990","ř":"\u0159","ŗ":"\u0157","⌉":"\u2309","}":"}","р":"\u0440","⤷":"\u2937","⥩":"\u2969","”":"\u201d","”":"\u201d","↳":"\u21b3","ℜ":"\u211c","ℛ":"\u211b","ℜ":"\u211c","ℝ":"\u211d","▭":"\u25ad","®":"\xae","®":"\xae","⥽":"\u297d","⌋":"\u230b","𝔯":"\ud835\udd2f","⇁":"\u21c1","⇀":"\u21c0","⥬":"\u296c","ρ":"\u03c1","ϱ":"\u03f1","→":"\u2192","↣":"\u21a3","⇁":"\u21c1","⇀":"\u21c0","⇄":"\u21c4","⇌":"\u21cc","⇉":"\u21c9","↝":"\u219d","⋌":"\u22cc","˚":"\u02da","≓":"\u2253","⇄":"\u21c4","⇌":"\u21cc","‏":"\u200f","⎱":"\u23b1","⎱":"\u23b1","⫮":"\u2aee","⟭":"\u27ed","⇾":"\u21fe","⟧":"\u27e7","⦆":"\u2986","𝕣":"\ud835\udd63","⨮":"\u2a2e","⨵":"\u2a35",")":")","⦔":"\u2994","⨒":"\u2a12","⇉":"\u21c9","›":"\u203a","𝓇":"\ud835\udcc7","↱":"\u21b1","]":"]","’":"\u2019","’":"\u2019","⋌":"\u22cc","⋊":"\u22ca","▹":"\u25b9","⊵":"\u22b5","▸":"\u25b8","⧎":"\u29ce","⥨":"\u2968","℞":"\u211e","ś":"\u015b","‚":"\u201a","≻":"\u227b","⪴":"\u2ab4","⪸":"\u2ab8","š":"\u0161","≽":"\u227d","⪰":"\u2ab0","ş":"\u015f","ŝ":"\u015d","⪶":"\u2ab6","⪺":"\u2aba","⋩":"\u22e9","⨓":"\u2a13","≿":"\u227f","с":"\u0441","⋅":"\u22c5","⊡":"\u22a1","⩦":"\u2a66","⇘":"\u21d8","⤥":"\u2925","↘":"\u2198","↘":"\u2198","§":"\xa7","§":"\xa7",";":";","⤩":"\u2929","∖":"\u2216","∖":"\u2216","✶":"\u2736","𝔰":"\ud835\udd30","⌢":"\u2322","♯":"\u266f","щ":"\u0449","ш":"\u0448","∣":"\u2223","∥":"\u2225","­":"\xad","­":"\xad","σ":"\u03c3","ς":"\u03c2","ς":"\u03c2","∼":"\u223c","⩪":"\u2a6a","≃":"\u2243","≃":"\u2243","⪞":"\u2a9e","⪠":"\u2aa0","⪝":"\u2a9d","⪟":"\u2a9f","≆":"\u2246","⨤":"\u2a24","⥲":"\u2972","←":"\u2190","∖":"\u2216","⨳":"\u2a33","⧤":"\u29e4","∣":"\u2223","⌣":"\u2323","⪪":"\u2aaa","⪬":"\u2aac","⪬︀":"\u2aac\ufe00","ь":"\u044c","/":"/","⧄":"\u29c4","⌿":"\u233f","𝕤":"\ud835\udd64","♠":"\u2660","♠":"\u2660","∥":"\u2225","⊓":"\u2293","⊓︀":"\u2293\ufe00","⊔":"\u2294","⊔︀":"\u2294\ufe00","⊏":"\u228f","⊑":"\u2291","⊏":"\u228f","⊑":"\u2291","⊐":"\u2290","⊒":"\u2292","⊐":"\u2290","⊒":"\u2292","□":"\u25a1","□":"\u25a1","▪":"\u25aa","▪":"\u25aa","→":"\u2192","𝓈":"\ud835\udcc8","∖":"\u2216","⌣":"\u2323","⋆":"\u22c6","☆":"\u2606","★":"\u2605","ϵ":"\u03f5","ϕ":"\u03d5","¯":"\xaf","⊂":"\u2282","⫅":"\u2ac5","⪽":"\u2abd","⊆":"\u2286","⫃":"\u2ac3","⫁":"\u2ac1","⫋":"\u2acb","⊊":"\u228a","⪿":"\u2abf","⥹":"\u2979","⊂":"\u2282","⊆":"\u2286","⫅":"\u2ac5","⊊":"\u228a","⫋":"\u2acb","⫇":"\u2ac7","⫕":"\u2ad5","⫓":"\u2ad3","≻":"\u227b","⪸":"\u2ab8","≽":"\u227d","⪰":"\u2ab0","⪺":"\u2aba","⪶":"\u2ab6","⋩":"\u22e9","≿":"\u227f","∑":"\u2211","♪":"\u266a","¹":"\xb9","¹":"\xb9","²":"\xb2","²":"\xb2","³":"\xb3","³":"\xb3","⊃":"\u2283","⫆":"\u2ac6","⪾":"\u2abe","⫘":"\u2ad8","⊇":"\u2287","⫄":"\u2ac4","⟉":"\u27c9","⫗":"\u2ad7","⥻":"\u297b","⫂":"\u2ac2","⫌":"\u2acc","⊋":"\u228b","⫀":"\u2ac0","⊃":"\u2283","⊇":"\u2287","⫆":"\u2ac6","⊋":"\u228b","⫌":"\u2acc","⫈":"\u2ac8","⫔":"\u2ad4","⫖":"\u2ad6","⇙":"\u21d9","⤦":"\u2926","↙":"\u2199","↙":"\u2199","⤪":"\u292a","ß":"\xdf","ß":"\xdf","⌖":"\u2316","τ":"\u03c4","⎴":"\u23b4","ť":"\u0165","ţ":"\u0163","т":"\u0442","⃛":"\u20db","⌕":"\u2315","𝔱":"\ud835\udd31","∴":"\u2234","∴":"\u2234","θ":"\u03b8","ϑ":"\u03d1","ϑ":"\u03d1","≈":"\u2248","∼":"\u223c"," ":"\u2009","≈":"\u2248","∼":"\u223c","þ":"\xfe","þ":"\xfe","˜":"\u02dc","×":"\xd7","×":"\xd7","⊠":"\u22a0","⨱":"\u2a31","⨰":"\u2a30","∭":"\u222d","⤨":"\u2928","⊤":"\u22a4","⌶":"\u2336","⫱":"\u2af1","𝕥":"\ud835\udd65","⫚":"\u2ada","⤩":"\u2929","‴":"\u2034","™":"\u2122","▵":"\u25b5","▿":"\u25bf","◃":"\u25c3","⊴":"\u22b4","≜":"\u225c","▹":"\u25b9","⊵":"\u22b5","◬":"\u25ec","≜":"\u225c","⨺":"\u2a3a","⨹":"\u2a39","⧍":"\u29cd","⨻":"\u2a3b","⏢":"\u23e2","𝓉":"\ud835\udcc9","ц":"\u0446","ћ":"\u045b","ŧ":"\u0167","≬":"\u226c","↞":"\u219e","↠":"\u21a0","⇑":"\u21d1","⥣":"\u2963","ú":"\xfa","ú":"\xfa","↑":"\u2191","ў":"\u045e","ŭ":"\u016d","û":"\xfb","û":"\xfb","у":"\u0443","⇅":"\u21c5","ű":"\u0171","⥮":"\u296e","⥾":"\u297e","𝔲":"\ud835\udd32","ù":"\xf9","ù":"\xf9","↿":"\u21bf","↾":"\u21be","▀":"\u2580","⌜":"\u231c","⌜":"\u231c","⌏":"\u230f","◸":"\u25f8","ū":"\u016b","¨":"\xa8","¨":"\xa8","ų":"\u0173","𝕦":"\ud835\udd66","↑":"\u2191","↕":"\u2195","↿":"\u21bf","↾":"\u21be","⊎":"\u228e","υ":"\u03c5","ϒ":"\u03d2","υ":"\u03c5","⇈":"\u21c8","⌝":"\u231d","⌝":"\u231d","⌎":"\u230e","ů":"\u016f","◹":"\u25f9","𝓊":"\ud835\udcca","⋰":"\u22f0","ũ":"\u0169","▵":"\u25b5","▴":"\u25b4","⇈":"\u21c8","ü":"\xfc","ü":"\xfc","⦧":"\u29a7","⇕":"\u21d5","⫨":"\u2ae8","⫩":"\u2ae9","⊨":"\u22a8","⦜":"\u299c","ϵ":"\u03f5","ϰ":"\u03f0","∅":"\u2205","ϕ":"\u03d5","ϖ":"\u03d6","∝":"\u221d","↕":"\u2195","ϱ":"\u03f1","ς":"\u03c2","⊊︀":"\u228a\ufe00","⫋︀":"\u2acb\ufe00","⊋︀":"\u228b\ufe00","⫌︀":"\u2acc\ufe00","ϑ":"\u03d1","⊲":"\u22b2","⊳":"\u22b3","в":"\u0432","⊢":"\u22a2","∨":"\u2228","⊻":"\u22bb","≚":"\u225a","⋮":"\u22ee","|":"|","|":"|","𝔳":"\ud835\udd33","⊲":"\u22b2","⊂⃒":"\u2282\u20d2","⊃⃒":"\u2283\u20d2","𝕧":"\ud835\udd67","∝":"\u221d","⊳":"\u22b3","𝓋":"\ud835\udccb","⫋︀":"\u2acb\ufe00","⊊︀":"\u228a\ufe00","⫌︀":"\u2acc\ufe00","⊋︀":"\u228b\ufe00","⦚":"\u299a","ŵ":"\u0175","⩟":"\u2a5f","∧":"\u2227","≙":"\u2259","℘":"\u2118","𝔴":"\ud835\udd34","𝕨":"\ud835\udd68","℘":"\u2118","≀":"\u2240","≀":"\u2240","𝓌":"\ud835\udccc","⋂":"\u22c2","◯":"\u25ef","⋃":"\u22c3","▽":"\u25bd","𝔵":"\ud835\udd35","⟺":"\u27fa","⟷":"\u27f7","ξ":"\u03be","⟸":"\u27f8","⟵":"\u27f5","⟼":"\u27fc","⋻":"\u22fb","⨀":"\u2a00","𝕩":"\ud835\udd69","⨁":"\u2a01","⨂":"\u2a02","⟹":"\u27f9","⟶":"\u27f6","𝓍":"\ud835\udccd","⨆":"\u2a06","⨄":"\u2a04","△":"\u25b3","⋁":"\u22c1","⋀":"\u22c0","ý":"\xfd","ý":"\xfd","я":"\u044f","ŷ":"\u0177","ы":"\u044b","¥":"\xa5","¥":"\xa5","𝔶":"\ud835\udd36","ї":"\u0457","𝕪":"\ud835\udd6a","𝓎":"\ud835\udcce","ю":"\u044e","ÿ":"\xff","ÿ":"\xff","ź":"\u017a","ž":"\u017e","з":"\u0437","ż":"\u017c","ℨ":"\u2128","ζ":"\u03b6","𝔷":"\ud835\udd37","ж":"\u0436","⇝":"\u21dd","𝕫":"\ud835\udd6b","𝓏":"\ud835\udccf","‍":"\u200d","‌":"\u200c"},characters:{"\xc6":"Æ","&":"&","\xc1":"Á","\u0102":"Ă","\xc2":"Â","\u0410":"А","\ud835\udd04":"𝔄","\xc0":"À","\u0391":"Α","\u0100":"Ā","\u2a53":"⩓","\u0104":"Ą","\ud835\udd38":"𝔸","\u2061":"⁡","\xc5":"Å","\ud835\udc9c":"𝒜","\u2254":"≔","\xc3":"Ã","\xc4":"Ä","\u2216":"∖","\u2ae7":"⫧","\u2306":"⌆","\u0411":"Б","\u2235":"∵","\u212c":"ℬ","\u0392":"Β","\ud835\udd05":"𝔅","\ud835\udd39":"𝔹","\u02d8":"˘","\u224e":"≎","\u0427":"Ч","\xa9":"©","\u0106":"Ć","\u22d2":"⋒","\u2145":"ⅅ","\u212d":"ℭ","\u010c":"Č","\xc7":"Ç","\u0108":"Ĉ","\u2230":"∰","\u010a":"Ċ","\xb8":"¸","\xb7":"·","\u03a7":"Χ","\u2299":"⊙","\u2296":"⊖","\u2295":"⊕","\u2297":"⊗","\u2232":"∲","\u201d":"”","\u2019":"’","\u2237":"∷","\u2a74":"⩴","\u2261":"≡","\u222f":"∯","\u222e":"∮","\u2102":"ℂ","\u2210":"∐","\u2233":"∳","\u2a2f":"⨯","\ud835\udc9e":"𝒞","\u22d3":"⋓","\u224d":"≍","\u2911":"⤑","\u0402":"Ђ","\u0405":"Ѕ","\u040f":"Џ","\u2021":"‡","\u21a1":"↡","\u2ae4":"⫤","\u010e":"Ď","\u0414":"Д","\u2207":"∇","\u0394":"Δ","\ud835\udd07":"𝔇","\xb4":"´","\u02d9":"˙","\u02dd":"˝","`":"`","\u02dc":"˜","\u22c4":"⋄","\u2146":"ⅆ","\ud835\udd3b":"𝔻","\xa8":"¨","\u20dc":"⃜","\u2250":"≐","\u21d3":"⇓","\u21d0":"⇐","\u21d4":"⇔","\u27f8":"⟸","\u27fa":"⟺","\u27f9":"⟹","\u21d2":"⇒","\u22a8":"⊨","\u21d1":"⇑","\u21d5":"⇕","\u2225":"∥","\u2193":"↓","\u2913":"⤓","\u21f5":"⇵","\u0311":"̑","\u2950":"⥐","\u295e":"⥞","\u21bd":"↽","\u2956":"⥖","\u295f":"⥟","\u21c1":"⇁","\u2957":"⥗","\u22a4":"⊤","\u21a7":"↧","\ud835\udc9f":"𝒟","\u0110":"Đ","\u014a":"Ŋ","\xd0":"Ð","\xc9":"É","\u011a":"Ě","\xca":"Ê","\u042d":"Э","\u0116":"Ė","\ud835\udd08":"𝔈","\xc8":"È","\u2208":"∈","\u0112":"Ē","\u25fb":"◻","\u25ab":"▫","\u0118":"Ę","\ud835\udd3c":"𝔼","\u0395":"Ε","\u2a75":"⩵","\u2242":"≂","\u21cc":"⇌","\u2130":"ℰ","\u2a73":"⩳","\u0397":"Η","\xcb":"Ë","\u2203":"∃","\u2147":"ⅇ","\u0424":"Ф","\ud835\udd09":"𝔉","\u25fc":"◼","\u25aa":"▪","\ud835\udd3d":"𝔽","\u2200":"∀","\u2131":"ℱ","\u0403":"Ѓ",">":">","\u0393":"Γ","\u03dc":"Ϝ","\u011e":"Ğ","\u0122":"Ģ","\u011c":"Ĝ","\u0413":"Г","\u0120":"Ġ","\ud835\udd0a":"𝔊","\u22d9":"⋙","\ud835\udd3e":"𝔾","\u2265":"≥","\u22db":"⋛","\u2267":"≧","\u2aa2":"⪢","\u2277":"≷","\u2a7e":"⩾","\u2273":"≳","\ud835\udca2":"𝒢","\u226b":"≫","\u042a":"Ъ","\u02c7":"ˇ","^":"^","\u0124":"Ĥ","\u210c":"ℌ","\u210b":"ℋ","\u210d":"ℍ","\u2500":"─","\u0126":"Ħ","\u224f":"≏","\u0415":"Е","\u0132":"IJ","\u0401":"Ё","\xcd":"Í","\xce":"Î","\u0418":"И","\u0130":"İ","\u2111":"ℑ","\xcc":"Ì","\u012a":"Ī","\u2148":"ⅈ","\u222c":"∬","\u222b":"∫","\u22c2":"⋂","\u2063":"⁣","\u2062":"⁢","\u012e":"Į","\ud835\udd40":"𝕀","\u0399":"Ι","\u2110":"ℐ","\u0128":"Ĩ","\u0406":"І","\xcf":"Ï","\u0134":"Ĵ","\u0419":"Й","\ud835\udd0d":"𝔍","\ud835\udd41":"𝕁","\ud835\udca5":"𝒥","\u0408":"Ј","\u0404":"Є","\u0425":"Х","\u040c":"Ќ","\u039a":"Κ","\u0136":"Ķ","\u041a":"К","\ud835\udd0e":"𝔎","\ud835\udd42":"𝕂","\ud835\udca6":"𝒦","\u0409":"Љ","<":"<","\u0139":"Ĺ","\u039b":"Λ","\u27ea":"⟪","\u2112":"ℒ","\u219e":"↞","\u013d":"Ľ","\u013b":"Ļ","\u041b":"Л","\u27e8":"⟨","\u2190":"←","\u21e4":"⇤","\u21c6":"⇆","\u2308":"⌈","\u27e6":"⟦","\u2961":"⥡","\u21c3":"⇃","\u2959":"⥙","\u230a":"⌊","\u2194":"↔","\u294e":"⥎","\u22a3":"⊣","\u21a4":"↤","\u295a":"⥚","\u22b2":"⊲","\u29cf":"⧏","\u22b4":"⊴","\u2951":"⥑","\u2960":"⥠","\u21bf":"↿","\u2958":"⥘","\u21bc":"↼","\u2952":"⥒","\u22da":"⋚","\u2266":"≦","\u2276":"≶","\u2aa1":"⪡","\u2a7d":"⩽","\u2272":"≲","\ud835\udd0f":"𝔏","\u22d8":"⋘","\u21da":"⇚","\u013f":"Ŀ","\u27f5":"⟵","\u27f7":"⟷","\u27f6":"⟶","\ud835\udd43":"𝕃","\u2199":"↙","\u2198":"↘","\u21b0":"↰","\u0141":"Ł","\u226a":"≪","\u2905":"⤅","\u041c":"М","\u205f":" ","\u2133":"ℳ","\ud835\udd10":"𝔐","\u2213":"∓","\ud835\udd44":"𝕄","\u039c":"Μ","\u040a":"Њ","\u0143":"Ń","\u0147":"Ň","\u0145":"Ņ","\u041d":"Н","\u200b":"​","\n":" ","\ud835\udd11":"𝔑","\u2060":"⁠","\xa0":" ","\u2115":"ℕ","\u2aec":"⫬","\u2262":"≢","\u226d":"≭","\u2226":"∦","\u2209":"∉","\u2260":"≠","\u2242\u0338":"≂̸","\u2204":"∄","\u226f":"≯","\u2271":"≱","\u2267\u0338":"≧̸","\u226b\u0338":"≫̸","\u2279":"≹","\u2a7e\u0338":"⩾̸","\u2275":"≵","\u224e\u0338":"≎̸","\u224f\u0338":"≏̸","\u22ea":"⋪","\u29cf\u0338":"⧏̸","\u22ec":"⋬","\u226e":"≮","\u2270":"≰","\u2278":"≸","\u226a\u0338":"≪̸","\u2a7d\u0338":"⩽̸","\u2274":"≴","\u2aa2\u0338":"⪢̸","\u2aa1\u0338":"⪡̸","\u2280":"⊀","\u2aaf\u0338":"⪯̸","\u22e0":"⋠","\u220c":"∌","\u22eb":"⋫","\u29d0\u0338":"⧐̸","\u22ed":"⋭","\u228f\u0338":"⊏̸","\u22e2":"⋢","\u2290\u0338":"⊐̸","\u22e3":"⋣","\u2282\u20d2":"⊂⃒","\u2288":"⊈","\u2281":"⊁","\u2ab0\u0338":"⪰̸","\u22e1":"⋡","\u227f\u0338":"≿̸","\u2283\u20d2":"⊃⃒","\u2289":"⊉","\u2241":"≁","\u2244":"≄","\u2247":"≇","\u2249":"≉","\u2224":"∤","\ud835\udca9":"𝒩","\xd1":"Ñ","\u039d":"Ν","\u0152":"Œ","\xd3":"Ó","\xd4":"Ô","\u041e":"О","\u0150":"Ő","\ud835\udd12":"𝔒","\xd2":"Ò","\u014c":"Ō","\u03a9":"Ω","\u039f":"Ο","\ud835\udd46":"𝕆","\u201c":"“","\u2018":"‘","\u2a54":"⩔","\ud835\udcaa":"𝒪","\xd8":"Ø","\xd5":"Õ","\u2a37":"⨷","\xd6":"Ö","\u203e":"‾","\u23de":"⏞","\u23b4":"⎴","\u23dc":"⏜","\u2202":"∂","\u041f":"П","\ud835\udd13":"𝔓","\u03a6":"Φ","\u03a0":"Π","\xb1":"±","\u2119":"ℙ","\u2abb":"⪻","\u227a":"≺","\u2aaf":"⪯","\u227c":"≼","\u227e":"≾","\u2033":"″","\u220f":"∏","\u221d":"∝","\ud835\udcab":"𝒫","\u03a8":"Ψ",'"':""","\ud835\udd14":"𝔔","\u211a":"ℚ","\ud835\udcac":"𝒬","\u2910":"⤐","\xae":"®","\u0154":"Ŕ","\u27eb":"⟫","\u21a0":"↠","\u2916":"⤖","\u0158":"Ř","\u0156":"Ŗ","\u0420":"Р","\u211c":"ℜ","\u220b":"∋","\u21cb":"⇋","\u296f":"⥯","\u03a1":"Ρ","\u27e9":"⟩","\u2192":"→","\u21e5":"⇥","\u21c4":"⇄","\u2309":"⌉","\u27e7":"⟧","\u295d":"⥝","\u21c2":"⇂","\u2955":"⥕","\u230b":"⌋","\u22a2":"⊢","\u21a6":"↦","\u295b":"⥛","\u22b3":"⊳","\u29d0":"⧐","\u22b5":"⊵","\u294f":"⥏","\u295c":"⥜","\u21be":"↾","\u2954":"⥔","\u21c0":"⇀","\u2953":"⥓","\u211d":"ℝ","\u2970":"⥰","\u21db":"⇛","\u211b":"ℛ","\u21b1":"↱","\u29f4":"⧴","\u0429":"Щ","\u0428":"Ш","\u042c":"Ь","\u015a":"Ś","\u2abc":"⪼","\u0160":"Š","\u015e":"Ş","\u015c":"Ŝ","\u0421":"С","\ud835\udd16":"𝔖","\u2191":"↑","\u03a3":"Σ","\u2218":"∘","\ud835\udd4a":"𝕊","\u221a":"√","\u25a1":"□","\u2293":"⊓","\u228f":"⊏","\u2291":"⊑","\u2290":"⊐","\u2292":"⊒","\u2294":"⊔","\ud835\udcae":"𝒮","\u22c6":"⋆","\u22d0":"⋐","\u2286":"⊆","\u227b":"≻","\u2ab0":"⪰","\u227d":"≽","\u227f":"≿","\u2211":"∑","\u22d1":"⋑","\u2283":"⊃","\u2287":"⊇","\xde":"Þ","\u2122":"™","\u040b":"Ћ","\u0426":"Ц","\t":" ","\u03a4":"Τ","\u0164":"Ť","\u0162":"Ţ","\u0422":"Т","\ud835\udd17":"𝔗","\u2234":"∴","\u0398":"Θ","\u205f\u200a":"  ","\u2009":" ","\u223c":"∼","\u2243":"≃","\u2245":"≅","\u2248":"≈","\ud835\udd4b":"𝕋","\u20db":"⃛","\ud835\udcaf":"𝒯","\u0166":"Ŧ","\xda":"Ú","\u219f":"↟","\u2949":"⥉","\u040e":"Ў","\u016c":"Ŭ","\xdb":"Û","\u0423":"У","\u0170":"Ű","\ud835\udd18":"𝔘","\xd9":"Ù","\u016a":"Ū",_:"_","\u23df":"⏟","\u23b5":"⎵","\u23dd":"⏝","\u22c3":"⋃","\u228e":"⊎","\u0172":"Ų","\ud835\udd4c":"𝕌","\u2912":"⤒","\u21c5":"⇅","\u2195":"↕","\u296e":"⥮","\u22a5":"⊥","\u21a5":"↥","\u2196":"↖","\u2197":"↗","\u03d2":"ϒ","\u03a5":"Υ","\u016e":"Ů","\ud835\udcb0":"𝒰","\u0168":"Ũ","\xdc":"Ü","\u22ab":"⊫","\u2aeb":"⫫","\u0412":"В","\u22a9":"⊩","\u2ae6":"⫦","\u22c1":"⋁","\u2016":"‖","\u2223":"∣","|":"|","\u2758":"❘","\u2240":"≀","\u200a":" ","\ud835\udd19":"𝔙","\ud835\udd4d":"𝕍","\ud835\udcb1":"𝒱","\u22aa":"⊪","\u0174":"Ŵ","\u22c0":"⋀","\ud835\udd1a":"𝔚","\ud835\udd4e":"𝕎","\ud835\udcb2":"𝒲","\ud835\udd1b":"𝔛","\u039e":"Ξ","\ud835\udd4f":"𝕏","\ud835\udcb3":"𝒳","\u042f":"Я","\u0407":"Ї","\u042e":"Ю","\xdd":"Ý","\u0176":"Ŷ","\u042b":"Ы","\ud835\udd1c":"𝔜","\ud835\udd50":"𝕐","\ud835\udcb4":"𝒴","\u0178":"Ÿ","\u0416":"Ж","\u0179":"Ź","\u017d":"Ž","\u0417":"З","\u017b":"Ż","\u0396":"Ζ","\u2128":"ℨ","\u2124":"ℤ","\ud835\udcb5":"𝒵","\xe1":"á","\u0103":"ă","\u223e":"∾","\u223e\u0333":"∾̳","\u223f":"∿","\xe2":"â","\u0430":"а","\xe6":"æ","\ud835\udd1e":"𝔞","\xe0":"à","\u2135":"ℵ","\u03b1":"α","\u0101":"ā","\u2a3f":"⨿","\u2227":"∧","\u2a55":"⩕","\u2a5c":"⩜","\u2a58":"⩘","\u2a5a":"⩚","\u2220":"∠","\u29a4":"⦤","\u2221":"∡","\u29a8":"⦨","\u29a9":"⦩","\u29aa":"⦪","\u29ab":"⦫","\u29ac":"⦬","\u29ad":"⦭","\u29ae":"⦮","\u29af":"⦯","\u221f":"∟","\u22be":"⊾","\u299d":"⦝","\u2222":"∢","\u237c":"⍼","\u0105":"ą","\ud835\udd52":"𝕒","\u2a70":"⩰","\u2a6f":"⩯","\u224a":"≊","\u224b":"≋","'":"'","\xe5":"å","\ud835\udcb6":"𝒶","*":"*","\xe3":"ã","\xe4":"ä","\u2a11":"⨑","\u2aed":"⫭","\u224c":"≌","\u03f6":"϶","\u2035":"‵","\u223d":"∽","\u22cd":"⋍","\u22bd":"⊽","\u2305":"⌅","\u23b6":"⎶","\u0431":"б","\u201e":"„","\u29b0":"⦰","\u03b2":"β","\u2136":"ℶ","\u226c":"≬","\ud835\udd1f":"𝔟","\u25ef":"◯","\u2a00":"⨀","\u2a01":"⨁","\u2a02":"⨂","\u2a06":"⨆","\u2605":"★","\u25bd":"▽","\u25b3":"△","\u2a04":"⨄","\u290d":"⤍","\u29eb":"⧫","\u25b4":"▴","\u25be":"▾","\u25c2":"◂","\u25b8":"▸","\u2423":"␣","\u2592":"▒","\u2591":"░","\u2593":"▓","\u2588":"█","=\u20e5":"=⃥","\u2261\u20e5":"≡⃥","\u2310":"⌐","\ud835\udd53":"𝕓","\u22c8":"⋈","\u2557":"╗","\u2554":"╔","\u2556":"╖","\u2553":"╓","\u2550":"═","\u2566":"╦","\u2569":"╩","\u2564":"╤","\u2567":"╧","\u255d":"╝","\u255a":"╚","\u255c":"╜","\u2559":"╙","\u2551":"║","\u256c":"╬","\u2563":"╣","\u2560":"╠","\u256b":"╫","\u2562":"╢","\u255f":"╟","\u29c9":"⧉","\u2555":"╕","\u2552":"╒","\u2510":"┐","\u250c":"┌","\u2565":"╥","\u2568":"╨","\u252c":"┬","\u2534":"┴","\u229f":"⊟","\u229e":"⊞","\u22a0":"⊠","\u255b":"╛","\u2558":"╘","\u2518":"┘","\u2514":"└","\u2502":"│","\u256a":"╪","\u2561":"╡","\u255e":"╞","\u253c":"┼","\u2524":"┤","\u251c":"├","\xa6":"¦","\ud835\udcb7":"𝒷","\u204f":"⁏","\\":"\","\u29c5":"⧅","\u27c8":"⟈","\u2022":"•","\u2aae":"⪮","\u0107":"ć","\u2229":"∩","\u2a44":"⩄","\u2a49":"⩉","\u2a4b":"⩋","\u2a47":"⩇","\u2a40":"⩀","\u2229\ufe00":"∩︀","\u2041":"⁁","\u2a4d":"⩍","\u010d":"č","\xe7":"ç","\u0109":"ĉ","\u2a4c":"⩌","\u2a50":"⩐","\u010b":"ċ","\u29b2":"⦲","\xa2":"¢","\ud835\udd20":"𝔠","\u0447":"ч","\u2713":"✓","\u03c7":"χ","\u25cb":"○","\u29c3":"⧃","\u02c6":"ˆ","\u2257":"≗","\u21ba":"↺","\u21bb":"↻","\u24c8":"Ⓢ","\u229b":"⊛","\u229a":"⊚","\u229d":"⊝","\u2a10":"⨐","\u2aef":"⫯","\u29c2":"⧂","\u2663":"♣",":":":",",":",","@":"@","\u2201":"∁","\u2a6d":"⩭","\ud835\udd54":"𝕔","\u2117":"℗","\u21b5":"↵","\u2717":"✗","\ud835\udcb8":"𝒸","\u2acf":"⫏","\u2ad1":"⫑","\u2ad0":"⫐","\u2ad2":"⫒","\u22ef":"⋯","\u2938":"⤸","\u2935":"⤵","\u22de":"⋞","\u22df":"⋟","\u21b6":"↶","\u293d":"⤽","\u222a":"∪","\u2a48":"⩈","\u2a46":"⩆","\u2a4a":"⩊","\u228d":"⊍","\u2a45":"⩅","\u222a\ufe00":"∪︀","\u21b7":"↷","\u293c":"⤼","\u22ce":"⋎","\u22cf":"⋏","\xa4":"¤","\u2231":"∱","\u232d":"⌭","\u2965":"⥥","\u2020":"†","\u2138":"ℸ","\u2010":"‐","\u290f":"⤏","\u010f":"ď","\u0434":"д","\u21ca":"⇊","\u2a77":"⩷","\xb0":"°","\u03b4":"δ","\u29b1":"⦱","\u297f":"⥿","\ud835\udd21":"𝔡","\u2666":"♦","\u03dd":"ϝ","\u22f2":"⋲","\xf7":"÷","\u22c7":"⋇","\u0452":"ђ","\u231e":"⌞","\u230d":"⌍",$:"$","\ud835\udd55":"𝕕","\u2251":"≑","\u2238":"∸","\u2214":"∔","\u22a1":"⊡","\u231f":"⌟","\u230c":"⌌","\ud835\udcb9":"𝒹","\u0455":"ѕ","\u29f6":"⧶","\u0111":"đ","\u22f1":"⋱","\u25bf":"▿","\u29a6":"⦦","\u045f":"џ","\u27ff":"⟿","\xe9":"é","\u2a6e":"⩮","\u011b":"ě","\u2256":"≖","\xea":"ê","\u2255":"≕","\u044d":"э","\u0117":"ė","\u2252":"≒","\ud835\udd22":"𝔢","\u2a9a":"⪚","\xe8":"è","\u2a96":"⪖","\u2a98":"⪘","\u2a99":"⪙","\u23e7":"⏧","\u2113":"ℓ","\u2a95":"⪕","\u2a97":"⪗","\u0113":"ē","\u2205":"∅","\u2004":" ","\u2005":" ","\u2003":" ","\u014b":"ŋ","\u2002":" ","\u0119":"ę","\ud835\udd56":"𝕖","\u22d5":"⋕","\u29e3":"⧣","\u2a71":"⩱","\u03b5":"ε","\u03f5":"ϵ","=":"=","\u225f":"≟","\u2a78":"⩸","\u29e5":"⧥","\u2253":"≓","\u2971":"⥱","\u212f":"ℯ","\u03b7":"η","\xf0":"ð","\xeb":"ë","\u20ac":"€","!":"!","\u0444":"ф","\u2640":"♀","\ufb03":"ffi","\ufb00":"ff","\ufb04":"ffl","\ud835\udd23":"𝔣","\ufb01":"fi",fj:"fj","\u266d":"♭","\ufb02":"fl","\u25b1":"▱","\u0192":"ƒ","\ud835\udd57":"𝕗","\u22d4":"⋔","\u2ad9":"⫙","\u2a0d":"⨍","\xbd":"½","\u2153":"⅓","\xbc":"¼","\u2155":"⅕","\u2159":"⅙","\u215b":"⅛","\u2154":"⅔","\u2156":"⅖","\xbe":"¾","\u2157":"⅗","\u215c":"⅜","\u2158":"⅘","\u215a":"⅚","\u215d":"⅝","\u215e":"⅞","\u2044":"⁄","\u2322":"⌢","\ud835\udcbb":"𝒻","\u2a8c":"⪌","\u01f5":"ǵ","\u03b3":"γ","\u2a86":"⪆","\u011f":"ğ","\u011d":"ĝ","\u0433":"г","\u0121":"ġ","\u2aa9":"⪩","\u2a80":"⪀","\u2a82":"⪂","\u2a84":"⪄","\u22db\ufe00":"⋛︀","\u2a94":"⪔","\ud835\udd24":"𝔤","\u2137":"ℷ","\u0453":"ѓ","\u2a92":"⪒","\u2aa5":"⪥","\u2aa4":"⪤","\u2269":"≩","\u2a8a":"⪊","\u2a88":"⪈","\u22e7":"⋧","\ud835\udd58":"𝕘","\u210a":"ℊ","\u2a8e":"⪎","\u2a90":"⪐","\u2aa7":"⪧","\u2a7a":"⩺","\u22d7":"⋗","\u2995":"⦕","\u2a7c":"⩼","\u2978":"⥸","\u2269\ufe00":"≩︀","\u044a":"ъ","\u2948":"⥈","\u21ad":"↭","\u210f":"ℏ","\u0125":"ĥ","\u2665":"♥","\u2026":"…","\u22b9":"⊹","\ud835\udd25":"𝔥","\u2925":"⤥","\u2926":"⤦","\u21ff":"⇿","\u223b":"∻","\u21a9":"↩","\u21aa":"↪","\ud835\udd59":"𝕙","\u2015":"―","\ud835\udcbd":"𝒽","\u0127":"ħ","\u2043":"⁃","\xed":"í","\xee":"î","\u0438":"и","\u0435":"е","\xa1":"¡","\ud835\udd26":"𝔦","\xec":"ì","\u2a0c":"⨌","\u222d":"∭","\u29dc":"⧜","\u2129":"℩","\u0133":"ij","\u012b":"ī","\u0131":"ı","\u22b7":"⊷","\u01b5":"Ƶ","\u2105":"℅","\u221e":"∞","\u29dd":"⧝","\u22ba":"⊺","\u2a17":"⨗","\u2a3c":"⨼","\u0451":"ё","\u012f":"į","\ud835\udd5a":"𝕚","\u03b9":"ι","\xbf":"¿","\ud835\udcbe":"𝒾","\u22f9":"⋹","\u22f5":"⋵","\u22f4":"⋴","\u22f3":"⋳","\u0129":"ĩ","\u0456":"і","\xef":"ï","\u0135":"ĵ","\u0439":"й","\ud835\udd27":"𝔧","\u0237":"ȷ","\ud835\udd5b":"𝕛","\ud835\udcbf":"𝒿","\u0458":"ј","\u0454":"є","\u03ba":"κ","\u03f0":"ϰ","\u0137":"ķ","\u043a":"к","\ud835\udd28":"𝔨","\u0138":"ĸ","\u0445":"х","\u045c":"ќ","\ud835\udd5c":"𝕜","\ud835\udcc0":"𝓀","\u291b":"⤛","\u290e":"⤎","\u2a8b":"⪋","\u2962":"⥢","\u013a":"ĺ","\u29b4":"⦴","\u03bb":"λ","\u2991":"⦑","\u2a85":"⪅","\xab":"«","\u291f":"⤟","\u291d":"⤝","\u21ab":"↫","\u2939":"⤹","\u2973":"⥳","\u21a2":"↢","\u2aab":"⪫","\u2919":"⤙","\u2aad":"⪭","\u2aad\ufe00":"⪭︀","\u290c":"⤌","\u2772":"❲","{":"{","[":"[","\u298b":"⦋","\u298f":"⦏","\u298d":"⦍","\u013e":"ľ","\u013c":"ļ","\u043b":"л","\u2936":"⤶","\u2967":"⥧","\u294b":"⥋","\u21b2":"↲","\u2264":"≤","\u21c7":"⇇","\u22cb":"⋋","\u2aa8":"⪨","\u2a7f":"⩿","\u2a81":"⪁","\u2a83":"⪃","\u22da\ufe00":"⋚︀","\u2a93":"⪓","\u22d6":"⋖","\u297c":"⥼","\ud835\udd29":"𝔩","\u2a91":"⪑","\u296a":"⥪","\u2584":"▄","\u0459":"љ","\u296b":"⥫","\u25fa":"◺","\u0140":"ŀ","\u23b0":"⎰","\u2268":"≨","\u2a89":"⪉","\u2a87":"⪇","\u22e6":"⋦","\u27ec":"⟬","\u21fd":"⇽","\u27fc":"⟼","\u21ac":"↬","\u2985":"⦅","\ud835\udd5d":"𝕝","\u2a2d":"⨭","\u2a34":"⨴","\u2217":"∗","\u25ca":"◊","(":"(","\u2993":"⦓","\u296d":"⥭","\u200e":"‎","\u22bf":"⊿","\u2039":"‹","\ud835\udcc1":"𝓁","\u2a8d":"⪍","\u2a8f":"⪏","\u201a":"‚","\u0142":"ł","\u2aa6":"⪦","\u2a79":"⩹","\u22c9":"⋉","\u2976":"⥶","\u2a7b":"⩻","\u2996":"⦖","\u25c3":"◃","\u294a":"⥊","\u2966":"⥦","\u2268\ufe00":"≨︀","\u223a":"∺","\xaf":"¯","\u2642":"♂","\u2720":"✠","\u25ae":"▮","\u2a29":"⨩","\u043c":"м","\u2014":"—","\ud835\udd2a":"𝔪","\u2127":"℧","\xb5":"µ","\u2af0":"⫰","\u2212":"−","\u2a2a":"⨪","\u2adb":"⫛","\u22a7":"⊧","\ud835\udd5e":"𝕞","\ud835\udcc2":"𝓂","\u03bc":"μ","\u22b8":"⊸","\u22d9\u0338":"⋙̸","\u226b\u20d2":"≫⃒","\u21cd":"⇍","\u21ce":"⇎","\u22d8\u0338":"⋘̸","\u226a\u20d2":"≪⃒","\u21cf":"⇏","\u22af":"⊯","\u22ae":"⊮","\u0144":"ń","\u2220\u20d2":"∠⃒","\u2a70\u0338":"⩰̸","\u224b\u0338":"≋̸","\u0149":"ʼn","\u266e":"♮","\u2a43":"⩃","\u0148":"ň","\u0146":"ņ","\u2a6d\u0338":"⩭̸","\u2a42":"⩂","\u043d":"н","\u2013":"–","\u21d7":"⇗","\u2924":"⤤","\u2250\u0338":"≐̸","\u2928":"⤨","\ud835\udd2b":"𝔫","\u21ae":"↮","\u2af2":"⫲","\u22fc":"⋼","\u22fa":"⋺","\u045a":"њ","\u2266\u0338":"≦̸","\u219a":"↚","\u2025":"‥","\ud835\udd5f":"𝕟","\xac":"¬","\u22f9\u0338":"⋹̸","\u22f5\u0338":"⋵̸","\u22f7":"⋷","\u22f6":"⋶","\u22fe":"⋾","\u22fd":"⋽","\u2afd\u20e5":"⫽⃥","\u2202\u0338":"∂̸","\u2a14":"⨔","\u219b":"↛","\u2933\u0338":"⤳̸","\u219d\u0338":"↝̸","\ud835\udcc3":"𝓃","\u2284":"⊄","\u2ac5\u0338":"⫅̸","\u2285":"⊅","\u2ac6\u0338":"⫆̸","\xf1":"ñ","\u03bd":"ν","#":"#","\u2116":"№","\u2007":" ","\u22ad":"⊭","\u2904":"⤄","\u224d\u20d2":"≍⃒","\u22ac":"⊬","\u2265\u20d2":"≥⃒",">\u20d2":">⃒","\u29de":"⧞","\u2902":"⤂","\u2264\u20d2":"≤⃒","<\u20d2":"<⃒","\u22b4\u20d2":"⊴⃒","\u2903":"⤃","\u22b5\u20d2":"⊵⃒","\u223c\u20d2":"∼⃒","\u21d6":"⇖","\u2923":"⤣","\u2927":"⤧","\xf3":"ó","\xf4":"ô","\u043e":"о","\u0151":"ő","\u2a38":"⨸","\u29bc":"⦼","\u0153":"œ","\u29bf":"⦿","\ud835\udd2c":"𝔬","\u02db":"˛","\xf2":"ò","\u29c1":"⧁","\u29b5":"⦵","\u29be":"⦾","\u29bb":"⦻","\u29c0":"⧀","\u014d":"ō","\u03c9":"ω","\u03bf":"ο","\u29b6":"⦶","\ud835\udd60":"𝕠","\u29b7":"⦷","\u29b9":"⦹","\u2228":"∨","\u2a5d":"⩝","\u2134":"ℴ","\xaa":"ª","\xba":"º","\u22b6":"⊶","\u2a56":"⩖","\u2a57":"⩗","\u2a5b":"⩛","\xf8":"ø","\u2298":"⊘","\xf5":"õ","\u2a36":"⨶","\xf6":"ö","\u233d":"⌽","\xb6":"¶","\u2af3":"⫳","\u2afd":"⫽","\u043f":"п","%":"%",".":".","\u2030":"‰","\u2031":"‱","\ud835\udd2d":"𝔭","\u03c6":"φ","\u03d5":"ϕ","\u260e":"☎","\u03c0":"π","\u03d6":"ϖ","\u210e":"ℎ","+":"+","\u2a23":"⨣","\u2a22":"⨢","\u2a25":"⨥","\u2a72":"⩲","\u2a26":"⨦","\u2a27":"⨧","\u2a15":"⨕","\ud835\udd61":"𝕡","\xa3":"£","\u2ab3":"⪳","\u2ab7":"⪷","\u2ab9":"⪹","\u2ab5":"⪵","\u22e8":"⋨","\u2032":"′","\u232e":"⌮","\u2312":"⌒","\u2313":"⌓","\u22b0":"⊰","\ud835\udcc5":"𝓅","\u03c8":"ψ","\u2008":" ","\ud835\udd2e":"𝔮","\ud835\udd62":"𝕢","\u2057":"⁗","\ud835\udcc6":"𝓆","\u2a16":"⨖","?":"?","\u291c":"⤜","\u2964":"⥤","\u223d\u0331":"∽̱","\u0155":"ŕ","\u29b3":"⦳","\u2992":"⦒","\u29a5":"⦥","\xbb":"»","\u2975":"⥵","\u2920":"⤠","\u2933":"⤳","\u291e":"⤞","\u2945":"⥅","\u2974":"⥴","\u21a3":"↣","\u219d":"↝","\u291a":"⤚","\u2236":"∶","\u2773":"❳","}":"}","]":"]","\u298c":"⦌","\u298e":"⦎","\u2990":"⦐","\u0159":"ř","\u0157":"ŗ","\u0440":"р","\u2937":"⤷","\u2969":"⥩","\u21b3":"↳","\u25ad":"▭","\u297d":"⥽","\ud835\udd2f":"𝔯","\u296c":"⥬","\u03c1":"ρ","\u03f1":"ϱ","\u21c9":"⇉","\u22cc":"⋌","\u02da":"˚","\u200f":"‏","\u23b1":"⎱","\u2aee":"⫮","\u27ed":"⟭","\u21fe":"⇾","\u2986":"⦆","\ud835\udd63":"𝕣","\u2a2e":"⨮","\u2a35":"⨵",")":")","\u2994":"⦔","\u2a12":"⨒","\u203a":"›","\ud835\udcc7":"𝓇","\u22ca":"⋊","\u25b9":"▹","\u29ce":"⧎","\u2968":"⥨","\u211e":"℞","\u015b":"ś","\u2ab4":"⪴","\u2ab8":"⪸","\u0161":"š","\u015f":"ş","\u015d":"ŝ","\u2ab6":"⪶","\u2aba":"⪺","\u22e9":"⋩","\u2a13":"⨓","\u0441":"с","\u22c5":"⋅","\u2a66":"⩦","\u21d8":"⇘","\xa7":"§",";":";","\u2929":"⤩","\u2736":"✶","\ud835\udd30":"𝔰","\u266f":"♯","\u0449":"щ","\u0448":"ш","\xad":"­","\u03c3":"σ","\u03c2":"ς","\u2a6a":"⩪","\u2a9e":"⪞","\u2aa0":"⪠","\u2a9d":"⪝","\u2a9f":"⪟","\u2246":"≆","\u2a24":"⨤","\u2972":"⥲","\u2a33":"⨳","\u29e4":"⧤","\u2323":"⌣","\u2aaa":"⪪","\u2aac":"⪬","\u2aac\ufe00":"⪬︀","\u044c":"ь","/":"/","\u29c4":"⧄","\u233f":"⌿","\ud835\udd64":"𝕤","\u2660":"♠","\u2293\ufe00":"⊓︀","\u2294\ufe00":"⊔︀","\ud835\udcc8":"𝓈","\u2606":"☆","\u2282":"⊂","\u2ac5":"⫅","\u2abd":"⪽","\u2ac3":"⫃","\u2ac1":"⫁","\u2acb":"⫋","\u228a":"⊊","\u2abf":"⪿","\u2979":"⥹","\u2ac7":"⫇","\u2ad5":"⫕","\u2ad3":"⫓","\u266a":"♪","\xb9":"¹","\xb2":"²","\xb3":"³","\u2ac6":"⫆","\u2abe":"⪾","\u2ad8":"⫘","\u2ac4":"⫄","\u27c9":"⟉","\u2ad7":"⫗","\u297b":"⥻","\u2ac2":"⫂","\u2acc":"⫌","\u228b":"⊋","\u2ac0":"⫀","\u2ac8":"⫈","\u2ad4":"⫔","\u2ad6":"⫖","\u21d9":"⇙","\u292a":"⤪","\xdf":"ß","\u2316":"⌖","\u03c4":"τ","\u0165":"ť","\u0163":"ţ","\u0442":"т","\u2315":"⌕","\ud835\udd31":"𝔱","\u03b8":"θ","\u03d1":"ϑ","\xfe":"þ","\xd7":"×","\u2a31":"⨱","\u2a30":"⨰","\u2336":"⌶","\u2af1":"⫱","\ud835\udd65":"𝕥","\u2ada":"⫚","\u2034":"‴","\u25b5":"▵","\u225c":"≜","\u25ec":"◬","\u2a3a":"⨺","\u2a39":"⨹","\u29cd":"⧍","\u2a3b":"⨻","\u23e2":"⏢","\ud835\udcc9":"𝓉","\u0446":"ц","\u045b":"ћ","\u0167":"ŧ","\u2963":"⥣","\xfa":"ú","\u045e":"ў","\u016d":"ŭ","\xfb":"û","\u0443":"у","\u0171":"ű","\u297e":"⥾","\ud835\udd32":"𝔲","\xf9":"ù","\u2580":"▀","\u231c":"⌜","\u230f":"⌏","\u25f8":"◸","\u016b":"ū","\u0173":"ų","\ud835\udd66":"𝕦","\u03c5":"υ","\u21c8":"⇈","\u231d":"⌝","\u230e":"⌎","\u016f":"ů","\u25f9":"◹","\ud835\udcca":"𝓊","\u22f0":"⋰","\u0169":"ũ","\xfc":"ü","\u29a7":"⦧","\u2ae8":"⫨","\u2ae9":"⫩","\u299c":"⦜","\u228a\ufe00":"⊊︀","\u2acb\ufe00":"⫋︀","\u228b\ufe00":"⊋︀","\u2acc\ufe00":"⫌︀","\u0432":"в","\u22bb":"⊻","\u225a":"≚","\u22ee":"⋮","\ud835\udd33":"𝔳","\ud835\udd67":"𝕧","\ud835\udccb":"𝓋","\u299a":"⦚","\u0175":"ŵ","\u2a5f":"⩟","\u2259":"≙","\u2118":"℘","\ud835\udd34":"𝔴","\ud835\udd68":"𝕨","\ud835\udccc":"𝓌","\ud835\udd35":"𝔵","\u03be":"ξ","\u22fb":"⋻","\ud835\udd69":"𝕩","\ud835\udccd":"𝓍","\xfd":"ý","\u044f":"я","\u0177":"ŷ","\u044b":"ы","\xa5":"¥","\ud835\udd36":"𝔶","\u0457":"ї","\ud835\udd6a":"𝕪","\ud835\udcce":"𝓎","\u044e":"ю","\xff":"ÿ","\u017a":"ź","\u017e":"ž","\u0437":"з","\u017c":"ż","\u03b6":"ζ","\ud835\udd37":"𝔷","\u0436":"ж","\u21dd":"⇝","\ud835\udd6b":"𝕫","\ud835\udccf":"𝓏","\u200d":"‍","\u200c":"‌"}}}},33762:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numericUnicodeMap={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},34826:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromCodePoint=String.fromCodePoint||function(e){return String.fromCharCode(Math.floor((e-65536)/1024)+55296,(e-65536)%1024+56320)},t.getCodePoint=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536},t.highSurrogateFrom=55296,t.highSurrogateTo=56319},18426:(e,t)=>{function r(e){let t,r=[];for(let n of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(n))r.push(parseInt(n,10));else if(t=n.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,n,o,a]=t;if(n&&a){n=parseInt(n),a=parseInt(a);const e=n<a?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(a+=e);for(let t=n;t!==a;t+=e)r.push(t)}}return r}t.default=r,e.exports=r},28453:(e,t,r)=>{"use strict";r.d(t,{R:()=>s,x:()=>i});var n=r(96540);const o={},a=n.createContext(o);function s(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d5205798.6d03459e.js b/assets/js/d5205798.6d03459e.js new file mode 100644 index 00000000..e5ee0413 --- /dev/null +++ b/assets/js/d5205798.6d03459e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[1539],{13472:(e,n,t)=>{t.d(n,{A:()=>z});t(96540);var i=t(88473),r=t(34164),o=t(21312),a=t(17559);const s="admonition_xJq3",d="admonitionHeading_Gvgb",l="admonitionIcon_Rf37",c="admonitionContent_BuS1";var u=t(74848);function h(e){let{type:n,className:t,children:i}=e;return(0,u.jsx)("div",{className:(0,r.A)(a.G.common.admonition,a.G.common.admonitionType(n),s,t),children:i})}function m(e){let{icon:n,title:t}=e;return(0,u.jsxs)("div",{className:d,children:[(0,u.jsx)("span",{className:l,children:n}),t]})}function f(e){let{children:n}=e;return n?(0,u.jsx)("div",{className:c,children:n}):null}function p(e){const{type:n,icon:t,title:i,children:r,className:o}=e;return(0,u.jsxs)(h,{type:n,className:o,children:[i||t?(0,u.jsx)(m,{title:i,icon:t}):null,(0,u.jsx)(f,{children:r})]})}function g(e){return(0,u.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const x={icon:(0,u.jsx)(g,{}),title:(0,u.jsx)(o.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function j(e){return(0,u.jsx)(p,{...x,...e,className:(0,r.A)("alert alert--secondary",e.className),children:e.children})}function y(e){return(0,u.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const v={icon:(0,u.jsx)(y,{}),title:(0,u.jsx)(o.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function A(e){return(0,u.jsx)(p,{...v,...e,className:(0,r.A)("alert alert--success",e.className),children:e.children})}function b(e){return(0,u.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const w={icon:(0,u.jsx)(b,{}),title:(0,u.jsx)(o.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function T(e){return(0,u.jsx)(p,{...w,...e,className:(0,r.A)("alert alert--info",e.className),children:e.children})}function N(e){return(0,u.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const U={icon:(0,u.jsx)(N,{}),title:(0,u.jsx)(o.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function C(e){return(0,u.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,u.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const M={icon:(0,u.jsx)(C,{}),title:(0,u.jsx)(o.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const q={icon:(0,u.jsx)(N,{}),title:(0,u.jsx)(o.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const k={...{note:j,tip:A,info:T,warning:function(e){return(0,u.jsx)(p,{...U,...e,className:(0,r.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,u.jsx)(p,{...M,...e,className:(0,r.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,u.jsx)(j,{title:"secondary",...e}),important:e=>(0,u.jsx)(T,{title:"important",...e}),success:e=>(0,u.jsx)(A,{title:"success",...e}),caution:function(e){return(0,u.jsx)(p,{...q,...e,className:(0,r.A)("alert alert--warning",e.className),children:e.children})}}};function z(e){const n=(0,i.c)(e),t=(r=n.type,k[r]||(console.warn(`No admonition component found for admonition type "${r}". Using Info as fallback.`),k.info));var r;return(0,u.jsx)(t,{...n})}},88473:(e,n,t)=>{t.d(n,{c:()=>o});var i=t(96540),r=t(74848);function o(e){const{mdxAdmonitionTitle:n,rest:t}=function(e){const n=i.Children.toArray(e),t=n.find((e=>i.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),o=n.filter((e=>e!==t)),a=t?.props.children;return{mdxAdmonitionTitle:a,rest:o.length>0?(0,r.jsx)(r.Fragment,{children:o}):null}}(e.children),o=e.title??n;return{...e,...o&&{title:o},children:t}}},816:(e,n,t)=>{t.d(n,{A:()=>d});var i=t(96540),r=t(76300),o=t(52376),a=t(85819),s=t(74848);function d(e){let{dosage:n,config:t}=e;const[d,l]=(0,i.useState)(""),[c,u]=(0,i.useState)(t?.language||"en"),[h,m]=(0,i.useState)(null);(0,i.useEffect)((()=>{!async function(){const e=await r.U.build({...t});m(e)}()}),[t]),(0,i.useEffect)((()=>{!async function(){if(h){const e=h.fromDosageToText(n);l(e)}}()}),[n,h]);return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsxs)("select",{value:c,onChange:e=>u(e.target.value),style:{marginRight:"10px"},children:[(0,s.jsx)("option",{value:"en",children:"English"}),(0,s.jsx)("option",{value:"fr",children:"French"}),(0,s.jsx)("option",{value:"nl",children:"Dutch"}),(0,s.jsx)("option",{value:"de",children:"German"})]}),(0,s.jsx)("button",{onClick:async()=>{if(h){await h.changeLanguage(c);const e=h.fromDosageToText(n);l(e)}},children:"Confirm"})]}),(0,s.jsx)("div",{style:{marginTop:"10px"},children:(0,s.jsx)(a.default,{language:"markup",children:(f=d,(0,o.decode)(f))})})]});var f}},69309:(e,n,t)=>{t.r(n),t.d(n,{default:()=>u});t(96540);var i=t(70680),r=t(11470),o=t(19365),a=t(85819),s=t(13472),d=t(816),l=t(74848);const c=[{title:"Every 8 hours",dosage:{timing:{repeat:{frequency:1,period:8,periodUnit:"h"}}}},{title:"Every 7 days",dosage:{timing:{repeat:{frequency:1,period:7,periodUnit:"d"}}}},{title:"3 times a day",dosage:{timing:{repeat:{frequency:3,period:1,periodUnit:"d"}}}},{title:"3-4 times a day",dosage:{timing:{repeat:{frequency:3,frequencyMax:4,period:1,periodUnit:"d"}}}},{title:"Every 4-6 hours",dosage:{timing:{repeat:{frequency:1,period:4,periodMax:6,periodUnit:"h"}}}},{title:"Every 21 days for 1 hour",dosage:{timing:{repeat:{duration:1,durationUnit:"h",frequency:1,period:21,periodUnit:"d"}}}},{title:"Three times a week for 0.5 hour",dosage:{timing:{repeat:{duration:.5,durationUnit:"h",frequency:3,period:1,periodUnit:"wk"}}}},{title:"With breakfast",dosage:{timing:{repeat:{when:["CM"]}}}},{title:"For 5 minutes, 10 minutes before meals",dosage:{timing:{repeat:{duration:5,durationUnit:"min",when:["AC"],offset:10}}}},{title:"1 tablet 3 times daily, 30 minutes before meals",dosage:{doseAndRate:[{doseQuantity:{value:1,unit:"tablet"}}],timing:{repeat:{frequency:3,period:1,periodUnit:"d",when:["AC"],offset:30}}}},{title:"BID, 30 mins before meal, for next 10 days",dosage:{timing:{repeat:{frequency:2,period:1,periodUnit:"d",when:["AC"],offset:30,boundsDuration:{value:10,code:"d",system:"http://hl7.org/fhir/ValueSet/duration-units"}}}}},{title:"TID, for 14 days",dosage:{timing:{repeat:{frequency:3,period:1,periodUnit:"d",boundsDuration:{value:14,code:"d",system:"http://hl7.org/fhir/ValueSet/duration-units"}}}}},{title:"BID, start on 7/1/2015 at 1:00 PM",dosage:{timing:{repeat:{frequency:2,period:1,periodUnit:"d",boundsPeriod:{start:"2015-07-01T13:00:00"}}}}},{title:"Mon, Wed, Fri Morning",dosage:{timing:{repeat:{frequency:1,period:1,periodUnit:"d",dayOfWeek:["mon","wed","fri"],when:["MORN"]}}}},{title:"Every day at 10am",dosage:{timing:{repeat:{frequency:1,period:1,periodUnit:"d",timeOfDay:["10:00:00"]}}}},{title:"Take once, at any time",dosage:{timing:{repeat:{count:1}}}},{title:"Take every second day, in the morning, until 20 have been taken",dosage:{timing:{repeat:{frequency:1,period:2,periodUnit:"d",when:["MORN"],count:20}}}}];function u(){return(0,l.jsxs)(i.A,{title:"\u231a Timing",description:"Scenarios listed on https://build.fhir.org/datatypes.html#Timing",children:[(0,l.jsx)(s.A,{type:"info",children:(0,l.jsxs)("p",{children:["Thanks to"," ",(0,l.jsx)("a",{href:"https://build.fhir.org/datatypes.html#Timing",children:"FHIR HL7"})," ","for the examples"]})}),(0,l.jsxs)("table",{children:[(0,l.jsxs)("thead",{children:[(0,l.jsx)("th",{children:"Summary"}),(0,l.jsx)("th",{})]}),(0,l.jsx)("tbody",{children:c.map((e=>(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:e.title}),(0,l.jsx)("td",{children:(0,l.jsxs)(r.A,{children:[(0,l.jsx)(o.A,{value:"text",label:"Human readable text",default:!0,children:(0,l.jsx)(d.A,{dosage:e.dosage})}),(0,l.jsx)(o.A,{value:"json",label:"Dosage",children:(0,l.jsx)(a.default,{language:"json",children:JSON.stringify(e.dosage,null,2)})})]})})]})))})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/d5205798.c2150799.js b/assets/js/d5205798.c2150799.js deleted file mode 100644 index 594991d0..00000000 --- a/assets/js/d5205798.c2150799.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[1539],{13472:(e,n,t)=>{t.d(n,{A:()=>M});t(96540);var i=t(88473),o=t(34164),a=t(21312),r=t(17559);const d={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};var s=t(74848);function l(e){let{type:n,className:t,children:i}=e;return(0,s.jsx)("div",{className:(0,o.A)(r.G.common.admonition,r.G.common.admonitionType(n),d.admonition,t),children:i})}function c(e){let{icon:n,title:t}=e;return(0,s.jsxs)("div",{className:d.admonitionHeading,children:[(0,s.jsx)("span",{className:d.admonitionIcon,children:n}),t]})}function u(e){let{children:n}=e;return n?(0,s.jsx)("div",{className:d.admonitionContent,children:n}):null}function h(e){const{type:n,icon:t,title:i,children:o,className:a}=e;return(0,s.jsxs)(l,{type:n,className:a,children:[i||t?(0,s.jsx)(c,{title:i,icon:t}):null,(0,s.jsx)(u,{children:o})]})}function m(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const f={icon:(0,s.jsx)(m,{}),title:(0,s.jsx)(a.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function p(e){return(0,s.jsx)(h,{...f,...e,className:(0,o.A)("alert alert--secondary",e.className),children:e.children})}function g(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const x={icon:(0,s.jsx)(g,{}),title:(0,s.jsx)(a.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function j(e){return(0,s.jsx)(h,{...x,...e,className:(0,o.A)("alert alert--success",e.className),children:e.children})}function y(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const v={icon:(0,s.jsx)(y,{}),title:(0,s.jsx)(a.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function A(e){return(0,s.jsx)(h,{...v,...e,className:(0,o.A)("alert alert--info",e.className),children:e.children})}function b(e){return(0,s.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const w={icon:(0,s.jsx)(b,{}),title:(0,s.jsx)(a.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function T(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const N={icon:(0,s.jsx)(T,{}),title:(0,s.jsx)(a.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const C={icon:(0,s.jsx)(b,{}),title:(0,s.jsx)(a.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const U={...{note:p,tip:j,info:A,warning:function(e){return(0,s.jsx)(h,{...w,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,s.jsx)(h,{...N,...e,className:(0,o.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,s.jsx)(p,{title:"secondary",...e}),important:e=>(0,s.jsx)(A,{title:"important",...e}),success:e=>(0,s.jsx)(j,{title:"success",...e}),caution:function(e){return(0,s.jsx)(h,{...C,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})}}};function M(e){const n=(0,i.c)(e),t=(o=n.type,U[o]||(console.warn(`No admonition component found for admonition type "${o}". Using Info as fallback.`),U.info));var o;return(0,s.jsx)(t,{...n})}},88473:(e,n,t)=>{t.d(n,{c:()=>a});var i=t(96540),o=t(74848);function a(e){const{mdxAdmonitionTitle:n,rest:t}=function(e){const n=i.Children.toArray(e),t=n.find((e=>i.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),a=n.filter((e=>e!==t)),r=t?.props.children;return{mdxAdmonitionTitle:r,rest:a.length>0?(0,o.jsx)(o.Fragment,{children:a}):null}}(e.children),a=e.title??n;return{...e,...a&&{title:a},children:t}}},816:(e,n,t)=>{t.d(n,{A:()=>s});var i=t(96540),o=t(76300),a=t(52376),r=t(85819),d=t(74848);function s(e){let{dosage:n,config:t}=e;const[s,l]=(0,i.useState)(""),[c,u]=(0,i.useState)(t?.language||"en"),[h,m]=(0,i.useState)(null);(0,i.useEffect)((()=>{!async function(){const e=await o.U.build({...t});m(e)}()}),[t]),(0,i.useEffect)((()=>{!async function(){if(h){const e=h.fromDosageToText(n);l(e)}}()}),[n,h]);return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{style:{display:"flex"},children:[(0,d.jsxs)("select",{value:c,onChange:e=>u(e.target.value),style:{marginRight:"10px"},children:[(0,d.jsx)("option",{value:"en",children:"English"}),(0,d.jsx)("option",{value:"fr",children:"French"}),(0,d.jsx)("option",{value:"nl",children:"Dutch"}),(0,d.jsx)("option",{value:"de",children:"German"})]}),(0,d.jsx)("button",{onClick:async()=>{if(h){await h.changeLanguage(c);const e=h.fromDosageToText(n);l(e)}},children:"Confirm"})]}),(0,d.jsx)("div",{style:{marginTop:"10px"},children:(0,d.jsx)(r.default,{language:"markup",children:(f=s,(0,a.decode)(f))})})]});var f}},69309:(e,n,t)=>{t.r(n),t.d(n,{default:()=>u});t(96540);var i=t(70680),o=t(11470),a=t(19365),r=t(85819),d=t(13472),s=t(816),l=t(74848);const c=[{title:"Every 8 hours",dosage:{timing:{repeat:{frequency:1,period:8,periodUnit:"h"}}}},{title:"Every 7 days",dosage:{timing:{repeat:{frequency:1,period:7,periodUnit:"d"}}}},{title:"3 times a day",dosage:{timing:{repeat:{frequency:3,period:1,periodUnit:"d"}}}},{title:"3-4 times a day",dosage:{timing:{repeat:{frequency:3,frequencyMax:4,period:1,periodUnit:"d"}}}},{title:"Every 4-6 hours",dosage:{timing:{repeat:{frequency:1,period:4,periodMax:6,periodUnit:"h"}}}},{title:"Every 21 days for 1 hour",dosage:{timing:{repeat:{duration:1,durationUnit:"h",frequency:1,period:21,periodUnit:"d"}}}},{title:"Three times a week for 0.5 hour",dosage:{timing:{repeat:{duration:.5,durationUnit:"h",frequency:3,period:1,periodUnit:"wk"}}}},{title:"With breakfast",dosage:{timing:{repeat:{when:["CM"]}}}},{title:"For 5 minutes, 10 minutes before meals",dosage:{timing:{repeat:{duration:5,durationUnit:"min",when:["AC"],offset:10}}}},{title:"1 tablet 3 times daily, 30 minutes before meals",dosage:{doseAndRate:[{doseQuantity:{value:1,unit:"tablet"}}],timing:{repeat:{frequency:3,period:1,periodUnit:"d",when:["AC"],offset:30}}}},{title:"BID, 30 mins before meal, for next 10 days",dosage:{timing:{repeat:{frequency:2,period:1,periodUnit:"d",when:["AC"],offset:30,boundsDuration:{value:10,code:"d",system:"http://hl7.org/fhir/ValueSet/duration-units"}}}}},{title:"TID, for 14 days",dosage:{timing:{repeat:{frequency:3,period:1,periodUnit:"d",boundsDuration:{value:14,code:"d",system:"http://hl7.org/fhir/ValueSet/duration-units"}}}}},{title:"BID, start on 7/1/2015 at 1:00 PM",dosage:{timing:{repeat:{frequency:2,period:1,periodUnit:"d",boundsPeriod:{start:"2015-07-01T13:00:00"}}}}},{title:"Mon, Wed, Fri Morning",dosage:{timing:{repeat:{frequency:1,period:1,periodUnit:"d",dayOfWeek:["mon","wed","fri"],when:["MORN"]}}}},{title:"Every day at 10am",dosage:{timing:{repeat:{frequency:1,period:1,periodUnit:"d",timeOfDay:["10:00:00"]}}}},{title:"Take once, at any time",dosage:{timing:{repeat:{count:1}}}},{title:"Take every second day, in the morning, until 20 have been taken",dosage:{timing:{repeat:{frequency:1,period:2,periodUnit:"d",when:["MORN"],count:20}}}}];function u(){return(0,l.jsxs)(i.A,{title:"\u231a Timing",description:"Scenarios listed on https://build.fhir.org/datatypes.html#Timing",children:[(0,l.jsx)(d.A,{type:"info",children:(0,l.jsxs)("p",{children:["Thanks to"," ",(0,l.jsx)("a",{href:"https://build.fhir.org/datatypes.html#Timing",children:"FHIR HL7"})," ","for the examples"]})}),(0,l.jsxs)("table",{children:[(0,l.jsxs)("thead",{children:[(0,l.jsx)("th",{children:"Summary"}),(0,l.jsx)("th",{})]}),(0,l.jsx)("tbody",{children:c.map((e=>(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{children:e.title}),(0,l.jsx)("td",{children:(0,l.jsxs)(o.A,{children:[(0,l.jsx)(a.A,{value:"text",label:"Human readable text",default:!0,children:(0,l.jsx)(s.A,{dosage:e.dosage})}),(0,l.jsx)(a.A,{value:"json",label:"Dosage",children:(0,l.jsx)(r.default,{language:"json",children:JSON.stringify(e.dosage,null,2)})})]})})]})))})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/main.40e9d5e3.js b/assets/js/main.40e9d5e3.js new file mode 100644 index 00000000..6966f2ec --- /dev/null +++ b/assets/js/main.40e9d5e3.js @@ -0,0 +1,2 @@ +/*! For license information please see main.40e9d5e3.js.LICENSE.txt */ +(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8792],{55600:(e,t,n)=>{"use strict";n.d(t,{Bc:()=>C,E8:()=>Zn,a1:()=>Yn});var r=n(96540);n(40961);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t,n,r,o,a,i){try{var s=e[a](i),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function i(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function s(e){a(i,r,o,s,l,"next",e)}function l(e){a(i,r,o,s,l,"throw",e)}s(void 0)}))}}function s(e,t,n){return t=f(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,m()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(null,arguments)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(m=function(){return!!e})()}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function y(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function b(){b=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var a=t&&t.prototype instanceof y?t:y,i=Object.create(a.prototype),s=new A(r||[]);return o(i,"_invoke",{value:O(e,n,s)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var f="suspendedStart",p="suspendedYield",m="executing",h="completed",g={};function y(){}function v(){}function x(){}var w={};c(w,i,(function(){return this}));var S=Object.getPrototypeOf,_=S&&S(S(I([])));_&&_!==n&&r.call(_,i)&&(w=_);var k=x.prototype=y.prototype=Object.create(w);function E(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function P(e,t){function n(o,a,i,s){var l=d(e[o],e,a);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==typeof u&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,i,s)}),(function(e){n("throw",e,i,s)})):t.resolve(u).then((function(e){c.value=e,i(c)}),(function(e){return n("throw",e,i,s)}))}s(l.arg)}var a;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return a=a?a.then(o,o):o()}})}function O(t,n,r){var o=f;return function(a,i){if(o===m)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(r.method=a,r.arg=i;;){var s=r.delegate;if(s){var l=C(s,r);if(l){if(l===g)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===f)throw o=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var c=d(t,n,r);if("normal"===c.type){if(o=r.done?h:p,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(o=h,r.method="throw",r.arg=c.arg)}}}function C(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var a=d(o,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,g;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(j,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=x,o(k,"constructor",{value:x,configurable:!0}),o(x,"constructor",{value:v,configurable:!0}),v.displayName=c(x,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,x):(e.__proto__=x,c(e,l,"GeneratorFunction")),e.prototype=Object.create(k),e},t.awrap=function(e){return{__await:e}},E(P.prototype),c(P.prototype,s,(function(){return this})),t.AsyncIterator=P,t.async=function(e,n,r,o,a){void 0===a&&(a=Promise);var i=new P(u(e,n,r,o),a);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(k),c(k,l,"Generator"),c(k,i,(function(){return this})),c(k,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return s.type="throw",s.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,g):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;T(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||S(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function _(e){var t="function"==typeof Map?new Map:void 0;return _=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(m())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var o=new(e.bind.apply(e,r));return n&&v(o,n.prototype),o}(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,e)},_(e)}function k(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function E(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20","aria-hidden":"true"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var P=["translations"],O="Ctrl",C=r.forwardRef((function(e,t){var n=e.translations,o=void 0===n?{}:n,a=y(e,P),i=o.buttonText,s=void 0===i?"Search":i,l=o.buttonAriaLabel,c=void 0===l?"Search":l,u=x((0,r.useState)(null),2),f=u[0],p=u[1];(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p(O))}),[]);var m=x(f===O?[O,"Ctrl",r.createElement(k,null)]:["Meta","Command",f],3),h=m[0],g=m[1],b=m[2];return r.createElement("button",d({type:"button",className:"DocSearch DocSearch-Button","aria-label":"".concat(c," (").concat(g,"+K)")},a,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(E,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},s)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==f&&r.createElement(r.Fragment,null,r.createElement(j,{reactsToKey:h},b),r.createElement(j,{reactsToKey:"k"},"K"))))}));function j(e){var t=e.reactsToKey,n=e.children,o=x((0,r.useState)(!1),2),a=o[0],i=o[1];return(0,r.useEffect)((function(){if(t)return window.addEventListener("keydown",e),window.addEventListener("keyup",n),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",n)};function e(e){e.key===t&&i(!0)}function n(e){e.key!==t&&"Meta"!==e.key||i(!1)}}),[t]),r.createElement("kbd",{className:a?"DocSearch-Button-Key DocSearch-Button-Key--pressed":"DocSearch-Button-Key"},n)}function T(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,o)}),t)}}function A(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var I=0;function N(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}function D(e){return e!==Object(e)}function R(e,t){if(e===t)return!0;if(D(e)||D(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var o=r[n];if(!(o in t))return!1;if(!R(e[o],t[o]))return!1}return!0}var L=function(){},M=[{segment:"autocomplete-core",version:"1.17.7"}];function F(e){var t=e.item,n=e.items,r=void 0===n?[]:n;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var B=["items"],z=["items"];function U(e){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},U(e)}function $(e){return function(e){if(Array.isArray(e))return H(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function V(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach((function(t){G(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function G(e,t,n){return(t=function(e){var t=function(e){if("object"!==U(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==U(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===U(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q(e){return e.map((function(e){var t=e.items,n=V(e,B);return K(K({},n),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||n.objectIDs})}))}function Y(e){var t,n,r,o=(t=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t);else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?q(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((e.version||"").split(".").map(Number),2),n=t[0],r=t[1],n>=3||2===n&&r>=4||1===n&&r>=10);function a(t,n,r){if(o&&void 0!==r){var a=r[0].__autocomplete_algoliaCredentials,i={"X-Algolia-Application-Id":a.appId,"X-Algolia-API-Key":a.apiKey};e.apply(void 0,[t].concat($(n),[{headers:i}]))}else e.apply(void 0,[t].concat($(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setAuthenticatedUserToken:function(t){e("setAuthenticatedUserToken",t)},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&a("clickedObjectIDsAfterSearch",Q(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&a("clickedObjectIDs",Q(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&a("convertedObjectIDsAfterSearch",Q(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&a("convertedObjectIDs",Q(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&t.reduce((function(e,t){var n=t.items,r=V(t,z);return[].concat($(e),$(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r<e.objectIDs.length;r+=t)n.push(K(K({},e),{},{objectIDs:e.objectIDs.slice(r,r+t)}));return n}(K(K({},r),{},{objectIDs:(null==n?void 0:n.map((function(e){return e.objectID})))||r.objectIDs})).map((function(e){return{items:n,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return a("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function Z(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function X(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function J(e){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},J(e)}function ee(e){return function(e){if(Array.isArray(e))return te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?te(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){oe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function oe(e,t,n){return(t=function(e){var t=function(e){if("object"!==J(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==J(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===J(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ae="2.15.0",ie="https://cdn.jsdelivr.net/npm/search-insights@".concat(ae,"/dist/search-insights.min.js"),se=T((function(e){var t=e.onItemsChange,n=e.items,r=e.insights,o=e.state;t({insights:r,insightsEvents:Z({items:n}).map((function(e){return re({eventName:"Items Viewed"},e)})),state:o})}),400);function le(e){var t=function(e){return re({onItemsChange:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.viewedObjectIDs.apply(t,ee(n.map((function(e){return re(re({},e),{},{algoliaSource:ce(e.algoliaSource,r.context)})}))))},onSelect:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.clickedObjectIDsAfterSearch.apply(t,ee(n.map((function(e){return re(re({},e),{},{algoliaSource:ce(e.algoliaSource,r.context)})}))))},onActive:L,__autocomplete_clickAnalytics:!0},e)}(e),n=t.insightsClient,r=t.insightsInitParams,o=t.onItemsChange,a=t.onSelect,i=t.onActive,s=t.__autocomplete_clickAnalytics,l=n;if(n||"undefined"!=typeof window&&function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(l=t[n]),l||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];t[n].queue.push(r)}),t[n].version=ae,l=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=ie,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(e){console.error(t)}}(t))}({window:window}),!l)return{};r&&l("init",re({partial:!0},r));var c=Y(l),u={current:[]},d=T((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(ee(e),ee(t.items))}),[]).filter(X);R(u.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(u.current=n,n.length>0&&se({onItemsChange:o,items:n,insights:c,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive,o=!1;function u(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:re(re({},s?{clickAnalytics:!0}:{}),e?{userToken:ue(e)}:{}),insights:c}})}l("addAlgoliaAgent","insights-plugin"),u(),l("onUserTokenChange",(function(e){o||u(e)})),l("getUserToken",null,(function(e,t){o||u(t)})),l("onAuthenticatedUserTokenChange",(function(e){e?(o=!0,u(e)):(o=!1,l("getUserToken",null,(function(e,t){return u(t)})))})),l("getAuthenticatedUserToken",null,(function(e,t){t&&(o=!0,u(t))})),n((function(e){var t=e.item,n=e.state,r=e.event,o=e.source;X(t)&&a({state:n,event:r,insights:c,item:t,insightsEvents:[re({eventName:"Item Selected"},F({item:t,items:o.getItems().filter(X)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,o=e.event;X(t)&&i({state:r,event:o,insights:c,item:t,insightsEvents:[re({eventName:"Item Active"},F({item:t,items:n.getItems().filter(X)}))]})}))},onStateChange:function(e){var t=e.state;d({state:t})},__autocomplete_pluginOptions:e}}function ce(){var e,t=arguments.length>1?arguments[1]:void 0;return[].concat(ee(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),["autocomplete-internal"],ee(null!==(e=t.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function ue(e){return"number"==typeof e?e.toString():e}function de(e,t){var n=t;return{then:function(t,r){return de(e.then(pe(t,n,e),pe(r,n,e)),n)},catch:function(t){return de(e.catch(pe(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),de(e.finally(pe(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function fe(e){return de(e,{isCanceled:!1,onCancelList:[]})}function pe(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function me(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function he(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ge(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?he(Object(n),!0).forEach((function(t){ye(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):he(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ye(e,t,n){return(t=function(e){var t=function(e){if("object"!==be(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==be(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===be(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function be(e){return be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},be(e)}function ve(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,a=0;!1===r;){var i=t.collections[o];if(i===n){r=!0;break}a+=i.items.length,o++}return t.activeItemId-a}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function xe(e,t,n){return[e,null==n?void 0:n.sourceId,t].filter(Boolean).join("-").replace(/\s/g,"")}var we=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function Se(e){return e.nativeEvent||e}function _e(e){return _e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_e(e)}function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ee(e,t,n){return(t=function(e){var t=function(e){if("object"!==_e(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==_e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===_e(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pe(e){return Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe(e)}function Oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ce(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Oe(Object(n),!0).forEach((function(t){je(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Oe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function je(e,t,n){return(t=function(e){var t=function(e){if("object"!==Pe(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Pe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Pe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Te(e){return Te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Te(e)}function Ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(n),!0).forEach((function(t){De(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ie(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function De(e,t,n){return(t=function(e){var t=function(e){if("object"!==Te(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Te(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Te(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Re(e,t){var n,r="undefined"!=typeof window?window:{},o=e.plugins||[];return Ne(Ne({debug:!1,openOnFocus:!1,enterKeyHint:void 0,ignoreCompositionEvents:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:void 0,environment:r,shouldPanelOpen:function(e){return N(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:"autocomplete-".concat(I++),plugins:o,initialState:Ne({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(function(e){return function(e){if(Array.isArray(e))return Ae(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Ae(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ae(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:L,onResolve:L};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=ge(ge({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return A(e)})).then((function(e){return e.map((function(e){return Ne(Ne({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:Ne({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function Le(e){return Le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Le(e)}function Me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Me(Object(n),!0).forEach((function(t){qe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function qe(e,t,n){return(t=function(e){var t=function(e){if("object"!==Le(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Le(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Le(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Be(e){return Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be(e)}function ze(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ue(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(n),!0).forEach((function(t){$e(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ze(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $e(e,t,n){return(t=function(e){var t=function(e){if("object"!==Be(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Be(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Be(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function He(e){return function(e){if(Array.isArray(e))return Ve(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ve(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function We(e){return Boolean(e.execute)}function Ke(e){var t=e.reduce((function(e,t){if(!We(t))return e.push(t),e;var n=t.searchClient,r=t.execute,o=t.requesterId,a=t.requests,i=e.find((function(e){return We(t)&&We(e)&&e.searchClient===n&&Boolean(o)&&e.requesterId===o}));if(i){var s;(s=i.items).push.apply(s,He(a))}else{var l={execute:r,requesterId:o,items:a,searchClient:n};e.push(l)}return e}),[]).map((function(e){if(!We(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})}));return Promise.all(t).then((function(e){return A(e)}))}function Ge(e){return Ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ge(e)}var Qe=["event","nextState","props","query","refresh","store"];function Ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ze(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ye(Object(n),!0).forEach((function(t){Xe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ye(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xe(e,t,n){return(t=function(e){var t=function(e){if("object"!==Ge(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Ge(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ge(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Je,et,tt,nt=null,rt=(Je=-1,et=-1,tt=void 0,function(e){var t=++Je;return Promise.resolve(e).then((function(e){return tt&&t<et?tt:(et=t,tt=e,e)}))});function ot(e){var t=e.event,n=e.nextState,r=void 0===n?{}:n,o=e.props,a=e.query,i=e.refresh,s=e.store,l=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,Qe);nt&&o.environment.clearTimeout(nt);var c=l.setCollections,u=l.setIsOpen,d=l.setQuery,f=l.setActiveItemId,p=l.setStatus,m=l.setContext;if(d(a),f(o.defaultActiveItemId),!a&&!1===o.openOnFocus){var h,g=s.getState().collections.map((function(e){return Ze(Ze({},e),{},{items:[]})}));p("idle"),c(g),u(null!==(h=r.isOpen)&&void 0!==h?h:o.shouldPanelOpen({state:s.getState()}));var y=fe(rt(g).then((function(){return Promise.resolve()})));return s.pendingRequests.add(y)}p("loading"),nt=o.environment.setTimeout((function(){p("stalled")}),o.stallThreshold);var b=fe(rt(o.getSources(Ze({query:a,refresh:i,state:s.getState()},l)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(Ze({query:a,refresh:i,state:s.getState()},l))).then((function(t){return function(e,t,n){if(o=e,Boolean(null==o?void 0:o.execute)){var r="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(He(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return Ue(Ue({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?Ue(Ue({},n),{},{params:Ue(Ue({},r),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}(t,e.sourceId,s.getState())}))}))).then(Ke).then((function(t){var n,r=t.some((function(e){return function(e){return!Array.isArray(e)&&Boolean(null==e?void 0:e._automaticInsights)}(e.items)}));return r&&m({algoliaInsightsPlugin:Ze(Ze({},(null===(n=s.getState().context)||void 0===n?void 0:n.algoliaInsightsPlugin)||{}),{},{__automaticInsights:r})}),function(e,t,n){return t.map((function(t){var r,o=e.filter((function(e){return e.sourceId===t.sourceId})),a=o.map((function(e){return e.items})),i=o[0].transformResponse,s=i?i({results:r=a,hits:r.map((function(e){return e.hits})).filter(Boolean),facetHits:r.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):a;return t.onResolve({source:t,results:a,items:s,state:n.getState()}),s.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:s}}))}(t,e,s)})).then((function(e){return function(e){var t=e.props,n=e.state,r=e.collections.reduce((function(e,t){return Fe(Fe({},e),{},qe({},t.source.sourceId,Fe(Fe({},t.source),{},{getItems:function(){return A(t.items)}})))}),{}),o=t.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:r,state:n}).sourcesBySourceId;return A(t.reshape({sourcesBySourceId:o,sources:Object.values(o),state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:s.getState()})}))})))).then((function(e){var n;p("idle"),c(e);var d=o.shouldPanelOpen({state:s.getState()});u(null!==(n=r.isOpen)&&void 0!==n?n:o.openOnFocus&&!a&&d||d);var f=ve(s.getState());if(null!==s.getState().activeItemId&&f){var m=f.item,h=f.itemInputValue,g=f.itemUrl,y=f.source;y.onActive(Ze({event:t,item:m,itemInputValue:h,itemUrl:g,refresh:i,source:y,state:s.getState()},l))}})).finally((function(){p("idle"),nt&&o.environment.clearTimeout(nt)}));return s.pendingRequests.add(b)}function at(e){return at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},at(e)}var it=["event","props","refresh","store"];function st(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?st(Object(n),!0).forEach((function(t){ct(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):st(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ct(e,t,n){return(t=function(e){var t=function(e){if("object"!==at(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==at(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===at(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ut(e){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ut(e)}var dt=["props","refresh","store"],ft=["inputElement","formElement","panelElement"],pt=["inputElement"],mt=["inputElement","maxLength"],ht=["source"],gt=["item","source"];function yt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yt(Object(n),!0).forEach((function(t){vt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function vt(e,t,n){return(t=function(e){var t=function(e){if("object"!==ut(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ut(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ut(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xt(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function wt(e){var t=e.props,n=e.refresh,r=e.store,o=xt(e,dt);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return(n=t)===(r=e.target)||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return bt({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},xt(e,ft))},getRootProps:function(e){return bt({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return xe(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":xe(t.id,"label")},e)},getFormProps:function(e){return e.inputElement,bt({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(bt({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(bt({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},xt(e,pt))},getLabelProps:function(e){return bt({htmlFor:xe(t.id,"input"),id:xe(t.id,"label")},e)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&ot(bt({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var s=e||{};s.inputElement;var l=s.maxLength,c=void 0===l?512:l,u=xt(s,mt),d=ve(r.getState()),f=function(e){return Boolean(e&&e.match(we))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),p=t.enterKeyHint||(null!=d&&d.itemUrl&&!f?"go":"search");return bt({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?xe(t.id,"item-".concat(r.getState().activeItemId),null==d?void 0:d.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return xe(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":xe(t.id,"label"),value:r.getState().completion||r.getState().query,id:xe(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:p,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:c,type:"search",onChange:function(e){var a=e.currentTarget.value;t.ignoreCompositionEvents&&Se(e).isComposing?o.setQuery(a):ot(bt({event:e,props:t,query:a.slice(0,c),refresh:n,store:r},o))},onCompositionEnd:function(e){ot(bt({event:e,props:t,query:e.currentTarget.value.slice(0,c),refresh:n,store:r},o))},onKeyDown:function(e){Se(e).isComposing||function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,it);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=ve(o.getState()),t=n.environment.document.getElementById(xe(n.id,"item-".concat(o.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},s=function(){var e=ve(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,s=e.itemUrl,l=e.source;l.onActive(lt({event:t,item:n,itemInputValue:i,itemUrl:s,refresh:r,source:l,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?ot(lt({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),s(),setTimeout(i,0)})):(o.dispatch(t.key,{}),s(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=ve(o.getState()),c=l.item,u=l.itemInputValue,d=l.itemUrl,f=l.source;if(t.metaKey||t.ctrlKey)void 0!==d&&(f.onSelect(lt({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:d,item:c,state:o.getState()}));else if(t.shiftKey)void 0!==d&&(f.onSelect(lt({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:d,item:c,state:o.getState()}));else if(t.altKey);else{if(void 0!==d)return f.onSelect(lt({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),void n.navigator.navigate({itemUrl:d,item:c,state:o.getState()});ot(lt({event:t,nextState:{isOpen:!1},props:n,query:u,refresh:r,store:o},a)).then((function(){f.onSelect(lt({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a))}))}}}(bt({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:L,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},u)},getPanelProps:function(e){return bt({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,o=xt(n,ht);return bt({role:"listbox","aria-labelledby":xe(t.id,"label"),id:xe(t.id,"list",r)},o)},getItemProps:function(e){var a=e.item,i=e.source,s=xt(e,gt);return bt({id:xe(t.id,"item-".concat(a.__autocomplete_id),i),role:"option","aria-selected":r.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",a.__autocomplete_id);var t=ve(r.getState());if(null!==r.getState().activeItemId&&t){var i=t.item,s=t.itemInputValue,l=t.itemUrl,c=t.source;c.onActive(bt({event:e,item:i,itemInputValue:s,itemUrl:l,refresh:n,source:c,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var s=i.getItemInputValue({item:a,state:r.getState()}),l=i.getItemUrl({item:a,state:r.getState()});(l?Promise.resolve():ot(bt({event:e,nextState:{isOpen:!1},props:t,query:s,refresh:n,store:r},o))).then((function(){i.onSelect(bt({event:e,item:a,itemInputValue:s,itemUrl:l,refresh:n,source:i,state:r.getState()},o))}))}},s)}}}function St(e){return St="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},St(e)}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function kt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_t(Object(n),!0).forEach((function(t){Et(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_t(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Et(e,t,n){return(t=function(e){var t=function(e){if("object"!==St(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==St(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===St(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pt(e){var t,n,r,o,a=e.plugins,i=e.options,s=null===(t=((null===(n=i.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,l=s?Et({},s,Object.keys((null===(r=i.__autocomplete_metadata)||void 0===r?void 0:r.options)||{})):{};return{plugins:a.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:kt({"autocomplete-core":Object.keys(i)},l),ua:M.concat((null===(o=i.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function Ot(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=ve(n))||void 0===t?void 0:t.itemInputValue)||null}function Ct(e){return Ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ct(e)}function jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Tt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jt(Object(n),!0).forEach((function(t){At(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function At(e,t,n){return(t=function(e){var t=function(e){if("object"!==Ct(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Ct(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ct(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var It=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return Tt(Tt({},e),{},{activeItemId:t.payload});case"setQuery":return Tt(Tt({},e),{},{query:t.payload,completion:null});case"setCollections":return Tt(Tt({},e),{},{collections:t.payload});case"setIsOpen":return Tt(Tt({},e),{},{isOpen:t.payload});case"setStatus":return Tt(Tt({},e),{},{status:t.payload});case"setContext":return Tt(Tt({},e),{},{context:Tt(Tt({},e.context),t.payload)});case"ArrowDown":var n=Tt(Tt({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:me(1,e.activeItemId,N(e),t.props.defaultActiveItemId)});return Tt(Tt({},n),{},{completion:Ot({state:n})});case"ArrowUp":var r=Tt(Tt({},e),{},{activeItemId:me(-1,e.activeItemId,N(e),t.props.defaultActiveItemId)});return Tt(Tt({},r),{},{completion:Ot({state:r})});case"Escape":return e.isOpen?Tt(Tt({},e),{},{activeItemId:null,isOpen:!1,completion:null}):Tt(Tt({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return Tt(Tt({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return Tt(Tt({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",completion:null,query:""});case"focus":return Tt(Tt({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:Tt(Tt({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return Tt(Tt({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function Nt(e){return Nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nt(e)}function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dt(Object(n),!0).forEach((function(t){Lt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Lt(e,t,n){return(t=function(e){var t=function(e){if("object"!==Nt(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Nt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mt(e){var t=[],n=Re(e,t),r=function(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,a){var i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ke(Object(n),!0).forEach((function(t){Ee(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},o);o=e(o,{type:r,props:t,payload:a}),n({state:o,prevState:i})},pendingRequests:(r=[],{add:function(e){return r.push(e),e.finally((function(){r=r.filter((function(t){return t!==e}))}))},cancelAll:function(){r.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===r.length}})}}(It,n,(function(e){var t,r,a=e.prevState,c=e.state;if(n.onStateChange(Rt({prevState:a,state:c,refresh:i,navigator:n.navigator},o)),!l()&&null!==(t=c.context)&&void 0!==t&&null!==(r=t.algoliaInsightsPlugin)&&void 0!==r&&r.__automaticInsights&&!1!==n.insights){var u=le({__autocomplete_clickAnalytics:!1});n.plugins.push(u),s([u])}})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return Ce(Ce({},e),{},{items:A(e.items).map((function(e){return Ce(Ce({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),a=wt(Rt({props:n,refresh:i,store:r,navigator:n.navigator},o));function i(){return ot(Rt({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,navigator:n.navigator,query:r.getState().query,refresh:i,store:r},o))}function s(e){e.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,Rt(Rt({},o),{},{navigator:n.navigator,refresh:i,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))}))}function l(){return n.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))}if(n.insights&&!l()){var c="boolean"==typeof n.insights?{}:n.insights;n.plugins.push(le(c))}return s(n.plugins),function(e){var t,n,r=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var a=o.document.createElement("meta"),i=o.document.querySelector("head");a.name="algolia:metadata",setTimeout((function(){a.content=JSON.stringify(r),i.appendChild(a)}),0)}}({metadata:Pt({plugins:n.plugins,options:e}),environment:n.environment}),Rt(Rt({refresh:i,navigator:n.navigator},a),o)}function Ft(e){var t=e.translations,n=(void 0===t?{}:t).searchByText,o=void 0===n?"Search by":n;return r.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},r.createElement("span",{className:"DocSearch-Label"},o),r.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2196.2 500"},r.createElement("defs",null,r.createElement("style",null,".cls-1,.cls-2{fill:#003dff;}.cls-2{fill-rule:evenodd;}")),r.createElement("path",{className:"cls-2",d:"M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),r.createElement("rect",{className:"cls-1",x:"1845.88",y:"104.73",width:"62.58",height:"277.9",rx:"5.9",ry:"5.9"}),r.createElement("path",{className:"cls-2",d:"M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"}),r.createElement("path",{className:"cls-2",d:"M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),r.createElement("path",{className:"cls-2",d:"M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"}),r.createElement("path",{className:"cls-2",d:"M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),r.createElement("path",{className:"cls-2",d:"M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),r.createElement("path",{className:"cls-2",d:"M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"}),r.createElement("path",{className:"cls-1",d:"M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"})))}function qt(e){return r.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},r.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function Bt(e){var t=e.translations,n=void 0===t?{}:t,o=n.selectText,a=void 0===o?"to select":o,i=n.selectKeyAriaLabel,s=void 0===i?"Enter key":i,l=n.navigateText,c=void 0===l?"to navigate":l,u=n.navigateUpKeyAriaLabel,d=void 0===u?"Arrow up":u,f=n.navigateDownKeyAriaLabel,p=void 0===f?"Arrow down":f,m=n.closeText,h=void 0===m?"to close":m,g=n.closeKeyAriaLabel,y=void 0===g?"Escape key":g,b=n.searchByText,v=void 0===b?"Search by":b;return r.createElement(r.Fragment,null,r.createElement("div",{className:"DocSearch-Logo"},r.createElement(Ft,{translations:{searchByText:v}})),r.createElement("ul",{className:"DocSearch-Commands"},r.createElement("li",null,r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(qt,{ariaLabel:s},r.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),r.createElement("span",{className:"DocSearch-Label"},a)),r.createElement("li",null,r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(qt,{ariaLabel:p},r.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(qt,{ariaLabel:d},r.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),r.createElement("span",{className:"DocSearch-Label"},c)),r.createElement("li",null,r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(qt,{ariaLabel:y},r.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),r.createElement("span",{className:"DocSearch-Label"},h))))}function zt(e){var t=e.hit,n=e.children;return r.createElement("a",{href:t.url},n)}function Ut(){return r.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},r.createElement("g",{fill:"none",fillRule:"evenodd"},r.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),r.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},r.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}function $t(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),r.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function Ht(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Vt(){return r.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),r.createElement("path",{d:"M8 17l-6-6 6-6"})))}var Wt=function(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Kt(e){switch(e.type){case"lvl1":return r.createElement(Wt,null);case"content":return r.createElement(Qt,null);default:return r.createElement(Gt,null)}}function Gt(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Qt(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Yt(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Zt(){return r.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function Xt(){return r.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}function Jt(e){var t=e.translations,n=void 0===t?{}:t,o=n.titleText,a=void 0===o?"Unable to fetch results":o,i=n.helpText,s=void 0===i?"You might want to check your network connection.":i;return r.createElement("div",{className:"DocSearch-ErrorScreen"},r.createElement("div",{className:"DocSearch-Screen-Icon"},r.createElement(Zt,null)),r.createElement("p",{className:"DocSearch-Title"},a),r.createElement("p",{className:"DocSearch-Help"},s))}var en=["translations"];function tn(e){var t=e.translations,n=void 0===t?{}:t,o=y(e,en),a=n.noResultsText,i=void 0===a?"No results for":a,s=n.suggestedQueryText,l=void 0===s?"Try searching for":s,c=n.reportMissingResultsText,u=void 0===c?"Believe this query should return results?":c,d=n.reportMissingResultsLinkText,f=void 0===d?"Let us know.":d,p=o.state.context.searchSuggestions;return r.createElement("div",{className:"DocSearch-NoResults"},r.createElement("div",{className:"DocSearch-Screen-Icon"},r.createElement(Xt,null)),r.createElement("p",{className:"DocSearch-Title"},i,' "',r.createElement("strong",null,o.state.query),'"'),p&&p.length>0&&r.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},r.createElement("p",{className:"DocSearch-Help"},l,":"),r.createElement("ul",null,p.slice(0,3).reduce((function(e,t){return[].concat(w(e),[r.createElement("li",{key:t},r.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){o.setQuery(t.toLowerCase()+" "),o.refresh(),o.inputRef.current.focus()}},t))])}),[]))),o.getMissingResultsUrl&&r.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),r.createElement("a",{href:o.getMissingResultsUrl({query:o.state.query}),target:"_blank",rel:"noopener noreferrer"},f)))}var nn=["hit","attribute","tagName"];function rn(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function on(e){var t=e.hit,n=e.attribute,o=e.tagName,a=void 0===o?"span":o,i=y(e,nn);return(0,r.createElement)(a,g(g({},i),{},{dangerouslySetInnerHTML:{__html:rn(t,"_snippetResult.".concat(n,".value"))||rn(t,n)}}))}function an(e){return e.collection&&0!==e.collection.items.length?r.createElement("section",{className:"DocSearch-Hits"},r.createElement("div",{className:"DocSearch-Hit-source"},e.title),r.createElement("ul",e.getListProps(),e.collection.items.map((function(t,n){return r.createElement(sn,d({key:[e.title,t.objectID].join(":"),item:t,index:n},e))})))):null}function sn(e){var t=e.item,n=e.index,o=e.renderIcon,a=e.renderAction,i=e.getItemProps,s=e.onItemClick,l=e.collection,c=e.hitComponent,u=x(r.useState(!1),2),f=u[0],p=u[1],m=x(r.useState(!1),2),h=m[0],g=m[1],y=r.useRef(null),b=c;return r.createElement("li",d({className:["DocSearch-Hit",t.__docsearch_parent&&"DocSearch-Hit--Child",f&&"DocSearch-Hit--deleting",h&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){y.current&&y.current()}},i({item:t,source:l.source,onClick:function(e){s(t,e)}})),r.createElement(b,{hit:t},r.createElement("div",{className:"DocSearch-Hit-Container"},o({item:t,index:n}),t.hierarchy[t.type]&&"lvl1"===t.type&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement(on,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.lvl1"}),t.content&&r.createElement(on,{className:"DocSearch-Hit-path",hit:t,attribute:"content"})),t.hierarchy[t.type]&&("lvl2"===t.type||"lvl3"===t.type||"lvl4"===t.type||"lvl5"===t.type||"lvl6"===t.type)&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement(on,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.".concat(t.type)}),r.createElement(on,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),"content"===t.type&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement(on,{className:"DocSearch-Hit-title",hit:t,attribute:"content"}),r.createElement(on,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),a({item:t,runDeleteTransition:function(e){p(!0),y.current=e},runFavoriteTransition:function(e){g(!0),y.current=e}}))))}function ln(e,t,n){return e.reduce((function(e,r){var o=t(r);return e.hasOwnProperty(o)||(e[o]=[]),e[o].length<(n||5)&&e[o].push(r),e}),{})}function cn(e){return e}function un(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function dn(){}var fn=/(<mark>|<\/mark>)/g,pn=RegExp(fn.source);function mn(e){var t,n,r=e;if(!r.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var o=r.__docsearch_parent?null===(t=r.__docsearch_parent)||void 0===t||null===(t=t._highlightResult)||void 0===t||null===(t=t.hierarchy)||void 0===t?void 0:t.lvl0:null===(n=e._highlightResult)||void 0===n||null===(n=n.hierarchy)||void 0===n?void 0:n.lvl0;return o?o.value&&pn.test(o.value)?o.value.replace(fn,""):o.value:e.hierarchy.lvl0}function hn(e){return r.createElement("div",{className:"DocSearch-Dropdown-Container"},e.state.collections.map((function(t){if(0===t.items.length)return null;var n=mn(t.items[0]);return r.createElement(an,d({},e,{key:t.source.sourceId,title:n,collection:t,renderIcon:function(e){var n,o=e.item,a=e.index;return r.createElement(r.Fragment,null,o.__docsearch_parent&&r.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},o.__docsearch_parent!==(null===(n=t.items[a+1])||void 0===n?void 0:n.__docsearch_parent)?r.createElement("path",{d:"M8 6v21M20 27H8.3"}):r.createElement("path",{d:"M8 6v42M20 27H8.3"}))),r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(Kt,{type:o.type})))},renderAction:function(){return r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement(Vt,null))}}))})),e.resultsFooterComponent&&r.createElement("section",{className:"DocSearch-HitsFooter"},r.createElement(e.resultsFooterComponent,{state:e.state})))}var gn=["translations"];function yn(e){var t=e.translations,n=void 0===t?{}:t,o=y(e,gn),a=n.recentSearchesTitle,i=void 0===a?"Recent":a,s=n.noRecentSearchesText,l=void 0===s?"No recent searches":s,c=n.saveRecentSearchButtonTitle,u=void 0===c?"Save this search":c,f=n.removeRecentSearchButtonTitle,p=void 0===f?"Remove this search from history":f,m=n.favoriteSearchesTitle,h=void 0===m?"Favorite":m,g=n.removeFavoriteSearchButtonTitle,b=void 0===g?"Remove this search from favorites":g;return"idle"===o.state.status&&!1===o.hasCollections?o.disableUserPersonalization?null:r.createElement("div",{className:"DocSearch-StartScreen"},r.createElement("p",{className:"DocSearch-Help"},l)):!1===o.hasCollections?null:r.createElement("div",{className:"DocSearch-Dropdown-Container"},r.createElement(an,d({},o,{title:i,collection:o.state.collections[0],renderIcon:function(){return r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement($t,null))},renderAction:function(e){var t=e.item,n=e.runFavoriteTransition,a=e.runDeleteTransition;return r.createElement(r.Fragment,null,r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){o.favoriteSearches.add(t),o.recentSearches.remove(t),o.refresh()}))}},r.createElement(Yt,null))),r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:p,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),a((function(){o.recentSearches.remove(t),o.refresh()}))}},r.createElement(Ht,null))))}})),r.createElement(an,d({},o,{title:h,collection:o.state.collections[1],renderIcon:function(){return r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(Yt,null))},renderAction:function(e){var t=e.item,n=e.runDeleteTransition;return r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:b,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){o.favoriteSearches.remove(t),o.refresh()}))}},r.createElement(Ht,null)))}})))}var bn=["translations"],vn=r.memo((function(e){var t=e.translations,n=void 0===t?{}:t,o=y(e,bn);if("error"===o.state.status)return r.createElement(Jt,{translations:null==n?void 0:n.errorScreen});var a=o.state.collections.some((function(e){return e.items.length>0}));return o.state.query?!1===a?r.createElement(tn,d({},o,{translations:null==n?void 0:n.noResultsScreen})):r.createElement(hn,o):r.createElement(yn,d({},o,{hasCollections:a,translations:null==n?void 0:n.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status})),xn=["translations"];function wn(e){var t=e.translations,n=void 0===t?{}:t,o=y(e,xn),a=n.resetButtonTitle,i=void 0===a?"Clear the query":a,s=n.resetButtonAriaLabel,l=void 0===s?"Clear the query":s,c=n.cancelButtonText,u=void 0===c?"Cancel":c,f=n.cancelButtonAriaLabel,p=void 0===f?"Cancel":f,m=n.searchInputLabel,h=void 0===m?"Search":m,g=o.getFormProps({inputElement:o.inputRef.current}).onReset;return r.useEffect((function(){o.autoFocus&&o.inputRef.current&&o.inputRef.current.focus()}),[o.autoFocus,o.inputRef]),r.useEffect((function(){o.isFromSelection&&o.inputRef.current&&o.inputRef.current.select()}),[o.isFromSelection,o.inputRef]),r.createElement(r.Fragment,null,r.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:g},r.createElement("label",d({className:"DocSearch-MagnifierLabel"},o.getLabelProps()),r.createElement(E,null),r.createElement("span",{className:"DocSearch-VisuallyHiddenForAccessibility"},h)),r.createElement("div",{className:"DocSearch-LoadingIndicator"},r.createElement(Ut,null)),r.createElement("input",d({className:"DocSearch-Input",ref:o.inputRef},o.getInputProps({inputElement:o.inputRef.current,autoFocus:o.autoFocus,maxLength:64}))),r.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":l,hidden:!o.state.query},r.createElement(Ht,null))),r.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":p,onClick:o.onClose},u))}var Sn=["_highlightResult","_snippetResult"];function _n(e){var t=e.key,n=e.limit,r=void 0===n?5:n,o=function(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(e){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}(t),a=o.getItem().slice(0,r);return{add:function(e){var t=e;t._highlightResult,t._snippetResult;var n=y(t,Sn),i=a.findIndex((function(e){return e.objectID===n.objectID}));i>-1&&a.splice(i,1),a.unshift(n),a=a.slice(0,r),o.setItem(a)},remove:function(e){a=a.filter((function(t){return t.objectID!==e.objectID})),o.setItem(a)},getAll:function(){return a}}}function kn(e){var t,n="algolia-client-js-".concat(e.key);function r(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function o(){return JSON.parse(r().getItem(n)||"{}")}function a(e){r().setItem(n,JSON.stringify(e))}return{get:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var n,r,i;return n=e.timeToLive?1e3*e.timeToLive:null,r=o(),a(i=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==x(e,2)[1].timestamp})))),n&&a(Object.fromEntries(Object.entries(i).filter((function(e){var t=x(e,2)[1],r=(new Date).getTime();return!(t.timestamp+n<r)})))),o()[JSON.stringify(t)]})).then((function(e){return Promise.all([e?e.value:n(),void 0!==e])})).then((function(e){var t=x(e,2),n=t[0],o=t[1];return Promise.all([n,o||r.miss(n)])})).then((function(e){return x(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var a=o();return a[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},r().setItem(n,JSON.stringify(a)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=o();delete t[JSON.stringify(e)],r().setItem(n,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){r().removeItem(n)}))}}}function En(e){var t=w(e.caches),n=t.shift();return void 0===n?{get:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,n.miss(e)])})).then((function(e){return x(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(e,r,o).catch((function(){return En({caches:t}).get(e,r,o)}))},set:function(e,r){return n.set(e,r).catch((function(){return En({caches:t}).set(e,r)}))},delete:function(e){return n.delete(e).catch((function(){return En({caches:t}).delete(e)}))},clear:function(){return n.clear().catch((function(){return En({caches:t}).clear()}))}}}function Pn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(n,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(n);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var i=r();return i.then((function(e){return o.miss(e)})).then((function(){return i}))},set:function(n,r){return t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function On(e){var t=e.algoliaAgents,n=e.client,r=e.version,o=function(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var n="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(n)&&(t.value="".concat(t.value).concat(n)),t}};return t}(r).add({segment:n,version:r});return t.forEach((function(e){return o.add(e)})),o}var Cn=12e4;function jn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"up",n=Date.now();return g(g({},e),{},{status:t,lastUpdate:n,isUp:function(){return"up"===t||Date.now()-n>Cn},isTimedOut:function(){return"timed out"===t&&Date.now()-n<=Cn}})}var Tn=function(){function e(t,n){var r;return l(this,e),u(r=s(this,e,[t]),"name","AlgoliaError"),n&&(r.name=n),r}return p(e,_(Error)),c(e)}(),An=function(){function e(t,n,r){var o;return l(this,e),u(o=s(this,e,[t,r]),"stackTrace",void 0),o.stackTrace=n,o}return p(e,Tn),c(e)}(),In=function(){function e(t){return l(this,e),s(this,e,["Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support.",t,"RetryError"])}return p(e,An),c(e)}(),Nn=function(){function e(t,n,r){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"ApiError";return l(this,e),u(o=s(this,e,[t,r,a]),"status",void 0),o.status=n,o}return p(e,An),c(e)}(),Dn=function(){function e(t,n){var r;return l(this,e),u(r=s(this,e,[t,"DeserializationError"]),"response",void 0),r.response=n,r}return p(e,Tn),c(e)}(),Rn=function(){function e(t,n,r,o){var a;return l(this,e),u(a=s(this,e,[t,n,o,"DetailedApiError"]),"error",void 0),a.error=r,a}return p(e,Nn),c(e)}();function Ln(e,t,n){var r,o=(r=n,Object.keys(r).filter((function(e){return void 0!==r[e]})).sort().map((function(e){return"".concat(e,"=").concat(encodeURIComponent("[object Array]"===Object.prototype.toString.call(r[e])?r[e].join(","):r[e]).replace(/\+/g,"%20"))})).join("&")),a="".concat(e.protocol,"://").concat(e.url).concat(e.port?":".concat(e.port):"","/").concat("/"===t.charAt(0)?t.substring(1):t);return o.length&&(a+="?".concat(o)),a}function Mn(e,t){if("GET"!==e.method&&(void 0!==e.data||void 0!==t.data)){var n=Array.isArray(e.data)?e.data:g(g({},e.data),t.data);return JSON.stringify(n)}}function Fn(e,t,n){var r=g(g(g({Accept:"application/json"},e),t),n),o={};return Object.keys(r).forEach((function(e){var t=r[e];o[e.toLowerCase()]=t})),o}function qn(e){try{return JSON.parse(e.content)}catch(t){throw new Dn(t.message,e)}}function Bn(e,t){var n=e.content,r=e.status;try{var o=JSON.parse(n);return"error"in o?new Rn(o.message,r,o.error,t):new Nn(o.message,r,t)}catch(e){}return new Nn(n,r,t)}function zn(e){return e.map((function(e){return Un(e)}))}function Un(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return g(g({},e),{},{request:g(g({},e.request),{},{headers:g(g({},e.request.headers),t)})})}var $n=["appId","apiKey","authMode","algoliaAgents"],Hn=["params"],Vn="5.12.0";function Wn(e){return[{url:"".concat(e,"-dsn.algolia.net"),accept:"read",protocol:"https"},{url:"".concat(e,".algolia.net"),accept:"write",protocol:"https"}].concat(function(e){for(var t=e,n=e.length-1;n>0;n--){var r=Math.floor(Math.random()*(n+1)),o=e[n];t[n]=e[r],t[r]=o}return t}([{url:"".concat(e,"-1.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(e,"-2.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(e,"-3.algolianet.com"),accept:"readWrite",protocol:"https"}]))}var Kn="3.8.0";function Gn(e,t,n){return r.useMemo((function(){var r=function(e,t){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");return function(e){var t=e.appId,n=e.apiKey,r=e.authMode,o=e.algoliaAgents,a=y(e,$n),s=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"WithinHeaders",r={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:function(){return"WithinHeaders"===n?r:{}},queryParameters:function(){return"WithinQueryParameters"===n?r:{}}}}(t,n,r),l=function(e){var t=e.hosts,n=e.hostsCache,r=e.baseHeaders,o=e.logger,a=e.baseQueryParameters,s=e.algoliaAgent,l=e.timeouts,c=e.requester,u=e.requestsCache,d=e.responsesCache;function f(e){return p.apply(this,arguments)}function p(){return(p=i(b().mark((function e(t){var r,o,a,i,s;return b().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return n.get(e,(function(){return Promise.resolve(jn(e))}))})));case 2:return r=e.sent,o=r.filter((function(e){return e.isUp()})),a=r.filter((function(e){return e.isTimedOut()})),i=[].concat(w(o),w(a)),s=i.length>0?i:t,e.abrupt("return",{hosts:s,getTimeout:function(e,t){return(0===a.length&&0===e?1:a.length+3+e)*t}});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function m(e,t){return h.apply(this,arguments)}function h(){return h=i(b().mark((function e(u,d){var p,m,h,y,v,x,S,_,k,E,P,O,C,j=arguments;return b().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(p=!(j.length>2&&void 0!==j[2])||j[2],m=[],h=Mn(u,d),y=Fn(r,u.headers,d.headers),v="GET"===u.method?g(g({},u.data),d.data):{},x=g(g(g({},a),u.queryParameters),v),s.value&&(x["x-algolia-agent"]=s.value),d&&d.queryParameters)for(S=0,_=Object.keys(d.queryParameters);S<_.length;S++)k=_[S],d.queryParameters[k]&&"[object Object]"!==Object.prototype.toString.call(d.queryParameters[k])?x[k]=d.queryParameters[k].toString():x[k]=d.queryParameters[k];return E=0,P=function(){var e=i(b().mark((function e(t,r){var a,i,s,f,v,w;return b().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==(a=t.pop())){e.next=3;break}throw new In(zn(m));case 3:return i=g(g({},l),d.timeouts),s={data:h,headers:y,method:u.method,url:Ln(a,u.path,x),connectTimeout:r(E,i.connect),responseTimeout:r(E,p?i.read:i.write)},f=function(e){var n={request:s,response:e,host:a,triesLeft:t.length};return m.push(n),n},e.next=8,c.send(s);case 8:if(S=(b=v=e.sent).isTimedOut,_=b.status,!(S||function(e){return!e.isTimedOut&&!~~e.status}({isTimedOut:S,status:_})||2!=~~(_/100)&&4!=~~(_/100))){e.next=16;break}return w=f(v),v.isTimedOut&&E++,o.info("Retryable failure",Un(w)),e.next=15,n.set(a,jn(a,v.isTimedOut?"timed out":"down"));case 15:return e.abrupt("return",P(t,r));case 16:if(2!=~~(v.status/100)){e.next=18;break}return e.abrupt("return",qn(v));case 18:throw f(v),Bn(v,m);case 20:case"end":return e.stop()}var b,S,_}),e)})));return function(t,n){return e.apply(this,arguments)}}(),O=t.filter((function(e){return"readWrite"===e.accept||(p?"read"===e.accept:"write"===e.accept)})),e.next=13,f(O);case 13:return C=e.sent,e.abrupt("return",P(w(C.hosts).reverse(),C.getTimeout));case 15:case"end":return e.stop()}}),e)}))),h.apply(this,arguments)}return{hostsCache:n,requester:c,timeouts:l,logger:o,algoliaAgent:s,baseHeaders:r,baseQueryParameters:a,hosts:t,request:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.useReadTransporter||"GET"===e.method;if(!n)return m(e,t,n);var o=function(){return m(e,t)};if(!0!==(t.cacheable||e.cacheable))return o();var i={request:e,requestOptions:t,transporter:{queryParameters:a,headers:r}};return d.get(i,(function(){return u.get(i,(function(){return u.set(i,o()).then((function(e){return Promise.all([u.delete(i),e])}),(function(e){return Promise.all([u.delete(i),Promise.reject(e)])})).then((function(e){var t=x(e,2);return t[0],t[1]}))}))}),{miss:function(e){return d.set(i,e)}})},requestsCache:u,responsesCache:d}}(g(g({hosts:Wn(t)},a),{},{algoliaAgent:On({algoliaAgents:o,client:"Lite",version:Vn}),baseHeaders:g(g({"content-type":"text/plain"},s.headers()),a.baseHeaders),baseQueryParameters:g(g({},s.queryParameters()),a.baseQueryParameters)}));return{transporter:l,appId:t,clearCache:function(){return Promise.all([l.requestsCache.clear(),l.responsesCache.clear()]).then((function(){}))},get _ua(){return l.algoliaAgent.value},addAlgoliaAgent:function(e,t){l.algoliaAgent.add({segment:e,version:t})},setClientApiKey:function(e){var t=e.apiKey;r&&"WithinHeaders"!==r?l.baseQueryParameters["x-algolia-api-key"]=t:l.baseHeaders["x-algolia-api-key"]=t},searchForHits:function(e,t){return this.search(e,t)},searchForFacets:function(e,t){return this.search(e,t)},customPost:function(e,t){var n=e.path,r=e.parameters,o=e.body;if(!n)throw new Error("Parameter `path` is required when calling `customPost`.");var a={method:"POST",path:"/{path}".replace("{path}",n),queryParameters:r||{},headers:{},data:o||{}};return l.request(a,t)},getRecommendations:function(e,t){if(e&&Array.isArray(e)&&(e={requests:e}),!e)throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");var n={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return l.request(n,t)},search:function(e,t){if(e&&Array.isArray(e)){var n={requests:e.map((function(e){var t=e.params,n=y(e,Hn);return"facet"===n.type?g(g(g({},n),t),{},{type:"facet"}):g(g(g({},n),t),{},{facet:void 0,maxFacetHits:void 0,facetQuery:void 0})}))};e=n}if(!e)throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");var r={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return l.request(r,t)}}}(g({appId:e,apiKey:t,timeouts:{connect:1e3,read:2e3,write:3e4},logger:{debug:function(e,t){return Promise.resolve()},info:function(e,t){return Promise.resolve()},error:function(e,t){return Promise.resolve()}},requester:{send:function(e){return new Promise((function(t){var n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return n.setRequestHeader(t,e.headers[t])}));var r,o=function(e,r){return setTimeout((function(){n.abort(),t({status:0,content:r,isTimedOut:!0})}),e)},a=o(e.connectTimeout,"Connection timeout");n.onreadystatechange=function(){n.readyState>n.OPENED&&void 0===r&&(clearTimeout(a),r=o(e.responseTimeout,"Socket timeout"))},n.onerror=function(){0===n.status&&(clearTimeout(a),clearTimeout(r),t({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=function(){clearTimeout(a),clearTimeout(r),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:Pn(),requestsCache:Pn({serializable:!1}),hostsCache:En({caches:[kn({key:"".concat(Vn,"-").concat(e)}),Pn()]})},void 0))}(e,t);return r.addAlgoliaAgent("docsearch",Kn),!1===/docsearch.js \(.*\)/.test(r.transporter.algoliaAgent.value)&&r.addAlgoliaAgent("docsearch-react",Kn),n(r)}),[e,t,n])}var Qn=["footer","searchBox"];function Yn(e){var t=e.appId,n=e.apiKey,o=e.indexName,a=e.placeholder,i=void 0===a?"Search docs":a,s=e.searchParameters,l=e.maxResultsPerGroup,c=e.onClose,u=void 0===c?dn:c,f=e.transformItems,p=void 0===f?cn:f,m=e.hitComponent,h=void 0===m?zt:m,b=e.resultsFooterComponent,v=void 0===b?function(){return null}:b,w=e.navigator,S=e.initialScrollY,_=void 0===S?0:S,k=e.transformSearchClient,E=void 0===k?cn:k,P=e.disableUserPersonalization,O=void 0!==P&&P,C=e.initialQuery,j=void 0===C?"":C,T=e.translations,A=void 0===T?{}:T,I=e.getMissingResultsUrl,N=e.insights,D=void 0!==N&&N,R=A.footer,L=A.searchBox,M=y(A,Qn),F=x(r.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),q=F[0],B=F[1],z=r.useRef(null),U=r.useRef(null),$=r.useRef(null),H=r.useRef(null),V=r.useRef(null),W=r.useRef(10),K=r.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,64):"").current,G=r.useRef(j||K).current,Q=Gn(t,n,E),Y=r.useRef(_n({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(o),limit:10})).current,Z=r.useRef(_n({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(o),limit:0===Y.getAll().length?7:4})).current,X=r.useCallback((function(e){if(!O){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===Y.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&Z.add(t)}}),[Y,Z,O]),J=r.useCallback((function(e){if(q.context.algoliaInsightsPlugin&&e.__autocomplete_id){var t=e,n={eventName:"Item Selected",index:t.__autocomplete_indexName,items:[t],positions:[e.__autocomplete_id],queryID:t.__autocomplete_queryID};q.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(n)}}),[q.context.algoliaInsightsPlugin]),ee=r.useMemo((function(){return Mt({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:G,context:{searchSuggestions:[]}},insights:D,navigator:w,onStateChange:function(e){B(e.state)},getSources:function(e){var r=e.query,a=e.state,i=e.setContext,c=e.setStatus;if(!r)return O?[]:[{sourceId:"recentSearches",onSelect:function(e){var t=e.item,n=e.event;X(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Z.getAll()}},{sourceId:"favoriteSearches",onSelect:function(e){var t=e.item,n=e.event;X(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Y.getAll()}}];var d=Boolean(D);return Q.search({requests:[g({query:r,indexName:o,attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(W.current),"hierarchy.lvl2:".concat(W.current),"hierarchy.lvl3:".concat(W.current),"hierarchy.lvl4:".concat(W.current),"hierarchy.lvl5:".concat(W.current),"hierarchy.lvl6:".concat(W.current),"content:".concat(W.current)],snippetEllipsisText:"\u2026",highlightPreTag:"<mark>",highlightPostTag:"</mark>",hitsPerPage:20,clickAnalytics:d},s)]}).catch((function(e){throw"RetryError"===e.name&&c("error"),e})).then((function(e){var r=e.results[0],s=r.hits,c=r.nbHits,f=ln(s,(function(e){return mn(e)}),l);a.context.searchSuggestions.length<Object.keys(f).length&&i({searchSuggestions:Object.keys(f)}),i({nbHits:c});var m={};return d&&(m={__autocomplete_indexName:o,__autocomplete_queryID:r.queryID,__autocomplete_algoliaCredentials:{appId:t,apiKey:n}}),Object.values(f).map((function(e,t){return{sourceId:"hits".concat(t),onSelect:function(e){var t=e.item,n=e.event;X(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Object.values(ln(e,(function(e){return e.hierarchy.lvl1}),l)).map(p).map((function(e){return e.map((function(t){var n=null,r=e.find((function(e){return"lvl1"===e.type&&e.hierarchy.lvl1===t.hierarchy.lvl1}));return"lvl1"!==t.type&&r&&(n=r),g(g({},t),{},{__docsearch_parent:n},m)}))})).flat()}}}))}))}})}),[o,s,l,Q,u,Z,Y,X,G,i,w,p,O,D,t,n]),te=ee.getEnvironmentProps,ne=ee.getRootProps,re=ee.refresh;return function(e){var t=e.getEnvironmentProps,n=e.panelElement,o=e.formElement,a=e.inputElement;r.useEffect((function(){if(n&&o&&a){var e=t({panelElement:n,formElement:o,inputElement:a}),r=e.onTouchStart,i=e.onTouchMove;return window.addEventListener("touchstart",r),window.addEventListener("touchmove",i),function(){window.removeEventListener("touchstart",r),window.removeEventListener("touchmove",i)}}}),[t,n,o,a])}({getEnvironmentProps:te,panelElement:H.current,formElement:$.current,inputElement:V.current}),function(e){var t=e.container;r.useEffect((function(){if(t){var e=t.querySelectorAll("a[href]:not([disabled]), button:not([disabled]), input:not([disabled])"),n=e[0],r=e[e.length-1];return t.addEventListener("keydown",o),function(){t.removeEventListener("keydown",o)}}function o(e){"Tab"===e.key&&(e.shiftKey?document.activeElement===n&&(e.preventDefault(),r.focus()):document.activeElement===r&&(e.preventDefault(),n.focus()))}}),[t])}({container:z.current}),r.useEffect((function(){return document.body.classList.add("DocSearch--active"),function(){var e,t;document.body.classList.remove("DocSearch--active"),null===(e=(t=window).scrollTo)||void 0===e||e.call(t,0,_)}}),[]),r.useEffect((function(){window.matchMedia("(max-width: 768px)").matches&&(W.current=5)}),[]),r.useEffect((function(){H.current&&(H.current.scrollTop=0)}),[q.query]),r.useEffect((function(){G.length>0&&(re(),V.current&&V.current.focus())}),[G,re]),r.useEffect((function(){function e(){if(U.current){var e=.01*window.innerHeight;U.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),r.createElement("div",d({ref:z},ne({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===q.status&&"DocSearch-Container--Stalled","error"===q.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&u()}}),r.createElement("div",{className:"DocSearch-Modal",ref:U},r.createElement("header",{className:"DocSearch-SearchBar",ref:$},r.createElement(wn,d({},ee,{state:q,autoFocus:0===G.length,inputRef:V,isFromSelection:Boolean(G)&&G===K,translations:L,onClose:u}))),r.createElement("div",{className:"DocSearch-Dropdown",ref:H},r.createElement(vn,d({},ee,{indexName:o,state:q,hitComponent:h,resultsFooterComponent:v,disableUserPersonalization:O,recentSearches:Z,favoriteSearches:Y,inputRef:V,translations:M,getMissingResultsUrl:I,onItemClick:function(e,t){J(e),X(e),un(t)||u()}}))),r.createElement("footer",{className:"DocSearch-Footer"},r.createElement(Bt,{translations:R}))))}function Zn(e){var t=e.isOpen,n=e.onOpen,o=e.onClose,a=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){var r;if("Escape"===e.code&&t||"k"===(null===(r=e.key)||void 0===r?void 0:r.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)return e.preventDefault(),void(t?o():document.body.classList.contains("DocSearch--active")||n());i&&i.current===document.activeElement&&a&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&a(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,o,a,i])}},35947:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(96540);var r=n(53259),o=n.n(r),a=n(84054);const i={"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,92463)),"@theme/BlogTagsListPage",92463],"01aca802":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2079)]).then(n.bind(n,6566)),"@site/docs/examples/medicationrequest/medrx0314.mdx",6566],"026611d2":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9301)]).then(n.bind(n,23239)),"@site/docs/custom/i18nConfig.mdx",23239],"03620de3":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2460)]).then(n.bind(n,79135)),"@site/docs/specs/rateRange/high_only.mdx",79135],"04716c54":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8945)]).then(n.bind(n,56275)),"@site/docs/specs/boundsRange/low_only.mdx",56275],"04baef29":[()=>Promise.all([n.e(1869),n.e(7498)]).then(n.t.bind(n,37440,23)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/node_modules/docusaurus-plugin-typedoc-api/lib/components/ApiPage.js",37440],"0530b1c5":[()=>Promise.all([n.e(1869),n.e(2076),n.e(7032)]).then(n.bind(n,57749)),"@site/docs/specs/offsetWhen/offset/offset_hours.mdx",57749],"06a006fb":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4936)]).then(n.bind(n,34970)),"@site/docs/specs/maxDosePerAdministration/maxDosePerAdministration.mdx",34970],"07d383a6":[()=>n.e(9881).then(n.t.bind(n,45228,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-patientinstruction-9c6.json",45228],"0ba7d2cf":[()=>n.e(3592).then(n.t.bind(n,85437,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-maxdoseperlifetime-0e8.json",85437],"118e00e5":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2914)]).then(n.bind(n,72034)),"@site/docs/specs/asNeeded/asNeededCodeableConcept.mdx",72034],"120b932c":[()=>n.e(8897).then(n.t.bind(n,6290,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-raterange-02f.json",6290],"124c4f9d":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2188)]).then(n.bind(n,1888)),"@site/docs/specs/timeOfDay/single_item.mdx",1888],"12564d99":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8937)]).then(n.bind(n,65693)),"@site/docs/specs/additionalInstruction/single_item.mdx",65693],"12ab42f9":[()=>n.e(8434).then(n.t.bind(n,3521,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-archive-d5b.json",3521],"133d1207":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5276)]).then(n.bind(n,17590)),"@site/docs/specs/frequencyFrequencyMax/frequencyMax_only.mdx",17590],"139f9fbc":[()=>Promise.all([n.e(1869),n.e(2076),n.e(578)]).then(n.bind(n,31829)),"@site/docs/specs/periodPeriodMax/period_only.mdx",31829],"14eb3368":[()=>Promise.all([n.e(1869),n.e(6969)]).then(n.bind(n,34136)),"@theme/DocCategoryGeneratedIndexPage",34136],"15cc94e8":[()=>n.e(5811).then(n.t.bind(n,59426,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-boundsperiod-52b.json",59426],"162bd28d":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1740)]).then(n.bind(n,67458)),"@site/docs/specs/boundsRange/high_only.mdx",67458],"16440cc3":[()=>n.e(6291).then(n.t.bind(n,62111,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-doserange-97d.json",62111],"1668a7c3":[()=>Promise.all([n.e(1869),n.e(2076),n.e(3790)]).then(n.bind(n,50681)),"@site/docs/specs/boundsPeriod/end_only.mdx",50681],17896441:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(792),n.e(8401)]).then(n.bind(n,62822)),"@theme/DocItem",62822],"17a84f1e":[()=>n.e(5040).then(n.t.bind(n,95333,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-tags-c96.json",95333],"17baba0b":[()=>Promise.all([n.e(1869),n.e(2076),n.e(3709)]).then(n.bind(n,73824)),"@site/docs/specs/additionalInstruction/multiple_items.mdx",73824],"1a4e3797":[()=>Promise.all([n.e(1869),n.e(2138)]).then(n.bind(n,74604)),"@theme/SearchPage",74604],"1c1d0071":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9748)]).then(n.bind(n,77264)),"@site/docs/specs/offsetWhen/when/multiple_items.mdx",77264],"1c404b1f":[()=>n.e(5604).then(n.t.bind(n,87362,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-dayofweek-1eb.json",87362],"1cae87f6":[()=>n.e(554).then(n.t.bind(n,38417,19)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/.docusaurus/docusaurus-plugin-typedoc-api/default/packages-current.json",38417],"1cd656ab":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4697)]).then(n.bind(n,6016)),"@site/docs/specs/site/site.mdx",6016],"1ce962e7":[()=>n.e(9945).then(n.t.bind(n,46505,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-5c2.json",46505],"1df93b7f":[()=>Promise.all([n.e(1869),n.e(4583)]).then(n.bind(n,89008)),"@site/src/pages/index.tsx",89008],"1e6a5414":[()=>n.e(1650).then(n.t.bind(n,50050,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-specs-170.json",50050],"1ee75028":[()=>n.e(9960).then(n.t.bind(n,27689,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-ratequantity-9ce.json",27689],"1f927e7e":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4471)]).then(n.bind(n,89885)),"@site/docs/specs/offsetWhen/when_and_offset.mdx",89885],"201e0385":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4081)]).then(n.bind(n,81826)),"@site/docs/examples/medicationrequest/medrx0321.mdx",81826],"20a65861":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1796)]).then(n.bind(n,92380)),"@site/docs/examples/medicationrequest/medrx0308.mdx",92380],"20b5be5c":[()=>Promise.all([n.e(1869),n.e(2076),n.e(6193)]).then(n.bind(n,98081)),"@site/docs/specs/offsetWhen/offset/offset_days.mdx",98081],21119077:[()=>Promise.all([n.e(1869),n.e(2076),n.e(6499)]).then(n.bind(n,31641)),"@site/docs/examples/medicationrequest/medrx0317.mdx",31641],"216e008c":[()=>n.e(1056).then(n.t.bind(n,66681,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-tags-welcome-9c5.json",66681],24450963:[()=>n.e(4372).then(n.t.bind(n,77422,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-count-countmax-ef5.json",77422],"254404d2":[()=>Promise.all([n.e(1869),n.e(2076),n.e(7762)]).then(n.bind(n,88927)),"@site/docs/specs/boundsPeriod/start_and_end.mdx",88927],"265a61ea":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5184)]).then(n.bind(n,41405)),"@site/docs/examples/medicationrequest/medrx0319.mdx",41405],"27992ad9":[()=>n.e(7670).then(n.t.bind(n,97854,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-sequence-3de.json",97854],"2a331aeb":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5317)]).then(n.bind(n,50282)),"@site/docs/specs/countCountMax/count.mdx",50282],"2b2f836d":[()=>n.e(8454).then(n.t.bind(n,2111,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-boundsrange-ecd.json",2111],"2c4b321a":[()=>Promise.all([n.e(1869),n.e(2076),n.e(585)]).then(n.bind(n,65701)),"@site/docs/specs/boundsRange/low_and_high.mdx",65701],"2c5679ac":[()=>n.e(3955).then(n.t.bind(n,62792,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-when-168.json",62792],"2eb73d32":[()=>n.e(8599).then(n.t.bind(n,77619,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-code-b21.json",77619],"3216d4c8":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4892)]).then(n.bind(n,43870)),"@site/docs/specs/method/method.mdx",43870],"360ae7c2":[()=>n.e(4282).then(n.t.bind(n,21592,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-timeofday-8d1.json",21592],"36994c47":[()=>n.e(9858).then(n.t.bind(n,45516,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",45516],"36cdde70":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2229)]).then(n.bind(n,44583)),"@site/docs/examples/medicationrequest/medrx0301.mdx",44583],"3766ff12":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8952)]).then(n.bind(n,72158)),"@site/docs/examples/medicationrequest/medrx0310.mdx",72158],"38ae24f3":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8035)]).then(n.bind(n,65980)),"@site/docs/specs/countCountMax/count_and_countMax.mdx",65980],"38ecc968":[()=>n.e(5844).then(n.t.bind(n,47265,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-asneeded-39c.json",47265],"3903b0d4":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4726)]).then(n.bind(n,33432)),"@site/docs/specs/asNeeded/asNeededFor.mdx",33432],"3a473b0c":[()=>n.e(1408).then(n.t.bind(n,67066,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-045.json",67066],"3a796946":[()=>n.e(3406).then(n.t.bind(n,16045,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-site-3bd.json",16045],"3d23bc21":[()=>Promise.all([n.e(1869),n.e(2076),n.e(85)]).then(n.bind(n,40718)),"@site/docs/specs/sequence/concurrent_instructions.mdx",40718],"3f237283":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2309)]).then(n.bind(n,96666)),"@site/docs/specs/rateRange/low_and_high.mdx",96666],"3fb26655":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8678)]).then(n.bind(n,82107)),"@site/docs/specs/maxDosePerPeriod/r5.mdx",82107],"40c0f713":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5251)]).then(n.bind(n,69120)),"@site/docs/specs/boundsPeriod/start_only.mdx",69120],"430bd102":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2485)]).then(n.bind(n,27451)),"@site/docs/custom/fromFHIRQuantityUnitToString.mdx",27451],"460a5c5b":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2453)]).then(n.bind(n,47199)),"@site/docs/specs/durationDurationMax/duration_and_durationMax.mdx",47199],"4628893b":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2857)]).then(n.bind(n,13789)),"@site/docs/examples/medicationrequest/medrx0305.mdx",13789],"49044b90":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1659)]).then(n.bind(n,43138)),"@site/docs/specs/dayOfWeek/multiple_items.mdx",43138],"4cbe19c8":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9832)]).then(n.bind(n,77015)),"@site/docs/specs/sequence/sequential_instructions_2.mdx",77015],"4cfebedc":[()=>n.e(4871).then(n.t.bind(n,78530,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-periodperiodmax-d21.json",78530],"4e847481":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9646)]).then(n.bind(n,21538)),"@site/docs/examples/medicationrequest/medrx0307.mdx",21538],"4eb59f15":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9218)]).then(n.bind(n,22603)),"@site/docs/examples/medicationrequest/medrx0331.mdx",22603],"4faaf014":[()=>Promise.all([n.e(1869),n.e(2076),n.e(6734)]).then(n.bind(n,46353)),"@site/docs/examples/medicationrequest/medrx0302.mdx",46353],"5094a8b8":[()=>n.e(9466).then(n.t.bind(n,54650,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-custom-f01.json",54650],"52aaae7a":[()=>n.e(2466).then(n.t.bind(n,80003,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-dosequantity-ccd.json",80003],"533a8e17":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1290)]).then(n.bind(n,89960)),"@site/docs/custom/fromCodeableConceptToString.mdx",89960],"55373fd9":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5461)]).then(n.bind(n,93505)),"@site/docs/specs/asNeeded/asNeededBoolean.mdx",93505],"5876b580":[()=>n.e(4100).then(n.t.bind(n,27449,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-offset-when-d64.json",27449],"5c2c208f":[()=>Promise.all([n.e(1869),n.e(2076),n.e(3970)]).then(n.bind(n,51504)),"@site/docs/specs/asNeeded/asNeeded.mdx",51504],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5f46c019":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9059)]).then(n.bind(n,16928)),"@site/docs/specs/route/route.mdx",16928],"621db11d":[()=>Promise.all([n.e(1869),n.e(3347),n.e(4212)]).then(n.bind(n,13250)),"@theme/Blog/Pages/BlogAuthorsListPage",13250],"667c56e4":[()=>n.e(3843).then(n.t.bind(n,782,19)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/.docusaurus/docusaurus-plugin-typedoc-api/default/options.json",782],"6875c492":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(3347),n.e(4813)]).then(n.bind(n,33069)),"@theme/BlogTagsPostsPage",33069],"6a4d8b82":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9232)]).then(n.bind(n,86487)),"@site/docs/examples/medicationrequest/medrx0313.mdx",86487],"6bccb6a0":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1286)]).then(n.bind(n,25402)),"@site/docs/specs/durationDurationMax/duration_only.mdx",25402],"6e719b2a":[()=>n.e(9269).then(n.t.bind(n,52521,19)),"@generated/docusaurus-plugin-typedoc-api/default/__plugin.json",52521],"72a427b3":[()=>Promise.all([n.e(2076),n.e(5643)]).then(n.bind(n,93976)),"@site/docs/contributing.mdx",93976],"7614ce18":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1444)]).then(n.bind(n,41445)),"@site/docs/specs/maxDosePerLifetime/maxDosePerLifetime.mdx",41445],"76aa043d":[()=>Promise.all([n.e(1869),n.e(2076),n.e(6751)]).then(n.bind(n,28328)),"@site/docs/specs/sequence/sequential_instructions_1.mdx",28328],"77255a7d":[()=>n.e(3885).then(n.t.bind(n,67404,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-text-9c2.json",67404],"774b774e":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5648)]).then(n.bind(n,91380)),"@site/docs/specs/frequencyFrequencyMax/frequency_only.mdx",91380],"78f84b63":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2683)]).then(n.bind(n,91426)),"@site/docs/custom/displayOrder.mdx",91426],"7d1d5983":[()=>n.e(1944).then(n.t.bind(n,74955,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-examples-5c8.json",74955],"7d7affb4":[()=>n.e(3412).then(n.t.bind(n,96576,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-tags-features-f1d.json",96576],"7ebf62b0":[()=>Promise.all([n.e(1869),n.e(2076),n.e(417)]).then(n.bind(n,36658)),"@site/docs/specs/doseQuantity/doseQuantity.mdx",36658],"80244a0d":[()=>n.e(7376).then(n.t.bind(n,97730,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-d58.json",97730],"814f3328":[()=>n.e(7472).then(n.t.bind(n,55513,19)),"~blog/default/blog-post-list-prop-default.json",55513],"829c17da":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8516)]).then(n.bind(n,58096)),"@site/docs/specs/countCountMax/countMax_only.mdx",58096],87294416:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1250)]).then(n.bind(n,61387)),"@site/docs/specs/durationDurationMax/durationMax_only.mdx",61387],"883bfc27":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4812)]).then(n.bind(n,4522)),"@site/docs/specs/code/code.mdx",4522],"8926b418":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9333),n.e(3663)]).then(n.bind(n,74190)),"@site/src/pages/playground/index.tsx",74190],"8da63d19":[()=>n.e(37).then(n.t.bind(n,57769,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-rateratio-850.json",57769],"915d2175":[()=>Promise.all([n.e(1869),n.e(2076),n.e(7829)]).then(n.bind(n,21827)),"@site/docs/specs/dayOfWeek/single_item.mdx",21827],"933cb006":[()=>n.e(581).then(n.t.bind(n,48392,19)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/.docusaurus/docusaurus-plugin-typedoc-api/default/version-current.json",48392],"96e7b265":[()=>Promise.all([n.e(1869),n.e(2076),n.e(3301)]).then(n.bind(n,40238)),"@site/docs/specs/doseRange/low_and_high.mdx",40238],97031957:[()=>Promise.all([n.e(1869),n.e(2076),n.e(4222)]).then(n.bind(n,48281)),"@site/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax.mdx",48281],"9caecde7":[()=>Promise.all([n.e(1869),n.e(2076),n.e(980)]).then(n.bind(n,61822)),"@site/docs/examples/medicationrequest/medrx0303.mdx",61822],"9e4087bc":[()=>n.e(2711).then(n.bind(n,89331)),"@theme/BlogArchivePage",89331],a59be22a:[()=>n.e(5530).then(n.t.bind(n,61501,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-boundsduration-ed2.json",61501],a5e5ec5a:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3253)]).then(n.bind(n,68823)),"@site/docs/custom/displaySeparator.mdx",68823],a6aa9e1f:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(3347),n.e(7643)]).then(n.bind(n,35124)),"@theme/BlogListPage",35124],a7456010:[()=>n.e(1235).then(n.t.bind(n,88552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",88552],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,74532)),"@theme/DocVersionRoot",74532],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,17426)),"@theme/DocRoot",17426],aa77b6a8:[()=>Promise.all([n.e(1869),n.e(2076),n.e(4048)]).then(n.bind(n,99167)),"@site/docs/specs/patientInstruction/patientInstruction.mdx",99167],aa8d6d0b:[()=>Promise.all([n.e(2076),n.e(3281)]).then(n.bind(n,92983)),"@site/blog/2024-03-29-welcome.mdx",92983],ab10b176:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3421)]).then(n.bind(n,90413)),"@site/docs/specs/periodPeriodMax/period_and_periodMax.mdx",90413],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,27093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",27093],acecf23e:[()=>n.e(1903).then(n.t.bind(n,1912,19)),"~blog/default/blogMetadata-default.json",1912],ad90b1c0:[()=>Promise.all([n.e(1869),n.e(2076),n.e(513)]).then(n.bind(n,10090)),"@site/docs/specs/rateQuantity/rateQuantity.mdx",10090],afe92c27:[()=>Promise.all([n.e(1869),n.e(2076),n.e(4088)]).then(n.bind(n,86022)),"@site/docs/specs/maxDosePerPeriod/r4.mdx",86022],b070991f:[()=>n.e(6224).then(n.t.bind(n,35205,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-examples-medicationrequest-6cb.json",35205],b30e43e1:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1146)]).then(n.bind(n,59212)),"@site/docs/specs/doseRange/low_only.mdx",59212],b31f2dc3:[()=>n.e(4019).then(n.t.bind(n,66673,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-authors-843.json",66673],b52bbddc:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3361)]).then(n.bind(n,79855)),"@site/docs/specs/rateRange/low_only.mdx",79855],ba8b53a7:[()=>n.e(3158).then(n.t.bind(n,23553,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-maxdoseperadministration-ee2.json",23553],bc0994c2:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9643)]).then(n.bind(n,5198)),"@site/docs/specs/event/single_item.mdx",5198],c0086ef4:[()=>Promise.all([n.e(1869),n.e(2076),n.e(2495)]).then(n.bind(n,44196)),"@site/docs/examples/medicationrequest/medrx0315.mdx",44196],c141421f:[()=>n.e(957).then(n.t.bind(n,40936,19)),"@generated/docusaurus-theme-search-algolia/default/__plugin.json",40936],c14d5b58:[()=>n.e(5813).then(n.t.bind(n,1635,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-durationdurationmax-8d0.json",1635],c179f821:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1110)]).then(n.bind(n,86387)),"@site/docs/quick-start.mdx",86387],c36217b7:[()=>Promise.all([n.e(1869),n.e(2076),n.e(6016)]).then(n.bind(n,53875)),"@site/docs/specs/text/text.mdx",53875],c5215184:[()=>n.e(6470).then(n.t.bind(n,81718,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-frequencyfrequencymax-51e.json",81718],c578995c:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(5772)]).then(n.bind(n,89332)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/node_modules/docusaurus-plugin-typedoc-api/lib/components/ApiItem.js",89332],c9387e11:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3140)]).then(n.bind(n,23884)),"@site/docs/custom/dateTimeFormatOptions.mdx",23884],ccc49370:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(3347),n.e(792),n.e(3249)]).then(n.bind(n,73858)),"@theme/BlogPostPage",73858],cd12752c:[()=>Promise.all([n.e(1869),n.e(2076),n.e(6614)]).then(n.bind(n,58133)),"@site/docs/custom/fromExtensionsToString.mdx",58133],ceabf9db:[()=>n.e(4451).then(n.t.bind(n,52866,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-route-468.json",52866],d026f85a:[()=>Promise.all([n.e(2076),n.e(9307)]).then(n.bind(n,78298)),"@site/blog/2024-04-20-empowerment.mdx?truncated=true",78298],d0a7fa20:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3462)]).then(n.bind(n,397)),"@site/docs/specs/offsetWhen/when/single_item.mdx",397],d276600f:[()=>n.e(9678).then(n.t.bind(n,75909,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-additionalinstruction-863.json",75909],d5205798:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1539)]).then(n.bind(n,69309)),"@site/src/pages/examples/timing/index.tsx",69309],d9a0709a:[()=>Promise.all([n.e(1869),n.e(2076),n.e(8154)]).then(n.bind(n,40241)),"@site/docs/examples/medicationrequest/medrx002.mdx",40241],da10aa23:[()=>n.e(7898).then(n.t.bind(n,61061,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-offset-3d2.json",61061],de252642:[()=>n.e(1855).then(n.t.bind(n,70585,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-method-3ca.json",70585],e3948197:[()=>Promise.all([n.e(2076),n.e(3733)]).then(n.bind(n,74678)),"@site/blog/2024-04-20-empowerment.mdx",74678],e5b958e6:[()=>n.e(3096).then(n.t.bind(n,19370,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-event-03d.json",19370],e8ce008f:[()=>Promise.all([n.e(1869),n.e(2076),n.e(2122)]).then(n.bind(n,95270)),"@site/docs/specs/doseRange/high_only.mdx",95270],e9832d3c:[()=>Promise.all([n.e(1869),n.e(2076),n.e(6554)]).then(n.bind(n,67313)),"@site/docs/specs/periodPeriodMax/periodMax_only.mdx",67313],ea313555:[()=>Promise.all([n.e(2076),n.e(1011)]).then(n.bind(n,86280)),"@site/docs/faq.mdx",86280],ead5521e:[()=>n.e(4287).then(n.t.bind(n,28733,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-maxdoseperperiod-9b2.json",28733],ebb1249f:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3678)]).then(n.bind(n,74006)),"@site/docs/examples/medicationrequest/medrx0339.mdx",74006],ec99730f:[()=>Promise.all([n.e(2076),n.e(2209)]).then(n.bind(n,52373)),"@site/docs/next-steps.mdx",52373],ece64983:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1932)]).then(n.bind(n,70644)),"@site/docs/specs/event/multiple_items.mdx",70644],ee929032:[()=>Promise.all([n.e(1869),n.e(2076),n.e(5236)]).then(n.bind(n,10974)),"@site/docs/specs/rateRatio/rateRatio.mdx",10974],ef54304a:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3157)]).then(n.bind(n,47953)),"@site/docs/examples/medicationrequest/medrx004.mdx",47953],f58af7d8:[()=>Promise.all([n.e(1869),n.e(2076),n.e(4056)]).then(n.bind(n,50884)),"@site/docs/specs/timeOfDay/multiple_items.mdx",50884],f71da0e1:[()=>Promise.all([n.e(2076),n.e(6720)]).then(n.bind(n,90697)),"@site/blog/2024-03-29-welcome.mdx?truncated=true",90697],f7adbe59:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9280)]).then(n.bind(n,84590)),"@site/docs/specs/boundsDuration/boundsDuration.mdx",84590],fa572d46:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1616)]).then(n.bind(n,15237)),"@site/docs/specs/offsetWhen/offset/offset_minutes.mdx",15237],fdba5499:[()=>Promise.all([n.e(1869),n.e(2076),n.e(743)]).then(n.bind(n,27732)),"@site/docs/examples/medicationrequest/medrx003.mdx",27732]};var s=n(74848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(86921),u=n(53102);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(2237).then(n.bind(n,82237)),modules:["@theme/NotFound"],webpack:()=>[82237],render(e,t){const n=e.default;return(0,s.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},f=[],p=[],m=(0,c.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),o().Map({loading:l,loader:d,modules:f,webpack:()=>p,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const l=o.__props;return delete o.__props,(0,s.jsx)(u.W,{value:i,children:(0,s.jsx)(a,{...o,...l,...n})})}})}const f=[{path:"/fhir-dosage-utils/blog",component:d("/fhir-dosage-utils/blog","a4a"),exact:!0},{path:"/fhir-dosage-utils/blog/archive",component:d("/fhir-dosage-utils/blog/archive","a40"),exact:!0},{path:"/fhir-dosage-utils/blog/authors",component:d("/fhir-dosage-utils/blog/authors","6c6"),exact:!0},{path:"/fhir-dosage-utils/blog/empowerment",component:d("/fhir-dosage-utils/blog/empowerment","91f"),exact:!0},{path:"/fhir-dosage-utils/blog/tags",component:d("/fhir-dosage-utils/blog/tags","22d"),exact:!0},{path:"/fhir-dosage-utils/blog/tags/features",component:d("/fhir-dosage-utils/blog/tags/features","b47"),exact:!0},{path:"/fhir-dosage-utils/blog/tags/welcome",component:d("/fhir-dosage-utils/blog/tags/welcome","f7c"),exact:!0},{path:"/fhir-dosage-utils/blog/welcome",component:d("/fhir-dosage-utils/blog/welcome","161"),exact:!0},{path:"/fhir-dosage-utils/examples/timing",component:d("/fhir-dosage-utils/examples/timing","ba5"),exact:!0},{path:"/fhir-dosage-utils/playground",component:d("/fhir-dosage-utils/playground","b6a"),exact:!0},{path:"/fhir-dosage-utils/search",component:d("/fhir-dosage-utils/search","cd6"),exact:!0},{path:"/fhir-dosage-utils/api",component:d("/fhir-dosage-utils/api","0c0"),routes:[{path:"/fhir-dosage-utils/api",component:d("/fhir-dosage-utils/api","f04"),routes:[{path:"/fhir-dosage-utils/api",component:d("/fhir-dosage-utils/api","39e"),routes:[{path:"/fhir-dosage-utils/api",component:d("/fhir-dosage-utils/api","995"),exact:!0,sidebar:"api",id:0},{path:"/fhir-dosage-utils/api/class/FhirDosageUtils",component:d("/fhir-dosage-utils/api/class/FhirDosageUtils","861"),exact:!0,sidebar:"api",id:1},{path:"/fhir-dosage-utils/api/enum/DisplayOrderEnum",component:d("/fhir-dosage-utils/api/enum/DisplayOrderEnum","958"),exact:!0,sidebar:"api",id:58},{path:"/fhir-dosage-utils/api/interface/Config",component:d("/fhir-dosage-utils/api/interface/Config","7fe"),exact:!0,sidebar:"api",id:49}]}]}]},{path:"/fhir-dosage-utils/docs",component:d("/fhir-dosage-utils/docs","08c"),routes:[{path:"/fhir-dosage-utils/docs",component:d("/fhir-dosage-utils/docs","fe5"),routes:[{path:"/fhir-dosage-utils/docs",component:d("/fhir-dosage-utils/docs","405"),routes:[{path:"/fhir-dosage-utils/docs/category/-additionalinstruction",component:d("/fhir-dosage-utils/docs/category/-additionalinstruction","ed8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-asneeded",component:d("/fhir-dosage-utils/docs/category/-asneeded","610"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-boundsduration",component:d("/fhir-dosage-utils/docs/category/\ufe0f-boundsduration","e3e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-boundsperiod",component:d("/fhir-dosage-utils/docs/category/-boundsperiod","56b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-boundsrange",component:d("/fhir-dosage-utils/docs/category/-boundsrange","89a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-code",component:d("/fhir-dosage-utils/docs/category/-code","0d5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-count--countmax",component:d("/fhir-dosage-utils/docs/category/-count--countmax","015"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-dayofweek",component:d("/fhir-dosage-utils/docs/category/-dayofweek","ca3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-dosequantity",component:d("/fhir-dosage-utils/docs/category/-dosequantity","a06"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-doserange",component:d("/fhir-dosage-utils/docs/category/-doserange","019"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-durationdurationmax",component:d("/fhir-dosage-utils/docs/category/-durationdurationmax","053"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-event",component:d("/fhir-dosage-utils/docs/category/-event","989"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-frequencyfrequencymax",component:d("/fhir-dosage-utils/docs/category/-frequencyfrequencymax","271"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-maxdoseperadministration",component:d("/fhir-dosage-utils/docs/category/-maxdoseperadministration","a50"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-maxdoseperlifetime",component:d("/fhir-dosage-utils/docs/category/-maxdoseperlifetime","17d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-maxdoseperperiod",component:d("/fhir-dosage-utils/docs/category/-maxdoseperperiod","94d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-method",component:d("/fhir-dosage-utils/docs/category/\ufe0f-method","848"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-offset",component:d("/fhir-dosage-utils/docs/category/-offset","555"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-offset-when",component:d("/fhir-dosage-utils/docs/category/-offset-when","044"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-patientinstruction",component:d("/fhir-dosage-utils/docs/category/-patientinstruction","dd2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-periodperiodmax",component:d("/fhir-dosage-utils/docs/category/\ufe0f-periodperiodmax","ab9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-ratequantity",component:d("/fhir-dosage-utils/docs/category/\ufe0f-ratequantity","ee4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-raterange",component:d("/fhir-dosage-utils/docs/category/\ufe0f-raterange","c5a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-rateratio",component:d("/fhir-dosage-utils/docs/category/-rateratio","0d2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-route",component:d("/fhir-dosage-utils/docs/category/\ufe0f-route","f6c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-sequence",component:d("/fhir-dosage-utils/docs/category/\ufe0f-sequence","98f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-site",component:d("/fhir-dosage-utils/docs/category/-site","91a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-text",component:d("/fhir-dosage-utils/docs/category/-text","fcf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-timeofday",component:d("/fhir-dosage-utils/docs/category/-timeofday","4dd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-when",component:d("/fhir-dosage-utils/docs/category/-when","fde"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/contributing",component:d("/fhir-dosage-utils/docs/contributing","b12"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/dateTimeFormatOptions",component:d("/fhir-dosage-utils/docs/custom/dateTimeFormatOptions","c67"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/displayOrder",component:d("/fhir-dosage-utils/docs/custom/displayOrder","9b2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/displaySeparator",component:d("/fhir-dosage-utils/docs/custom/displaySeparator","a31"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/fromCodeableConceptToString",component:d("/fhir-dosage-utils/docs/custom/fromCodeableConceptToString","bc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/fromExtensionsToString",component:d("/fhir-dosage-utils/docs/custom/fromExtensionsToString","642"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString",component:d("/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString","1bc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/i18nConfig",component:d("/fhir-dosage-utils/docs/custom/i18nConfig","ffd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo",component:d("/fhir-dosage-utils/docs/demo","910"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo/custom",component:d("/fhir-dosage-utils/docs/demo/custom","4d9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo/examples",component:d("/fhir-dosage-utils/docs/demo/examples","6e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo/examples/medicationrequest",component:d("/fhir-dosage-utils/docs/demo/examples/medicationrequest","3b2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo/specs",component:d("/fhir-dosage-utils/docs/demo/specs","010"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx002",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx002","d27"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx003",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx003","1b8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx004",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx004","669"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301","04c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302","8ac"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303","b5f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305","bdf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307","1d9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308","1f6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310","6df"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313","489"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314","d90"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315","a53"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317","947"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319","bd1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321","45f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331","699"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339","a53"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/faq",component:d("/fhir-dosage-utils/docs/faq","f8e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/next-steps",component:d("/fhir-dosage-utils/docs/next-steps","9f1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/quick-start",component:d("/fhir-dosage-utils/docs/quick-start","8b9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items",component:d("/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items","5ac"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/additionalInstruction/single_item",component:d("/fhir-dosage-utils/docs/specs/additionalInstruction/single_item","29a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/asNeeded",component:d("/fhir-dosage-utils/docs/specs/asNeeded","791"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean",component:d("/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean","65e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept",component:d("/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept","f3d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor",component:d("/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor","4e1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsDuration",component:d("/fhir-dosage-utils/docs/specs/boundsDuration","f80"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsPeriod/end_only",component:d("/fhir-dosage-utils/docs/specs/boundsPeriod/end_only","be9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end",component:d("/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end","f20"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsPeriod/start_only",component:d("/fhir-dosage-utils/docs/specs/boundsPeriod/start_only","39f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsRange/high_only",component:d("/fhir-dosage-utils/docs/specs/boundsRange/high_only","33e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsRange/low_and_high",component:d("/fhir-dosage-utils/docs/specs/boundsRange/low_and_high","ce2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsRange/low_only",component:d("/fhir-dosage-utils/docs/specs/boundsRange/low_only","146"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/code",component:d("/fhir-dosage-utils/docs/specs/code","a8d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/countCountMax/count",component:d("/fhir-dosage-utils/docs/specs/countCountMax/count","c3a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax",component:d("/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax","14d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/countCountMax/countMax_only",component:d("/fhir-dosage-utils/docs/specs/countCountMax/countMax_only","3e0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items",component:d("/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items","4cb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/dayOfWeek/single_item",component:d("/fhir-dosage-utils/docs/specs/dayOfWeek/single_item","a56"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/doseQuantity",component:d("/fhir-dosage-utils/docs/specs/doseQuantity","33c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/doseRange/high_only",component:d("/fhir-dosage-utils/docs/specs/doseRange/high_only","4d9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/doseRange/low_and_high",component:d("/fhir-dosage-utils/docs/specs/doseRange/low_and_high","f54"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/doseRange/low_only",component:d("/fhir-dosage-utils/docs/specs/doseRange/low_only","83d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax",component:d("/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax","91c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only",component:d("/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only","bf3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only",component:d("/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only","9e7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/event/multiple_items",component:d("/fhir-dosage-utils/docs/specs/event/multiple_items","9ef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/event/single_item",component:d("/fhir-dosage-utils/docs/specs/event/single_item","bc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax",component:d("/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax","adf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only",component:d("/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only","896"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only",component:d("/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only","042"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/maxDosePerAdministration",component:d("/fhir-dosage-utils/docs/specs/maxDosePerAdministration","632"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/maxDosePerLifetime",component:d("/fhir-dosage-utils/docs/specs/maxDosePerLifetime","87b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4",component:d("/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4","771"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5",component:d("/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5","78e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/method",component:d("/fhir-dosage-utils/docs/specs/method","d42"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days","608"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours","c01"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes","ca6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset","35f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items","4bc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item","948"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/patientInstruction",component:d("/fhir-dosage-utils/docs/specs/patientInstruction","628"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax",component:d("/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax","f06"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only",component:d("/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only","2ef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only",component:d("/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only","b27"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateQuantity",component:d("/fhir-dosage-utils/docs/specs/rateQuantity","2bf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateRange/high_only",component:d("/fhir-dosage-utils/docs/specs/rateRange/high_only","5cf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateRange/low_and_high",component:d("/fhir-dosage-utils/docs/specs/rateRange/low_and_high","bea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateRange/low_only",component:d("/fhir-dosage-utils/docs/specs/rateRange/low_only","1a9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateRatio",component:d("/fhir-dosage-utils/docs/specs/rateRatio","36d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/route",component:d("/fhir-dosage-utils/docs/specs/route","dfa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions",component:d("/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions","199"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1",component:d("/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1","ccb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2",component:d("/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2","62c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/site",component:d("/fhir-dosage-utils/docs/specs/site","c05"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/text",component:d("/fhir-dosage-utils/docs/specs/text","abb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items",component:d("/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items","d87"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/timeOfDay/single_item",component:d("/fhir-dosage-utils/docs/specs/timeOfDay/single_item","65e"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/fhir-dosage-utils/",component:d("/fhir-dosage-utils/","a2b"),exact:!0},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(96540),o=n(74848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},38536:(e,t,n)=>{"use strict";var r=n(96540),o=n(5338),a=n(80545),i=n(54625),s=n(4784),l=n(38193);const c=[n(10119),n(26134),n(76294),n(51043)];var u=n(35947),d=n(56347),f=n(22831),p=n(74848);function m(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var h=n(5260),g=n(44586),y=n(86025),b=n(6342),v=n(45500),x=n(32131),w=n(14090),S=n(2967),_=n(70440),k=n(41463);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.default)(),r=(0,x.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(h.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function P(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.default)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.default)(),{pathname:r}=(0,d.zy)();return e+(0,_.Ks)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,p.jsxs)(h.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function O(){const{i18n:{currentLocale:e}}=(0,g.default)(),{metadata:t,image:n}=(0,b.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(h.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.w})]}),n&&(0,p.jsx)(v.be,{image:n}),(0,p.jsx)(P,{}),(0,p.jsx)(E,{}),(0,p.jsx)(k.A,{tag:S.C,locale:e}),(0,p.jsx)(h.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const C=new Map;var j=n(6125),T=n(26988),A=n(205);function I(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const o=c.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,A.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),I("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function D(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,f.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?I("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=I("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),D(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const L=R,M="__docusaurus-base-url-issue-banner-suggestion-container";function F(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${M}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${M}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function q(){const{siteConfig:{baseUrl:e}}=(0,g.default)();return(0,p.jsx)(p.Fragment,{children:!l.A.canUseDOM&&(0,p.jsx)(h.A,{children:(0,p.jsx)("script",{children:F(e)})})})}function B(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.default)(),{pathname:n}=(0,d.zy)();return t&&n===e?(0,p.jsx)(q,{}):null}function z(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:o}}=(0,g.default)(),a=(0,y.Ay)(e),{htmlLang:i,direction:s}=o[r];return(0,p.jsxs)(h.A,{children:[(0,p.jsx)("html",{lang:i,dir:s}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:a})]})}var U=n(67489),$=n(92303);function H(){const e=(0,$.A)();return(0,p.jsx)(h.A,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}const V=(0,f.v)(u.A);function W(){const e=function(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,f.u)(u.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,p.jsx)(L,{location:e,children:V})}function K(){return(0,p.jsx)(U.A,{children:(0,p.jsx)(T.l,{children:(0,p.jsxs)(j.x,{children:[(0,p.jsxs)(m,{children:[(0,p.jsx)(z,{}),(0,p.jsx)(O,{}),(0,p.jsx)(B,{}),(0,p.jsx)(W,{})]}),(0,p.jsx)(H,{})]})})})}var G=n(84054);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(86921);const Z=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch:e=>{if(!(e=>!J()&&!X.has(e)&&!Z.has(e))(e))return!1;Z.add(e);const t=(0,f.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),D(e))},te=Object.freeze(ee);function ne(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,p.jsx)(i.I9,{children:t}):(0,p.jsx)(i.Kd,{children:t})}const re=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(a.vd,{children:(0,p.jsx)(ne,{children:(0,p.jsx)(K,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(re)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};D(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},26988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(96540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/fhir-dosage-utils/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/fhir-dosage-utils/docs","mainDocId":"quick-start","docs":[{"id":"contributing","path":"/fhir-dosage-utils/docs/contributing","sidebar":"tutorialSidebar"},{"id":"custom/dateTimeFormatOptions","path":"/fhir-dosage-utils/docs/custom/dateTimeFormatOptions","sidebar":"tutorialSidebar"},{"id":"custom/displayOrder","path":"/fhir-dosage-utils/docs/custom/displayOrder","sidebar":"tutorialSidebar"},{"id":"custom/displaySeparator","path":"/fhir-dosage-utils/docs/custom/displaySeparator","sidebar":"tutorialSidebar"},{"id":"custom/fromCodeableConceptToString","path":"/fhir-dosage-utils/docs/custom/fromCodeableConceptToString","sidebar":"tutorialSidebar"},{"id":"custom/fromExtensionsToString","path":"/fhir-dosage-utils/docs/custom/fromExtensionsToString","sidebar":"tutorialSidebar"},{"id":"custom/fromFHIRQuantityUnitToString","path":"/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString","sidebar":"tutorialSidebar"},{"id":"custom/i18nConfig","path":"/fhir-dosage-utils/docs/custom/i18nConfig","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx002","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx002","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx003","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx003","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx004","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx004","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0301","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0302","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0303","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0305","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0307","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0308","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0310","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0313","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0314","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0315","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0317","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0319","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0321","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0331","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0339","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339","sidebar":"tutorialSidebar"},{"id":"faq","path":"/fhir-dosage-utils/docs/faq","sidebar":"tutorialSidebar"},{"id":"next-steps","path":"/fhir-dosage-utils/docs/next-steps","sidebar":"tutorialSidebar"},{"id":"quick-start","path":"/fhir-dosage-utils/docs/quick-start","sidebar":"tutorialSidebar"},{"id":"specs/additionalInstruction/multiple_items","path":"/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/additionalInstruction/single_item","path":"/fhir-dosage-utils/docs/specs/additionalInstruction/single_item","sidebar":"tutorialSidebar"},{"id":"specs/asNeeded/asNeeded","path":"/fhir-dosage-utils/docs/specs/asNeeded/","sidebar":"tutorialSidebar"},{"id":"specs/asNeeded/asNeededBoolean","path":"/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean","sidebar":"tutorialSidebar"},{"id":"specs/asNeeded/asNeededCodeableConcept","path":"/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept","sidebar":"tutorialSidebar"},{"id":"specs/asNeeded/asNeededFor","path":"/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor","sidebar":"tutorialSidebar"},{"id":"specs/boundsDuration/boundsDuration","path":"/fhir-dosage-utils/docs/specs/boundsDuration/","sidebar":"tutorialSidebar"},{"id":"specs/boundsPeriod/end_only","path":"/fhir-dosage-utils/docs/specs/boundsPeriod/end_only","sidebar":"tutorialSidebar"},{"id":"specs/boundsPeriod/start_and_end","path":"/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end","sidebar":"tutorialSidebar"},{"id":"specs/boundsPeriod/start_only","path":"/fhir-dosage-utils/docs/specs/boundsPeriod/start_only","sidebar":"tutorialSidebar"},{"id":"specs/boundsRange/high_only","path":"/fhir-dosage-utils/docs/specs/boundsRange/high_only","sidebar":"tutorialSidebar"},{"id":"specs/boundsRange/low_and_high","path":"/fhir-dosage-utils/docs/specs/boundsRange/low_and_high","sidebar":"tutorialSidebar"},{"id":"specs/boundsRange/low_only","path":"/fhir-dosage-utils/docs/specs/boundsRange/low_only","sidebar":"tutorialSidebar"},{"id":"specs/code/code","path":"/fhir-dosage-utils/docs/specs/code/","sidebar":"tutorialSidebar"},{"id":"specs/countCountMax/count","path":"/fhir-dosage-utils/docs/specs/countCountMax/count","sidebar":"tutorialSidebar"},{"id":"specs/countCountMax/count_and_countMax","path":"/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax","sidebar":"tutorialSidebar"},{"id":"specs/countCountMax/countMax_only","path":"/fhir-dosage-utils/docs/specs/countCountMax/countMax_only","sidebar":"tutorialSidebar"},{"id":"specs/dayOfWeek/multiple_items","path":"/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/dayOfWeek/single_item","path":"/fhir-dosage-utils/docs/specs/dayOfWeek/single_item","sidebar":"tutorialSidebar"},{"id":"specs/doseQuantity/doseQuantity","path":"/fhir-dosage-utils/docs/specs/doseQuantity/","sidebar":"tutorialSidebar"},{"id":"specs/doseRange/high_only","path":"/fhir-dosage-utils/docs/specs/doseRange/high_only","sidebar":"tutorialSidebar"},{"id":"specs/doseRange/low_and_high","path":"/fhir-dosage-utils/docs/specs/doseRange/low_and_high","sidebar":"tutorialSidebar"},{"id":"specs/doseRange/low_only","path":"/fhir-dosage-utils/docs/specs/doseRange/low_only","sidebar":"tutorialSidebar"},{"id":"specs/durationDurationMax/duration_and_durationMax","path":"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax","sidebar":"tutorialSidebar"},{"id":"specs/durationDurationMax/duration_only","path":"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only","sidebar":"tutorialSidebar"},{"id":"specs/durationDurationMax/durationMax_only","path":"/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only","sidebar":"tutorialSidebar"},{"id":"specs/event/multiple_items","path":"/fhir-dosage-utils/docs/specs/event/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/event/single_item","path":"/fhir-dosage-utils/docs/specs/event/single_item","sidebar":"tutorialSidebar"},{"id":"specs/frequencyFrequencyMax/frequency_and_frequencyMax","path":"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax","sidebar":"tutorialSidebar"},{"id":"specs/frequencyFrequencyMax/frequency_only","path":"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only","sidebar":"tutorialSidebar"},{"id":"specs/frequencyFrequencyMax/frequencyMax_only","path":"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only","sidebar":"tutorialSidebar"},{"id":"specs/maxDosePerAdministration/maxDosePerAdministration","path":"/fhir-dosage-utils/docs/specs/maxDosePerAdministration/","sidebar":"tutorialSidebar"},{"id":"specs/maxDosePerLifetime/maxDosePerLifetime","path":"/fhir-dosage-utils/docs/specs/maxDosePerLifetime/","sidebar":"tutorialSidebar"},{"id":"specs/maxDosePerPeriod/r4","path":"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4","sidebar":"tutorialSidebar"},{"id":"specs/maxDosePerPeriod/r5","path":"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5","sidebar":"tutorialSidebar"},{"id":"specs/method/method","path":"/fhir-dosage-utils/docs/specs/method/","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/offset/offset_days","path":"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/offset/offset_hours","path":"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/offset/offset_minutes","path":"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/when_and_offset","path":"/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/when/multiple_items","path":"/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/when/single_item","path":"/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item","sidebar":"tutorialSidebar"},{"id":"specs/patientInstruction/patientInstruction","path":"/fhir-dosage-utils/docs/specs/patientInstruction/","sidebar":"tutorialSidebar"},{"id":"specs/periodPeriodMax/period_and_periodMax","path":"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax","sidebar":"tutorialSidebar"},{"id":"specs/periodPeriodMax/period_only","path":"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only","sidebar":"tutorialSidebar"},{"id":"specs/periodPeriodMax/periodMax_only","path":"/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only","sidebar":"tutorialSidebar"},{"id":"specs/rateQuantity/rateQuantity","path":"/fhir-dosage-utils/docs/specs/rateQuantity/","sidebar":"tutorialSidebar"},{"id":"specs/rateRange/high_only","path":"/fhir-dosage-utils/docs/specs/rateRange/high_only","sidebar":"tutorialSidebar"},{"id":"specs/rateRange/low_and_high","path":"/fhir-dosage-utils/docs/specs/rateRange/low_and_high","sidebar":"tutorialSidebar"},{"id":"specs/rateRange/low_only","path":"/fhir-dosage-utils/docs/specs/rateRange/low_only","sidebar":"tutorialSidebar"},{"id":"specs/rateRatio/rateRatio","path":"/fhir-dosage-utils/docs/specs/rateRatio/","sidebar":"tutorialSidebar"},{"id":"specs/route/route","path":"/fhir-dosage-utils/docs/specs/route/","sidebar":"tutorialSidebar"},{"id":"specs/sequence/concurrent_instructions","path":"/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions","sidebar":"tutorialSidebar"},{"id":"specs/sequence/sequential_instructions_1","path":"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1","sidebar":"tutorialSidebar"},{"id":"specs/sequence/sequential_instructions_2","path":"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2","sidebar":"tutorialSidebar"},{"id":"specs/site/site","path":"/fhir-dosage-utils/docs/specs/site/","sidebar":"tutorialSidebar"},{"id":"specs/text/text","path":"/fhir-dosage-utils/docs/specs/text/","sidebar":"tutorialSidebar"},{"id":"specs/timeOfDay/multiple_items","path":"/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/timeOfDay/single_item","path":"/fhir-dosage-utils/docs/specs/timeOfDay/single_item","sidebar":"tutorialSidebar"},{"id":"/demo","path":"/fhir-dosage-utils/docs/demo","sidebar":"tutorialSidebar"},{"id":"/demo/specs","path":"/fhir-dosage-utils/docs/demo/specs","sidebar":"tutorialSidebar"},{"id":"/category/-additionalinstruction","path":"/fhir-dosage-utils/docs/category/-additionalinstruction","sidebar":"tutorialSidebar"},{"id":"/category/-asneeded","path":"/fhir-dosage-utils/docs/category/-asneeded","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-boundsduration","path":"/fhir-dosage-utils/docs/category/\ufe0f-boundsduration","sidebar":"tutorialSidebar"},{"id":"/category/-boundsperiod","path":"/fhir-dosage-utils/docs/category/-boundsperiod","sidebar":"tutorialSidebar"},{"id":"/category/-boundsrange","path":"/fhir-dosage-utils/docs/category/-boundsrange","sidebar":"tutorialSidebar"},{"id":"/category/-code","path":"/fhir-dosage-utils/docs/category/-code","sidebar":"tutorialSidebar"},{"id":"/category/-count--countmax","path":"/fhir-dosage-utils/docs/category/-count--countmax","sidebar":"tutorialSidebar"},{"id":"/category/-dayofweek","path":"/fhir-dosage-utils/docs/category/-dayofweek","sidebar":"tutorialSidebar"},{"id":"/category/-dosequantity","path":"/fhir-dosage-utils/docs/category/-dosequantity","sidebar":"tutorialSidebar"},{"id":"/category/-doserange","path":"/fhir-dosage-utils/docs/category/-doserange","sidebar":"tutorialSidebar"},{"id":"/category/-durationdurationmax","path":"/fhir-dosage-utils/docs/category/-durationdurationmax","sidebar":"tutorialSidebar"},{"id":"/category/-event","path":"/fhir-dosage-utils/docs/category/-event","sidebar":"tutorialSidebar"},{"id":"/category/-frequencyfrequencymax","path":"/fhir-dosage-utils/docs/category/-frequencyfrequencymax","sidebar":"tutorialSidebar"},{"id":"/category/-maxdoseperadministration","path":"/fhir-dosage-utils/docs/category/-maxdoseperadministration","sidebar":"tutorialSidebar"},{"id":"/category/-maxdoseperlifetime","path":"/fhir-dosage-utils/docs/category/-maxdoseperlifetime","sidebar":"tutorialSidebar"},{"id":"/category/-maxdoseperperiod","path":"/fhir-dosage-utils/docs/category/-maxdoseperperiod","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-method","path":"/fhir-dosage-utils/docs/category/\ufe0f-method","sidebar":"tutorialSidebar"},{"id":"/category/-offset-when","path":"/fhir-dosage-utils/docs/category/-offset-when","sidebar":"tutorialSidebar"},{"id":"/category/-offset","path":"/fhir-dosage-utils/docs/category/-offset","sidebar":"tutorialSidebar"},{"id":"/category/-when","path":"/fhir-dosage-utils/docs/category/-when","sidebar":"tutorialSidebar"},{"id":"/category/-patientinstruction","path":"/fhir-dosage-utils/docs/category/-patientinstruction","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-periodperiodmax","path":"/fhir-dosage-utils/docs/category/\ufe0f-periodperiodmax","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-ratequantity","path":"/fhir-dosage-utils/docs/category/\ufe0f-ratequantity","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-raterange","path":"/fhir-dosage-utils/docs/category/\ufe0f-raterange","sidebar":"tutorialSidebar"},{"id":"/category/-rateratio","path":"/fhir-dosage-utils/docs/category/-rateratio","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-route","path":"/fhir-dosage-utils/docs/category/\ufe0f-route","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-sequence","path":"/fhir-dosage-utils/docs/category/\ufe0f-sequence","sidebar":"tutorialSidebar"},{"id":"/category/-site","path":"/fhir-dosage-utils/docs/category/-site","sidebar":"tutorialSidebar"},{"id":"/category/-text","path":"/fhir-dosage-utils/docs/category/-text","sidebar":"tutorialSidebar"},{"id":"/category/-timeofday","path":"/fhir-dosage-utils/docs/category/-timeofday","sidebar":"tutorialSidebar"},{"id":"/demo/custom","path":"/fhir-dosage-utils/docs/demo/custom","sidebar":"tutorialSidebar"},{"id":"/demo/examples","path":"/fhir-dosage-utils/docs/demo/examples","sidebar":"tutorialSidebar"},{"id":"/demo/examples/medicationrequest","path":"/fhir-dosage-utils/docs/demo/examples/medicationrequest","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/fhir-dosage-utils/docs/quick-start","label":"quick-start"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(22654);const l=JSON.parse('{"docusaurusVersion":"3.6.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.6.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.6.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.6.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.6.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.6.1"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.6.1"},"docusaurus-plugin-typedoc-api":{"type":"package","name":"docusaurus-plugin-typedoc-api","version":"4.4.0"},"monaco-plugin":{"type":"project"}}}');var c=n(74848);const u={siteConfig:o.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},d=r.createContext(u);function f(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},67489:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(96540),o=n(38193),a=n(5260),i=n(70440),s=n(70680),l=n(53102),c=n(74848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,c.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(f,{children:(0,c.jsxs)(h,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,c.jsx)(p,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},38193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(80545),o=n(74848);function a(e){return(0,o.jsx)(r.mg,{...e})}},28774:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>p});var r=n(96540),o=n(54625),a=n(70440),i=n(44586),s=n(16654),l=n(38193),c=n(63427),u=n(86025),d=n(74848);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:v}=(0,i.default)(),{trailingSlash:x,baseUrl:w}=v,S=v.future.experimental_router,{withBaseUrl:_}=(0,u.hH)(),k=(0,c.default)(),E=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>E.current));const P=f||p;const O=(0,s.A)(P),C=P?.replace("pathname://","");let j=void 0!==C?(T=C,y&&(e=>e.startsWith("/"))(T)?_(T):T):void 0;var T;"hash"===S&&j?.startsWith("./")&&(j=j?.slice(1)),j&&O&&(j=(0,a.Ks)(j,{trailingSlash:x,baseUrl:w}));const A=(0,r.useRef)(!1),I=n?o.k2:o.N_,N=l.A.canUseIntersectionObserver,D=(0,r.useRef)(),R=()=>{A.current||null==j||(window.docusaurus.preload(j),A.current=!0)};(0,r.useEffect)((()=>(!N&&O&&l.A.canUseDOM&&null!=j&&window.docusaurus.prefetch(j),()=>{N&&D.current&&D.current.disconnect()})),[D,j,N,O]);const L=j?.startsWith("#")??!1,M=!b.target||"_self"===b.target,F=!j||!O||!M||L&&"hash"!==S;g||!L&&F||k.collectLink(j),b.id&&k.collectAnchor(b.id);const q={};return F?(0,d.jsx)("a",{ref:E,href:j,...P&&!O&&{target:"_blank",rel:"noopener noreferrer"},...b,...q}):(0,d.jsx)(I,{...b,onMouseEnter:R,onTouchStart:R,innerRef:e=>{E.current=e,N&&e&&O&&(D.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(D.current.unobserve(e),D.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))}))})),D.current.observe(e))},to:j,...n&&{isActive:h,activeClassName:m},...q})}const p=r.forwardRef(f)},21312:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,T:()=>l});var r=n(96540),o=n(74848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(22654);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=s({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},17065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},16654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},86025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(96540),o=n(44586),a=n(16654);function i(){const{siteConfig:e}=(0,o.default)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},63427:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var r=n(96540);n(74848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},44586:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(96540),o=n(26988);function a(){return(0,r.useContext)(o.o)}},92303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(6125);function a(){return(0,r.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(96540);const o=n(38193).A.canUseDOM?r.useLayoutEffect:r.useEffect},36803:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(53102);function a(){const e=r.useContext(o.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},86921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},53102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(96540),o=n(74848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},60542:(e,t,n)=>{"use strict";n.d(t,{_:()=>s,u:()=>l});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function s(e){let{children:t,content:n}=e;const o=function(e){return(0,r.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,a.jsx)(i.Provider,{value:o,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocProvider");return e}},33082:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,G:()=>c});var r=n(96540),o=n(89532),a=n(74848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t}=e;const[n,o]=(0,r.useState)(null),i=(0,r.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.dV("DocSidebarItemsExpandedStateProvider");return e}},53886:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,XK:()=>v,g1:()=>b});var r=n(96540),o=n(44070),a=n(17065),i=n(6342),s=n(70679),l=n(89532),c=n(74848);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,s.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.Wf)(u(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function m(){const e=(0,o.useAllDocsData)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,c.jsx)(p.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return(0,c.jsx)(h,{children:t})}function y(){const e=(0,r.useContext)(p);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function b(e){void 0===e&&(e=a.W);const t=(0,o.useDocsData)(e),[n,i]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function v(){const e=(0,o.useAllDocsData)(),[t]=y();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},82565:(e,t,n)=>{"use strict";n.d(t,{k:()=>a,v:()=>i});var r=n(44070),o=n(53886);function a(e,t){return`docs-${e}-${t}`}function i(){const e=(0,r.useAllDocsData)(),t=(0,r.useActivePluginAndVersion)(),n=(0,o.XK)();return[...Object.keys(e).map((function(r){const o=t?.activePlugin.pluginId===r?t.activeVersion:void 0,i=n[r],s=e[r].versions.find((e=>e.isLast));return a(r,(o??i??s).name)}))]}},60609:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>c});var r=n(96540),o=n(89532),a=n(74848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},26972:(e,t,n)=>{"use strict";n.d(t,{$S:()=>h,B5:()=>P,Nr:()=>m,OF:()=>S,QB:()=>E,Se:()=>v,Vd:()=>_,Y:()=>x,_j:()=>p,cC:()=>f,d1:()=>O,fW:()=>k,w8:()=>b});var r=n(96540),o=n(56347),a=n(22831),i=n(44070),s=n(99169),l=n(31682),c=n(53886),u=n(23025),d=n(60609);function f(e){const t=(0,u.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function p(e,t){for(const n of e)if("category"===n.type){if(t(n))return n;const e=p(n.items,t);if(e)return e}}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function h(){const{pathname:e}=(0,o.zy)(),t=(0,d.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=w({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,s.ys)(e,t),y=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||y(e.items,t))}function v(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function x(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function w(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,s.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,s.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function S(){const e=(0,d.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.useActivePlugin)()?.pluginData.breadcrumbs;return!1!==n&&e?w({sidebarItems:e.items,pathname:t}):null}function _(e){const{activeVersion:t}=(0,i.useActiveDocContext)(e),{preferredVersion:n}=(0,c.g1)(e),o=(0,i.useLatestVersion)(e);return(0,r.useMemo)((()=>(0,l.sb)([t,n,o].filter(Boolean))),[t,n,o])}function k(e,t){const n=_(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function E(e,t){const n=_(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,l.sb)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function P(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,u.r)(),i=t.routes,s=i.find((e=>(0,o.B6)(n.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?r.docsSidebars[l]:void 0;return{docElement:(0,a.v)(i),sidebarName:l,sidebarItems:c}}function O(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},23025:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},44070:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DocProvider:()=>h._,DocSidebarItemsExpandedStateProvider:()=>f.A,DocsPreferredVersionContextProvider:()=>d.VQ,DocsSidebarProvider:()=>m.V,DocsVersionProvider:()=>p.n,filterDocCardListItems:()=>u.d1,findFirstSidebarItemLink:()=>u.Nr,findSidebarCategory:()=>u._j,getDocsVersionSearchTag:()=>g.k,isActiveSidebarItem:()=>u.w8,isVisibleSidebarItem:()=>u.Se,useActiveDocContext:()=>E,useActivePlugin:()=>x,useActivePluginAndVersion:()=>w,useActiveVersion:()=>k,useAllDocsData:()=>b,useCurrentSidebarCategory:()=>u.$S,useDoc:()=>h.u,useDocById:()=>u.cC,useDocRootMetadata:()=>u.B5,useDocSidebarItemsExpandedState:()=>f.G,useDocVersionSuggestions:()=>P,useDocsContextualSearchTags:()=>g.v,useDocsData:()=>v,useDocsPreferredVersion:()=>d.g1,useDocsPreferredVersionByPluginId:()=>d.XK,useDocsSidebar:()=>m.t,useDocsVersion:()=>p.r,useDocsVersionCandidates:()=>u.Vd,useLatestVersion:()=>_,useLayoutDoc:()=>u.QB,useLayoutDocsSidebar:()=>u.fW,useSidebarBreadcrumbs:()=>u.OF,useVersions:()=>S,useVisibleSidebarItems:()=>u.Y});var r=n(56347),o=n(44586),a=n(17065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.default)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=l(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));const a=o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{};return{activeVersion:n,activeDoc:o,alternateDocVersions:a}}var u=n(26972),d=n(53886),f=n(33082),p=n(23025),m=n(60609),h=n(60542),g=n(82565);const y={},b=()=>i("docusaurus-plugin-content-docs")??y,v=e=>{try{return function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function x(e){void 0===e&&(e={});const t=b(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function w(e){void 0===e&&(e={});const t=x(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function S(e){return v(e).versions}function _(e){const t=v(e);return s(t)}function k(e){const t=v(e),{pathname:n}=(0,r.zy)();return l(t,n)}function E(e){const t=v(e),{pathname:n}=(0,r.zy)();return c(t,n)}function P(e){const t=v(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=s(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},76294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},26134:(e,t,n)=>{"use strict";var r=n(71765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t,a=globalThis.Prism;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(19700),n(89874)(`./prism-${e}`)})),delete globalThis.Prism,void 0!==a&&(globalThis.Prism=e)}(r.My)},51107:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>u});n(96540);var r=n(34164),o=n(21312),a=n(6342),i=n(28774),s=n(63427);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(74848);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.default)(),{navbar:{hideOnScroll:f}}=(0,a.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const p=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",f?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.default,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},43186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(74848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},70680:(e,t,n)=>{"use strict";n.d(t,{A:()=>vt});var r=n(96540),o=n(34164),a=n(67489),i=n(45500),s=n(75236),l=n(17559),c=n(14090);const u={skipToContent:"skipToContent_fXgn"};var d=n(74848);function f(){return(0,d.jsx)(s.K,{className:u.skipToContent})}var p=n(6342),m=n(65041),h=n(21312);function g(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,d.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,d.jsx)("g",{stroke:r,strokeWidth:o,children:(0,d.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const y={closeButton:"closeButton_CVFx"};function b(e){return(0,d.jsx)("button",{type:"button","aria-label":(0,h.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",y.closeButton,e.className),children:(0,d.jsx)(g,{width:14,height:14,strokeWidth:3.1})})}const v={content:"content_knG7"};function x(e){const{announcementBar:t}=(0,p.p)(),{content:n}=t;return(0,d.jsx)("div",{...e,className:(0,o.A)(v.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const w={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function S(){const{announcementBar:e}=(0,p.p)(),{isActive:t,close:n}=(0,m.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,d.jsxs)("div",{className:w.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,d.jsx)("div",{className:w.announcementBarPlaceholder}),(0,d.jsx)(x,{className:w.announcementBarContent}),a&&(0,d.jsx)(b,{onClick:n,className:w.announcementBarClose})]})}var _=n(22069),k=n(75062),E=n(23104);var P=n(89532),O=n(75600);const C=r.createContext(null);function j(e){let{children:t}=e;const n=function(){const e=(0,_.M)(),t=(0,O.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,P.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,d.jsx)(C.Provider,{value:n,children:t})}function T(e){if(e.component){const t=e.component;return(0,d.jsx)(t,{...e.props})}}function A(){const e=(0,r.useContext)(C);if(!e)throw new P.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,O.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:T(a)})),[o,a,t])}function I(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=A();return(0,d.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,d.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var N=n(95293),D=n(92303);function R(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function L(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const M={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function F(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,D.A)(),s=(0,h.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,h.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,h.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,d.jsx)("div",{className:(0,o.A)(M.toggle,t),children:(0,d.jsxs)("button",{className:(0,o.A)("clean-btn",M.toggleButton,!i&&M.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite","aria-pressed":"dark"===r?"true":"false",children:[(0,d.jsx)(R,{className:(0,o.A)(M.toggleIcon,M.lightToggleIcon)}),(0,d.jsx)(L,{className:(0,o.A)(M.toggleIcon,M.darkToggleIcon)})]})})}const q=r.memo(F),B={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function z(e){let{className:t}=e;const n=(0,p.p)().navbar.style,r=(0,p.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,N.G)();return r?null:(0,d.jsx)(q,{className:t,buttonClassName:"dark"===n?B.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var U=n(23465);function $(){return(0,d.jsx)(U.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function H(){const e=(0,_.M)();return(0,d.jsx)("button",{type:"button","aria-label":(0,h.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,d.jsx)(g,{color:"var(--ifm-color-emphasis-600)"})})}function V(){return(0,d.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,d.jsx)($,{}),(0,d.jsx)(z,{className:"margin-right--md"}),(0,d.jsx)(H,{})]})}var W=n(28774),K=n(86025),G=n(16654),Q=n(91252),Y=n(43186);function Z(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const u=(0,K.Ay)(r),f=(0,K.Ay)(t),p=(0,K.Ay)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,G.A)(o),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,d.jsxs)(d.Fragment,{children:[a,m&&(0,d.jsx)(Y.A,{...s&&{width:12,height:12}})]})};return o?(0,d.jsx)(W.default,{href:l?p:o,...c,...h}):(0,d.jsx)(W.default,{to:u,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,Q.G)(n,t.pathname):t.pathname.startsWith(f)},...c,...h})}function X(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,d.jsx)(Z,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,d.jsx)("li",{children:a}):a}function J(e){let{className:t,isDropdownItem:n,...r}=e;return(0,d.jsx)("li",{className:"menu__list-item",children:(0,d.jsx)(Z,{className:(0,o.A)("menu__link",t),...r})})}function ee(e){let{mobile:t=!1,position:n,...r}=e;const o=t?J:X;return(0,d.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var te=n(41422),ne=n(99169),re=n(56347),oe=n(44586);const ae="dropdownNavbarItemMobile_S0Fm";function ie(e,t){return e.some((e=>function(e,t){return!!(0,ne.ys)(e.to,t)||!!(0,Q.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function se(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,u]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,d.jsxs)("div",{ref:l,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,d.jsx)(Z,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,o.A)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u(!c))},children:s.children??s.label}),(0,d.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(De,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function le(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const l=function(){const{siteConfig:{baseUrl:e}}=(0,oe.default)(),{pathname:t}=(0,re.zy)();return t.replace(e,"/")}(),c=ie(t,l),{collapsed:u,toggleCollapsed:f,setCollapsed:p}=(0,te.u)({initialState:()=>!c});return(0,r.useEffect)((()=>{c&&p(!c)}),[l,c,p]),(0,d.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":u}),children:[(0,d.jsx)(Z,{role:"button",className:(0,o.A)(ae,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,d.jsx)(te.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:u,children:t.map(((e,t)=>(0,r.createElement)(De,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function ce(e){let{mobile:t=!1,...n}=e;const r=t?le:se;return(0,d.jsx)(r,{...n})}var ue=n(32131);function de(e){let{width:t=20,height:n=20,...r}=e;return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const fe="iconLanguage_nlXk";var pe=n(40961),me=n(55600),he=n(5260),ge=n(24255),ye=n(51062),be=n(2967),ve=n(82565);function xe(){return[`language:${(0,oe.default)().i18n.currentLocale}`,function(){const e=(0,ve.v)();return[be.C,...e]}().map((e=>`docusaurus_tag:${e}`))]}const we={button:{buttonText:(0,h.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,h.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,h.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,h.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,h.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,h.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,h.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,h.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,h.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,h.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,h.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,h.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,h.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,h.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,h.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,h.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,h.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,h.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,h.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,h.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,h.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,h.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,h.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,h.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,h.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,h.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,h.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Se=null;function _e(e){let{hit:t,children:n}=e;return(0,d.jsx)(W.default,{to:t.url,children:n})}function ke(e){let{state:t,onClose:n}=e;const r=(0,ge.w)();return(0,d.jsx)(W.default,{to:r(t.query),onClick:n,children:(0,d.jsx)(h.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Ee(e){let{contextualSearch:t,externalUrlRegex:o,...a}=e;const{siteMetadata:i}=(0,oe.default)(),s=(0,ye.C)(),l=xe(),c=a.searchParameters?.facetFilters??[],u=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(l,c):c,f={...a.searchParameters,facetFilters:u},p=(0,re.W6)(),m=(0,r.useRef)(null),h=(0,r.useRef)(null),[g,y]=(0,r.useState)(!1),[b,v]=(0,r.useState)(void 0),x=(0,r.useCallback)((()=>Se?Promise.resolve():Promise.all([n.e(8158).then(n.bind(n,48158)),Promise.all([n.e(1869),n.e(8913)]).then(n.bind(n,58913)),Promise.all([n.e(1869),n.e(416)]).then(n.bind(n,90416))]).then((e=>{let[{DocSearchModal:t}]=e;Se=t}))),[]),w=(0,r.useCallback)((()=>{if(!m.current){const e=document.createElement("div");m.current=e,document.body.insertBefore(e,document.body.firstChild)}}),[]),S=(0,r.useCallback)((()=>{w(),x().then((()=>y(!0)))}),[x,w]),_=(0,r.useCallback)((()=>{y(!1),h.current?.focus()}),[]),k=(0,r.useCallback)((e=>{"f"===e.key&&(e.metaKey||e.ctrlKey)||(e.preventDefault(),v(e.key),S())}),[S]),E=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,Q.G)(o,t)?window.location.href=t:p.push(t)}}).current,P=(0,r.useRef)((e=>a.transformItems?a.transformItems(e):e.map((e=>({...e,url:s(e.url)}))))).current,O=(0,r.useMemo)((()=>e=>(0,d.jsx)(ke,{...e,onClose:_})),[_]),C=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return(0,me.E8)({isOpen:g,onOpen:S,onClose:_,onInput:k,searchButtonRef:h}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(he.A,{children:(0,d.jsx)("link",{rel:"preconnect",href:`https://${a.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,d.jsx)(me.Bc,{onTouchStart:x,onFocus:x,onMouseOver:x,onClick:S,ref:h,translations:we.button}),g&&Se&&m.current&&(0,pe.createPortal)((0,d.jsx)(Se,{onClose:_,initialScrollY:window.scrollY,initialQuery:b,navigator:E,transformItems:P,hitComponent:_e,transformSearchClient:C,...a.searchPagePath&&{resultsFooterComponent:O},...a,searchParameters:f,placeholder:we.placeholder,translations:we.modal}),m.current)]})}function Pe(){const{siteConfig:e}=(0,oe.default)();return(0,d.jsx)(Ee,{...e.themeConfig.algolia})}const Oe={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ce(e){let{children:t,className:n}=e;return(0,d.jsx)("div",{className:(0,o.A)(n,Oe.navbarSearchContainer),children:t})}var je=n(44070),Te=n(26972);var Ae=n(53886);function Ie(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const Ne={default:ee,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:s,localeConfigs:l}}=(0,oe.default)(),c=(0,ue.o)(),{search:u,hash:f}=(0,re.zy)(),p=[...n,...s.map((e=>{const n=`${`pathname://${c.createUrl({locale:e,fullyQualified:!1})}`}${u}${f}${o}`;return{label:l[e].label,lang:l[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],m=t?(0,h.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):l[i].label;return(0,d.jsx)(ce,{...a,mobile:t,label:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(de,{className:fe}),m]}),items:p})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,d.jsx)(Ce,{className:n,children:(0,d.jsx)(Pe,{})})},dropdown:ce,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,d.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,je.useActiveDocContext)(r),i=(0,Te.QB)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,d.jsx)(ee,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,je.useActiveDocContext)(r),i=(0,Te.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,d.jsx)(ee,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,Te.Vd)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,d.jsx)(ee,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:s,hash:l}=(0,re.zy)(),c=(0,je.useActiveDocContext)(n),u=(0,je.useVersions)(n),{savePreferredVersionName:f}=(0,Ae.g1)(n),p=[...o,...u.map((function(e){const t=Ie(e,c);return{label:e.label,to:`${t.path}${s}${l}`,isActive:()=>e===c.activeVersion,onClick:()=>f(e.name)}})),...a],m=(0,Te.Vd)(n)[0],g=t&&p.length>1?(0,h.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,y=t&&p.length>1?void 0:Ie(m,c).path;return p.length<=1?(0,d.jsx)(ee,{...i,mobile:t,label:g,to:y,isActive:r?()=>!1:void 0}):(0,d.jsx)(ce,{...i,mobile:t,label:g,to:y,items:p,isActive:r?()=>!1:void 0})}};function De(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ne[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,d.jsx)(o,{...n})}function Re(){const e=(0,_.M)(),t=(0,p.p)().navbar.items;return(0,d.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(De,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Le(e){return(0,d.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,d.jsx)(h.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Me(){const e=0===(0,p.p)().navbar.items.length,t=A();return(0,d.jsxs)(d.Fragment,{children:[!e&&(0,d.jsx)(Le,{onClick:()=>t.hide()}),t.content]})}function Fe(){const e=(0,_.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,d.jsx)(I,{header:(0,d.jsx)(V,{}),primaryMenu:(0,d.jsx)(Re,{}),secondaryMenu:(0,d.jsx)(Me,{})}):null}const qe={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Be(e){return(0,d.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function ze(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,p.p)(),i=(0,_.M)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,E.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<a.current)return void n(!0);if(o.current)return void(o.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-a.current,c=window.innerHeight;s&&i>=s?n(!1):i+c<l&&n(!0)})),(0,k.$)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,d.jsxs)("nav",{ref:s,"aria-label":(0,h.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[qe.navbarHideable,!l&&qe.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,d.jsx)(Be,{onClick:i.toggle}),(0,d.jsx)(Fe,{})]})}var Ue=n(12181);const $e="right";function He(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,d.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,d.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ve(){const{toggle:e,shown:t}=(0,_.M)();return(0,d.jsx)("button",{onClick:e,"aria-label":(0,h.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,d.jsx)(He,{})})}const We={colorModeToggle:"colorModeToggle_DEke"};function Ke(e){let{items:t}=e;return(0,d.jsx)(d.Fragment,{children:t.map(((e,t)=>(0,d.jsx)(Ue.k2,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,d.jsx)(De,{...e})},t)))})}function Ge(e){let{left:t,right:n}=e;return(0,d.jsxs)("div",{className:"navbar__inner",children:[(0,d.jsx)("div",{className:"navbar__items",children:t}),(0,d.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Qe(){const e=(0,_.M)(),t=(0,p.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??$e)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,d.jsx)(Ge,{left:(0,d.jsxs)(d.Fragment,{children:[!e.disabled&&(0,d.jsx)(Ve,{}),(0,d.jsx)($,{}),(0,d.jsx)(Ke,{items:n})]}),right:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Ke,{items:r}),(0,d.jsx)(z,{className:We.colorModeToggle}),!o&&(0,d.jsx)(Ce,{children:(0,d.jsx)(Pe,{})})]})})}function Ye(){return(0,d.jsx)(ze,{children:(0,d.jsx)(Qe,{})})}var Ze=n(53106);function Xe(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,K.Ay)(n),l=(0,K.Ay)(r,{forcePrependBaseUrl:!0});return(0,d.jsxs)(W.default,{className:"footer__link-item",...r?{href:a?l:r}:{to:s},...i,children:[o,r&&!(0,G.A)(r)&&(0,d.jsx)(Y.A,{})]})}function Je(e){let{item:t}=e;return t.html?(0,d.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,d.jsx)("li",{className:"footer__item",children:(0,d.jsx)(Xe,{item:t})},t.href??t.to)}function et(e){let{column:t}=e;return(0,d.jsxs)("div",{className:"col footer__col",children:[(0,d.jsx)("div",{className:"footer__title",children:t.title}),(0,d.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,d.jsx)(Je,{item:e},t)))})]})}function tt(e){let{columns:t}=e;return(0,d.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,d.jsx)(et,{column:e},t)))})}function nt(){return(0,d.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function rt(e){let{item:t}=e;return t.html?(0,d.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,d.jsx)(Xe,{item:t})}function ot(e){let{links:t}=e;return(0,d.jsx)("div",{className:"footer__links text--center",children:(0,d.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,d.jsxs)(r.Fragment,{children:[(0,d.jsx)(rt,{item:e}),t.length!==n+1&&(0,d.jsx)(nt,{})]},n)))})})}function at(e){let{links:t}=e;return(0,Ze.C)(t)?(0,d.jsx)(tt,{columns:t}):(0,d.jsx)(ot,{links:t})}var it=n(15626);const st="footerLogoLink_BH7S";function lt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,K.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,d.jsx)(it.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function ct(e){let{logo:t}=e;return t.href?(0,d.jsx)(W.default,{href:t.href,className:st,target:t.target,children:(0,d.jsx)(lt,{logo:t})}):(0,d.jsx)(lt,{logo:t})}function ut(e){let{copyright:t}=e;return(0,d.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function dt(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,d.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,d.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,d.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,d.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function ft(){const{footer:e}=(0,p.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,d.jsx)(dt,{style:o,links:n&&n.length>0&&(0,d.jsx)(at,{links:n}),logo:r&&(0,d.jsx)(ct,{logo:r}),copyright:t&&(0,d.jsx)(ut,{copyright:t})})}const pt=r.memo(ft),mt=(0,P.fM)([N.a,m.o,E.Tv,Ae.VQ,i.Jx,function(e){let{children:t}=e;return(0,d.jsx)(O.y_,{children:(0,d.jsx)(_.e,{children:(0,d.jsx)(j,{children:t})})})}]);function ht(e){let{children:t}=e;return(0,d.jsx)(mt,{children:t})}var gt=n(51107);function yt(e){let{error:t,tryAgain:n}=e;return(0,d.jsx)("main",{className:"container margin-vert--xl",children:(0,d.jsx)("div",{className:"row",children:(0,d.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,d.jsx)(gt.default,{as:"h1",className:"hero__title",children:(0,d.jsx)(h.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,d.jsx)("div",{className:"margin-vert--lg",children:(0,d.jsx)(Ue.a2,{onClick:n,className:"button button--primary shadow--lw"})}),(0,d.jsx)("hr",{}),(0,d.jsx)("div",{className:"margin-vert--md",children:(0,d.jsx)(Ue.bq,{error:t})})]})})})}const bt={mainWrapper:"mainWrapper_z2l0"};function vt(e){const{children:t,noFooter:n,wrapperClassName:r,title:u,description:p}=e;return(0,c.J)(),(0,d.jsxs)(ht,{children:[(0,d.jsx)(i.be,{title:u,description:p}),(0,d.jsx)(f,{}),(0,d.jsx)(S,{}),(0,d.jsx)(Ye,{}),(0,d.jsx)("div",{id:s.j,className:(0,o.A)(l.G.wrapper.main,bt.mainWrapper,r),children:(0,d.jsx)(a.A,{fallback:e=>(0,d.jsx)(yt,{...e}),children:t})}),!n&&(0,d.jsx)(pt,{})]})}},23465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(28774),o=n(86025),a=n(44586),i=n(6342),s=n(15626),l=n(74848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.default)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...f}=e,p=(0,o.Ay)(s?.href||"/"),m=n?"":t,h=s?.alt??m;return(0,l.jsxs)(r.default,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:h,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},41463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(5260),o=n(74848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},15626:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(9967),o=n(74848);function a(e){const{sources:t,className:n,alt:a,...i}=e;return(0,o.jsx)(r.A,{className:n,children:e=>{let{theme:n,className:r}=e;return(0,o.jsx)("img",{src:t[n],alt:a,className:r,...i})}})}},41422:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>c});var r=n(96540),o=n(38193),a=n(205),i=n(53109),s=n(74848);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return f(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.A.canUseDOM)return e?u:d}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return p({collapsibleRef:u,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(u.current,n),i?.(n))},className:l,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&c(t)}),[o,t]),o?(0,s.jsx)(h,{...n,collapsed:l}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,s.jsx)(r,{...n})}},9967:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(96540),o=n(34164),a=n(92303),i=n(95293);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(74848);function c(e){let{className:t,children:n}=e;const c=(0,a.A)(),{colorMode:u}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:a},e)}))})}},65041:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>m});var r=n(96540),o=n(92303),a=n(70679),i=n(89532),s=n(6342),l=n(74848);const c=(0,a.Wf)("docusaurus.announcement.dismiss"),u=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),f=e=>c.set(String(e)),p=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&f(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(p.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},95293:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>g});var r=n(96540),o=n(38193),a=n(89532),i=n(70679),s=n(6342),l=n(74848);const c=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,m=e=>o.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),h=e=>{d.set(p(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[o,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(c);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},22069:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>f});var r=n(96540),o=n(75600),a=n(24581),i=n(57485),s=n(6342),l=n(89532),c=n(74848);const u=r.createContext(void 0);function d(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[l,c]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(l)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:l})),[e,n,u,l])}function f(e){let{children:t}=e;const n=d();return(0,c.jsx)(u.Provider,{value:n,children:t})}function p(){const e=r.useContext(u);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},75600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>l,y_:()=>s});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,o.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},14090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(96540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},24255:(e,t,n)=>{"use strict";n.d(t,{b:()=>s,w:()=>l});var r=n(96540),o=n(44586),a=n(57485);const i="q";function s(){return(0,a.l)(i)}function l(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,o.default)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},24581:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(96540),o=n(38193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},17559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},53109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},12181:(e,t,n)=>{"use strict";n.d(t,{bq:()=>u,MN:()=>c,a2:()=>l,k2:()=>d});var r=n(96540),o=n(21312),a=n(70440);const i={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};var s=n(74848);function l(e){return(0,s.jsx)("button",{type:"button",...e,children:(0,s.jsx)(o.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function c(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{className:i.errorBoundaryFallback,children:[(0,s.jsx)("p",{children:t.message}),(0,s.jsx)(l,{onClick:n})]})}function u(e){let{error:t}=e;const n=(0,a.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{className:i.errorBoundaryError,children:n})}class d extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}},53106:(e,t,n)=>{"use strict";function r(e){return"title"in e[0]}n.d(t,{C:()=>r})},20481:(e,t,n)=>{"use strict";n.d(t,{s:()=>o});var r=n(44586);function o(e){const{siteConfig:t}=(0,r.default)(),{title:n,titleDelimiter:o}=t;return e?.trim().length?`${e.trim()} ${o} ${n}`:n}},57485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,Hl:()=>s,W9:()=>d,aZ:()=>l,fV:()=>u,l:()=>c});var r=n(96540),o=n(56347),a=n(89532);function i(e){!function(e){const t=(0,o.W6)(),n=(0,a._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){const t=(0,o.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function l(e){return s((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function c(e){const t=l(e)??"",n=function(e){const t=(0,o.W6)();return(0,r.useCallback)(((n,r)=>{const o=new URLSearchParams(t.location.search);n?o.set(e,n):o.delete(e),(r?.push?t.push:t.replace)({search:o.toString()})}),[e,t])}(e);return[t,n]}function u(e){const t=function(e){const t=s((t=>{const n=new URLSearchParams(t.location.search).getAll(e);return JSON.stringify(n)}));return(0,r.useMemo)((()=>JSON.parse(t)),[t])}(e),n=function(e){const t=(0,o.W6)();return(0,r.useCallback)(((n,r)=>{const o=new URLSearchParams(t.location.search),a=Array.isArray(n)?n:n(o.getAll(e));o.delete(e),a.forEach((t=>o.append(e,t))),(r?.push?t.push:t.replace)({search:o.toString()})}),[t,e])}(e);return[t,n]}function d(){const e=(0,o.W6)();return(0,r.useCallback)((()=>{e.replace({search:void 0})}),[e])}},31682:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function o(e){return Array.from(new Set(e))}function a(e,t){const n={};let r=0;for(const o of e){const e=t(o,r);n[e]??=[],n[e].push(o),r+=1}return n}n.d(t,{$z:()=>a,XI:()=>r,sb:()=>o})},45500:(e,t,n)=>{"use strict";n.d(t,{Jx:()=>p,be:()=>u,e3:()=>f});var r=n(96540),o=n(34164),a=n(5260),i=n(36803),s=n(86025),l=n(20481),c=n(74848);function u(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const u=(0,l.s)(t),{withBaseUrl:d}=(0,s.hH)(),f=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.A,{children:[t&&(0,c.jsx)("title",{children:u}),t&&(0,c.jsx)("meta",{property:"og:title",content:u}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,c.jsx)("meta",{property:"og:image",content:f}),f&&(0,c.jsx)("meta",{name:"twitter:image",content:f}),i]})}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,o.A)(i,t);return(0,c.jsxs)(d.Provider,{value:s,children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("html",{className:s})}),n]})}function p(e){let{children:t}=e;const n=(0,i.A)(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,o.A)(r,a),children:t})}},89532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>u});var r=n(96540),o=n(205),a=n(74848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},91252:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>r})},99169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(96540),o=n(35947),a=n(44586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.default)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},23104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>u,a_:()=>m,gk:()=>h});var r=n(96540),o=n(38193),a=n(92303),i=n(205),s=n(89532),l=n(74848);const c=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function d(){const e=(0,r.useContext)(c);if(null==e)throw new s.dV("ScrollControllerProvider");return e}const f=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),o=(0,r.useRef)(f()),a=(0,s._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=f();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function m(){const e=d(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),o=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.A)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:o}}function h(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&o<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(o-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{C:()=>r});const r="default"},75236:(e,t,n)=>{"use strict";n.d(t,{K:()=>f,j:()=>l});var r=n(96540),o=n(56347),a=n(21312),i=n(75062),s=n(74848);const l="__docusaurus_skipToContent_fallback";function c(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function u(){const e=(0,r.useRef)(null),{action:t}=(0,o.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(l);t&&c(t)}),[]);return(0,i.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&c(e.current)})),{containerRef:e,onClick:n}}const d=(0,a.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function f(e){const t=e.children??d,{containerRef:n,onClick:r}=u();return(0,s.jsx)("div",{ref:n,role:"region","aria-label":d,children:(0,s.jsx)("a",{...e,href:`#${l}`,onClick:r,children:t})})}},70679:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>u,Eo:()=>f,Dv:()=>d});var r=n(96540);const o=JSON.parse('{"N":"localStorage","M":""}'),a=o.N;function i(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function s(e){if(void 0===e&&(e=a),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,l||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),l=!0),null}var t}let l=!1;const c={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){const n=`${e}${o.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const r=s(t?.persistence);return null===r?c:{get:()=>{try{return r.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=r.getItem(n);r.setItem(n,e),i({key:n,oldValue:t,newValue:e,storage:r})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=r.getItem(n);r.removeItem(n),i({key:n,oldValue:e,newValue:null,storage:r})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===r&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?c:u(e,t))).current(),o=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}function f(e){void 0===e&&(e=a);const t=s(e);if(!t)return[];const n=[];for(let r=0;r<t.length;r+=1){const e=t.key(r);null!==e&&n.push(e)}return n}},32131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(44586),o=n(56347),a=n(70440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.default)(),{pathname:l}=(0,o.zy)(),c=(0,a.Ks)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},75062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(96540),o=n(56347),a=n(89532);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(44586);function o(){return(0,r.default)().siteConfig.themeConfig}},38126:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});var r=n(44586);function o(){const{siteConfig:{themeConfig:e}}=(0,r.default)();return e}},51062:(e,t,n)=>{"use strict";n.d(t,{C:()=>s});var r=n(96540),o=n(91252),a=n(86025),i=n(38126);function s(){const{withBaseUrl:e}=(0,a.hH)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.c)();return(0,r.useCallback)((r=>{const a=new URL(r);if((0,o.G)(t,a.href))return r;const i=`${a.pathname+a.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},12983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,c=n,c?o(l):a(l));var l,c;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(42566);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},80253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},70440:(e,t,n)=>{"use strict";t.rA=t.Ks=t.LU=void 0;const r=n(31635);t.LU="__blog-post-container";var o=n(12983);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(42566);var i=n(80253);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},42566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},31513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>x,TM:()=>P,yJ:()=>p,sC:()=>C,AO:()=>f});var r=n(58168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&o(e),l=t&&o(t),c=s||l;if(e&&o(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,f=i.length;f>=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),d++):d&&(a(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(11561);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function p(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var h=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var y="popstate",b="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function x(e){void 0===e&&(e={}),h||(0,s.A)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,a=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,x=void 0!==c&&c,w=i.getUserConfirmation,S=void 0===w?g:w,_=i.keyLength,k=void 0===_?6:_,E=e.basename?d(l(e.basename)):"";function P(e){var t=e||{},n=t.key,r=t.state,o=window.location,a=o.pathname+o.search+o.hash;return E&&(a=u(a,E)),p(a,r,n)}function O(){return Math.random().toString(36).substr(2,k)}var C=m();function j(e){(0,r.A)(z,e),z.length=n.length,C.notifyListeners(z.location,z.action)}function T(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||N(P(e.state))}function A(){N(P(v()))}var I=!1;function N(e){if(I)I=!1,j();else{C.confirmTransitionTo(e,"POP",S,(function(t){t?j({action:"POP",location:e}):function(e){var t=z.location,n=R.indexOf(t.key);-1===n&&(n=0);var r=R.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(I=!0,M(o))}(e)}))}}var D=P(v()),R=[D.key];function L(e){return E+f(e)}function M(e){n.go(e)}var F=0;function q(e){1===(F+=e)&&1===e?(window.addEventListener(y,T),a&&window.addEventListener(b,A)):0===F&&(window.removeEventListener(y,T),a&&window.removeEventListener(b,A))}var B=!1;var z={length:n.length,action:"POP",location:D,createHref:L,push:function(e,t){var r="PUSH",a=p(e,t,O(),z.location);C.confirmTransitionTo(a,r,S,(function(e){if(e){var t=L(a),i=a.key,s=a.state;if(o)if(n.pushState({key:i,state:s},null,t),x)window.location.href=t;else{var l=R.indexOf(z.location.key),c=R.slice(0,l+1);c.push(a.key),R=c,j({action:r,location:a})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,O(),z.location);C.confirmTransitionTo(a,r,S,(function(e){if(e){var t=L(a),i=a.key,s=a.state;if(o)if(n.replaceState({key:i,state:s},null,t),x)window.location.replace(t);else{var l=R.indexOf(z.location.key);-1!==l&&(R[l]=a.key),j({action:r,location:a})}else window.location.replace(t)}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=C.setPrompt(e);return B||(q(1),B=!0),function(){return B&&(B=!1,q(-1)),t()}},listen:function(e){var t=C.appendListener(e);return q(1),function(){q(-1),t()}}};return z}var w="hashchange",S={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:l},slash:{encodePath:l,decodePath:l}};function _(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function k(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function E(e){window.location.replace(_(window.location.href)+"#"+e)}function P(e){void 0===e&&(e={}),h||(0,s.A)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,a=void 0===o?g:o,i=n.hashType,c=void 0===i?"slash":i,y=e.basename?d(l(e.basename)):"",b=S[c],v=b.encodePath,x=b.decodePath;function P(){var e=x(k());return y&&(e=u(e,y)),p(e)}var O=m();function C(e){(0,r.A)(B,e),B.length=t.length,O.notifyListeners(B.location,B.action)}var j=!1,T=null;function A(){var e,t,n=k(),r=v(n);if(n!==r)E(r);else{var o=P(),i=B.location;if(!j&&(t=o,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(T===f(o))return;T=null,function(e){if(j)j=!1,C();else{var t="POP";O.confirmTransitionTo(e,t,a,(function(n){n?C({action:t,location:e}):function(e){var t=B.location,n=R.lastIndexOf(f(t));-1===n&&(n=0);var r=R.lastIndexOf(f(e));-1===r&&(r=0);var o=n-r;o&&(j=!0,L(o))}(e)}))}}(o)}}var I=k(),N=v(I);I!==N&&E(N);var D=P(),R=[f(D)];function L(e){t.go(e)}var M=0;function F(e){1===(M+=e)&&1===e?window.addEventListener(w,A):0===M&&window.removeEventListener(w,A)}var q=!1;var B={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=_(window.location.href)),n+"#"+v(y+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,B.location);O.confirmTransitionTo(r,n,a,(function(e){if(e){var t=f(r),o=v(y+t);if(k()!==o){T=t,function(e){window.location.hash=e}(o);var a=R.lastIndexOf(f(B.location)),i=R.slice(0,a+1);i.push(t),R=i,C({action:n,location:r})}else C()}}))},replace:function(e,t){var n="REPLACE",r=p(e,void 0,void 0,B.location);O.confirmTransitionTo(r,n,a,(function(e){if(e){var t=f(r),o=v(y+t);k()!==o&&(T=t,E(o));var a=R.indexOf(f(B.location));-1!==a&&(R[a]=t),C({action:n,location:r})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=O.setPrompt(e);return q||(F(1),q=!0),function(){return q&&(q=!1,F(-1)),t()}},listen:function(e){var t=O.appendListener(e);return F(1),function(){F(-1),t()}}};return B}function O(e,t,n){return Math.min(Math.max(e,t),n)}function C(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,a=void 0===o?["/"]:o,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,c=void 0===l?6:l,u=m();function d(e){(0,r.A)(x,e),x.length=x.entries.length,u.notifyListeners(x.location,x.action)}function h(){return Math.random().toString(36).substr(2,c)}var g=O(s,0,a.length-1),y=a.map((function(e){return p(e,void 0,"string"==typeof e?h():e.key||h())})),b=f;function v(e){var t=O(x.index+e,0,x.entries.length-1),r=x.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var x={length:y.length,action:"POP",location:y[g],index:g,entries:y,createHref:b,push:function(e,t){var r="PUSH",o=p(e,t,h(),x.location);u.confirmTransitionTo(o,r,n,(function(e){if(e){var t=x.index+1,n=x.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,h(),x.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(x.entries[x.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=x.index+e;return t>=0&&t<x.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return x}},4146:(e,t,n)=>{"use strict";var r=n(44363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=p(n);o&&o!==m&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),g=0;g<i.length;++g){var y=i[g];if(!(a[y]||r&&r[y]||h&&h[y]||s&&s[y])){var b=f(n,y);try{c(t,y,b)}catch(v){}}}}return t}},20311:e=>{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},64634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},10119:(e,t,n)=>{"use strict";n.r(t)},51043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},35302:(e,t,n)=>{var r=n(64634);e.exports=m,e.exports.parse=a,e.exports.compile=function(e,t){return l(a(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,s=0,l="",c=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(s,p),s=p+d.length,f)l+=f[1];else{var m=e[s],h=n[2],g=n[3],y=n[4],b=n[5],v=n[6],x=n[7];l&&(r.push(l),l="");var w=null!=h&&null!=m&&m!==h,S="+"===v||"*"===v,_="?"===v||"*"===v,k=h||c,E=y||b,P=h||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:g||a++,prefix:h||"",delimiter:k,optional:_,repeat:S,partial:w,asterisk:!!x,pattern:E?u(E):x?".*":i(k,P)})}}return s<e.length&&(l+=e.substr(s)),l&&r.push(l),r}function i(e,t){return!t||t.indexOf(e)>-1?"[^"+c(e)+"]+?":c(t)+"|(?:(?!"+c(t)+")[^"+c(e)+"])+?"}function s(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(n[o]=new RegExp("^(?:"+e[o].pattern+")$",f(t)));return function(t,o){for(var a="",i=t||{},l=(o||{}).pretty?s:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,f=i[u.name];if(null==f){if(u.optional){u.partial&&(a+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(f)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(d=l(f[p]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");a+=(0===p?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(f).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(f),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');a+=u.prefix+d}}else a+=u}return a}}function c(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function d(e,t){return e.keys=t,e}function f(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var o=(n=n||{}).strict,a=!1!==n.end,i="",s=0;s<e.length;s++){var l=e[s];if("string"==typeof l)i+=c(l);else{var u=c(l.prefix),p="(?:"+l.pattern+")";t.push(l),l.repeat&&(p+="(?:"+u+p+")*"),i+=p=l.optional?l.partial?u+"("+p+")?":"(?:"+u+"("+p+"))?":u+"("+p+")"}}var m=c(n.delimiter||"/"),h=i.slice(-m.length)===m;return o||(i=(h?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=a?"$":o&&h?"":"(?="+m+"|$)",d(new RegExp("^"+i,f(n)),t)}function m(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return d(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],o=0;o<e.length;o++)r.push(m(e[o],t,n).source);return d(new RegExp("(?:"+r.join("|")+")",f(n)),t)}(e,t,n):function(e,t,n){return p(a(e,n),t,n)}(e,t,n)}},72514:()=>{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},19700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(o>=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],f="string"==typeof c?c:c.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++o;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(m+p.length),b=[];h&&b.push.apply(b,i([h])),b.push(g),y&&b.push.apply(b,i([y])),"string"==typeof c?s.splice.apply(s,[l,1].concat(b)):c.content=b}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},89874:(e,t,n)=>{var r={"./prism-json":72514};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=89874},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},22551:(e,t,n)=>{"use strict";var r=n(96540),o=n(69982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function h(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function v(e,t,n,r){var o=g.hasOwnProperty(t)?g[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!d.call(m,e)||!d.call(p,e)&&(f.test(e)?m[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(y,b);g[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,b);g[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,b);g[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var x=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),S=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),P=Symbol.for("react.provider"),O=Symbol.for("react.context"),C=Symbol.for("react.forward_ref"),j=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),I=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var N=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var D=Symbol.iterator;function R(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=D&&e[D]||e["@@iterator"])?e:null}var L,M=Object.assign;function F(e){if(void 0===L)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);L=t&&t[1]||""}return"\n"+L+e}var q=!1;function B(e,t){if(!e||q)return"";q=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var o=c.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,s=a.length-1;1<=i&&0<=s&&o[i]!==a[s];)s--;for(;1<=i&&0<=s;i--,s--)if(o[i]!==a[s]){if(1!==i||1!==s)do{if(i--,0>--s||o[i]!==a[s]){var l="\n"+o[i].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=i&&0<=s);break}}}finally{q=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?F(e):""}function z(e){switch(e.tag){case 5:return F(e.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case _:return"Fragment";case S:return"Portal";case E:return"Profiler";case k:return"StrictMode";case j:return"Suspense";case T:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case O:return(e.displayName||"Context")+".Consumer";case P:return(e._context.displayName||"Context")+".Provider";case C:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case A:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case I:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function $(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===k?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function W(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function G(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return M({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Z(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){Z(e,t);var n=H(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&G(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return M({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function ae(e,t){var n=H(t.value),r=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function fe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function he(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=he(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(pe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]}))}));var ye=M({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function be(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var xe=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Se=null,_e=null,ke=null;function Ee(e){if(e=xo(e)){if("function"!=typeof Se)throw Error(a(280));var t=e.stateNode;t&&(t=So(t),Se(e.stateNode,e.type,t))}}function Pe(e){_e?ke?ke.push(e):ke=[e]:_e=e}function Oe(){if(_e){var e=_e,t=ke;if(ke=_e=null,Ee(e),t)for(e=0;e<t.length;e++)Ee(t[e])}}function Ce(e,t){return e(t)}function je(){}var Te=!1;function Ae(e,t,n){if(Te)return e(t,n);Te=!0;try{return Ce(e,t,n)}finally{Te=!1,(null!==_e||null!==ke)&&(je(),Oe())}}function Ie(e,t){var n=e.stateNode;if(null===n)return null;var r=So(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Ne=!1;if(u)try{var De={};Object.defineProperty(De,"passive",{get:function(){Ne=!0}}),window.addEventListener("test",De,De),window.removeEventListener("test",De,De)}catch(ue){Ne=!1}function Re(e,t,n,r,o,a,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Le=!1,Me=null,Fe=!1,qe=null,Be={onError:function(e){Le=!0,Me=e}};function ze(e,t,n,r,o,a,i,s,l){Le=!1,Me=null,Re.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function $e(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(Ue(e)!==e)throw Error(a(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var i=o.alternate;if(null===i){if(null!==(r=o.return)){n=r;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return He(o),e;if(i===r)return He(o),t;i=i.sibling}throw Error(a(188))}if(n.return!==r.return)n=o,r=i;else{for(var s=!1,l=o.child;l;){if(l===n){s=!0,n=o,r=i;break}if(l===r){s=!0,r=o,n=i;break}l=l.sibling}if(!s){for(l=i.child;l;){if(l===n){s=!0,n=i,r=o;break}if(l===r){s=!0,r=i,n=o;break}l=l.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?We(e):null}function We(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=We(e);if(null!==t)return t;e=e.sibling}return null}var Ke=o.unstable_scheduleCallback,Ge=o.unstable_cancelCallback,Qe=o.unstable_shouldYield,Ye=o.unstable_requestPaint,Ze=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Je=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,rt=o.unstable_IdlePriority,ot=null,at=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ft(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~o;0!==s?r=dt(s):0!==(a&=i)&&(r=dt(a))}else 0!==(i=n&~o)?r=dt(i):0!==a&&(r=dt(a));if(0===r)return 0;if(0!==t&&t!==r&&!(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&4194240&a))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-it(t)),r|=e[n],t&=~o;return r}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ht(){var e=ct;return!(4194240&(ct<<=1))&&(ct=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var vt=0;function xt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var wt,St,_t,kt,Et,Pt=!1,Ot=[],Ct=null,jt=null,Tt=null,At=new Map,It=new Map,Nt=[],Dt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Rt(e,t){switch(e){case"focusin":case"focusout":Ct=null;break;case"dragenter":case"dragleave":jt=null;break;case"mouseover":case"mouseout":Tt=null;break;case"pointerover":case"pointerout":At.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":It.delete(t.pointerId)}}function Lt(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&(null!==(t=xo(t))&&St(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Mt(e){var t=vo(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=$e(n)))return e.blockedOn=t,void Et(e.priority,(function(){_t(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=xo(n))&&St(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);xe=r,n.target.dispatchEvent(r),xe=null,t.shift()}return!0}function qt(e,t,n){Ft(e)&&n.delete(t)}function Bt(){Pt=!1,null!==Ct&&Ft(Ct)&&(Ct=null),null!==jt&&Ft(jt)&&(jt=null),null!==Tt&&Ft(Tt)&&(Tt=null),At.forEach(qt),It.forEach(qt)}function zt(e,t){e.blockedOn===t&&(e.blockedOn=null,Pt||(Pt=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return zt(t,e)}if(0<Ot.length){zt(Ot[0],e);for(var n=1;n<Ot.length;n++){var r=Ot[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Ct&&zt(Ct,e),null!==jt&&zt(jt,e),null!==Tt&&zt(Tt,e),At.forEach(t),It.forEach(t),n=0;n<Nt.length;n++)(r=Nt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Nt.length&&null===(n=Nt[0]).blockedOn;)Mt(n),null===n.blockedOn&&Nt.shift()}var $t=x.ReactCurrentBatchConfig,Ht=!0;function Vt(e,t,n,r){var o=vt,a=$t.transition;$t.transition=null;try{vt=1,Kt(e,t,n,r)}finally{vt=o,$t.transition=a}}function Wt(e,t,n,r){var o=vt,a=$t.transition;$t.transition=null;try{vt=4,Kt(e,t,n,r)}finally{vt=o,$t.transition=a}}function Kt(e,t,n,r){if(Ht){var o=Qt(e,t,n,r);if(null===o)Hr(e,t,r,Gt,n),Rt(e,r);else if(function(e,t,n,r,o){switch(t){case"focusin":return Ct=Lt(Ct,e,t,n,r,o),!0;case"dragenter":return jt=Lt(jt,e,t,n,r,o),!0;case"mouseover":return Tt=Lt(Tt,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return At.set(a,Lt(At.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,It.set(a,Lt(It.get(a)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(Rt(e,r),4&t&&-1<Dt.indexOf(e)){for(;null!==o;){var a=xo(o);if(null!==a&&wt(a),null===(a=Qt(e,t,n,r))&&Hr(e,t,r,Gt,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else Hr(e,t,r,null,n)}}var Gt=null;function Qt(e,t,n,r){if(Gt=null,null!==(e=vo(e=we(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=$e(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Gt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Zt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,o="value"in Zt?Zt.value:Zt.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);return Jt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return M(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,sn,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(cn),dn=M({},cn,{view:0,detail:0}),fn=on(dn),pn=M({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(an=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=an=0,ln=e),an)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),mn=on(pn),hn=on(M({},pn,{dataTransfer:0})),gn=on(M({},dn,{relatedTarget:0})),yn=on(M({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),bn=M({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=on(bn),xn=on(M({},cn,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Sn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function kn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function En(){return kn}var Pn=M({},dn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Sn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),On=on(Pn),Cn=on(M({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),jn=on(M({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En})),Tn=on(M({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),An=M({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),In=on(An),Nn=[9,13,27,32],Dn=u&&"CompositionEvent"in window,Rn=null;u&&"documentMode"in document&&(Rn=document.documentMode);var Ln=u&&"TextEvent"in window&&!Rn,Mn=u&&(!Dn||Rn&&8<Rn&&11>=Rn),Fn=String.fromCharCode(32),qn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Nn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var $n={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!$n[e.type]:"textarea"===t}function Vn(e,t,n,r){Pe(r),0<(t=Wr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Wn=null,Kn=null;function Gn(e){Fr(e,0)}function Qn(e){if(K(wo(e)))return e}function Yn(e,t){if("change"===e)return t}var Zn=!1;if(u){var Xn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Zn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Wn&&(Wn.detachEvent("onpropertychange",nr),Kn=Wn=null)}function nr(e){if("value"===e.propertyName&&Qn(Kn)){var t=[];Vn(t,Kn,e,we(e)),Ae(Gn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Kn=n,(Wn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Kn)}function ar(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var sr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function lr(e,t){if(sr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!d.call(t,o)||!sr(e[o],t[o]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function fr(){for(var e=window,t=G();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=G((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mr(e){var t=fr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=ur(n,a);var i=ur(n,r);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var hr=u&&"documentMode"in document&&11>=document.documentMode,gr=null,yr=null,br=null,vr=!1;function xr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==gr||gr!==G(r)||("selectionStart"in(r=gr)&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},br&&lr(br,r)||(br=r,0<(r=Wr(yr,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function wr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Sr={animationend:wr("Animation","AnimationEnd"),animationiteration:wr("Animation","AnimationIteration"),animationstart:wr("Animation","AnimationStart"),transitionend:wr("Transition","TransitionEnd")},_r={},kr={};function Er(e){if(_r[e])return _r[e];if(!Sr[e])return e;var t,n=Sr[e];for(t in n)if(n.hasOwnProperty(t)&&t in kr)return _r[e]=n[t];return e}u&&(kr=document.createElement("div").style,"AnimationEvent"in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),"TransitionEvent"in window||delete Sr.transitionend.transition);var Pr=Er("animationend"),Or=Er("animationiteration"),Cr=Er("animationstart"),jr=Er("transitionend"),Tr=new Map,Ar="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ir(e,t){Tr.set(e,t),l(t,[e])}for(var Nr=0;Nr<Ar.length;Nr++){var Dr=Ar[Nr];Ir(Dr.toLowerCase(),"on"+(Dr[0].toUpperCase()+Dr.slice(1)))}Ir(Pr,"onAnimationEnd"),Ir(Or,"onAnimationIteration"),Ir(Cr,"onAnimationStart"),Ir("dblclick","onDoubleClick"),Ir("focusin","onFocus"),Ir("focusout","onBlur"),Ir(jr,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Rr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Lr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Rr));function Mr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,o,i,s,l,c){if(ze.apply(this,arguments),Le){if(!Le)throw Error(a(198));var u=Me;Le=!1,Me=null,Fe||(Fe=!0,qe=u)}}(r,t,void 0,e),e.currentTarget=null}function Fr(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==a&&o.isPropagationStopped())break e;Mr(o,s,c),a=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,c=s.currentTarget,s=s.listener,l!==a&&o.isPropagationStopped())break e;Mr(o,s,c),a=l}}}if(Fe)throw e=qe,Fe=!1,qe=null,e}function qr(e,t){var n=t[go];void 0===n&&(n=t[go]=new Set);var r=e+"__bubble";n.has(r)||($r(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),$r(n,e,r,t)}var zr="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[zr]){e[zr]=!0,i.forEach((function(t){"selectionchange"!==t&&(Lr.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[zr]||(t[zr]=!0,Br("selectionchange",!1,t))}}function $r(e,t,n,r){switch(Yt(t)){case 1:var o=Vt;break;case 4:o=Wt;break;default:o=Kt}n=o.bind(null,t,n,e),o=void 0,!Ne||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Hr(e,t,n,r,o){var a=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===o||8===s.nodeType&&s.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===o||8===l.nodeType&&l.parentNode===o))return;i=i.return}for(;null!==s;){if(null===(i=vo(s)))return;if(5===(l=i.tag)||6===l){r=a=i;continue e}s=s.parentNode}}r=r.return}Ae((function(){var r=a,o=we(n),i=[];e:{var s=Tr.get(e);if(void 0!==s){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=On;break;case"focusin":c="focus",l=gn;break;case"focusout":c="blur",l=gn;break;case"beforeblur":case"afterblur":l=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=hn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=jn;break;case Pr:case Or:case Cr:l=yn;break;case jr:l=Tn;break;case"scroll":l=fn;break;case"wheel":l=In;break;case"copy":case"cut":case"paste":l=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Cn}var u=!!(4&t),d=!u&&"scroll"===e,f=u?null!==s?s+"Capture":null:s;u=[];for(var p,m=r;null!==m;){var h=(p=m).stateNode;if(5===p.tag&&null!==h&&(p=h,null!==f&&(null!=(h=Ie(m,f))&&u.push(Vr(m,h,p)))),d)break;m=m.return}0<u.length&&(s=new l(s,c,null,n,o),i.push({event:s,listeners:u}))}}if(!(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===xe||!(c=n.relatedTarget||n.fromElement)||!vo(c)&&!c[ho])&&(l||s)&&(s=o.window===o?o:(s=o.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?vo(c):null)&&(c!==(d=Ue(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=mn,h="onMouseLeave",f="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=Cn,h="onPointerLeave",f="onPointerEnter",m="pointer"),d=null==l?s:wo(l),p=null==c?s:wo(c),(s=new u(h,m+"leave",l,n,o)).target=d,s.relatedTarget=p,h=null,vo(o)===r&&((u=new u(f,m+"enter",c,n,o)).target=p,u.relatedTarget=d,h=u),d=h,l&&c)e:{for(f=c,m=0,p=u=l;p;p=Kr(p))m++;for(p=0,h=f;h;h=Kr(h))p++;for(;0<m-p;)u=Kr(u),m--;for(;0<p-m;)f=Kr(f),p--;for(;m--;){if(u===f||null!==f&&u===f.alternate)break e;u=Kr(u),f=Kr(f)}u=null}else u=null;null!==l&&Gr(i,s,l,u,!1),null!==c&&null!==d&&Gr(i,d,c,u,!0)}if("select"===(l=(s=r?wo(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var g=Yn;else if(Hn(s))if(Zn)g=ir;else{g=or;var y=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(g=ar);switch(g&&(g=g(e,r))?Vn(i,g,n,o):(y&&y(e,s,r),"focusout"===e&&(y=s._wrapperState)&&y.controlled&&"number"===s.type&&ee(s,"number",s.value)),y=r?wo(r):window,e){case"focusin":(Hn(y)||"true"===y.contentEditable)&&(gr=y,yr=r,br=null);break;case"focusout":br=yr=gr=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,xr(i,n,o);break;case"selectionchange":if(hr)break;case"keydown":case"keyup":xr(i,n,o)}var b;if(Dn)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Un?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Mn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==v?"onCompositionEnd"===v&&Un&&(b=en()):(Xt="value"in(Zt=o)?Zt.value:Zt.textContent,Un=!0)),0<(y=Wr(r,v)).length&&(v=new xn(v,e,null,n,o),i.push({event:v,listeners:y}),b?v.data=b:null!==(b=zn(n))&&(v.data=b))),(b=Ln?function(e,t){switch(e){case"compositionend":return zn(t);case"keypress":return 32!==t.which?null:(qn=!0,Fn);case"textInput":return(e=t.data)===Fn&&qn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!Dn&&Bn(e,t)?(e=en(),Jt=Xt=Zt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Mn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Wr(r,"onBeforeInput")).length&&(o=new xn("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:r}),o.data=b))}Fr(i,t)}))}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Wr(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Ie(e,n))&&r.unshift(Vr(e,a,o)),null!=(a=Ie(e,t))&&r.push(Vr(e,a,o))),e=e.return}return r}function Kr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Gr(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,o?null!=(l=Ie(n,a))&&i.unshift(Vr(n,l,s)):o||null!=(l=Ie(n,a))&&i.push(Vr(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Qr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Zr(e){return("string"==typeof e?e:""+e).replace(Qr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Zr(t),Zr(e)!==t&&n)throw Error(a(425))}function Jr(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ro="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ao="function"==typeof Promise?Promise:void 0,io="function"==typeof queueMicrotask?queueMicrotask:void 0!==ao?function(e){return ao.resolve(null).then(e).catch(so)}:ro;function so(e){setTimeout((function(){throw e}))}function lo(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===r)return e.removeChild(o),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=o}while(n);Ut(t)}function co(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var fo=Math.random().toString(36).slice(2),po="__reactFiber$"+fo,mo="__reactProps$"+fo,ho="__reactContainer$"+fo,go="__reactEvents$"+fo,yo="__reactListeners$"+fo,bo="__reactHandles$"+fo;function vo(e){var t=e[po];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ho]||n[po]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[po])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function xo(e){return!(e=e[po]||e[ho])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function So(e){return e[mo]||null}var _o=[],ko=-1;function Eo(e){return{current:e}}function Po(e){0>ko||(e.current=_o[ko],_o[ko]=null,ko--)}function Oo(e,t){ko++,_o[ko]=e.current,e.current=t}var Co={},jo=Eo(Co),To=Eo(!1),Ao=Co;function Io(e,t){var n=e.type.contextTypes;if(!n)return Co;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function No(e){return null!=(e=e.childContextTypes)}function Do(){Po(To),Po(jo)}function Ro(e,t,n){if(jo.current!==Co)throw Error(a(168));Oo(jo,t),Oo(To,n)}function Lo(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(a(108,$(e)||"Unknown",o));return M({},n,r)}function Mo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Co,Ao=jo.current,Oo(jo,e),Oo(To,To.current),!0}function Fo(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=Lo(e,t,Ao),r.__reactInternalMemoizedMergedChildContext=e,Po(To),Po(jo),Oo(jo,e)):Po(To),Oo(To,n)}var qo=null,Bo=!1,zo=!1;function Uo(e){null===qo?qo=[e]:qo.push(e)}function $o(){if(!zo&&null!==qo){zo=!0;var e=0,t=vt;try{var n=qo;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}qo=null,Bo=!1}catch(o){throw null!==qo&&(qo=qo.slice(e+1)),Ke(Je,$o),o}finally{vt=t,zo=!1}}return null}var Ho=[],Vo=0,Wo=null,Ko=0,Go=[],Qo=0,Yo=null,Zo=1,Xo="";function Jo(e,t){Ho[Vo++]=Ko,Ho[Vo++]=Wo,Wo=e,Ko=t}function ea(e,t,n){Go[Qo++]=Zo,Go[Qo++]=Xo,Go[Qo++]=Yo,Yo=e;var r=Zo;e=Xo;var o=32-it(r)-1;r&=~(1<<o),n+=1;var a=32-it(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Zo=1<<32-it(t)+o|n<<o|r,Xo=a+e}else Zo=1<<a|n<<o|r,Xo=e}function ta(e){null!==e.return&&(Jo(e,1),ea(e,1,0))}function na(e){for(;e===Wo;)Wo=Ho[--Vo],Ho[Vo]=null,Ko=Ho[--Vo],Ho[Vo]=null;for(;e===Yo;)Yo=Go[--Qo],Go[Qo]=null,Xo=Go[--Qo],Go[Qo]=null,Zo=Go[--Qo],Go[Qo]=null}var ra=null,oa=null,aa=!1,ia=null;function sa(e,t){var n=Ac(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function la(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ra=e,oa=co(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ra=e,oa=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Yo?{id:Zo,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Ac(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ra=e,oa=null,!0);default:return!1}}function ca(e){return!(!(1&e.mode)||128&e.flags)}function ua(e){if(aa){var t=oa;if(t){var n=t;if(!la(e,t)){if(ca(e))throw Error(a(418));t=co(n.nextSibling);var r=ra;t&&la(e,t)?sa(r,n):(e.flags=-4097&e.flags|2,aa=!1,ra=e)}}else{if(ca(e))throw Error(a(418));e.flags=-4097&e.flags|2,aa=!1,ra=e}}}function da(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ra=e}function fa(e){if(e!==ra)return!1;if(!aa)return da(e),aa=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oa)){if(ca(e))throw pa(),Error(a(418));for(;t;)sa(e,t),t=co(t.nextSibling)}if(da(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oa=co(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oa=null}}else oa=ra?co(e.stateNode.nextSibling):null;return!0}function pa(){for(var e=oa;e;)e=co(e.nextSibling)}function ma(){oa=ra=null,aa=!1}function ha(e){null===ia?ia=[e]:ia.push(e)}var ga=x.ReactCurrentBatchConfig;function ya(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var o=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=o.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function ba(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function va(e){return(0,e._init)(e._payload)}function xa(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Nc(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Mc(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function c(e,t,n,r){var a=n.type;return a===_?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===I&&va(a)===t.type)?((r=o(t,n.props)).ref=ya(e,t,n),r.return=e,r):((r=Dc(n.type,n.key,n.props,null,e.mode,r)).ref=ya(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Fc(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function d(e,t,n,r,a){return null===t||7!==t.tag?((t=Rc(n,e.mode,r,a)).return=e,t):((t=o(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Mc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Dc(t.type,t.key,t.props,null,e.mode,n)).ref=ya(e,null,t),n.return=e,n;case S:return(t=Fc(t,e.mode,n)).return=e,t;case I:return f(e,(0,t._init)(t._payload),n)}if(te(t)||R(t))return(t=Rc(t,e.mode,n,null)).return=e,t;ba(e,t)}return null}function p(e,t,n,r){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===o?c(e,t,n,r):null;case S:return n.key===o?u(e,t,n,r):null;case I:return p(e,t,(o=n._init)(n._payload),r)}if(te(n)||R(n))return null!==o?null:d(e,t,n,r,null);ba(e,n)}return null}function m(e,t,n,r,o){if("string"==typeof r&&""!==r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,o);if("object"==typeof r&&null!==r){switch(r.$$typeof){case w:return c(t,e=e.get(null===r.key?n:r.key)||null,r,o);case S:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case I:return m(e,t,n,(0,r._init)(r._payload),o)}if(te(r)||R(r))return d(t,e=e.get(n)||null,r,o,null);ba(t,r)}return null}function h(o,a,s,l){for(var c=null,u=null,d=a,h=a=0,g=null;null!==d&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var y=p(o,d,s[h],l);if(null===y){null===d&&(d=g);break}e&&d&&null===y.alternate&&t(o,d),a=i(y,a,h),null===u?c=y:u.sibling=y,u=y,d=g}if(h===s.length)return n(o,d),aa&&Jo(o,h),c;if(null===d){for(;h<s.length;h++)null!==(d=f(o,s[h],l))&&(a=i(d,a,h),null===u?c=d:u.sibling=d,u=d);return aa&&Jo(o,h),c}for(d=r(o,d);h<s.length;h++)null!==(g=m(d,o,h,s[h],l))&&(e&&null!==g.alternate&&d.delete(null===g.key?h:g.key),a=i(g,a,h),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach((function(e){return t(o,e)})),aa&&Jo(o,h),c}function g(o,s,l,c){var u=R(l);if("function"!=typeof u)throw Error(a(150));if(null==(l=u.call(l)))throw Error(a(151));for(var d=u=null,h=s,g=s=0,y=null,b=l.next();null!==h&&!b.done;g++,b=l.next()){h.index>g?(y=h,h=null):y=h.sibling;var v=p(o,h,b.value,c);if(null===v){null===h&&(h=y);break}e&&h&&null===v.alternate&&t(o,h),s=i(v,s,g),null===d?u=v:d.sibling=v,d=v,h=y}if(b.done)return n(o,h),aa&&Jo(o,g),u;if(null===h){for(;!b.done;g++,b=l.next())null!==(b=f(o,b.value,c))&&(s=i(b,s,g),null===d?u=b:d.sibling=b,d=b);return aa&&Jo(o,g),u}for(h=r(o,h);!b.done;g++,b=l.next())null!==(b=m(h,o,g,b.value,c))&&(e&&null!==b.alternate&&h.delete(null===b.key?g:b.key),s=i(b,s,g),null===d?u=b:d.sibling=b,d=b);return e&&h.forEach((function(e){return t(o,e)})),aa&&Jo(o,g),u}return function e(r,a,i,l){if("object"==typeof i&&null!==i&&i.type===_&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case w:e:{for(var c=i.key,u=a;null!==u;){if(u.key===c){if((c=i.type)===_){if(7===u.tag){n(r,u.sibling),(a=o(u,i.props.children)).return=r,r=a;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===I&&va(c)===u.type){n(r,u.sibling),(a=o(u,i.props)).ref=ya(r,u,i),a.return=r,r=a;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===_?((a=Rc(i.props.children,r.mode,l,i.key)).return=r,r=a):((l=Dc(i.type,i.key,i.props,null,r.mode,l)).ref=ya(r,a,i),l.return=r,r=l)}return s(r);case S:e:{for(u=i.key;null!==a;){if(a.key===u){if(4===a.tag&&a.stateNode.containerInfo===i.containerInfo&&a.stateNode.implementation===i.implementation){n(r,a.sibling),(a=o(a,i.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=Fc(i,r.mode,l)).return=r,r=a}return s(r);case I:return e(r,a,(u=i._init)(i._payload),l)}if(te(i))return h(r,a,i,l);if(R(i))return g(r,a,i,l);ba(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==a&&6===a.tag?(n(r,a.sibling),(a=o(a,i)).return=r,r=a):(n(r,a),(a=Mc(i,r.mode,l)).return=r,r=a),s(r)):n(r,a)}}var wa=xa(!0),Sa=xa(!1),_a=Eo(null),ka=null,Ea=null,Pa=null;function Oa(){Pa=Ea=ka=null}function Ca(e){var t=_a.current;Po(_a),e._currentValue=t}function ja(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ta(e,t){ka=e,Pa=Ea=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(vs=!0),e.firstContext=null)}function Aa(e){var t=e._currentValue;if(Pa!==e)if(e={context:e,memoizedValue:t,next:null},null===Ea){if(null===ka)throw Error(a(308));Ea=e,ka.dependencies={lanes:0,firstContext:e}}else Ea=Ea.next=e;return t}var Ia=null;function Na(e){null===Ia?Ia=[e]:Ia.push(e)}function Da(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,Na(t)):(n.next=o.next,o.next=n),t.interleaved=n,Ra(e,r)}function Ra(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var La=!1;function Ma(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Fa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function qa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&Cl){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Ra(e,n)}return null===(o=r.interleaved)?(t.next=t,Na(r)):(t.next=o.next,o.next=t),r.interleaved=t,Ra(e,n)}function za(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}function Ua(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function $a(e,t,n,r){var o=e.updateQueue;La=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,s=o.shared.pending;if(null!==s){o.shared.pending=null;var l=s,c=l.next;l.next=null,null===i?a=c:i.next=c,i=l;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(null!==a){var d=o.baseState;for(i=0,u=c=l=null,s=a;;){var f=s.lane,p=s.eventTime;if((r&f)===f){null!==u&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if("function"==typeof(m=h.payload)){d=m.call(p,d,f);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(f="function"==typeof(m=h.payload)?m.call(p,d,f):m))break e;d=M({},d,f);break e;case 2:La=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(f=o.effects)?o.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(c=u=p,l=d):u=u.next=p,i|=f;if(null===(s=s.next)){if(null===(s=o.shared.pending))break;s=(f=s).next,f.next=null,o.lastBaseUpdate=f,o.shared.pending=null}}if(null===u&&(l=d),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=u,null!==(t=o.shared.interleaved)){o=t;do{i|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);Ll|=i,e.lanes=i,e.memoizedState=d}}function Ha(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!=typeof o)throw Error(a(191,o));o.call(r)}}}var Va={},Wa=Eo(Va),Ka=Eo(Va),Ga=Eo(Va);function Qa(e){if(e===Va)throw Error(a(174));return e}function Ya(e,t){switch(Oo(Ga,t),Oo(Ka,e),Oo(Wa,Va),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Po(Wa),Oo(Wa,t)}function Za(){Po(Wa),Po(Ka),Po(Ga)}function Xa(e){Qa(Ga.current);var t=Qa(Wa.current),n=le(t,e.type);t!==n&&(Oo(Ka,e),Oo(Wa,n))}function Ja(e){Ka.current===e&&(Po(Wa),Po(Ka))}var ei=Eo(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ri(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var oi=x.ReactCurrentDispatcher,ai=x.ReactCurrentBatchConfig,ii=0,si=null,li=null,ci=null,ui=!1,di=!1,fi=0,pi=0;function mi(){throw Error(a(321))}function hi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function gi(e,t,n,r,o,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,oi.current=null===e||null===e.memoizedState?Ji:es,e=n(r,o),di){i=0;do{if(di=!1,fi=0,25<=i)throw Error(a(301));i+=1,ci=li=null,t.updateQueue=null,oi.current=ts,e=n(r,o)}while(di)}if(oi.current=Xi,t=null!==li&&null!==li.next,ii=0,ci=li=si=null,ui=!1,t)throw Error(a(300));return e}function yi(){var e=0!==fi;return fi=0,e}function bi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ci?si.memoizedState=ci=e:ci=ci.next=e,ci}function vi(){if(null===li){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=li.next;var t=null===ci?si.memoizedState:ci.next;if(null!==t)ci=t,li=e;else{if(null===e)throw Error(a(310));e={memoizedState:(li=e).memoizedState,baseState:li.baseState,baseQueue:li.baseQueue,queue:li.queue,next:null},null===ci?si.memoizedState=ci=e:ci=ci.next=e}return ci}function xi(e,t){return"function"==typeof t?t(e):t}function wi(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=li,o=r.baseQueue,i=n.pending;if(null!==i){if(null!==o){var s=o.next;o.next=i.next,i.next=s}r.baseQueue=o=i,n.pending=null}if(null!==o){i=o.next,r=r.baseState;var l=s=null,c=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=f,s=r):c=c.next=f,si.lanes|=d,Ll|=d}u=u.next}while(null!==u&&u!==i);null===c?s=r:c.next=l,sr(r,t.memoizedState)||(vs=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do{i=o.lane,si.lanes|=i,Ll|=i,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Si(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,i=t.memoizedState;if(null!==o){n.pending=null;var s=o=o.next;do{i=e(i,s.action),s=s.next}while(s!==o);sr(i,t.memoizedState)||(vs=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function _i(){}function ki(e,t){var n=si,r=vi(),o=t(),i=!sr(r.memoizedState,o);if(i&&(r.memoizedState=o,vs=!0),r=r.queue,Li(Oi.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==ci&&1&ci.memoizedState.tag){if(n.flags|=2048,Ai(9,Pi.bind(null,n,r,o,t),void 0,null),null===jl)throw Error(a(349));30&ii||Ei(n,t,o)}return o}function Ei(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Pi(e,t,n,r){t.value=n,t.getSnapshot=r,Ci(t)&&ji(e)}function Oi(e,t,n){return n((function(){Ci(t)&&ji(e)}))}function Ci(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function ji(e){var t=Ra(e,1);null!==t&&nc(t,e,1,-1)}function Ti(e){var t=bi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:xi,lastRenderedState:e},t.queue=e,e=e.dispatch=Gi.bind(null,si,e),[t.memoizedState,e]}function Ai(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Ii(){return vi().memoizedState}function Ni(e,t,n,r){var o=bi();si.flags|=e,o.memoizedState=Ai(1|t,n,void 0,void 0===r?null:r)}function Di(e,t,n,r){var o=vi();r=void 0===r?null:r;var a=void 0;if(null!==li){var i=li.memoizedState;if(a=i.destroy,null!==r&&hi(r,i.deps))return void(o.memoizedState=Ai(t,n,a,r))}si.flags|=e,o.memoizedState=Ai(1|t,n,a,r)}function Ri(e,t){return Ni(8390656,8,e,t)}function Li(e,t){return Di(2048,8,e,t)}function Mi(e,t){return Di(4,2,e,t)}function Fi(e,t){return Di(4,4,e,t)}function qi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,n){return n=null!=n?n.concat([e]):null,Di(4,4,qi.bind(null,t,e),n)}function zi(){}function Ui(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&hi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function $i(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&hi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Hi(e,t,n){return 21&ii?(sr(n,t)||(n=ht(),si.lanes|=n,Ll|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,vs=!0),e.memoizedState=n)}function Vi(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=ai.transition;ai.transition={};try{e(!1),t()}finally{vt=n,ai.transition=r}}function Wi(){return vi().memoizedState}function Ki(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Qi(e))Yi(t,n);else if(null!==(n=Da(e,t,n,r))){nc(n,e,r,ec()),Zi(n,t,r)}}function Gi(e,t,n){var r=tc(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Qi(e))Yi(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=a(i,n);if(o.hasEagerState=!0,o.eagerState=s,sr(s,i)){var l=t.interleaved;return null===l?(o.next=o,Na(t)):(o.next=l.next,l.next=o),void(t.interleaved=o)}}catch(c){}null!==(n=Da(e,t,o,r))&&(nc(n,e,r,o=ec()),Zi(n,t,r))}}function Qi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Yi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Zi(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}var Xi={readContext:Aa,useCallback:mi,useContext:mi,useEffect:mi,useImperativeHandle:mi,useInsertionEffect:mi,useLayoutEffect:mi,useMemo:mi,useReducer:mi,useRef:mi,useState:mi,useDebugValue:mi,useDeferredValue:mi,useTransition:mi,useMutableSource:mi,useSyncExternalStore:mi,useId:mi,unstable_isNewReconciler:!1},Ji={readContext:Aa,useCallback:function(e,t){return bi().memoizedState=[e,void 0===t?null:t],e},useContext:Aa,useEffect:Ri,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ni(4194308,4,qi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ni(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ni(4,2,e,t)},useMemo:function(e,t){var n=bi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=bi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Ki.bind(null,si,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},bi().memoizedState=e},useState:Ti,useDebugValue:zi,useDeferredValue:function(e){return bi().memoizedState=e},useTransition:function(){var e=Ti(!1),t=e[0];return e=Vi.bind(null,e[1]),bi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=si,o=bi();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===jl)throw Error(a(349));30&ii||Ei(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Ri(Oi.bind(null,r,i,e),[e]),r.flags|=2048,Ai(9,Pi.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=bi(),t=jl.identifierPrefix;if(aa){var n=Xo;t=":"+t+"R"+(n=(Zo&~(1<<32-it(Zo)-1)).toString(32)+n),0<(n=fi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=pi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Aa,useCallback:Ui,useContext:Aa,useEffect:Li,useImperativeHandle:Bi,useInsertionEffect:Mi,useLayoutEffect:Fi,useMemo:$i,useReducer:wi,useRef:Ii,useState:function(){return wi(xi)},useDebugValue:zi,useDeferredValue:function(e){return Hi(vi(),li.memoizedState,e)},useTransition:function(){return[wi(xi)[0],vi().memoizedState]},useMutableSource:_i,useSyncExternalStore:ki,useId:Wi,unstable_isNewReconciler:!1},ts={readContext:Aa,useCallback:Ui,useContext:Aa,useEffect:Li,useImperativeHandle:Bi,useInsertionEffect:Mi,useLayoutEffect:Fi,useMemo:$i,useReducer:Si,useRef:Ii,useState:function(){return Si(xi)},useDebugValue:zi,useDeferredValue:function(e){var t=vi();return null===li?t.memoizedState=e:Hi(t,li.memoizedState,e)},useTransition:function(){return[Si(xi)[0],vi().memoizedState]},useMutableSource:_i,useSyncExternalStore:ki,useId:Wi,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=M({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rs(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:M({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var os={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=qa(r,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),za(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=qa(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),za(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),o=qa(n,r);o.tag=2,null!=t&&(o.callback=t),null!==(t=Ba(e,o,r))&&(nc(t,e,r,n),za(t,e,r))}};function as(e,t,n,r,o,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(o,a))}function is(e,t,n){var r=!1,o=Co,a=t.contextType;return"object"==typeof a&&null!==a?a=Aa(a):(o=No(t)?Ao:jo.current,a=(r=null!=(r=t.contextTypes))?Io(e,o):Co),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=os,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function ss(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&os.enqueueReplaceState(t,t.state,null)}function ls(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Ma(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=Aa(a):(a=No(t)?Ao:jo.current,o.context=Io(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(rs(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&os.enqueueReplaceState(o,o.state,null),$a(e,n,o,r),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function cs(e,t){try{var n="",r=t;do{n+=z(r),r=r.return}while(r);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fs="function"==typeof WeakMap?WeakMap:Map;function ps(e,t,n){(n=qa(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Hl||(Hl=!0,Vl=r),ds(0,t)},n}function ms(e,t,n){(n=qa(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){ds(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof r&&(null===Wl?Wl=new Set([this]):Wl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hs(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fs;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=Ec.bind(null,e,t,n),t.then(e,e))}function gs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ys(e,t,n,r,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=qa(-1,1)).tag=2,Ba(n,t,1))),n.lanes|=1),e)}var bs=x.ReactCurrentOwner,vs=!1;function xs(e,t,n,r){t.child=null===e?Sa(t,null,n,r):wa(t,e.child,n,r)}function ws(e,t,n,r,o){n=n.render;var a=t.ref;return Ta(t,o),r=gi(e,t,n,r,a,o),n=yi(),null===e||vs?(aa&&n&&ta(t),t.flags|=1,xs(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hs(e,t,o))}function Ss(e,t,n,r,o){if(null===e){var a=n.type;return"function"!=typeof a||Ic(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Dc(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,_s(e,t,a,r,o))}if(a=e.child,!(e.lanes&o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(i,r)&&e.ref===t.ref)return Hs(e,t,o)}return t.flags|=1,(e=Nc(a,r)).ref=t.ref,e.return=t,t.child=e}function _s(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(lr(a,r)&&e.ref===t.ref){if(vs=!1,t.pendingProps=r=a,!(e.lanes&o))return t.lanes=e.lanes,Hs(e,t,o);131072&e.flags&&(vs=!0)}}return Ps(e,t,n,r,o)}function ks(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Oo(Nl,Il),Il|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,Oo(Nl,Il),Il|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Oo(Nl,Il),Il|=n;else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,Oo(Nl,Il),Il|=r;return xs(e,t,o,n),t.child}function Es(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ps(e,t,n,r,o){var a=No(n)?Ao:jo.current;return a=Io(t,a),Ta(t,o),n=gi(e,t,n,r,a,o),r=yi(),null===e||vs?(aa&&r&&ta(t),t.flags|=1,xs(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hs(e,t,o))}function Os(e,t,n,r,o){if(No(n)){var a=!0;Mo(t)}else a=!1;if(Ta(t,o),null===t.stateNode)$s(e,t),is(t,n,r),ls(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=Aa(c):c=Io(t,c=No(n)?Ao:jo.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==c)&&ss(t,i,r,c),La=!1;var f=t.memoizedState;i.state=f,$a(t,r,i,o),l=t.memoizedState,s!==r||f!==l||To.current||La?("function"==typeof u&&(rs(t,n,u,r),l=t.memoizedState),(s=La||as(t,n,s,r,f,l,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=c,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Fa(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:ns(t.type,s),i.props=c,d=t.pendingProps,f=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=Aa(l):l=Io(t,l=No(n)?Ao:jo.current);var p=n.getDerivedStateFromProps;(u="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||f!==l)&&ss(t,i,r,l),La=!1,f=t.memoizedState,i.state=f,$a(t,r,i,o);var m=t.memoizedState;s!==d||f!==m||To.current||La?("function"==typeof p&&(rs(t,n,p,r),m=t.memoizedState),(c=La||as(t,n,c,r,f,m,l)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=l,r=c):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Cs(e,t,n,r,a,o)}function Cs(e,t,n,r,o,a){Es(e,t);var i=!!(128&t.flags);if(!r&&!i)return o&&Fo(t,n,!1),Hs(e,t,a);r=t.stateNode,bs.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=wa(t,e.child,null,a),t.child=wa(t,null,s,a)):xs(e,t,s,a),t.memoizedState=r.state,o&&Fo(t,n,!0),t.child}function js(e){var t=e.stateNode;t.pendingContext?Ro(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Ro(0,t.context,!1),Ya(e,t.containerInfo)}function Ts(e,t,n,r,o){return ma(),ha(o),t.flags|=256,xs(e,t,n,r),t.child}var As,Is,Ns,Ds,Rs={dehydrated:null,treeContext:null,retryLane:0};function Ls(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ms(e,t,n){var r,o=t.pendingProps,i=ei.current,s=!1,l=!!(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&!!(2&i)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),Oo(ei,1&i),null===e)return ua(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=o.children,e=o.fallback,s?(o=t.mode,s=t.child,l={mode:"hidden",children:l},1&o||null===s?s=Lc(l,o,0,null):(s.childLanes=0,s.pendingProps=l),e=Rc(e,o,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ls(n),t.memoizedState=Rs,e):Fs(t,l));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,o,i,s){if(n)return 256&t.flags?(t.flags&=-257,qs(e,t,s,r=us(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=Lc({mode:"visible",children:r.children},o,0,null),(i=Rc(i,o,s,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,1&t.mode&&wa(t,e.child,null,s),t.child.memoizedState=Ls(s),t.memoizedState=Rs,i);if(!(1&t.mode))return qs(e,t,s,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var l=r.dgst;return r=l,qs(e,t,s,r=us(i=Error(a(419)),r,void 0))}if(l=!!(s&e.childLanes),vs||l){if(null!==(r=jl)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=o&(r.suspendedLanes|s)?0:o)&&o!==i.retryLane&&(i.retryLane=o,Ra(e,o),nc(r,e,o,-1))}return hc(),qs(e,t,s,r=us(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Oc.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,oa=co(o.nextSibling),ra=t,aa=!0,ia=null,null!==e&&(Go[Qo++]=Zo,Go[Qo++]=Xo,Go[Qo++]=Yo,Zo=e.id,Xo=e.overflow,Yo=t),t=Fs(t,r.children),t.flags|=4096,t)}(e,t,l,o,r,i,n);if(s){s=o.fallback,l=t.mode,r=(i=e.child).sibling;var c={mode:"hidden",children:o.children};return 1&l||t.child===i?(o=Nc(i,c)).subtreeFlags=14680064&i.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null),null!==r?s=Nc(r,s):(s=Rc(s,l,n,null)).flags|=2,s.return=t,o.return=t,o.sibling=s,t.child=o,o=s,s=t.child,l=null===(l=e.child.memoizedState)?Ls(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=Rs,o}return e=(s=e.child).sibling,o=Nc(s,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Fs(e,t){return(t=Lc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function qs(e,t,n,r){return null!==r&&ha(r),wa(t,e.child,null,n),(e=Fs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),ja(e.return,t,n)}function zs(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function Us(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(xs(e,t,r.children,n),2&(r=ei.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,n,t);else if(19===e.tag)Bs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Oo(ei,r),1&t.mode)switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),zs(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ti(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}zs(t,!0,n,null,a);break;case"together":zs(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function $s(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Hs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ll|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Nc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Nc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vs(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ws(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ks(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ws(t),null;case 1:case 17:return No(t.type)&&Do(),Ws(t),null;case 3:return r=t.stateNode,Za(),Po(To),Po(jo),ri(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(fa(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ia&&(ic(ia),ia=null))),Is(e,t),Ws(t),null;case 5:Ja(t);var o=Qa(Ga.current);if(n=t.type,null!==e&&null!=t.stateNode)Ns(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return Ws(t),null}if(e=Qa(Wa.current),fa(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[po]=t,r[mo]=i,e=!!(1&t.mode),n){case"dialog":qr("cancel",r),qr("close",r);break;case"iframe":case"object":case"embed":qr("load",r);break;case"video":case"audio":for(o=0;o<Rr.length;o++)qr(Rr[o],r);break;case"source":qr("error",r);break;case"img":case"image":case"link":qr("error",r),qr("load",r);break;case"details":qr("toggle",r);break;case"input":Y(r,i),qr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},qr("invalid",r);break;case"textarea":oe(r,i),qr("invalid",r)}for(var l in be(n,i),o=null,i)if(i.hasOwnProperty(l)){var c=i[l];"children"===l?"string"==typeof c?r.textContent!==c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",""+c]):s.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&qr("scroll",r)}switch(n){case"input":W(r),J(r,i,!0);break;case"textarea":W(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=o,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[po]=t,e[mo]=r,As(e,t,!1,!1),t.stateNode=e;e:{switch(l=ve(n,r),n){case"dialog":qr("cancel",e),qr("close",e),o=r;break;case"iframe":case"object":case"embed":qr("load",e),o=r;break;case"video":case"audio":for(o=0;o<Rr.length;o++)qr(Rr[o],e);o=r;break;case"source":qr("error",e),o=r;break;case"img":case"image":case"link":qr("error",e),qr("load",e),o=r;break;case"details":qr("toggle",e),o=r;break;case"input":Y(e,r),o=Q(e,r),qr("invalid",e);break;case"option":default:o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=M({},r,{value:void 0}),qr("invalid",e);break;case"textarea":oe(e,r),o=re(e,r),qr("invalid",e)}for(i in be(n,o),c=o)if(c.hasOwnProperty(i)){var u=c[i];"style"===i?ge(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&fe(e,u):"number"==typeof u&&fe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&qr("scroll",e):null!=u&&v(e,i,u,l))}switch(n){case"input":W(e),J(e,r,!1);break;case"textarea":W(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+H(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ws(t),null;case 6:if(e&&null!=t.stateNode)Ds(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(a(166));if(n=Qa(Ga.current),Qa(Wa.current),fa(t)){if(r=t.stateNode,n=t.memoizedProps,r[po]=t,(i=r.nodeValue!==n)&&null!==(e=ra))switch(e.tag){case 3:Xr(r.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,!!(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[po]=t,t.stateNode=r}return Ws(t),null;case 13:if(Po(ei),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(aa&&null!==oa&&1&t.mode&&!(128&t.flags))pa(),ma(),t.flags|=98560,i=!1;else if(i=fa(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(a(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(a(317));i[po]=t}else ma(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ws(t),i=!1}else null!==ia&&(ic(ia),ia=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ei.current?0===Dl&&(Dl=3):hc())),null!==t.updateQueue&&(t.flags|=4),Ws(t),null);case 4:return Za(),Is(e,t),null===e&&Ur(t.stateNode.containerInfo),Ws(t),null;case 10:return Ca(t.type._context),Ws(t),null;case 19:if(Po(ei),null===(i=t.memoizedState))return Ws(t),null;if(r=!!(128&t.flags),null===(l=i.rendering))if(r)Vs(i,!1);else{if(0!==Dl||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(l=ti(e))){for(t.flags|=128,Vs(i,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(l=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Oo(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Ze()>Ul&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ti(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!l.alternate&&!aa)return Ws(t),null}else 2*Ze()-i.renderingStartTime>Ul&&1073741824!==n&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=i.last)?n.sibling=l:t.child=l,i.last=l)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ze(),t.sibling=null,n=ei.current,Oo(ei,r?1&n|2:1&n),t):(Ws(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?!!(1073741824&Il)&&(Ws(t),6&t.subtreeFlags&&(t.flags|=8192)):Ws(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Gs(e,t){switch(na(t),t.tag){case 1:return No(t.type)&&Do(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Za(),Po(To),Po(jo),ri(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Ja(t),null;case 13:if(Po(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));ma()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Po(ei),null;case 4:return Za(),null;case 10:return Ca(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}As=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Is=function(){},Ns=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Qa(Wa.current);var a,i=null;switch(n){case"input":o=Q(e,o),r=Q(e,r),i=[];break;case"select":o=M({},o,{value:void 0}),r=M({},r,{value:void 0}),i=[];break;case"textarea":o=re(e,o),r=re(e,r),i=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(u in be(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var l=o[u];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(i||(i=[]),i.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(i=i||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(i=i||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&qr("scroll",e),i||l===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Ds=function(e,t,n,r){n!==r&&(t.flags|=4)};var Qs=!1,Ys=!1,Zs="function"==typeof WeakSet?WeakSet:Set,Xs=null;function Js(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){kc(e,t,r)}else n.current=null}function el(e,t,n){try{n()}catch(r){kc(e,t,r)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&el(t,n,a)}o=o.next}while(o!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ol(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function al(e){var t=e.alternate;null!==t&&(e.alternate=null,al(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[po],delete t[mo],delete t[go],delete t[yo],delete t[bo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function il(e){return 5===e.tag||3===e.tag||4===e.tag}function sl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||il(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,dl=!1;function fl(e,t,n){for(n=n.child;null!==n;)pl(e,t,n),n=n.sibling}function pl(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(s){}switch(n.tag){case 5:Ys||Js(n,t);case 6:var r=ul,o=dl;ul=null,fl(e,t,n),dl=o,null!==(ul=r)&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?lo(e.parentNode,n):1===e.nodeType&&lo(e,n),Ut(e)):lo(ul,n.stateNode));break;case 4:r=ul,o=dl,ul=n.stateNode.containerInfo,dl=!0,fl(e,t,n),ul=r,dl=o;break;case 0:case 11:case 14:case 15:if(!Ys&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,void 0!==i&&(2&a||4&a)&&el(n,t,i),o=o.next}while(o!==r)}fl(e,t,n);break;case 1:if(!Ys&&(Js(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){kc(n,t,s)}fl(e,t,n);break;case 21:fl(e,t,n);break;case 22:1&n.mode?(Ys=(r=Ys)||null!==n.memoizedState,fl(e,t,n),Ys=r):fl(e,t,n);break;default:fl(e,t,n)}}function ml(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Zs),t.forEach((function(t){var r=Cc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function hl(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var i=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(a(160));pl(i,s,o),ul=null,dl=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(u){kc(o,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gl(t,e),t=t.sibling}function gl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hl(t,e),yl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(g){kc(e,e.return,g)}try{nl(5,e,e.return)}catch(g){kc(e,e.return,g)}}break;case 1:hl(t,e),yl(e),512&r&&null!==n&&Js(n,n.return);break;case 5:if(hl(t,e),yl(e),512&r&&null!==n&&Js(n,n.return),32&e.flags){var o=e.stateNode;try{fe(o,"")}catch(g){kc(e,e.return,g)}}if(4&r&&null!=(o=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===i.type&&null!=i.name&&Z(o,i),ve(l,s);var u=ve(l,i);for(s=0;s<c.length;s+=2){var d=c[s],f=c[s+1];"style"===d?ge(o,f):"dangerouslySetInnerHTML"===d?de(o,f):"children"===d?fe(o,f):v(o,d,f,u)}switch(l){case"input":X(o,i);break;case"textarea":ae(o,i);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(o,!!i.multiple,m,!1):p!==!!i.multiple&&(null!=i.defaultValue?ne(o,!!i.multiple,i.defaultValue,!0):ne(o,!!i.multiple,i.multiple?[]:"",!1))}o[mo]=i}catch(g){kc(e,e.return,g)}}break;case 6:if(hl(t,e),yl(e),4&r){if(null===e.stateNode)throw Error(a(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(g){kc(e,e.return,g)}}break;case 3:if(hl(t,e),yl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(g){kc(e,e.return,g)}break;case 4:default:hl(t,e),yl(e);break;case 13:hl(t,e),yl(e),8192&(o=e.child).flags&&(i=null!==o.memoizedState,o.stateNode.isHidden=i,!i||null!==o.alternate&&null!==o.alternate.memoizedState||(zl=Ze())),4&r&&ml(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ys=(u=Ys)||d,hl(t,e),Ys=u):hl(t,e),yl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Xs=e,d=e.child;null!==d;){for(f=Xs=d;null!==Xs;){switch(m=(p=Xs).child,p.tag){case 0:case 11:case 14:case 15:nl(4,p,p.return);break;case 1:Js(p,p.return);var h=p.stateNode;if("function"==typeof h.componentWillUnmount){r=p,n=p.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(g){kc(r,n,g)}}break;case 5:Js(p,p.return);break;case 22:if(null!==p.memoizedState){wl(f);continue}}null!==m?(m.return=p,Xs=m):wl(f)}d=d.sibling}e:for(d=null,f=e;;){if(5===f.tag){if(null===d){d=f;try{o=f.stateNode,u?"function"==typeof(i=o.style).setProperty?i.setProperty("display","none","important"):i.display="none":(l=f.stateNode,s=null!=(c=f.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=he("display",s))}catch(g){kc(e,e.return,g)}}}else if(6===f.tag){if(null===d)try{f.stateNode.nodeValue=u?"":f.memoizedProps}catch(g){kc(e,e.return,g)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===e)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;null===f.sibling;){if(null===f.return||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:hl(t,e),yl(e),4&r&&ml(e);case 21:}}function yl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(il(n)){var r=n;break e}n=n.return}throw Error(a(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(fe(o,""),r.flags&=-33),cl(e,sl(e),o);break;case 3:case 4:var i=r.stateNode.containerInfo;ll(e,sl(e),i);break;default:throw Error(a(161))}}catch(s){kc(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function bl(e,t,n){Xs=e,vl(e,t,n)}function vl(e,t,n){for(var r=!!(1&e.mode);null!==Xs;){var o=Xs,a=o.child;if(22===o.tag&&r){var i=null!==o.memoizedState||Qs;if(!i){var s=o.alternate,l=null!==s&&null!==s.memoizedState||Ys;s=Qs;var c=Ys;if(Qs=i,(Ys=l)&&!c)for(Xs=o;null!==Xs;)l=(i=Xs).child,22===i.tag&&null!==i.memoizedState?Sl(o):null!==l?(l.return=i,Xs=l):Sl(o);for(;null!==a;)Xs=a,vl(a,t,n),a=a.sibling;Xs=o,Qs=s,Ys=c}xl(e)}else 8772&o.subtreeFlags&&null!==a?(a.return=o,Xs=a):xl(e)}}function xl(e){for(;null!==Xs;){var t=Xs;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Ys||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ys)if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Ha(t,i,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ha(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var f=d.dehydrated;null!==f&&Ut(f)}}}break;default:throw Error(a(163))}Ys||512&t.flags&&ol(t)}catch(p){kc(t,t.return,p)}}if(t===e){Xs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Xs=n;break}Xs=t.return}}function wl(e){for(;null!==Xs;){var t=Xs;if(t===e){Xs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Xs=n;break}Xs=t.return}}function Sl(e){for(;null!==Xs;){var t=Xs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){kc(t,n,l)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(l){kc(t,o,l)}}var a=t.return;try{ol(t)}catch(l){kc(t,a,l)}break;case 5:var i=t.return;try{ol(t)}catch(l){kc(t,i,l)}}}catch(l){kc(t,t.return,l)}if(t===e){Xs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Xs=s;break}Xs=t.return}}var _l,kl=Math.ceil,El=x.ReactCurrentDispatcher,Pl=x.ReactCurrentOwner,Ol=x.ReactCurrentBatchConfig,Cl=0,jl=null,Tl=null,Al=0,Il=0,Nl=Eo(0),Dl=0,Rl=null,Ll=0,Ml=0,Fl=0,ql=null,Bl=null,zl=0,Ul=1/0,$l=null,Hl=!1,Vl=null,Wl=null,Kl=!1,Gl=null,Ql=0,Yl=0,Zl=null,Xl=-1,Jl=0;function ec(){return 6&Cl?Ze():-1!==Xl?Xl:Xl=Ze()}function tc(e){return 1&e.mode?2&Cl&&0!==Al?Al&-Al:null!==ga.transition?(0===Jl&&(Jl=ht()),Jl):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Yt(e.type):1}function nc(e,t,n,r){if(50<Yl)throw Yl=0,Zl=null,Error(a(185));yt(e,n,r),2&Cl&&e===jl||(e===jl&&(!(2&Cl)&&(Ml|=n),4===Dl&&sc(e,Al)),rc(e,r),1===n&&0===Cl&&!(1&t.mode)&&(Ul=Ze()+500,Bo&&$o()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-it(a),s=1<<i,l=o[i];-1===l?s&n&&!(s&r)||(o[i]=pt(s,t)):l<=t&&(e.expiredLanes|=s),a&=~s}}(e,t);var r=ft(e,e===jl?Al:0);if(0===r)null!==n&&Ge(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ge(n),1===t)0===e.tag?function(e){Bo=!0,Uo(e)}(lc.bind(null,e)):Uo(lc.bind(null,e)),io((function(){!(6&Cl)&&$o()})),n=null;else{switch(xt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=jc(n,oc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function oc(e,t){if(Xl=-1,Jl=0,6&Cl)throw Error(a(327));var n=e.callbackNode;if(Sc()&&e.callbackNode!==n)return null;var r=ft(e,e===jl?Al:0);if(0===r)return null;if(30&r||r&e.expiredLanes||t)t=gc(e,r);else{t=r;var o=Cl;Cl|=2;var i=mc();for(jl===e&&Al===t||($l=null,Ul=Ze()+500,fc(e,t));;)try{bc();break}catch(l){pc(e,l)}Oa(),El.current=i,Cl=o,null!==Tl?t=0:(jl=null,Al=0,t=Dl)}if(0!==t){if(2===t&&(0!==(o=mt(e))&&(r=o,t=ac(e,o))),1===t)throw n=Rl,fc(e,0),sc(e,r),rc(e,Ze()),n;if(6===t)sc(e,r);else{if(o=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!sr(a(),o))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)||(t=gc(e,r),2===t&&(i=mt(e),0!==i&&(r=i,t=ac(e,i))),1!==t)))throw n=Rl,fc(e,0),sc(e,r),rc(e,Ze()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(a(345));case 2:case 5:wc(e,Bl,$l);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=zl+500-Ze())){if(0!==ft(e,0))break;if(((o=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ro(wc.bind(null,e,Bl,$l),t);break}wc(e,Bl,$l);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var s=31-it(r);i=1<<s,(s=t[s])>o&&(o=s),r&=~i}if(r=o,10<(r=(120>(r=Ze()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*kl(r/1960))-r)){e.timeoutHandle=ro(wc.bind(null,e,Bl,$l),r);break}wc(e,Bl,$l);break;default:throw Error(a(329))}}}return rc(e,Ze()),e.callbackNode===n?oc.bind(null,e):null}function ac(e,t){var n=ql;return e.current.memoizedState.isDehydrated&&(fc(e,t).flags|=256),2!==(e=gc(e,t))&&(t=Bl,Bl=n,null!==t&&ic(t)),e}function ic(e){null===Bl?Bl=e:Bl.push.apply(Bl,e)}function sc(e,t){for(t&=~Fl,t&=~Ml,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(6&Cl)throw Error(a(327));Sc();var t=ft(e,0);if(!(1&t))return rc(e,Ze()),null;var n=gc(e,t);if(0!==e.tag&&2===n){var r=mt(e);0!==r&&(t=r,n=ac(e,r))}if(1===n)throw n=Rl,fc(e,0),sc(e,t),rc(e,Ze()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wc(e,Bl,$l),rc(e,Ze()),null}function cc(e,t){var n=Cl;Cl|=1;try{return e(t)}finally{0===(Cl=n)&&(Ul=Ze()+500,Bo&&$o())}}function uc(e){null!==Gl&&0===Gl.tag&&!(6&Cl)&&Sc();var t=Cl;Cl|=1;var n=Ol.transition,r=vt;try{if(Ol.transition=null,vt=1,e)return e()}finally{vt=r,Ol.transition=n,!(6&(Cl=t))&&$o()}}function dc(){Il=Nl.current,Po(Nl)}function fc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Tl)for(n=Tl.return;null!==n;){var r=n;switch(na(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Do();break;case 3:Za(),Po(To),Po(jo),ri();break;case 5:Ja(r);break;case 4:Za();break;case 13:case 19:Po(ei);break;case 10:Ca(r.type._context);break;case 22:case 23:dc()}n=n.return}if(jl=e,Tl=e=Nc(e.current,null),Al=Il=t,Dl=0,Rl=null,Fl=Ml=Ll=0,Bl=ql=null,null!==Ia){for(t=0;t<Ia.length;t++)if(null!==(r=(n=Ia[t]).interleaved)){n.interleaved=null;var o=r.next,a=n.pending;if(null!==a){var i=a.next;a.next=o,r.next=i}n.pending=r}Ia=null}return e}function pc(e,t){for(;;){var n=Tl;try{if(Oa(),oi.current=Xi,ui){for(var r=si.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}ui=!1}if(ii=0,ci=li=si=null,di=!1,fi=0,Pl.current=null,null===n||null===n.return){Dl=1,Rl=t,Tl=null;break}e:{var i=e,s=n.return,l=n,c=t;if(t=Al,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=l,f=d.tag;if(!(1&d.mode||0!==f&&11!==f&&15!==f)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=gs(s);if(null!==m){m.flags&=-257,ys(m,s,l,0,t),1&m.mode&&hs(i,u,t),c=u;var h=(t=m).updateQueue;if(null===h){var g=new Set;g.add(c),t.updateQueue=g}else h.add(c);break e}if(!(1&t)){hs(i,u,t),hc();break e}c=Error(a(426))}else if(aa&&1&l.mode){var y=gs(s);if(null!==y){!(65536&y.flags)&&(y.flags|=256),ys(y,s,l,0,t),ha(cs(c,l));break e}}i=c=cs(c,l),4!==Dl&&(Dl=2),null===ql?ql=[i]:ql.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,ps(0,c,t));break e;case 1:l=c;var b=i.type,v=i.stateNode;if(!(128&i.flags||"function"!=typeof b.getDerivedStateFromError&&(null===v||"function"!=typeof v.componentDidCatch||null!==Wl&&Wl.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,ms(i,l,t));break e}}i=i.return}while(null!==i)}xc(n)}catch(x){t=x,Tl===n&&null!==n&&(Tl=n=n.return);continue}break}}function mc(){var e=El.current;return El.current=Xi,null===e?Xi:e}function hc(){0!==Dl&&3!==Dl&&2!==Dl||(Dl=4),null===jl||!(268435455&Ll)&&!(268435455&Ml)||sc(jl,Al)}function gc(e,t){var n=Cl;Cl|=2;var r=mc();for(jl===e&&Al===t||($l=null,fc(e,t));;)try{yc();break}catch(o){pc(e,o)}if(Oa(),Cl=n,El.current=r,null!==Tl)throw Error(a(261));return jl=null,Al=0,Dl}function yc(){for(;null!==Tl;)vc(Tl)}function bc(){for(;null!==Tl&&!Qe();)vc(Tl)}function vc(e){var t=_l(e.alternate,e,Il);e.memoizedProps=e.pendingProps,null===t?xc(e):Tl=t,Pl.current=null}function xc(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Gs(n,t)))return n.flags&=32767,void(Tl=n);if(null===e)return Dl=6,void(Tl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Ks(n,t,Il)))return void(Tl=n);if(null!==(t=t.sibling))return void(Tl=t);Tl=t=e}while(null!==t);0===Dl&&(Dl=5)}function wc(e,t,n){var r=vt,o=Ol.transition;try{Ol.transition=null,vt=1,function(e,t,n,r){do{Sc()}while(null!==Gl);if(6&Cl)throw Error(a(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-it(n),a=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~a}}(e,i),e===jl&&(Tl=jl=null,Al=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Kl||(Kl=!0,jc(tt,(function(){return Sc(),null}))),i=!!(15990&n.flags),!!(15990&n.subtreeFlags)||i){i=Ol.transition,Ol.transition=null;var s=vt;vt=1;var l=Cl;Cl|=4,Pl.current=null,function(e,t){if(eo=Ht,pr(e=fr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(w){n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var m;f!==n||0!==o&&3!==f.nodeType||(l=s+o),f!==i||0!==r&&3!==f.nodeType||(c=s+r),3===f.nodeType&&(s+=f.nodeValue.length),null!==(m=f.firstChild);)p=f,f=m;for(;;){if(f===e)break t;if(p===n&&++u===o&&(l=s),p===i&&++d===r&&(c=s),null!==(m=f.nextSibling))break;p=(f=p).parentNode}f=m}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Ht=!1,Xs=t;null!==Xs;)if(e=(t=Xs).child,1028&t.subtreeFlags&&null!==e)e.return=t,Xs=e;else for(;null!==Xs;){t=Xs;try{var h=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var g=h.memoizedProps,y=h.memoizedState,b=t.stateNode,v=b.getSnapshotBeforeUpdate(t.elementType===t.type?g:ns(t.type,g),y);b.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var x=t.stateNode.containerInfo;1===x.nodeType?x.textContent="":9===x.nodeType&&x.documentElement&&x.removeChild(x.documentElement);break;default:throw Error(a(163))}}catch(w){kc(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,Xs=e;break}Xs=t.return}h=tl,tl=!1}(e,n),gl(n,e),mr(to),Ht=!!eo,to=eo=null,e.current=n,bl(n,e,o),Ye(),Cl=l,vt=s,Ol.transition=i}else e.current=n;if(Kl&&(Kl=!1,Gl=e,Ql=o),i=e.pendingLanes,0===i&&(Wl=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),rc(e,Ze()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],r(o.value,{componentStack:o.stack,digest:o.digest});if(Hl)throw Hl=!1,e=Vl,Vl=null,e;!!(1&Ql)&&0!==e.tag&&Sc(),i=e.pendingLanes,1&i?e===Zl?Yl++:(Yl=0,Zl=e):Yl=0,$o()}(e,t,n,r)}finally{Ol.transition=o,vt=r}return null}function Sc(){if(null!==Gl){var e=xt(Ql),t=Ol.transition,n=vt;try{if(Ol.transition=null,vt=16>e?16:e,null===Gl)var r=!1;else{if(e=Gl,Gl=null,Ql=0,6&Cl)throw Error(a(331));var o=Cl;for(Cl|=4,Xs=e.current;null!==Xs;){var i=Xs,s=i.child;if(16&Xs.flags){var l=i.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Xs=u;null!==Xs;){var d=Xs;switch(d.tag){case 0:case 11:case 15:nl(8,d,i)}var f=d.child;if(null!==f)f.return=d,Xs=f;else for(;null!==Xs;){var p=(d=Xs).sibling,m=d.return;if(al(d),d===u){Xs=null;break}if(null!==p){p.return=m,Xs=p;break}Xs=m}}}var h=i.alternate;if(null!==h){var g=h.child;if(null!==g){h.child=null;do{var y=g.sibling;g.sibling=null,g=y}while(null!==g)}}Xs=i}}if(2064&i.subtreeFlags&&null!==s)s.return=i,Xs=s;else e:for(;null!==Xs;){if(2048&(i=Xs).flags)switch(i.tag){case 0:case 11:case 15:nl(9,i,i.return)}var b=i.sibling;if(null!==b){b.return=i.return,Xs=b;break e}Xs=i.return}}var v=e.current;for(Xs=v;null!==Xs;){var x=(s=Xs).child;if(2064&s.subtreeFlags&&null!==x)x.return=s,Xs=x;else e:for(s=v;null!==Xs;){if(2048&(l=Xs).flags)try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(S){kc(l,l.return,S)}if(l===s){Xs=null;break e}var w=l.sibling;if(null!==w){w.return=l.return,Xs=w;break e}Xs=l.return}}if(Cl=o,$o(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(ot,e)}catch(S){}r=!0}return r}finally{vt=n,Ol.transition=t}}return!1}function _c(e,t,n){e=Ba(e,t=ps(0,t=cs(n,t),1),1),t=ec(),null!==e&&(yt(e,1,t),rc(e,t))}function kc(e,t,n){if(3===e.tag)_c(e,e,n);else for(;null!==t;){if(3===t.tag){_c(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Wl||!Wl.has(r))){t=Ba(t,e=ms(t,e=cs(n,e),1),1),e=ec(),null!==t&&(yt(t,1,e),rc(t,e));break}}t=t.return}}function Ec(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,jl===e&&(Al&n)===n&&(4===Dl||3===Dl&&(130023424&Al)===Al&&500>Ze()-zl?fc(e,0):Fl|=n),rc(e,t)}function Pc(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=ec();null!==(e=Ra(e,t))&&(yt(e,t,n),rc(e,n))}function Oc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Pc(e,n)}function Cc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Pc(e,n)}function jc(e,t){return Ke(e,t)}function Tc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ac(e,t,n,r){return new Tc(e,t,n,r)}function Ic(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Nc(e,t){var n=e.alternate;return null===n?((n=Ac(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Dc(e,t,n,r,o,i){var s=2;if(r=e,"function"==typeof e)Ic(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case _:return Rc(n.children,o,i,t);case k:s=8,o|=8;break;case E:return(e=Ac(12,n,t,2|o)).elementType=E,e.lanes=i,e;case j:return(e=Ac(13,n,t,o)).elementType=j,e.lanes=i,e;case T:return(e=Ac(19,n,t,o)).elementType=T,e.lanes=i,e;case N:return Lc(n,o,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case P:s=10;break e;case O:s=9;break e;case C:s=11;break e;case A:s=14;break e;case I:s=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Ac(s,n,t,o)).elementType=e,t.type=r,t.lanes=i,t}function Rc(e,t,n,r){return(e=Ac(7,e,r,t)).lanes=n,e}function Lc(e,t,n,r){return(e=Ac(22,e,r,t)).elementType=N,e.lanes=n,e.stateNode={isHidden:!1},e}function Mc(e,t,n){return(e=Ac(6,e,null,t)).lanes=n,e}function Fc(e,t,n){return(t=Ac(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function qc(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bc(e,t,n,r,o,a,i,s,l){return e=new qc(e,t,n,s,l),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Ac(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ma(a),e}function zc(e){if(!e)return Co;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(No(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(No(n))return Lo(e,n,t)}return t}function Uc(e,t,n,r,o,a,i,s,l){return(e=Bc(n,r,!0,e,0,a,0,s,l)).context=zc(null),n=e.current,(a=qa(r=ec(),o=tc(n))).callback=null!=t?t:null,Ba(n,a,o),e.current.lanes=o,yt(e,o,r),rc(e,r),e}function $c(e,t,n,r){var o=t.current,a=ec(),i=tc(o);return n=zc(n),null===t.context?t.context=n:t.pendingContext=n,(t=qa(a,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ba(o,t,i))&&(nc(e,o,i,a),za(e,o,i)),i}function Hc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Wc(e,t){Vc(e,t),(e=e.alternate)&&Vc(e,t)}_l=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||To.current)vs=!0;else{if(!(e.lanes&n||128&t.flags))return vs=!1,function(e,t,n){switch(t.tag){case 3:js(t),ma();break;case 5:Xa(t);break;case 1:No(t.type)&&Mo(t);break;case 4:Ya(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;Oo(_a,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Oo(ei,1&ei.current),t.flags|=128,null):n&t.child.childLanes?Ms(e,t,n):(Oo(ei,1&ei.current),null!==(e=Hs(e,t,n))?e.sibling:null);Oo(ei,1&ei.current);break;case 19:if(r=!!(n&t.childLanes),128&e.flags){if(r)return Us(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),Oo(ei,ei.current),r)break;return null;case 22:case 23:return t.lanes=0,ks(e,t,n)}return Hs(e,t,n)}(e,t,n);vs=!!(131072&e.flags)}else vs=!1,aa&&1048576&t.flags&&ea(t,Ko,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;$s(e,t),e=t.pendingProps;var o=Io(t,jo.current);Ta(t,n),o=gi(null,t,r,e,o,n);var i=yi();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,No(r)?(i=!0,Mo(t)):i=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Ma(t),o.updater=os,t.stateNode=o,o._reactInternals=t,ls(t,r,e,n),t=Cs(null,t,r,!0,i,n)):(t.tag=0,aa&&i&&ta(t),xs(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch($s(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Ic(e)?1:0;if(null!=e){if((e=e.$$typeof)===C)return 11;if(e===A)return 14}return 2}(r),e=ns(r,e),o){case 0:t=Ps(null,t,r,e,n);break e;case 1:t=Os(null,t,r,e,n);break e;case 11:t=ws(null,t,r,e,n);break e;case 14:t=Ss(null,t,r,ns(r.type,e),n);break e}throw Error(a(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,Ps(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 1:return r=t.type,o=t.pendingProps,Os(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 3:e:{if(js(t),null===e)throw Error(a(387));r=t.pendingProps,o=(i=t.memoizedState).element,Fa(e,t),$a(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Ts(e,t,r,n,o=cs(Error(a(423)),t));break e}if(r!==o){t=Ts(e,t,r,n,o=cs(Error(a(424)),t));break e}for(oa=co(t.stateNode.containerInfo.firstChild),ra=t,aa=!0,ia=null,n=Sa(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ma(),r===o){t=Hs(e,t,n);break e}xs(e,t,r,n)}t=t.child}return t;case 5:return Xa(t),null===e&&ua(t),r=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,s=o.children,no(r,o)?s=null:null!==i&&no(r,i)&&(t.flags|=32),Es(e,t),xs(e,t,s,n),t.child;case 6:return null===e&&ua(t),null;case 13:return Ms(e,t,n);case 4:return Ya(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=wa(t,null,r,n):xs(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,ws(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 7:return xs(e,t,t.pendingProps,n),t.child;case 8:case 12:return xs(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,Oo(_a,r._currentValue),r._currentValue=s,null!==i)if(sr(i.value,s)){if(i.children===o.children&&!To.current){t=Hs(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var l=i.dependencies;if(null!==l){s=i.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===i.tag){(c=qa(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),ja(i.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(a(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),ja(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}xs(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Ta(t,n),r=r(o=Aa(o)),t.flags|=1,xs(e,t,r,n),t.child;case 14:return o=ns(r=t.type,t.pendingProps),Ss(e,t,r,o=ns(r.type,o),n);case 15:return _s(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ns(r,o),$s(e,t),t.tag=1,No(r)?(e=!0,Mo(t)):e=!1,Ta(t,n),is(t,r,o),ls(t,r,o,n),Cs(null,t,r,!0,e,n);case 19:return Us(e,t,n);case 22:return ks(e,t,n)}throw Error(a(156,t.tag))};var Kc="function"==typeof reportError?reportError:function(e){console.error(e)};function Gc(e){this._internalRoot=e}function Qc(e){this._internalRoot=e}function Yc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Zc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Xc(){}function Jc(e,t,n,r,o){var a=n._reactRootContainer;if(a){var i=a;if("function"==typeof o){var s=o;o=function(){var e=Hc(i);s.call(e)}}$c(t,i,e,o)}else i=function(e,t,n,r,o){if(o){if("function"==typeof r){var a=r;r=function(){var e=Hc(i);a.call(e)}}var i=Uc(t,r,e,0,null,!1,0,"",Xc);return e._reactRootContainer=i,e[ho]=i.current,Ur(8===e.nodeType?e.parentNode:e),uc(),i}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof r){var s=r;r=function(){var e=Hc(l);s.call(e)}}var l=Bc(e,0,!1,null,0,!1,0,"",Xc);return e._reactRootContainer=l,e[ho]=l.current,Ur(8===e.nodeType?e.parentNode:e),uc((function(){$c(t,l,n,r)})),l}(n,t,e,o,r);return Hc(i)}Qc.prototype.render=Gc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));$c(e,t,null,null)},Qc.prototype.unmount=Gc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){$c(null,e,null,null)})),t[ho]=null}},Qc.prototype.unstable_scheduleHydration=function(e){if(e){var t=kt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Nt.length&&0!==t&&t<Nt[n].priority;n++);Nt.splice(n,0,e),0===n&&Mt(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(bt(t,1|n),rc(t,Ze()),!(6&Cl)&&(Ul=Ze()+500,$o()))}break;case 13:uc((function(){var t=Ra(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Wc(e,1)}},St=function(e){if(13===e.tag){var t=Ra(e,134217728);if(null!==t)nc(t,e,134217728,ec());Wc(e,134217728)}},_t=function(e){if(13===e.tag){var t=tc(e),n=Ra(e,t);if(null!==n)nc(n,e,t,ec());Wc(e,t)}},kt=function(){return vt},Et=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},Se=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=So(r);if(!o)throw Error(a(90));K(r),X(r,o)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ce=cc,je=uc;var eu={usingClientEntryPoint:!1,Events:[xo,wo,So,Pe,Oe,cc]},tu={findFiberByHostInstance:vo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:x.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{ot=ru.inject(nu),at=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yc(t))throw Error(a(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Yc(e))throw Error(a(299));var n=!1,r="",o=Kc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Bc(e,1,!1,null,0,n,0,r,o),e[ho]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Gc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Zc(t))throw Error(a(200));return Jc(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Yc(e))throw Error(a(405));var r=null!=n&&n.hydratedSources||null,o=!1,i="",s=Kc;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Uc(t,null,e,1,null!=n?n:null,o,0,i,s),e[ho]=t.current,Ur(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Qc(t)},t.render=function(e,t,n){if(!Zc(t))throw Error(a(200));return Jc(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Zc(e))throw Error(a(40));return!!e._reactRootContainer&&(uc((function(){Jc(null,null,e,!1,(function(){e._reactRootContainer=null,e[ho]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Zc(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return Jc(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},5338:(e,t,n)=>{"use strict";var r=n(40961);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},40961:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(22551)},30115:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,c,u;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!a(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;for(u=e.entries();!(l=u.next()).done;)if(!a(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,c[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!e.$$typeof)&&!a(e[c[l]],i[c[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return a(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},80545:(e,t,n)=>{"use strict";n.d(t,{mg:()=>J,vd:()=>V});var r=n(96540),o=n(5556),a=n.n(o),i=n(30115),s=n.n(i),l=n(20311),c=n.n(l),u=n(2833),d=n.n(u);function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function h(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},y={rel:["amphtml","canonical","alternate"]},b={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},x=Object.keys(g).map((function(e){return g[e]})),w={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},S=Object.keys(w).reduce((function(e,t){return e[w[t]]=t,e}),{}),_=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},k=function(e){var t=_(e,g.TITLE),n=_(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=_(e,"defaultTitle");return t||r||void 0},E=function(e){return _(e,"onChangeClientState")||function(){}},P=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return f({},e,t)}),{})},O=function(e,t){return t.filter((function(e){return void 0!==e[g.BASE]})).map((function(e){return e[g.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o+=1){var a=r[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},C=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n,a=Object.keys(e),i=0;i<a.length;i+=1){var s=a[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][c]&&(o[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(o),i=0;i<a.length;i+=1){var s=a[i],l=f({},r[s],o[s]);r[s]=l}return e}),[]).reverse()},j=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},T=function(e){return Array.isArray(e)?e.join(""):e},A=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},I=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},N=[g.NOSCRIPT,g.SCRIPT,g.STYLE],D=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},R=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},L=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[w[n]||n]=e[n],t}),t)},M=function(e,t){return t.map((function(t,n){var o,a=((o={key:n})["data-rh"]=!0,o);return Object.keys(t).forEach((function(e){var n=w[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]})),r.createElement(e,a)}))},F=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return n=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,a=L(n,o),[r.createElement(g.TITLE,a,e)];var e,n,o,a},toString:function(){return function(e,t,n,r){var o=R(n),a=T(t);return o?"<"+e+' data-rh="true" '+o+">"+D(a,r)+"</"+e+">":"<"+e+' data-rh="true">'+D(a,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return L(t)},toString:function(){return R(t)}};default:return{toComponent:function(){return M(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+D(r[t],n)+'"';return e?e+" "+o:o}),""),a=r.innerHTML||r.cssText||"",i=-1===N.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(i?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},q=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,a=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,o=A(e.metaTags,v),a=A(t,y),i=A(n,b);return{priorityMethods:{toComponent:function(){return[].concat(M(g.META,o.priority),M(g.LINK,a.priority),M(g.SCRIPT,i.priority))},toString:function(){return F(g.META,o.priority,r)+" "+F(g.LINK,a.priority,r)+" "+F(g.SCRIPT,i.priority,r)}},metaTags:o.default,linkTags:a.default,scriptTags:i.default}}(e);p=m.priorityMethods,u=m.linkTags,d=m.metaTags,f=m.scriptTags}return{priority:p,base:F(g.BASE,t,r),bodyAttributes:F("bodyAttributes",n,r),htmlAttributes:F("htmlAttributes",o,r),link:F(g.LINK,u,r),meta:F(g.META,d,r),noscript:F(g.NOSCRIPT,a,r),script:F(g.SCRIPT,f,r),style:F(g.STYLE,i,r),title:F(g.TITLE,{title:l,titleAttributes:c},r)}},B=[],z=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=q({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),$=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),H="undefined"!=typeof document,V=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new z(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);V.canUseDOM=H,V.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var W=function(e,t){var n,r=document.head||document.querySelector(g.HEAD),o=r.querySelectorAll(e+"[data-rh]"),a=[].slice.call(o),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?r.innerHTML=t.innerHTML:"cssText"===o?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(o,void 0===t[o]?"":t[o]));r.setAttribute("data-rh","true"),a.some((function(e,t){return n=t,r.isEqualNode(e)}))?a.splice(n,1):i.push(r)})),a.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:a,newTags:i}},K=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),o=r?r.split(","):[],a=[].concat(o),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],c=t[l]||"";n.getAttribute(l)!==c&&n.setAttribute(l,c),-1===o.indexOf(l)&&o.push(l);var u=a.indexOf(l);-1!==u&&a.splice(u,1)}for(var d=a.length-1;d>=0;d-=1)n.removeAttribute(a[d]);o.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},G=function(e,t){var n=e.baseTag,r=e.htmlAttributes,o=e.linkTags,a=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;K(g.BODY,e.bodyAttributes),K(g.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=T(e)),K(g.TITLE,t)}(u,d);var f={baseTag:W(g.BASE,n),linkTags:W(g.LINK,o),metaTags:W(g.META,a),noscriptTags:W(g.NOSCRIPT,i),scriptTags:W(g.SCRIPT,l),styleTags:W(g.STYLE,c)},p={},m={};Object.keys(f).forEach((function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(m[e]=f[e].oldTags)})),t&&t(),s(e,p,m)},Q=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,o=null,a=(e=n.helmetInstances.get().map((function(e){var t=f({},e.props);return delete t.context,t})),{baseTag:O(["href"],e),bodyAttributes:P("bodyAttributes",e),defer:_(e,"defer"),encode:_(e,"encodeSpecialCharacters"),htmlAttributes:P("htmlAttributes",e),linkTags:C(g.LINK,["rel","href"],e),metaTags:C(g.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:C(g.NOSCRIPT,["innerHTML"],e),onChangeClientState:E(e),scriptTags:C(g.SCRIPT,["src","innerHTML"],e),styleTags:C(g.STYLE,["cssText"],e),title:k(e),titleAttributes:P("titleAttributes",e),prioritizeSeoTags:j(e,"prioritizeSeoTags")});V.canUseDOM?(t=a,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){G(t,(function(){Q=null}))})):(G(t),Q=null)):q&&(o=q(a)),r(o)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:$.isRequired},Y.displayName="HelmetDispatcher";var Z=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(I(this.props,"helmetData"),I(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case g.SCRIPT:case g.NOSCRIPT:return{innerHTML:t};case g.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,a=e.newChildProps,i=e.nestedChildren;switch(r.type){case g.TITLE:return f({},o,((t={})[r.type]=i,t.titleAttributes=f({},a),t));case g.BODY:return f({},o,{bodyAttributes:f({},a)});case g.HTML:return f({},o,{htmlAttributes:f({},a)});default:return f({},o,((n={})[r.type]=f({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach((function(t){var r;n=f({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(x.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+x.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,o={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,a=r.children,i=h(r,Z),s=Object.keys(i).reduce((function(e,t){return e[S[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,a),l){case g.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:o=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:s,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:a})}}})),this.mapArrayTypeChildrenToProps(o,t)},n.render=function(){var e=this.props,t=e.children,n=h(e,X),o=f({},n),a=n.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!a||a instanceof z||(a=new z(a.context,a.instances)),a?r.createElement(Y,f({},o,{context:a.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,f({},o,{context:e}))}))},t}(r.Component);J.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},22799:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,x=n?Symbol.for("react.scope"):60119;function w(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case a:case s:case i:case p:return e;default:switch(e=e&&e.$$typeof){case c:case f:case g:case h:case l:return e;default:return t}}case o:return t}}}function S(e){return w(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=f,t.Fragment=a,t.Lazy=g,t.Memo=h,t.Portal=o,t.Profiler=s,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return S(e)||w(e)===u},t.isConcurrentMode=S,t.isContextConsumer=function(e){return w(e)===c},t.isContextProvider=function(e){return w(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return w(e)===f},t.isFragment=function(e){return w(e)===a},t.isLazy=function(e){return w(e)===g},t.isMemo=function(e){return w(e)===h},t.isPortal=function(e){return w(e)===o},t.isProfiler=function(e){return w(e)===s},t.isStrictMode=function(e){return w(e)===i},t.isSuspense=function(e){return w(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===s||e===i||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===h||e.$$typeof===l||e.$$typeof===c||e.$$typeof===f||e.$$typeof===b||e.$$typeof===v||e.$$typeof===x||e.$$typeof===y)},t.typeOf=w},44363:(e,t,n)=>{"use strict";e.exports=n(22799)},53259:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(96540),l=[],c=[];var u=s.createContext(null);function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function f(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var o=d(e[r]);o.loading?t.loading=!0:(t.loaded[r]=o.loaded,t.error=o.error),n.push(o.promise),o.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function p(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,f;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=i({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),h=null;function g(){return h||(h=e(m.loader)),h.promise}return l.push(g),"function"==typeof m.webpack&&c.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return g()})),f=d=function(t){function n(n){var r;return a(o(o(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),h=e(m.loader),r._loadModule()})),g(),r.state={error:h.error,pastDelay:!1,timedOut:!1,loading:h.loading,loaded:h.loaded},r}r(n,t),n.preload=function(){return g()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.report(t)})),h.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:h.error,loaded:h.loaded,loading:h.loading}),e._clearTimeouts()};h.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(s.Component),a(d,"contextType",u),f}function h(e){return m(d,e)}h.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(f,e)};var g=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){return s.createElement(u.Provider,{value:{report:this.props.report}},s.Children.only(this.props.children))},t}(s.Component);function y(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return y(e)}))}h.Capture=g,h.preloadAll=function(){return new Promise((function(e,t){y(l).then(e,t)}))},h.preloadReady=function(){return new Promise((function(e,t){y(c).then(e,e)}))},e.exports=h},22831:(e,t,n)=>{"use strict";n.d(t,{u:()=>i,v:()=>s});var r=n(56347),o=n(58168),a=n(96540);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,r.B6)(t,e):n.length?n[n.length-1].match:r.Ix.computeRootMatch(t);return o&&(n.push({route:e,match:o}),e.routes&&i(e.routes,t,n)),o})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?a.createElement(r.dO,n,e.map((function(e,n){return a.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.A)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.A)({},n,t,{route:e}))}})}))):null}},54625:(e,t,n)=>{"use strict";n.d(t,{I9:()=>d,Kd:()=>u,N_:()=>y,k2:()=>x});var r=n(56347),o=n(42892),a=n(96540),i=n(31513),s=n(58168),l=n(98587),c=n(11561),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.zR)(t.props),t}return(0,o.A)(t,e),t.prototype.render=function(){return a.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(a.Component);var d=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.TM)(t.props),t}return(0,o.A)(t,e),t.prototype.render=function(){return a.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(a.Component);var f=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.yJ)(e,null,null,t):e},m=function(e){return e},h=a.forwardRef;void 0===h&&(h=m);var g=h((function(e,t){var n=e.innerRef,r=e.navigate,o=e.onClick,i=(0,l.A)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,s.A)({},i,{onClick:function(e){try{o&&o(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=m!==h&&t||n,a.createElement("a",u)}));var y=h((function(e,t){var n=e.component,o=void 0===n?g:n,u=e.replace,d=e.to,y=e.innerRef,b=(0,l.A)(e,["component","replace","to","innerRef"]);return a.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=e.history,r=p(f(d,e.location),e.location),l=r?n.createHref(r):"",g=(0,s.A)({},b,{href:l,navigate:function(){var t=f(d,e.location),r=(0,i.AO)(e.location)===(0,i.AO)(p(t));(u||r?n.replace:n.push)(t)}});return m!==h?g.ref=t||y:g.innerRef=y,a.createElement(o,g)}))})),b=function(e){return e},v=a.forwardRef;void 0===v&&(v=b);var x=v((function(e,t){var n=e["aria-current"],o=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,d=e.activeStyle,m=e.className,h=e.exact,g=e.isActive,x=e.location,w=e.sensitive,S=e.strict,_=e.style,k=e.to,E=e.innerRef,P=(0,l.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=x||e.location,i=p(f(k,n),n),l=i.pathname,O=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),C=O?(0,r.B6)(n.pathname,{path:O,exact:h,sensitive:w,strict:S}):null,j=!!(g?g(C,n):C),T="function"==typeof m?m(j):m,A="function"==typeof _?_(j):_;j&&(T=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(T,u),A=(0,s.A)({},A,d));var I=(0,s.A)({"aria-current":j&&o||null,className:T,style:A,to:i},P);return b!==v?I.ref=t||E:I.innerRef=E,a.createElement(y,I)}))}))},56347:(e,t,n)=>{"use strict";n.d(t,{B6:()=>_,Ix:()=>v,W6:()=>I,XZ:()=>b,dO:()=>T,qh:()=>k,zy:()=>N});var r=n(42892),o=n(96540),a=n(5556),i=n.n(a),s=n(31513),l=n(11561),c=n(58168),u=n(35302),d=n.n(u),f=(n(44363),n(98587)),p=(n(4146),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var h=o.createContext||function(e,t){var n,a,s="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return(t=e.call.apply(e,[this].concat(a))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.A)(n,e);var o=n.prototype;return o.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((a=r)===(i=o)?0!==a||1/a==1/i:a!=a&&i!=i)?n=0:(n="function"==typeof t?t(r,o):p,0!==(n|=0)&&this.emitter.set(e.value,n))}var a,i},o.render=function(){return this.props.children},n}(o.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(0|e.observedBits)&n&&e.setState({value:e.getValue()})},e}(0,r.A)(n,t);var o=n.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?p:t},o.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?p:e},o.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},o.getValue=function(){return this.context[s]?this.context[s].get():e},o.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return c.contextTypes=((a={})[s]=i().object,a),{Provider:l,Consumer:c}},g=function(e){var t=h();return t.displayName=e,t},y=g("Router-History"),b=g("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(b.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(y.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var x={},w=1e4,S=0;function _(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,s=void 0!==i&&i,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=x[n]||(x[n]={});if(r[e])return r[e];var o=[],a={regexp:d()(e,o,t),keys:o};return S<w&&(r[e]=a,S++),a}(n,{end:a,strict:s,sensitive:c}),o=r.regexp,i=r.keys,l=o.exec(e);if(!l)return null;var u=l[0],f=l.slice(1),p=e===u;return a&&!p?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:p,params:i.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var k=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(b.Consumer,null,(function(t){t||(0,l.A)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?_(n.pathname,e.props):t.match,a=(0,c.A)({},t,{location:n,match:r}),i=e.props,s=i.children,u=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===o.Children.count(e)}(s)&&(s=null),o.createElement(b.Provider,{value:a},a.match?s?"function"==typeof s?s(a):s:u?o.createElement(u,a):d?d(a):null:"function"==typeof s?s(a):null)}))},t}(o.Component);function E(e){return"/"===e.charAt(0)?e:"/"+e}function P(e,t){if(!e)return t;var n=E(e);return 0!==t.pathname.indexOf(n)?t:(0,c.A)({},t,{pathname:t.pathname.substr(n.length)})}function O(e){return"string"==typeof e?e:(0,s.AO)(e)}function C(e){return function(){(0,l.A)(!1)}}function j(){}o.Component;var T=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(b.Consumer,null,(function(t){t||(0,l.A)(!1);var n,r,a=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==r&&o.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?_(a.pathname,(0,c.A)({},e.props,{path:i})):t.match}})),r?o.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(o.Component);var A=o.useContext;function I(){return A(y)}function N(){return A(b).location}},21020:(e,t,n)=>{"use strict";var r=n(96540),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!l.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:a,_owner:s.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},15287:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var x=v.prototype=new b;x.constructor=v,h(x,y.prototype),x.isPureReactComponent=!0;var w=Array.isArray,S=Object.prototype.hasOwnProperty,_={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var o,a={},i=null,s=null;if(null!=t)for(o in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)S.call(t,o)&&!k.hasOwnProperty(o)&&(a[o]=t[o]);var l=arguments.length-2;if(1===l)a.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(o in l=e.defaultProps)void 0===a[o]&&(a[o]=l[o]);return{$$typeof:n,type:e,key:i,ref:s,props:a,_owner:_.current}}function P(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var O=/\/+/g;function C(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function j(e,t,o,a,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return i=i(l=e),e=""===a?"."+C(l,0):a,w(i)?(o="",null!=e&&(o=e.replace(O,"$&/")+"/"),j(i,t,o,"",(function(e){return e}))):null!=i&&(P(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,o+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(O,"$&/")+"/")+e)),t.push(i)),1;if(l=0,a=""===a?".":a+":",w(e))for(var c=0;c<e.length;c++){var u=a+C(s=e[c],c);l+=j(s,t,o,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=j(s=s.value,t,o,u=a+C(s,c++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function T(e,t,n){if(null==e)return e;var r=[],o=0;return j(e,r,"","",(function(e){return t.call(n,e,o++)})),r}function A(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I={current:null},N={transition:null},D={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:N,ReactCurrentOwner:_};function R(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:T,forEach:function(e,t,n){T(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return T(e,(function(){t++})),t},toArray:function(e){return T(e,(function(e){return e}))||[]},only:function(e){if(!P(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=y,t.Fragment=o,t.Profiler=i,t.PureComponent=v,t.StrictMode=a,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=D,t.act=R,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=h({},e.props),a=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=_.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)S.call(t,c)&&!k.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];o.children=l}return{$$typeof:n,type:e.type,key:a,ref:i,props:o,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=P,t.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=N.transition;N.transition={};try{e()}finally{N.transition=t}},t.unstable_act=R,t.useCallback=function(e,t){return I.current.useCallback(e,t)},t.useContext=function(e){return I.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return I.current.useDeferredValue(e)},t.useEffect=function(e,t){return I.current.useEffect(e,t)},t.useId=function(){return I.current.useId()},t.useImperativeHandle=function(e,t,n){return I.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return I.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return I.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return I.current.useMemo(e,t)},t.useReducer=function(e,t,n){return I.current.useReducer(e,t,n)},t.useRef=function(e){return I.current.useRef(e)},t.useState=function(e){return I.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return I.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return I.current.useTransition()},t.version="18.3.1"},96540:(e,t,n)=>{"use strict";e.exports=n(15287)},74848:(e,t,n)=>{"use strict";e.exports=n(21020)},7463:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(!(0<a(o,t)))break e;e[r]=t,e[n]=o,n=r}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,i=o>>>1;r<i;){var s=2*(r+1)-1,l=e[s],c=s+1,u=e[c];if(0>a(l,n))c<o&&0>a(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[s]=n,r=s);else{if(!(c<o&&0>a(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,f=null,p=3,m=!1,h=!1,g=!1,y="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function x(e){for(var t=r(u);null!==t;){if(null===t.callback)o(u);else{if(!(t.startTime<=e))break;o(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function w(e){if(g=!1,x(e),!h)if(null!==r(c))h=!0,N(S);else{var t=r(u);null!==t&&D(w,t.startTime-e)}}function S(e,n){h=!1,g&&(g=!1,b(P),P=-1),m=!0;var a=p;try{for(x(n),f=r(c);null!==f&&(!(f.expirationTime>n)||e&&!j());){var i=f.callback;if("function"==typeof i){f.callback=null,p=f.priorityLevel;var s=i(f.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?f.callback=s:f===r(c)&&o(c),x(n)}else o(c);f=r(c)}if(null!==f)var l=!0;else{var d=r(u);null!==d&&D(w,d.startTime-n),l=!1}return l}finally{f=null,p=a,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,k=!1,E=null,P=-1,O=5,C=-1;function j(){return!(t.unstable_now()-C<O)}function T(){if(null!==E){var e=t.unstable_now();C=e;var n=!0;try{n=E(!0,e)}finally{n?_():(k=!1,E=null)}}else k=!1}if("function"==typeof v)_=function(){v(T)};else if("undefined"!=typeof MessageChannel){var A=new MessageChannel,I=A.port2;A.port1.onmessage=T,_=function(){I.postMessage(null)}}else _=function(){y(T,0)};function N(e){E=e,k||(k=!0,_())}function D(e,n){P=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){h||m||(h=!0,N(S))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):O=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,o,a){var i=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0<a?i+a:i:a=i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:a,expirationTime:s=a+s,sortIndex:-1},a>i?(e.sortIndex=a,n(u,e),null===r(c)&&e===r(u)&&(g?(b(P),P=-1):g=!0,D(w,a-i))):(e.sortIndex=s,n(c,e),h||m||(h=!0,N(S))),e},t.unstable_shouldYield=j,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},69982:(e,t,n)=>{"use strict";e.exports=n(7463)},2833:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<a.length;l++){var c=a[l];if(!s(c))return!1;var u=e[c],d=t[c];if(!1===(o=n?n.call(r,u,d,c):void 0)||void 0===o&&u!==d)return!1}return!0}},4784:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"FHIR Dosage Utils",tagline:"From Data to Understandable Text and More",favicon:"img/favicon.ico",url:"https://jy95.github.io",baseUrl:"/fhir-dosage-utils/",organizationName:"jy95",projectName:"fhir-dosage-utils",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",trailingSlash:!1,i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},plugins:[["docusaurus-plugin-typedoc-api",{projectRoot:"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils",packages:["."]}],"./src/plugins/monacco.ts"],presets:[["classic",{docs:{remarkPlugins:[[null,{sync:!0}]],sidebarPath:"./sidebars.ts",editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/"},blog:{showReadingTime:!0,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{algolia:{appId:"A0H5ESUA6U",apiKey:"ed5931b0de2e3754e2da8e0f843443bd",indexName:"jy95io",contextualSearch:!0,searchParameters:{},searchPagePath:"search"},navbar:{title:"FHIR Dosage utils",logo:{alt:"FHIR Dosage utils Logo",src:"img/logo.svg"},items:[{type:"docSidebar",sidebarId:"tutorialSidebar",position:"left",label:"Tutorial"},{to:"api",label:"API",position:"left"},{to:"playground",label:"Playground",position:"left"},{to:"/blog",label:"Blog",position:"right"},{href:"https://github.com/jy95/fhir-dosage-utils",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[],copyright:"Copyright \xa9 2024 Jacques Yakoub. Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["json"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,future:{experimental_faster:{swcJsLoader:!1,swcJsMinimizer:!1,swcHtmlMinimizer:!1,lightningCssMinimizer:!1,mdxCrossCompilerCache:!1,rspackBundler:!1},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},58168:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(null,arguments)}n.d(t,{A:()=>r})},42892:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>o})},98587:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},34164:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=r(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}n.d(t,{A:()=>o});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=r(e))&&(o&&(o+=" "),o+=t);return o}},71765:(e,t,n)=>{"use strict";n.d(t,{My:()=>w,f4:()=>Y});var r,o,a=n(96540),i=n(34164),s=Object.create,l=Object.defineProperty,c=Object.defineProperties,u=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyDescriptors,f=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,m=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,y=(e,t,n)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b=(e,t)=>{for(var n in t||(t={}))h.call(t,n)&&y(e,n,t[n]);if(p)for(var n of p(t))g.call(t,n)&&y(e,n,t[n]);return e},v=(e,t)=>c(e,d(t)),x=(e,t)=>{var n={};for(var r in e)h.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&p)for(var r of p(e))t.indexOf(r)<0&&g.call(e,r)&&(n[r]=e[r]);return n},w=((e,t,n)=>(n=null!=e?s(m(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of f(t))h.call(e,o)||o===n||l(e,o,{get:()=>t[o],enumerable:!(r=u(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:l(n,"default",{value:e,enumerable:!0}),e)))((r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var o,a;switch(n=n||{},r.util.type(t)){case"Object":if(a=r.util.objId(t),n[a])return n[a];for(var i in o={},n[a]=o,t)t.hasOwnProperty(i)&&(o[i]=e(t[i],n));return o;case"Array":return a=r.util.objId(t),n[a]?n[a]:(o=[],n[a]=o,t.forEach((function(t,r){o[r]=e(t,n)})),o);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var o in t)n[o]=t[o];return n},insertBefore:function(e,t,n,o){var a=(o=o||r.languages)[e],i={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=a[s])}var c=o[e];return o[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,o,a){a=a||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],o||s);var l=t[s],c=r.util.type(l);"Object"!==c||a[i(l)]?"Array"!==c||a[i(l)]||(a[i(l)]=!0,e(l,n,s,a)):(a[i(l)]=!0,e(l,n,null,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",a),!a.grammar)throw new Error('The language "'+a.language+'" has no grammar.');return a.tokens=r.tokenize(a.code,a.grammar),r.hooks.run("after-tokenize",a),o.stringify(r.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var o=new s;return l(o,o.head,e),i(e,o,t,o.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(o)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function a(e,t,n,r){e.lastIndex=t;var o=e.exec(n);if(o&&r&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function i(e,t,n,s,u,d){for(var f in n)if(n.hasOwnProperty(f)&&n[f]){var p=n[f];p=Array.isArray(p)?p:[p];for(var m=0;m<p.length;++m){if(d&&d.cause==f+","+m)return;var h=p[m],g=h.inside,y=!!h.lookbehind,b=!!h.greedy,v=h.alias;if(b&&!h.pattern.global){var x=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,x+"g")}for(var w=h.pattern||h,S=s.next,_=u;S!==t.tail&&!(d&&_>=d.reach);_+=S.value.length,S=S.next){var k=S.value;if(t.length>e.length)return;if(!(k instanceof o)){var E,P=1;if(b){if(!(E=a(w,_,e,y))||E.index>=e.length)break;var O=E.index,C=E.index+E[0].length,j=_;for(j+=S.value.length;O>=j;)j+=(S=S.next).value.length;if(_=j-=S.value.length,S.value instanceof o)continue;for(var T=S;T!==t.tail&&(j<C||"string"==typeof T.value);T=T.next)P++,j+=T.value.length;P--,k=e.slice(_,j),E.index-=_}else if(!(E=a(w,0,k,y)))continue;O=E.index;var A=E[0],I=k.slice(0,O),N=k.slice(O+A.length),D=_+k.length;d&&D>d.reach&&(d.reach=D);var R=S.prev;if(I&&(R=l(t,R,I),_+=I.length),c(t,R,P),S=l(t,R,new o(f,g?r.tokenize(A,g):A,v,A)),N&&l(t,S,N),P>1){var L={cause:f+","+m,reach:D};i(e,t,n,S.prev,_,L),d&&L.reach>d.reach&&(d.reach=L.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function c(e,t,n){for(var r=t.next,o=0;o<n&&r!==e.tail;o++)r=r.next;t.next=r,r.prev=t,e.length-=o}return o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,n)})),o}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),r.hooks.run("wrap",a);var s="";for(var l in a.attributes)s+=" "+l+'="'+(a.attributes[l]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+s+">"+a.content+"</"+a.tag+">"},r}();t.exports=n,n.default=n}},function(){return o||(0,r[f(r)[0]])((o={exports:{}}).exports,o),o.exports})());w.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},w.languages.markup.tag.inside["attr-value"].inside.entity=w.languages.markup.entity,w.languages.markup.doctype.inside["internal-subset"].inside=w.languages.markup,w.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(w.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:w.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:w.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},w.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(w.languages.markup.tag,"addAttribute",{value:function(e,t){w.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:w.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),w.languages.html=w.languages.markup,w.languages.mathml=w.languages.markup,w.languages.svg=w.languages.markup,w.languages.xml=w.languages.extend("markup",{}),w.languages.ssml=w.languages.xml,w.languages.atom=w.languages.xml,w.languages.rss=w.languages.xml,function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r="(?:[^\\\\-]|"+n.source+")",o=(r=RegExp(r+"-"+r),{pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"});e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:r,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":t,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:n}},"special-escape":t,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":o}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":o}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}}(w),w.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},w.languages.javascript=w.languages.extend("clike",{"class-name":[w.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),w.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,w.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:w.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:w.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:w.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:w.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:w.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),w.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:w.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),w.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),w.languages.markup&&(w.languages.markup.tag.addInlined("script","javascript"),w.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),w.languages.js=w.languages.javascript,w.languages.actionscript=w.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),w.languages.actionscript["class-name"].alias="function",delete w.languages.actionscript.parameter,delete w.languages.actionscript["literal-property"],w.languages.markup&&w.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:w.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(w),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},o="doc-comment";if(a=e.languages[t]){var a,i=a[o];if((i=i||(a=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[o])instanceof RegExp&&(i=a[o]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s<l;s++)i[s]instanceof RegExp&&(i[s]={pattern:i[s]}),r(i[s]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(w),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(w),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(w),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(w),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var o,a=t[n];"code"!==a.type?e(a.content):(o=a.content[1],a=a.content[3],o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),a.alias?"string"==typeof a.alias?a.alias=[a.alias,o]:a.alias.push(o):a.alias=[o]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,o=t.classes.length;r<o;r++){var a=t.classes[r];if(a=/language-(.+)/.exec(a)){n=a[1];break}}var c,u=e.languages[n];u?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n)):s[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(w),w.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:w.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},w.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var o=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var a=f(/^\($/,/^\)$/);if(-1===a)continue;for(;n<a;n++){var i=u(0);"variable"===i.type&&(p(i,"variable-input"),o.push(i.content))}n=a+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,p(u(0),"property-mutation"),0<o.length)){var s=f(/^\{$/,/^\}$/);if(-1!==s)for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&0<=o.indexOf(c.content)&&p(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function f(e,r){for(var o=1,a=n;a<t.length;a++){var i=t[a],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))o++;else if(r.test(s)&&0==--o)return a}return-1}function p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),w.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,o=r.inside["interpolation-punctuation"],a=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function l(t,n,i){var l=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),c=0,u={},d=(l=s(l.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n})).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var a=0;a<n.length;a++){if(c>=d.length)return;var i,l,f,p,m,h,g,y=n[a];"string"==typeof y||"string"==typeof y.content?(i=d[c],-1!==(g=(h="string"==typeof y?y:y.content).indexOf(i))&&(++c,l=h.substring(0,g),m=u[i],f=void 0,(p={})["interpolation-punctuation"]=o,3===(p=e.tokenize(m,p)).length&&((f=[1,1]).push.apply(f,s(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,m),p=h.substring(g+i.length),m=[],l&&m.push(l),m.push(f),p&&(t(h=[p]),m.push.apply(m,h)),"string"==typeof y?(n.splice.apply(n,[a,1].concat(m)),a+=m.length-1):y.content=m)):(g=y.content,Array.isArray(g)?t(g):t([g]))}}(l),new e.Token(i,l,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(n){for(var r=0,o=n.length;r<o;r++){var a,i,s,c=n[r];"string"!=typeof c&&(a=c.content,Array.isArray(a)?"template-string"===c.type?(c=a[1],3===a.length&&"string"!=typeof c&&"embedded-code"===c.type&&(i=u(c),c=c.alias,c=Array.isArray(c)?c[0]:c,s=e.languages[c])&&(a[1]=l(i,s,c))):t(a):"string"!=typeof a&&t([a]))}}(t.tokens)}))}(w),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(w),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(w),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(w),w.languages.n4js=w.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),w.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),w.languages.n4jsd=w.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var o=n[r],a=e.languages.javascript[o];o=(a="RegExp"===e.util.type(a)?e.languages.javascript[o]={pattern:a}:a).inside||{};(a.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(w),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function a(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return o})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var o=t[r],a=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===s(o.content[0].content[1])&&n.pop():"/>"!==o.content[o.content.length-1].content&&n.push({tagName:s(o.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&0<n.length&&0===n[n.length-1].openedBraces&&(a=s(o),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(a+=s(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(a=s(t[r-1])+a,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",a,null,a)),o.content&&"string"!=typeof o.content&&i(o.content)}}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(w),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(w),w.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},w.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=w.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(w),w.languages.c=w.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),w.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),w.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},w.languages.c.string],char:w.languages.c.char,comment:w.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:w.languages.c}}}}),w.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete w.languages.c.boolean,w.languages.objectivec=w.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete w.languages.objectivec["class-name"],w.languages.objc=w.languages.objectivec,w.languages.reason=w.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),w.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete w.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(w),w.languages.go=w.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),w.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete w.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(w),w.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},w.languages.python["string-interpolation"].inside.interpolation.inside.rest=w.languages.python,w.languages.py=w.languages.python,w.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},w.languages.webmanifest=w.languages.json;((e,t)=>{for(var n in t)l(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>S,duotoneDark:()=>_,duotoneLight:()=>k,github:()=>E,gruvboxMaterialDark:()=>U,gruvboxMaterialLight:()=>$,jettwaveDark:()=>F,jettwaveLight:()=>q,nightOwl:()=>P,nightOwlLight:()=>O,oceanicNext:()=>T,okaidia:()=>A,oneDark:()=>B,oneLight:()=>z,palenight:()=>I,shadesOfPurple:()=>N,synthwave84:()=>D,ultramin:()=>R,vsDark:()=>L,vsLight:()=>M});var S={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},_={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},k={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},E={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},P={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},O={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},C="#c5a5c5",j="#8dc891",T={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:C}},{types:["attr-value"],style:{color:j}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:j}},{types:["punctuation"],style:{color:j}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:C}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},A={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},I={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},N={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},D={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},R={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},L={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},M={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},F={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},q={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},B={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},z={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},U={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},$={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},H=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:o}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=b(b({},e[t]),o);e[t]=n})),e}),{});return r.root=n,r.plain=v(b({},n),{backgroundColor:void 0}),r},V=/\r\n|\r|\n/,W=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},K=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},G=e=>{const t=[[]],n=[e],r=[0],o=[e.length];let a=0,i=0,s=[];const l=[s];for(;i>-1;){for(;(a=r[i]++)<o[i];){let e,c=t[i];const u=n[i][a];if("string"==typeof u?(c=i>0?c:["plain"],e=u):(c=K(c,u.type),u.alias&&(c=K(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),o.push(e.length);continue}const d=e.split(V),f=d.length;s.push({types:c,content:d[0]});for(let t=1;t<f;t++)W(s),l.push(s=[]),s.push({types:c,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),o.pop()}return W(s),l},Q=({children:e,language:t,code:n,theme:r,prism:o})=>{const s=t.toLowerCase(),l=((e,t)=>{const[n,r]=(0,a.useState)(H(t,e)),o=(0,a.useRef)(),i=(0,a.useRef)();return(0,a.useEffect)((()=>{t===o.current&&e===i.current||(o.current=t,i.current=e,r(H(t,e)))}),[e,t]),n})(s,r),c=(e=>(0,a.useCallback)((t=>{var n=t,{className:r,style:o,line:a}=n,s=x(n,["className","style","line"]);const l=v(b({},s),{className:(0,i.A)("token-line",r)});return"object"==typeof e&&"plain"in e&&(l.style=e.plain),"object"==typeof o&&(l.style=b(b({},l.style||{}),o)),l}),[e]))(l),u=(e=>{const t=(0,a.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,a.useCallback)((e=>{var n=e,{token:r,className:o,style:a}=n,s=x(n,["token","className","style"]);const l=v(b({},s),{className:(0,i.A)("token",...r.types,o),children:r.content,style:t(r)});return null!=a&&(l.style=b(b({},l.style||{}),a)),l}),[t])})(l),d=(({prism:e,code:t,grammar:n,language:r})=>{const o=(0,a.useRef)(e);return(0,a.useMemo)((()=>{if(null==n)return G([t]);const e={code:t,grammar:n,language:r,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,n),o.current.hooks.run("after-tokenize",e),G(e.tokens)}),[t,n,r])})({prism:o,language:s,code:n,grammar:o.languages[s]});return e({tokens:d,className:`prism-code language-${s}`,style:null!=l?l.root:{},getLineProps:c,getTokenProps:u})},Y=e=>(0,a.createElement)(Q,v(b({},e),{prism:e.prism||w,theme:e.theme||L,code:e.code,language:e.language}))},11561:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=!0,o="Invariant failed";function a(e,t){if(!e){if(r)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},31635:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>R,__assign:()=>a,__asyncDelegator:()=>E,__asyncGenerator:()=>k,__asyncValues:()=>P,__await:()=>_,__awaiter:()=>m,__classPrivateFieldGet:()=>I,__classPrivateFieldIn:()=>D,__classPrivateFieldSet:()=>N,__createBinding:()=>g,__decorate:()=>s,__disposeResources:()=>M,__esDecorate:()=>c,__exportStar:()=>y,__extends:()=>o,__generator:()=>h,__importDefault:()=>A,__importStar:()=>T,__makeTemplateObject:()=>O,__metadata:()=>p,__param:()=>l,__propKey:()=>d,__read:()=>v,__rest:()=>i,__rewriteRelativeImportExtension:()=>F,__runInitializers:()=>u,__setFunctionName:()=>f,__spread:()=>x,__spreadArray:()=>S,__spreadArrays:()=>w,__values:()=>b,default:()=>q});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function i(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function s(e,t,n,r){var o,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,n,i):o(t,n))||i);return a>3&&i&&Object.defineProperty(t,n,i),i}function l(e,t){return function(n,r){t(n,r,e)}}function c(e,t,n,r,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]="access"===h?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var g=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[c],m);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(s=i(g.get))&&(d.get=s),(s=i(g.set))&&(d.set=s),(s=i(g.init))&&o.unshift(s)}else(s=i(g))&&("field"===l?o.unshift(s):d[c]=s)}u&&Object.defineProperty(u,r.name,d),f=!0}function u(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}l((r=r.apply(e,t||[])).next())}))}function h(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(l){s=[6,l],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}var g=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function y(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||g(t,e,n)}function b(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function x(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function w(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var a=arguments[t],i=0,s=a.length;i<s;i++,o++)r[o]=a[i];return r}function S(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function _(e){return this instanceof _?(this.v=e,this):new _(e)}function k(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),i("next"),i("throw"),i("return",(function(e){return function(t){return Promise.resolve(t).then(e,c)}})),r[Symbol.asyncIterator]=function(){return this},r;function i(e,t){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||s(e,t)}))},t&&(r[e]=t(r[e])))}function s(e,t){try{(n=o[e](t)).value instanceof _?Promise.resolve(n.value.v).then(l,c):u(a[0][2],n)}catch(r){u(a[0][3],r)}var n}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function E(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:_(e[r](t)),done:!1}:o?o(t):t}:o}}function P(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=b(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function O(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var C=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},j=function(e){return j=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},j(e)};function T(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=j(e),r=0;r<n.length;r++)"default"!==n[r]&&g(t,e,n[r]);return C(t,e),t}function A(e){return e&&e.__esModule?e:{default:e}}function I(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function N(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function D(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function R(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if("function"!=typeof r)throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var L="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function M(e){function t(t){e.error=e.hasError?new L(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var n,r=0;return function o(){for(;n=e.stack.pop();)try{if(!n.async&&1===r)return r=0,e.stack.push(n),Promise.resolve().then(o);if(n.dispose){var a=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(a).then(o,(function(e){return t(e),o()}))}else r|=1}catch(i){t(i)}if(1===r)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function F(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,(function(e,n,r,o,a){return n?t?".jsx":".js":!r||o&&a?r+o+"."+a.toLowerCase()+"js":e})):e}const q={__extends:o,__assign:a,__rest:i,__decorate:s,__param:l,__esDecorate:c,__runInitializers:u,__propKey:d,__setFunctionName:f,__metadata:p,__awaiter:m,__generator:h,__createBinding:g,__exportStar:y,__values:b,__read:v,__spread:x,__spreadArrays:w,__spreadArray:S,__await:_,__asyncGenerator:k,__asyncDelegator:E,__asyncValues:P,__makeTemplateObject:O,__importStar:T,__importDefault:A,__classPrivateFieldGet:I,__classPrivateFieldSet:N,__classPrivateFieldIn:D,__addDisposableResource:R,__disposeResources:M,__rewriteRelativeImportExtension:F}},22654:e=>{"use strict";e.exports={}},84054:e=>{"use strict";e.exports=JSON.parse('{"/fhir-dosage-utils/blog-a4a":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d026f85a"},{"content":"f71da0e1"}],"__props":"3a473b0c"},"/fhir-dosage-utils/blog/archive-a40":{"__comp":"9e4087bc","__context":{"plugin":"36994c47"},"__props":"12ab42f9"},"/fhir-dosage-utils/blog/authors-6c6":{"__comp":"621db11d","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","__props":"b31f2dc3"},"/fhir-dosage-utils/blog/empowerment-91f":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"e3948197"},"/fhir-dosage-utils/blog/tags-22d":{"__comp":"01a85c17","__context":{"plugin":"36994c47"},"sidebar":"814f3328","__props":"17a84f1e"},"/fhir-dosage-utils/blog/tags/features-b47":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d026f85a"}],"__props":"7d7affb4"},"/fhir-dosage-utils/blog/tags/welcome-f7c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"f71da0e1"}],"__props":"216e008c"},"/fhir-dosage-utils/blog/welcome-161":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"aa8d6d0b"},"/fhir-dosage-utils/examples/timing-ba5":{"__comp":"d5205798","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/fhir-dosage-utils/playground-b6a":{"__comp":"8926b418","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/fhir-dosage-utils/search-cd6":{"__comp":"1a4e3797","__context":{"plugin":"c141421f"}},"/fhir-dosage-utils/api-0c0":{"__comp":"5e95c892","__context":{"plugin":"6e719b2a"}},"/fhir-dosage-utils/api-f04":{"__comp":"a7bd4aaa","version":"933cb006"},"/fhir-dosage-utils/api-39e":{"__comp":"04baef29","options":"667c56e4","packages":"1cae87f6"},"/fhir-dosage-utils/api-995":{"__comp":"c578995c"},"/fhir-dosage-utils/api/class/FhirDosageUtils-861":{"__comp":"c578995c"},"/fhir-dosage-utils/api/enum/DisplayOrderEnum-958":{"__comp":"c578995c"},"/fhir-dosage-utils/api/interface/Config-7fe":{"__comp":"c578995c"},"/fhir-dosage-utils/docs-08c":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/fhir-dosage-utils/docs-fe5":{"__comp":"a7bd4aaa","__props":"80244a0d"},"/fhir-dosage-utils/docs-405":{"__comp":"a94703ab"},"/fhir-dosage-utils/docs/category/-additionalinstruction-ed8":{"__comp":"14eb3368","__props":"d276600f"},"/fhir-dosage-utils/docs/category/-asneeded-610":{"__comp":"14eb3368","__props":"38ecc968"},"/fhir-dosage-utils/docs/category/\ufe0f-boundsduration-e3e":{"__comp":"14eb3368","__props":"a59be22a"},"/fhir-dosage-utils/docs/category/-boundsperiod-56b":{"__comp":"14eb3368","__props":"15cc94e8"},"/fhir-dosage-utils/docs/category/-boundsrange-89a":{"__comp":"14eb3368","__props":"2b2f836d"},"/fhir-dosage-utils/docs/category/-code-0d5":{"__comp":"14eb3368","__props":"2eb73d32"},"/fhir-dosage-utils/docs/category/-count--countmax-015":{"__comp":"14eb3368","__props":"24450963"},"/fhir-dosage-utils/docs/category/-dayofweek-ca3":{"__comp":"14eb3368","__props":"1c404b1f"},"/fhir-dosage-utils/docs/category/-dosequantity-a06":{"__comp":"14eb3368","__props":"52aaae7a"},"/fhir-dosage-utils/docs/category/-doserange-019":{"__comp":"14eb3368","__props":"16440cc3"},"/fhir-dosage-utils/docs/category/-durationdurationmax-053":{"__comp":"14eb3368","__props":"c14d5b58"},"/fhir-dosage-utils/docs/category/-event-989":{"__comp":"14eb3368","__props":"e5b958e6"},"/fhir-dosage-utils/docs/category/-frequencyfrequencymax-271":{"__comp":"14eb3368","__props":"c5215184"},"/fhir-dosage-utils/docs/category/-maxdoseperadministration-a50":{"__comp":"14eb3368","__props":"ba8b53a7"},"/fhir-dosage-utils/docs/category/-maxdoseperlifetime-17d":{"__comp":"14eb3368","__props":"0ba7d2cf"},"/fhir-dosage-utils/docs/category/-maxdoseperperiod-94d":{"__comp":"14eb3368","__props":"ead5521e"},"/fhir-dosage-utils/docs/category/\ufe0f-method-848":{"__comp":"14eb3368","__props":"de252642"},"/fhir-dosage-utils/docs/category/-offset-555":{"__comp":"14eb3368","__props":"da10aa23"},"/fhir-dosage-utils/docs/category/-offset-when-044":{"__comp":"14eb3368","__props":"5876b580"},"/fhir-dosage-utils/docs/category/-patientinstruction-dd2":{"__comp":"14eb3368","__props":"07d383a6"},"/fhir-dosage-utils/docs/category/\ufe0f-periodperiodmax-ab9":{"__comp":"14eb3368","__props":"4cfebedc"},"/fhir-dosage-utils/docs/category/\ufe0f-ratequantity-ee4":{"__comp":"14eb3368","__props":"1ee75028"},"/fhir-dosage-utils/docs/category/\ufe0f-raterange-c5a":{"__comp":"14eb3368","__props":"120b932c"},"/fhir-dosage-utils/docs/category/-rateratio-0d2":{"__comp":"14eb3368","__props":"8da63d19"},"/fhir-dosage-utils/docs/category/\ufe0f-route-f6c":{"__comp":"14eb3368","__props":"ceabf9db"},"/fhir-dosage-utils/docs/category/\ufe0f-sequence-98f":{"__comp":"14eb3368","__props":"27992ad9"},"/fhir-dosage-utils/docs/category/-site-91a":{"__comp":"14eb3368","__props":"3a796946"},"/fhir-dosage-utils/docs/category/-text-fcf":{"__comp":"14eb3368","__props":"77255a7d"},"/fhir-dosage-utils/docs/category/-timeofday-4dd":{"__comp":"14eb3368","__props":"360ae7c2"},"/fhir-dosage-utils/docs/category/-when-fde":{"__comp":"14eb3368","__props":"2c5679ac"},"/fhir-dosage-utils/docs/contributing-b12":{"__comp":"17896441","content":"72a427b3"},"/fhir-dosage-utils/docs/custom/dateTimeFormatOptions-c67":{"__comp":"17896441","content":"c9387e11"},"/fhir-dosage-utils/docs/custom/displayOrder-9b2":{"__comp":"17896441","content":"78f84b63"},"/fhir-dosage-utils/docs/custom/displaySeparator-a31":{"__comp":"17896441","content":"a5e5ec5a"},"/fhir-dosage-utils/docs/custom/fromCodeableConceptToString-bc5":{"__comp":"17896441","content":"533a8e17"},"/fhir-dosage-utils/docs/custom/fromExtensionsToString-642":{"__comp":"17896441","content":"cd12752c"},"/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString-1bc":{"__comp":"17896441","content":"430bd102"},"/fhir-dosage-utils/docs/custom/i18nConfig-ffd":{"__comp":"17896441","content":"026611d2"},"/fhir-dosage-utils/docs/demo-910":{"__comp":"14eb3368","__props":"1ce962e7"},"/fhir-dosage-utils/docs/demo/custom-4d9":{"__comp":"14eb3368","__props":"5094a8b8"},"/fhir-dosage-utils/docs/demo/examples-6e9":{"__comp":"14eb3368","__props":"7d1d5983"},"/fhir-dosage-utils/docs/demo/examples/medicationrequest-3b2":{"__comp":"14eb3368","__props":"b070991f"},"/fhir-dosage-utils/docs/demo/specs-010":{"__comp":"14eb3368","__props":"1e6a5414"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx002-d27":{"__comp":"17896441","content":"d9a0709a"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx003-1b8":{"__comp":"17896441","content":"fdba5499"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx004-669":{"__comp":"17896441","content":"ef54304a"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301-04c":{"__comp":"17896441","content":"36cdde70"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302-8ac":{"__comp":"17896441","content":"4faaf014"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303-b5f":{"__comp":"17896441","content":"9caecde7"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305-bdf":{"__comp":"17896441","content":"4628893b"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307-1d9":{"__comp":"17896441","content":"4e847481"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308-1f6":{"__comp":"17896441","content":"20a65861"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310-6df":{"__comp":"17896441","content":"3766ff12"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313-489":{"__comp":"17896441","content":"6a4d8b82"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314-d90":{"__comp":"17896441","content":"01aca802"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315-a53":{"__comp":"17896441","content":"c0086ef4"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317-947":{"__comp":"17896441","content":"21119077"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319-bd1":{"__comp":"17896441","content":"265a61ea"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321-45f":{"__comp":"17896441","content":"201e0385"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331-699":{"__comp":"17896441","content":"4eb59f15"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339-a53":{"__comp":"17896441","content":"ebb1249f"},"/fhir-dosage-utils/docs/faq-f8e":{"__comp":"17896441","content":"ea313555"},"/fhir-dosage-utils/docs/next-steps-9f1":{"__comp":"17896441","content":"ec99730f"},"/fhir-dosage-utils/docs/quick-start-8b9":{"__comp":"17896441","content":"c179f821"},"/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items-5ac":{"__comp":"17896441","content":"17baba0b"},"/fhir-dosage-utils/docs/specs/additionalInstruction/single_item-29a":{"__comp":"17896441","content":"12564d99"},"/fhir-dosage-utils/docs/specs/asNeeded-791":{"__comp":"17896441","content":"5c2c208f"},"/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean-65e":{"__comp":"17896441","content":"55373fd9"},"/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept-f3d":{"__comp":"17896441","content":"118e00e5"},"/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor-4e1":{"__comp":"17896441","content":"3903b0d4"},"/fhir-dosage-utils/docs/specs/boundsDuration-f80":{"__comp":"17896441","content":"f7adbe59"},"/fhir-dosage-utils/docs/specs/boundsPeriod/end_only-be9":{"__comp":"17896441","content":"1668a7c3"},"/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end-f20":{"__comp":"17896441","content":"254404d2"},"/fhir-dosage-utils/docs/specs/boundsPeriod/start_only-39f":{"__comp":"17896441","content":"40c0f713"},"/fhir-dosage-utils/docs/specs/boundsRange/high_only-33e":{"__comp":"17896441","content":"162bd28d"},"/fhir-dosage-utils/docs/specs/boundsRange/low_and_high-ce2":{"__comp":"17896441","content":"2c4b321a"},"/fhir-dosage-utils/docs/specs/boundsRange/low_only-146":{"__comp":"17896441","content":"04716c54"},"/fhir-dosage-utils/docs/specs/code-a8d":{"__comp":"17896441","content":"883bfc27"},"/fhir-dosage-utils/docs/specs/countCountMax/count-c3a":{"__comp":"17896441","content":"2a331aeb"},"/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax-14d":{"__comp":"17896441","content":"38ae24f3"},"/fhir-dosage-utils/docs/specs/countCountMax/countMax_only-3e0":{"__comp":"17896441","content":"829c17da"},"/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items-4cb":{"__comp":"17896441","content":"49044b90"},"/fhir-dosage-utils/docs/specs/dayOfWeek/single_item-a56":{"__comp":"17896441","content":"915d2175"},"/fhir-dosage-utils/docs/specs/doseQuantity-33c":{"__comp":"17896441","content":"7ebf62b0"},"/fhir-dosage-utils/docs/specs/doseRange/high_only-4d9":{"__comp":"17896441","content":"e8ce008f"},"/fhir-dosage-utils/docs/specs/doseRange/low_and_high-f54":{"__comp":"17896441","content":"96e7b265"},"/fhir-dosage-utils/docs/specs/doseRange/low_only-83d":{"__comp":"17896441","content":"b30e43e1"},"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax-91c":{"__comp":"17896441","content":"460a5c5b"},"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only-bf3":{"__comp":"17896441","content":"6bccb6a0"},"/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only-9e7":{"__comp":"17896441","content":"87294416"},"/fhir-dosage-utils/docs/specs/event/multiple_items-9ef":{"__comp":"17896441","content":"ece64983"},"/fhir-dosage-utils/docs/specs/event/single_item-bc5":{"__comp":"17896441","content":"bc0994c2"},"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax-adf":{"__comp":"17896441","content":"97031957"},"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only-896":{"__comp":"17896441","content":"774b774e"},"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only-042":{"__comp":"17896441","content":"133d1207"},"/fhir-dosage-utils/docs/specs/maxDosePerAdministration-632":{"__comp":"17896441","content":"06a006fb"},"/fhir-dosage-utils/docs/specs/maxDosePerLifetime-87b":{"__comp":"17896441","content":"7614ce18"},"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4-771":{"__comp":"17896441","content":"afe92c27"},"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5-78e":{"__comp":"17896441","content":"3fb26655"},"/fhir-dosage-utils/docs/specs/method-d42":{"__comp":"17896441","content":"3216d4c8"},"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days-608":{"__comp":"17896441","content":"20b5be5c"},"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours-c01":{"__comp":"17896441","content":"0530b1c5"},"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes-ca6":{"__comp":"17896441","content":"fa572d46"},"/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset-35f":{"__comp":"17896441","content":"1f927e7e"},"/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items-4bc":{"__comp":"17896441","content":"1c1d0071"},"/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item-948":{"__comp":"17896441","content":"d0a7fa20"},"/fhir-dosage-utils/docs/specs/patientInstruction-628":{"__comp":"17896441","content":"aa77b6a8"},"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax-f06":{"__comp":"17896441","content":"ab10b176"},"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only-2ef":{"__comp":"17896441","content":"139f9fbc"},"/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only-b27":{"__comp":"17896441","content":"e9832d3c"},"/fhir-dosage-utils/docs/specs/rateQuantity-2bf":{"__comp":"17896441","content":"ad90b1c0"},"/fhir-dosage-utils/docs/specs/rateRange/high_only-5cf":{"__comp":"17896441","content":"03620de3"},"/fhir-dosage-utils/docs/specs/rateRange/low_and_high-bea":{"__comp":"17896441","content":"3f237283"},"/fhir-dosage-utils/docs/specs/rateRange/low_only-1a9":{"__comp":"17896441","content":"b52bbddc"},"/fhir-dosage-utils/docs/specs/rateRatio-36d":{"__comp":"17896441","content":"ee929032"},"/fhir-dosage-utils/docs/specs/route-dfa":{"__comp":"17896441","content":"5f46c019"},"/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions-199":{"__comp":"17896441","content":"3d23bc21"},"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1-ccb":{"__comp":"17896441","content":"76aa043d"},"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2-62c":{"__comp":"17896441","content":"4cbe19c8"},"/fhir-dosage-utils/docs/specs/site-c05":{"__comp":"17896441","content":"1cd656ab"},"/fhir-dosage-utils/docs/specs/text-abb":{"__comp":"17896441","content":"c36217b7"},"/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items-d87":{"__comp":"17896441","content":"f58af7d8"},"/fhir-dosage-utils/docs/specs/timeOfDay/single_item-65e":{"__comp":"17896441","content":"124c4f9d"},"/fhir-dosage-utils/-a2b":{"__comp":"1df93b7f","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[1869],(()=>{return t=38536,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.c1741311.js.LICENSE.txt b/assets/js/main.40e9d5e3.js.LICENSE.txt similarity index 100% rename from assets/js/main.c1741311.js.LICENSE.txt rename to assets/js/main.40e9d5e3.js.LICENSE.txt diff --git a/assets/js/main.c1741311.js b/assets/js/main.c1741311.js deleted file mode 100644 index 7d38a23b..00000000 --- a/assets/js/main.c1741311.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.c1741311.js.LICENSE.txt */ -(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8792],{55600:(e,t,n)=>{"use strict";n.d(t,{Bc:()=>C,E8:()=>Zn,a1:()=>Yn});var r=n(96540);n(40961);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t,n,r,o,a,i){try{var s=e[a](i),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function i(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function s(e){a(i,r,o,s,l,"next",e)}function l(e){a(i,r,o,s,l,"throw",e)}s(void 0)}))}}function s(e,t,n){return t=f(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,m()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(null,arguments)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(m=function(){return!!e})()}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function y(){y=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var a=t&&t.prototype instanceof b?t:b,i=Object.create(a.prototype),s=new A(r||[]);return o(i,"_invoke",{value:O(e,n,s)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var f="suspendedStart",p="suspendedYield",m="executing",h="completed",g={};function b(){}function v(){}function x(){}var w={};c(w,i,(function(){return this}));var S=Object.getPrototypeOf,_=S&&S(S(I([])));_&&_!==n&&r.call(_,i)&&(w=_);var k=x.prototype=b.prototype=Object.create(w);function E(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function P(e,t){function n(o,a,i,s){var l=d(e[o],e,a);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==typeof u&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,i,s)}),(function(e){n("throw",e,i,s)})):t.resolve(u).then((function(e){c.value=e,i(c)}),(function(e){return n("throw",e,i,s)}))}s(l.arg)}var a;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return a=a?a.then(o,o):o()}})}function O(t,n,r){var o=f;return function(a,i){if(o===m)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(r.method=a,r.arg=i;;){var s=r.delegate;if(s){var l=C(s,r);if(l){if(l===g)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===f)throw o=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=m;var c=d(t,n,r);if("normal"===c.type){if(o=r.done?h:p,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(o=h,r.method="throw",r.arg=c.arg)}}}function C(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var a=d(o,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,g;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(j,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=x,o(k,"constructor",{value:x,configurable:!0}),o(x,"constructor",{value:v,configurable:!0}),v.displayName=c(x,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,x):(e.__proto__=x,c(e,l,"GeneratorFunction")),e.prototype=Object.create(k),e},t.awrap=function(e){return{__await:e}},E(P.prototype),c(P.prototype,s,(function(){return this})),t.AsyncIterator=P,t.async=function(e,n,r,o,a){void 0===a&&(a=Promise);var i=new P(u(e,n,r,o),a);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(k),c(k,l,"Generator"),c(k,i,(function(){return this})),c(k,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return s.type="throw",s.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,g):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;T(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||S(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function _(e){var t="function"==typeof Map?new Map:void 0;return _=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(m())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var o=new(e.bind.apply(e,r));return n&&v(o,n.prototype),o}(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,e)},_(e)}function k(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function E(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20","aria-hidden":"true"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var P=["translations"],O="Ctrl",C=r.forwardRef((function(e,t){var n=e.translations,o=void 0===n?{}:n,a=b(e,P),i=o.buttonText,s=void 0===i?"Search":i,l=o.buttonAriaLabel,c=void 0===l?"Search":l,u=x((0,r.useState)(null),2),f=u[0],p=u[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p(O))}),[]),r.createElement("button",d({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},a,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(E,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},s)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==f&&r.createElement(r.Fragment,null,r.createElement(j,{reactsToKey:f===O?O:"Meta"},f===O?r.createElement(k,null):f),r.createElement(j,{reactsToKey:"k"},"K"))))}));function j(e){var t=e.reactsToKey,n=e.children,o=x((0,r.useState)(!1),2),a=o[0],i=o[1];return(0,r.useEffect)((function(){if(t)return window.addEventListener("keydown",e),window.addEventListener("keyup",n),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",n)};function e(e){e.key===t&&i(!0)}function n(e){e.key!==t&&"Meta"!==e.key||i(!1)}}),[t]),r.createElement("kbd",{className:a?"DocSearch-Button-Key DocSearch-Button-Key--pressed":"DocSearch-Button-Key"},n)}function T(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,o)}),t)}}function A(e){return e.reduce((function(e,t){return e.concat(t)}),[])}var I=0;function N(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}function D(e){return e!==Object(e)}function R(e,t){if(e===t)return!0;if(D(e)||D(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var o=r[n];if(!(o in t))return!1;if(!R(e[o],t[o]))return!1}return!0}var L=function(){},M=[{segment:"autocomplete-core",version:"1.17.6"}];function F(e){var t=e.item,n=e.items,r=void 0===n?[]:n;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var B=["items"],z=["items"];function U(e){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},U(e)}function $(e){return function(e){if(Array.isArray(e))return H(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function V(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach((function(t){G(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function G(e,t,n){return(t=function(e){var t=function(e){if("object"!==U(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==U(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===U(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q(e){return e.map((function(e){var t=e.items,n=V(e,B);return K(K({},n),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||n.objectIDs})}))}function Y(e){var t,n,r,o=(t=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t);else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?q(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((e.version||"").split(".").map(Number),2),n=t[0],r=t[1],n>=3||2===n&&r>=4||1===n&&r>=10);function a(t,n,r){if(o&&void 0!==r){var a=r[0].__autocomplete_algoliaCredentials,i={"X-Algolia-Application-Id":a.appId,"X-Algolia-API-Key":a.apiKey};e.apply(void 0,[t].concat($(n),[{headers:i}]))}else e.apply(void 0,[t].concat($(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setAuthenticatedUserToken:function(t){e("setAuthenticatedUserToken",t)},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&a("clickedObjectIDsAfterSearch",Q(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&a("clickedObjectIDs",Q(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&a("convertedObjectIDsAfterSearch",Q(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&a("convertedObjectIDs",Q(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&t.reduce((function(e,t){var n=t.items,r=V(t,z);return[].concat($(e),$(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r<e.objectIDs.length;r+=t)n.push(K(K({},e),{},{objectIDs:e.objectIDs.slice(r,r+t)}));return n}(K(K({},r),{},{objectIDs:(null==n?void 0:n.map((function(e){return e.objectID})))||r.objectIDs})).map((function(e){return{items:n,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return a("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function Z(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function X(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function J(e){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},J(e)}function ee(e){return function(e){if(Array.isArray(e))return te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?te(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){oe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function oe(e,t,n){return(t=function(e){var t=function(e){if("object"!==J(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==J(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===J(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ae="2.15.0",ie="https://cdn.jsdelivr.net/npm/search-insights@".concat(ae,"/dist/search-insights.min.js"),se=T((function(e){var t=e.onItemsChange,n=e.items,r=e.insights,o=e.state;t({insights:r,insightsEvents:Z({items:n}).map((function(e){return re({eventName:"Items Viewed"},e)})),state:o})}),400);function le(e){var t=function(e){return re({onItemsChange:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.viewedObjectIDs.apply(t,ee(n.map((function(e){return re(re({},e),{},{algoliaSource:ce(e.algoliaSource,r.context)})}))))},onSelect:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.clickedObjectIDsAfterSearch.apply(t,ee(n.map((function(e){return re(re({},e),{},{algoliaSource:ce(e.algoliaSource,r.context)})}))))},onActive:L,__autocomplete_clickAnalytics:!0},e)}(e),n=t.insightsClient,r=t.insightsInitParams,o=t.onItemsChange,a=t.onSelect,i=t.onActive,s=t.__autocomplete_clickAnalytics,l=n;if(n||"undefined"!=typeof window&&function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(l=t[n]),l||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];t[n].queue.push(r)}),t[n].version=ae,l=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=ie,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(e){console.error(t)}}(t))}({window:window}),!l)return{};r&&l("init",re({partial:!0},r));var c=Y(l),u={current:[]},d=T((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(ee(e),ee(t.items))}),[]).filter(X);R(u.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(u.current=n,n.length>0&&se({onItemsChange:o,items:n,insights:c,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive,o=!1;function u(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:re(re({},s?{clickAnalytics:!0}:{}),e?{userToken:ue(e)}:{}),insights:c}})}l("addAlgoliaAgent","insights-plugin"),u(),l("onUserTokenChange",(function(e){o||u(e)})),l("getUserToken",null,(function(e,t){o||u(t)})),l("onAuthenticatedUserTokenChange",(function(e){e?(o=!0,u(e)):(o=!1,l("getUserToken",null,(function(e,t){return u(t)})))})),l("getAuthenticatedUserToken",null,(function(e,t){t&&(o=!0,u(t))})),n((function(e){var t=e.item,n=e.state,r=e.event,o=e.source;X(t)&&a({state:n,event:r,insights:c,item:t,insightsEvents:[re({eventName:"Item Selected"},F({item:t,items:o.getItems().filter(X)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,o=e.event;X(t)&&i({state:r,event:o,insights:c,item:t,insightsEvents:[re({eventName:"Item Active"},F({item:t,items:n.getItems().filter(X)}))]})}))},onStateChange:function(e){var t=e.state;d({state:t})},__autocomplete_pluginOptions:e}}function ce(){var e,t=arguments.length>1?arguments[1]:void 0;return[].concat(ee(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),["autocomplete-internal"],ee(null!==(e=t.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function ue(e){return"number"==typeof e?e.toString():e}function de(e,t){var n=t;return{then:function(t,r){return de(e.then(pe(t,n,e),pe(r,n,e)),n)},catch:function(t){return de(e.catch(pe(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),de(e.finally(pe(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function fe(e){return de(e,{isCanceled:!1,onCancelList:[]})}function pe(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function me(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function he(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ge(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?he(Object(n),!0).forEach((function(t){be(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):he(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function be(e,t,n){return(t=function(e){var t=function(e){if("object"!==ye(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ye(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e){return ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ye(e)}function ve(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,a=0;!1===r;){var i=t.collections[o];if(i===n){r=!0;break}a+=i.items.length,o++}return t.activeItemId-a}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function xe(e,t,n){return[e,null==n?void 0:n.sourceId,t].filter(Boolean).join("-").replace(/\s/g,"")}var we=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function Se(e){return e.nativeEvent||e}function _e(e){return _e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_e(e)}function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ee(e,t,n){return(t=function(e){var t=function(e){if("object"!==_e(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==_e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===_e(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pe(e){return Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe(e)}function Oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ce(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Oe(Object(n),!0).forEach((function(t){je(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Oe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function je(e,t,n){return(t=function(e){var t=function(e){if("object"!==Pe(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Pe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Pe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Te(e){return Te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Te(e)}function Ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(n),!0).forEach((function(t){De(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ie(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function De(e,t,n){return(t=function(e){var t=function(e){if("object"!==Te(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Te(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Te(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Re(e,t){var n,r="undefined"!=typeof window?window:{},o=e.plugins||[];return Ne(Ne({debug:!1,openOnFocus:!1,enterKeyHint:void 0,ignoreCompositionEvents:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:void 0,environment:r,shouldPanelOpen:function(e){return N(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:"autocomplete-".concat(I++),plugins:o,initialState:Ne({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(function(e){return function(e){if(Array.isArray(e))return Ae(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Ae(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ae(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:L,onResolve:L};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=ge(ge({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return A(e)})).then((function(e){return e.map((function(e){return Ne(Ne({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:Ne({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function Le(e){return Le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Le(e)}function Me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Me(Object(n),!0).forEach((function(t){qe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function qe(e,t,n){return(t=function(e){var t=function(e){if("object"!==Le(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Le(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Le(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Be(e){return Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be(e)}function ze(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ue(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(n),!0).forEach((function(t){$e(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ze(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $e(e,t,n){return(t=function(e){var t=function(e){if("object"!==Be(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Be(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Be(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function He(e){return function(e){if(Array.isArray(e))return Ve(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ve(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function We(e){return Boolean(e.execute)}function Ke(e){var t=e.reduce((function(e,t){if(!We(t))return e.push(t),e;var n=t.searchClient,r=t.execute,o=t.requesterId,a=t.requests,i=e.find((function(e){return We(t)&&We(e)&&e.searchClient===n&&Boolean(o)&&e.requesterId===o}));if(i){var s;(s=i.items).push.apply(s,He(a))}else{var l={execute:r,requesterId:o,items:a,searchClient:n};e.push(l)}return e}),[]).map((function(e){if(!We(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})}));return Promise.all(t).then((function(e){return A(e)}))}function Ge(e){return Ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ge(e)}var Qe=["event","nextState","props","query","refresh","store"];function Ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ze(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ye(Object(n),!0).forEach((function(t){Xe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ye(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xe(e,t,n){return(t=function(e){var t=function(e){if("object"!==Ge(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Ge(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ge(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Je,et,tt,nt=null,rt=(Je=-1,et=-1,tt=void 0,function(e){var t=++Je;return Promise.resolve(e).then((function(e){return tt&&t<et?tt:(et=t,tt=e,e)}))});function ot(e){var t=e.event,n=e.nextState,r=void 0===n?{}:n,o=e.props,a=e.query,i=e.refresh,s=e.store,l=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,Qe);nt&&o.environment.clearTimeout(nt);var c=l.setCollections,u=l.setIsOpen,d=l.setQuery,f=l.setActiveItemId,p=l.setStatus,m=l.setContext;if(d(a),f(o.defaultActiveItemId),!a&&!1===o.openOnFocus){var h,g=s.getState().collections.map((function(e){return Ze(Ze({},e),{},{items:[]})}));p("idle"),c(g),u(null!==(h=r.isOpen)&&void 0!==h?h:o.shouldPanelOpen({state:s.getState()}));var b=fe(rt(g).then((function(){return Promise.resolve()})));return s.pendingRequests.add(b)}p("loading"),nt=o.environment.setTimeout((function(){p("stalled")}),o.stallThreshold);var y=fe(rt(o.getSources(Ze({query:a,refresh:i,state:s.getState()},l)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(Ze({query:a,refresh:i,state:s.getState()},l))).then((function(t){return function(e,t,n){if(o=e,Boolean(null==o?void 0:o.execute)){var r="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(He(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return Ue(Ue({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?Ue(Ue({},n),{},{params:Ue(Ue({},r),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}(t,e.sourceId,s.getState())}))}))).then(Ke).then((function(t){var n,r=t.some((function(e){return function(e){return!Array.isArray(e)&&Boolean(null==e?void 0:e._automaticInsights)}(e.items)}));return r&&m({algoliaInsightsPlugin:Ze(Ze({},(null===(n=s.getState().context)||void 0===n?void 0:n.algoliaInsightsPlugin)||{}),{},{__automaticInsights:r})}),function(e,t,n){return t.map((function(t){var r,o=e.filter((function(e){return e.sourceId===t.sourceId})),a=o.map((function(e){return e.items})),i=o[0].transformResponse,s=i?i({results:r=a,hits:r.map((function(e){return e.hits})).filter(Boolean),facetHits:r.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):a;return t.onResolve({source:t,results:a,items:s,state:n.getState()}),s.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:s}}))}(t,e,s)})).then((function(e){return function(e){var t=e.props,n=e.state,r=e.collections.reduce((function(e,t){return Fe(Fe({},e),{},qe({},t.source.sourceId,Fe(Fe({},t.source),{},{getItems:function(){return A(t.items)}})))}),{}),o=t.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:r,state:n}).sourcesBySourceId;return A(t.reshape({sourcesBySourceId:o,sources:Object.values(o),state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:s.getState()})}))})))).then((function(e){var n;p("idle"),c(e);var d=o.shouldPanelOpen({state:s.getState()});u(null!==(n=r.isOpen)&&void 0!==n?n:o.openOnFocus&&!a&&d||d);var f=ve(s.getState());if(null!==s.getState().activeItemId&&f){var m=f.item,h=f.itemInputValue,g=f.itemUrl,b=f.source;b.onActive(Ze({event:t,item:m,itemInputValue:h,itemUrl:g,refresh:i,source:b,state:s.getState()},l))}})).finally((function(){p("idle"),nt&&o.environment.clearTimeout(nt)}));return s.pendingRequests.add(y)}function at(e){return at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},at(e)}var it=["event","props","refresh","store"];function st(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?st(Object(n),!0).forEach((function(t){ct(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):st(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ct(e,t,n){return(t=function(e){var t=function(e){if("object"!==at(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==at(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===at(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ut(e){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ut(e)}var dt=["props","refresh","store"],ft=["inputElement","formElement","panelElement"],pt=["inputElement"],mt=["inputElement","maxLength"],ht=["source"],gt=["item","source"];function bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function yt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bt(Object(n),!0).forEach((function(t){vt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function vt(e,t,n){return(t=function(e){var t=function(e){if("object"!==ut(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==ut(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ut(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xt(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function wt(e){var t=e.props,n=e.refresh,r=e.store,o=xt(e,dt);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return(n=t)===(r=e.target)||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return yt({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},xt(e,ft))},getRootProps:function(e){return yt({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return xe(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":xe(t.id,"label")},e)},getFormProps:function(e){return e.inputElement,yt({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(yt({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(yt({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},xt(e,pt))},getLabelProps:function(e){return yt({htmlFor:xe(t.id,"input"),id:xe(t.id,"label")},e)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&ot(yt({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var s=e||{};s.inputElement;var l=s.maxLength,c=void 0===l?512:l,u=xt(s,mt),d=ve(r.getState()),f=function(e){return Boolean(e&&e.match(we))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),p=t.enterKeyHint||(null!=d&&d.itemUrl&&!f?"go":"search");return yt({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?xe(t.id,"item-".concat(r.getState().activeItemId),null==d?void 0:d.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return xe(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":xe(t.id,"label"),value:r.getState().completion||r.getState().query,id:xe(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:p,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:c,type:"search",onChange:function(e){var a=e.currentTarget.value;t.ignoreCompositionEvents&&Se(e).isComposing?o.setQuery(a):ot(yt({event:e,props:t,query:a.slice(0,c),refresh:n,store:r},o))},onCompositionEnd:function(e){ot(yt({event:e,props:t,query:e.currentTarget.value.slice(0,c),refresh:n,store:r},o))},onKeyDown:function(e){Se(e).isComposing||function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,it);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=ve(o.getState()),t=n.environment.document.getElementById(xe(n.id,"item-".concat(o.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},s=function(){var e=ve(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,s=e.itemUrl,l=e.source;l.onActive(lt({event:t,item:n,itemInputValue:i,itemUrl:s,refresh:r,source:l,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?ot(lt({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),s(),setTimeout(i,0)})):(o.dispatch(t.key,{}),s(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=ve(o.getState()),c=l.item,u=l.itemInputValue,d=l.itemUrl,f=l.source;if(t.metaKey||t.ctrlKey)void 0!==d&&(f.onSelect(lt({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:d,item:c,state:o.getState()}));else if(t.shiftKey)void 0!==d&&(f.onSelect(lt({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:d,item:c,state:o.getState()}));else if(t.altKey);else{if(void 0!==d)return f.onSelect(lt({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),void n.navigator.navigate({itemUrl:d,item:c,state:o.getState()});ot(lt({event:t,nextState:{isOpen:!1},props:n,query:u,refresh:r,store:o},a)).then((function(){f.onSelect(lt({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:f,state:o.getState()},a))}))}}}(yt({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:L,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},u)},getPanelProps:function(e){return yt({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,o=xt(n,ht);return yt({role:"listbox","aria-labelledby":xe(t.id,"label"),id:xe(t.id,"list",r)},o)},getItemProps:function(e){var a=e.item,i=e.source,s=xt(e,gt);return yt({id:xe(t.id,"item-".concat(a.__autocomplete_id),i),role:"option","aria-selected":r.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",a.__autocomplete_id);var t=ve(r.getState());if(null!==r.getState().activeItemId&&t){var i=t.item,s=t.itemInputValue,l=t.itemUrl,c=t.source;c.onActive(yt({event:e,item:i,itemInputValue:s,itemUrl:l,refresh:n,source:c,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var s=i.getItemInputValue({item:a,state:r.getState()}),l=i.getItemUrl({item:a,state:r.getState()});(l?Promise.resolve():ot(yt({event:e,nextState:{isOpen:!1},props:t,query:s,refresh:n,store:r},o))).then((function(){i.onSelect(yt({event:e,item:a,itemInputValue:s,itemUrl:l,refresh:n,source:i,state:r.getState()},o))}))}},s)}}}function St(e){return St="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},St(e)}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function kt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_t(Object(n),!0).forEach((function(t){Et(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_t(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Et(e,t,n){return(t=function(e){var t=function(e){if("object"!==St(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==St(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===St(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pt(e){var t,n,r,o,a=e.plugins,i=e.options,s=null===(t=((null===(n=i.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,l=s?Et({},s,Object.keys((null===(r=i.__autocomplete_metadata)||void 0===r?void 0:r.options)||{})):{};return{plugins:a.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:kt({"autocomplete-core":Object.keys(i)},l),ua:M.concat((null===(o=i.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function Ot(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=ve(n))||void 0===t?void 0:t.itemInputValue)||null}function Ct(e){return Ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ct(e)}function jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Tt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jt(Object(n),!0).forEach((function(t){At(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function At(e,t,n){return(t=function(e){var t=function(e){if("object"!==Ct(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Ct(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ct(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var It=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return Tt(Tt({},e),{},{activeItemId:t.payload});case"setQuery":return Tt(Tt({},e),{},{query:t.payload,completion:null});case"setCollections":return Tt(Tt({},e),{},{collections:t.payload});case"setIsOpen":return Tt(Tt({},e),{},{isOpen:t.payload});case"setStatus":return Tt(Tt({},e),{},{status:t.payload});case"setContext":return Tt(Tt({},e),{},{context:Tt(Tt({},e.context),t.payload)});case"ArrowDown":var n=Tt(Tt({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:me(1,e.activeItemId,N(e),t.props.defaultActiveItemId)});return Tt(Tt({},n),{},{completion:Ot({state:n})});case"ArrowUp":var r=Tt(Tt({},e),{},{activeItemId:me(-1,e.activeItemId,N(e),t.props.defaultActiveItemId)});return Tt(Tt({},r),{},{completion:Ot({state:r})});case"Escape":return e.isOpen?Tt(Tt({},e),{},{activeItemId:null,isOpen:!1,completion:null}):Tt(Tt({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return Tt(Tt({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return Tt(Tt({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",completion:null,query:""});case"focus":return Tt(Tt({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:Tt(Tt({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return Tt(Tt({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function Nt(e){return Nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nt(e)}function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dt(Object(n),!0).forEach((function(t){Lt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Lt(e,t,n){return(t=function(e){var t=function(e){if("object"!==Nt(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==Nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Nt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mt(e){var t=[],n=Re(e,t),r=function(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,a){var i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ke(Object(n),!0).forEach((function(t){Ee(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},o);o=e(o,{type:r,props:t,payload:a}),n({state:o,prevState:i})},pendingRequests:(r=[],{add:function(e){return r.push(e),e.finally((function(){r=r.filter((function(t){return t!==e}))}))},cancelAll:function(){r.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===r.length}})}}(It,n,(function(e){var t,r,a=e.prevState,c=e.state;if(n.onStateChange(Rt({prevState:a,state:c,refresh:i,navigator:n.navigator},o)),!l()&&null!==(t=c.context)&&void 0!==t&&null!==(r=t.algoliaInsightsPlugin)&&void 0!==r&&r.__automaticInsights&&!1!==n.insights){var u=le({__autocomplete_clickAnalytics:!1});n.plugins.push(u),s([u])}})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return Ce(Ce({},e),{},{items:A(e.items).map((function(e){return Ce(Ce({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),a=wt(Rt({props:n,refresh:i,store:r,navigator:n.navigator},o));function i(){return ot(Rt({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,navigator:n.navigator,query:r.getState().query,refresh:i,store:r},o))}function s(e){e.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,Rt(Rt({},o),{},{navigator:n.navigator,refresh:i,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))}))}function l(){return n.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))}if(n.insights&&!l()){var c="boolean"==typeof n.insights?{}:n.insights;n.plugins.push(le(c))}return s(n.plugins),function(e){var t,n,r=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var a=o.document.createElement("meta"),i=o.document.querySelector("head");a.name="algolia:metadata",setTimeout((function(){a.content=JSON.stringify(r),i.appendChild(a)}),0)}}({metadata:Pt({plugins:n.plugins,options:e}),environment:n.environment}),Rt(Rt({refresh:i,navigator:n.navigator},a),o)}function Ft(e){var t=e.translations,n=(void 0===t?{}:t).searchByText,o=void 0===n?"Search by":n;return r.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},r.createElement("span",{className:"DocSearch-Label"},o),r.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2196.2 500"},r.createElement("defs",null,r.createElement("style",null,".cls-1,.cls-2{fill:#003dff;}.cls-2{fill-rule:evenodd;}")),r.createElement("path",{className:"cls-2",d:"M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),r.createElement("rect",{className:"cls-1",x:"1845.88",y:"104.73",width:"62.58",height:"277.9",rx:"5.9",ry:"5.9"}),r.createElement("path",{className:"cls-2",d:"M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"}),r.createElement("path",{className:"cls-2",d:"M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),r.createElement("path",{className:"cls-2",d:"M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"}),r.createElement("path",{className:"cls-2",d:"M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),r.createElement("path",{className:"cls-2",d:"M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),r.createElement("path",{className:"cls-2",d:"M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"}),r.createElement("path",{className:"cls-1",d:"M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"})))}function qt(e){return r.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},r.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function Bt(e){var t=e.translations,n=void 0===t?{}:t,o=n.selectText,a=void 0===o?"to select":o,i=n.selectKeyAriaLabel,s=void 0===i?"Enter key":i,l=n.navigateText,c=void 0===l?"to navigate":l,u=n.navigateUpKeyAriaLabel,d=void 0===u?"Arrow up":u,f=n.navigateDownKeyAriaLabel,p=void 0===f?"Arrow down":f,m=n.closeText,h=void 0===m?"to close":m,g=n.closeKeyAriaLabel,b=void 0===g?"Escape key":g,y=n.searchByText,v=void 0===y?"Search by":y;return r.createElement(r.Fragment,null,r.createElement("div",{className:"DocSearch-Logo"},r.createElement(Ft,{translations:{searchByText:v}})),r.createElement("ul",{className:"DocSearch-Commands"},r.createElement("li",null,r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(qt,{ariaLabel:s},r.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),r.createElement("span",{className:"DocSearch-Label"},a)),r.createElement("li",null,r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(qt,{ariaLabel:p},r.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(qt,{ariaLabel:d},r.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),r.createElement("span",{className:"DocSearch-Label"},c)),r.createElement("li",null,r.createElement("kbd",{className:"DocSearch-Commands-Key"},r.createElement(qt,{ariaLabel:b},r.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),r.createElement("span",{className:"DocSearch-Label"},h))))}function zt(e){var t=e.hit,n=e.children;return r.createElement("a",{href:t.url},n)}function Ut(){return r.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},r.createElement("g",{fill:"none",fillRule:"evenodd"},r.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),r.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},r.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}function $t(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),r.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function Ht(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Vt(){return r.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),r.createElement("path",{d:"M8 17l-6-6 6-6"})))}var Wt=function(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Kt(e){switch(e.type){case"lvl1":return r.createElement(Wt,null);case"content":return r.createElement(Qt,null);default:return r.createElement(Gt,null)}}function Gt(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Qt(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Yt(){return r.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},r.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Zt(){return r.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function Xt(){return r.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}function Jt(e){var t=e.translations,n=void 0===t?{}:t,o=n.titleText,a=void 0===o?"Unable to fetch results":o,i=n.helpText,s=void 0===i?"You might want to check your network connection.":i;return r.createElement("div",{className:"DocSearch-ErrorScreen"},r.createElement("div",{className:"DocSearch-Screen-Icon"},r.createElement(Zt,null)),r.createElement("p",{className:"DocSearch-Title"},a),r.createElement("p",{className:"DocSearch-Help"},s))}var en=["translations"];function tn(e){var t=e.translations,n=void 0===t?{}:t,o=b(e,en),a=n.noResultsText,i=void 0===a?"No results for":a,s=n.suggestedQueryText,l=void 0===s?"Try searching for":s,c=n.reportMissingResultsText,u=void 0===c?"Believe this query should return results?":c,d=n.reportMissingResultsLinkText,f=void 0===d?"Let us know.":d,p=o.state.context.searchSuggestions;return r.createElement("div",{className:"DocSearch-NoResults"},r.createElement("div",{className:"DocSearch-Screen-Icon"},r.createElement(Xt,null)),r.createElement("p",{className:"DocSearch-Title"},i,' "',r.createElement("strong",null,o.state.query),'"'),p&&p.length>0&&r.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},r.createElement("p",{className:"DocSearch-Help"},l,":"),r.createElement("ul",null,p.slice(0,3).reduce((function(e,t){return[].concat(w(e),[r.createElement("li",{key:t},r.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){o.setQuery(t.toLowerCase()+" "),o.refresh(),o.inputRef.current.focus()}},t))])}),[]))),o.getMissingResultsUrl&&r.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),r.createElement("a",{href:o.getMissingResultsUrl({query:o.state.query}),target:"_blank",rel:"noopener noreferrer"},f)))}var nn=["hit","attribute","tagName"];function rn(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function on(e){var t=e.hit,n=e.attribute,o=e.tagName,a=void 0===o?"span":o,i=b(e,nn);return(0,r.createElement)(a,g(g({},i),{},{dangerouslySetInnerHTML:{__html:rn(t,"_snippetResult.".concat(n,".value"))||rn(t,n)}}))}function an(e){return e.collection&&0!==e.collection.items.length?r.createElement("section",{className:"DocSearch-Hits"},r.createElement("div",{className:"DocSearch-Hit-source"},e.title),r.createElement("ul",e.getListProps(),e.collection.items.map((function(t,n){return r.createElement(sn,d({key:[e.title,t.objectID].join(":"),item:t,index:n},e))})))):null}function sn(e){var t=e.item,n=e.index,o=e.renderIcon,a=e.renderAction,i=e.getItemProps,s=e.onItemClick,l=e.collection,c=e.hitComponent,u=x(r.useState(!1),2),f=u[0],p=u[1],m=x(r.useState(!1),2),h=m[0],g=m[1],b=r.useRef(null),y=c;return r.createElement("li",d({className:["DocSearch-Hit",t.__docsearch_parent&&"DocSearch-Hit--Child",f&&"DocSearch-Hit--deleting",h&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){b.current&&b.current()}},i({item:t,source:l.source,onClick:function(e){s(t,e)}})),r.createElement(y,{hit:t},r.createElement("div",{className:"DocSearch-Hit-Container"},o({item:t,index:n}),t.hierarchy[t.type]&&"lvl1"===t.type&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement(on,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.lvl1"}),t.content&&r.createElement(on,{className:"DocSearch-Hit-path",hit:t,attribute:"content"})),t.hierarchy[t.type]&&("lvl2"===t.type||"lvl3"===t.type||"lvl4"===t.type||"lvl5"===t.type||"lvl6"===t.type)&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement(on,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.".concat(t.type)}),r.createElement(on,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),"content"===t.type&&r.createElement("div",{className:"DocSearch-Hit-content-wrapper"},r.createElement(on,{className:"DocSearch-Hit-title",hit:t,attribute:"content"}),r.createElement(on,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),a({item:t,runDeleteTransition:function(e){p(!0),b.current=e},runFavoriteTransition:function(e){g(!0),b.current=e}}))))}function ln(e,t,n){return e.reduce((function(e,r){var o=t(r);return e.hasOwnProperty(o)||(e[o]=[]),e[o].length<(n||5)&&e[o].push(r),e}),{})}function cn(e){return e}function un(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function dn(){}var fn=/(<mark>|<\/mark>)/g,pn=RegExp(fn.source);function mn(e){var t,n,r=e;if(!r.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var o=r.__docsearch_parent?null===(t=r.__docsearch_parent)||void 0===t||null===(t=t._highlightResult)||void 0===t||null===(t=t.hierarchy)||void 0===t?void 0:t.lvl0:null===(n=e._highlightResult)||void 0===n||null===(n=n.hierarchy)||void 0===n?void 0:n.lvl0;return o?o.value&&pn.test(o.value)?o.value.replace(fn,""):o.value:e.hierarchy.lvl0}function hn(e){return r.createElement("div",{className:"DocSearch-Dropdown-Container"},e.state.collections.map((function(t){if(0===t.items.length)return null;var n=mn(t.items[0]);return r.createElement(an,d({},e,{key:t.source.sourceId,title:n,collection:t,renderIcon:function(e){var n,o=e.item,a=e.index;return r.createElement(r.Fragment,null,o.__docsearch_parent&&r.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},r.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},o.__docsearch_parent!==(null===(n=t.items[a+1])||void 0===n?void 0:n.__docsearch_parent)?r.createElement("path",{d:"M8 6v21M20 27H8.3"}):r.createElement("path",{d:"M8 6v42M20 27H8.3"}))),r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(Kt,{type:o.type})))},renderAction:function(){return r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement(Vt,null))}}))})),e.resultsFooterComponent&&r.createElement("section",{className:"DocSearch-HitsFooter"},r.createElement(e.resultsFooterComponent,{state:e.state})))}var gn=["translations"];function bn(e){var t=e.translations,n=void 0===t?{}:t,o=b(e,gn),a=n.recentSearchesTitle,i=void 0===a?"Recent":a,s=n.noRecentSearchesText,l=void 0===s?"No recent searches":s,c=n.saveRecentSearchButtonTitle,u=void 0===c?"Save this search":c,f=n.removeRecentSearchButtonTitle,p=void 0===f?"Remove this search from history":f,m=n.favoriteSearchesTitle,h=void 0===m?"Favorite":m,g=n.removeFavoriteSearchButtonTitle,y=void 0===g?"Remove this search from favorites":g;return"idle"===o.state.status&&!1===o.hasCollections?o.disableUserPersonalization?null:r.createElement("div",{className:"DocSearch-StartScreen"},r.createElement("p",{className:"DocSearch-Help"},l)):!1===o.hasCollections?null:r.createElement("div",{className:"DocSearch-Dropdown-Container"},r.createElement(an,d({},o,{title:i,collection:o.state.collections[0],renderIcon:function(){return r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement($t,null))},renderAction:function(e){var t=e.item,n=e.runFavoriteTransition,a=e.runDeleteTransition;return r.createElement(r.Fragment,null,r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){o.favoriteSearches.add(t),o.recentSearches.remove(t),o.refresh()}))}},r.createElement(Yt,null))),r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:p,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),a((function(){o.recentSearches.remove(t),o.refresh()}))}},r.createElement(Ht,null))))}})),r.createElement(an,d({},o,{title:h,collection:o.state.collections[1],renderIcon:function(){return r.createElement("div",{className:"DocSearch-Hit-icon"},r.createElement(Yt,null))},renderAction:function(e){var t=e.item,n=e.runDeleteTransition;return r.createElement("div",{className:"DocSearch-Hit-action"},r.createElement("button",{className:"DocSearch-Hit-action-button",title:y,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),n((function(){o.favoriteSearches.remove(t),o.refresh()}))}},r.createElement(Ht,null)))}})))}var yn=["translations"],vn=r.memo((function(e){var t=e.translations,n=void 0===t?{}:t,o=b(e,yn);if("error"===o.state.status)return r.createElement(Jt,{translations:null==n?void 0:n.errorScreen});var a=o.state.collections.some((function(e){return e.items.length>0}));return o.state.query?!1===a?r.createElement(tn,d({},o,{translations:null==n?void 0:n.noResultsScreen})):r.createElement(hn,o):r.createElement(bn,d({},o,{hasCollections:a,translations:null==n?void 0:n.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status})),xn=["translations"];function wn(e){var t=e.translations,n=void 0===t?{}:t,o=b(e,xn),a=n.resetButtonTitle,i=void 0===a?"Clear the query":a,s=n.resetButtonAriaLabel,l=void 0===s?"Clear the query":s,c=n.cancelButtonText,u=void 0===c?"Cancel":c,f=n.cancelButtonAriaLabel,p=void 0===f?"Cancel":f,m=n.searchInputLabel,h=void 0===m?"Search":m,g=o.getFormProps({inputElement:o.inputRef.current}).onReset;return r.useEffect((function(){o.autoFocus&&o.inputRef.current&&o.inputRef.current.focus()}),[o.autoFocus,o.inputRef]),r.useEffect((function(){o.isFromSelection&&o.inputRef.current&&o.inputRef.current.select()}),[o.isFromSelection,o.inputRef]),r.createElement(r.Fragment,null,r.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:g},r.createElement("label",d({className:"DocSearch-MagnifierLabel"},o.getLabelProps()),r.createElement(E,null),r.createElement("span",{className:"DocSearch-VisuallyHiddenForAccessibility"},h)),r.createElement("div",{className:"DocSearch-LoadingIndicator"},r.createElement(Ut,null)),r.createElement("input",d({className:"DocSearch-Input",ref:o.inputRef},o.getInputProps({inputElement:o.inputRef.current,autoFocus:o.autoFocus,maxLength:64}))),r.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":l,hidden:!o.state.query},r.createElement(Ht,null))),r.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":p,onClick:o.onClose},u))}var Sn=["_highlightResult","_snippetResult"];function _n(e){var t=e.key,n=e.limit,r=void 0===n?5:n,o=function(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(e){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}(t),a=o.getItem().slice(0,r);return{add:function(e){var t=e;t._highlightResult,t._snippetResult;var n=b(t,Sn),i=a.findIndex((function(e){return e.objectID===n.objectID}));i>-1&&a.splice(i,1),a.unshift(n),a=a.slice(0,r),o.setItem(a)},remove:function(e){a=a.filter((function(t){return t.objectID!==e.objectID})),o.setItem(a)},getAll:function(){return a}}}function kn(e){var t,n="algolia-client-js-".concat(e.key);function r(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function o(){return JSON.parse(r().getItem(n)||"{}")}function a(e){r().setItem(n,JSON.stringify(e))}return{get:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var n,r,i;return n=e.timeToLive?1e3*e.timeToLive:null,r=o(),a(i=Object.fromEntries(Object.entries(r).filter((function(e){return void 0!==x(e,2)[1].timestamp})))),n&&a(Object.fromEntries(Object.entries(i).filter((function(e){var t=x(e,2)[1],r=(new Date).getTime();return!(t.timestamp+n<r)})))),o()[JSON.stringify(t)]})).then((function(e){return Promise.all([e?e.value:n(),void 0!==e])})).then((function(e){var t=x(e,2),n=t[0],o=t[1];return Promise.all([n,o||r.miss(n)])})).then((function(e){return x(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var a=o();return a[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},r().setItem(n,JSON.stringify(a)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=o();delete t[JSON.stringify(e)],r().setItem(n,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){r().removeItem(n)}))}}}function En(e){var t=w(e.caches),n=t.shift();return void 0===n?{get:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,n.miss(e)])})).then((function(e){return x(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(e,r,o).catch((function(){return En({caches:t}).get(e,r,o)}))},set:function(e,r){return n.set(e,r).catch((function(){return En({caches:t}).set(e,r)}))},delete:function(e){return n.delete(e).catch((function(){return En({caches:t}).delete(e)}))},clear:function(){return n.clear().catch((function(){return En({caches:t}).clear()}))}}}function Pn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(n,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(n);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var i=r();return i.then((function(e){return o.miss(e)})).then((function(){return i}))},set:function(n,r){return t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function On(e){var t=e.algoliaAgents,n=e.client,r=e.version,o=function(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var n="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(n)&&(t.value="".concat(t.value).concat(n)),t}};return t}(r).add({segment:n,version:r});return t.forEach((function(e){return o.add(e)})),o}var Cn=12e4;function jn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"up",n=Date.now();return g(g({},e),{},{status:t,lastUpdate:n,isUp:function(){return"up"===t||Date.now()-n>Cn},isTimedOut:function(){return"timed out"===t&&Date.now()-n<=Cn}})}var Tn=function(){function e(t,n){var r;return l(this,e),u(r=s(this,e,[t]),"name","AlgoliaError"),n&&(r.name=n),r}return p(e,_(Error)),c(e)}(),An=function(){function e(t,n,r){var o;return l(this,e),u(o=s(this,e,[t,r]),"stackTrace",void 0),o.stackTrace=n,o}return p(e,Tn),c(e)}(),In=function(){function e(t){return l(this,e),s(this,e,["Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support.",t,"RetryError"])}return p(e,An),c(e)}(),Nn=function(){function e(t,n,r){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"ApiError";return l(this,e),u(o=s(this,e,[t,r,a]),"status",void 0),o.status=n,o}return p(e,An),c(e)}(),Dn=function(){function e(t,n){var r;return l(this,e),u(r=s(this,e,[t,"DeserializationError"]),"response",void 0),r.response=n,r}return p(e,Tn),c(e)}(),Rn=function(){function e(t,n,r,o){var a;return l(this,e),u(a=s(this,e,[t,n,o,"DetailedApiError"]),"error",void 0),a.error=r,a}return p(e,Nn),c(e)}();function Ln(e,t,n){var r,o=(r=n,Object.keys(r).filter((function(e){return void 0!==r[e]})).sort().map((function(e){return"".concat(e,"=").concat(encodeURIComponent("[object Array]"===Object.prototype.toString.call(r[e])?r[e].join(","):r[e]).replace(/\+/g,"%20"))})).join("&")),a="".concat(e.protocol,"://").concat(e.url).concat(e.port?":".concat(e.port):"","/").concat("/"===t.charAt(0)?t.substring(1):t);return o.length&&(a+="?".concat(o)),a}function Mn(e,t){if("GET"!==e.method&&(void 0!==e.data||void 0!==t.data)){var n=Array.isArray(e.data)?e.data:g(g({},e.data),t.data);return JSON.stringify(n)}}function Fn(e,t,n){var r=g(g(g({Accept:"application/json"},e),t),n),o={};return Object.keys(r).forEach((function(e){var t=r[e];o[e.toLowerCase()]=t})),o}function qn(e){try{return JSON.parse(e.content)}catch(t){throw new Dn(t.message,e)}}function Bn(e,t){var n=e.content,r=e.status;try{var o=JSON.parse(n);return"error"in o?new Rn(o.message,r,o.error,t):new Nn(o.message,r,t)}catch(e){}return new Nn(n,r,t)}function zn(e){return e.map((function(e){return Un(e)}))}function Un(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return g(g({},e),{},{request:g(g({},e.request),{},{headers:g(g({},e.request.headers),t)})})}var $n=["appId","apiKey","authMode","algoliaAgents"],Hn=["params"],Vn="5.12.0";function Wn(e){return[{url:"".concat(e,"-dsn.algolia.net"),accept:"read",protocol:"https"},{url:"".concat(e,".algolia.net"),accept:"write",protocol:"https"}].concat(function(e){for(var t=e,n=e.length-1;n>0;n--){var r=Math.floor(Math.random()*(n+1)),o=e[n];t[n]=e[r],t[r]=o}return t}([{url:"".concat(e,"-1.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(e,"-2.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(e,"-3.algolianet.com"),accept:"readWrite",protocol:"https"}]))}var Kn="3.7.0";function Gn(e,t,n){return r.useMemo((function(){var r=function(e,t){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");return function(e){var t=e.appId,n=e.apiKey,r=e.authMode,o=e.algoliaAgents,a=b(e,$n),s=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"WithinHeaders",r={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:function(){return"WithinHeaders"===n?r:{}},queryParameters:function(){return"WithinQueryParameters"===n?r:{}}}}(t,n,r),l=function(e){var t=e.hosts,n=e.hostsCache,r=e.baseHeaders,o=e.logger,a=e.baseQueryParameters,s=e.algoliaAgent,l=e.timeouts,c=e.requester,u=e.requestsCache,d=e.responsesCache;function f(e){return p.apply(this,arguments)}function p(){return(p=i(y().mark((function e(t){var r,o,a,i,s;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return n.get(e,(function(){return Promise.resolve(jn(e))}))})));case 2:return r=e.sent,o=r.filter((function(e){return e.isUp()})),a=r.filter((function(e){return e.isTimedOut()})),i=[].concat(w(o),w(a)),s=i.length>0?i:t,e.abrupt("return",{hosts:s,getTimeout:function(e,t){return(0===a.length&&0===e?1:a.length+3+e)*t}});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function m(e,t){return h.apply(this,arguments)}function h(){return h=i(y().mark((function e(u,d){var p,m,h,b,v,x,S,_,k,E,P,O,C,j=arguments;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(p=!(j.length>2&&void 0!==j[2])||j[2],m=[],h=Mn(u,d),b=Fn(r,u.headers,d.headers),v="GET"===u.method?g(g({},u.data),d.data):{},x=g(g(g({},a),u.queryParameters),v),s.value&&(x["x-algolia-agent"]=s.value),d&&d.queryParameters)for(S=0,_=Object.keys(d.queryParameters);S<_.length;S++)k=_[S],d.queryParameters[k]&&"[object Object]"!==Object.prototype.toString.call(d.queryParameters[k])?x[k]=d.queryParameters[k].toString():x[k]=d.queryParameters[k];return E=0,P=function(){var e=i(y().mark((function e(t,r){var a,i,s,f,v,w;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==(a=t.pop())){e.next=3;break}throw new In(zn(m));case 3:return i=g(g({},l),d.timeouts),s={data:h,headers:b,method:u.method,url:Ln(a,u.path,x),connectTimeout:r(E,i.connect),responseTimeout:r(E,p?i.read:i.write)},f=function(e){var n={request:s,response:e,host:a,triesLeft:t.length};return m.push(n),n},e.next=8,c.send(s);case 8:if(S=(y=v=e.sent).isTimedOut,_=y.status,!(S||function(e){return!e.isTimedOut&&!~~e.status}({isTimedOut:S,status:_})||2!=~~(_/100)&&4!=~~(_/100))){e.next=16;break}return w=f(v),v.isTimedOut&&E++,o.info("Retryable failure",Un(w)),e.next=15,n.set(a,jn(a,v.isTimedOut?"timed out":"down"));case 15:return e.abrupt("return",P(t,r));case 16:if(2!=~~(v.status/100)){e.next=18;break}return e.abrupt("return",qn(v));case 18:throw f(v),Bn(v,m);case 20:case"end":return e.stop()}var y,S,_}),e)})));return function(t,n){return e.apply(this,arguments)}}(),O=t.filter((function(e){return"readWrite"===e.accept||(p?"read"===e.accept:"write"===e.accept)})),e.next=13,f(O);case 13:return C=e.sent,e.abrupt("return",P(w(C.hosts).reverse(),C.getTimeout));case 15:case"end":return e.stop()}}),e)}))),h.apply(this,arguments)}return{hostsCache:n,requester:c,timeouts:l,logger:o,algoliaAgent:s,baseHeaders:r,baseQueryParameters:a,hosts:t,request:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.useReadTransporter||"GET"===e.method;if(!n)return m(e,t,n);var o=function(){return m(e,t)};if(!0!==(t.cacheable||e.cacheable))return o();var i={request:e,requestOptions:t,transporter:{queryParameters:a,headers:r}};return d.get(i,(function(){return u.get(i,(function(){return u.set(i,o()).then((function(e){return Promise.all([u.delete(i),e])}),(function(e){return Promise.all([u.delete(i),Promise.reject(e)])})).then((function(e){var t=x(e,2);return t[0],t[1]}))}))}),{miss:function(e){return d.set(i,e)}})},requestsCache:u,responsesCache:d}}(g(g({hosts:Wn(t)},a),{},{algoliaAgent:On({algoliaAgents:o,client:"Lite",version:Vn}),baseHeaders:g(g({"content-type":"text/plain"},s.headers()),a.baseHeaders),baseQueryParameters:g(g({},s.queryParameters()),a.baseQueryParameters)}));return{transporter:l,appId:t,clearCache:function(){return Promise.all([l.requestsCache.clear(),l.responsesCache.clear()]).then((function(){}))},get _ua(){return l.algoliaAgent.value},addAlgoliaAgent:function(e,t){l.algoliaAgent.add({segment:e,version:t})},setClientApiKey:function(e){var t=e.apiKey;r&&"WithinHeaders"!==r?l.baseQueryParameters["x-algolia-api-key"]=t:l.baseHeaders["x-algolia-api-key"]=t},searchForHits:function(e,t){return this.search(e,t)},searchForFacets:function(e,t){return this.search(e,t)},customPost:function(e,t){var n=e.path,r=e.parameters,o=e.body;if(!n)throw new Error("Parameter `path` is required when calling `customPost`.");var a={method:"POST",path:"/{path}".replace("{path}",n),queryParameters:r||{},headers:{},data:o||{}};return l.request(a,t)},getRecommendations:function(e,t){if(e&&Array.isArray(e)&&(e={requests:e}),!e)throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");var n={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return l.request(n,t)},search:function(e,t){if(e&&Array.isArray(e)){var n={requests:e.map((function(e){var t=e.params,n=b(e,Hn);return"facet"===n.type?g(g(g({},n),t),{},{type:"facet"}):g(g(g({},n),t),{},{facet:void 0,maxFacetHits:void 0,facetQuery:void 0})}))};e=n}if(!e)throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");var r={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return l.request(r,t)}}}(g({appId:e,apiKey:t,timeouts:{connect:1e3,read:2e3,write:3e4},logger:{debug:function(e,t){return Promise.resolve()},info:function(e,t){return Promise.resolve()},error:function(e,t){return Promise.resolve()}},requester:{send:function(e){return new Promise((function(t){var n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return n.setRequestHeader(t,e.headers[t])}));var r,o=function(e,r){return setTimeout((function(){n.abort(),t({status:0,content:r,isTimedOut:!0})}),e)},a=o(e.connectTimeout,"Connection timeout");n.onreadystatechange=function(){n.readyState>n.OPENED&&void 0===r&&(clearTimeout(a),r=o(e.responseTimeout,"Socket timeout"))},n.onerror=function(){0===n.status&&(clearTimeout(a),clearTimeout(r),t({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=function(){clearTimeout(a),clearTimeout(r),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:Pn(),requestsCache:Pn({serializable:!1}),hostsCache:En({caches:[kn({key:"".concat(Vn,"-").concat(e)}),Pn()]})},void 0))}(e,t);return r.addAlgoliaAgent("docsearch",Kn),!1===/docsearch.js \(.*\)/.test(r.transporter.algoliaAgent.value)&&r.addAlgoliaAgent("docsearch-react",Kn),n(r)}),[e,t,n])}var Qn=["footer","searchBox"];function Yn(e){var t=e.appId,n=e.apiKey,o=e.indexName,a=e.placeholder,i=void 0===a?"Search docs":a,s=e.searchParameters,l=e.maxResultsPerGroup,c=e.onClose,u=void 0===c?dn:c,f=e.transformItems,p=void 0===f?cn:f,m=e.hitComponent,h=void 0===m?zt:m,y=e.resultsFooterComponent,v=void 0===y?function(){return null}:y,w=e.navigator,S=e.initialScrollY,_=void 0===S?0:S,k=e.transformSearchClient,E=void 0===k?cn:k,P=e.disableUserPersonalization,O=void 0!==P&&P,C=e.initialQuery,j=void 0===C?"":C,T=e.translations,A=void 0===T?{}:T,I=e.getMissingResultsUrl,N=e.insights,D=void 0!==N&&N,R=A.footer,L=A.searchBox,M=b(A,Qn),F=x(r.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),q=F[0],B=F[1],z=r.useRef(null),U=r.useRef(null),$=r.useRef(null),H=r.useRef(null),V=r.useRef(null),W=r.useRef(10),K=r.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,64):"").current,G=r.useRef(j||K).current,Q=Gn(t,n,E),Y=r.useRef(_n({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(o),limit:10})).current,Z=r.useRef(_n({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(o),limit:0===Y.getAll().length?7:4})).current,X=r.useCallback((function(e){if(!O){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===Y.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&Z.add(t)}}),[Y,Z,O]),J=r.useCallback((function(e){if(q.context.algoliaInsightsPlugin&&e.__autocomplete_id){var t=e,n={eventName:"Item Selected",index:t.__autocomplete_indexName,items:[t],positions:[e.__autocomplete_id],queryID:t.__autocomplete_queryID};q.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(n)}}),[q.context.algoliaInsightsPlugin]),ee=r.useMemo((function(){return Mt({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:G,context:{searchSuggestions:[]}},insights:D,navigator:w,onStateChange:function(e){B(e.state)},getSources:function(e){var r=e.query,a=e.state,i=e.setContext,c=e.setStatus;if(!r)return O?[]:[{sourceId:"recentSearches",onSelect:function(e){var t=e.item,n=e.event;X(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Z.getAll()}},{sourceId:"favoriteSearches",onSelect:function(e){var t=e.item,n=e.event;X(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Y.getAll()}}];var d=Boolean(D);return Q.search({requests:[g({query:r,indexName:o,attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(W.current),"hierarchy.lvl2:".concat(W.current),"hierarchy.lvl3:".concat(W.current),"hierarchy.lvl4:".concat(W.current),"hierarchy.lvl5:".concat(W.current),"hierarchy.lvl6:".concat(W.current),"content:".concat(W.current)],snippetEllipsisText:"\u2026",highlightPreTag:"<mark>",highlightPostTag:"</mark>",hitsPerPage:20,clickAnalytics:d},s)]}).catch((function(e){throw"RetryError"===e.name&&c("error"),e})).then((function(e){var r=e.results[0],s=r.hits,c=r.nbHits,f=ln(s,(function(e){return mn(e)}),l);a.context.searchSuggestions.length<Object.keys(f).length&&i({searchSuggestions:Object.keys(f)}),i({nbHits:c});var m={};return d&&(m={__autocomplete_indexName:o,__autocomplete_queryID:r.queryID,__autocomplete_algoliaCredentials:{appId:t,apiKey:n}}),Object.values(f).map((function(e,t){return{sourceId:"hits".concat(t),onSelect:function(e){var t=e.item,n=e.event;X(t),un(n)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Object.values(ln(e,(function(e){return e.hierarchy.lvl1}),l)).map(p).map((function(e){return e.map((function(t){var n=null,r=e.find((function(e){return"lvl1"===e.type&&e.hierarchy.lvl1===t.hierarchy.lvl1}));return"lvl1"!==t.type&&r&&(n=r),g(g({},t),{},{__docsearch_parent:n},m)}))})).flat()}}}))}))}})}),[o,s,l,Q,u,Z,Y,X,G,i,w,p,O,D,t,n]),te=ee.getEnvironmentProps,ne=ee.getRootProps,re=ee.refresh;return function(e){var t=e.getEnvironmentProps,n=e.panelElement,o=e.formElement,a=e.inputElement;r.useEffect((function(){if(n&&o&&a){var e=t({panelElement:n,formElement:o,inputElement:a}),r=e.onTouchStart,i=e.onTouchMove;return window.addEventListener("touchstart",r),window.addEventListener("touchmove",i),function(){window.removeEventListener("touchstart",r),window.removeEventListener("touchmove",i)}}}),[t,n,o,a])}({getEnvironmentProps:te,panelElement:H.current,formElement:$.current,inputElement:V.current}),function(e){var t=e.container;r.useEffect((function(){if(t){var e=t.querySelectorAll("a[href]:not([disabled]), button:not([disabled]), input:not([disabled])"),n=e[0],r=e[e.length-1];return t.addEventListener("keydown",o),function(){t.removeEventListener("keydown",o)}}function o(e){"Tab"===e.key&&(e.shiftKey?document.activeElement===n&&(e.preventDefault(),r.focus()):document.activeElement===r&&(e.preventDefault(),n.focus()))}}),[t])}({container:z.current}),r.useEffect((function(){return document.body.classList.add("DocSearch--active"),function(){var e,t;document.body.classList.remove("DocSearch--active"),null===(e=(t=window).scrollTo)||void 0===e||e.call(t,0,_)}}),[]),r.useEffect((function(){window.matchMedia("(max-width: 768px)").matches&&(W.current=5)}),[]),r.useEffect((function(){H.current&&(H.current.scrollTop=0)}),[q.query]),r.useEffect((function(){G.length>0&&(re(),V.current&&V.current.focus())}),[G,re]),r.useEffect((function(){function e(){if(U.current){var e=.01*window.innerHeight;U.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),r.createElement("div",d({ref:z},ne({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===q.status&&"DocSearch-Container--Stalled","error"===q.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&u()}}),r.createElement("div",{className:"DocSearch-Modal",ref:U},r.createElement("header",{className:"DocSearch-SearchBar",ref:$},r.createElement(wn,d({},ee,{state:q,autoFocus:0===G.length,inputRef:V,isFromSelection:Boolean(G)&&G===K,translations:L,onClose:u}))),r.createElement("div",{className:"DocSearch-Dropdown",ref:H},r.createElement(vn,d({},ee,{indexName:o,state:q,hitComponent:h,resultsFooterComponent:v,disableUserPersonalization:O,recentSearches:Z,favoriteSearches:Y,inputRef:V,translations:M,getMissingResultsUrl:I,onItemClick:function(e,t){J(e),X(e),un(t)||u()}}))),r.createElement("footer",{className:"DocSearch-Footer"},r.createElement(Bt,{translations:R}))))}function Zn(e){var t=e.isOpen,n=e.onOpen,o=e.onClose,a=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){var r;if("Escape"===e.code&&t||"k"===(null===(r=e.key)||void 0===r?void 0:r.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)return e.preventDefault(),void(t?o():document.body.classList.contains("DocSearch--active")||n());i&&i.current===document.activeElement&&a&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&a(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,o,a,i])}},35947:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(96540);var r=n(53259),o=n.n(r),a=n(84054);const i={"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,92463)),"@theme/BlogTagsListPage",92463],"01aca802":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2079)]).then(n.bind(n,6566)),"@site/docs/examples/medicationrequest/medrx0314.mdx",6566],"026611d2":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9301)]).then(n.bind(n,23239)),"@site/docs/custom/i18nConfig.mdx",23239],"03620de3":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2460)]).then(n.bind(n,79135)),"@site/docs/specs/rateRange/high_only.mdx",79135],"04716c54":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8945)]).then(n.bind(n,56275)),"@site/docs/specs/boundsRange/low_only.mdx",56275],"04baef29":[()=>Promise.all([n.e(1869),n.e(7498)]).then(n.t.bind(n,37440,23)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/node_modules/docusaurus-plugin-typedoc-api/lib/components/ApiPage.js",37440],"0530b1c5":[()=>Promise.all([n.e(1869),n.e(2076),n.e(7032)]).then(n.bind(n,57749)),"@site/docs/specs/offsetWhen/offset/offset_hours.mdx",57749],"06a006fb":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4936)]).then(n.bind(n,34970)),"@site/docs/specs/maxDosePerAdministration/maxDosePerAdministration.mdx",34970],"07d383a6":[()=>n.e(9881).then(n.t.bind(n,45228,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-patientinstruction-9c6.json",45228],"0ba7d2cf":[()=>n.e(3592).then(n.t.bind(n,85437,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-maxdoseperlifetime-0e8.json",85437],"118e00e5":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2914)]).then(n.bind(n,72034)),"@site/docs/specs/asNeeded/asNeededCodeableConcept.mdx",72034],"120b932c":[()=>n.e(8897).then(n.t.bind(n,6290,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-raterange-02f.json",6290],"124c4f9d":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2188)]).then(n.bind(n,1888)),"@site/docs/specs/timeOfDay/single_item.mdx",1888],"12564d99":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8937)]).then(n.bind(n,65693)),"@site/docs/specs/additionalInstruction/single_item.mdx",65693],"12ab42f9":[()=>n.e(8434).then(n.t.bind(n,3521,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-archive-d5b.json",3521],"133d1207":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5276)]).then(n.bind(n,17590)),"@site/docs/specs/frequencyFrequencyMax/frequencyMax_only.mdx",17590],"139f9fbc":[()=>Promise.all([n.e(1869),n.e(2076),n.e(578)]).then(n.bind(n,31829)),"@site/docs/specs/periodPeriodMax/period_only.mdx",31829],"14eb3368":[()=>Promise.all([n.e(1869),n.e(6969)]).then(n.bind(n,34136)),"@theme/DocCategoryGeneratedIndexPage",34136],"15cc94e8":[()=>n.e(5811).then(n.t.bind(n,59426,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-boundsperiod-52b.json",59426],"162bd28d":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1740)]).then(n.bind(n,67458)),"@site/docs/specs/boundsRange/high_only.mdx",67458],"16440cc3":[()=>n.e(6291).then(n.t.bind(n,62111,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-doserange-97d.json",62111],"1668a7c3":[()=>Promise.all([n.e(1869),n.e(2076),n.e(3790)]).then(n.bind(n,50681)),"@site/docs/specs/boundsPeriod/end_only.mdx",50681],17896441:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(792),n.e(8401)]).then(n.bind(n,62822)),"@theme/DocItem",62822],"17a84f1e":[()=>n.e(5040).then(n.t.bind(n,95333,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-tags-c96.json",95333],"17baba0b":[()=>Promise.all([n.e(1869),n.e(2076),n.e(3709)]).then(n.bind(n,73824)),"@site/docs/specs/additionalInstruction/multiple_items.mdx",73824],"1a4e3797":[()=>Promise.all([n.e(1869),n.e(2138)]).then(n.bind(n,74604)),"@theme/SearchPage",74604],"1c1d0071":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9748)]).then(n.bind(n,77264)),"@site/docs/specs/offsetWhen/when/multiple_items.mdx",77264],"1c404b1f":[()=>n.e(5604).then(n.t.bind(n,87362,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-dayofweek-1eb.json",87362],"1cae87f6":[()=>n.e(554).then(n.t.bind(n,38417,19)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/.docusaurus/docusaurus-plugin-typedoc-api/default/packages-current.json",38417],"1cd656ab":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4697)]).then(n.bind(n,6016)),"@site/docs/specs/site/site.mdx",6016],"1ce962e7":[()=>n.e(9945).then(n.t.bind(n,46505,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-5c2.json",46505],"1df93b7f":[()=>Promise.all([n.e(1869),n.e(4583)]).then(n.bind(n,89008)),"@site/src/pages/index.tsx",89008],"1e6a5414":[()=>n.e(1650).then(n.t.bind(n,50050,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-specs-170.json",50050],"1ee75028":[()=>n.e(9960).then(n.t.bind(n,27689,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-ratequantity-9ce.json",27689],"1f927e7e":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4471)]).then(n.bind(n,89885)),"@site/docs/specs/offsetWhen/when_and_offset.mdx",89885],"201e0385":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4081)]).then(n.bind(n,81826)),"@site/docs/examples/medicationrequest/medrx0321.mdx",81826],"20a65861":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1796)]).then(n.bind(n,92380)),"@site/docs/examples/medicationrequest/medrx0308.mdx",92380],"20b5be5c":[()=>Promise.all([n.e(1869),n.e(2076),n.e(6193)]).then(n.bind(n,98081)),"@site/docs/specs/offsetWhen/offset/offset_days.mdx",98081],21119077:[()=>Promise.all([n.e(1869),n.e(2076),n.e(6499)]).then(n.bind(n,31641)),"@site/docs/examples/medicationrequest/medrx0317.mdx",31641],"216e008c":[()=>n.e(1056).then(n.t.bind(n,66681,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-tags-welcome-9c5.json",66681],24450963:[()=>n.e(4372).then(n.t.bind(n,77422,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-count-countmax-ef5.json",77422],"254404d2":[()=>Promise.all([n.e(1869),n.e(2076),n.e(7762)]).then(n.bind(n,88927)),"@site/docs/specs/boundsPeriod/start_and_end.mdx",88927],"265a61ea":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5184)]).then(n.bind(n,41405)),"@site/docs/examples/medicationrequest/medrx0319.mdx",41405],"27992ad9":[()=>n.e(7670).then(n.t.bind(n,97854,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-sequence-3de.json",97854],"2a331aeb":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5317)]).then(n.bind(n,50282)),"@site/docs/specs/countCountMax/count.mdx",50282],"2b2f836d":[()=>n.e(8454).then(n.t.bind(n,2111,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-boundsrange-ecd.json",2111],"2c4b321a":[()=>Promise.all([n.e(1869),n.e(2076),n.e(585)]).then(n.bind(n,65701)),"@site/docs/specs/boundsRange/low_and_high.mdx",65701],"2c5679ac":[()=>n.e(3955).then(n.t.bind(n,62792,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-when-168.json",62792],"2eb73d32":[()=>n.e(8599).then(n.t.bind(n,77619,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-code-b21.json",77619],"3216d4c8":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4892)]).then(n.bind(n,43870)),"@site/docs/specs/method/method.mdx",43870],"360ae7c2":[()=>n.e(4282).then(n.t.bind(n,21592,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-timeofday-8d1.json",21592],"36994c47":[()=>n.e(9858).then(n.t.bind(n,45516,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",45516],"36cdde70":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2229)]).then(n.bind(n,44583)),"@site/docs/examples/medicationrequest/medrx0301.mdx",44583],"3766ff12":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8952)]).then(n.bind(n,72158)),"@site/docs/examples/medicationrequest/medrx0310.mdx",72158],"38ae24f3":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8035)]).then(n.bind(n,65980)),"@site/docs/specs/countCountMax/count_and_countMax.mdx",65980],"38ecc968":[()=>n.e(5844).then(n.t.bind(n,47265,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-asneeded-39c.json",47265],"3903b0d4":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4726)]).then(n.bind(n,33432)),"@site/docs/specs/asNeeded/asNeededFor.mdx",33432],"3a473b0c":[()=>n.e(1408).then(n.t.bind(n,67066,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-045.json",67066],"3a796946":[()=>n.e(3406).then(n.t.bind(n,16045,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-site-3bd.json",16045],"3d23bc21":[()=>Promise.all([n.e(1869),n.e(2076),n.e(85)]).then(n.bind(n,40718)),"@site/docs/specs/sequence/concurrent_instructions.mdx",40718],"3f237283":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2309)]).then(n.bind(n,96666)),"@site/docs/specs/rateRange/low_and_high.mdx",96666],"3fb26655":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8678)]).then(n.bind(n,82107)),"@site/docs/specs/maxDosePerPeriod/r5.mdx",82107],"40c0f713":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5251)]).then(n.bind(n,69120)),"@site/docs/specs/boundsPeriod/start_only.mdx",69120],"430bd102":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2485)]).then(n.bind(n,27451)),"@site/docs/custom/fromFHIRQuantityUnitToString.mdx",27451],"460a5c5b":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2453)]).then(n.bind(n,47199)),"@site/docs/specs/durationDurationMax/duration_and_durationMax.mdx",47199],"4628893b":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2857)]).then(n.bind(n,13789)),"@site/docs/examples/medicationrequest/medrx0305.mdx",13789],"49044b90":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1659)]).then(n.bind(n,43138)),"@site/docs/specs/dayOfWeek/multiple_items.mdx",43138],"4cbe19c8":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9832)]).then(n.bind(n,77015)),"@site/docs/specs/sequence/sequential_instructions_2.mdx",77015],"4cfebedc":[()=>n.e(4871).then(n.t.bind(n,78530,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-periodperiodmax-d21.json",78530],"4e847481":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9646)]).then(n.bind(n,21538)),"@site/docs/examples/medicationrequest/medrx0307.mdx",21538],"4eb59f15":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9218)]).then(n.bind(n,22603)),"@site/docs/examples/medicationrequest/medrx0331.mdx",22603],"4faaf014":[()=>Promise.all([n.e(1869),n.e(2076),n.e(6734)]).then(n.bind(n,46353)),"@site/docs/examples/medicationrequest/medrx0302.mdx",46353],"5094a8b8":[()=>n.e(9466).then(n.t.bind(n,54650,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-custom-f01.json",54650],"52aaae7a":[()=>n.e(2466).then(n.t.bind(n,80003,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-dosequantity-ccd.json",80003],"533a8e17":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1290)]).then(n.bind(n,89960)),"@site/docs/custom/fromCodeableConceptToString.mdx",89960],"55373fd9":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5461)]).then(n.bind(n,93505)),"@site/docs/specs/asNeeded/asNeededBoolean.mdx",93505],"5876b580":[()=>n.e(4100).then(n.t.bind(n,27449,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-offset-when-d64.json",27449],"5c2c208f":[()=>Promise.all([n.e(1869),n.e(2076),n.e(3970)]).then(n.bind(n,51504)),"@site/docs/specs/asNeeded/asNeeded.mdx",51504],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5f46c019":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9059)]).then(n.bind(n,16928)),"@site/docs/specs/route/route.mdx",16928],"621db11d":[()=>Promise.all([n.e(1869),n.e(3347),n.e(4212)]).then(n.bind(n,13250)),"@theme/Blog/Pages/BlogAuthorsListPage",13250],"667c56e4":[()=>n.e(3843).then(n.t.bind(n,782,19)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/.docusaurus/docusaurus-plugin-typedoc-api/default/options.json",782],"6875c492":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(3347),n.e(4813)]).then(n.bind(n,33069)),"@theme/BlogTagsPostsPage",33069],"6a4d8b82":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9232)]).then(n.bind(n,86487)),"@site/docs/examples/medicationrequest/medrx0313.mdx",86487],"6bccb6a0":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1286)]).then(n.bind(n,25402)),"@site/docs/specs/durationDurationMax/duration_only.mdx",25402],"6e719b2a":[()=>n.e(9269).then(n.t.bind(n,52521,19)),"@generated/docusaurus-plugin-typedoc-api/default/__plugin.json",52521],"72a427b3":[()=>Promise.all([n.e(2076),n.e(5643)]).then(n.bind(n,93976)),"@site/docs/contributing.mdx",93976],"7614ce18":[()=>Promise.all([n.e(1869),n.e(2076),n.e(1444)]).then(n.bind(n,41445)),"@site/docs/specs/maxDosePerLifetime/maxDosePerLifetime.mdx",41445],"76aa043d":[()=>Promise.all([n.e(1869),n.e(2076),n.e(6751)]).then(n.bind(n,28328)),"@site/docs/specs/sequence/sequential_instructions_1.mdx",28328],"77255a7d":[()=>n.e(3885).then(n.t.bind(n,67404,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-text-9c2.json",67404],"774b774e":[()=>Promise.all([n.e(1869),n.e(2076),n.e(5648)]).then(n.bind(n,91380)),"@site/docs/specs/frequencyFrequencyMax/frequency_only.mdx",91380],"78f84b63":[()=>Promise.all([n.e(1869),n.e(2076),n.e(2683)]).then(n.bind(n,91426)),"@site/docs/custom/displayOrder.mdx",91426],"7d1d5983":[()=>n.e(1944).then(n.t.bind(n,74955,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-examples-5c8.json",74955],"7d7affb4":[()=>n.e(3412).then(n.t.bind(n,96576,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-tags-features-f1d.json",96576],"7ebf62b0":[()=>Promise.all([n.e(1869),n.e(2076),n.e(417)]).then(n.bind(n,36658)),"@site/docs/specs/doseQuantity/doseQuantity.mdx",36658],"80244a0d":[()=>n.e(7376).then(n.t.bind(n,97730,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-d58.json",97730],"814f3328":[()=>n.e(7472).then(n.t.bind(n,55513,19)),"~blog/default/blog-post-list-prop-default.json",55513],"829c17da":[()=>Promise.all([n.e(1869),n.e(2076),n.e(8516)]).then(n.bind(n,58096)),"@site/docs/specs/countCountMax/countMax_only.mdx",58096],87294416:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1250)]).then(n.bind(n,61387)),"@site/docs/specs/durationDurationMax/durationMax_only.mdx",61387],"883bfc27":[()=>Promise.all([n.e(1869),n.e(2076),n.e(4812)]).then(n.bind(n,4522)),"@site/docs/specs/code/code.mdx",4522],"8926b418":[()=>Promise.all([n.e(1869),n.e(2076),n.e(9333),n.e(3663)]).then(n.bind(n,74190)),"@site/src/pages/playground/index.tsx",74190],"8da63d19":[()=>n.e(37).then(n.t.bind(n,57769,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-rateratio-850.json",57769],"915d2175":[()=>Promise.all([n.e(1869),n.e(2076),n.e(7829)]).then(n.bind(n,21827)),"@site/docs/specs/dayOfWeek/single_item.mdx",21827],"933cb006":[()=>n.e(581).then(n.t.bind(n,48392,19)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/.docusaurus/docusaurus-plugin-typedoc-api/default/version-current.json",48392],"96e7b265":[()=>Promise.all([n.e(1869),n.e(2076),n.e(3301)]).then(n.bind(n,40238)),"@site/docs/specs/doseRange/low_and_high.mdx",40238],97031957:[()=>Promise.all([n.e(1869),n.e(2076),n.e(4222)]).then(n.bind(n,48281)),"@site/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax.mdx",48281],"9caecde7":[()=>Promise.all([n.e(1869),n.e(2076),n.e(980)]).then(n.bind(n,61822)),"@site/docs/examples/medicationrequest/medrx0303.mdx",61822],"9e4087bc":[()=>n.e(2711).then(n.bind(n,89331)),"@theme/BlogArchivePage",89331],a59be22a:[()=>n.e(5530).then(n.t.bind(n,61501,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-boundsduration-ed2.json",61501],a5e5ec5a:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3253)]).then(n.bind(n,68823)),"@site/docs/custom/displaySeparator.mdx",68823],a6aa9e1f:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(3347),n.e(7643)]).then(n.bind(n,35124)),"@theme/BlogListPage",35124],a7456010:[()=>n.e(1235).then(n.t.bind(n,88552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",88552],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,74532)),"@theme/DocVersionRoot",74532],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,17426)),"@theme/DocRoot",17426],aa77b6a8:[()=>Promise.all([n.e(1869),n.e(2076),n.e(4048)]).then(n.bind(n,99167)),"@site/docs/specs/patientInstruction/patientInstruction.mdx",99167],aa8d6d0b:[()=>Promise.all([n.e(2076),n.e(3281)]).then(n.bind(n,92983)),"@site/blog/2024-03-29-welcome.mdx",92983],ab10b176:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3421)]).then(n.bind(n,90413)),"@site/docs/specs/periodPeriodMax/period_and_periodMax.mdx",90413],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,27093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",27093],acecf23e:[()=>n.e(1903).then(n.t.bind(n,1912,19)),"~blog/default/blogMetadata-default.json",1912],ad90b1c0:[()=>Promise.all([n.e(1869),n.e(2076),n.e(513)]).then(n.bind(n,10090)),"@site/docs/specs/rateQuantity/rateQuantity.mdx",10090],afe92c27:[()=>Promise.all([n.e(1869),n.e(2076),n.e(4088)]).then(n.bind(n,86022)),"@site/docs/specs/maxDosePerPeriod/r4.mdx",86022],b070991f:[()=>n.e(6224).then(n.t.bind(n,35205,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-demo-examples-medicationrequest-6cb.json",35205],b30e43e1:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1146)]).then(n.bind(n,59212)),"@site/docs/specs/doseRange/low_only.mdx",59212],b31f2dc3:[()=>n.e(4019).then(n.t.bind(n,66673,19)),"@generated/docusaurus-plugin-content-blog/default/p/fhir-dosage-utils-blog-authors-843.json",66673],b52bbddc:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3361)]).then(n.bind(n,79855)),"@site/docs/specs/rateRange/low_only.mdx",79855],ba8b53a7:[()=>n.e(3158).then(n.t.bind(n,23553,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-maxdoseperadministration-ee2.json",23553],bc0994c2:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9643)]).then(n.bind(n,5198)),"@site/docs/specs/event/single_item.mdx",5198],c0086ef4:[()=>Promise.all([n.e(1869),n.e(2076),n.e(2495)]).then(n.bind(n,44196)),"@site/docs/examples/medicationrequest/medrx0315.mdx",44196],c141421f:[()=>n.e(957).then(n.t.bind(n,40936,19)),"@generated/docusaurus-theme-search-algolia/default/__plugin.json",40936],c14d5b58:[()=>n.e(5813).then(n.t.bind(n,1635,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-durationdurationmax-8d0.json",1635],c179f821:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1110)]).then(n.bind(n,86387)),"@site/docs/quick-start.mdx",86387],c36217b7:[()=>Promise.all([n.e(1869),n.e(2076),n.e(6016)]).then(n.bind(n,53875)),"@site/docs/specs/text/text.mdx",53875],c5215184:[()=>n.e(6470).then(n.t.bind(n,81718,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-frequencyfrequencymax-51e.json",81718],c578995c:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(5772)]).then(n.bind(n,89332)),"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils/documentation/node_modules/docusaurus-plugin-typedoc-api/lib/components/ApiItem.js",89332],c9387e11:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3140)]).then(n.bind(n,23884)),"@site/docs/custom/dateTimeFormatOptions.mdx",23884],ccc49370:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9761),n.e(3347),n.e(792),n.e(3249)]).then(n.bind(n,73858)),"@theme/BlogPostPage",73858],cd12752c:[()=>Promise.all([n.e(1869),n.e(2076),n.e(6614)]).then(n.bind(n,58133)),"@site/docs/custom/fromExtensionsToString.mdx",58133],ceabf9db:[()=>n.e(4451).then(n.t.bind(n,52866,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-route-468.json",52866],d026f85a:[()=>Promise.all([n.e(2076),n.e(9307)]).then(n.bind(n,78298)),"@site/blog/2024-04-20-empowerment.mdx?truncated=true",78298],d0a7fa20:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3462)]).then(n.bind(n,397)),"@site/docs/specs/offsetWhen/when/single_item.mdx",397],d276600f:[()=>n.e(9678).then(n.t.bind(n,75909,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-additionalinstruction-863.json",75909],d5205798:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1539)]).then(n.bind(n,69309)),"@site/src/pages/examples/timing/index.tsx",69309],d9a0709a:[()=>Promise.all([n.e(1869),n.e(2076),n.e(8154)]).then(n.bind(n,40241)),"@site/docs/examples/medicationrequest/medrx002.mdx",40241],da10aa23:[()=>n.e(7898).then(n.t.bind(n,61061,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-offset-3d2.json",61061],de252642:[()=>n.e(1855).then(n.t.bind(n,70585,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-\ufe0f-method-3ca.json",70585],e3948197:[()=>Promise.all([n.e(2076),n.e(3733)]).then(n.bind(n,74678)),"@site/blog/2024-04-20-empowerment.mdx",74678],e5b958e6:[()=>n.e(3096).then(n.t.bind(n,19370,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-event-03d.json",19370],e8ce008f:[()=>Promise.all([n.e(1869),n.e(2076),n.e(2122)]).then(n.bind(n,95270)),"@site/docs/specs/doseRange/high_only.mdx",95270],e9832d3c:[()=>Promise.all([n.e(1869),n.e(2076),n.e(6554)]).then(n.bind(n,67313)),"@site/docs/specs/periodPeriodMax/periodMax_only.mdx",67313],ea313555:[()=>Promise.all([n.e(2076),n.e(1011)]).then(n.bind(n,86280)),"@site/docs/faq.mdx",86280],ead5521e:[()=>n.e(4287).then(n.t.bind(n,28733,19)),"@generated/docusaurus-plugin-content-docs/default/p/fhir-dosage-utils-docs-category-maxdoseperperiod-9b2.json",28733],ebb1249f:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3678)]).then(n.bind(n,74006)),"@site/docs/examples/medicationrequest/medrx0339.mdx",74006],ec99730f:[()=>Promise.all([n.e(2076),n.e(2209)]).then(n.bind(n,52373)),"@site/docs/next-steps.mdx",52373],ece64983:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1932)]).then(n.bind(n,70644)),"@site/docs/specs/event/multiple_items.mdx",70644],ee929032:[()=>Promise.all([n.e(1869),n.e(2076),n.e(5236)]).then(n.bind(n,10974)),"@site/docs/specs/rateRatio/rateRatio.mdx",10974],ef54304a:[()=>Promise.all([n.e(1869),n.e(2076),n.e(3157)]).then(n.bind(n,47953)),"@site/docs/examples/medicationrequest/medrx004.mdx",47953],f58af7d8:[()=>Promise.all([n.e(1869),n.e(2076),n.e(4056)]).then(n.bind(n,50884)),"@site/docs/specs/timeOfDay/multiple_items.mdx",50884],f71da0e1:[()=>Promise.all([n.e(2076),n.e(6720)]).then(n.bind(n,90697)),"@site/blog/2024-03-29-welcome.mdx?truncated=true",90697],f7adbe59:[()=>Promise.all([n.e(1869),n.e(2076),n.e(9280)]).then(n.bind(n,84590)),"@site/docs/specs/boundsDuration/boundsDuration.mdx",84590],fa572d46:[()=>Promise.all([n.e(1869),n.e(2076),n.e(1616)]).then(n.bind(n,15237)),"@site/docs/specs/offsetWhen/offset/offset_minutes.mdx",15237],fdba5499:[()=>Promise.all([n.e(1869),n.e(2076),n.e(743)]).then(n.bind(n,27732)),"@site/docs/examples/medicationrequest/medrx003.mdx",27732]};var s=n(74848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(86921),u=n(53102);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(2237).then(n.bind(n,82237)),modules:["@theme/NotFound"],webpack:()=>[82237],render(e,t){const n=e.default;return(0,s.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},f=[],p=[],m=(0,c.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),o().Map({loading:l,loader:d,modules:f,webpack:()=>p,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const l=o.__props;return delete o.__props,(0,s.jsx)(u.W,{value:i,children:(0,s.jsx)(a,{...o,...l,...n})})}})}const f=[{path:"/fhir-dosage-utils/blog",component:d("/fhir-dosage-utils/blog","a4a"),exact:!0},{path:"/fhir-dosage-utils/blog/archive",component:d("/fhir-dosage-utils/blog/archive","a40"),exact:!0},{path:"/fhir-dosage-utils/blog/authors",component:d("/fhir-dosage-utils/blog/authors","6c6"),exact:!0},{path:"/fhir-dosage-utils/blog/empowerment",component:d("/fhir-dosage-utils/blog/empowerment","91f"),exact:!0},{path:"/fhir-dosage-utils/blog/tags",component:d("/fhir-dosage-utils/blog/tags","22d"),exact:!0},{path:"/fhir-dosage-utils/blog/tags/features",component:d("/fhir-dosage-utils/blog/tags/features","b47"),exact:!0},{path:"/fhir-dosage-utils/blog/tags/welcome",component:d("/fhir-dosage-utils/blog/tags/welcome","f7c"),exact:!0},{path:"/fhir-dosage-utils/blog/welcome",component:d("/fhir-dosage-utils/blog/welcome","161"),exact:!0},{path:"/fhir-dosage-utils/examples/timing",component:d("/fhir-dosage-utils/examples/timing","ba5"),exact:!0},{path:"/fhir-dosage-utils/playground",component:d("/fhir-dosage-utils/playground","b6a"),exact:!0},{path:"/fhir-dosage-utils/search",component:d("/fhir-dosage-utils/search","cd6"),exact:!0},{path:"/fhir-dosage-utils/api",component:d("/fhir-dosage-utils/api","0c0"),routes:[{path:"/fhir-dosage-utils/api",component:d("/fhir-dosage-utils/api","f04"),routes:[{path:"/fhir-dosage-utils/api",component:d("/fhir-dosage-utils/api","39e"),routes:[{path:"/fhir-dosage-utils/api",component:d("/fhir-dosage-utils/api","995"),exact:!0,sidebar:"api",id:0},{path:"/fhir-dosage-utils/api/class/FhirDosageUtils",component:d("/fhir-dosage-utils/api/class/FhirDosageUtils","861"),exact:!0,sidebar:"api",id:1},{path:"/fhir-dosage-utils/api/enum/DisplayOrderEnum",component:d("/fhir-dosage-utils/api/enum/DisplayOrderEnum","958"),exact:!0,sidebar:"api",id:58},{path:"/fhir-dosage-utils/api/interface/Config",component:d("/fhir-dosage-utils/api/interface/Config","7fe"),exact:!0,sidebar:"api",id:49}]}]}]},{path:"/fhir-dosage-utils/docs",component:d("/fhir-dosage-utils/docs","08c"),routes:[{path:"/fhir-dosage-utils/docs",component:d("/fhir-dosage-utils/docs","fe5"),routes:[{path:"/fhir-dosage-utils/docs",component:d("/fhir-dosage-utils/docs","405"),routes:[{path:"/fhir-dosage-utils/docs/category/-additionalinstruction",component:d("/fhir-dosage-utils/docs/category/-additionalinstruction","ed8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-asneeded",component:d("/fhir-dosage-utils/docs/category/-asneeded","610"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-boundsduration",component:d("/fhir-dosage-utils/docs/category/\ufe0f-boundsduration","e3e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-boundsperiod",component:d("/fhir-dosage-utils/docs/category/-boundsperiod","56b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-boundsrange",component:d("/fhir-dosage-utils/docs/category/-boundsrange","89a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-code",component:d("/fhir-dosage-utils/docs/category/-code","0d5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-count--countmax",component:d("/fhir-dosage-utils/docs/category/-count--countmax","015"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-dayofweek",component:d("/fhir-dosage-utils/docs/category/-dayofweek","ca3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-dosequantity",component:d("/fhir-dosage-utils/docs/category/-dosequantity","a06"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-doserange",component:d("/fhir-dosage-utils/docs/category/-doserange","019"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-durationdurationmax",component:d("/fhir-dosage-utils/docs/category/-durationdurationmax","053"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-event",component:d("/fhir-dosage-utils/docs/category/-event","989"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-frequencyfrequencymax",component:d("/fhir-dosage-utils/docs/category/-frequencyfrequencymax","271"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-maxdoseperadministration",component:d("/fhir-dosage-utils/docs/category/-maxdoseperadministration","a50"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-maxdoseperlifetime",component:d("/fhir-dosage-utils/docs/category/-maxdoseperlifetime","17d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-maxdoseperperiod",component:d("/fhir-dosage-utils/docs/category/-maxdoseperperiod","94d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-method",component:d("/fhir-dosage-utils/docs/category/\ufe0f-method","848"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-offset",component:d("/fhir-dosage-utils/docs/category/-offset","555"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-offset-when",component:d("/fhir-dosage-utils/docs/category/-offset-when","044"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-patientinstruction",component:d("/fhir-dosage-utils/docs/category/-patientinstruction","dd2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-periodperiodmax",component:d("/fhir-dosage-utils/docs/category/\ufe0f-periodperiodmax","ab9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-ratequantity",component:d("/fhir-dosage-utils/docs/category/\ufe0f-ratequantity","ee4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-raterange",component:d("/fhir-dosage-utils/docs/category/\ufe0f-raterange","c5a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-rateratio",component:d("/fhir-dosage-utils/docs/category/-rateratio","0d2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-route",component:d("/fhir-dosage-utils/docs/category/\ufe0f-route","f6c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/\ufe0f-sequence",component:d("/fhir-dosage-utils/docs/category/\ufe0f-sequence","98f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-site",component:d("/fhir-dosage-utils/docs/category/-site","91a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-text",component:d("/fhir-dosage-utils/docs/category/-text","fcf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-timeofday",component:d("/fhir-dosage-utils/docs/category/-timeofday","4dd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/category/-when",component:d("/fhir-dosage-utils/docs/category/-when","fde"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/contributing",component:d("/fhir-dosage-utils/docs/contributing","b12"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/dateTimeFormatOptions",component:d("/fhir-dosage-utils/docs/custom/dateTimeFormatOptions","c67"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/displayOrder",component:d("/fhir-dosage-utils/docs/custom/displayOrder","9b2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/displaySeparator",component:d("/fhir-dosage-utils/docs/custom/displaySeparator","a31"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/fromCodeableConceptToString",component:d("/fhir-dosage-utils/docs/custom/fromCodeableConceptToString","bc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/fromExtensionsToString",component:d("/fhir-dosage-utils/docs/custom/fromExtensionsToString","642"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString",component:d("/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString","1bc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/custom/i18nConfig",component:d("/fhir-dosage-utils/docs/custom/i18nConfig","ffd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo",component:d("/fhir-dosage-utils/docs/demo","910"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo/custom",component:d("/fhir-dosage-utils/docs/demo/custom","4d9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo/examples",component:d("/fhir-dosage-utils/docs/demo/examples","6e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo/examples/medicationrequest",component:d("/fhir-dosage-utils/docs/demo/examples/medicationrequest","3b2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/demo/specs",component:d("/fhir-dosage-utils/docs/demo/specs","010"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx002",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx002","d27"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx003",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx003","1b8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx004",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx004","669"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301","04c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302","8ac"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303","b5f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305","bdf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307","1d9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308","1f6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310","6df"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313","489"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314","d90"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315","a53"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317","947"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319","bd1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321","45f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331","699"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339",component:d("/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339","a53"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/faq",component:d("/fhir-dosage-utils/docs/faq","f8e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/next-steps",component:d("/fhir-dosage-utils/docs/next-steps","9f1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/quick-start",component:d("/fhir-dosage-utils/docs/quick-start","8b9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items",component:d("/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items","5ac"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/additionalInstruction/single_item",component:d("/fhir-dosage-utils/docs/specs/additionalInstruction/single_item","29a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/asNeeded",component:d("/fhir-dosage-utils/docs/specs/asNeeded","791"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean",component:d("/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean","65e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept",component:d("/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept","f3d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor",component:d("/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor","4e1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsDuration",component:d("/fhir-dosage-utils/docs/specs/boundsDuration","f80"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsPeriod/end_only",component:d("/fhir-dosage-utils/docs/specs/boundsPeriod/end_only","be9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end",component:d("/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end","f20"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsPeriod/start_only",component:d("/fhir-dosage-utils/docs/specs/boundsPeriod/start_only","39f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsRange/high_only",component:d("/fhir-dosage-utils/docs/specs/boundsRange/high_only","33e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsRange/low_and_high",component:d("/fhir-dosage-utils/docs/specs/boundsRange/low_and_high","ce2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/boundsRange/low_only",component:d("/fhir-dosage-utils/docs/specs/boundsRange/low_only","146"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/code",component:d("/fhir-dosage-utils/docs/specs/code","a8d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/countCountMax/count",component:d("/fhir-dosage-utils/docs/specs/countCountMax/count","c3a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax",component:d("/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax","14d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/countCountMax/countMax_only",component:d("/fhir-dosage-utils/docs/specs/countCountMax/countMax_only","3e0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items",component:d("/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items","4cb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/dayOfWeek/single_item",component:d("/fhir-dosage-utils/docs/specs/dayOfWeek/single_item","a56"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/doseQuantity",component:d("/fhir-dosage-utils/docs/specs/doseQuantity","33c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/doseRange/high_only",component:d("/fhir-dosage-utils/docs/specs/doseRange/high_only","4d9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/doseRange/low_and_high",component:d("/fhir-dosage-utils/docs/specs/doseRange/low_and_high","f54"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/doseRange/low_only",component:d("/fhir-dosage-utils/docs/specs/doseRange/low_only","83d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax",component:d("/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax","91c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only",component:d("/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only","bf3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only",component:d("/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only","9e7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/event/multiple_items",component:d("/fhir-dosage-utils/docs/specs/event/multiple_items","9ef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/event/single_item",component:d("/fhir-dosage-utils/docs/specs/event/single_item","bc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax",component:d("/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax","adf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only",component:d("/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only","896"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only",component:d("/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only","042"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/maxDosePerAdministration",component:d("/fhir-dosage-utils/docs/specs/maxDosePerAdministration","632"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/maxDosePerLifetime",component:d("/fhir-dosage-utils/docs/specs/maxDosePerLifetime","87b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4",component:d("/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4","771"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5",component:d("/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5","78e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/method",component:d("/fhir-dosage-utils/docs/specs/method","d42"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days","608"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours","c01"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes","ca6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset","35f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items","4bc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item",component:d("/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item","948"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/patientInstruction",component:d("/fhir-dosage-utils/docs/specs/patientInstruction","628"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax",component:d("/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax","f06"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only",component:d("/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only","2ef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only",component:d("/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only","b27"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateQuantity",component:d("/fhir-dosage-utils/docs/specs/rateQuantity","2bf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateRange/high_only",component:d("/fhir-dosage-utils/docs/specs/rateRange/high_only","5cf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateRange/low_and_high",component:d("/fhir-dosage-utils/docs/specs/rateRange/low_and_high","bea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateRange/low_only",component:d("/fhir-dosage-utils/docs/specs/rateRange/low_only","1a9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/rateRatio",component:d("/fhir-dosage-utils/docs/specs/rateRatio","36d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/route",component:d("/fhir-dosage-utils/docs/specs/route","dfa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions",component:d("/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions","199"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1",component:d("/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1","ccb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2",component:d("/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2","62c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/site",component:d("/fhir-dosage-utils/docs/specs/site","c05"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/text",component:d("/fhir-dosage-utils/docs/specs/text","abb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items",component:d("/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items","d87"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fhir-dosage-utils/docs/specs/timeOfDay/single_item",component:d("/fhir-dosage-utils/docs/specs/timeOfDay/single_item","65e"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/fhir-dosage-utils/",component:d("/fhir-dosage-utils/","a2b"),exact:!0},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(96540),o=n(74848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},38536:(e,t,n)=>{"use strict";var r=n(96540),o=n(5338),a=n(80545),i=n(54625),s=n(4784),l=n(38193);const c=[n(10119),n(26134),n(76294),n(51043)];var u=n(35947),d=n(56347),f=n(22831),p=n(74848);function m(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var h=n(5260),g=n(44586),b=n(86025),y=n(6342),v=n(45500),x=n(32131),w=n(14090),S=n(2967),_=n(70440),k=n(41463);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.default)(),r=(0,x.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(h.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function P(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.default)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.default)(),{pathname:r}=(0,d.zy)();return e+(0,_.Ks)((0,b.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,p.jsxs)(h.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function O(){const{i18n:{currentLocale:e}}=(0,g.default)(),{metadata:t,image:n}=(0,y.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(h.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.w})]}),n&&(0,p.jsx)(v.be,{image:n}),(0,p.jsx)(P,{}),(0,p.jsx)(E,{}),(0,p.jsx)(k.A,{tag:S.C,locale:e}),(0,p.jsx)(h.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const C=new Map;var j=n(6125),T=n(26988),A=n(205);function I(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const o=c.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,A.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),I("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function D(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,f.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?I("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=I("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),D(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const L=R,M="__docusaurus-base-url-issue-banner-container",F="__docusaurus-base-url-issue-banner",q="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${M}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${F}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${q}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${q}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function z(){const{siteConfig:{baseUrl:e}}=(0,g.default)();return(0,p.jsx)(p.Fragment,{children:!l.A.canUseDOM&&(0,p.jsx)(h.A,{children:(0,p.jsx)("script",{children:B(e)})})})}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.default)(),{pathname:n}=(0,d.zy)();return t&&n===e?(0,p.jsx)(z,{}):null}function $(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:o}}=(0,g.default)(),a=(0,b.Ay)(e),{htmlLang:i,direction:s}=o[r];return(0,p.jsxs)(h.A,{children:[(0,p.jsx)("html",{lang:i,dir:s}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:a})]})}var H=n(67489),V=n(92303);function W(){const e=(0,V.A)();return(0,p.jsx)(h.A,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}const K=(0,f.v)(u.A);function G(){const e=function(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,f.u)(u.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,p.jsx)(L,{location:e,children:K})}function Q(){return(0,p.jsx)(H.A,{children:(0,p.jsx)(T.l,{children:(0,p.jsxs)(j.x,{children:[(0,p.jsxs)(m,{children:[(0,p.jsx)($,{}),(0,p.jsx)(O,{}),(0,p.jsx)(U,{}),(0,p.jsx)(G,{})]}),(0,p.jsx)(W,{})]})})})}var Y=n(84054);const Z=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var X=n(86921);const J=new Set,ee=new Set,te=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ne={prefetch:e=>{if(!(e=>!te()&&!ee.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,f.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Y).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,X.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Z(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!te()&&!ee.has(e))(e)&&(ee.add(e),D(e))},re=Object.freeze(ne);function oe(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,p.jsx)(i.I9,{children:t}):(0,p.jsx)(i.Kd,{children:t})}const ae=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=re;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(a.vd,{children:(0,p.jsx)(oe,{children:(0,p.jsx)(Q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ae)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};D(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},26988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(96540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/fhir-dosage-utils/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/fhir-dosage-utils/docs","mainDocId":"quick-start","docs":[{"id":"contributing","path":"/fhir-dosage-utils/docs/contributing","sidebar":"tutorialSidebar"},{"id":"custom/dateTimeFormatOptions","path":"/fhir-dosage-utils/docs/custom/dateTimeFormatOptions","sidebar":"tutorialSidebar"},{"id":"custom/displayOrder","path":"/fhir-dosage-utils/docs/custom/displayOrder","sidebar":"tutorialSidebar"},{"id":"custom/displaySeparator","path":"/fhir-dosage-utils/docs/custom/displaySeparator","sidebar":"tutorialSidebar"},{"id":"custom/fromCodeableConceptToString","path":"/fhir-dosage-utils/docs/custom/fromCodeableConceptToString","sidebar":"tutorialSidebar"},{"id":"custom/fromExtensionsToString","path":"/fhir-dosage-utils/docs/custom/fromExtensionsToString","sidebar":"tutorialSidebar"},{"id":"custom/fromFHIRQuantityUnitToString","path":"/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString","sidebar":"tutorialSidebar"},{"id":"custom/i18nConfig","path":"/fhir-dosage-utils/docs/custom/i18nConfig","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx002","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx002","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx003","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx003","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx004","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx004","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0301","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0302","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0303","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0305","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0307","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0308","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0310","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0313","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0314","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0315","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0317","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0319","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0321","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0331","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331","sidebar":"tutorialSidebar"},{"id":"examples/medicationrequest/medrx0339","path":"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339","sidebar":"tutorialSidebar"},{"id":"faq","path":"/fhir-dosage-utils/docs/faq","sidebar":"tutorialSidebar"},{"id":"next-steps","path":"/fhir-dosage-utils/docs/next-steps","sidebar":"tutorialSidebar"},{"id":"quick-start","path":"/fhir-dosage-utils/docs/quick-start","sidebar":"tutorialSidebar"},{"id":"specs/additionalInstruction/multiple_items","path":"/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/additionalInstruction/single_item","path":"/fhir-dosage-utils/docs/specs/additionalInstruction/single_item","sidebar":"tutorialSidebar"},{"id":"specs/asNeeded/asNeeded","path":"/fhir-dosage-utils/docs/specs/asNeeded/","sidebar":"tutorialSidebar"},{"id":"specs/asNeeded/asNeededBoolean","path":"/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean","sidebar":"tutorialSidebar"},{"id":"specs/asNeeded/asNeededCodeableConcept","path":"/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept","sidebar":"tutorialSidebar"},{"id":"specs/asNeeded/asNeededFor","path":"/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor","sidebar":"tutorialSidebar"},{"id":"specs/boundsDuration/boundsDuration","path":"/fhir-dosage-utils/docs/specs/boundsDuration/","sidebar":"tutorialSidebar"},{"id":"specs/boundsPeriod/end_only","path":"/fhir-dosage-utils/docs/specs/boundsPeriod/end_only","sidebar":"tutorialSidebar"},{"id":"specs/boundsPeriod/start_and_end","path":"/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end","sidebar":"tutorialSidebar"},{"id":"specs/boundsPeriod/start_only","path":"/fhir-dosage-utils/docs/specs/boundsPeriod/start_only","sidebar":"tutorialSidebar"},{"id":"specs/boundsRange/high_only","path":"/fhir-dosage-utils/docs/specs/boundsRange/high_only","sidebar":"tutorialSidebar"},{"id":"specs/boundsRange/low_and_high","path":"/fhir-dosage-utils/docs/specs/boundsRange/low_and_high","sidebar":"tutorialSidebar"},{"id":"specs/boundsRange/low_only","path":"/fhir-dosage-utils/docs/specs/boundsRange/low_only","sidebar":"tutorialSidebar"},{"id":"specs/code/code","path":"/fhir-dosage-utils/docs/specs/code/","sidebar":"tutorialSidebar"},{"id":"specs/countCountMax/count","path":"/fhir-dosage-utils/docs/specs/countCountMax/count","sidebar":"tutorialSidebar"},{"id":"specs/countCountMax/count_and_countMax","path":"/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax","sidebar":"tutorialSidebar"},{"id":"specs/countCountMax/countMax_only","path":"/fhir-dosage-utils/docs/specs/countCountMax/countMax_only","sidebar":"tutorialSidebar"},{"id":"specs/dayOfWeek/multiple_items","path":"/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/dayOfWeek/single_item","path":"/fhir-dosage-utils/docs/specs/dayOfWeek/single_item","sidebar":"tutorialSidebar"},{"id":"specs/doseQuantity/doseQuantity","path":"/fhir-dosage-utils/docs/specs/doseQuantity/","sidebar":"tutorialSidebar"},{"id":"specs/doseRange/high_only","path":"/fhir-dosage-utils/docs/specs/doseRange/high_only","sidebar":"tutorialSidebar"},{"id":"specs/doseRange/low_and_high","path":"/fhir-dosage-utils/docs/specs/doseRange/low_and_high","sidebar":"tutorialSidebar"},{"id":"specs/doseRange/low_only","path":"/fhir-dosage-utils/docs/specs/doseRange/low_only","sidebar":"tutorialSidebar"},{"id":"specs/durationDurationMax/duration_and_durationMax","path":"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax","sidebar":"tutorialSidebar"},{"id":"specs/durationDurationMax/duration_only","path":"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only","sidebar":"tutorialSidebar"},{"id":"specs/durationDurationMax/durationMax_only","path":"/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only","sidebar":"tutorialSidebar"},{"id":"specs/event/multiple_items","path":"/fhir-dosage-utils/docs/specs/event/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/event/single_item","path":"/fhir-dosage-utils/docs/specs/event/single_item","sidebar":"tutorialSidebar"},{"id":"specs/frequencyFrequencyMax/frequency_and_frequencyMax","path":"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax","sidebar":"tutorialSidebar"},{"id":"specs/frequencyFrequencyMax/frequency_only","path":"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only","sidebar":"tutorialSidebar"},{"id":"specs/frequencyFrequencyMax/frequencyMax_only","path":"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only","sidebar":"tutorialSidebar"},{"id":"specs/maxDosePerAdministration/maxDosePerAdministration","path":"/fhir-dosage-utils/docs/specs/maxDosePerAdministration/","sidebar":"tutorialSidebar"},{"id":"specs/maxDosePerLifetime/maxDosePerLifetime","path":"/fhir-dosage-utils/docs/specs/maxDosePerLifetime/","sidebar":"tutorialSidebar"},{"id":"specs/maxDosePerPeriod/r4","path":"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4","sidebar":"tutorialSidebar"},{"id":"specs/maxDosePerPeriod/r5","path":"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5","sidebar":"tutorialSidebar"},{"id":"specs/method/method","path":"/fhir-dosage-utils/docs/specs/method/","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/offset/offset_days","path":"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/offset/offset_hours","path":"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/offset/offset_minutes","path":"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/when_and_offset","path":"/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/when/multiple_items","path":"/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/offsetWhen/when/single_item","path":"/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item","sidebar":"tutorialSidebar"},{"id":"specs/patientInstruction/patientInstruction","path":"/fhir-dosage-utils/docs/specs/patientInstruction/","sidebar":"tutorialSidebar"},{"id":"specs/periodPeriodMax/period_and_periodMax","path":"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax","sidebar":"tutorialSidebar"},{"id":"specs/periodPeriodMax/period_only","path":"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only","sidebar":"tutorialSidebar"},{"id":"specs/periodPeriodMax/periodMax_only","path":"/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only","sidebar":"tutorialSidebar"},{"id":"specs/rateQuantity/rateQuantity","path":"/fhir-dosage-utils/docs/specs/rateQuantity/","sidebar":"tutorialSidebar"},{"id":"specs/rateRange/high_only","path":"/fhir-dosage-utils/docs/specs/rateRange/high_only","sidebar":"tutorialSidebar"},{"id":"specs/rateRange/low_and_high","path":"/fhir-dosage-utils/docs/specs/rateRange/low_and_high","sidebar":"tutorialSidebar"},{"id":"specs/rateRange/low_only","path":"/fhir-dosage-utils/docs/specs/rateRange/low_only","sidebar":"tutorialSidebar"},{"id":"specs/rateRatio/rateRatio","path":"/fhir-dosage-utils/docs/specs/rateRatio/","sidebar":"tutorialSidebar"},{"id":"specs/route/route","path":"/fhir-dosage-utils/docs/specs/route/","sidebar":"tutorialSidebar"},{"id":"specs/sequence/concurrent_instructions","path":"/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions","sidebar":"tutorialSidebar"},{"id":"specs/sequence/sequential_instructions_1","path":"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1","sidebar":"tutorialSidebar"},{"id":"specs/sequence/sequential_instructions_2","path":"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2","sidebar":"tutorialSidebar"},{"id":"specs/site/site","path":"/fhir-dosage-utils/docs/specs/site/","sidebar":"tutorialSidebar"},{"id":"specs/text/text","path":"/fhir-dosage-utils/docs/specs/text/","sidebar":"tutorialSidebar"},{"id":"specs/timeOfDay/multiple_items","path":"/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items","sidebar":"tutorialSidebar"},{"id":"specs/timeOfDay/single_item","path":"/fhir-dosage-utils/docs/specs/timeOfDay/single_item","sidebar":"tutorialSidebar"},{"id":"/demo","path":"/fhir-dosage-utils/docs/demo","sidebar":"tutorialSidebar"},{"id":"/demo/specs","path":"/fhir-dosage-utils/docs/demo/specs","sidebar":"tutorialSidebar"},{"id":"/category/-additionalinstruction","path":"/fhir-dosage-utils/docs/category/-additionalinstruction","sidebar":"tutorialSidebar"},{"id":"/category/-asneeded","path":"/fhir-dosage-utils/docs/category/-asneeded","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-boundsduration","path":"/fhir-dosage-utils/docs/category/\ufe0f-boundsduration","sidebar":"tutorialSidebar"},{"id":"/category/-boundsperiod","path":"/fhir-dosage-utils/docs/category/-boundsperiod","sidebar":"tutorialSidebar"},{"id":"/category/-boundsrange","path":"/fhir-dosage-utils/docs/category/-boundsrange","sidebar":"tutorialSidebar"},{"id":"/category/-code","path":"/fhir-dosage-utils/docs/category/-code","sidebar":"tutorialSidebar"},{"id":"/category/-count--countmax","path":"/fhir-dosage-utils/docs/category/-count--countmax","sidebar":"tutorialSidebar"},{"id":"/category/-dayofweek","path":"/fhir-dosage-utils/docs/category/-dayofweek","sidebar":"tutorialSidebar"},{"id":"/category/-dosequantity","path":"/fhir-dosage-utils/docs/category/-dosequantity","sidebar":"tutorialSidebar"},{"id":"/category/-doserange","path":"/fhir-dosage-utils/docs/category/-doserange","sidebar":"tutorialSidebar"},{"id":"/category/-durationdurationmax","path":"/fhir-dosage-utils/docs/category/-durationdurationmax","sidebar":"tutorialSidebar"},{"id":"/category/-event","path":"/fhir-dosage-utils/docs/category/-event","sidebar":"tutorialSidebar"},{"id":"/category/-frequencyfrequencymax","path":"/fhir-dosage-utils/docs/category/-frequencyfrequencymax","sidebar":"tutorialSidebar"},{"id":"/category/-maxdoseperadministration","path":"/fhir-dosage-utils/docs/category/-maxdoseperadministration","sidebar":"tutorialSidebar"},{"id":"/category/-maxdoseperlifetime","path":"/fhir-dosage-utils/docs/category/-maxdoseperlifetime","sidebar":"tutorialSidebar"},{"id":"/category/-maxdoseperperiod","path":"/fhir-dosage-utils/docs/category/-maxdoseperperiod","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-method","path":"/fhir-dosage-utils/docs/category/\ufe0f-method","sidebar":"tutorialSidebar"},{"id":"/category/-offset-when","path":"/fhir-dosage-utils/docs/category/-offset-when","sidebar":"tutorialSidebar"},{"id":"/category/-offset","path":"/fhir-dosage-utils/docs/category/-offset","sidebar":"tutorialSidebar"},{"id":"/category/-when","path":"/fhir-dosage-utils/docs/category/-when","sidebar":"tutorialSidebar"},{"id":"/category/-patientinstruction","path":"/fhir-dosage-utils/docs/category/-patientinstruction","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-periodperiodmax","path":"/fhir-dosage-utils/docs/category/\ufe0f-periodperiodmax","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-ratequantity","path":"/fhir-dosage-utils/docs/category/\ufe0f-ratequantity","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-raterange","path":"/fhir-dosage-utils/docs/category/\ufe0f-raterange","sidebar":"tutorialSidebar"},{"id":"/category/-rateratio","path":"/fhir-dosage-utils/docs/category/-rateratio","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-route","path":"/fhir-dosage-utils/docs/category/\ufe0f-route","sidebar":"tutorialSidebar"},{"id":"/category/\ufe0f-sequence","path":"/fhir-dosage-utils/docs/category/\ufe0f-sequence","sidebar":"tutorialSidebar"},{"id":"/category/-site","path":"/fhir-dosage-utils/docs/category/-site","sidebar":"tutorialSidebar"},{"id":"/category/-text","path":"/fhir-dosage-utils/docs/category/-text","sidebar":"tutorialSidebar"},{"id":"/category/-timeofday","path":"/fhir-dosage-utils/docs/category/-timeofday","sidebar":"tutorialSidebar"},{"id":"/demo/custom","path":"/fhir-dosage-utils/docs/demo/custom","sidebar":"tutorialSidebar"},{"id":"/demo/examples","path":"/fhir-dosage-utils/docs/demo/examples","sidebar":"tutorialSidebar"},{"id":"/demo/examples/medicationrequest","path":"/fhir-dosage-utils/docs/demo/examples/medicationrequest","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/fhir-dosage-utils/docs/quick-start","label":"quick-start"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(22654);const l=JSON.parse('{"docusaurusVersion":"3.6.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.6.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.6.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.6.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.6.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.6.1"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.6.1"},"docusaurus-plugin-typedoc-api":{"type":"package","name":"docusaurus-plugin-typedoc-api","version":"4.4.0"},"monaco-plugin":{"type":"project"}}}');var c=n(74848);const u={siteConfig:o.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},d=r.createContext(u);function f(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},67489:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(96540),o=n(38193),a=n(5260),i=n(70440),s=n(70680),l=n(53102),c=n(74848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,c.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(f,{children:(0,c.jsxs)(h,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,c.jsx)(p,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},38193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(80545),o=n(74848);function a(e){return(0,o.jsx)(r.mg,{...e})}},28774:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>p});var r=n(96540),o=n(54625),a=n(70440),i=n(44586),s=n(16654),l=n(38193),c=n(63427),u=n(86025),d=n(74848);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:v}=(0,i.default)(),{trailingSlash:x,baseUrl:w}=v,S=v.future.experimental_router,{withBaseUrl:_}=(0,u.hH)(),k=(0,c.default)(),E=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>E.current));const P=f||p;const O=(0,s.A)(P),C=P?.replace("pathname://","");let j=void 0!==C?(T=C,b&&(e=>e.startsWith("/"))(T)?_(T):T):void 0;var T;"hash"===S&&j?.startsWith("./")&&(j=j?.slice(1)),j&&O&&(j=(0,a.Ks)(j,{trailingSlash:x,baseUrl:w}));const A=(0,r.useRef)(!1),I=n?o.k2:o.N_,N=l.A.canUseIntersectionObserver,D=(0,r.useRef)(),R=()=>{A.current||null==j||(window.docusaurus.preload(j),A.current=!0)};(0,r.useEffect)((()=>(!N&&O&&l.A.canUseDOM&&null!=j&&window.docusaurus.prefetch(j),()=>{N&&D.current&&D.current.disconnect()})),[D,j,N,O]);const L=j?.startsWith("#")??!1,M=!y.target||"_self"===y.target,F=!j||!O||!M||L&&"hash"!==S;g||!L&&F||k.collectLink(j),y.id&&k.collectAnchor(y.id);const q={};return F?(0,d.jsx)("a",{ref:E,href:j,...P&&!O&&{target:"_blank",rel:"noopener noreferrer"},...y,...q}):(0,d.jsx)(I,{...y,onMouseEnter:R,onTouchStart:R,innerRef:e=>{E.current=e,N&&e&&O&&(D.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(D.current.unobserve(e),D.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))}))})),D.current.observe(e))},to:j,...n&&{isActive:h,activeClassName:m},...q})}const p=r.forwardRef(f)},21312:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,T:()=>l});var r=n(96540),o=n(74848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(22654);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=s({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},17065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},16654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},86025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(96540),o=n(44586),a=n(16654);function i(){const{siteConfig:e}=(0,o.default)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},63427:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var r=n(96540);n(74848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},44586:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(96540),o=n(26988);function a(){return(0,r.useContext)(o.o)}},92303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(6125);function a(){return(0,r.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(96540);const o=n(38193).A.canUseDOM?r.useLayoutEffect:r.useEffect},36803:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(96540),o=n(53102);function a(){const e=r.useContext(o.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},86921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},53102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(96540),o=n(74848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},60542:(e,t,n)=>{"use strict";n.d(t,{_:()=>s,u:()=>l});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function s(e){let{children:t,content:n}=e;const o=function(e){return(0,r.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,a.jsx)(i.Provider,{value:o,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocProvider");return e}},33082:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,G:()=>c});var r=n(96540),o=n(89532),a=n(74848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t}=e;const[n,o]=(0,r.useState)(null),i=(0,r.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.dV("DocSidebarItemsExpandedStateProvider");return e}},53886:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,XK:()=>v,g1:()=>y});var r=n(96540),o=n(44070),a=n(17065),i=n(6342),s=n(70679),l=n(89532),c=n(74848);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,s.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.Wf)(u(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function m(){const e=(0,o.useAllDocsData)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,c.jsx)(p.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return(0,c.jsx)(h,{children:t})}function b(){const e=(0,r.useContext)(p);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=a.W);const t=(0,o.useDocsData)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function v(){const e=(0,o.useAllDocsData)(),[t]=b();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},82565:(e,t,n)=>{"use strict";n.d(t,{k:()=>a,v:()=>i});var r=n(44070),o=n(53886);function a(e,t){return`docs-${e}-${t}`}function i(){const e=(0,r.useAllDocsData)(),t=(0,r.useActivePluginAndVersion)(),n=(0,o.XK)();return[...Object.keys(e).map((function(r){const o=t?.activePlugin.pluginId===r?t.activeVersion:void 0,i=n[r],s=e[r].versions.find((e=>e.isLast));return a(r,(o??i??s).name)}))]}},60609:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>c});var r=n(96540),o=n(89532),a=n(74848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},26972:(e,t,n)=>{"use strict";n.d(t,{$S:()=>h,B5:()=>P,Nr:()=>m,OF:()=>S,QB:()=>E,Se:()=>v,Vd:()=>_,Y:()=>x,_j:()=>p,cC:()=>f,d1:()=>O,fW:()=>k,w8:()=>y});var r=n(96540),o=n(56347),a=n(22831),i=n(44070),s=n(99169),l=n(31682),c=n(53886),u=n(23025),d=n(60609);function f(e){const t=(0,u.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function p(e,t){for(const n of e)if("category"===n.type){if(t(n))return n;const e=p(n.items,t);if(e)return e}}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function h(){const{pathname:e}=(0,o.zy)(),t=(0,d.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=w({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,s.ys)(e,t),b=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||b(e.items,t))}function v(e,t){switch(e.type){case"category":return y(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||y(e,t);default:return!0}}function x(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function w(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,s.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,s.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function S(){const e=(0,d.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.useActivePlugin)()?.pluginData.breadcrumbs;return!1!==n&&e?w({sidebarItems:e.items,pathname:t}):null}function _(e){const{activeVersion:t}=(0,i.useActiveDocContext)(e),{preferredVersion:n}=(0,c.g1)(e),o=(0,i.useLatestVersion)(e);return(0,r.useMemo)((()=>(0,l.sb)([t,n,o].filter(Boolean))),[t,n,o])}function k(e,t){const n=_(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function E(e,t){const n=_(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,l.sb)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function P(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,u.r)(),i=t.routes,s=i.find((e=>(0,o.B6)(n.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?r.docsSidebars[l]:void 0;return{docElement:(0,a.v)(i),sidebarName:l,sidebarItems:c}}function O(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},23025:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},44070:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DocProvider:()=>h._,DocSidebarItemsExpandedStateProvider:()=>f.A,DocsPreferredVersionContextProvider:()=>d.VQ,DocsSidebarProvider:()=>m.V,DocsVersionProvider:()=>p.n,filterDocCardListItems:()=>u.d1,findFirstSidebarItemLink:()=>u.Nr,findSidebarCategory:()=>u._j,getDocsVersionSearchTag:()=>g.k,isActiveSidebarItem:()=>u.w8,isVisibleSidebarItem:()=>u.Se,useActiveDocContext:()=>E,useActivePlugin:()=>x,useActivePluginAndVersion:()=>w,useActiveVersion:()=>k,useAllDocsData:()=>y,useCurrentSidebarCategory:()=>u.$S,useDoc:()=>h.u,useDocById:()=>u.cC,useDocRootMetadata:()=>u.B5,useDocSidebarItemsExpandedState:()=>f.G,useDocVersionSuggestions:()=>P,useDocsContextualSearchTags:()=>g.v,useDocsData:()=>v,useDocsPreferredVersion:()=>d.g1,useDocsPreferredVersionByPluginId:()=>d.XK,useDocsSidebar:()=>m.t,useDocsVersion:()=>p.r,useDocsVersionCandidates:()=>u.Vd,useLatestVersion:()=>_,useLayoutDoc:()=>u.QB,useLayoutDocsSidebar:()=>u.fW,useSidebarBreadcrumbs:()=>u.OF,useVersions:()=>S,useVisibleSidebarItems:()=>u.Y});var r=n(56347),o=n(44586),a=n(17065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.default)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=l(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));const a=o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{};return{activeVersion:n,activeDoc:o,alternateDocVersions:a}}var u=n(26972),d=n(53886),f=n(33082),p=n(23025),m=n(60609),h=n(60542),g=n(82565);const b={},y=()=>i("docusaurus-plugin-content-docs")??b,v=e=>{try{return function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function x(e){void 0===e&&(e={});const t=y(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function w(e){void 0===e&&(e={});const t=x(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function S(e){return v(e).versions}function _(e){const t=v(e);return s(t)}function k(e){const t=v(e),{pathname:n}=(0,r.zy)();return l(t,n)}function E(e){const t=v(e),{pathname:n}=(0,r.zy)();return c(t,n)}function P(e){const t=v(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=s(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},76294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},26134:(e,t,n)=>{"use strict";var r=n(71765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t,a=globalThis.Prism;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(19700),n(89874)(`./prism-${e}`)})),delete globalThis.Prism,void 0!==a&&(globalThis.Prism=e)}(r.My)},51107:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>u});n(96540);var r=n(34164),o=n(21312),a=n(6342),i=n(28774),s=n(63427);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(74848);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.default)(),{navbar:{hideOnScroll:f}}=(0,a.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const p=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",f?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.default,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},43186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(74848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},70680:(e,t,n)=>{"use strict";n.d(t,{A:()=>vt});var r=n(96540),o=n(34164),a=n(67489),i=n(45500),s=n(75236),l=n(17559),c=n(14090);const u={skipToContent:"skipToContent_fXgn"};var d=n(74848);function f(){return(0,d.jsx)(s.K,{className:u.skipToContent})}var p=n(6342),m=n(65041),h=n(21312);function g(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,d.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,d.jsx)("g",{stroke:r,strokeWidth:o,children:(0,d.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const b={closeButton:"closeButton_CVFx"};function y(e){return(0,d.jsx)("button",{type:"button","aria-label":(0,h.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",b.closeButton,e.className),children:(0,d.jsx)(g,{width:14,height:14,strokeWidth:3.1})})}const v={content:"content_knG7"};function x(e){const{announcementBar:t}=(0,p.p)(),{content:n}=t;return(0,d.jsx)("div",{...e,className:(0,o.A)(v.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const w={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function S(){const{announcementBar:e}=(0,p.p)(),{isActive:t,close:n}=(0,m.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,d.jsxs)("div",{className:w.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,d.jsx)("div",{className:w.announcementBarPlaceholder}),(0,d.jsx)(x,{className:w.announcementBarContent}),a&&(0,d.jsx)(y,{onClick:n,className:w.announcementBarClose})]})}var _=n(22069),k=n(75062),E=n(23104);var P=n(89532),O=n(75600);const C=r.createContext(null);function j(e){let{children:t}=e;const n=function(){const e=(0,_.M)(),t=(0,O.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,P.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,d.jsx)(C.Provider,{value:n,children:t})}function T(e){if(e.component){const t=e.component;return(0,d.jsx)(t,{...e.props})}}function A(){const e=(0,r.useContext)(C);if(!e)throw new P.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,O.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:T(a)})),[o,a,t])}function I(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=A();return(0,d.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,d.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,d.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var N=n(95293),D=n(92303);function R(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function L(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,d.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const M={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function F(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,D.A)(),s=(0,h.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,h.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,h.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,d.jsx)("div",{className:(0,o.A)(M.toggle,t),children:(0,d.jsxs)("button",{className:(0,o.A)("clean-btn",M.toggleButton,!i&&M.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite","aria-pressed":"dark"===r?"true":"false",children:[(0,d.jsx)(R,{className:(0,o.A)(M.toggleIcon,M.lightToggleIcon)}),(0,d.jsx)(L,{className:(0,o.A)(M.toggleIcon,M.darkToggleIcon)})]})})}const q=r.memo(F),B={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function z(e){let{className:t}=e;const n=(0,p.p)().navbar.style,r=(0,p.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,N.G)();return r?null:(0,d.jsx)(q,{className:t,buttonClassName:"dark"===n?B.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var U=n(23465);function $(){return(0,d.jsx)(U.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function H(){const e=(0,_.M)();return(0,d.jsx)("button",{type:"button","aria-label":(0,h.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,d.jsx)(g,{color:"var(--ifm-color-emphasis-600)"})})}function V(){return(0,d.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,d.jsx)($,{}),(0,d.jsx)(z,{className:"margin-right--md"}),(0,d.jsx)(H,{})]})}var W=n(28774),K=n(86025),G=n(16654),Q=n(91252),Y=n(43186);function Z(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const u=(0,K.Ay)(r),f=(0,K.Ay)(t),p=(0,K.Ay)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,G.A)(o),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,d.jsxs)(d.Fragment,{children:[a,m&&(0,d.jsx)(Y.A,{...s&&{width:12,height:12}})]})};return o?(0,d.jsx)(W.default,{href:l?p:o,...c,...h}):(0,d.jsx)(W.default,{to:u,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,Q.G)(n,t.pathname):t.pathname.startsWith(f)},...c,...h})}function X(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,d.jsx)(Z,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,d.jsx)("li",{children:a}):a}function J(e){let{className:t,isDropdownItem:n,...r}=e;return(0,d.jsx)("li",{className:"menu__list-item",children:(0,d.jsx)(Z,{className:(0,o.A)("menu__link",t),...r})})}function ee(e){let{mobile:t=!1,position:n,...r}=e;const o=t?J:X;return(0,d.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var te=n(41422),ne=n(99169),re=n(56347),oe=n(44586);const ae={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ie(e,t){return e.some((e=>function(e,t){return!!(0,ne.ys)(e.to,t)||!!(0,Q.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function se(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,u]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,d.jsxs)("div",{ref:l,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,d.jsx)(Z,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,o.A)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u(!c))},children:s.children??s.label}),(0,d.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(De,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function le(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const l=function(){const{siteConfig:{baseUrl:e}}=(0,oe.default)(),{pathname:t}=(0,re.zy)();return t.replace(e,"/")}(),c=ie(t,l),{collapsed:u,toggleCollapsed:f,setCollapsed:p}=(0,te.u)({initialState:()=>!c});return(0,r.useEffect)((()=>{c&&p(!c)}),[l,c,p]),(0,d.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":u}),children:[(0,d.jsx)(Z,{role:"button",className:(0,o.A)(ae.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,d.jsx)(te.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:u,children:t.map(((e,t)=>(0,r.createElement)(De,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function ce(e){let{mobile:t=!1,...n}=e;const r=t?le:se;return(0,d.jsx)(r,{...n})}var ue=n(32131);function de(e){let{width:t=20,height:n=20,...r}=e;return(0,d.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,d.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const fe="iconLanguage_nlXk";var pe=n(40961),me=n(55600),he=n(5260),ge=n(24255),be=n(51062),ye=n(2967),ve=n(82565);function xe(){return[`language:${(0,oe.default)().i18n.currentLocale}`,function(){const e=(0,ve.v)();return[ye.C,...e]}().map((e=>`docusaurus_tag:${e}`))]}const we={button:{buttonText:(0,h.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,h.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,h.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,h.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,h.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,h.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,h.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,h.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,h.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,h.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,h.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,h.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,h.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,h.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,h.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,h.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,h.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,h.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,h.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,h.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,h.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,h.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,h.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,h.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,h.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,h.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,h.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Se=null;function _e(e){let{hit:t,children:n}=e;return(0,d.jsx)(W.default,{to:t.url,children:n})}function ke(e){let{state:t,onClose:n}=e;const r=(0,ge.w)();return(0,d.jsx)(W.default,{to:r(t.query),onClick:n,children:(0,d.jsx)(h.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Ee(e){let{contextualSearch:t,externalUrlRegex:o,...a}=e;const{siteMetadata:i}=(0,oe.default)(),s=(0,be.C)(),l=xe(),c=a.searchParameters?.facetFilters??[],u=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(l,c):c,f={...a.searchParameters,facetFilters:u},p=(0,re.W6)(),m=(0,r.useRef)(null),h=(0,r.useRef)(null),[g,b]=(0,r.useState)(!1),[y,v]=(0,r.useState)(void 0),x=(0,r.useCallback)((()=>Se?Promise.resolve():Promise.all([n.e(8158).then(n.bind(n,48158)),Promise.all([n.e(1869),n.e(8913)]).then(n.bind(n,58913)),Promise.all([n.e(1869),n.e(416)]).then(n.bind(n,90416))]).then((e=>{let[{DocSearchModal:t}]=e;Se=t}))),[]),w=(0,r.useCallback)((()=>{if(!m.current){const e=document.createElement("div");m.current=e,document.body.insertBefore(e,document.body.firstChild)}}),[]),S=(0,r.useCallback)((()=>{w(),x().then((()=>b(!0)))}),[x,w]),_=(0,r.useCallback)((()=>{b(!1),h.current?.focus()}),[]),k=(0,r.useCallback)((e=>{"f"===e.key&&(e.metaKey||e.ctrlKey)||(e.preventDefault(),v(e.key),S())}),[S]),E=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,Q.G)(o,t)?window.location.href=t:p.push(t)}}).current,P=(0,r.useRef)((e=>a.transformItems?a.transformItems(e):e.map((e=>({...e,url:s(e.url)}))))).current,O=(0,r.useMemo)((()=>e=>(0,d.jsx)(ke,{...e,onClose:_})),[_]),C=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return(0,me.E8)({isOpen:g,onOpen:S,onClose:_,onInput:k,searchButtonRef:h}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(he.A,{children:(0,d.jsx)("link",{rel:"preconnect",href:`https://${a.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,d.jsx)(me.Bc,{onTouchStart:x,onFocus:x,onMouseOver:x,onClick:S,ref:h,translations:we.button}),g&&Se&&m.current&&(0,pe.createPortal)((0,d.jsx)(Se,{onClose:_,initialScrollY:window.scrollY,initialQuery:y,navigator:E,transformItems:P,hitComponent:_e,transformSearchClient:C,...a.searchPagePath&&{resultsFooterComponent:O},...a,searchParameters:f,placeholder:we.placeholder,translations:we.modal}),m.current)]})}function Pe(){const{siteConfig:e}=(0,oe.default)();return(0,d.jsx)(Ee,{...e.themeConfig.algolia})}const Oe={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ce(e){let{children:t,className:n}=e;return(0,d.jsx)("div",{className:(0,o.A)(n,Oe.navbarSearchContainer),children:t})}var je=n(44070),Te=n(26972);var Ae=n(53886);function Ie(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const Ne={default:ee,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:s,localeConfigs:l}}=(0,oe.default)(),c=(0,ue.o)(),{search:u,hash:f}=(0,re.zy)(),p=[...n,...s.map((e=>{const n=`${`pathname://${c.createUrl({locale:e,fullyQualified:!1})}`}${u}${f}${o}`;return{label:l[e].label,lang:l[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],m=t?(0,h.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):l[i].label;return(0,d.jsx)(ce,{...a,mobile:t,label:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(de,{className:fe}),m]}),items:p})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,d.jsx)(Ce,{className:n,children:(0,d.jsx)(Pe,{})})},dropdown:ce,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,d.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,je.useActiveDocContext)(r),i=(0,Te.QB)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,d.jsx)(ee,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,je.useActiveDocContext)(r),i=(0,Te.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,d.jsx)(ee,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,Te.Vd)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,d.jsx)(ee,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:s,hash:l}=(0,re.zy)(),c=(0,je.useActiveDocContext)(n),u=(0,je.useVersions)(n),{savePreferredVersionName:f}=(0,Ae.g1)(n),p=[...o,...u.map((function(e){const t=Ie(e,c);return{label:e.label,to:`${t.path}${s}${l}`,isActive:()=>e===c.activeVersion,onClick:()=>f(e.name)}})),...a],m=(0,Te.Vd)(n)[0],g=t&&p.length>1?(0,h.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,b=t&&p.length>1?void 0:Ie(m,c).path;return p.length<=1?(0,d.jsx)(ee,{...i,mobile:t,label:g,to:b,isActive:r?()=>!1:void 0}):(0,d.jsx)(ce,{...i,mobile:t,label:g,to:b,items:p,isActive:r?()=>!1:void 0})}};function De(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ne[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,d.jsx)(o,{...n})}function Re(){const e=(0,_.M)(),t=(0,p.p)().navbar.items;return(0,d.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(De,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Le(e){return(0,d.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,d.jsx)(h.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Me(){const e=0===(0,p.p)().navbar.items.length,t=A();return(0,d.jsxs)(d.Fragment,{children:[!e&&(0,d.jsx)(Le,{onClick:()=>t.hide()}),t.content]})}function Fe(){const e=(0,_.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,d.jsx)(I,{header:(0,d.jsx)(V,{}),primaryMenu:(0,d.jsx)(Re,{}),secondaryMenu:(0,d.jsx)(Me,{})}):null}const qe={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Be(e){return(0,d.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function ze(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,p.p)(),i=(0,_.M)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,E.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<a.current)return void n(!0);if(o.current)return void(o.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-a.current,c=window.innerHeight;s&&i>=s?n(!1):i+c<l&&n(!0)})),(0,k.$)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,d.jsxs)("nav",{ref:s,"aria-label":(0,h.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[qe.navbarHideable,!l&&qe.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,d.jsx)(Be,{onClick:i.toggle}),(0,d.jsx)(Fe,{})]})}var Ue=n(12181);const $e="right";function He(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,d.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,d.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ve(){const{toggle:e,shown:t}=(0,_.M)();return(0,d.jsx)("button",{onClick:e,"aria-label":(0,h.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,d.jsx)(He,{})})}const We={colorModeToggle:"colorModeToggle_DEke"};function Ke(e){let{items:t}=e;return(0,d.jsx)(d.Fragment,{children:t.map(((e,t)=>(0,d.jsx)(Ue.k2,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,d.jsx)(De,{...e})},t)))})}function Ge(e){let{left:t,right:n}=e;return(0,d.jsxs)("div",{className:"navbar__inner",children:[(0,d.jsx)("div",{className:"navbar__items",children:t}),(0,d.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Qe(){const e=(0,_.M)(),t=(0,p.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??$e)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,d.jsx)(Ge,{left:(0,d.jsxs)(d.Fragment,{children:[!e.disabled&&(0,d.jsx)(Ve,{}),(0,d.jsx)($,{}),(0,d.jsx)(Ke,{items:n})]}),right:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Ke,{items:r}),(0,d.jsx)(z,{className:We.colorModeToggle}),!o&&(0,d.jsx)(Ce,{children:(0,d.jsx)(Pe,{})})]})})}function Ye(){return(0,d.jsx)(ze,{children:(0,d.jsx)(Qe,{})})}var Ze=n(53106);function Xe(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,K.Ay)(n),l=(0,K.Ay)(r,{forcePrependBaseUrl:!0});return(0,d.jsxs)(W.default,{className:"footer__link-item",...r?{href:a?l:r}:{to:s},...i,children:[o,r&&!(0,G.A)(r)&&(0,d.jsx)(Y.A,{})]})}function Je(e){let{item:t}=e;return t.html?(0,d.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,d.jsx)("li",{className:"footer__item",children:(0,d.jsx)(Xe,{item:t})},t.href??t.to)}function et(e){let{column:t}=e;return(0,d.jsxs)("div",{className:"col footer__col",children:[(0,d.jsx)("div",{className:"footer__title",children:t.title}),(0,d.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,d.jsx)(Je,{item:e},t)))})]})}function tt(e){let{columns:t}=e;return(0,d.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,d.jsx)(et,{column:e},t)))})}function nt(){return(0,d.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function rt(e){let{item:t}=e;return t.html?(0,d.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,d.jsx)(Xe,{item:t})}function ot(e){let{links:t}=e;return(0,d.jsx)("div",{className:"footer__links text--center",children:(0,d.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,d.jsxs)(r.Fragment,{children:[(0,d.jsx)(rt,{item:e}),t.length!==n+1&&(0,d.jsx)(nt,{})]},n)))})})}function at(e){let{links:t}=e;return(0,Ze.C)(t)?(0,d.jsx)(tt,{columns:t}):(0,d.jsx)(ot,{links:t})}var it=n(15626);const st={footerLogoLink:"footerLogoLink_BH7S"};function lt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,K.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,d.jsx)(it.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function ct(e){let{logo:t}=e;return t.href?(0,d.jsx)(W.default,{href:t.href,className:st.footerLogoLink,target:t.target,children:(0,d.jsx)(lt,{logo:t})}):(0,d.jsx)(lt,{logo:t})}function ut(e){let{copyright:t}=e;return(0,d.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function dt(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,d.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,d.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,d.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,d.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function ft(){const{footer:e}=(0,p.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,d.jsx)(dt,{style:o,links:n&&n.length>0&&(0,d.jsx)(at,{links:n}),logo:r&&(0,d.jsx)(ct,{logo:r}),copyright:t&&(0,d.jsx)(ut,{copyright:t})})}const pt=r.memo(ft),mt=(0,P.fM)([N.a,m.o,E.Tv,Ae.VQ,i.Jx,function(e){let{children:t}=e;return(0,d.jsx)(O.y_,{children:(0,d.jsx)(_.e,{children:(0,d.jsx)(j,{children:t})})})}]);function ht(e){let{children:t}=e;return(0,d.jsx)(mt,{children:t})}var gt=n(51107);function bt(e){let{error:t,tryAgain:n}=e;return(0,d.jsx)("main",{className:"container margin-vert--xl",children:(0,d.jsx)("div",{className:"row",children:(0,d.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,d.jsx)(gt.default,{as:"h1",className:"hero__title",children:(0,d.jsx)(h.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,d.jsx)("div",{className:"margin-vert--lg",children:(0,d.jsx)(Ue.a2,{onClick:n,className:"button button--primary shadow--lw"})}),(0,d.jsx)("hr",{}),(0,d.jsx)("div",{className:"margin-vert--md",children:(0,d.jsx)(Ue.bq,{error:t})})]})})})}const yt={mainWrapper:"mainWrapper_z2l0"};function vt(e){const{children:t,noFooter:n,wrapperClassName:r,title:u,description:p}=e;return(0,c.J)(),(0,d.jsxs)(ht,{children:[(0,d.jsx)(i.be,{title:u,description:p}),(0,d.jsx)(f,{}),(0,d.jsx)(S,{}),(0,d.jsx)(Ye,{}),(0,d.jsx)("div",{id:s.j,className:(0,o.A)(l.G.wrapper.main,yt.mainWrapper,r),children:(0,d.jsx)(a.A,{fallback:e=>(0,d.jsx)(bt,{...e}),children:t})}),!n&&(0,d.jsx)(pt,{})]})}},23465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(96540);var r=n(28774),o=n(86025),a=n(44586),i=n(6342),s=n(15626),l=n(74848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.default)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...f}=e,p=(0,o.Ay)(s?.href||"/"),m=n?"":t,h=s?.alt??m;return(0,l.jsxs)(r.default,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:h,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},41463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(5260),o=n(74848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},15626:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(96540);var r=n(9967),o=n(74848);function a(e){const{sources:t,className:n,alt:a,...i}=e;return(0,o.jsx)(r.A,{className:n,children:e=>{let{theme:n,className:r}=e;return(0,o.jsx)("img",{src:t[n],alt:a,className:r,...i})}})}},41422:(e,t,n)=>{"use strict";n.d(t,{N:()=>b,u:()=>c});var r=n(96540),o=n(38193),a=n(205),i=n(53109),s=n(74848);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return f(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.A.canUseDOM)return e?u:d}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return p({collapsibleRef:u,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(u.current,n),i?.(n))},className:l,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&c(t)}),[o,t]),o?(0,s.jsx)(h,{...n,collapsed:l}):null}function b(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,s.jsx)(r,{...n})}},9967:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(96540),o=n(34164),a=n(92303),i=n(95293);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(74848);function c(e){let{className:t,children:n}=e;const c=(0,a.A)(),{colorMode:u}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:a},e)}))})}},65041:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>m});var r=n(96540),o=n(92303),a=n(70679),i=n(89532),s=n(6342),l=n(74848);const c=(0,a.Wf)("docusaurus.announcement.dismiss"),u=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),f=e=>c.set(String(e)),p=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&f(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(p.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},95293:(e,t,n)=>{"use strict";n.d(t,{G:()=>b,a:()=>g});var r=n(96540),o=n(38193),a=n(89532),i=n(70679),s=n(6342),l=n(74848);const c=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,m=e=>o.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),h=e=>{d.set(p(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[o,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},22069:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>f});var r=n(96540),o=n(75600),a=n(24581),i=n(57485),s=n(6342),l=n(89532),c=n(74848);const u=r.createContext(void 0);function d(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[l,c]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(l)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:l})),[e,n,u,l])}function f(e){let{children:t}=e;const n=d();return(0,c.jsx)(u.Provider,{value:n,children:t})}function p(){const e=r.useContext(u);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},75600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>l,y_:()=>s});var r=n(96540),o=n(89532),a=n(74848);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,o.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},14090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(96540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},24255:(e,t,n)=>{"use strict";n.d(t,{b:()=>s,w:()=>l});var r=n(96540),o=n(44586),a=n(57485);const i="q";function s(){return(0,a.l)(i)}function l(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,o.default)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},24581:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(96540),o=n(38193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},17559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},53109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},12181:(e,t,n)=>{"use strict";n.d(t,{bq:()=>u,MN:()=>c,a2:()=>l,k2:()=>d});var r=n(96540),o=n(21312),a=n(70440);const i={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};var s=n(74848);function l(e){return(0,s.jsx)("button",{type:"button",...e,children:(0,s.jsx)(o.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function c(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{className:i.errorBoundaryFallback,children:[(0,s.jsx)("p",{children:t.message}),(0,s.jsx)(l,{onClick:n})]})}function u(e){let{error:t}=e;const n=(0,a.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{className:i.errorBoundaryError,children:n})}class d extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}},53106:(e,t,n)=>{"use strict";function r(e){return"title"in e[0]}n.d(t,{C:()=>r})},20481:(e,t,n)=>{"use strict";n.d(t,{s:()=>o});var r=n(44586);function o(e){const{siteConfig:t}=(0,r.default)(),{title:n,titleDelimiter:o}=t;return e?.trim().length?`${e.trim()} ${o} ${n}`:n}},57485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,Hl:()=>s,W9:()=>d,aZ:()=>l,fV:()=>u,l:()=>c});var r=n(96540),o=n(56347),a=n(89532);function i(e){!function(e){const t=(0,o.W6)(),n=(0,a._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){const t=(0,o.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function l(e){return s((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function c(e){const t=l(e)??"",n=function(e){const t=(0,o.W6)();return(0,r.useCallback)(((n,r)=>{const o=new URLSearchParams(t.location.search);n?o.set(e,n):o.delete(e),(r?.push?t.push:t.replace)({search:o.toString()})}),[e,t])}(e);return[t,n]}function u(e){const t=function(e){const t=s((t=>{const n=new URLSearchParams(t.location.search).getAll(e);return JSON.stringify(n)}));return(0,r.useMemo)((()=>JSON.parse(t)),[t])}(e),n=function(e){const t=(0,o.W6)();return(0,r.useCallback)(((n,r)=>{const o=new URLSearchParams(t.location.search),a=Array.isArray(n)?n:n(o.getAll(e));o.delete(e),a.forEach((t=>o.append(e,t))),(r?.push?t.push:t.replace)({search:o.toString()})}),[t,e])}(e);return[t,n]}function d(){const e=(0,o.W6)();return(0,r.useCallback)((()=>{e.replace({search:void 0})}),[e])}},31682:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function o(e){return Array.from(new Set(e))}function a(e,t){const n={};let r=0;for(const o of e){const e=t(o,r);n[e]??=[],n[e].push(o),r+=1}return n}n.d(t,{$z:()=>a,XI:()=>r,sb:()=>o})},45500:(e,t,n)=>{"use strict";n.d(t,{Jx:()=>p,be:()=>u,e3:()=>f});var r=n(96540),o=n(34164),a=n(5260),i=n(36803),s=n(86025),l=n(20481),c=n(74848);function u(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const u=(0,l.s)(t),{withBaseUrl:d}=(0,s.hH)(),f=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.A,{children:[t&&(0,c.jsx)("title",{children:u}),t&&(0,c.jsx)("meta",{property:"og:title",content:u}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,c.jsx)("meta",{property:"og:image",content:f}),f&&(0,c.jsx)("meta",{name:"twitter:image",content:f}),i]})}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,o.A)(i,t);return(0,c.jsxs)(d.Provider,{value:s,children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("html",{className:s})}),n]})}function p(e){let{children:t}=e;const n=(0,i.A)(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,o.A)(r,a),children:t})}},89532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>u});var r=n(96540),o=n(205),a=n(74848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},91252:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>r})},99169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(96540),o=n(35947),a=n(44586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.default)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},23104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>u,a_:()=>m,gk:()=>h});var r=n(96540),o=n(38193),a=n(92303),i=n(205),s=n(89532),l=n(74848);const c=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function d(){const e=(0,r.useContext)(c);if(null==e)throw new s.dV("ScrollControllerProvider");return e}const f=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),o=(0,r.useRef)(f()),a=(0,s._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=f();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function m(){const e=d(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),o=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.A)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:o}}function h(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&o<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(o-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{C:()=>r});const r="default"},75236:(e,t,n)=>{"use strict";n.d(t,{K:()=>f,j:()=>l});var r=n(96540),o=n(56347),a=n(21312),i=n(75062),s=n(74848);const l="__docusaurus_skipToContent_fallback";function c(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function u(){const e=(0,r.useRef)(null),{action:t}=(0,o.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(l);t&&c(t)}),[]);return(0,i.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&c(e.current)})),{containerRef:e,onClick:n}}const d=(0,a.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function f(e){const t=e.children??d,{containerRef:n,onClick:r}=u();return(0,s.jsx)("div",{ref:n,role:"region","aria-label":d,children:(0,s.jsx)("a",{...e,href:`#${l}`,onClick:r,children:t})})}},70679:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>u,Eo:()=>f,Dv:()=>d});var r=n(96540);const o=JSON.parse('{"N":"localStorage","M":""}'),a=o.N;function i(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function s(e){if(void 0===e&&(e=a),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,l||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),l=!0),null}var t}let l=!1;const c={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){const n=`${e}${o.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const r=s(t?.persistence);return null===r?c:{get:()=>{try{return r.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=r.getItem(n);r.setItem(n,e),i({key:n,oldValue:t,newValue:e,storage:r})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=r.getItem(n);r.removeItem(n),i({key:n,oldValue:e,newValue:null,storage:r})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===r&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?c:u(e,t))).current(),o=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}function f(e){void 0===e&&(e=a);const t=s(e);if(!t)return[];const n=[];for(let r=0;r<t.length;r+=1){const e=t.key(r);null!==e&&n.push(e)}return n}},32131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(44586),o=n(56347),a=n(70440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.default)(),{pathname:l}=(0,o.zy)(),c=(0,a.Ks)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},75062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(96540),o=n(56347),a=n(89532);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(44586);function o(){return(0,r.default)().siteConfig.themeConfig}},38126:(e,t,n)=>{"use strict";n.d(t,{c:()=>o});var r=n(44586);function o(){const{siteConfig:{themeConfig:e}}=(0,r.default)();return e}},51062:(e,t,n)=>{"use strict";n.d(t,{C:()=>s});var r=n(96540),o=n(91252),a=n(86025),i=n(38126);function s(){const{withBaseUrl:e}=(0,a.hH)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.c)();return(0,r.useCallback)((r=>{const a=new URL(r);if((0,o.G)(t,a.href))return r;const i=`${a.pathname+a.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},12983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,c=n,c?o(l):a(l));var l,c;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(42566);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},80253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},70440:(e,t,n)=>{"use strict";t.rA=t.Ks=t.LU=void 0;const r=n(31635);t.LU="__blog-post-container";var o=n(12983);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(42566);var i=n(80253);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},42566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},31513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>x,TM:()=>P,yJ:()=>p,sC:()=>C,AO:()=>f});var r=n(58168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&o(e),l=t&&o(t),c=s||l;if(e&&o(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,f=i.length;f>=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),d++):d&&(a(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(11561);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function p(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var h=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var b="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function x(e){void 0===e&&(e={}),h||(0,s.A)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,a=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,x=void 0!==c&&c,w=i.getUserConfirmation,S=void 0===w?g:w,_=i.keyLength,k=void 0===_?6:_,E=e.basename?d(l(e.basename)):"";function P(e){var t=e||{},n=t.key,r=t.state,o=window.location,a=o.pathname+o.search+o.hash;return E&&(a=u(a,E)),p(a,r,n)}function O(){return Math.random().toString(36).substr(2,k)}var C=m();function j(e){(0,r.A)(z,e),z.length=n.length,C.notifyListeners(z.location,z.action)}function T(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||N(P(e.state))}function A(){N(P(v()))}var I=!1;function N(e){if(I)I=!1,j();else{C.confirmTransitionTo(e,"POP",S,(function(t){t?j({action:"POP",location:e}):function(e){var t=z.location,n=R.indexOf(t.key);-1===n&&(n=0);var r=R.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(I=!0,M(o))}(e)}))}}var D=P(v()),R=[D.key];function L(e){return E+f(e)}function M(e){n.go(e)}var F=0;function q(e){1===(F+=e)&&1===e?(window.addEventListener(b,T),a&&window.addEventListener(y,A)):0===F&&(window.removeEventListener(b,T),a&&window.removeEventListener(y,A))}var B=!1;var z={length:n.length,action:"POP",location:D,createHref:L,push:function(e,t){var r="PUSH",a=p(e,t,O(),z.location);C.confirmTransitionTo(a,r,S,(function(e){if(e){var t=L(a),i=a.key,s=a.state;if(o)if(n.pushState({key:i,state:s},null,t),x)window.location.href=t;else{var l=R.indexOf(z.location.key),c=R.slice(0,l+1);c.push(a.key),R=c,j({action:r,location:a})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,O(),z.location);C.confirmTransitionTo(a,r,S,(function(e){if(e){var t=L(a),i=a.key,s=a.state;if(o)if(n.replaceState({key:i,state:s},null,t),x)window.location.replace(t);else{var l=R.indexOf(z.location.key);-1!==l&&(R[l]=a.key),j({action:r,location:a})}else window.location.replace(t)}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=C.setPrompt(e);return B||(q(1),B=!0),function(){return B&&(B=!1,q(-1)),t()}},listen:function(e){var t=C.appendListener(e);return q(1),function(){q(-1),t()}}};return z}var w="hashchange",S={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:l},slash:{encodePath:l,decodePath:l}};function _(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function k(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function E(e){window.location.replace(_(window.location.href)+"#"+e)}function P(e){void 0===e&&(e={}),h||(0,s.A)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,a=void 0===o?g:o,i=n.hashType,c=void 0===i?"slash":i,b=e.basename?d(l(e.basename)):"",y=S[c],v=y.encodePath,x=y.decodePath;function P(){var e=x(k());return b&&(e=u(e,b)),p(e)}var O=m();function C(e){(0,r.A)(B,e),B.length=t.length,O.notifyListeners(B.location,B.action)}var j=!1,T=null;function A(){var e,t,n=k(),r=v(n);if(n!==r)E(r);else{var o=P(),i=B.location;if(!j&&(t=o,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(T===f(o))return;T=null,function(e){if(j)j=!1,C();else{var t="POP";O.confirmTransitionTo(e,t,a,(function(n){n?C({action:t,location:e}):function(e){var t=B.location,n=R.lastIndexOf(f(t));-1===n&&(n=0);var r=R.lastIndexOf(f(e));-1===r&&(r=0);var o=n-r;o&&(j=!0,L(o))}(e)}))}}(o)}}var I=k(),N=v(I);I!==N&&E(N);var D=P(),R=[f(D)];function L(e){t.go(e)}var M=0;function F(e){1===(M+=e)&&1===e?window.addEventListener(w,A):0===M&&window.removeEventListener(w,A)}var q=!1;var B={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=_(window.location.href)),n+"#"+v(b+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,B.location);O.confirmTransitionTo(r,n,a,(function(e){if(e){var t=f(r),o=v(b+t);if(k()!==o){T=t,function(e){window.location.hash=e}(o);var a=R.lastIndexOf(f(B.location)),i=R.slice(0,a+1);i.push(t),R=i,C({action:n,location:r})}else C()}}))},replace:function(e,t){var n="REPLACE",r=p(e,void 0,void 0,B.location);O.confirmTransitionTo(r,n,a,(function(e){if(e){var t=f(r),o=v(b+t);k()!==o&&(T=t,E(o));var a=R.indexOf(f(B.location));-1!==a&&(R[a]=t),C({action:n,location:r})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=O.setPrompt(e);return q||(F(1),q=!0),function(){return q&&(q=!1,F(-1)),t()}},listen:function(e){var t=O.appendListener(e);return F(1),function(){F(-1),t()}}};return B}function O(e,t,n){return Math.min(Math.max(e,t),n)}function C(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,a=void 0===o?["/"]:o,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,c=void 0===l?6:l,u=m();function d(e){(0,r.A)(x,e),x.length=x.entries.length,u.notifyListeners(x.location,x.action)}function h(){return Math.random().toString(36).substr(2,c)}var g=O(s,0,a.length-1),b=a.map((function(e){return p(e,void 0,"string"==typeof e?h():e.key||h())})),y=f;function v(e){var t=O(x.index+e,0,x.entries.length-1),r=x.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var x={length:b.length,action:"POP",location:b[g],index:g,entries:b,createHref:y,push:function(e,t){var r="PUSH",o=p(e,t,h(),x.location);u.confirmTransitionTo(o,r,n,(function(e){if(e){var t=x.index+1,n=x.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,h(),x.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(x.entries[x.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=x.index+e;return t>=0&&t<x.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return x}},4146:(e,t,n)=>{"use strict";var r=n(44363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=p(n);o&&o!==m&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),g=0;g<i.length;++g){var b=i[g];if(!(a[b]||r&&r[b]||h&&h[b]||s&&s[b])){var y=f(n,b);try{c(t,b,y)}catch(v){}}}}return t}},20311:e=>{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},64634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},10119:(e,t,n)=>{"use strict";n.r(t)},51043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},35302:(e,t,n)=>{var r=n(64634);e.exports=m,e.exports.parse=a,e.exports.compile=function(e,t){return l(a(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,s=0,l="",c=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(s,p),s=p+d.length,f)l+=f[1];else{var m=e[s],h=n[2],g=n[3],b=n[4],y=n[5],v=n[6],x=n[7];l&&(r.push(l),l="");var w=null!=h&&null!=m&&m!==h,S="+"===v||"*"===v,_="?"===v||"*"===v,k=h||c,E=b||y,P=h||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:g||a++,prefix:h||"",delimiter:k,optional:_,repeat:S,partial:w,asterisk:!!x,pattern:E?u(E):x?".*":i(k,P)})}}return s<e.length&&(l+=e.substr(s)),l&&r.push(l),r}function i(e,t){return!t||t.indexOf(e)>-1?"[^"+c(e)+"]+?":c(t)+"|(?:(?!"+c(t)+")[^"+c(e)+"])+?"}function s(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(n[o]=new RegExp("^(?:"+e[o].pattern+")$",f(t)));return function(t,o){for(var a="",i=t||{},l=(o||{}).pretty?s:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,f=i[u.name];if(null==f){if(u.optional){u.partial&&(a+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(f)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(d=l(f[p]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");a+=(0===p?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(f).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(f),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');a+=u.prefix+d}}else a+=u}return a}}function c(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function d(e,t){return e.keys=t,e}function f(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var o=(n=n||{}).strict,a=!1!==n.end,i="",s=0;s<e.length;s++){var l=e[s];if("string"==typeof l)i+=c(l);else{var u=c(l.prefix),p="(?:"+l.pattern+")";t.push(l),l.repeat&&(p+="(?:"+u+p+")*"),i+=p=l.optional?l.partial?u+"("+p+")?":"(?:"+u+"("+p+"))?":u+"("+p+")"}}var m=c(n.delimiter||"/"),h=i.slice(-m.length)===m;return o||(i=(h?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=a?"$":o&&h?"":"(?="+m+"|$)",d(new RegExp("^"+i,f(n)),t)}function m(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return d(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],o=0;o<e.length;o++)r.push(m(e[o],t,n).source);return d(new RegExp("(?:"+r.join("|")+")",f(n)),t)}(e,t,n):function(e,t,n){return p(a(e,n),t,n)}(e,t,n)}},72514:()=>{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},19700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(o>=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],f="string"==typeof c?c:c.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++o;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),y=[];h&&y.push.apply(y,i([h])),y.push(g),b&&y.push.apply(y,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},89874:(e,t,n)=>{var r={"./prism-json":72514};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=89874},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},22551:(e,t,n)=>{"use strict";var r=n(96540),o=n(69982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function h(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,n,r){var o=g.hasOwnProperty(t)?g[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!d.call(m,e)||!d.call(p,e)&&(f.test(e)?m[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,y);g[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,y);g[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,y);g[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var x=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),S=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),P=Symbol.for("react.provider"),O=Symbol.for("react.context"),C=Symbol.for("react.forward_ref"),j=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),I=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var N=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var D=Symbol.iterator;function R(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=D&&e[D]||e["@@iterator"])?e:null}var L,M=Object.assign;function F(e){if(void 0===L)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);L=t&&t[1]||""}return"\n"+L+e}var q=!1;function B(e,t){if(!e||q)return"";q=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var o=c.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,s=a.length-1;1<=i&&0<=s&&o[i]!==a[s];)s--;for(;1<=i&&0<=s;i--,s--)if(o[i]!==a[s]){if(1!==i||1!==s)do{if(i--,0>--s||o[i]!==a[s]){var l="\n"+o[i].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=i&&0<=s);break}}}finally{q=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?F(e):""}function z(e){switch(e.tag){case 5:return F(e.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case _:return"Fragment";case S:return"Portal";case E:return"Profiler";case k:return"StrictMode";case j:return"Suspense";case T:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case O:return(e.displayName||"Context")+".Consumer";case P:return(e._context.displayName||"Context")+".Provider";case C:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case A:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case I:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function $(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===k?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function W(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function G(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return M({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Z(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){Z(e,t);var n=H(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&G(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return M({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function ae(e,t){var n=H(t.value),r=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function fe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function he(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=he(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(pe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]}))}));var be=M({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var xe=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Se=null,_e=null,ke=null;function Ee(e){if(e=xo(e)){if("function"!=typeof Se)throw Error(a(280));var t=e.stateNode;t&&(t=So(t),Se(e.stateNode,e.type,t))}}function Pe(e){_e?ke?ke.push(e):ke=[e]:_e=e}function Oe(){if(_e){var e=_e,t=ke;if(ke=_e=null,Ee(e),t)for(e=0;e<t.length;e++)Ee(t[e])}}function Ce(e,t){return e(t)}function je(){}var Te=!1;function Ae(e,t,n){if(Te)return e(t,n);Te=!0;try{return Ce(e,t,n)}finally{Te=!1,(null!==_e||null!==ke)&&(je(),Oe())}}function Ie(e,t){var n=e.stateNode;if(null===n)return null;var r=So(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Ne=!1;if(u)try{var De={};Object.defineProperty(De,"passive",{get:function(){Ne=!0}}),window.addEventListener("test",De,De),window.removeEventListener("test",De,De)}catch(ue){Ne=!1}function Re(e,t,n,r,o,a,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Le=!1,Me=null,Fe=!1,qe=null,Be={onError:function(e){Le=!0,Me=e}};function ze(e,t,n,r,o,a,i,s,l){Le=!1,Me=null,Re.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function $e(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(Ue(e)!==e)throw Error(a(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var i=o.alternate;if(null===i){if(null!==(r=o.return)){n=r;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return He(o),e;if(i===r)return He(o),t;i=i.sibling}throw Error(a(188))}if(n.return!==r.return)n=o,r=i;else{for(var s=!1,l=o.child;l;){if(l===n){s=!0,n=o,r=i;break}if(l===r){s=!0,r=o,n=i;break}l=l.sibling}if(!s){for(l=i.child;l;){if(l===n){s=!0,n=i,r=o;break}if(l===r){s=!0,r=i,n=o;break}l=l.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?We(e):null}function We(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=We(e);if(null!==t)return t;e=e.sibling}return null}var Ke=o.unstable_scheduleCallback,Ge=o.unstable_cancelCallback,Qe=o.unstable_shouldYield,Ye=o.unstable_requestPaint,Ze=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Je=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,rt=o.unstable_IdlePriority,ot=null,at=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ft(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~o;0!==s?r=dt(s):0!==(a&=i)&&(r=dt(a))}else 0!==(i=n&~o)?r=dt(i):0!==a&&(r=dt(a));if(0===r)return 0;if(0!==t&&t!==r&&!(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&4194240&a))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-it(t)),r|=e[n],t&=~o;return r}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ht(){var e=ct;return!(4194240&(ct<<=1))&&(ct=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var vt=0;function xt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var wt,St,_t,kt,Et,Pt=!1,Ot=[],Ct=null,jt=null,Tt=null,At=new Map,It=new Map,Nt=[],Dt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Rt(e,t){switch(e){case"focusin":case"focusout":Ct=null;break;case"dragenter":case"dragleave":jt=null;break;case"mouseover":case"mouseout":Tt=null;break;case"pointerover":case"pointerout":At.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":It.delete(t.pointerId)}}function Lt(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&(null!==(t=xo(t))&&St(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Mt(e){var t=vo(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=$e(n)))return e.blockedOn=t,void Et(e.priority,(function(){_t(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=xo(n))&&St(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);xe=r,n.target.dispatchEvent(r),xe=null,t.shift()}return!0}function qt(e,t,n){Ft(e)&&n.delete(t)}function Bt(){Pt=!1,null!==Ct&&Ft(Ct)&&(Ct=null),null!==jt&&Ft(jt)&&(jt=null),null!==Tt&&Ft(Tt)&&(Tt=null),At.forEach(qt),It.forEach(qt)}function zt(e,t){e.blockedOn===t&&(e.blockedOn=null,Pt||(Pt=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return zt(t,e)}if(0<Ot.length){zt(Ot[0],e);for(var n=1;n<Ot.length;n++){var r=Ot[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Ct&&zt(Ct,e),null!==jt&&zt(jt,e),null!==Tt&&zt(Tt,e),At.forEach(t),It.forEach(t),n=0;n<Nt.length;n++)(r=Nt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Nt.length&&null===(n=Nt[0]).blockedOn;)Mt(n),null===n.blockedOn&&Nt.shift()}var $t=x.ReactCurrentBatchConfig,Ht=!0;function Vt(e,t,n,r){var o=vt,a=$t.transition;$t.transition=null;try{vt=1,Kt(e,t,n,r)}finally{vt=o,$t.transition=a}}function Wt(e,t,n,r){var o=vt,a=$t.transition;$t.transition=null;try{vt=4,Kt(e,t,n,r)}finally{vt=o,$t.transition=a}}function Kt(e,t,n,r){if(Ht){var o=Qt(e,t,n,r);if(null===o)Hr(e,t,r,Gt,n),Rt(e,r);else if(function(e,t,n,r,o){switch(t){case"focusin":return Ct=Lt(Ct,e,t,n,r,o),!0;case"dragenter":return jt=Lt(jt,e,t,n,r,o),!0;case"mouseover":return Tt=Lt(Tt,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return At.set(a,Lt(At.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,It.set(a,Lt(It.get(a)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(Rt(e,r),4&t&&-1<Dt.indexOf(e)){for(;null!==o;){var a=xo(o);if(null!==a&&wt(a),null===(a=Qt(e,t,n,r))&&Hr(e,t,r,Gt,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else Hr(e,t,r,null,n)}}var Gt=null;function Qt(e,t,n,r){if(Gt=null,null!==(e=vo(e=we(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=$e(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Gt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Zt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,o="value"in Zt?Zt.value:Zt.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);return Jt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return M(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,sn,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(cn),dn=M({},cn,{view:0,detail:0}),fn=on(dn),pn=M({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(an=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=an=0,ln=e),an)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),mn=on(pn),hn=on(M({},pn,{dataTransfer:0})),gn=on(M({},dn,{relatedTarget:0})),bn=on(M({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=M({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=on(yn),xn=on(M({},cn,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Sn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function kn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function En(){return kn}var Pn=M({},dn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Sn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),On=on(Pn),Cn=on(M({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),jn=on(M({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En})),Tn=on(M({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),An=M({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),In=on(An),Nn=[9,13,27,32],Dn=u&&"CompositionEvent"in window,Rn=null;u&&"documentMode"in document&&(Rn=document.documentMode);var Ln=u&&"TextEvent"in window&&!Rn,Mn=u&&(!Dn||Rn&&8<Rn&&11>=Rn),Fn=String.fromCharCode(32),qn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Nn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var $n={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!$n[e.type]:"textarea"===t}function Vn(e,t,n,r){Pe(r),0<(t=Wr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Wn=null,Kn=null;function Gn(e){Fr(e,0)}function Qn(e){if(K(wo(e)))return e}function Yn(e,t){if("change"===e)return t}var Zn=!1;if(u){var Xn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Zn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Wn&&(Wn.detachEvent("onpropertychange",nr),Kn=Wn=null)}function nr(e){if("value"===e.propertyName&&Qn(Kn)){var t=[];Vn(t,Kn,e,we(e)),Ae(Gn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Kn=n,(Wn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Kn)}function ar(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var sr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function lr(e,t){if(sr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!d.call(t,o)||!sr(e[o],t[o]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function fr(){for(var e=window,t=G();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=G((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mr(e){var t=fr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=ur(n,a);var i=ur(n,r);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var hr=u&&"documentMode"in document&&11>=document.documentMode,gr=null,br=null,yr=null,vr=!1;function xr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==gr||gr!==G(r)||("selectionStart"in(r=gr)&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&lr(yr,r)||(yr=r,0<(r=Wr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function wr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Sr={animationend:wr("Animation","AnimationEnd"),animationiteration:wr("Animation","AnimationIteration"),animationstart:wr("Animation","AnimationStart"),transitionend:wr("Transition","TransitionEnd")},_r={},kr={};function Er(e){if(_r[e])return _r[e];if(!Sr[e])return e;var t,n=Sr[e];for(t in n)if(n.hasOwnProperty(t)&&t in kr)return _r[e]=n[t];return e}u&&(kr=document.createElement("div").style,"AnimationEvent"in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),"TransitionEvent"in window||delete Sr.transitionend.transition);var Pr=Er("animationend"),Or=Er("animationiteration"),Cr=Er("animationstart"),jr=Er("transitionend"),Tr=new Map,Ar="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ir(e,t){Tr.set(e,t),l(t,[e])}for(var Nr=0;Nr<Ar.length;Nr++){var Dr=Ar[Nr];Ir(Dr.toLowerCase(),"on"+(Dr[0].toUpperCase()+Dr.slice(1)))}Ir(Pr,"onAnimationEnd"),Ir(Or,"onAnimationIteration"),Ir(Cr,"onAnimationStart"),Ir("dblclick","onDoubleClick"),Ir("focusin","onFocus"),Ir("focusout","onBlur"),Ir(jr,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Rr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Lr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Rr));function Mr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,o,i,s,l,c){if(ze.apply(this,arguments),Le){if(!Le)throw Error(a(198));var u=Me;Le=!1,Me=null,Fe||(Fe=!0,qe=u)}}(r,t,void 0,e),e.currentTarget=null}function Fr(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==a&&o.isPropagationStopped())break e;Mr(o,s,c),a=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,c=s.currentTarget,s=s.listener,l!==a&&o.isPropagationStopped())break e;Mr(o,s,c),a=l}}}if(Fe)throw e=qe,Fe=!1,qe=null,e}function qr(e,t){var n=t[go];void 0===n&&(n=t[go]=new Set);var r=e+"__bubble";n.has(r)||($r(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),$r(n,e,r,t)}var zr="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[zr]){e[zr]=!0,i.forEach((function(t){"selectionchange"!==t&&(Lr.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[zr]||(t[zr]=!0,Br("selectionchange",!1,t))}}function $r(e,t,n,r){switch(Yt(t)){case 1:var o=Vt;break;case 4:o=Wt;break;default:o=Kt}n=o.bind(null,t,n,e),o=void 0,!Ne||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Hr(e,t,n,r,o){var a=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===o||8===s.nodeType&&s.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===o||8===l.nodeType&&l.parentNode===o))return;i=i.return}for(;null!==s;){if(null===(i=vo(s)))return;if(5===(l=i.tag)||6===l){r=a=i;continue e}s=s.parentNode}}r=r.return}Ae((function(){var r=a,o=we(n),i=[];e:{var s=Tr.get(e);if(void 0!==s){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=On;break;case"focusin":c="focus",l=gn;break;case"focusout":c="blur",l=gn;break;case"beforeblur":case"afterblur":l=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=hn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=jn;break;case Pr:case Or:case Cr:l=bn;break;case jr:l=Tn;break;case"scroll":l=fn;break;case"wheel":l=In;break;case"copy":case"cut":case"paste":l=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Cn}var u=!!(4&t),d=!u&&"scroll"===e,f=u?null!==s?s+"Capture":null:s;u=[];for(var p,m=r;null!==m;){var h=(p=m).stateNode;if(5===p.tag&&null!==h&&(p=h,null!==f&&(null!=(h=Ie(m,f))&&u.push(Vr(m,h,p)))),d)break;m=m.return}0<u.length&&(s=new l(s,c,null,n,o),i.push({event:s,listeners:u}))}}if(!(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===xe||!(c=n.relatedTarget||n.fromElement)||!vo(c)&&!c[ho])&&(l||s)&&(s=o.window===o?o:(s=o.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?vo(c):null)&&(c!==(d=Ue(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=mn,h="onMouseLeave",f="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=Cn,h="onPointerLeave",f="onPointerEnter",m="pointer"),d=null==l?s:wo(l),p=null==c?s:wo(c),(s=new u(h,m+"leave",l,n,o)).target=d,s.relatedTarget=p,h=null,vo(o)===r&&((u=new u(f,m+"enter",c,n,o)).target=p,u.relatedTarget=d,h=u),d=h,l&&c)e:{for(f=c,m=0,p=u=l;p;p=Kr(p))m++;for(p=0,h=f;h;h=Kr(h))p++;for(;0<m-p;)u=Kr(u),m--;for(;0<p-m;)f=Kr(f),p--;for(;m--;){if(u===f||null!==f&&u===f.alternate)break e;u=Kr(u),f=Kr(f)}u=null}else u=null;null!==l&&Gr(i,s,l,u,!1),null!==c&&null!==d&&Gr(i,d,c,u,!0)}if("select"===(l=(s=r?wo(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var g=Yn;else if(Hn(s))if(Zn)g=ir;else{g=or;var b=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(g=ar);switch(g&&(g=g(e,r))?Vn(i,g,n,o):(b&&b(e,s,r),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ee(s,"number",s.value)),b=r?wo(r):window,e){case"focusin":(Hn(b)||"true"===b.contentEditable)&&(gr=b,br=r,yr=null);break;case"focusout":yr=br=gr=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,xr(i,n,o);break;case"selectionchange":if(hr)break;case"keydown":case"keyup":xr(i,n,o)}var y;if(Dn)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Un?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Mn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==v?"onCompositionEnd"===v&&Un&&(y=en()):(Xt="value"in(Zt=o)?Zt.value:Zt.textContent,Un=!0)),0<(b=Wr(r,v)).length&&(v=new xn(v,e,null,n,o),i.push({event:v,listeners:b}),y?v.data=y:null!==(y=zn(n))&&(v.data=y))),(y=Ln?function(e,t){switch(e){case"compositionend":return zn(t);case"keypress":return 32!==t.which?null:(qn=!0,Fn);case"textInput":return(e=t.data)===Fn&&qn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!Dn&&Bn(e,t)?(e=en(),Jt=Xt=Zt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Mn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Wr(r,"onBeforeInput")).length&&(o=new xn("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:r}),o.data=y))}Fr(i,t)}))}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Wr(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Ie(e,n))&&r.unshift(Vr(e,a,o)),null!=(a=Ie(e,t))&&r.push(Vr(e,a,o))),e=e.return}return r}function Kr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Gr(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,o?null!=(l=Ie(n,a))&&i.unshift(Vr(n,l,s)):o||null!=(l=Ie(n,a))&&i.push(Vr(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Qr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Zr(e){return("string"==typeof e?e:""+e).replace(Qr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Zr(t),Zr(e)!==t&&n)throw Error(a(425))}function Jr(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ro="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ao="function"==typeof Promise?Promise:void 0,io="function"==typeof queueMicrotask?queueMicrotask:void 0!==ao?function(e){return ao.resolve(null).then(e).catch(so)}:ro;function so(e){setTimeout((function(){throw e}))}function lo(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===r)return e.removeChild(o),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=o}while(n);Ut(t)}function co(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var fo=Math.random().toString(36).slice(2),po="__reactFiber$"+fo,mo="__reactProps$"+fo,ho="__reactContainer$"+fo,go="__reactEvents$"+fo,bo="__reactListeners$"+fo,yo="__reactHandles$"+fo;function vo(e){var t=e[po];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ho]||n[po]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[po])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function xo(e){return!(e=e[po]||e[ho])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function So(e){return e[mo]||null}var _o=[],ko=-1;function Eo(e){return{current:e}}function Po(e){0>ko||(e.current=_o[ko],_o[ko]=null,ko--)}function Oo(e,t){ko++,_o[ko]=e.current,e.current=t}var Co={},jo=Eo(Co),To=Eo(!1),Ao=Co;function Io(e,t){var n=e.type.contextTypes;if(!n)return Co;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function No(e){return null!=(e=e.childContextTypes)}function Do(){Po(To),Po(jo)}function Ro(e,t,n){if(jo.current!==Co)throw Error(a(168));Oo(jo,t),Oo(To,n)}function Lo(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(a(108,$(e)||"Unknown",o));return M({},n,r)}function Mo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Co,Ao=jo.current,Oo(jo,e),Oo(To,To.current),!0}function Fo(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=Lo(e,t,Ao),r.__reactInternalMemoizedMergedChildContext=e,Po(To),Po(jo),Oo(jo,e)):Po(To),Oo(To,n)}var qo=null,Bo=!1,zo=!1;function Uo(e){null===qo?qo=[e]:qo.push(e)}function $o(){if(!zo&&null!==qo){zo=!0;var e=0,t=vt;try{var n=qo;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}qo=null,Bo=!1}catch(o){throw null!==qo&&(qo=qo.slice(e+1)),Ke(Je,$o),o}finally{vt=t,zo=!1}}return null}var Ho=[],Vo=0,Wo=null,Ko=0,Go=[],Qo=0,Yo=null,Zo=1,Xo="";function Jo(e,t){Ho[Vo++]=Ko,Ho[Vo++]=Wo,Wo=e,Ko=t}function ea(e,t,n){Go[Qo++]=Zo,Go[Qo++]=Xo,Go[Qo++]=Yo,Yo=e;var r=Zo;e=Xo;var o=32-it(r)-1;r&=~(1<<o),n+=1;var a=32-it(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Zo=1<<32-it(t)+o|n<<o|r,Xo=a+e}else Zo=1<<a|n<<o|r,Xo=e}function ta(e){null!==e.return&&(Jo(e,1),ea(e,1,0))}function na(e){for(;e===Wo;)Wo=Ho[--Vo],Ho[Vo]=null,Ko=Ho[--Vo],Ho[Vo]=null;for(;e===Yo;)Yo=Go[--Qo],Go[Qo]=null,Xo=Go[--Qo],Go[Qo]=null,Zo=Go[--Qo],Go[Qo]=null}var ra=null,oa=null,aa=!1,ia=null;function sa(e,t){var n=Ac(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function la(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ra=e,oa=co(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ra=e,oa=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Yo?{id:Zo,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Ac(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ra=e,oa=null,!0);default:return!1}}function ca(e){return!(!(1&e.mode)||128&e.flags)}function ua(e){if(aa){var t=oa;if(t){var n=t;if(!la(e,t)){if(ca(e))throw Error(a(418));t=co(n.nextSibling);var r=ra;t&&la(e,t)?sa(r,n):(e.flags=-4097&e.flags|2,aa=!1,ra=e)}}else{if(ca(e))throw Error(a(418));e.flags=-4097&e.flags|2,aa=!1,ra=e}}}function da(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ra=e}function fa(e){if(e!==ra)return!1;if(!aa)return da(e),aa=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oa)){if(ca(e))throw pa(),Error(a(418));for(;t;)sa(e,t),t=co(t.nextSibling)}if(da(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oa=co(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oa=null}}else oa=ra?co(e.stateNode.nextSibling):null;return!0}function pa(){for(var e=oa;e;)e=co(e.nextSibling)}function ma(){oa=ra=null,aa=!1}function ha(e){null===ia?ia=[e]:ia.push(e)}var ga=x.ReactCurrentBatchConfig;function ba(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var o=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=o.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function ya(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function va(e){return(0,e._init)(e._payload)}function xa(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Nc(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Mc(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function c(e,t,n,r){var a=n.type;return a===_?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===I&&va(a)===t.type)?((r=o(t,n.props)).ref=ba(e,t,n),r.return=e,r):((r=Dc(n.type,n.key,n.props,null,e.mode,r)).ref=ba(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Fc(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function d(e,t,n,r,a){return null===t||7!==t.tag?((t=Rc(n,e.mode,r,a)).return=e,t):((t=o(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Mc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Dc(t.type,t.key,t.props,null,e.mode,n)).ref=ba(e,null,t),n.return=e,n;case S:return(t=Fc(t,e.mode,n)).return=e,t;case I:return f(e,(0,t._init)(t._payload),n)}if(te(t)||R(t))return(t=Rc(t,e.mode,n,null)).return=e,t;ya(e,t)}return null}function p(e,t,n,r){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===o?c(e,t,n,r):null;case S:return n.key===o?u(e,t,n,r):null;case I:return p(e,t,(o=n._init)(n._payload),r)}if(te(n)||R(n))return null!==o?null:d(e,t,n,r,null);ya(e,n)}return null}function m(e,t,n,r,o){if("string"==typeof r&&""!==r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,o);if("object"==typeof r&&null!==r){switch(r.$$typeof){case w:return c(t,e=e.get(null===r.key?n:r.key)||null,r,o);case S:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case I:return m(e,t,n,(0,r._init)(r._payload),o)}if(te(r)||R(r))return d(t,e=e.get(n)||null,r,o,null);ya(t,r)}return null}function h(o,a,s,l){for(var c=null,u=null,d=a,h=a=0,g=null;null!==d&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var b=p(o,d,s[h],l);if(null===b){null===d&&(d=g);break}e&&d&&null===b.alternate&&t(o,d),a=i(b,a,h),null===u?c=b:u.sibling=b,u=b,d=g}if(h===s.length)return n(o,d),aa&&Jo(o,h),c;if(null===d){for(;h<s.length;h++)null!==(d=f(o,s[h],l))&&(a=i(d,a,h),null===u?c=d:u.sibling=d,u=d);return aa&&Jo(o,h),c}for(d=r(o,d);h<s.length;h++)null!==(g=m(d,o,h,s[h],l))&&(e&&null!==g.alternate&&d.delete(null===g.key?h:g.key),a=i(g,a,h),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach((function(e){return t(o,e)})),aa&&Jo(o,h),c}function g(o,s,l,c){var u=R(l);if("function"!=typeof u)throw Error(a(150));if(null==(l=u.call(l)))throw Error(a(151));for(var d=u=null,h=s,g=s=0,b=null,y=l.next();null!==h&&!y.done;g++,y=l.next()){h.index>g?(b=h,h=null):b=h.sibling;var v=p(o,h,y.value,c);if(null===v){null===h&&(h=b);break}e&&h&&null===v.alternate&&t(o,h),s=i(v,s,g),null===d?u=v:d.sibling=v,d=v,h=b}if(y.done)return n(o,h),aa&&Jo(o,g),u;if(null===h){for(;!y.done;g++,y=l.next())null!==(y=f(o,y.value,c))&&(s=i(y,s,g),null===d?u=y:d.sibling=y,d=y);return aa&&Jo(o,g),u}for(h=r(o,h);!y.done;g++,y=l.next())null!==(y=m(h,o,g,y.value,c))&&(e&&null!==y.alternate&&h.delete(null===y.key?g:y.key),s=i(y,s,g),null===d?u=y:d.sibling=y,d=y);return e&&h.forEach((function(e){return t(o,e)})),aa&&Jo(o,g),u}return function e(r,a,i,l){if("object"==typeof i&&null!==i&&i.type===_&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case w:e:{for(var c=i.key,u=a;null!==u;){if(u.key===c){if((c=i.type)===_){if(7===u.tag){n(r,u.sibling),(a=o(u,i.props.children)).return=r,r=a;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===I&&va(c)===u.type){n(r,u.sibling),(a=o(u,i.props)).ref=ba(r,u,i),a.return=r,r=a;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===_?((a=Rc(i.props.children,r.mode,l,i.key)).return=r,r=a):((l=Dc(i.type,i.key,i.props,null,r.mode,l)).ref=ba(r,a,i),l.return=r,r=l)}return s(r);case S:e:{for(u=i.key;null!==a;){if(a.key===u){if(4===a.tag&&a.stateNode.containerInfo===i.containerInfo&&a.stateNode.implementation===i.implementation){n(r,a.sibling),(a=o(a,i.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=Fc(i,r.mode,l)).return=r,r=a}return s(r);case I:return e(r,a,(u=i._init)(i._payload),l)}if(te(i))return h(r,a,i,l);if(R(i))return g(r,a,i,l);ya(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==a&&6===a.tag?(n(r,a.sibling),(a=o(a,i)).return=r,r=a):(n(r,a),(a=Mc(i,r.mode,l)).return=r,r=a),s(r)):n(r,a)}}var wa=xa(!0),Sa=xa(!1),_a=Eo(null),ka=null,Ea=null,Pa=null;function Oa(){Pa=Ea=ka=null}function Ca(e){var t=_a.current;Po(_a),e._currentValue=t}function ja(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ta(e,t){ka=e,Pa=Ea=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(vs=!0),e.firstContext=null)}function Aa(e){var t=e._currentValue;if(Pa!==e)if(e={context:e,memoizedValue:t,next:null},null===Ea){if(null===ka)throw Error(a(308));Ea=e,ka.dependencies={lanes:0,firstContext:e}}else Ea=Ea.next=e;return t}var Ia=null;function Na(e){null===Ia?Ia=[e]:Ia.push(e)}function Da(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,Na(t)):(n.next=o.next,o.next=n),t.interleaved=n,Ra(e,r)}function Ra(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var La=!1;function Ma(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Fa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function qa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&Cl){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Ra(e,n)}return null===(o=r.interleaved)?(t.next=t,Na(r)):(t.next=o.next,o.next=t),r.interleaved=t,Ra(e,n)}function za(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Ua(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function $a(e,t,n,r){var o=e.updateQueue;La=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,s=o.shared.pending;if(null!==s){o.shared.pending=null;var l=s,c=l.next;l.next=null,null===i?a=c:i.next=c,i=l;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(null!==a){var d=o.baseState;for(i=0,u=c=l=null,s=a;;){var f=s.lane,p=s.eventTime;if((r&f)===f){null!==u&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if("function"==typeof(m=h.payload)){d=m.call(p,d,f);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(f="function"==typeof(m=h.payload)?m.call(p,d,f):m))break e;d=M({},d,f);break e;case 2:La=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(f=o.effects)?o.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(c=u=p,l=d):u=u.next=p,i|=f;if(null===(s=s.next)){if(null===(s=o.shared.pending))break;s=(f=s).next,f.next=null,o.lastBaseUpdate=f,o.shared.pending=null}}if(null===u&&(l=d),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=u,null!==(t=o.shared.interleaved)){o=t;do{i|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);Ll|=i,e.lanes=i,e.memoizedState=d}}function Ha(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!=typeof o)throw Error(a(191,o));o.call(r)}}}var Va={},Wa=Eo(Va),Ka=Eo(Va),Ga=Eo(Va);function Qa(e){if(e===Va)throw Error(a(174));return e}function Ya(e,t){switch(Oo(Ga,t),Oo(Ka,e),Oo(Wa,Va),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Po(Wa),Oo(Wa,t)}function Za(){Po(Wa),Po(Ka),Po(Ga)}function Xa(e){Qa(Ga.current);var t=Qa(Wa.current),n=le(t,e.type);t!==n&&(Oo(Ka,e),Oo(Wa,n))}function Ja(e){Ka.current===e&&(Po(Wa),Po(Ka))}var ei=Eo(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ri(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var oi=x.ReactCurrentDispatcher,ai=x.ReactCurrentBatchConfig,ii=0,si=null,li=null,ci=null,ui=!1,di=!1,fi=0,pi=0;function mi(){throw Error(a(321))}function hi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function gi(e,t,n,r,o,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,oi.current=null===e||null===e.memoizedState?Ji:es,e=n(r,o),di){i=0;do{if(di=!1,fi=0,25<=i)throw Error(a(301));i+=1,ci=li=null,t.updateQueue=null,oi.current=ts,e=n(r,o)}while(di)}if(oi.current=Xi,t=null!==li&&null!==li.next,ii=0,ci=li=si=null,ui=!1,t)throw Error(a(300));return e}function bi(){var e=0!==fi;return fi=0,e}function yi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ci?si.memoizedState=ci=e:ci=ci.next=e,ci}function vi(){if(null===li){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=li.next;var t=null===ci?si.memoizedState:ci.next;if(null!==t)ci=t,li=e;else{if(null===e)throw Error(a(310));e={memoizedState:(li=e).memoizedState,baseState:li.baseState,baseQueue:li.baseQueue,queue:li.queue,next:null},null===ci?si.memoizedState=ci=e:ci=ci.next=e}return ci}function xi(e,t){return"function"==typeof t?t(e):t}function wi(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=li,o=r.baseQueue,i=n.pending;if(null!==i){if(null!==o){var s=o.next;o.next=i.next,i.next=s}r.baseQueue=o=i,n.pending=null}if(null!==o){i=o.next,r=r.baseState;var l=s=null,c=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=f,s=r):c=c.next=f,si.lanes|=d,Ll|=d}u=u.next}while(null!==u&&u!==i);null===c?s=r:c.next=l,sr(r,t.memoizedState)||(vs=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do{i=o.lane,si.lanes|=i,Ll|=i,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Si(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,i=t.memoizedState;if(null!==o){n.pending=null;var s=o=o.next;do{i=e(i,s.action),s=s.next}while(s!==o);sr(i,t.memoizedState)||(vs=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function _i(){}function ki(e,t){var n=si,r=vi(),o=t(),i=!sr(r.memoizedState,o);if(i&&(r.memoizedState=o,vs=!0),r=r.queue,Li(Oi.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==ci&&1&ci.memoizedState.tag){if(n.flags|=2048,Ai(9,Pi.bind(null,n,r,o,t),void 0,null),null===jl)throw Error(a(349));30&ii||Ei(n,t,o)}return o}function Ei(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Pi(e,t,n,r){t.value=n,t.getSnapshot=r,Ci(t)&&ji(e)}function Oi(e,t,n){return n((function(){Ci(t)&&ji(e)}))}function Ci(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function ji(e){var t=Ra(e,1);null!==t&&nc(t,e,1,-1)}function Ti(e){var t=yi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:xi,lastRenderedState:e},t.queue=e,e=e.dispatch=Gi.bind(null,si,e),[t.memoizedState,e]}function Ai(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Ii(){return vi().memoizedState}function Ni(e,t,n,r){var o=yi();si.flags|=e,o.memoizedState=Ai(1|t,n,void 0,void 0===r?null:r)}function Di(e,t,n,r){var o=vi();r=void 0===r?null:r;var a=void 0;if(null!==li){var i=li.memoizedState;if(a=i.destroy,null!==r&&hi(r,i.deps))return void(o.memoizedState=Ai(t,n,a,r))}si.flags|=e,o.memoizedState=Ai(1|t,n,a,r)}function Ri(e,t){return Ni(8390656,8,e,t)}function Li(e,t){return Di(2048,8,e,t)}function Mi(e,t){return Di(4,2,e,t)}function Fi(e,t){return Di(4,4,e,t)}function qi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,n){return n=null!=n?n.concat([e]):null,Di(4,4,qi.bind(null,t,e),n)}function zi(){}function Ui(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&hi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function $i(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&hi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Hi(e,t,n){return 21&ii?(sr(n,t)||(n=ht(),si.lanes|=n,Ll|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,vs=!0),e.memoizedState=n)}function Vi(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=ai.transition;ai.transition={};try{e(!1),t()}finally{vt=n,ai.transition=r}}function Wi(){return vi().memoizedState}function Ki(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Qi(e))Yi(t,n);else if(null!==(n=Da(e,t,n,r))){nc(n,e,r,ec()),Zi(n,t,r)}}function Gi(e,t,n){var r=tc(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Qi(e))Yi(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=a(i,n);if(o.hasEagerState=!0,o.eagerState=s,sr(s,i)){var l=t.interleaved;return null===l?(o.next=o,Na(t)):(o.next=l.next,l.next=o),void(t.interleaved=o)}}catch(c){}null!==(n=Da(e,t,o,r))&&(nc(n,e,r,o=ec()),Zi(n,t,r))}}function Qi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Yi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Zi(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}var Xi={readContext:Aa,useCallback:mi,useContext:mi,useEffect:mi,useImperativeHandle:mi,useInsertionEffect:mi,useLayoutEffect:mi,useMemo:mi,useReducer:mi,useRef:mi,useState:mi,useDebugValue:mi,useDeferredValue:mi,useTransition:mi,useMutableSource:mi,useSyncExternalStore:mi,useId:mi,unstable_isNewReconciler:!1},Ji={readContext:Aa,useCallback:function(e,t){return yi().memoizedState=[e,void 0===t?null:t],e},useContext:Aa,useEffect:Ri,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ni(4194308,4,qi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ni(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ni(4,2,e,t)},useMemo:function(e,t){var n=yi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=yi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Ki.bind(null,si,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},yi().memoizedState=e},useState:Ti,useDebugValue:zi,useDeferredValue:function(e){return yi().memoizedState=e},useTransition:function(){var e=Ti(!1),t=e[0];return e=Vi.bind(null,e[1]),yi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=si,o=yi();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===jl)throw Error(a(349));30&ii||Ei(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Ri(Oi.bind(null,r,i,e),[e]),r.flags|=2048,Ai(9,Pi.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=yi(),t=jl.identifierPrefix;if(aa){var n=Xo;t=":"+t+"R"+(n=(Zo&~(1<<32-it(Zo)-1)).toString(32)+n),0<(n=fi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=pi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Aa,useCallback:Ui,useContext:Aa,useEffect:Li,useImperativeHandle:Bi,useInsertionEffect:Mi,useLayoutEffect:Fi,useMemo:$i,useReducer:wi,useRef:Ii,useState:function(){return wi(xi)},useDebugValue:zi,useDeferredValue:function(e){return Hi(vi(),li.memoizedState,e)},useTransition:function(){return[wi(xi)[0],vi().memoizedState]},useMutableSource:_i,useSyncExternalStore:ki,useId:Wi,unstable_isNewReconciler:!1},ts={readContext:Aa,useCallback:Ui,useContext:Aa,useEffect:Li,useImperativeHandle:Bi,useInsertionEffect:Mi,useLayoutEffect:Fi,useMemo:$i,useReducer:Si,useRef:Ii,useState:function(){return Si(xi)},useDebugValue:zi,useDeferredValue:function(e){var t=vi();return null===li?t.memoizedState=e:Hi(t,li.memoizedState,e)},useTransition:function(){return[Si(xi)[0],vi().memoizedState]},useMutableSource:_i,useSyncExternalStore:ki,useId:Wi,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=M({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rs(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:M({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var os={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=qa(r,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),za(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=qa(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),za(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),o=qa(n,r);o.tag=2,null!=t&&(o.callback=t),null!==(t=Ba(e,o,r))&&(nc(t,e,r,n),za(t,e,r))}};function as(e,t,n,r,o,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(o,a))}function is(e,t,n){var r=!1,o=Co,a=t.contextType;return"object"==typeof a&&null!==a?a=Aa(a):(o=No(t)?Ao:jo.current,a=(r=null!=(r=t.contextTypes))?Io(e,o):Co),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=os,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function ss(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&os.enqueueReplaceState(t,t.state,null)}function ls(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Ma(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=Aa(a):(a=No(t)?Ao:jo.current,o.context=Io(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(rs(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&os.enqueueReplaceState(o,o.state,null),$a(e,n,o,r),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function cs(e,t){try{var n="",r=t;do{n+=z(r),r=r.return}while(r);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fs="function"==typeof WeakMap?WeakMap:Map;function ps(e,t,n){(n=qa(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Hl||(Hl=!0,Vl=r),ds(0,t)},n}function ms(e,t,n){(n=qa(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){ds(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof r&&(null===Wl?Wl=new Set([this]):Wl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hs(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fs;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=Ec.bind(null,e,t,n),t.then(e,e))}function gs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bs(e,t,n,r,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=qa(-1,1)).tag=2,Ba(n,t,1))),n.lanes|=1),e)}var ys=x.ReactCurrentOwner,vs=!1;function xs(e,t,n,r){t.child=null===e?Sa(t,null,n,r):wa(t,e.child,n,r)}function ws(e,t,n,r,o){n=n.render;var a=t.ref;return Ta(t,o),r=gi(e,t,n,r,a,o),n=bi(),null===e||vs?(aa&&n&&ta(t),t.flags|=1,xs(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hs(e,t,o))}function Ss(e,t,n,r,o){if(null===e){var a=n.type;return"function"!=typeof a||Ic(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Dc(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,_s(e,t,a,r,o))}if(a=e.child,!(e.lanes&o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(i,r)&&e.ref===t.ref)return Hs(e,t,o)}return t.flags|=1,(e=Nc(a,r)).ref=t.ref,e.return=t,t.child=e}function _s(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(lr(a,r)&&e.ref===t.ref){if(vs=!1,t.pendingProps=r=a,!(e.lanes&o))return t.lanes=e.lanes,Hs(e,t,o);131072&e.flags&&(vs=!0)}}return Ps(e,t,n,r,o)}function ks(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Oo(Nl,Il),Il|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,Oo(Nl,Il),Il|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Oo(Nl,Il),Il|=n;else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,Oo(Nl,Il),Il|=r;return xs(e,t,o,n),t.child}function Es(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ps(e,t,n,r,o){var a=No(n)?Ao:jo.current;return a=Io(t,a),Ta(t,o),n=gi(e,t,n,r,a,o),r=bi(),null===e||vs?(aa&&r&&ta(t),t.flags|=1,xs(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hs(e,t,o))}function Os(e,t,n,r,o){if(No(n)){var a=!0;Mo(t)}else a=!1;if(Ta(t,o),null===t.stateNode)$s(e,t),is(t,n,r),ls(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=Aa(c):c=Io(t,c=No(n)?Ao:jo.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==c)&&ss(t,i,r,c),La=!1;var f=t.memoizedState;i.state=f,$a(t,r,i,o),l=t.memoizedState,s!==r||f!==l||To.current||La?("function"==typeof u&&(rs(t,n,u,r),l=t.memoizedState),(s=La||as(t,n,s,r,f,l,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=c,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Fa(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:ns(t.type,s),i.props=c,d=t.pendingProps,f=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=Aa(l):l=Io(t,l=No(n)?Ao:jo.current);var p=n.getDerivedStateFromProps;(u="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||f!==l)&&ss(t,i,r,l),La=!1,f=t.memoizedState,i.state=f,$a(t,r,i,o);var m=t.memoizedState;s!==d||f!==m||To.current||La?("function"==typeof p&&(rs(t,n,p,r),m=t.memoizedState),(c=La||as(t,n,c,r,f,m,l)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=l,r=c):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Cs(e,t,n,r,a,o)}function Cs(e,t,n,r,o,a){Es(e,t);var i=!!(128&t.flags);if(!r&&!i)return o&&Fo(t,n,!1),Hs(e,t,a);r=t.stateNode,ys.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=wa(t,e.child,null,a),t.child=wa(t,null,s,a)):xs(e,t,s,a),t.memoizedState=r.state,o&&Fo(t,n,!0),t.child}function js(e){var t=e.stateNode;t.pendingContext?Ro(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Ro(0,t.context,!1),Ya(e,t.containerInfo)}function Ts(e,t,n,r,o){return ma(),ha(o),t.flags|=256,xs(e,t,n,r),t.child}var As,Is,Ns,Ds,Rs={dehydrated:null,treeContext:null,retryLane:0};function Ls(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ms(e,t,n){var r,o=t.pendingProps,i=ei.current,s=!1,l=!!(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&!!(2&i)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),Oo(ei,1&i),null===e)return ua(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=o.children,e=o.fallback,s?(o=t.mode,s=t.child,l={mode:"hidden",children:l},1&o||null===s?s=Lc(l,o,0,null):(s.childLanes=0,s.pendingProps=l),e=Rc(e,o,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ls(n),t.memoizedState=Rs,e):Fs(t,l));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,o,i,s){if(n)return 256&t.flags?(t.flags&=-257,qs(e,t,s,r=us(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=Lc({mode:"visible",children:r.children},o,0,null),(i=Rc(i,o,s,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,1&t.mode&&wa(t,e.child,null,s),t.child.memoizedState=Ls(s),t.memoizedState=Rs,i);if(!(1&t.mode))return qs(e,t,s,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var l=r.dgst;return r=l,qs(e,t,s,r=us(i=Error(a(419)),r,void 0))}if(l=!!(s&e.childLanes),vs||l){if(null!==(r=jl)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=o&(r.suspendedLanes|s)?0:o)&&o!==i.retryLane&&(i.retryLane=o,Ra(e,o),nc(r,e,o,-1))}return hc(),qs(e,t,s,r=us(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Oc.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,oa=co(o.nextSibling),ra=t,aa=!0,ia=null,null!==e&&(Go[Qo++]=Zo,Go[Qo++]=Xo,Go[Qo++]=Yo,Zo=e.id,Xo=e.overflow,Yo=t),t=Fs(t,r.children),t.flags|=4096,t)}(e,t,l,o,r,i,n);if(s){s=o.fallback,l=t.mode,r=(i=e.child).sibling;var c={mode:"hidden",children:o.children};return 1&l||t.child===i?(o=Nc(i,c)).subtreeFlags=14680064&i.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null),null!==r?s=Nc(r,s):(s=Rc(s,l,n,null)).flags|=2,s.return=t,o.return=t,o.sibling=s,t.child=o,o=s,s=t.child,l=null===(l=e.child.memoizedState)?Ls(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=Rs,o}return e=(s=e.child).sibling,o=Nc(s,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Fs(e,t){return(t=Lc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function qs(e,t,n,r){return null!==r&&ha(r),wa(t,e.child,null,n),(e=Fs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),ja(e.return,t,n)}function zs(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function Us(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(xs(e,t,r.children,n),2&(r=ei.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,n,t);else if(19===e.tag)Bs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Oo(ei,r),1&t.mode)switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),zs(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ti(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}zs(t,!0,n,null,a);break;case"together":zs(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function $s(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Hs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ll|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Nc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Nc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vs(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ws(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ks(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ws(t),null;case 1:case 17:return No(t.type)&&Do(),Ws(t),null;case 3:return r=t.stateNode,Za(),Po(To),Po(jo),ri(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(fa(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ia&&(ic(ia),ia=null))),Is(e,t),Ws(t),null;case 5:Ja(t);var o=Qa(Ga.current);if(n=t.type,null!==e&&null!=t.stateNode)Ns(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return Ws(t),null}if(e=Qa(Wa.current),fa(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[po]=t,r[mo]=i,e=!!(1&t.mode),n){case"dialog":qr("cancel",r),qr("close",r);break;case"iframe":case"object":case"embed":qr("load",r);break;case"video":case"audio":for(o=0;o<Rr.length;o++)qr(Rr[o],r);break;case"source":qr("error",r);break;case"img":case"image":case"link":qr("error",r),qr("load",r);break;case"details":qr("toggle",r);break;case"input":Y(r,i),qr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},qr("invalid",r);break;case"textarea":oe(r,i),qr("invalid",r)}for(var l in ye(n,i),o=null,i)if(i.hasOwnProperty(l)){var c=i[l];"children"===l?"string"==typeof c?r.textContent!==c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",""+c]):s.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&qr("scroll",r)}switch(n){case"input":W(r),J(r,i,!0);break;case"textarea":W(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=o,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[po]=t,e[mo]=r,As(e,t,!1,!1),t.stateNode=e;e:{switch(l=ve(n,r),n){case"dialog":qr("cancel",e),qr("close",e),o=r;break;case"iframe":case"object":case"embed":qr("load",e),o=r;break;case"video":case"audio":for(o=0;o<Rr.length;o++)qr(Rr[o],e);o=r;break;case"source":qr("error",e),o=r;break;case"img":case"image":case"link":qr("error",e),qr("load",e),o=r;break;case"details":qr("toggle",e),o=r;break;case"input":Y(e,r),o=Q(e,r),qr("invalid",e);break;case"option":default:o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=M({},r,{value:void 0}),qr("invalid",e);break;case"textarea":oe(e,r),o=re(e,r),qr("invalid",e)}for(i in ye(n,o),c=o)if(c.hasOwnProperty(i)){var u=c[i];"style"===i?ge(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&fe(e,u):"number"==typeof u&&fe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&qr("scroll",e):null!=u&&v(e,i,u,l))}switch(n){case"input":W(e),J(e,r,!1);break;case"textarea":W(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+H(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ws(t),null;case 6:if(e&&null!=t.stateNode)Ds(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(a(166));if(n=Qa(Ga.current),Qa(Wa.current),fa(t)){if(r=t.stateNode,n=t.memoizedProps,r[po]=t,(i=r.nodeValue!==n)&&null!==(e=ra))switch(e.tag){case 3:Xr(r.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,!!(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[po]=t,t.stateNode=r}return Ws(t),null;case 13:if(Po(ei),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(aa&&null!==oa&&1&t.mode&&!(128&t.flags))pa(),ma(),t.flags|=98560,i=!1;else if(i=fa(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(a(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(a(317));i[po]=t}else ma(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ws(t),i=!1}else null!==ia&&(ic(ia),ia=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ei.current?0===Dl&&(Dl=3):hc())),null!==t.updateQueue&&(t.flags|=4),Ws(t),null);case 4:return Za(),Is(e,t),null===e&&Ur(t.stateNode.containerInfo),Ws(t),null;case 10:return Ca(t.type._context),Ws(t),null;case 19:if(Po(ei),null===(i=t.memoizedState))return Ws(t),null;if(r=!!(128&t.flags),null===(l=i.rendering))if(r)Vs(i,!1);else{if(0!==Dl||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(l=ti(e))){for(t.flags|=128,Vs(i,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(l=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Oo(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Ze()>Ul&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ti(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!l.alternate&&!aa)return Ws(t),null}else 2*Ze()-i.renderingStartTime>Ul&&1073741824!==n&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=i.last)?n.sibling=l:t.child=l,i.last=l)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ze(),t.sibling=null,n=ei.current,Oo(ei,r?1&n|2:1&n),t):(Ws(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?!!(1073741824&Il)&&(Ws(t),6&t.subtreeFlags&&(t.flags|=8192)):Ws(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Gs(e,t){switch(na(t),t.tag){case 1:return No(t.type)&&Do(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Za(),Po(To),Po(jo),ri(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Ja(t),null;case 13:if(Po(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));ma()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Po(ei),null;case 4:return Za(),null;case 10:return Ca(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}As=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Is=function(){},Ns=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Qa(Wa.current);var a,i=null;switch(n){case"input":o=Q(e,o),r=Q(e,r),i=[];break;case"select":o=M({},o,{value:void 0}),r=M({},r,{value:void 0}),i=[];break;case"textarea":o=re(e,o),r=re(e,r),i=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(u in ye(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var l=o[u];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(i||(i=[]),i.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(i=i||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(i=i||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&qr("scroll",e),i||l===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Ds=function(e,t,n,r){n!==r&&(t.flags|=4)};var Qs=!1,Ys=!1,Zs="function"==typeof WeakSet?WeakSet:Set,Xs=null;function Js(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){kc(e,t,r)}else n.current=null}function el(e,t,n){try{n()}catch(r){kc(e,t,r)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&el(t,n,a)}o=o.next}while(o!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ol(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function al(e){var t=e.alternate;null!==t&&(e.alternate=null,al(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[po],delete t[mo],delete t[go],delete t[bo],delete t[yo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function il(e){return 5===e.tag||3===e.tag||4===e.tag}function sl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||il(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,dl=!1;function fl(e,t,n){for(n=n.child;null!==n;)pl(e,t,n),n=n.sibling}function pl(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(s){}switch(n.tag){case 5:Ys||Js(n,t);case 6:var r=ul,o=dl;ul=null,fl(e,t,n),dl=o,null!==(ul=r)&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?lo(e.parentNode,n):1===e.nodeType&&lo(e,n),Ut(e)):lo(ul,n.stateNode));break;case 4:r=ul,o=dl,ul=n.stateNode.containerInfo,dl=!0,fl(e,t,n),ul=r,dl=o;break;case 0:case 11:case 14:case 15:if(!Ys&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,void 0!==i&&(2&a||4&a)&&el(n,t,i),o=o.next}while(o!==r)}fl(e,t,n);break;case 1:if(!Ys&&(Js(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){kc(n,t,s)}fl(e,t,n);break;case 21:fl(e,t,n);break;case 22:1&n.mode?(Ys=(r=Ys)||null!==n.memoizedState,fl(e,t,n),Ys=r):fl(e,t,n);break;default:fl(e,t,n)}}function ml(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Zs),t.forEach((function(t){var r=Cc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function hl(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var i=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(a(160));pl(i,s,o),ul=null,dl=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(u){kc(o,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gl(t,e),t=t.sibling}function gl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hl(t,e),bl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(g){kc(e,e.return,g)}try{nl(5,e,e.return)}catch(g){kc(e,e.return,g)}}break;case 1:hl(t,e),bl(e),512&r&&null!==n&&Js(n,n.return);break;case 5:if(hl(t,e),bl(e),512&r&&null!==n&&Js(n,n.return),32&e.flags){var o=e.stateNode;try{fe(o,"")}catch(g){kc(e,e.return,g)}}if(4&r&&null!=(o=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===i.type&&null!=i.name&&Z(o,i),ve(l,s);var u=ve(l,i);for(s=0;s<c.length;s+=2){var d=c[s],f=c[s+1];"style"===d?ge(o,f):"dangerouslySetInnerHTML"===d?de(o,f):"children"===d?fe(o,f):v(o,d,f,u)}switch(l){case"input":X(o,i);break;case"textarea":ae(o,i);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(o,!!i.multiple,m,!1):p!==!!i.multiple&&(null!=i.defaultValue?ne(o,!!i.multiple,i.defaultValue,!0):ne(o,!!i.multiple,i.multiple?[]:"",!1))}o[mo]=i}catch(g){kc(e,e.return,g)}}break;case 6:if(hl(t,e),bl(e),4&r){if(null===e.stateNode)throw Error(a(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(g){kc(e,e.return,g)}}break;case 3:if(hl(t,e),bl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(g){kc(e,e.return,g)}break;case 4:default:hl(t,e),bl(e);break;case 13:hl(t,e),bl(e),8192&(o=e.child).flags&&(i=null!==o.memoizedState,o.stateNode.isHidden=i,!i||null!==o.alternate&&null!==o.alternate.memoizedState||(zl=Ze())),4&r&&ml(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ys=(u=Ys)||d,hl(t,e),Ys=u):hl(t,e),bl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Xs=e,d=e.child;null!==d;){for(f=Xs=d;null!==Xs;){switch(m=(p=Xs).child,p.tag){case 0:case 11:case 14:case 15:nl(4,p,p.return);break;case 1:Js(p,p.return);var h=p.stateNode;if("function"==typeof h.componentWillUnmount){r=p,n=p.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(g){kc(r,n,g)}}break;case 5:Js(p,p.return);break;case 22:if(null!==p.memoizedState){wl(f);continue}}null!==m?(m.return=p,Xs=m):wl(f)}d=d.sibling}e:for(d=null,f=e;;){if(5===f.tag){if(null===d){d=f;try{o=f.stateNode,u?"function"==typeof(i=o.style).setProperty?i.setProperty("display","none","important"):i.display="none":(l=f.stateNode,s=null!=(c=f.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=he("display",s))}catch(g){kc(e,e.return,g)}}}else if(6===f.tag){if(null===d)try{f.stateNode.nodeValue=u?"":f.memoizedProps}catch(g){kc(e,e.return,g)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===e)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;null===f.sibling;){if(null===f.return||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:hl(t,e),bl(e),4&r&&ml(e);case 21:}}function bl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(il(n)){var r=n;break e}n=n.return}throw Error(a(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(fe(o,""),r.flags&=-33),cl(e,sl(e),o);break;case 3:case 4:var i=r.stateNode.containerInfo;ll(e,sl(e),i);break;default:throw Error(a(161))}}catch(s){kc(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yl(e,t,n){Xs=e,vl(e,t,n)}function vl(e,t,n){for(var r=!!(1&e.mode);null!==Xs;){var o=Xs,a=o.child;if(22===o.tag&&r){var i=null!==o.memoizedState||Qs;if(!i){var s=o.alternate,l=null!==s&&null!==s.memoizedState||Ys;s=Qs;var c=Ys;if(Qs=i,(Ys=l)&&!c)for(Xs=o;null!==Xs;)l=(i=Xs).child,22===i.tag&&null!==i.memoizedState?Sl(o):null!==l?(l.return=i,Xs=l):Sl(o);for(;null!==a;)Xs=a,vl(a,t,n),a=a.sibling;Xs=o,Qs=s,Ys=c}xl(e)}else 8772&o.subtreeFlags&&null!==a?(a.return=o,Xs=a):xl(e)}}function xl(e){for(;null!==Xs;){var t=Xs;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Ys||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ys)if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Ha(t,i,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ha(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var f=d.dehydrated;null!==f&&Ut(f)}}}break;default:throw Error(a(163))}Ys||512&t.flags&&ol(t)}catch(p){kc(t,t.return,p)}}if(t===e){Xs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Xs=n;break}Xs=t.return}}function wl(e){for(;null!==Xs;){var t=Xs;if(t===e){Xs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Xs=n;break}Xs=t.return}}function Sl(e){for(;null!==Xs;){var t=Xs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){kc(t,n,l)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(l){kc(t,o,l)}}var a=t.return;try{ol(t)}catch(l){kc(t,a,l)}break;case 5:var i=t.return;try{ol(t)}catch(l){kc(t,i,l)}}}catch(l){kc(t,t.return,l)}if(t===e){Xs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Xs=s;break}Xs=t.return}}var _l,kl=Math.ceil,El=x.ReactCurrentDispatcher,Pl=x.ReactCurrentOwner,Ol=x.ReactCurrentBatchConfig,Cl=0,jl=null,Tl=null,Al=0,Il=0,Nl=Eo(0),Dl=0,Rl=null,Ll=0,Ml=0,Fl=0,ql=null,Bl=null,zl=0,Ul=1/0,$l=null,Hl=!1,Vl=null,Wl=null,Kl=!1,Gl=null,Ql=0,Yl=0,Zl=null,Xl=-1,Jl=0;function ec(){return 6&Cl?Ze():-1!==Xl?Xl:Xl=Ze()}function tc(e){return 1&e.mode?2&Cl&&0!==Al?Al&-Al:null!==ga.transition?(0===Jl&&(Jl=ht()),Jl):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Yt(e.type):1}function nc(e,t,n,r){if(50<Yl)throw Yl=0,Zl=null,Error(a(185));bt(e,n,r),2&Cl&&e===jl||(e===jl&&(!(2&Cl)&&(Ml|=n),4===Dl&&sc(e,Al)),rc(e,r),1===n&&0===Cl&&!(1&t.mode)&&(Ul=Ze()+500,Bo&&$o()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-it(a),s=1<<i,l=o[i];-1===l?s&n&&!(s&r)||(o[i]=pt(s,t)):l<=t&&(e.expiredLanes|=s),a&=~s}}(e,t);var r=ft(e,e===jl?Al:0);if(0===r)null!==n&&Ge(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ge(n),1===t)0===e.tag?function(e){Bo=!0,Uo(e)}(lc.bind(null,e)):Uo(lc.bind(null,e)),io((function(){!(6&Cl)&&$o()})),n=null;else{switch(xt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=jc(n,oc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function oc(e,t){if(Xl=-1,Jl=0,6&Cl)throw Error(a(327));var n=e.callbackNode;if(Sc()&&e.callbackNode!==n)return null;var r=ft(e,e===jl?Al:0);if(0===r)return null;if(30&r||r&e.expiredLanes||t)t=gc(e,r);else{t=r;var o=Cl;Cl|=2;var i=mc();for(jl===e&&Al===t||($l=null,Ul=Ze()+500,fc(e,t));;)try{yc();break}catch(l){pc(e,l)}Oa(),El.current=i,Cl=o,null!==Tl?t=0:(jl=null,Al=0,t=Dl)}if(0!==t){if(2===t&&(0!==(o=mt(e))&&(r=o,t=ac(e,o))),1===t)throw n=Rl,fc(e,0),sc(e,r),rc(e,Ze()),n;if(6===t)sc(e,r);else{if(o=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!sr(a(),o))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)||(t=gc(e,r),2===t&&(i=mt(e),0!==i&&(r=i,t=ac(e,i))),1!==t)))throw n=Rl,fc(e,0),sc(e,r),rc(e,Ze()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(a(345));case 2:case 5:wc(e,Bl,$l);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=zl+500-Ze())){if(0!==ft(e,0))break;if(((o=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ro(wc.bind(null,e,Bl,$l),t);break}wc(e,Bl,$l);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var s=31-it(r);i=1<<s,(s=t[s])>o&&(o=s),r&=~i}if(r=o,10<(r=(120>(r=Ze()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*kl(r/1960))-r)){e.timeoutHandle=ro(wc.bind(null,e,Bl,$l),r);break}wc(e,Bl,$l);break;default:throw Error(a(329))}}}return rc(e,Ze()),e.callbackNode===n?oc.bind(null,e):null}function ac(e,t){var n=ql;return e.current.memoizedState.isDehydrated&&(fc(e,t).flags|=256),2!==(e=gc(e,t))&&(t=Bl,Bl=n,null!==t&&ic(t)),e}function ic(e){null===Bl?Bl=e:Bl.push.apply(Bl,e)}function sc(e,t){for(t&=~Fl,t&=~Ml,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(6&Cl)throw Error(a(327));Sc();var t=ft(e,0);if(!(1&t))return rc(e,Ze()),null;var n=gc(e,t);if(0!==e.tag&&2===n){var r=mt(e);0!==r&&(t=r,n=ac(e,r))}if(1===n)throw n=Rl,fc(e,0),sc(e,t),rc(e,Ze()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wc(e,Bl,$l),rc(e,Ze()),null}function cc(e,t){var n=Cl;Cl|=1;try{return e(t)}finally{0===(Cl=n)&&(Ul=Ze()+500,Bo&&$o())}}function uc(e){null!==Gl&&0===Gl.tag&&!(6&Cl)&&Sc();var t=Cl;Cl|=1;var n=Ol.transition,r=vt;try{if(Ol.transition=null,vt=1,e)return e()}finally{vt=r,Ol.transition=n,!(6&(Cl=t))&&$o()}}function dc(){Il=Nl.current,Po(Nl)}function fc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Tl)for(n=Tl.return;null!==n;){var r=n;switch(na(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Do();break;case 3:Za(),Po(To),Po(jo),ri();break;case 5:Ja(r);break;case 4:Za();break;case 13:case 19:Po(ei);break;case 10:Ca(r.type._context);break;case 22:case 23:dc()}n=n.return}if(jl=e,Tl=e=Nc(e.current,null),Al=Il=t,Dl=0,Rl=null,Fl=Ml=Ll=0,Bl=ql=null,null!==Ia){for(t=0;t<Ia.length;t++)if(null!==(r=(n=Ia[t]).interleaved)){n.interleaved=null;var o=r.next,a=n.pending;if(null!==a){var i=a.next;a.next=o,r.next=i}n.pending=r}Ia=null}return e}function pc(e,t){for(;;){var n=Tl;try{if(Oa(),oi.current=Xi,ui){for(var r=si.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}ui=!1}if(ii=0,ci=li=si=null,di=!1,fi=0,Pl.current=null,null===n||null===n.return){Dl=1,Rl=t,Tl=null;break}e:{var i=e,s=n.return,l=n,c=t;if(t=Al,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=l,f=d.tag;if(!(1&d.mode||0!==f&&11!==f&&15!==f)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=gs(s);if(null!==m){m.flags&=-257,bs(m,s,l,0,t),1&m.mode&&hs(i,u,t),c=u;var h=(t=m).updateQueue;if(null===h){var g=new Set;g.add(c),t.updateQueue=g}else h.add(c);break e}if(!(1&t)){hs(i,u,t),hc();break e}c=Error(a(426))}else if(aa&&1&l.mode){var b=gs(s);if(null!==b){!(65536&b.flags)&&(b.flags|=256),bs(b,s,l,0,t),ha(cs(c,l));break e}}i=c=cs(c,l),4!==Dl&&(Dl=2),null===ql?ql=[i]:ql.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,ps(0,c,t));break e;case 1:l=c;var y=i.type,v=i.stateNode;if(!(128&i.flags||"function"!=typeof y.getDerivedStateFromError&&(null===v||"function"!=typeof v.componentDidCatch||null!==Wl&&Wl.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,ms(i,l,t));break e}}i=i.return}while(null!==i)}xc(n)}catch(x){t=x,Tl===n&&null!==n&&(Tl=n=n.return);continue}break}}function mc(){var e=El.current;return El.current=Xi,null===e?Xi:e}function hc(){0!==Dl&&3!==Dl&&2!==Dl||(Dl=4),null===jl||!(268435455&Ll)&&!(268435455&Ml)||sc(jl,Al)}function gc(e,t){var n=Cl;Cl|=2;var r=mc();for(jl===e&&Al===t||($l=null,fc(e,t));;)try{bc();break}catch(o){pc(e,o)}if(Oa(),Cl=n,El.current=r,null!==Tl)throw Error(a(261));return jl=null,Al=0,Dl}function bc(){for(;null!==Tl;)vc(Tl)}function yc(){for(;null!==Tl&&!Qe();)vc(Tl)}function vc(e){var t=_l(e.alternate,e,Il);e.memoizedProps=e.pendingProps,null===t?xc(e):Tl=t,Pl.current=null}function xc(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Gs(n,t)))return n.flags&=32767,void(Tl=n);if(null===e)return Dl=6,void(Tl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Ks(n,t,Il)))return void(Tl=n);if(null!==(t=t.sibling))return void(Tl=t);Tl=t=e}while(null!==t);0===Dl&&(Dl=5)}function wc(e,t,n){var r=vt,o=Ol.transition;try{Ol.transition=null,vt=1,function(e,t,n,r){do{Sc()}while(null!==Gl);if(6&Cl)throw Error(a(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-it(n),a=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~a}}(e,i),e===jl&&(Tl=jl=null,Al=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Kl||(Kl=!0,jc(tt,(function(){return Sc(),null}))),i=!!(15990&n.flags),!!(15990&n.subtreeFlags)||i){i=Ol.transition,Ol.transition=null;var s=vt;vt=1;var l=Cl;Cl|=4,Pl.current=null,function(e,t){if(eo=Ht,pr(e=fr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(w){n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var m;f!==n||0!==o&&3!==f.nodeType||(l=s+o),f!==i||0!==r&&3!==f.nodeType||(c=s+r),3===f.nodeType&&(s+=f.nodeValue.length),null!==(m=f.firstChild);)p=f,f=m;for(;;){if(f===e)break t;if(p===n&&++u===o&&(l=s),p===i&&++d===r&&(c=s),null!==(m=f.nextSibling))break;p=(f=p).parentNode}f=m}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Ht=!1,Xs=t;null!==Xs;)if(e=(t=Xs).child,1028&t.subtreeFlags&&null!==e)e.return=t,Xs=e;else for(;null!==Xs;){t=Xs;try{var h=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var g=h.memoizedProps,b=h.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?g:ns(t.type,g),b);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var x=t.stateNode.containerInfo;1===x.nodeType?x.textContent="":9===x.nodeType&&x.documentElement&&x.removeChild(x.documentElement);break;default:throw Error(a(163))}}catch(w){kc(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,Xs=e;break}Xs=t.return}h=tl,tl=!1}(e,n),gl(n,e),mr(to),Ht=!!eo,to=eo=null,e.current=n,yl(n,e,o),Ye(),Cl=l,vt=s,Ol.transition=i}else e.current=n;if(Kl&&(Kl=!1,Gl=e,Ql=o),i=e.pendingLanes,0===i&&(Wl=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),rc(e,Ze()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],r(o.value,{componentStack:o.stack,digest:o.digest});if(Hl)throw Hl=!1,e=Vl,Vl=null,e;!!(1&Ql)&&0!==e.tag&&Sc(),i=e.pendingLanes,1&i?e===Zl?Yl++:(Yl=0,Zl=e):Yl=0,$o()}(e,t,n,r)}finally{Ol.transition=o,vt=r}return null}function Sc(){if(null!==Gl){var e=xt(Ql),t=Ol.transition,n=vt;try{if(Ol.transition=null,vt=16>e?16:e,null===Gl)var r=!1;else{if(e=Gl,Gl=null,Ql=0,6&Cl)throw Error(a(331));var o=Cl;for(Cl|=4,Xs=e.current;null!==Xs;){var i=Xs,s=i.child;if(16&Xs.flags){var l=i.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Xs=u;null!==Xs;){var d=Xs;switch(d.tag){case 0:case 11:case 15:nl(8,d,i)}var f=d.child;if(null!==f)f.return=d,Xs=f;else for(;null!==Xs;){var p=(d=Xs).sibling,m=d.return;if(al(d),d===u){Xs=null;break}if(null!==p){p.return=m,Xs=p;break}Xs=m}}}var h=i.alternate;if(null!==h){var g=h.child;if(null!==g){h.child=null;do{var b=g.sibling;g.sibling=null,g=b}while(null!==g)}}Xs=i}}if(2064&i.subtreeFlags&&null!==s)s.return=i,Xs=s;else e:for(;null!==Xs;){if(2048&(i=Xs).flags)switch(i.tag){case 0:case 11:case 15:nl(9,i,i.return)}var y=i.sibling;if(null!==y){y.return=i.return,Xs=y;break e}Xs=i.return}}var v=e.current;for(Xs=v;null!==Xs;){var x=(s=Xs).child;if(2064&s.subtreeFlags&&null!==x)x.return=s,Xs=x;else e:for(s=v;null!==Xs;){if(2048&(l=Xs).flags)try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(S){kc(l,l.return,S)}if(l===s){Xs=null;break e}var w=l.sibling;if(null!==w){w.return=l.return,Xs=w;break e}Xs=l.return}}if(Cl=o,$o(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(ot,e)}catch(S){}r=!0}return r}finally{vt=n,Ol.transition=t}}return!1}function _c(e,t,n){e=Ba(e,t=ps(0,t=cs(n,t),1),1),t=ec(),null!==e&&(bt(e,1,t),rc(e,t))}function kc(e,t,n){if(3===e.tag)_c(e,e,n);else for(;null!==t;){if(3===t.tag){_c(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Wl||!Wl.has(r))){t=Ba(t,e=ms(t,e=cs(n,e),1),1),e=ec(),null!==t&&(bt(t,1,e),rc(t,e));break}}t=t.return}}function Ec(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,jl===e&&(Al&n)===n&&(4===Dl||3===Dl&&(130023424&Al)===Al&&500>Ze()-zl?fc(e,0):Fl|=n),rc(e,t)}function Pc(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=ec();null!==(e=Ra(e,t))&&(bt(e,t,n),rc(e,n))}function Oc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Pc(e,n)}function Cc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Pc(e,n)}function jc(e,t){return Ke(e,t)}function Tc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ac(e,t,n,r){return new Tc(e,t,n,r)}function Ic(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Nc(e,t){var n=e.alternate;return null===n?((n=Ac(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Dc(e,t,n,r,o,i){var s=2;if(r=e,"function"==typeof e)Ic(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case _:return Rc(n.children,o,i,t);case k:s=8,o|=8;break;case E:return(e=Ac(12,n,t,2|o)).elementType=E,e.lanes=i,e;case j:return(e=Ac(13,n,t,o)).elementType=j,e.lanes=i,e;case T:return(e=Ac(19,n,t,o)).elementType=T,e.lanes=i,e;case N:return Lc(n,o,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case P:s=10;break e;case O:s=9;break e;case C:s=11;break e;case A:s=14;break e;case I:s=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Ac(s,n,t,o)).elementType=e,t.type=r,t.lanes=i,t}function Rc(e,t,n,r){return(e=Ac(7,e,r,t)).lanes=n,e}function Lc(e,t,n,r){return(e=Ac(22,e,r,t)).elementType=N,e.lanes=n,e.stateNode={isHidden:!1},e}function Mc(e,t,n){return(e=Ac(6,e,null,t)).lanes=n,e}function Fc(e,t,n){return(t=Ac(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function qc(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bc(e,t,n,r,o,a,i,s,l){return e=new qc(e,t,n,s,l),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Ac(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ma(a),e}function zc(e){if(!e)return Co;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(No(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(No(n))return Lo(e,n,t)}return t}function Uc(e,t,n,r,o,a,i,s,l){return(e=Bc(n,r,!0,e,0,a,0,s,l)).context=zc(null),n=e.current,(a=qa(r=ec(),o=tc(n))).callback=null!=t?t:null,Ba(n,a,o),e.current.lanes=o,bt(e,o,r),rc(e,r),e}function $c(e,t,n,r){var o=t.current,a=ec(),i=tc(o);return n=zc(n),null===t.context?t.context=n:t.pendingContext=n,(t=qa(a,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ba(o,t,i))&&(nc(e,o,i,a),za(e,o,i)),i}function Hc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Wc(e,t){Vc(e,t),(e=e.alternate)&&Vc(e,t)}_l=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||To.current)vs=!0;else{if(!(e.lanes&n||128&t.flags))return vs=!1,function(e,t,n){switch(t.tag){case 3:js(t),ma();break;case 5:Xa(t);break;case 1:No(t.type)&&Mo(t);break;case 4:Ya(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;Oo(_a,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Oo(ei,1&ei.current),t.flags|=128,null):n&t.child.childLanes?Ms(e,t,n):(Oo(ei,1&ei.current),null!==(e=Hs(e,t,n))?e.sibling:null);Oo(ei,1&ei.current);break;case 19:if(r=!!(n&t.childLanes),128&e.flags){if(r)return Us(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),Oo(ei,ei.current),r)break;return null;case 22:case 23:return t.lanes=0,ks(e,t,n)}return Hs(e,t,n)}(e,t,n);vs=!!(131072&e.flags)}else vs=!1,aa&&1048576&t.flags&&ea(t,Ko,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;$s(e,t),e=t.pendingProps;var o=Io(t,jo.current);Ta(t,n),o=gi(null,t,r,e,o,n);var i=bi();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,No(r)?(i=!0,Mo(t)):i=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Ma(t),o.updater=os,t.stateNode=o,o._reactInternals=t,ls(t,r,e,n),t=Cs(null,t,r,!0,i,n)):(t.tag=0,aa&&i&&ta(t),xs(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch($s(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Ic(e)?1:0;if(null!=e){if((e=e.$$typeof)===C)return 11;if(e===A)return 14}return 2}(r),e=ns(r,e),o){case 0:t=Ps(null,t,r,e,n);break e;case 1:t=Os(null,t,r,e,n);break e;case 11:t=ws(null,t,r,e,n);break e;case 14:t=Ss(null,t,r,ns(r.type,e),n);break e}throw Error(a(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,Ps(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 1:return r=t.type,o=t.pendingProps,Os(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 3:e:{if(js(t),null===e)throw Error(a(387));r=t.pendingProps,o=(i=t.memoizedState).element,Fa(e,t),$a(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Ts(e,t,r,n,o=cs(Error(a(423)),t));break e}if(r!==o){t=Ts(e,t,r,n,o=cs(Error(a(424)),t));break e}for(oa=co(t.stateNode.containerInfo.firstChild),ra=t,aa=!0,ia=null,n=Sa(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ma(),r===o){t=Hs(e,t,n);break e}xs(e,t,r,n)}t=t.child}return t;case 5:return Xa(t),null===e&&ua(t),r=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,s=o.children,no(r,o)?s=null:null!==i&&no(r,i)&&(t.flags|=32),Es(e,t),xs(e,t,s,n),t.child;case 6:return null===e&&ua(t),null;case 13:return Ms(e,t,n);case 4:return Ya(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=wa(t,null,r,n):xs(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,ws(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 7:return xs(e,t,t.pendingProps,n),t.child;case 8:case 12:return xs(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,Oo(_a,r._currentValue),r._currentValue=s,null!==i)if(sr(i.value,s)){if(i.children===o.children&&!To.current){t=Hs(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var l=i.dependencies;if(null!==l){s=i.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===i.tag){(c=qa(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),ja(i.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(a(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),ja(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}xs(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Ta(t,n),r=r(o=Aa(o)),t.flags|=1,xs(e,t,r,n),t.child;case 14:return o=ns(r=t.type,t.pendingProps),Ss(e,t,r,o=ns(r.type,o),n);case 15:return _s(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ns(r,o),$s(e,t),t.tag=1,No(r)?(e=!0,Mo(t)):e=!1,Ta(t,n),is(t,r,o),ls(t,r,o,n),Cs(null,t,r,!0,e,n);case 19:return Us(e,t,n);case 22:return ks(e,t,n)}throw Error(a(156,t.tag))};var Kc="function"==typeof reportError?reportError:function(e){console.error(e)};function Gc(e){this._internalRoot=e}function Qc(e){this._internalRoot=e}function Yc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Zc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Xc(){}function Jc(e,t,n,r,o){var a=n._reactRootContainer;if(a){var i=a;if("function"==typeof o){var s=o;o=function(){var e=Hc(i);s.call(e)}}$c(t,i,e,o)}else i=function(e,t,n,r,o){if(o){if("function"==typeof r){var a=r;r=function(){var e=Hc(i);a.call(e)}}var i=Uc(t,r,e,0,null,!1,0,"",Xc);return e._reactRootContainer=i,e[ho]=i.current,Ur(8===e.nodeType?e.parentNode:e),uc(),i}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof r){var s=r;r=function(){var e=Hc(l);s.call(e)}}var l=Bc(e,0,!1,null,0,!1,0,"",Xc);return e._reactRootContainer=l,e[ho]=l.current,Ur(8===e.nodeType?e.parentNode:e),uc((function(){$c(t,l,n,r)})),l}(n,t,e,o,r);return Hc(i)}Qc.prototype.render=Gc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));$c(e,t,null,null)},Qc.prototype.unmount=Gc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){$c(null,e,null,null)})),t[ho]=null}},Qc.prototype.unstable_scheduleHydration=function(e){if(e){var t=kt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Nt.length&&0!==t&&t<Nt[n].priority;n++);Nt.splice(n,0,e),0===n&&Mt(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),rc(t,Ze()),!(6&Cl)&&(Ul=Ze()+500,$o()))}break;case 13:uc((function(){var t=Ra(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Wc(e,1)}},St=function(e){if(13===e.tag){var t=Ra(e,134217728);if(null!==t)nc(t,e,134217728,ec());Wc(e,134217728)}},_t=function(e){if(13===e.tag){var t=tc(e),n=Ra(e,t);if(null!==n)nc(n,e,t,ec());Wc(e,t)}},kt=function(){return vt},Et=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},Se=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=So(r);if(!o)throw Error(a(90));K(r),X(r,o)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ce=cc,je=uc;var eu={usingClientEntryPoint:!1,Events:[xo,wo,So,Pe,Oe,cc]},tu={findFiberByHostInstance:vo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:x.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{ot=ru.inject(nu),at=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yc(t))throw Error(a(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Yc(e))throw Error(a(299));var n=!1,r="",o=Kc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Bc(e,1,!1,null,0,n,0,r,o),e[ho]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Gc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Zc(t))throw Error(a(200));return Jc(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Yc(e))throw Error(a(405));var r=null!=n&&n.hydratedSources||null,o=!1,i="",s=Kc;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Uc(t,null,e,1,null!=n?n:null,o,0,i,s),e[ho]=t.current,Ur(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Qc(t)},t.render=function(e,t,n){if(!Zc(t))throw Error(a(200));return Jc(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Zc(e))throw Error(a(40));return!!e._reactRootContainer&&(uc((function(){Jc(null,null,e,!1,(function(){e._reactRootContainer=null,e[ho]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Zc(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return Jc(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},5338:(e,t,n)=>{"use strict";var r=n(40961);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},40961:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(22551)},30115:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,c,u;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!a(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;for(u=e.entries();!(l=u.next()).done;)if(!a(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,c[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!e.$$typeof)&&!a(e[c[l]],i[c[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return a(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},80545:(e,t,n)=>{"use strict";n.d(t,{mg:()=>J,vd:()=>V});var r=n(96540),o=n(5556),a=n.n(o),i=n(30115),s=n.n(i),l=n(20311),c=n.n(l),u=n(2833),d=n.n(u);function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function h(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},x=Object.keys(g).map((function(e){return g[e]})),w={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},S=Object.keys(w).reduce((function(e,t){return e[w[t]]=t,e}),{}),_=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},k=function(e){var t=_(e,g.TITLE),n=_(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=_(e,"defaultTitle");return t||r||void 0},E=function(e){return _(e,"onChangeClientState")||function(){}},P=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return f({},e,t)}),{})},O=function(e,t){return t.filter((function(e){return void 0!==e[g.BASE]})).map((function(e){return e[g.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o+=1){var a=r[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},C=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n,a=Object.keys(e),i=0;i<a.length;i+=1){var s=a[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][c]&&(o[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(o),i=0;i<a.length;i+=1){var s=a[i],l=f({},r[s],o[s]);r[s]=l}return e}),[]).reverse()},j=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},T=function(e){return Array.isArray(e)?e.join(""):e},A=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},I=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},N=[g.NOSCRIPT,g.SCRIPT,g.STYLE],D=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},R=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},L=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[w[n]||n]=e[n],t}),t)},M=function(e,t){return t.map((function(t,n){var o,a=((o={key:n})["data-rh"]=!0,o);return Object.keys(t).forEach((function(e){var n=w[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]})),r.createElement(e,a)}))},F=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return n=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,a=L(n,o),[r.createElement(g.TITLE,a,e)];var e,n,o,a},toString:function(){return function(e,t,n,r){var o=R(n),a=T(t);return o?"<"+e+' data-rh="true" '+o+">"+D(a,r)+"</"+e+">":"<"+e+' data-rh="true">'+D(a,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return L(t)},toString:function(){return R(t)}};default:return{toComponent:function(){return M(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+D(r[t],n)+'"';return e?e+" "+o:o}),""),a=r.innerHTML||r.cssText||"",i=-1===N.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(i?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},q=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,a=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,o=A(e.metaTags,v),a=A(t,b),i=A(n,y);return{priorityMethods:{toComponent:function(){return[].concat(M(g.META,o.priority),M(g.LINK,a.priority),M(g.SCRIPT,i.priority))},toString:function(){return F(g.META,o.priority,r)+" "+F(g.LINK,a.priority,r)+" "+F(g.SCRIPT,i.priority,r)}},metaTags:o.default,linkTags:a.default,scriptTags:i.default}}(e);p=m.priorityMethods,u=m.linkTags,d=m.metaTags,f=m.scriptTags}return{priority:p,base:F(g.BASE,t,r),bodyAttributes:F("bodyAttributes",n,r),htmlAttributes:F("htmlAttributes",o,r),link:F(g.LINK,u,r),meta:F(g.META,d,r),noscript:F(g.NOSCRIPT,a,r),script:F(g.SCRIPT,f,r),style:F(g.STYLE,i,r),title:F(g.TITLE,{title:l,titleAttributes:c},r)}},B=[],z=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=q({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),$=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),H="undefined"!=typeof document,V=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new z(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);V.canUseDOM=H,V.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var W=function(e,t){var n,r=document.head||document.querySelector(g.HEAD),o=r.querySelectorAll(e+"[data-rh]"),a=[].slice.call(o),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?r.innerHTML=t.innerHTML:"cssText"===o?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(o,void 0===t[o]?"":t[o]));r.setAttribute("data-rh","true"),a.some((function(e,t){return n=t,r.isEqualNode(e)}))?a.splice(n,1):i.push(r)})),a.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:a,newTags:i}},K=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),o=r?r.split(","):[],a=[].concat(o),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],c=t[l]||"";n.getAttribute(l)!==c&&n.setAttribute(l,c),-1===o.indexOf(l)&&o.push(l);var u=a.indexOf(l);-1!==u&&a.splice(u,1)}for(var d=a.length-1;d>=0;d-=1)n.removeAttribute(a[d]);o.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},G=function(e,t){var n=e.baseTag,r=e.htmlAttributes,o=e.linkTags,a=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;K(g.BODY,e.bodyAttributes),K(g.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=T(e)),K(g.TITLE,t)}(u,d);var f={baseTag:W(g.BASE,n),linkTags:W(g.LINK,o),metaTags:W(g.META,a),noscriptTags:W(g.NOSCRIPT,i),scriptTags:W(g.SCRIPT,l),styleTags:W(g.STYLE,c)},p={},m={};Object.keys(f).forEach((function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(m[e]=f[e].oldTags)})),t&&t(),s(e,p,m)},Q=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,o=null,a=(e=n.helmetInstances.get().map((function(e){var t=f({},e.props);return delete t.context,t})),{baseTag:O(["href"],e),bodyAttributes:P("bodyAttributes",e),defer:_(e,"defer"),encode:_(e,"encodeSpecialCharacters"),htmlAttributes:P("htmlAttributes",e),linkTags:C(g.LINK,["rel","href"],e),metaTags:C(g.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:C(g.NOSCRIPT,["innerHTML"],e),onChangeClientState:E(e),scriptTags:C(g.SCRIPT,["src","innerHTML"],e),styleTags:C(g.STYLE,["cssText"],e),title:k(e),titleAttributes:P("titleAttributes",e),prioritizeSeoTags:j(e,"prioritizeSeoTags")});V.canUseDOM?(t=a,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){G(t,(function(){Q=null}))})):(G(t),Q=null)):q&&(o=q(a)),r(o)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:$.isRequired},Y.displayName="HelmetDispatcher";var Z=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(I(this.props,"helmetData"),I(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case g.SCRIPT:case g.NOSCRIPT:return{innerHTML:t};case g.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,a=e.newChildProps,i=e.nestedChildren;switch(r.type){case g.TITLE:return f({},o,((t={})[r.type]=i,t.titleAttributes=f({},a),t));case g.BODY:return f({},o,{bodyAttributes:f({},a)});case g.HTML:return f({},o,{htmlAttributes:f({},a)});default:return f({},o,((n={})[r.type]=f({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach((function(t){var r;n=f({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(x.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+x.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,o={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,a=r.children,i=h(r,Z),s=Object.keys(i).reduce((function(e,t){return e[S[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,a),l){case g.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:o=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:s,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:a})}}})),this.mapArrayTypeChildrenToProps(o,t)},n.render=function(){var e=this.props,t=e.children,n=h(e,X),o=f({},n),a=n.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!a||a instanceof z||(a=new z(a.context,a.instances)),a?r.createElement(Y,f({},o,{context:a.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,f({},o,{context:e}))}))},t}(r.Component);J.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},22799:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,x=n?Symbol.for("react.scope"):60119;function w(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case a:case s:case i:case p:return e;default:switch(e=e&&e.$$typeof){case c:case f:case g:case h:case l:return e;default:return t}}case o:return t}}}function S(e){return w(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=f,t.Fragment=a,t.Lazy=g,t.Memo=h,t.Portal=o,t.Profiler=s,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return S(e)||w(e)===u},t.isConcurrentMode=S,t.isContextConsumer=function(e){return w(e)===c},t.isContextProvider=function(e){return w(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return w(e)===f},t.isFragment=function(e){return w(e)===a},t.isLazy=function(e){return w(e)===g},t.isMemo=function(e){return w(e)===h},t.isPortal=function(e){return w(e)===o},t.isProfiler=function(e){return w(e)===s},t.isStrictMode=function(e){return w(e)===i},t.isSuspense=function(e){return w(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===s||e===i||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===h||e.$$typeof===l||e.$$typeof===c||e.$$typeof===f||e.$$typeof===y||e.$$typeof===v||e.$$typeof===x||e.$$typeof===b)},t.typeOf=w},44363:(e,t,n)=>{"use strict";e.exports=n(22799)},53259:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(96540),l=[],c=[];var u=s.createContext(null);function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function f(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var o=d(e[r]);o.loading?t.loading=!0:(t.loaded[r]=o.loaded,t.error=o.error),n.push(o.promise),o.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function p(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,f;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=i({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),h=null;function g(){return h||(h=e(m.loader)),h.promise}return l.push(g),"function"==typeof m.webpack&&c.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return g()})),f=d=function(t){function n(n){var r;return a(o(o(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),h=e(m.loader),r._loadModule()})),g(),r.state={error:h.error,pastDelay:!1,timedOut:!1,loading:h.loading,loaded:h.loaded},r}r(n,t),n.preload=function(){return g()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.report(t)})),h.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:h.error,loaded:h.loaded,loading:h.loading}),e._clearTimeouts()};h.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(s.Component),a(d,"contextType",u),f}function h(e){return m(d,e)}h.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(f,e)};var g=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){return s.createElement(u.Provider,{value:{report:this.props.report}},s.Children.only(this.props.children))},t}(s.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}h.Capture=g,h.preloadAll=function(){return new Promise((function(e,t){b(l).then(e,t)}))},h.preloadReady=function(){return new Promise((function(e,t){b(c).then(e,e)}))},e.exports=h},22831:(e,t,n)=>{"use strict";n.d(t,{u:()=>i,v:()=>s});var r=n(56347),o=n(58168),a=n(96540);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,r.B6)(t,e):n.length?n[n.length-1].match:r.Ix.computeRootMatch(t);return o&&(n.push({route:e,match:o}),e.routes&&i(e.routes,t,n)),o})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?a.createElement(r.dO,n,e.map((function(e,n){return a.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.A)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.A)({},n,t,{route:e}))}})}))):null}},54625:(e,t,n)=>{"use strict";n.d(t,{I9:()=>d,Kd:()=>u,N_:()=>b,k2:()=>x});var r=n(56347),o=n(42892),a=n(96540),i=n(31513),s=n(58168),l=n(98587),c=n(11561),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.zR)(t.props),t}return(0,o.A)(t,e),t.prototype.render=function(){return a.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(a.Component);var d=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.TM)(t.props),t}return(0,o.A)(t,e),t.prototype.render=function(){return a.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(a.Component);var f=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.yJ)(e,null,null,t):e},m=function(e){return e},h=a.forwardRef;void 0===h&&(h=m);var g=h((function(e,t){var n=e.innerRef,r=e.navigate,o=e.onClick,i=(0,l.A)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,s.A)({},i,{onClick:function(e){try{o&&o(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=m!==h&&t||n,a.createElement("a",u)}));var b=h((function(e,t){var n=e.component,o=void 0===n?g:n,u=e.replace,d=e.to,b=e.innerRef,y=(0,l.A)(e,["component","replace","to","innerRef"]);return a.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=e.history,r=p(f(d,e.location),e.location),l=r?n.createHref(r):"",g=(0,s.A)({},y,{href:l,navigate:function(){var t=f(d,e.location),r=(0,i.AO)(e.location)===(0,i.AO)(p(t));(u||r?n.replace:n.push)(t)}});return m!==h?g.ref=t||b:g.innerRef=b,a.createElement(o,g)}))})),y=function(e){return e},v=a.forwardRef;void 0===v&&(v=y);var x=v((function(e,t){var n=e["aria-current"],o=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,d=e.activeStyle,m=e.className,h=e.exact,g=e.isActive,x=e.location,w=e.sensitive,S=e.strict,_=e.style,k=e.to,E=e.innerRef,P=(0,l.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=x||e.location,i=p(f(k,n),n),l=i.pathname,O=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),C=O?(0,r.B6)(n.pathname,{path:O,exact:h,sensitive:w,strict:S}):null,j=!!(g?g(C,n):C),T="function"==typeof m?m(j):m,A="function"==typeof _?_(j):_;j&&(T=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(T,u),A=(0,s.A)({},A,d));var I=(0,s.A)({"aria-current":j&&o||null,className:T,style:A,to:i},P);return y!==v?I.ref=t||E:I.innerRef=E,a.createElement(b,I)}))}))},56347:(e,t,n)=>{"use strict";n.d(t,{B6:()=>_,Ix:()=>v,W6:()=>I,XZ:()=>y,dO:()=>T,qh:()=>k,zy:()=>N});var r=n(42892),o=n(96540),a=n(5556),i=n.n(a),s=n(31513),l=n(11561),c=n(58168),u=n(35302),d=n.n(u),f=(n(44363),n(98587)),p=(n(4146),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var h=o.createContext||function(e,t){var n,a,s="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return(t=e.call.apply(e,[this].concat(a))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.A)(n,e);var o=n.prototype;return o.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((a=r)===(i=o)?0!==a||1/a==1/i:a!=a&&i!=i)?n=0:(n="function"==typeof t?t(r,o):p,0!==(n|=0)&&this.emitter.set(e.value,n))}var a,i},o.render=function(){return this.props.children},n}(o.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(0|e.observedBits)&n&&e.setState({value:e.getValue()})},e}(0,r.A)(n,t);var o=n.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?p:t},o.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?p:e},o.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},o.getValue=function(){return this.context[s]?this.context[s].get():e},o.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return c.contextTypes=((a={})[s]=i().object,a),{Provider:l,Consumer:c}},g=function(e){var t=h();return t.displayName=e,t},b=g("Router-History"),y=g("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(y.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var x={},w=1e4,S=0;function _(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,s=void 0!==i&&i,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=x[n]||(x[n]={});if(r[e])return r[e];var o=[],a={regexp:d()(e,o,t),keys:o};return S<w&&(r[e]=a,S++),a}(n,{end:a,strict:s,sensitive:c}),o=r.regexp,i=r.keys,l=o.exec(e);if(!l)return null;var u=l[0],f=l.slice(1),p=e===u;return a&&!p?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:p,params:i.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var k=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,l.A)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?_(n.pathname,e.props):t.match,a=(0,c.A)({},t,{location:n,match:r}),i=e.props,s=i.children,u=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===o.Children.count(e)}(s)&&(s=null),o.createElement(y.Provider,{value:a},a.match?s?"function"==typeof s?s(a):s:u?o.createElement(u,a):d?d(a):null:"function"==typeof s?s(a):null)}))},t}(o.Component);function E(e){return"/"===e.charAt(0)?e:"/"+e}function P(e,t){if(!e)return t;var n=E(e);return 0!==t.pathname.indexOf(n)?t:(0,c.A)({},t,{pathname:t.pathname.substr(n.length)})}function O(e){return"string"==typeof e?e:(0,s.AO)(e)}function C(e){return function(){(0,l.A)(!1)}}function j(){}o.Component;var T=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,l.A)(!1);var n,r,a=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==r&&o.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?_(a.pathname,(0,c.A)({},e.props,{path:i})):t.match}})),r?o.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(o.Component);var A=o.useContext;function I(){return A(b)}function N(){return A(y).location}},21020:(e,t,n)=>{"use strict";var r=n(96540),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!l.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:a,_owner:s.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},15287:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function b(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=b.prototype;var x=v.prototype=new y;x.constructor=v,h(x,b.prototype),x.isPureReactComponent=!0;var w=Array.isArray,S=Object.prototype.hasOwnProperty,_={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var o,a={},i=null,s=null;if(null!=t)for(o in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)S.call(t,o)&&!k.hasOwnProperty(o)&&(a[o]=t[o]);var l=arguments.length-2;if(1===l)a.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(o in l=e.defaultProps)void 0===a[o]&&(a[o]=l[o]);return{$$typeof:n,type:e,key:i,ref:s,props:a,_owner:_.current}}function P(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var O=/\/+/g;function C(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function j(e,t,o,a,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return i=i(l=e),e=""===a?"."+C(l,0):a,w(i)?(o="",null!=e&&(o=e.replace(O,"$&/")+"/"),j(i,t,o,"",(function(e){return e}))):null!=i&&(P(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,o+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(O,"$&/")+"/")+e)),t.push(i)),1;if(l=0,a=""===a?".":a+":",w(e))for(var c=0;c<e.length;c++){var u=a+C(s=e[c],c);l+=j(s,t,o,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=j(s=s.value,t,o,u=a+C(s,c++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function T(e,t,n){if(null==e)return e;var r=[],o=0;return j(e,r,"","",(function(e){return t.call(n,e,o++)})),r}function A(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I={current:null},N={transition:null},D={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:N,ReactCurrentOwner:_};function R(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:T,forEach:function(e,t,n){T(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return T(e,(function(){t++})),t},toArray:function(e){return T(e,(function(e){return e}))||[]},only:function(e){if(!P(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=o,t.Profiler=i,t.PureComponent=v,t.StrictMode=a,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=D,t.act=R,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=h({},e.props),a=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=_.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)S.call(t,c)&&!k.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];o.children=l}return{$$typeof:n,type:e.type,key:a,ref:i,props:o,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=P,t.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=N.transition;N.transition={};try{e()}finally{N.transition=t}},t.unstable_act=R,t.useCallback=function(e,t){return I.current.useCallback(e,t)},t.useContext=function(e){return I.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return I.current.useDeferredValue(e)},t.useEffect=function(e,t){return I.current.useEffect(e,t)},t.useId=function(){return I.current.useId()},t.useImperativeHandle=function(e,t,n){return I.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return I.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return I.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return I.current.useMemo(e,t)},t.useReducer=function(e,t,n){return I.current.useReducer(e,t,n)},t.useRef=function(e){return I.current.useRef(e)},t.useState=function(e){return I.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return I.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return I.current.useTransition()},t.version="18.3.1"},96540:(e,t,n)=>{"use strict";e.exports=n(15287)},74848:(e,t,n)=>{"use strict";e.exports=n(21020)},7463:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(!(0<a(o,t)))break e;e[r]=t,e[n]=o,n=r}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,i=o>>>1;r<i;){var s=2*(r+1)-1,l=e[s],c=s+1,u=e[c];if(0>a(l,n))c<o&&0>a(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[s]=n,r=s);else{if(!(c<o&&0>a(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,f=null,p=3,m=!1,h=!1,g=!1,b="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function x(e){for(var t=r(u);null!==t;){if(null===t.callback)o(u);else{if(!(t.startTime<=e))break;o(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function w(e){if(g=!1,x(e),!h)if(null!==r(c))h=!0,N(S);else{var t=r(u);null!==t&&D(w,t.startTime-e)}}function S(e,n){h=!1,g&&(g=!1,y(P),P=-1),m=!0;var a=p;try{for(x(n),f=r(c);null!==f&&(!(f.expirationTime>n)||e&&!j());){var i=f.callback;if("function"==typeof i){f.callback=null,p=f.priorityLevel;var s=i(f.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?f.callback=s:f===r(c)&&o(c),x(n)}else o(c);f=r(c)}if(null!==f)var l=!0;else{var d=r(u);null!==d&&D(w,d.startTime-n),l=!1}return l}finally{f=null,p=a,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,k=!1,E=null,P=-1,O=5,C=-1;function j(){return!(t.unstable_now()-C<O)}function T(){if(null!==E){var e=t.unstable_now();C=e;var n=!0;try{n=E(!0,e)}finally{n?_():(k=!1,E=null)}}else k=!1}if("function"==typeof v)_=function(){v(T)};else if("undefined"!=typeof MessageChannel){var A=new MessageChannel,I=A.port2;A.port1.onmessage=T,_=function(){I.postMessage(null)}}else _=function(){b(T,0)};function N(e){E=e,k||(k=!0,_())}function D(e,n){P=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){h||m||(h=!0,N(S))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):O=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,o,a){var i=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0<a?i+a:i:a=i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:a,expirationTime:s=a+s,sortIndex:-1},a>i?(e.sortIndex=a,n(u,e),null===r(c)&&e===r(u)&&(g?(y(P),P=-1):g=!0,D(w,a-i))):(e.sortIndex=s,n(c,e),h||m||(h=!0,N(S))),e},t.unstable_shouldYield=j,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},69982:(e,t,n)=>{"use strict";e.exports=n(7463)},2833:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<a.length;l++){var c=a[l];if(!s(c))return!1;var u=e[c],d=t[c];if(!1===(o=n?n.call(r,u,d,c):void 0)||void 0===o&&u!==d)return!1}return!0}},4784:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"FHIR Dosage Utils",tagline:"From Data to Understandable Text and More",favicon:"img/favicon.ico",url:"https://jy95.github.io",baseUrl:"/fhir-dosage-utils/",organizationName:"jy95",projectName:"fhir-dosage-utils",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",trailingSlash:!1,i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},plugins:[["docusaurus-plugin-typedoc-api",{projectRoot:"/home/runner/work/fhir-dosage-utils/fhir-dosage-utils",packages:["."]}],"./src/plugins/monacco.ts"],presets:[["classic",{docs:{remarkPlugins:[[null,{sync:!0}]],sidebarPath:"./sidebars.ts",editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/"},blog:{showReadingTime:!0,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{algolia:{appId:"A0H5ESUA6U",apiKey:"ed5931b0de2e3754e2da8e0f843443bd",indexName:"jy95io",contextualSearch:!0,searchParameters:{},searchPagePath:"search"},navbar:{title:"FHIR Dosage utils",logo:{alt:"FHIR Dosage utils Logo",src:"img/logo.svg"},items:[{type:"docSidebar",sidebarId:"tutorialSidebar",position:"left",label:"Tutorial"},{to:"api",label:"API",position:"left"},{to:"playground",label:"Playground",position:"left"},{to:"/blog",label:"Blog",position:"right"},{href:"https://github.com/jy95/fhir-dosage-utils",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[],copyright:"Copyright \xa9 2024 Jacques Yakoub. Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["json"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,future:{experimental_faster:{swcJsLoader:!1,swcJsMinimizer:!1,swcHtmlMinimizer:!1,lightningCssMinimizer:!1,mdxCrossCompilerCache:!1,rspackBundler:!1},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},58168:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(null,arguments)}n.d(t,{A:()=>r})},42892:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>o})},98587:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},34164:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=r(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}n.d(t,{A:()=>o});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=r(e))&&(o&&(o+=" "),o+=t);return o}},71765:(e,t,n)=>{"use strict";n.d(t,{My:()=>w,f4:()=>Y});var r,o,a=n(96540),i=n(34164),s=Object.create,l=Object.defineProperty,c=Object.defineProperties,u=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyDescriptors,f=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,m=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,b=(e,t,n)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,y=(e,t)=>{for(var n in t||(t={}))h.call(t,n)&&b(e,n,t[n]);if(p)for(var n of p(t))g.call(t,n)&&b(e,n,t[n]);return e},v=(e,t)=>c(e,d(t)),x=(e,t)=>{var n={};for(var r in e)h.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&p)for(var r of p(e))t.indexOf(r)<0&&g.call(e,r)&&(n[r]=e[r]);return n},w=((e,t,n)=>(n=null!=e?s(m(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of f(t))h.call(e,o)||o===n||l(e,o,{get:()=>t[o],enumerable:!(r=u(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:l(n,"default",{value:e,enumerable:!0}),e)))((r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var o,a;switch(n=n||{},r.util.type(t)){case"Object":if(a=r.util.objId(t),n[a])return n[a];for(var i in o={},n[a]=o,t)t.hasOwnProperty(i)&&(o[i]=e(t[i],n));return o;case"Array":return a=r.util.objId(t),n[a]?n[a]:(o=[],n[a]=o,t.forEach((function(t,r){o[r]=e(t,n)})),o);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var o in t)n[o]=t[o];return n},insertBefore:function(e,t,n,o){var a=(o=o||r.languages)[e],i={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=a[s])}var c=o[e];return o[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,o,a){a=a||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],o||s);var l=t[s],c=r.util.type(l);"Object"!==c||a[i(l)]?"Array"!==c||a[i(l)]||(a[i(l)]=!0,e(l,n,s,a)):(a[i(l)]=!0,e(l,n,null,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",a),!a.grammar)throw new Error('The language "'+a.language+'" has no grammar.');return a.tokens=r.tokenize(a.code,a.grammar),r.hooks.run("after-tokenize",a),o.stringify(r.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var o=new s;return l(o,o.head,e),i(e,o,t,o.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(o)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function a(e,t,n,r){e.lastIndex=t;var o=e.exec(n);if(o&&r&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function i(e,t,n,s,u,d){for(var f in n)if(n.hasOwnProperty(f)&&n[f]){var p=n[f];p=Array.isArray(p)?p:[p];for(var m=0;m<p.length;++m){if(d&&d.cause==f+","+m)return;var h=p[m],g=h.inside,b=!!h.lookbehind,y=!!h.greedy,v=h.alias;if(y&&!h.pattern.global){var x=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,x+"g")}for(var w=h.pattern||h,S=s.next,_=u;S!==t.tail&&!(d&&_>=d.reach);_+=S.value.length,S=S.next){var k=S.value;if(t.length>e.length)return;if(!(k instanceof o)){var E,P=1;if(y){if(!(E=a(w,_,e,b))||E.index>=e.length)break;var O=E.index,C=E.index+E[0].length,j=_;for(j+=S.value.length;O>=j;)j+=(S=S.next).value.length;if(_=j-=S.value.length,S.value instanceof o)continue;for(var T=S;T!==t.tail&&(j<C||"string"==typeof T.value);T=T.next)P++,j+=T.value.length;P--,k=e.slice(_,j),E.index-=_}else if(!(E=a(w,0,k,b)))continue;O=E.index;var A=E[0],I=k.slice(0,O),N=k.slice(O+A.length),D=_+k.length;d&&D>d.reach&&(d.reach=D);var R=S.prev;if(I&&(R=l(t,R,I),_+=I.length),c(t,R,P),S=l(t,R,new o(f,g?r.tokenize(A,g):A,v,A)),N&&l(t,S,N),P>1){var L={cause:f+","+m,reach:D};i(e,t,n,S.prev,_,L),d&&L.reach>d.reach&&(d.reach=L.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function c(e,t,n){for(var r=t.next,o=0;o<n&&r!==e.tail;o++)r=r.next;t.next=r,r.prev=t,e.length-=o}return o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,n)})),o}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),r.hooks.run("wrap",a);var s="";for(var l in a.attributes)s+=" "+l+'="'+(a.attributes[l]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+s+">"+a.content+"</"+a.tag+">"},r}();t.exports=n,n.default=n}},function(){return o||(0,r[f(r)[0]])((o={exports:{}}).exports,o),o.exports})());w.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},w.languages.markup.tag.inside["attr-value"].inside.entity=w.languages.markup.entity,w.languages.markup.doctype.inside["internal-subset"].inside=w.languages.markup,w.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(w.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:w.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:w.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},w.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(w.languages.markup.tag,"addAttribute",{value:function(e,t){w.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:w.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),w.languages.html=w.languages.markup,w.languages.mathml=w.languages.markup,w.languages.svg=w.languages.markup,w.languages.xml=w.languages.extend("markup",{}),w.languages.ssml=w.languages.xml,w.languages.atom=w.languages.xml,w.languages.rss=w.languages.xml,function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r="(?:[^\\\\-]|"+n.source+")",o=(r=RegExp(r+"-"+r),{pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"});e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:r,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":t,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:n}},"special-escape":t,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":o}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":o}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}}(w),w.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},w.languages.javascript=w.languages.extend("clike",{"class-name":[w.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),w.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,w.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:w.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:w.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:w.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:w.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:w.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),w.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:w.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),w.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),w.languages.markup&&(w.languages.markup.tag.addInlined("script","javascript"),w.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),w.languages.js=w.languages.javascript,w.languages.actionscript=w.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),w.languages.actionscript["class-name"].alias="function",delete w.languages.actionscript.parameter,delete w.languages.actionscript["literal-property"],w.languages.markup&&w.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:w.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(w),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},o="doc-comment";if(a=e.languages[t]){var a,i=a[o];if((i=i||(a=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[o])instanceof RegExp&&(i=a[o]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s<l;s++)i[s]instanceof RegExp&&(i[s]={pattern:i[s]}),r(i[s]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(w),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(w),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(w),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(w),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var o,a=t[n];"code"!==a.type?e(a.content):(o=a.content[1],a=a.content[3],o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),a.alias?"string"==typeof a.alias?a.alias=[a.alias,o]:a.alias.push(o):a.alias=[o]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,o=t.classes.length;r<o;r++){var a=t.classes[r];if(a=/language-(.+)/.exec(a)){n=a[1];break}}var c,u=e.languages[n];u?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n)):s[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(w),w.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:w.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},w.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var o=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var a=f(/^\($/,/^\)$/);if(-1===a)continue;for(;n<a;n++){var i=u(0);"variable"===i.type&&(p(i,"variable-input"),o.push(i.content))}n=a+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,p(u(0),"property-mutation"),0<o.length)){var s=f(/^\{$/,/^\}$/);if(-1!==s)for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&0<=o.indexOf(c.content)&&p(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function f(e,r){for(var o=1,a=n;a<t.length;a++){var i=t[a],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))o++;else if(r.test(s)&&0==--o)return a}return-1}function p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),w.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,o=r.inside["interpolation-punctuation"],a=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function l(t,n,i){var l=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),c=0,u={},d=(l=s(l.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n})).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var a=0;a<n.length;a++){if(c>=d.length)return;var i,l,f,p,m,h,g,b=n[a];"string"==typeof b||"string"==typeof b.content?(i=d[c],-1!==(g=(h="string"==typeof b?b:b.content).indexOf(i))&&(++c,l=h.substring(0,g),m=u[i],f=void 0,(p={})["interpolation-punctuation"]=o,3===(p=e.tokenize(m,p)).length&&((f=[1,1]).push.apply(f,s(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,m),p=h.substring(g+i.length),m=[],l&&m.push(l),m.push(f),p&&(t(h=[p]),m.push.apply(m,h)),"string"==typeof b?(n.splice.apply(n,[a,1].concat(m)),a+=m.length-1):b.content=m)):(g=b.content,Array.isArray(g)?t(g):t([g]))}}(l),new e.Token(i,l,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(n){for(var r=0,o=n.length;r<o;r++){var a,i,s,c=n[r];"string"!=typeof c&&(a=c.content,Array.isArray(a)?"template-string"===c.type?(c=a[1],3===a.length&&"string"!=typeof c&&"embedded-code"===c.type&&(i=u(c),c=c.alias,c=Array.isArray(c)?c[0]:c,s=e.languages[c])&&(a[1]=l(i,s,c))):t(a):"string"!=typeof a&&t([a]))}}(t.tokens)}))}(w),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(w),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(w),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(w),w.languages.n4js=w.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),w.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),w.languages.n4jsd=w.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var o=n[r],a=e.languages.javascript[o];o=(a="RegExp"===e.util.type(a)?e.languages.javascript[o]={pattern:a}:a).inside||{};(a.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(w),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function a(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return o})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var o=t[r],a=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===s(o.content[0].content[1])&&n.pop():"/>"!==o.content[o.content.length-1].content&&n.push({tagName:s(o.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&0<n.length&&0===n[n.length-1].openedBraces&&(a=s(o),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(a+=s(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(a=s(t[r-1])+a,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",a,null,a)),o.content&&"string"!=typeof o.content&&i(o.content)}}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(w),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(w),w.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},w.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=w.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(w),w.languages.c=w.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),w.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),w.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},w.languages.c.string],char:w.languages.c.char,comment:w.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:w.languages.c}}}}),w.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete w.languages.c.boolean,w.languages.objectivec=w.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete w.languages.objectivec["class-name"],w.languages.objc=w.languages.objectivec,w.languages.reason=w.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),w.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete w.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(w),w.languages.go=w.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),w.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete w.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(w),w.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},w.languages.python["string-interpolation"].inside.interpolation.inside.rest=w.languages.python,w.languages.py=w.languages.python,w.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},w.languages.webmanifest=w.languages.json;((e,t)=>{for(var n in t)l(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>S,duotoneDark:()=>_,duotoneLight:()=>k,github:()=>E,gruvboxMaterialDark:()=>U,gruvboxMaterialLight:()=>$,jettwaveDark:()=>F,jettwaveLight:()=>q,nightOwl:()=>P,nightOwlLight:()=>O,oceanicNext:()=>T,okaidia:()=>A,oneDark:()=>B,oneLight:()=>z,palenight:()=>I,shadesOfPurple:()=>N,synthwave84:()=>D,ultramin:()=>R,vsDark:()=>L,vsLight:()=>M});var S={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},_={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},k={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},E={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},P={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},O={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},C="#c5a5c5",j="#8dc891",T={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:C}},{types:["attr-value"],style:{color:j}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:j}},{types:["punctuation"],style:{color:j}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:C}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},A={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},I={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},N={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},D={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},R={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},L={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},M={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},F={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},q={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},B={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},z={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},U={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},$={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},H=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:o}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=y(y({},e[t]),o);e[t]=n})),e}),{});return r.root=n,r.plain=v(y({},n),{backgroundColor:void 0}),r},V=/\r\n|\r|\n/,W=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},K=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},G=e=>{const t=[[]],n=[e],r=[0],o=[e.length];let a=0,i=0,s=[];const l=[s];for(;i>-1;){for(;(a=r[i]++)<o[i];){let e,c=t[i];const u=n[i][a];if("string"==typeof u?(c=i>0?c:["plain"],e=u):(c=K(c,u.type),u.alias&&(c=K(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),o.push(e.length);continue}const d=e.split(V),f=d.length;s.push({types:c,content:d[0]});for(let t=1;t<f;t++)W(s),l.push(s=[]),s.push({types:c,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),o.pop()}return W(s),l},Q=({children:e,language:t,code:n,theme:r,prism:o})=>{const s=t.toLowerCase(),l=((e,t)=>{const[n,r]=(0,a.useState)(H(t,e)),o=(0,a.useRef)(),i=(0,a.useRef)();return(0,a.useEffect)((()=>{t===o.current&&e===i.current||(o.current=t,i.current=e,r(H(t,e)))}),[e,t]),n})(s,r),c=(e=>(0,a.useCallback)((t=>{var n=t,{className:r,style:o,line:a}=n,s=x(n,["className","style","line"]);const l=v(y({},s),{className:(0,i.A)("token-line",r)});return"object"==typeof e&&"plain"in e&&(l.style=e.plain),"object"==typeof o&&(l.style=y(y({},l.style||{}),o)),l}),[e]))(l),u=(e=>{const t=(0,a.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,a.useCallback)((e=>{var n=e,{token:r,className:o,style:a}=n,s=x(n,["token","className","style"]);const l=v(y({},s),{className:(0,i.A)("token",...r.types,o),children:r.content,style:t(r)});return null!=a&&(l.style=y(y({},l.style||{}),a)),l}),[t])})(l),d=(({prism:e,code:t,grammar:n,language:r})=>{const o=(0,a.useRef)(e);return(0,a.useMemo)((()=>{if(null==n)return G([t]);const e={code:t,grammar:n,language:r,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,n),o.current.hooks.run("after-tokenize",e),G(e.tokens)}),[t,n,r])})({prism:o,language:s,code:n,grammar:o.languages[s]});return e({tokens:d,className:`prism-code language-${s}`,style:null!=l?l.root:{},getLineProps:c,getTokenProps:u})},Y=e=>(0,a.createElement)(Q,v(y({},e),{prism:e.prism||w,theme:e.theme||L,code:e.code,language:e.language}))},11561:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=!0,o="Invariant failed";function a(e,t){if(!e){if(r)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},31635:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>D,__assign:()=>a,__asyncDelegator:()=>E,__asyncGenerator:()=>k,__asyncValues:()=>P,__await:()=>_,__awaiter:()=>m,__classPrivateFieldGet:()=>A,__classPrivateFieldIn:()=>N,__classPrivateFieldSet:()=>I,__createBinding:()=>g,__decorate:()=>s,__disposeResources:()=>L,__esDecorate:()=>c,__exportStar:()=>b,__extends:()=>o,__generator:()=>h,__importDefault:()=>T,__importStar:()=>j,__makeTemplateObject:()=>O,__metadata:()=>p,__param:()=>l,__propKey:()=>d,__read:()=>v,__rest:()=>i,__runInitializers:()=>u,__setFunctionName:()=>f,__spread:()=>x,__spreadArray:()=>S,__spreadArrays:()=>w,__values:()=>y,default:()=>M});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function i(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function s(e,t,n,r){var o,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,n,i):o(t,n))||i);return a>3&&i&&Object.defineProperty(t,n,i),i}function l(e,t){return function(n,r){t(n,r,e)}}function c(e,t,n,r,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]="access"===h?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var g=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[c],m);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(s=i(g.get))&&(d.get=s),(s=i(g.set))&&(d.set=s),(s=i(g.init))&&o.unshift(s)}else(s=i(g))&&("field"===l?o.unshift(s):d[c]=s)}u&&Object.defineProperty(u,r.name,d),f=!0}function u(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}l((r=r.apply(e,t||[])).next())}))}function h(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(l){s=[6,l],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}var g=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function b(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||g(t,e,n)}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function x(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function w(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var a=arguments[t],i=0,s=a.length;i<s;i++,o++)r[o]=a[i];return r}function S(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function _(e){return this instanceof _?(this.v=e,this):new _(e)}function k(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),i("next"),i("throw"),i("return",(function(e){return function(t){return Promise.resolve(t).then(e,c)}})),r[Symbol.asyncIterator]=function(){return this},r;function i(e,t){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||s(e,t)}))},t&&(r[e]=t(r[e])))}function s(e,t){try{(n=o[e](t)).value instanceof _?Promise.resolve(n.value.v).then(l,c):u(a[0][2],n)}catch(r){u(a[0][3],r)}var n}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function E(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:_(e[r](t)),done:!1}:o?o(t):t}:o}}function P(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=y(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function O(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var C=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function j(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&g(t,e,n);return C(t,e),t}function T(e){return e&&e.__esModule?e:{default:e}}function A(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function I(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function N(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function D(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if("function"!=typeof r)throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var R="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function L(e){function t(t){e.error=e.hasError?new R(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var n,r=0;return function o(){for(;n=e.stack.pop();)try{if(!n.async&&1===r)return r=0,e.stack.push(n),Promise.resolve().then(o);if(n.dispose){var a=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(a).then(o,(function(e){return t(e),o()}))}else r|=1}catch(i){t(i)}if(1===r)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}const M={__extends:o,__assign:a,__rest:i,__decorate:s,__param:l,__metadata:p,__awaiter:m,__generator:h,__createBinding:g,__exportStar:b,__values:y,__read:v,__spread:x,__spreadArrays:w,__spreadArray:S,__await:_,__asyncGenerator:k,__asyncDelegator:E,__asyncValues:P,__makeTemplateObject:O,__importStar:j,__importDefault:T,__classPrivateFieldGet:A,__classPrivateFieldSet:I,__classPrivateFieldIn:N,__addDisposableResource:D,__disposeResources:L}},22654:e=>{"use strict";e.exports={}},84054:e=>{"use strict";e.exports=JSON.parse('{"/fhir-dosage-utils/blog-a4a":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d026f85a"},{"content":"f71da0e1"}],"__props":"3a473b0c"},"/fhir-dosage-utils/blog/archive-a40":{"__comp":"9e4087bc","__context":{"plugin":"36994c47"},"__props":"12ab42f9"},"/fhir-dosage-utils/blog/authors-6c6":{"__comp":"621db11d","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","__props":"b31f2dc3"},"/fhir-dosage-utils/blog/empowerment-91f":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"e3948197"},"/fhir-dosage-utils/blog/tags-22d":{"__comp":"01a85c17","__context":{"plugin":"36994c47"},"sidebar":"814f3328","__props":"17a84f1e"},"/fhir-dosage-utils/blog/tags/features-b47":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d026f85a"}],"__props":"7d7affb4"},"/fhir-dosage-utils/blog/tags/welcome-f7c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"f71da0e1"}],"__props":"216e008c"},"/fhir-dosage-utils/blog/welcome-161":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"aa8d6d0b"},"/fhir-dosage-utils/examples/timing-ba5":{"__comp":"d5205798","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/fhir-dosage-utils/playground-b6a":{"__comp":"8926b418","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/fhir-dosage-utils/search-cd6":{"__comp":"1a4e3797","__context":{"plugin":"c141421f"}},"/fhir-dosage-utils/api-0c0":{"__comp":"5e95c892","__context":{"plugin":"6e719b2a"}},"/fhir-dosage-utils/api-f04":{"__comp":"a7bd4aaa","version":"933cb006"},"/fhir-dosage-utils/api-39e":{"__comp":"04baef29","options":"667c56e4","packages":"1cae87f6"},"/fhir-dosage-utils/api-995":{"__comp":"c578995c"},"/fhir-dosage-utils/api/class/FhirDosageUtils-861":{"__comp":"c578995c"},"/fhir-dosage-utils/api/enum/DisplayOrderEnum-958":{"__comp":"c578995c"},"/fhir-dosage-utils/api/interface/Config-7fe":{"__comp":"c578995c"},"/fhir-dosage-utils/docs-08c":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/fhir-dosage-utils/docs-fe5":{"__comp":"a7bd4aaa","__props":"80244a0d"},"/fhir-dosage-utils/docs-405":{"__comp":"a94703ab"},"/fhir-dosage-utils/docs/category/-additionalinstruction-ed8":{"__comp":"14eb3368","__props":"d276600f"},"/fhir-dosage-utils/docs/category/-asneeded-610":{"__comp":"14eb3368","__props":"38ecc968"},"/fhir-dosage-utils/docs/category/\ufe0f-boundsduration-e3e":{"__comp":"14eb3368","__props":"a59be22a"},"/fhir-dosage-utils/docs/category/-boundsperiod-56b":{"__comp":"14eb3368","__props":"15cc94e8"},"/fhir-dosage-utils/docs/category/-boundsrange-89a":{"__comp":"14eb3368","__props":"2b2f836d"},"/fhir-dosage-utils/docs/category/-code-0d5":{"__comp":"14eb3368","__props":"2eb73d32"},"/fhir-dosage-utils/docs/category/-count--countmax-015":{"__comp":"14eb3368","__props":"24450963"},"/fhir-dosage-utils/docs/category/-dayofweek-ca3":{"__comp":"14eb3368","__props":"1c404b1f"},"/fhir-dosage-utils/docs/category/-dosequantity-a06":{"__comp":"14eb3368","__props":"52aaae7a"},"/fhir-dosage-utils/docs/category/-doserange-019":{"__comp":"14eb3368","__props":"16440cc3"},"/fhir-dosage-utils/docs/category/-durationdurationmax-053":{"__comp":"14eb3368","__props":"c14d5b58"},"/fhir-dosage-utils/docs/category/-event-989":{"__comp":"14eb3368","__props":"e5b958e6"},"/fhir-dosage-utils/docs/category/-frequencyfrequencymax-271":{"__comp":"14eb3368","__props":"c5215184"},"/fhir-dosage-utils/docs/category/-maxdoseperadministration-a50":{"__comp":"14eb3368","__props":"ba8b53a7"},"/fhir-dosage-utils/docs/category/-maxdoseperlifetime-17d":{"__comp":"14eb3368","__props":"0ba7d2cf"},"/fhir-dosage-utils/docs/category/-maxdoseperperiod-94d":{"__comp":"14eb3368","__props":"ead5521e"},"/fhir-dosage-utils/docs/category/\ufe0f-method-848":{"__comp":"14eb3368","__props":"de252642"},"/fhir-dosage-utils/docs/category/-offset-555":{"__comp":"14eb3368","__props":"da10aa23"},"/fhir-dosage-utils/docs/category/-offset-when-044":{"__comp":"14eb3368","__props":"5876b580"},"/fhir-dosage-utils/docs/category/-patientinstruction-dd2":{"__comp":"14eb3368","__props":"07d383a6"},"/fhir-dosage-utils/docs/category/\ufe0f-periodperiodmax-ab9":{"__comp":"14eb3368","__props":"4cfebedc"},"/fhir-dosage-utils/docs/category/\ufe0f-ratequantity-ee4":{"__comp":"14eb3368","__props":"1ee75028"},"/fhir-dosage-utils/docs/category/\ufe0f-raterange-c5a":{"__comp":"14eb3368","__props":"120b932c"},"/fhir-dosage-utils/docs/category/-rateratio-0d2":{"__comp":"14eb3368","__props":"8da63d19"},"/fhir-dosage-utils/docs/category/\ufe0f-route-f6c":{"__comp":"14eb3368","__props":"ceabf9db"},"/fhir-dosage-utils/docs/category/\ufe0f-sequence-98f":{"__comp":"14eb3368","__props":"27992ad9"},"/fhir-dosage-utils/docs/category/-site-91a":{"__comp":"14eb3368","__props":"3a796946"},"/fhir-dosage-utils/docs/category/-text-fcf":{"__comp":"14eb3368","__props":"77255a7d"},"/fhir-dosage-utils/docs/category/-timeofday-4dd":{"__comp":"14eb3368","__props":"360ae7c2"},"/fhir-dosage-utils/docs/category/-when-fde":{"__comp":"14eb3368","__props":"2c5679ac"},"/fhir-dosage-utils/docs/contributing-b12":{"__comp":"17896441","content":"72a427b3"},"/fhir-dosage-utils/docs/custom/dateTimeFormatOptions-c67":{"__comp":"17896441","content":"c9387e11"},"/fhir-dosage-utils/docs/custom/displayOrder-9b2":{"__comp":"17896441","content":"78f84b63"},"/fhir-dosage-utils/docs/custom/displaySeparator-a31":{"__comp":"17896441","content":"a5e5ec5a"},"/fhir-dosage-utils/docs/custom/fromCodeableConceptToString-bc5":{"__comp":"17896441","content":"533a8e17"},"/fhir-dosage-utils/docs/custom/fromExtensionsToString-642":{"__comp":"17896441","content":"cd12752c"},"/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString-1bc":{"__comp":"17896441","content":"430bd102"},"/fhir-dosage-utils/docs/custom/i18nConfig-ffd":{"__comp":"17896441","content":"026611d2"},"/fhir-dosage-utils/docs/demo-910":{"__comp":"14eb3368","__props":"1ce962e7"},"/fhir-dosage-utils/docs/demo/custom-4d9":{"__comp":"14eb3368","__props":"5094a8b8"},"/fhir-dosage-utils/docs/demo/examples-6e9":{"__comp":"14eb3368","__props":"7d1d5983"},"/fhir-dosage-utils/docs/demo/examples/medicationrequest-3b2":{"__comp":"14eb3368","__props":"b070991f"},"/fhir-dosage-utils/docs/demo/specs-010":{"__comp":"14eb3368","__props":"1e6a5414"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx002-d27":{"__comp":"17896441","content":"d9a0709a"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx003-1b8":{"__comp":"17896441","content":"fdba5499"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx004-669":{"__comp":"17896441","content":"ef54304a"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301-04c":{"__comp":"17896441","content":"36cdde70"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302-8ac":{"__comp":"17896441","content":"4faaf014"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303-b5f":{"__comp":"17896441","content":"9caecde7"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305-bdf":{"__comp":"17896441","content":"4628893b"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307-1d9":{"__comp":"17896441","content":"4e847481"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308-1f6":{"__comp":"17896441","content":"20a65861"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310-6df":{"__comp":"17896441","content":"3766ff12"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313-489":{"__comp":"17896441","content":"6a4d8b82"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314-d90":{"__comp":"17896441","content":"01aca802"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315-a53":{"__comp":"17896441","content":"c0086ef4"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317-947":{"__comp":"17896441","content":"21119077"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319-bd1":{"__comp":"17896441","content":"265a61ea"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321-45f":{"__comp":"17896441","content":"201e0385"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331-699":{"__comp":"17896441","content":"4eb59f15"},"/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339-a53":{"__comp":"17896441","content":"ebb1249f"},"/fhir-dosage-utils/docs/faq-f8e":{"__comp":"17896441","content":"ea313555"},"/fhir-dosage-utils/docs/next-steps-9f1":{"__comp":"17896441","content":"ec99730f"},"/fhir-dosage-utils/docs/quick-start-8b9":{"__comp":"17896441","content":"c179f821"},"/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items-5ac":{"__comp":"17896441","content":"17baba0b"},"/fhir-dosage-utils/docs/specs/additionalInstruction/single_item-29a":{"__comp":"17896441","content":"12564d99"},"/fhir-dosage-utils/docs/specs/asNeeded-791":{"__comp":"17896441","content":"5c2c208f"},"/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean-65e":{"__comp":"17896441","content":"55373fd9"},"/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept-f3d":{"__comp":"17896441","content":"118e00e5"},"/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor-4e1":{"__comp":"17896441","content":"3903b0d4"},"/fhir-dosage-utils/docs/specs/boundsDuration-f80":{"__comp":"17896441","content":"f7adbe59"},"/fhir-dosage-utils/docs/specs/boundsPeriod/end_only-be9":{"__comp":"17896441","content":"1668a7c3"},"/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end-f20":{"__comp":"17896441","content":"254404d2"},"/fhir-dosage-utils/docs/specs/boundsPeriod/start_only-39f":{"__comp":"17896441","content":"40c0f713"},"/fhir-dosage-utils/docs/specs/boundsRange/high_only-33e":{"__comp":"17896441","content":"162bd28d"},"/fhir-dosage-utils/docs/specs/boundsRange/low_and_high-ce2":{"__comp":"17896441","content":"2c4b321a"},"/fhir-dosage-utils/docs/specs/boundsRange/low_only-146":{"__comp":"17896441","content":"04716c54"},"/fhir-dosage-utils/docs/specs/code-a8d":{"__comp":"17896441","content":"883bfc27"},"/fhir-dosage-utils/docs/specs/countCountMax/count-c3a":{"__comp":"17896441","content":"2a331aeb"},"/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax-14d":{"__comp":"17896441","content":"38ae24f3"},"/fhir-dosage-utils/docs/specs/countCountMax/countMax_only-3e0":{"__comp":"17896441","content":"829c17da"},"/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items-4cb":{"__comp":"17896441","content":"49044b90"},"/fhir-dosage-utils/docs/specs/dayOfWeek/single_item-a56":{"__comp":"17896441","content":"915d2175"},"/fhir-dosage-utils/docs/specs/doseQuantity-33c":{"__comp":"17896441","content":"7ebf62b0"},"/fhir-dosage-utils/docs/specs/doseRange/high_only-4d9":{"__comp":"17896441","content":"e8ce008f"},"/fhir-dosage-utils/docs/specs/doseRange/low_and_high-f54":{"__comp":"17896441","content":"96e7b265"},"/fhir-dosage-utils/docs/specs/doseRange/low_only-83d":{"__comp":"17896441","content":"b30e43e1"},"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax-91c":{"__comp":"17896441","content":"460a5c5b"},"/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only-bf3":{"__comp":"17896441","content":"6bccb6a0"},"/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only-9e7":{"__comp":"17896441","content":"87294416"},"/fhir-dosage-utils/docs/specs/event/multiple_items-9ef":{"__comp":"17896441","content":"ece64983"},"/fhir-dosage-utils/docs/specs/event/single_item-bc5":{"__comp":"17896441","content":"bc0994c2"},"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax-adf":{"__comp":"17896441","content":"97031957"},"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only-896":{"__comp":"17896441","content":"774b774e"},"/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only-042":{"__comp":"17896441","content":"133d1207"},"/fhir-dosage-utils/docs/specs/maxDosePerAdministration-632":{"__comp":"17896441","content":"06a006fb"},"/fhir-dosage-utils/docs/specs/maxDosePerLifetime-87b":{"__comp":"17896441","content":"7614ce18"},"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4-771":{"__comp":"17896441","content":"afe92c27"},"/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5-78e":{"__comp":"17896441","content":"3fb26655"},"/fhir-dosage-utils/docs/specs/method-d42":{"__comp":"17896441","content":"3216d4c8"},"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days-608":{"__comp":"17896441","content":"20b5be5c"},"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours-c01":{"__comp":"17896441","content":"0530b1c5"},"/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes-ca6":{"__comp":"17896441","content":"fa572d46"},"/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset-35f":{"__comp":"17896441","content":"1f927e7e"},"/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items-4bc":{"__comp":"17896441","content":"1c1d0071"},"/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item-948":{"__comp":"17896441","content":"d0a7fa20"},"/fhir-dosage-utils/docs/specs/patientInstruction-628":{"__comp":"17896441","content":"aa77b6a8"},"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax-f06":{"__comp":"17896441","content":"ab10b176"},"/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only-2ef":{"__comp":"17896441","content":"139f9fbc"},"/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only-b27":{"__comp":"17896441","content":"e9832d3c"},"/fhir-dosage-utils/docs/specs/rateQuantity-2bf":{"__comp":"17896441","content":"ad90b1c0"},"/fhir-dosage-utils/docs/specs/rateRange/high_only-5cf":{"__comp":"17896441","content":"03620de3"},"/fhir-dosage-utils/docs/specs/rateRange/low_and_high-bea":{"__comp":"17896441","content":"3f237283"},"/fhir-dosage-utils/docs/specs/rateRange/low_only-1a9":{"__comp":"17896441","content":"b52bbddc"},"/fhir-dosage-utils/docs/specs/rateRatio-36d":{"__comp":"17896441","content":"ee929032"},"/fhir-dosage-utils/docs/specs/route-dfa":{"__comp":"17896441","content":"5f46c019"},"/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions-199":{"__comp":"17896441","content":"3d23bc21"},"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1-ccb":{"__comp":"17896441","content":"76aa043d"},"/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2-62c":{"__comp":"17896441","content":"4cbe19c8"},"/fhir-dosage-utils/docs/specs/site-c05":{"__comp":"17896441","content":"1cd656ab"},"/fhir-dosage-utils/docs/specs/text-abb":{"__comp":"17896441","content":"c36217b7"},"/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items-d87":{"__comp":"17896441","content":"f58af7d8"},"/fhir-dosage-utils/docs/specs/timeOfDay/single_item-65e":{"__comp":"17896441","content":"124c4f9d"},"/fhir-dosage-utils/-a2b":{"__comp":"1df93b7f","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[1869],(()=>{return t=38536,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/runtime~main.cc9723fa.js b/assets/js/runtime~main.600cf6bd.js similarity index 78% rename from assets/js/runtime~main.cc9723fa.js rename to assets/js/runtime~main.600cf6bd.js index a2c16ce9..de930624 100644 --- a/assets/js/runtime~main.cc9723fa.js +++ b/assets/js/runtime~main.600cf6bd.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,b,d,f={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return f[e].call(c.exports,c,c.exports,r),c.exports}r.m=f,r.amdO={},e=[],r.O=(a,c,b,d)=>{if(!c){var f=1/0;for(i=0;i<e.length;i++){c=e[i][0],b=e[i][1],d=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&d||f>=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d<f&&(f=d));if(t){e.splice(i--,1);var n=b();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,b,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var f={};a=a||[null,c({}),c([]),c(c)];for(var t=2&b&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(d,f),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({37:"8da63d19",85:"3d23bc21",417:"7ebf62b0",513:"ad90b1c0",554:"1cae87f6",578:"139f9fbc",581:"933cb006",585:"2c4b321a",743:"fdba5499",957:"c141421f",980:"9caecde7",1011:"ea313555",1056:"216e008c",1110:"c179f821",1146:"b30e43e1",1235:"a7456010",1250:"87294416",1286:"6bccb6a0",1290:"533a8e17",1408:"3a473b0c",1444:"7614ce18",1539:"d5205798",1616:"fa572d46",1650:"1e6a5414",1659:"49044b90",1740:"162bd28d",1796:"20a65861",1855:"de252642",1903:"acecf23e",1932:"ece64983",1944:"7d1d5983",2076:"common",2079:"01aca802",2122:"e8ce008f",2138:"1a4e3797",2188:"124c4f9d",2209:"ec99730f",2229:"36cdde70",2309:"3f237283",2453:"460a5c5b",2460:"03620de3",2466:"52aaae7a",2485:"430bd102",2495:"c0086ef4",2683:"78f84b63",2711:"9e4087bc",2857:"4628893b",2914:"118e00e5",3096:"e5b958e6",3140:"c9387e11",3157:"ef54304a",3158:"ba8b53a7",3249:"ccc49370",3253:"a5e5ec5a",3281:"aa8d6d0b",3301:"96e7b265",3361:"b52bbddc",3406:"3a796946",3412:"7d7affb4",3421:"ab10b176",3462:"d0a7fa20",3592:"0ba7d2cf",3663:"8926b418",3678:"ebb1249f",3709:"17baba0b",3733:"e3948197",3790:"1668a7c3",3843:"667c56e4",3885:"77255a7d",3955:"2c5679ac",3970:"5c2c208f",4019:"b31f2dc3",4048:"aa77b6a8",4056:"f58af7d8",4081:"201e0385",4088:"afe92c27",4100:"5876b580",4212:"621db11d",4222:"97031957",4282:"360ae7c2",4287:"ead5521e",4372:"24450963",4451:"ceabf9db",4471:"1f927e7e",4583:"1df93b7f",4697:"1cd656ab",4726:"3903b0d4",4812:"883bfc27",4813:"6875c492",4871:"4cfebedc",4892:"3216d4c8",4936:"06a006fb",5040:"17a84f1e",5184:"265a61ea",5236:"ee929032",5251:"40c0f713",5276:"133d1207",5317:"2a331aeb",5461:"55373fd9",5530:"a59be22a",5604:"1c404b1f",5643:"72a427b3",5648:"774b774e",5742:"aba21aa0",5772:"c578995c",5811:"15cc94e8",5813:"c14d5b58",5844:"38ecc968",6016:"c36217b7",6193:"20b5be5c",6224:"b070991f",6291:"16440cc3",6470:"c5215184",6499:"21119077",6554:"e9832d3c",6614:"cd12752c",6720:"f71da0e1",6734:"4faaf014",6751:"76aa043d",6969:"14eb3368",7032:"0530b1c5",7098:"a7bd4aaa",7376:"80244a0d",7472:"814f3328",7498:"04baef29",7643:"a6aa9e1f",7670:"27992ad9",7762:"254404d2",7829:"915d2175",7898:"da10aa23",8035:"38ae24f3",8154:"d9a0709a",8209:"01a85c17",8401:"17896441",8434:"12ab42f9",8454:"2b2f836d",8516:"829c17da",8599:"2eb73d32",8678:"3fb26655",8897:"120b932c",8937:"12564d99",8945:"04716c54",8952:"3766ff12",9048:"a94703ab",9059:"5f46c019",9218:"4eb59f15",9232:"6a4d8b82",9269:"6e719b2a",9280:"f7adbe59",9301:"026611d2",9307:"d026f85a",9466:"5094a8b8",9643:"bc0994c2",9646:"4e847481",9647:"5e95c892",9678:"d276600f",9748:"1c1d0071",9832:"4cbe19c8",9858:"36994c47",9881:"07d383a6",9945:"1ce962e7",9960:"1ee75028"}[e]||e)+"."+{37:"813bc7eb",47:"1991a0cf",85:"7594365f",225:"f0b1e0c4",404:"9edb8821",416:"396e554e",417:"54ae80af",513:"c1a1d37b",554:"633ebdfc",578:"6b2a0f29",581:"4afa65bf",585:"4aaeae55",743:"fd48d8c9",792:"05512bf3",957:"511ee4f5",980:"3fdac415",1011:"9b1be162",1056:"f6348c2b",1092:"68bfa84f",1110:"2dcdb50f",1146:"a31d7816",1235:"6958eccd",1250:"856a4cc6",1286:"6f149253",1290:"4aa6c23b",1293:"2b822132",1408:"8d594771",1444:"b43cd9d7",1465:"4121dabe",1539:"c2150799",1616:"ffdc7af5",1650:"08dcc5ab",1659:"09dd9432",1740:"e0bd6f8a",1796:"b28a42e0",1855:"bac98e94",1903:"9b9ce228",1932:"0e7ba953",1944:"e5045264",2031:"d9f528af",2076:"64052dc7",2079:"c3510731",2122:"b1ec9e42",2138:"edb30e07",2188:"a18f06b1",2209:"5adeb4e0",2229:"30885b75",2237:"350bf02e",2309:"28e32e11",2335:"9a378265",2453:"61c74f90",2460:"faf95e9a",2466:"af445a7b",2485:"c22e94d2",2495:"1ae27f60",2683:"ec5d197f",2711:"9fb77942",2857:"06151eda",2914:"bc24b584",3096:"cdf09c05",3140:"3687e058",3157:"e2bca2eb",3158:"beaa5202",3249:"4af249c4",3253:"09a26d23",3281:"3846c405",3301:"2e1a87e7",3347:"5287bd59",3361:"7d564abb",3406:"7238f544",3412:"fa47701f",3421:"a38e9884",3462:"fa07e025",3592:"9ce3f792",3663:"d1512250",3678:"91e6aa88",3709:"c5093434",3733:"07b1f2b2",3790:"bb646fe4",3843:"f60e7c1d",3876:"bccc4cb2",3885:"6f9e1b5e",3955:"17e8659b",3970:"f5db59d6",4019:"1cc101f9",4048:"56ca09ce",4056:"a125777a",4081:"b9bedf49",4088:"d16e7e92",4100:"f2a7ead5",4212:"0db263e5",4222:"74a6f4a9",4282:"198615d8",4287:"e4373962",4305:"3ce77757",4328:"a0c31c0f",4372:"ac763eca",4451:"459c8bcf",4471:"08327c6f",4583:"95167653",4697:"53ec4478",4726:"a57c0c3f",4812:"e0f2109e",4813:"3b016a1f",4839:"6ef27c69",4858:"948cad48",4871:"a42729bc",4892:"68a073f7",4936:"f306ec41",5040:"16f4ddb0",5184:"dee958e4",5236:"34e75bc3",5251:"2fba84f3",5276:"5d12d011",5317:"f74d7ec4",5461:"d9b4049f",5530:"2abd85ef",5604:"23e97fe8",5628:"07704e45",5643:"c4735c70",5648:"62004c09",5742:"c774b9b6",5772:"8e7884ba",5811:"c9acea8f",5813:"6437828c",5844:"8d20d4e7",6016:"0c863d6c",6193:"3004df61",6224:"46f84d4b",6291:"3f72be1f",6470:"63d25190",6492:"02ca8efa",6499:"d4d8e538",6554:"4c1bae01",6614:"dc6a2981",6616:"1486f49d",6689:"6d221954",6720:"aeeedc89",6734:"b71d2278",6751:"dff7b834",6891:"1adc63bf",6969:"0f7a2864",7032:"3d0b8d71",7098:"6c3bf0da",7376:"efcace37",7472:"78c87449",7498:"95d321e5",7614:"96693eac",7643:"9cb418c6",7670:"1ec6f746",7680:"3e46eccc",7748:"9bb06581",7762:"aaa69585",7829:"fa7feda1",7898:"57681a54",8035:"d68ed616",8154:"4726d5fe",8158:"7a907b38",8209:"7e81c84d",8401:"02dd0593",8434:"61d22a52",8454:"fd55ab42",8516:"c2826dfc",8599:"6c814e44",8678:"0519bb11",8842:"812707d4",8897:"bf020152",8913:"e72ab37f",8937:"9ce5a198",8945:"190f052e",8952:"9e21b0fc",9048:"22867fff",9059:"58a2ecec",9218:"0f52bdd4",9232:"6cbcfa2b",9269:"ea4a4752",9280:"e37ce83f",9301:"247b3c5d",9307:"53607b1b",9333:"d6d3aa1b",9466:"35ae2e65",9643:"8d7b205a",9646:"d1f13cc5",9647:"6ce37e7f",9678:"00889108",9748:"6c247cf0",9761:"b949f5b3",9832:"1f3d4924",9858:"3cf31be7",9881:"94472417",9945:"3a61e5b3",9960:"10978074",9975:"82afe190"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),b={},d="documentation:",r.l=(e,a,c,f)=>{if(b[e])b[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==d+c){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+c),t.src=e),b[e]=[a];var l=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var d=b[e];if(delete b[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/fhir-dosage-utils/",r.gca=function(e){return e={17896441:"8401",21119077:"6499",24450963:"4372",87294416:"1250",97031957:"4222","8da63d19":"37","3d23bc21":"85","7ebf62b0":"417",ad90b1c0:"513","1cae87f6":"554","139f9fbc":"578","933cb006":"581","2c4b321a":"585",fdba5499:"743",c141421f:"957","9caecde7":"980",ea313555:"1011","216e008c":"1056",c179f821:"1110",b30e43e1:"1146",a7456010:"1235","6bccb6a0":"1286","533a8e17":"1290","3a473b0c":"1408","7614ce18":"1444",d5205798:"1539",fa572d46:"1616","1e6a5414":"1650","49044b90":"1659","162bd28d":"1740","20a65861":"1796",de252642:"1855",acecf23e:"1903",ece64983:"1932","7d1d5983":"1944",common:"2076","01aca802":"2079",e8ce008f:"2122","1a4e3797":"2138","124c4f9d":"2188",ec99730f:"2209","36cdde70":"2229","3f237283":"2309","460a5c5b":"2453","03620de3":"2460","52aaae7a":"2466","430bd102":"2485",c0086ef4:"2495","78f84b63":"2683","9e4087bc":"2711","4628893b":"2857","118e00e5":"2914",e5b958e6:"3096",c9387e11:"3140",ef54304a:"3157",ba8b53a7:"3158",ccc49370:"3249",a5e5ec5a:"3253",aa8d6d0b:"3281","96e7b265":"3301",b52bbddc:"3361","3a796946":"3406","7d7affb4":"3412",ab10b176:"3421",d0a7fa20:"3462","0ba7d2cf":"3592","8926b418":"3663",ebb1249f:"3678","17baba0b":"3709",e3948197:"3733","1668a7c3":"3790","667c56e4":"3843","77255a7d":"3885","2c5679ac":"3955","5c2c208f":"3970",b31f2dc3:"4019",aa77b6a8:"4048",f58af7d8:"4056","201e0385":"4081",afe92c27:"4088","5876b580":"4100","621db11d":"4212","360ae7c2":"4282",ead5521e:"4287",ceabf9db:"4451","1f927e7e":"4471","1df93b7f":"4583","1cd656ab":"4697","3903b0d4":"4726","883bfc27":"4812","6875c492":"4813","4cfebedc":"4871","3216d4c8":"4892","06a006fb":"4936","17a84f1e":"5040","265a61ea":"5184",ee929032:"5236","40c0f713":"5251","133d1207":"5276","2a331aeb":"5317","55373fd9":"5461",a59be22a:"5530","1c404b1f":"5604","72a427b3":"5643","774b774e":"5648",aba21aa0:"5742",c578995c:"5772","15cc94e8":"5811",c14d5b58:"5813","38ecc968":"5844",c36217b7:"6016","20b5be5c":"6193",b070991f:"6224","16440cc3":"6291",c5215184:"6470",e9832d3c:"6554",cd12752c:"6614",f71da0e1:"6720","4faaf014":"6734","76aa043d":"6751","14eb3368":"6969","0530b1c5":"7032",a7bd4aaa:"7098","80244a0d":"7376","814f3328":"7472","04baef29":"7498",a6aa9e1f:"7643","27992ad9":"7670","254404d2":"7762","915d2175":"7829",da10aa23:"7898","38ae24f3":"8035",d9a0709a:"8154","01a85c17":"8209","12ab42f9":"8434","2b2f836d":"8454","829c17da":"8516","2eb73d32":"8599","3fb26655":"8678","120b932c":"8897","12564d99":"8937","04716c54":"8945","3766ff12":"8952",a94703ab:"9048","5f46c019":"9059","4eb59f15":"9218","6a4d8b82":"9232","6e719b2a":"9269",f7adbe59:"9280","026611d2":"9301",d026f85a:"9307","5094a8b8":"9466",bc0994c2:"9643","4e847481":"9646","5e95c892":"9647",d276600f:"9678","1c1d0071":"9748","4cbe19c8":"9832","36994c47":"9858","07d383a6":"9881","1ce962e7":"9945","1ee75028":"9960"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var b=r.o(e,a)?e[a]:void 0;if(0!==b)if(b)c.push(b[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>b=e[a]=[c,d]));c.push(b[2]=d);var f=r.p+r.u(a),t=new Error;r.l(f,(c=>{if(r.o(e,a)&&(0!==(b=e[a])&&(e[a]=void 0),b)){var d=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+f+")",t.name="ChunkLoadError",t.type=d,t.request=f,b[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var b,d,f=c[0],t=c[1],o=c[2],n=0;if(f.some((a=>0!==e[a]))){for(b in t)r.o(t,b)&&(r.m[b]=t[b]);if(o)var i=o(r)}for(a&&a(c);n<f.length;n++)d=f[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},c=self.webpackChunkdocumentation=self.webpackChunkdocumentation||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})(); \ No newline at end of file +(()=>{"use strict";var e,a,c,d,b,f={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return f[e].call(c.exports,c,c.exports,r),c.exports}r.m=f,r.amdO={},e=[],r.O=(a,c,d,b)=>{if(!c){var f=1/0;for(i=0;i<e.length;i++){c=e[i][0],d=e[i][1],b=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&b||f>=b)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,b<f&&(f=b));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}b=b||0;for(var i=e.length;i>0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,d,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var f={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(b,f),b},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({37:"8da63d19",85:"3d23bc21",417:"7ebf62b0",513:"ad90b1c0",554:"1cae87f6",578:"139f9fbc",581:"933cb006",585:"2c4b321a",743:"fdba5499",957:"c141421f",980:"9caecde7",1011:"ea313555",1056:"216e008c",1110:"c179f821",1146:"b30e43e1",1235:"a7456010",1250:"87294416",1286:"6bccb6a0",1290:"533a8e17",1408:"3a473b0c",1444:"7614ce18",1539:"d5205798",1616:"fa572d46",1650:"1e6a5414",1659:"49044b90",1740:"162bd28d",1796:"20a65861",1855:"de252642",1903:"acecf23e",1932:"ece64983",1944:"7d1d5983",2076:"common",2079:"01aca802",2122:"e8ce008f",2138:"1a4e3797",2188:"124c4f9d",2209:"ec99730f",2229:"36cdde70",2309:"3f237283",2453:"460a5c5b",2460:"03620de3",2466:"52aaae7a",2485:"430bd102",2495:"c0086ef4",2683:"78f84b63",2711:"9e4087bc",2857:"4628893b",2914:"118e00e5",3096:"e5b958e6",3140:"c9387e11",3157:"ef54304a",3158:"ba8b53a7",3249:"ccc49370",3253:"a5e5ec5a",3281:"aa8d6d0b",3301:"96e7b265",3361:"b52bbddc",3406:"3a796946",3412:"7d7affb4",3421:"ab10b176",3462:"d0a7fa20",3592:"0ba7d2cf",3663:"8926b418",3678:"ebb1249f",3709:"17baba0b",3733:"e3948197",3790:"1668a7c3",3843:"667c56e4",3885:"77255a7d",3955:"2c5679ac",3970:"5c2c208f",4019:"b31f2dc3",4048:"aa77b6a8",4056:"f58af7d8",4081:"201e0385",4088:"afe92c27",4100:"5876b580",4212:"621db11d",4222:"97031957",4282:"360ae7c2",4287:"ead5521e",4372:"24450963",4451:"ceabf9db",4471:"1f927e7e",4583:"1df93b7f",4697:"1cd656ab",4726:"3903b0d4",4812:"883bfc27",4813:"6875c492",4871:"4cfebedc",4892:"3216d4c8",4936:"06a006fb",5040:"17a84f1e",5184:"265a61ea",5236:"ee929032",5251:"40c0f713",5276:"133d1207",5317:"2a331aeb",5461:"55373fd9",5530:"a59be22a",5604:"1c404b1f",5643:"72a427b3",5648:"774b774e",5742:"aba21aa0",5772:"c578995c",5811:"15cc94e8",5813:"c14d5b58",5844:"38ecc968",6016:"c36217b7",6193:"20b5be5c",6224:"b070991f",6291:"16440cc3",6470:"c5215184",6499:"21119077",6554:"e9832d3c",6614:"cd12752c",6720:"f71da0e1",6734:"4faaf014",6751:"76aa043d",6969:"14eb3368",7032:"0530b1c5",7098:"a7bd4aaa",7376:"80244a0d",7472:"814f3328",7498:"04baef29",7643:"a6aa9e1f",7670:"27992ad9",7762:"254404d2",7829:"915d2175",7898:"da10aa23",8035:"38ae24f3",8154:"d9a0709a",8209:"01a85c17",8401:"17896441",8434:"12ab42f9",8454:"2b2f836d",8516:"829c17da",8599:"2eb73d32",8678:"3fb26655",8897:"120b932c",8937:"12564d99",8945:"04716c54",8952:"3766ff12",9048:"a94703ab",9059:"5f46c019",9218:"4eb59f15",9232:"6a4d8b82",9269:"6e719b2a",9280:"f7adbe59",9301:"026611d2",9307:"d026f85a",9466:"5094a8b8",9643:"bc0994c2",9646:"4e847481",9647:"5e95c892",9678:"d276600f",9748:"1c1d0071",9832:"4cbe19c8",9858:"36994c47",9881:"07d383a6",9945:"1ce962e7",9960:"1ee75028"}[e]||e)+"."+{37:"813bc7eb",47:"1991a0cf",85:"7594365f",225:"f0b1e0c4",404:"9edb8821",416:"396e554e",417:"54ae80af",513:"c1a1d37b",554:"633ebdfc",578:"6b2a0f29",581:"4afa65bf",585:"4aaeae55",743:"fd48d8c9",792:"05512bf3",957:"511ee4f5",980:"3fdac415",1011:"9b1be162",1056:"f6348c2b",1092:"68bfa84f",1110:"2dcdb50f",1146:"a31d7816",1235:"6958eccd",1250:"856a4cc6",1286:"6f149253",1290:"4aa6c23b",1293:"2b822132",1408:"8d594771",1444:"b43cd9d7",1465:"4121dabe",1539:"6d03459e",1616:"ffdc7af5",1650:"08dcc5ab",1659:"09dd9432",1740:"e0bd6f8a",1796:"b28a42e0",1855:"bac98e94",1903:"9b9ce228",1932:"0e7ba953",1944:"e5045264",2031:"d9f528af",2076:"8cf64e18",2079:"c3510731",2122:"b1ec9e42",2138:"edb30e07",2188:"a18f06b1",2209:"5adeb4e0",2229:"30885b75",2237:"350bf02e",2309:"28e32e11",2335:"9a378265",2453:"61c74f90",2460:"faf95e9a",2466:"af445a7b",2485:"c22e94d2",2495:"1ae27f60",2683:"ec5d197f",2711:"9fb77942",2857:"06151eda",2914:"bc24b584",3096:"cdf09c05",3140:"3687e058",3157:"e2bca2eb",3158:"beaa5202",3249:"4af249c4",3253:"09a26d23",3281:"3846c405",3301:"2e1a87e7",3347:"de91579a",3361:"7d564abb",3406:"7238f544",3412:"fa47701f",3421:"a38e9884",3462:"fa07e025",3592:"9ce3f792",3663:"d1512250",3678:"91e6aa88",3709:"c5093434",3733:"07b1f2b2",3790:"bb646fe4",3843:"f60e7c1d",3876:"bccc4cb2",3885:"6f9e1b5e",3955:"17e8659b",3970:"f5db59d6",4019:"1cc101f9",4048:"56ca09ce",4056:"a125777a",4081:"b9bedf49",4088:"d16e7e92",4100:"f2a7ead5",4212:"0db263e5",4222:"74a6f4a9",4282:"198615d8",4287:"e4373962",4305:"3ce77757",4328:"a0c31c0f",4372:"ac763eca",4451:"459c8bcf",4471:"08327c6f",4583:"95167653",4697:"53ec4478",4726:"a57c0c3f",4812:"e0f2109e",4813:"3b016a1f",4839:"6ef27c69",4858:"948cad48",4871:"a42729bc",4892:"68a073f7",4936:"f306ec41",5040:"16f4ddb0",5184:"dee958e4",5236:"34e75bc3",5251:"2fba84f3",5276:"5d12d011",5317:"f74d7ec4",5461:"d9b4049f",5530:"2abd85ef",5604:"23e97fe8",5628:"07704e45",5643:"c4735c70",5648:"62004c09",5742:"c774b9b6",5772:"cb4b50e9",5811:"c9acea8f",5813:"6437828c",5844:"8d20d4e7",6016:"0c863d6c",6193:"3004df61",6224:"46f84d4b",6291:"3f72be1f",6470:"63d25190",6492:"02ca8efa",6499:"d4d8e538",6554:"4c1bae01",6614:"dc6a2981",6616:"1486f49d",6689:"6d221954",6720:"aeeedc89",6734:"b71d2278",6751:"dff7b834",6891:"1adc63bf",6969:"0f7a2864",7032:"3d0b8d71",7098:"6c3bf0da",7376:"efcace37",7472:"78c87449",7498:"a4e689a5",7614:"96693eac",7643:"9cb418c6",7670:"1ec6f746",7680:"3e46eccc",7748:"9bb06581",7762:"aaa69585",7829:"fa7feda1",7898:"57681a54",8035:"d68ed616",8154:"4726d5fe",8158:"7a907b38",8209:"bd8ca994",8401:"02dd0593",8434:"61d22a52",8454:"fd55ab42",8516:"c2826dfc",8599:"6c814e44",8678:"0519bb11",8842:"812707d4",8897:"bf020152",8913:"e72ab37f",8937:"9ce5a198",8945:"190f052e",8952:"9e21b0fc",9048:"f9660984",9059:"58a2ecec",9218:"0f52bdd4",9232:"6cbcfa2b",9269:"ea4a4752",9280:"e37ce83f",9301:"247b3c5d",9307:"53607b1b",9333:"cba8a616",9466:"35ae2e65",9643:"8d7b205a",9646:"d1f13cc5",9647:"6ce37e7f",9678:"00889108",9748:"6c247cf0",9761:"22e4603d",9832:"1f3d4924",9858:"3cf31be7",9881:"94472417",9945:"3a61e5b3",9960:"10978074",9975:"82afe190"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},b="documentation:",r.l=(e,a,c,f)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==b+c){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",b+c),t.src=e),d[e]=[a];var l=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var b=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/fhir-dosage-utils/",r.gca=function(e){return e={17896441:"8401",21119077:"6499",24450963:"4372",87294416:"1250",97031957:"4222","8da63d19":"37","3d23bc21":"85","7ebf62b0":"417",ad90b1c0:"513","1cae87f6":"554","139f9fbc":"578","933cb006":"581","2c4b321a":"585",fdba5499:"743",c141421f:"957","9caecde7":"980",ea313555:"1011","216e008c":"1056",c179f821:"1110",b30e43e1:"1146",a7456010:"1235","6bccb6a0":"1286","533a8e17":"1290","3a473b0c":"1408","7614ce18":"1444",d5205798:"1539",fa572d46:"1616","1e6a5414":"1650","49044b90":"1659","162bd28d":"1740","20a65861":"1796",de252642:"1855",acecf23e:"1903",ece64983:"1932","7d1d5983":"1944",common:"2076","01aca802":"2079",e8ce008f:"2122","1a4e3797":"2138","124c4f9d":"2188",ec99730f:"2209","36cdde70":"2229","3f237283":"2309","460a5c5b":"2453","03620de3":"2460","52aaae7a":"2466","430bd102":"2485",c0086ef4:"2495","78f84b63":"2683","9e4087bc":"2711","4628893b":"2857","118e00e5":"2914",e5b958e6:"3096",c9387e11:"3140",ef54304a:"3157",ba8b53a7:"3158",ccc49370:"3249",a5e5ec5a:"3253",aa8d6d0b:"3281","96e7b265":"3301",b52bbddc:"3361","3a796946":"3406","7d7affb4":"3412",ab10b176:"3421",d0a7fa20:"3462","0ba7d2cf":"3592","8926b418":"3663",ebb1249f:"3678","17baba0b":"3709",e3948197:"3733","1668a7c3":"3790","667c56e4":"3843","77255a7d":"3885","2c5679ac":"3955","5c2c208f":"3970",b31f2dc3:"4019",aa77b6a8:"4048",f58af7d8:"4056","201e0385":"4081",afe92c27:"4088","5876b580":"4100","621db11d":"4212","360ae7c2":"4282",ead5521e:"4287",ceabf9db:"4451","1f927e7e":"4471","1df93b7f":"4583","1cd656ab":"4697","3903b0d4":"4726","883bfc27":"4812","6875c492":"4813","4cfebedc":"4871","3216d4c8":"4892","06a006fb":"4936","17a84f1e":"5040","265a61ea":"5184",ee929032:"5236","40c0f713":"5251","133d1207":"5276","2a331aeb":"5317","55373fd9":"5461",a59be22a:"5530","1c404b1f":"5604","72a427b3":"5643","774b774e":"5648",aba21aa0:"5742",c578995c:"5772","15cc94e8":"5811",c14d5b58:"5813","38ecc968":"5844",c36217b7:"6016","20b5be5c":"6193",b070991f:"6224","16440cc3":"6291",c5215184:"6470",e9832d3c:"6554",cd12752c:"6614",f71da0e1:"6720","4faaf014":"6734","76aa043d":"6751","14eb3368":"6969","0530b1c5":"7032",a7bd4aaa:"7098","80244a0d":"7376","814f3328":"7472","04baef29":"7498",a6aa9e1f:"7643","27992ad9":"7670","254404d2":"7762","915d2175":"7829",da10aa23:"7898","38ae24f3":"8035",d9a0709a:"8154","01a85c17":"8209","12ab42f9":"8434","2b2f836d":"8454","829c17da":"8516","2eb73d32":"8599","3fb26655":"8678","120b932c":"8897","12564d99":"8937","04716c54":"8945","3766ff12":"8952",a94703ab:"9048","5f46c019":"9059","4eb59f15":"9218","6a4d8b82":"9232","6e719b2a":"9269",f7adbe59:"9280","026611d2":"9301",d026f85a:"9307","5094a8b8":"9466",bc0994c2:"9643","4e847481":"9646","5e95c892":"9647",d276600f:"9678","1c1d0071":"9748","4cbe19c8":"9832","36994c47":"9858","07d383a6":"9881","1ce962e7":"9945","1ee75028":"9960"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((c,b)=>d=e[a]=[c,b]));c.push(d[2]=b);var f=r.p+r.u(a),t=new Error;r.l(f,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var b=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+f+")",t.name="ChunkLoadError",t.type=b,t.request=f,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,b,f=c[0],t=c[1],o=c[2],n=0;if(f.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n<f.length;n++)b=f[n],r.o(e,b)&&e[b]&&e[b][0](),e[b]=0;return r.O(i)},c=self.webpackChunkdocumentation=self.webpackChunkdocumentation||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})(); \ No newline at end of file diff --git a/blog.html b/blog.html index ea8f6740..7753e62e 100644 --- a/blog.html +++ b/blog.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><article class="margin-bottom--xl"><header><h2 class="title_f1Hy"><a href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-04-20T00:00:00.000Z">April 20, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div class="markdown"><p>We're thrilled to announce a new feature in our library that empowers users to tailor i18next configuration to their preferences. +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><article class="margin-bottom--xl"><header><h2 class="title_f1Hy"><a href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-04-20T00:00:00.000Z">April 20, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div class="markdown"><p>We're thrilled to announce a new feature in our library that empowers users to tailor i18next configuration to their preferences. i18next, the internationalization framework, plays a crucial role in facilitating multilingual support. Now, with this enhancement, users have greater control over how i18next behaves within our system.</p> <p>Benefits :</p> <ul> diff --git a/blog/archive.html b/blog/archive.html index 320486a1..7335ac30 100644 --- a/blog/archive.html +++ b/blog/archive.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><header class="hero hero--primary"><div class="container"><h1 class="hero__title">Archive</h1><p class="hero__subtitle">Archive</p></div></header><main><section class="margin-vert--lg"><div class="container"><div class="row"><div class="col col--4 margin-vert--lg"><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2024">2024<a href="#2024" class="hash-link" aria-label="Direct link to 2024" title="Direct link to 2024">​</a></h3><ul><li><a href="/fhir-dosage-utils/blog/welcome">March 29<!-- --> - <!-- -->Welcome</a></li><li><a href="/fhir-dosage-utils/blog/empowerment">April 20<!-- --> - <!-- -->Customizing i18next Configuration in Our Library</a></li></ul></div></div></div></section></main></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><header class="hero hero--primary"><div class="container"><h1 class="hero__title">Archive</h1><p class="hero__subtitle">Archive</p></div></header><main><section class="margin-vert--lg"><div class="container"><div class="row"><div class="col col--4 margin-vert--lg"><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2024">2024<a href="#2024" class="hash-link" aria-label="Direct link to 2024" title="Direct link to 2024">​</a></h3><ul><li><a href="/fhir-dosage-utils/blog/welcome">March 29<!-- --> - <!-- -->Welcome</a></li><li><a href="/fhir-dosage-utils/blog/empowerment">April 20<!-- --> - <!-- -->Customizing i18next Configuration in Our Library</a></li></ul></div></div></div></section></main></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/blog/authors.html b/blog/authors.html index bb612e52..38ddca57 100644 --- a/blog/authors.html +++ b/blog/authors.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><h1>Authors</h1><section class="margin-vert--lg"><ul><li class="authorListItem_n3yI"><div class="avatar margin-bottom--sm author-as-h2_gXvM"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><h2 class="authorName_yefp">Jacques Yakoub</h2></a><span class="authorBlogPostCount_iiJ5">2</span></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></li></ul></section></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><h1>Authors</h1><section class="margin-vert--lg"><ul><li class="authorListItem_n3yI"><div class="avatar margin-bottom--sm author-as-h2_gXvM"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><h2 class="authorName_yefp">Jacques Yakoub</h2></a><span class="authorBlogPostCount_iiJ5">2</span></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></li></ul></section></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/blog/empowerment.html b/blog/empowerment.html index da6efa1f..d9acd992 100644 --- a/blog/empowerment.html +++ b/blog/empowerment.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><article><header><h1 class="title_f1Hy">Customizing i18next Configuration in Our Library</h1><div class="container_mt6G margin-vert--md"><time datetime="2024-04-20T00:00:00.000Z">April 20, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div id="__blog-post-container" class="markdown"><p>We're thrilled to announce a new feature in our library that empowers users to tailor i18next configuration to their preferences. +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><article><header><h1 class="title_f1Hy">Customizing i18next Configuration in Our Library</h1><div class="container_mt6G margin-vert--md"><time datetime="2024-04-20T00:00:00.000Z">April 20, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div id="__blog-post-container" class="markdown"><p>We're thrilled to announce a new feature in our library that empowers users to tailor i18next configuration to their preferences. i18next, the internationalization framework, plays a crucial role in facilitating multilingual support. Now, with this enhancement, users have greater control over how i18next behaves within our system.</p> <p>Benefits :</p> <ul> diff --git a/blog/tags.html b/blog/tags.html index e3a68d53..678ff606 100644 --- a/blog/tags.html +++ b/blog/tags.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><h1>Tags</h1><section class="margin-vert--lg"><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="F">F<a href="#F" class="hash-link" aria-label="Direct link to F" title="Direct link to F">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/fhir-dosage-utils/blog/tags/features">features<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="W">W<a href="#W" class="hash-link" aria-label="Direct link to W" title="Direct link to W">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/fhir-dosage-utils/blog/tags/welcome">welcome<span>1</span></a></li></ul><hr></article></section></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><h1>Tags</h1><section class="margin-vert--lg"><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="F">F<a href="#F" class="hash-link" aria-label="Direct link to F" title="Direct link to F">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/fhir-dosage-utils/blog/tags/features">features<span>1</span></a></li></ul><hr></article><article><h2 class="anchor anchorWithStickyNavbar_LWe7" id="W">W<a href="#W" class="hash-link" aria-label="Direct link to W" title="Direct link to W">​</a></h2><ul class="padding--none"><li class="tag_Nnez"><a class="tag_zVej tagWithCount_h2kH" href="/fhir-dosage-utils/blog/tags/welcome">welcome<span>1</span></a></li></ul><hr></article></section></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/blog/tags/features.html b/blog/tags/features.html index 5fe339b7..376d2661 100644 --- a/blog/tags/features.html +++ b/blog/tags/features.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><header class="margin-bottom--xl"><h1>One post tagged with "features"</h1><a href="/fhir-dosage-utils/blog/tags">View All Tags</a></header><article class="margin-bottom--xl"><header><h2 class="title_f1Hy"><a href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-04-20T00:00:00.000Z">April 20, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div class="markdown"><p>We're thrilled to announce a new feature in our library that empowers users to tailor i18next configuration to their preferences. +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><header class="margin-bottom--xl"><h1>One post tagged with "features"</h1><a href="/fhir-dosage-utils/blog/tags">View All Tags</a></header><article class="margin-bottom--xl"><header><h2 class="title_f1Hy"><a href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-04-20T00:00:00.000Z">April 20, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div class="markdown"><p>We're thrilled to announce a new feature in our library that empowers users to tailor i18next configuration to their preferences. i18next, the internationalization framework, plays a crucial role in facilitating multilingual support. Now, with this enhancement, users have greater control over how i18next behaves within our system.</p> <p>Benefits :</p> <ul> diff --git a/blog/tags/welcome.html b/blog/tags/welcome.html index ab45c966..e2e2c6e9 100644 --- a/blog/tags/welcome.html +++ b/blog/tags/welcome.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><header class="margin-bottom--xl"><h1>One post tagged with "welcome"</h1><a href="/fhir-dosage-utils/blog/tags">View All Tags</a></header><article class="margin-bottom--xl"><header><h2 class="title_f1Hy"><a href="/fhir-dosage-utils/blog/welcome">Welcome</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-03-29T00:00:00.000Z">March 29, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div class="markdown"><p>Welcome to <code>fhir-dosage-utils</code>.<br> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><header class="margin-bottom--xl"><h1>One post tagged with "welcome"</h1><a href="/fhir-dosage-utils/blog/tags">View All Tags</a></header><article class="margin-bottom--xl"><header><h2 class="title_f1Hy"><a href="/fhir-dosage-utils/blog/welcome">Welcome</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2024-03-29T00:00:00.000Z">March 29, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div class="markdown"><p>Welcome to <code>fhir-dosage-utils</code>.<br> <!-- -->Key Features:</p> <ul> <li><strong>Compatible:</strong> Works with <a href="https://hl7.org/fhir/R4/dosage.html" target="_blank" rel="noopener noreferrer">Dosage R4</a> and <a href="https://hl7.org/fhir/R5/dosage.html" target="_blank" rel="noopener noreferrer">Dosage R5</a></li> diff --git a/blog/welcome.html b/blog/welcome.html index 05859a5e..816fbdcd 100644 --- a/blog/welcome.html +++ b/blog/welcome.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><article><header><h1 class="title_f1Hy">Welcome</h1><div class="container_mt6G margin-vert--md"><time datetime="2024-03-29T00:00:00.000Z">March 29, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div id="__blog-post-container" class="markdown"><p>Welcome to <code>fhir-dosage-utils</code>.<br> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><div role="group"><h3 class="yearGroupHeading_rMGB">2024</h3><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/fhir-dosage-utils/blog/empowerment">Customizing i18next Configuration in Our Library</a></li><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/fhir-dosage-utils/blog/welcome">Welcome</a></li></ul></div></nav></aside><main class="col col--7"><article><header><h1 class="title_f1Hy">Welcome</h1><div class="container_mt6G margin-vert--md"><time datetime="2024-03-29T00:00:00.000Z">March 29, 2024</time> · <!-- -->One min read</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--12 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo authorImage_XqGP" src="https://avatars.githubusercontent.com/u/9306961?v=4" alt="Jacques Yakoub"></a><div class="avatar__intro authorDetails_lV9A"><div class="avatar__name"><a href="https://github.com/jy95" target="_blank" rel="noopener noreferrer"><span class="authorName_yefp">Jacques Yakoub</span></a></div><small class="authorTitle_nd0D" title="Creator">Creator</small><div class="authorSocials_rSDt"></div></div></div></div></div></header><div id="__blog-post-container" class="markdown"><p>Welcome to <code>fhir-dosage-utils</code>.<br> <!-- -->Key Features:</p> <ul> <li><strong>Compatible:</strong> Works with <a href="https://hl7.org/fhir/R4/dosage.html" target="_blank" rel="noopener noreferrer">Dosage R4</a> and <a href="https://hl7.org/fhir/R5/dosage.html" target="_blank" rel="noopener noreferrer">Dosage R5</a></li> diff --git a/docs/category/-additionalinstruction.html b/docs/category/-additionalinstruction.html index f7bc7174..7eec1486 100644 --- a/docs/category/-additionalinstruction.html +++ b/docs/category/-additionalinstruction.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Collapse sidebar category '📝 additionalInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📝 additionalInstruction</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📝 additionalInstruction showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="➕ Multiple items">📄️<!-- --> <!-- -->➕ Multiple items</h2><p class="text--truncate cardDescription_PWke" title="Multiple items">Multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item"><h2 class="text--truncate cardTitle_rnsV" title="❌ Single item">📄️<!-- --> <!-- -->❌ Single item</h2><p class="text--truncate cardDescription_PWke" title="Single item">Single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/demo/specs"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔎 Specifications</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➕ Multiple items</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Collapse sidebar category '📝 additionalInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📝 additionalInstruction</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📝 additionalInstruction showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="➕ Multiple items">📄️<!-- --> <!-- -->➕ Multiple items</h2><p class="text--truncate cardDescription_PWke" title="Multiple items">Multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item"><h2 class="text--truncate cardTitle_rnsV" title="❌ Single item">📄️<!-- --> <!-- -->❌ Single item</h2><p class="text--truncate cardDescription_PWke" title="Single item">Single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/demo/specs"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔎 Specifications</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➕ Multiple items</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-asneeded.html b/docs/category/-asneeded.html index 4dc0992c..8c281ec5 100644 --- a/docs/category/-asneeded.html +++ b/docs/category/-asneeded.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❓ asNeeded</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">❓ asNeeded showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/asNeeded"><h2 class="text--truncate cardTitle_rnsV" title="📌 asNeeded">📄️<!-- --> <!-- -->📌 asNeeded</h2><p class="text--truncate cardDescription_PWke" title="asNeeded">asNeeded</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean"><h2 class="text--truncate cardTitle_rnsV" title="✅ asNeededBoolean">📄️<!-- --> <!-- -->✅ asNeededBoolean</h2><p class="text--truncate cardDescription_PWke" title="asNeededBoolean">asNeededBoolean</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept"><h2 class="text--truncate cardTitle_rnsV" title="📌 asNeededCodeableConcept">📄️<!-- --> <!-- -->📌 asNeededCodeableConcept</h2><p class="text--truncate cardDescription_PWke" title="asNeededCodeableConcept">asNeededCodeableConcept</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor"><h2 class="text--truncate cardTitle_rnsV" title="🧬 asNeededFor">📄️<!-- --> <!-- -->🧬 asNeededFor</h2><p class="text--truncate cardDescription_PWke" title="asNeededFor">asNeededFor</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">❌ Single item</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/asNeeded"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📌 asNeeded</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❓ asNeeded</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">❓ asNeeded showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/asNeeded"><h2 class="text--truncate cardTitle_rnsV" title="📌 asNeeded">📄️<!-- --> <!-- -->📌 asNeeded</h2><p class="text--truncate cardDescription_PWke" title="asNeeded">asNeeded</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean"><h2 class="text--truncate cardTitle_rnsV" title="✅ asNeededBoolean">📄️<!-- --> <!-- -->✅ asNeededBoolean</h2><p class="text--truncate cardDescription_PWke" title="asNeededBoolean">asNeededBoolean</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept"><h2 class="text--truncate cardTitle_rnsV" title="📌 asNeededCodeableConcept">📄️<!-- --> <!-- -->📌 asNeededCodeableConcept</h2><p class="text--truncate cardDescription_PWke" title="asNeededCodeableConcept">asNeededCodeableConcept</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor"><h2 class="text--truncate cardTitle_rnsV" title="🧬 asNeededFor">📄️<!-- --> <!-- -->🧬 asNeededFor</h2><p class="text--truncate cardDescription_PWke" title="asNeededFor">asNeededFor</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">❌ Single item</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/asNeeded"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📌 asNeeded</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-boundsperiod.html b/docs/category/-boundsperiod.html index d0d775d4..f600f463 100644 --- a/docs/category/-boundsperiod.html +++ b/docs/category/-boundsperiod.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Collapse sidebar category '⏳ boundsPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only">⏳ boundsPeriod (end only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end">⏳ boundsPeriod (start & end)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only">⏳ boundsPeriod (start only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ boundsPeriod</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⏳ boundsPeriod showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only"><h2 class="text--truncate cardTitle_rnsV" title="⏳ boundsPeriod (end only)">📄️<!-- --> <!-- -->⏳ boundsPeriod (end only)</h2><p class="text--truncate cardDescription_PWke" title="end only">end only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end"><h2 class="text--truncate cardTitle_rnsV" title="⏳ boundsPeriod (start & end)">📄️<!-- --> <!-- -->⏳ boundsPeriod (start & end)</h2><p class="text--truncate cardDescription_PWke" title="Start & end">Start & end</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only"><h2 class="text--truncate cardTitle_rnsV" title="⏳ boundsPeriod (start only)">📄️<!-- --> <!-- -->⏳ boundsPeriod (start only)</h2><p class="text--truncate cardDescription_PWke" title="start only">start only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsDuration"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕰️ boundsDuration</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ boundsPeriod (end only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Collapse sidebar category '⏳ boundsPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only">⏳ boundsPeriod (end only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end">⏳ boundsPeriod (start & end)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only">⏳ boundsPeriod (start only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ boundsPeriod</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⏳ boundsPeriod showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only"><h2 class="text--truncate cardTitle_rnsV" title="⏳ boundsPeriod (end only)">📄️<!-- --> <!-- -->⏳ boundsPeriod (end only)</h2><p class="text--truncate cardDescription_PWke" title="end only">end only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end"><h2 class="text--truncate cardTitle_rnsV" title="⏳ boundsPeriod (start & end)">📄️<!-- --> <!-- -->⏳ boundsPeriod (start & end)</h2><p class="text--truncate cardDescription_PWke" title="Start & end">Start & end</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only"><h2 class="text--truncate cardTitle_rnsV" title="⏳ boundsPeriod (start only)">📄️<!-- --> <!-- -->⏳ boundsPeriod (start only)</h2><p class="text--truncate cardDescription_PWke" title="start only">start only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsDuration"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕰️ boundsDuration</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ boundsPeriod (end only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-boundsrange.html b/docs/category/-boundsrange.html index 5c0db3a3..9dbd22b3 100644 --- a/docs/category/-boundsrange.html +++ b/docs/category/-boundsrange.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Collapse sidebar category '📐 boundsRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only">📐 boundsDuration (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high">📐 boundsDuration (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only">📐 boundsDuration (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📐 boundsRange</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📐 boundsRange showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only"><h2 class="text--truncate cardTitle_rnsV" title="📐 boundsDuration (High only)">📄️<!-- --> <!-- -->📐 boundsDuration (High only)</h2><p class="text--truncate cardDescription_PWke" title="High only">High only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high"><h2 class="text--truncate cardTitle_rnsV" title="📐 boundsDuration (Low & High)">📄️<!-- --> <!-- -->📐 boundsDuration (Low & High)</h2><p class="text--truncate cardDescription_PWke" title="Low & High">Low & High</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only"><h2 class="text--truncate cardTitle_rnsV" title="📐 boundsDuration (Low only)">📄️<!-- --> <!-- -->📐 boundsDuration (Low only)</h2><p class="text--truncate cardDescription_PWke" title="Low only">Low only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ boundsPeriod (start only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📐 boundsDuration (High only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Collapse sidebar category '📐 boundsRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only">📐 boundsDuration (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high">📐 boundsDuration (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only">📐 boundsDuration (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📐 boundsRange</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📐 boundsRange showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only"><h2 class="text--truncate cardTitle_rnsV" title="📐 boundsDuration (High only)">📄️<!-- --> <!-- -->📐 boundsDuration (High only)</h2><p class="text--truncate cardDescription_PWke" title="High only">High only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high"><h2 class="text--truncate cardTitle_rnsV" title="📐 boundsDuration (Low & High)">📄️<!-- --> <!-- -->📐 boundsDuration (Low & High)</h2><p class="text--truncate cardDescription_PWke" title="Low & High">Low & High</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only"><h2 class="text--truncate cardTitle_rnsV" title="📐 boundsDuration (Low only)">📄️<!-- --> <!-- -->📐 boundsDuration (Low only)</h2><p class="text--truncate cardDescription_PWke" title="Low only">Low only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ boundsPeriod (start only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📐 boundsDuration (High only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-code.html b/docs/category/-code.html index 026b729d..d210d037 100644 --- a/docs/category/-code.html +++ b/docs/category/-code.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Collapse sidebar category '💻 code'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/code">💻 code</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💻 code</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">💻 code showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/code"><h2 class="text--truncate cardTitle_rnsV" title="💻 code">📄️<!-- --> <!-- -->💻 code</h2><p class="text--truncate cardDescription_PWke" title="code">code</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📐 boundsDuration (Low only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/code"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💻 code</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Collapse sidebar category '💻 code'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/code">💻 code</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💻 code</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">💻 code showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/code"><h2 class="text--truncate cardTitle_rnsV" title="💻 code">📄️<!-- --> <!-- -->💻 code</h2><p class="text--truncate cardDescription_PWke" title="code">code</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📐 boundsDuration (Low only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/code"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💻 code</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-count--countmax.html b/docs/category/-count--countmax.html index 55c3f5ef..8c465bce 100644 --- a/docs/category/-count--countmax.html +++ b/docs/category/-count--countmax.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Collapse sidebar category '🔢 count / countMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count">🔢 count (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only">🔢 countMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax">🔢 count and countMax</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 count / countMax</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🔢 count / countMax showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/countCountMax/count"><h2 class="text--truncate cardTitle_rnsV" title="🔢 count (only)">📄️<!-- --> <!-- -->🔢 count (only)</h2><p class="text--truncate cardDescription_PWke" title="count (only)">count (only)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only"><h2 class="text--truncate cardTitle_rnsV" title="🔢 countMax (only)">📄️<!-- --> <!-- -->🔢 countMax (only)</h2><p class="text--truncate cardDescription_PWke" title="countMax (only)">countMax (only)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax"><h2 class="text--truncate cardTitle_rnsV" title="🔢 count and countMax">📄️<!-- --> <!-- -->🔢 count and countMax</h2><p class="text--truncate cardDescription_PWke" title="count and countMax">count and countMax</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/code"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💻 code</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/countCountMax/count"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔢 count (only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Collapse sidebar category '🔢 count / countMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count">🔢 count (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only">🔢 countMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax">🔢 count and countMax</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 count / countMax</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🔢 count / countMax showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/countCountMax/count"><h2 class="text--truncate cardTitle_rnsV" title="🔢 count (only)">📄️<!-- --> <!-- -->🔢 count (only)</h2><p class="text--truncate cardDescription_PWke" title="count (only)">count (only)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only"><h2 class="text--truncate cardTitle_rnsV" title="🔢 countMax (only)">📄️<!-- --> <!-- -->🔢 countMax (only)</h2><p class="text--truncate cardDescription_PWke" title="countMax (only)">countMax (only)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax"><h2 class="text--truncate cardTitle_rnsV" title="🔢 count and countMax">📄️<!-- --> <!-- -->🔢 count and countMax</h2><p class="text--truncate cardDescription_PWke" title="count and countMax">count and countMax</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/code"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💻 code</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/countCountMax/count"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔢 count (only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-dayofweek.html b/docs/category/-dayofweek.html index daf0d6c0..c8c98101 100644 --- a/docs/category/-dayofweek.html +++ b/docs/category/-dayofweek.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Collapse sidebar category '📅 dayOfWeek'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items">📅 Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item">📅 Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📅 dayOfWeek</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📅 dayOfWeekx showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="📅 Multiple items">📄️<!-- --> <!-- -->📅 Multiple items</h2><p class="text--truncate cardDescription_PWke" title="Multiple items">Multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item"><h2 class="text--truncate cardTitle_rnsV" title="📅 Single item">📄️<!-- --> <!-- -->📅 Single item</h2><p class="text--truncate cardDescription_PWke" title="Single item">Single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 count and countMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📅 Multiple items</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Collapse sidebar category '📅 dayOfWeek'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items">📅 Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item">📅 Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📅 dayOfWeek</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📅 dayOfWeekx showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="📅 Multiple items">📄️<!-- --> <!-- -->📅 Multiple items</h2><p class="text--truncate cardDescription_PWke" title="Multiple items">Multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item"><h2 class="text--truncate cardTitle_rnsV" title="📅 Single item">📄️<!-- --> <!-- -->📅 Single item</h2><p class="text--truncate cardDescription_PWke" title="Single item">Single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 count and countMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📅 Multiple items</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-dosequantity.html b/docs/category/-dosequantity.html index a225970d..24ad44b4 100644 --- a/docs/category/-dosequantity.html +++ b/docs/category/-dosequantity.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Collapse sidebar category '💊 doseQuantity'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseQuantity">💊 doseQuantity</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💊 doseQuantity</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">💊 doseQuantity showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/doseQuantity"><h2 class="text--truncate cardTitle_rnsV" title="💊 doseQuantity">📄️<!-- --> <!-- -->💊 doseQuantity</h2><p class="text--truncate cardDescription_PWke" title="doseQuantity">doseQuantity</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📅 Single item</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/doseQuantity"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💊 doseQuantity</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Collapse sidebar category '💊 doseQuantity'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseQuantity">💊 doseQuantity</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💊 doseQuantity</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">💊 doseQuantity showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/doseQuantity"><h2 class="text--truncate cardTitle_rnsV" title="💊 doseQuantity">📄️<!-- --> <!-- -->💊 doseQuantity</h2><p class="text--truncate cardDescription_PWke" title="doseQuantity">doseQuantity</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📅 Single item</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/doseQuantity"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💊 doseQuantity</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-doserange.html b/docs/category/-doserange.html index d88339b8..e9f5024f 100644 --- a/docs/category/-doserange.html +++ b/docs/category/-doserange.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Collapse sidebar category '📏 doseRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/high_only">📏 doseRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high">📏 doseRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_only">📏 doseRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 doseRange</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📏 doseRange showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/doseRange/high_only"><h2 class="text--truncate cardTitle_rnsV" title="📏 doseRange (High only)">📄️<!-- --> <!-- -->📏 doseRange (High only)</h2><p class="text--truncate cardDescription_PWke" title="High only">High only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high"><h2 class="text--truncate cardTitle_rnsV" title="📏 doseRange (Low & High)">📄️<!-- --> <!-- -->📏 doseRange (Low & High)</h2><p class="text--truncate cardDescription_PWke" title="Low & High">Low & High</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/doseRange/low_only"><h2 class="text--truncate cardTitle_rnsV" title="📏 doseRange (Low only)">📄️<!-- --> <!-- -->📏 doseRange (Low only)</h2><p class="text--truncate cardDescription_PWke" title="Low only">Low only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/doseQuantity"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💊 doseQuantity</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/doseRange/high_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📏 doseRange (High only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Collapse sidebar category '📏 doseRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/high_only">📏 doseRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high">📏 doseRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_only">📏 doseRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 doseRange</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📏 doseRange showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/doseRange/high_only"><h2 class="text--truncate cardTitle_rnsV" title="📏 doseRange (High only)">📄️<!-- --> <!-- -->📏 doseRange (High only)</h2><p class="text--truncate cardDescription_PWke" title="High only">High only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high"><h2 class="text--truncate cardTitle_rnsV" title="📏 doseRange (Low & High)">📄️<!-- --> <!-- -->📏 doseRange (Low & High)</h2><p class="text--truncate cardDescription_PWke" title="Low & High">Low & High</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/doseRange/low_only"><h2 class="text--truncate cardTitle_rnsV" title="📏 doseRange (Low only)">📄️<!-- --> <!-- -->📏 doseRange (Low only)</h2><p class="text--truncate cardDescription_PWke" title="Low only">Low only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/doseQuantity"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💊 doseQuantity</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/doseRange/high_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📏 doseRange (High only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-durationdurationmax.html b/docs/category/-durationdurationmax.html index 7f8c5374..3bf2ab7c 100644 --- a/docs/category/-durationdurationmax.html +++ b/docs/category/-durationdurationmax.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Collapse sidebar category '⏰ durationDurationMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only">⏰ durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax">⏰ duration and durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only">⏰ duration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏰ durationDurationMax</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⏰ duration / durationMax showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only"><h2 class="text--truncate cardTitle_rnsV" title="⏰ durationMax">📄️<!-- --> <!-- -->⏰ durationMax</h2><p class="text--truncate cardDescription_PWke" title="durationMax only">durationMax only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax"><h2 class="text--truncate cardTitle_rnsV" title="⏰ duration and durationMax">📄️<!-- --> <!-- -->⏰ duration and durationMax</h2><p class="text--truncate cardDescription_PWke" title="duration and durationMax">duration and durationMax</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only"><h2 class="text--truncate cardTitle_rnsV" title="⏰ duration">📄️<!-- --> <!-- -->⏰ duration</h2><p class="text--truncate cardDescription_PWke" title="duration only">duration only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/doseRange/low_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📏 doseRange (Low only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏰ durationMax</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Collapse sidebar category '⏰ durationDurationMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only">⏰ durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax">⏰ duration and durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only">⏰ duration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '�📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏰ durationDurationMax</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⏰ duration / durationMax showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only"><h2 class="text--truncate cardTitle_rnsV" title="⏰ durationMax">📄️<!-- --> <!-- -->⏰ durationMax</h2><p class="text--truncate cardDescription_PWke" title="durationMax only">durationMax only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax"><h2 class="text--truncate cardTitle_rnsV" title="⏰ duration and durationMax">📄️<!-- --> <!-- -->⏰ duration and durationMax</h2><p class="text--truncate cardDescription_PWke" title="duration and durationMax">duration and durationMax</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only"><h2 class="text--truncate cardTitle_rnsV" title="⏰ duration">📄️<!-- --> <!-- -->⏰ duration</h2><p class="text--truncate cardDescription_PWke" title="duration only">duration only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/doseRange/low_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📏 doseRange (Low only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏰ durationMax</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-event.html b/docs/category/-event.html index e66f22d2..03887d5b 100644 --- a/docs/category/-event.html +++ b/docs/category/-event.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Collapse sidebar category '🎉 event'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🎉 event</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🎉 event showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/event/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="➕ Multiple items">📄️<!-- --> <!-- -->➕ Multiple items</h2><p class="text--truncate cardDescription_PWke" title="Multiple items">Multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/event/single_item"><h2 class="text--truncate cardTitle_rnsV" title="❌ Single item">📄️<!-- --> <!-- -->❌ Single item</h2><p class="text--truncate cardDescription_PWke" title="Single item">Single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏰ duration</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/event/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➕ Multiple items</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Collapse sidebar category '🎉 event'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🎉 event</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🎉 event showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/event/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="➕ Multiple items">📄️<!-- --> <!-- -->➕ Multiple items</h2><p class="text--truncate cardDescription_PWke" title="Multiple items">Multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/event/single_item"><h2 class="text--truncate cardTitle_rnsV" title="❌ Single item">📄️<!-- --> <!-- -->❌ Single item</h2><p class="text--truncate cardDescription_PWke" title="Single item">Single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏰ duration</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/event/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➕ Multiple items</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-frequencyfrequencymax.html b/docs/category/-frequencyfrequencymax.html index bd5acd44..692ebac6 100644 --- a/docs/category/-frequencyfrequencymax.html +++ b/docs/category/-frequencyfrequencymax.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Collapse sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only">🔁 frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax">🔁 frequency and frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only">🔁 frequency</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔁 frequencyFrequencyMax</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🔁 frequency / frequencyMax showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only"><h2 class="text--truncate cardTitle_rnsV" title="🔁 frequencyMax">📄️<!-- --> <!-- -->🔁 frequencyMax</h2><p class="text--truncate cardDescription_PWke" title="frequencyMax only">frequencyMax only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax"><h2 class="text--truncate cardTitle_rnsV" title="🔁 frequency and frequencyMax">📄️<!-- --> <!-- -->🔁 frequency and frequencyMax</h2><p class="text--truncate cardDescription_PWke" title="frequency and frequencyMax">frequency and frequencyMax</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only"><h2 class="text--truncate cardTitle_rnsV" title="🔁 frequency">📄️<!-- --> <!-- -->🔁 frequency</h2><p class="text--truncate cardDescription_PWke" title="frequency only">frequency only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/event/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">❌ Single item</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔁 frequencyMax</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Collapse sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only">🔁 frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax">🔁 frequency and frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only">🔁 frequency</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔁 frequencyFrequencyMax</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🔁 frequency / frequencyMax showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only"><h2 class="text--truncate cardTitle_rnsV" title="🔁 frequencyMax">📄️<!-- --> <!-- -->🔁 frequencyMax</h2><p class="text--truncate cardDescription_PWke" title="frequencyMax only">frequencyMax only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax"><h2 class="text--truncate cardTitle_rnsV" title="🔁 frequency and frequencyMax">📄️<!-- --> <!-- -->🔁 frequency and frequencyMax</h2><p class="text--truncate cardDescription_PWke" title="frequency and frequencyMax">frequency and frequencyMax</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only"><h2 class="text--truncate cardTitle_rnsV" title="🔁 frequency">📄️<!-- --> <!-- -->🔁 frequency</h2><p class="text--truncate cardDescription_PWke" title="frequency only">frequency only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/event/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">❌ Single item</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔁 frequencyMax</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-maxdoseperadministration.html b/docs/category/-maxdoseperadministration.html index d8fabd3a..5f980d82 100644 --- a/docs/category/-maxdoseperadministration.html +++ b/docs/category/-maxdoseperadministration.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Collapse sidebar category '💉 maxDosePerAdministration'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration">💉 maxDosePerAdministration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💉 maxDosePerAdministration</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">💉 maxDosePerAdministration showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration"><h2 class="text--truncate cardTitle_rnsV" title="💉 maxDosePerAdministration">📄️<!-- --> <!-- -->💉 maxDosePerAdministration</h2><p class="text--truncate cardDescription_PWke" title="maxDosePerAdministration">maxDosePerAdministration</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔁 frequency</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💉 maxDosePerAdministration</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Collapse sidebar category '💉 maxDosePerAdministration'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration">💉 maxDosePerAdministration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💉 maxDosePerAdministration</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">💉 maxDosePerAdministration showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration"><h2 class="text--truncate cardTitle_rnsV" title="💉 maxDosePerAdministration">📄️<!-- --> <!-- -->💉 maxDosePerAdministration</h2><p class="text--truncate cardDescription_PWke" title="maxDosePerAdministration">maxDosePerAdministration</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔁 frequency</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💉 maxDosePerAdministration</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-maxdoseperlifetime.html b/docs/category/-maxdoseperlifetime.html index ad3d4b80..700b5483 100644 --- a/docs/category/-maxdoseperlifetime.html +++ b/docs/category/-maxdoseperlifetime.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Collapse sidebar category '💖 maxDosePerLifetime'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime">💖 maxDosePerLifetime</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💖 maxDosePerLifetime</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">💖 maxDosePerLifetime showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime"><h2 class="text--truncate cardTitle_rnsV" title="💖 maxDosePerLifetime">📄️<!-- --> <!-- -->💖 maxDosePerLifetime</h2><p class="text--truncate cardDescription_PWke" title="maxDosePerLifetime">maxDosePerLifetime</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💉 maxDosePerAdministration</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💖 maxDosePerLifetime</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Collapse sidebar category '💖 maxDosePerLifetime'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime">💖 maxDosePerLifetime</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💖 maxDosePerLifetime</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">💖 maxDosePerLifetime showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime"><h2 class="text--truncate cardTitle_rnsV" title="💖 maxDosePerLifetime">📄️<!-- --> <!-- -->💖 maxDosePerLifetime</h2><p class="text--truncate cardDescription_PWke" title="maxDosePerLifetime">maxDosePerLifetime</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💉 maxDosePerAdministration</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💖 maxDosePerLifetime</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-maxdoseperperiod.html b/docs/category/-maxdoseperperiod.html index 985b10f3..61c43a97 100644 --- a/docs/category/-maxdoseperperiod.html +++ b/docs/category/-maxdoseperperiod.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Collapse sidebar category '⏳ maxDosePerPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4">⏳ maxDosePerPeriod (R4)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5">⏳ maxDosePerPeriod (R5)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ maxDosePerPeriod</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⏳ maxDosePerPeriod showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4"><h2 class="text--truncate cardTitle_rnsV" title="⏳ maxDosePerPeriod (R4)">📄️<!-- --> <!-- -->⏳ maxDosePerPeriod (R4)</h2><p class="text--truncate cardDescription_PWke" title="maxDosePerPeriod (R4)">maxDosePerPeriod (R4)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5"><h2 class="text--truncate cardTitle_rnsV" title="⏳ maxDosePerPeriod (R5)">📄️<!-- --> <!-- -->⏳ maxDosePerPeriod (R5)</h2><p class="text--truncate cardDescription_PWke" title="maxDosePerPeriod (R5)">maxDosePerPeriod (R5)</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💖 maxDosePerLifetime</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ maxDosePerPeriod (R4)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Collapse sidebar category '⏳ maxDosePerPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4">⏳ maxDosePerPeriod (R4)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5">⏳ maxDosePerPeriod (R5)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ maxDosePerPeriod</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⏳ maxDosePerPeriod showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4"><h2 class="text--truncate cardTitle_rnsV" title="⏳ maxDosePerPeriod (R4)">📄️<!-- --> <!-- -->⏳ maxDosePerPeriod (R4)</h2><p class="text--truncate cardDescription_PWke" title="maxDosePerPeriod (R4)">maxDosePerPeriod (R4)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5"><h2 class="text--truncate cardTitle_rnsV" title="⏳ maxDosePerPeriod (R5)">📄️<!-- --> <!-- -->⏳ maxDosePerPeriod (R5)</h2><p class="text--truncate cardDescription_PWke" title="maxDosePerPeriod (R5)">maxDosePerPeriod (R5)</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💖 maxDosePerLifetime</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ maxDosePerPeriod (R4)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-offset-when.html b/docs/category/-offset-when.html index ec50ff3c..364ba67d 100644 --- a/docs/category/-offset-when.html +++ b/docs/category/-offset-when.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset when</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🕒 offset / when showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-offset"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset">🗃️<!-- --> <!-- -->🕒 offset</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-when"><h2 class="text--truncate cardTitle_rnsV" title="🕒 when">🗃️<!-- --> <!-- -->🕒 when</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset and when">📄️<!-- --> <!-- -->🕒 offset and when</h2><p class="text--truncate cardDescription_PWke" title="offset and when together">offset and when together</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/method"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🛠️ method</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-offset"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset when</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🕒 offset / when showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-offset"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset">🗃️<!-- --> <!-- -->🕒 offset</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-when"><h2 class="text--truncate cardTitle_rnsV" title="🕒 when">🗃️<!-- --> <!-- -->🕒 when</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset and when">📄️<!-- --> <!-- -->🕒 offset and when</h2><p class="text--truncate cardDescription_PWke" title="offset and when together">offset and when together</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/method"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🛠️ method</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-offset"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-offset.html b/docs/category/-offset.html index fd2f19af..b8311e63 100644 --- a/docs/category/-offset.html +++ b/docs/category/-offset.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Collapse sidebar category '🕒 offset'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days">🕒 offset (Days)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours">🕒 offset (Hours)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes">🕒 offset (Minutes)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset</span><meta itemprop="position" content="4"></li></ul></nav><header><h1 class="title_kItE">🕒 offset showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset (Days)">📄️<!-- --> <!-- -->🕒 offset (Days)</h2><p class="text--truncate cardDescription_PWke" title="offset, expressing day(s)">offset, expressing day(s)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset (Hours)">📄️<!-- --> <!-- -->🕒 offset (Hours)</h2><p class="text--truncate cardDescription_PWke" title="offset, expressing hour(s)">offset, expressing hour(s)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset (Minutes)">📄️<!-- --> <!-- -->🕒 offset (Minutes)</h2><p class="text--truncate cardDescription_PWke" title="offset, expressing minute(s)">offset, expressing minute(s)</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-offset-when"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset when</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset (Days)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Collapse sidebar category '🕒 offset'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days">🕒 offset (Days)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours">🕒 offset (Hours)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes">🕒 offset (Minutes)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset</span><meta itemprop="position" content="4"></li></ul></nav><header><h1 class="title_kItE">🕒 offset showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset (Days)">📄️<!-- --> <!-- -->🕒 offset (Days)</h2><p class="text--truncate cardDescription_PWke" title="offset, expressing day(s)">offset, expressing day(s)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset (Hours)">📄️<!-- --> <!-- -->🕒 offset (Hours)</h2><p class="text--truncate cardDescription_PWke" title="offset, expressing hour(s)">offset, expressing hour(s)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset (Minutes)">📄️<!-- --> <!-- -->🕒 offset (Minutes)</h2><p class="text--truncate cardDescription_PWke" title="offset, expressing minute(s)">offset, expressing minute(s)</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-offset-when"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset when</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset (Days)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-patientinstruction.html b/docs/category/-patientinstruction.html index c4c7b946..51385918 100644 --- a/docs/category/-patientinstruction.html +++ b/docs/category/-patientinstruction.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Collapse sidebar category '📋 patientInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/patientInstruction">📋 patientInstruction</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📋 patientInstruction</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📋 patientInstruction showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/patientInstruction"><h2 class="text--truncate cardTitle_rnsV" title="📋 patientInstruction">📄️<!-- --> <!-- -->📋 patientInstruction</h2><p class="text--truncate cardDescription_PWke" title="patientInstruction">patientInstruction</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset and when</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/patientInstruction"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📋 patientInstruction</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Collapse sidebar category '📋 patientInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/patientInstruction">📋 patientInstruction</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📋 patientInstruction</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📋 patientInstruction showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/patientInstruction"><h2 class="text--truncate cardTitle_rnsV" title="📋 patientInstruction">📄️<!-- --> <!-- -->📋 patientInstruction</h2><p class="text--truncate cardDescription_PWke" title="patientInstruction">patientInstruction</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset and when</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/patientInstruction"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">���📋 patientInstruction</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-rateratio.html b/docs/category/-rateratio.html index d323a543..ea2aacd4 100644 --- a/docs/category/-rateratio.html +++ b/docs/category/-rateratio.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Collapse sidebar category '📈 rateRatio'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRatio">📈 rateRatio</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📈 rateRatio</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📈 rateRatio showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateRatio"><h2 class="text--truncate cardTitle_rnsV" title="📈 rateRatio">📄️<!-- --> <!-- -->📈 rateRatio</h2><p class="text--truncate cardDescription_PWke" title="rateRatio">rateRatio</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/rateRange/low_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⚖️ rateRange (Low only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/rateRatio"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📈 rateRatio</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Collapse sidebar category '📈 rateRatio'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRatio">📈 rateRatio</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📈 rateRatio</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📈 rateRatio showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateRatio"><h2 class="text--truncate cardTitle_rnsV" title="📈 rateRatio">📄️<!-- --> <!-- -->📈 rateRatio</h2><p class="text--truncate cardDescription_PWke" title="rateRatio">rateRatio</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/rateRange/low_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⚖️ rateRange (Low only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/rateRatio"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📈 rateRatio</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-site.html b/docs/category/-site.html index 70a10d5f..fe834f9a 100644 --- a/docs/category/-site.html +++ b/docs/category/-site.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Collapse sidebar category '📍 site'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/site">📍 site</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📍 site</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📍 site showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/site"><h2 class="text--truncate cardTitle_rnsV" title="📍 site">📄️<!-- --> <!-- -->📍 site</h2><p class="text--truncate cardDescription_PWke" title="site">site</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➡️ sequence (Sequential instructions 2)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/site"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📍 site</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/��️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Collapse sidebar category '📍 site'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/site">📍 site</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📍 site</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📍 site showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/site"><h2 class="text--truncate cardTitle_rnsV" title="📍 site">📄️<!-- --> <!-- -->📍 site</h2><p class="text--truncate cardDescription_PWke" title="site">site</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➡️ sequence (Sequential instructions 2)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/site"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📍 site</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-text.html b/docs/category/-text.html index 5560be38..b9fb1f76 100644 --- a/docs/category/-text.html +++ b/docs/category/-text.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Collapse sidebar category '📝 text'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/text">📝 text</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📝 text</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📝 text showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/text"><h2 class="text--truncate cardTitle_rnsV" title="📝 text">📄️<!-- --> <!-- -->📝 text</h2><p class="text--truncate cardDescription_PWke" title="text">text</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/site"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📍 site</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/text"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📝 text</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/��️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Collapse sidebar category '📝 text'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/text">📝 text</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📝 text</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">📝 text showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/text"><h2 class="text--truncate cardTitle_rnsV" title="📝 text">📄️<!-- --> <!-- -->📝 text</h2><p class="text--truncate cardDescription_PWke" title="text">text</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/site"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📍 site</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/text"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📝 text</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-timeofday.html b/docs/category/-timeofday.html index 458be90c..e84f841b 100644 --- a/docs/category/-timeofday.html +++ b/docs/category/-timeofday.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Collapse sidebar category '⌚ timeOfDay'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item">❌ Single item</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⌚ timeOfDay</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⌚ timeOfDay showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="➕ Multiple items">📄️<!-- --> <!-- -->➕ Multiple items</h2><p class="text--truncate cardDescription_PWke" title="Multiple items">Multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item"><h2 class="text--truncate cardTitle_rnsV" title="❌ Single item">📄️<!-- --> <!-- -->❌ Single item</h2><p class="text--truncate cardDescription_PWke" title="Single item">Single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/text"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📝 text</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➕ Multiple items</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/��️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Collapse sidebar category '⌚ timeOfDay'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item">❌ Single item</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⌚ timeOfDay</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⌚ timeOfDay showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="➕ Multiple items">📄️<!-- --> <!-- -->➕ Multiple items</h2><p class="text--truncate cardDescription_PWke" title="Multiple items">Multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item"><h2 class="text--truncate cardTitle_rnsV" title="❌ Single item">📄️<!-- --> <!-- -->❌ Single item</h2><p class="text--truncate cardDescription_PWke" title="Single item">Single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/text"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📝 text</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➕ Multiple items</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/category/-when.html b/docs/category/-when.html index abe09092..d4bfbf19 100644 --- a/docs/category/-when.html +++ b/docs/category/-when.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Collapse sidebar category '🕒 when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items">🕒 When (Multiple items)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item">🕒 When (Single item)</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 when</span><meta itemprop="position" content="4"></li></ul></nav><header><h1 class="title_kItE">🕒 when showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="🕒 When (Multiple items)">📄️<!-- --> <!-- -->🕒 When (Multiple items)</h2><p class="text--truncate cardDescription_PWke" title="when - multiple items">when - multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item"><h2 class="text--truncate cardTitle_rnsV" title="🕒 When (Single item)">📄️<!-- --> <!-- -->🕒 When (Single item)</h2><p class="text--truncate cardDescription_PWke" title="when - single item">when - single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset (Minutes)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 When (Multiple items)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Collapse sidebar category '🕒 when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items">🕒 When (Multiple items)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item">🕒 When (Single item)</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 when</span><meta itemprop="position" content="4"></li></ul></nav><header><h1 class="title_kItE">🕒 when showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items"><h2 class="text--truncate cardTitle_rnsV" title="🕒 When (Multiple items)">📄️<!-- --> <!-- -->🕒 When (Multiple items)</h2><p class="text--truncate cardDescription_PWke" title="when - multiple items">when - multiple items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item"><h2 class="text--truncate cardTitle_rnsV" title="🕒 When (Single item)">📄️<!-- --> <!-- -->🕒 When (Single item)</h2><p class="text--truncate cardDescription_PWke" title="when - single item">when - single item</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset (Minutes)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 When (Multiple items)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git "a/docs/category/\357\270\217-boundsduration.html" "b/docs/category/\357\270\217-boundsduration.html" index e122c8bd..77e61ea6 100644 --- "a/docs/category/\357\270\217-boundsduration.html" +++ "b/docs/category/\357\270\217-boundsduration.html" @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Collapse sidebar category '🕰️ boundsDuration'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsDuration">🕰️ boundsDuration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕰️ boundsDuration</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🕰️ boundsDuration showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsDuration"><h2 class="text--truncate cardTitle_rnsV" title="🕰️ boundsDuration">📄️<!-- --> <!-- -->🕰️ boundsDuration</h2><p class="text--truncate cardDescription_PWke" title="boundsDuration">boundsDuration</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🧬 asNeededFor</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsDuration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕰️ boundsDuration</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Collapse sidebar category '🕰️ boundsDuration'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsDuration">🕰️ boundsDuration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕰️ boundsDuration</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🕰️ boundsDuration showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/boundsDuration"><h2 class="text--truncate cardTitle_rnsV" title="🕰️ boundsDuration">📄️<!-- --> <!-- -->🕰️ boundsDuration</h2><p class="text--truncate cardDescription_PWke" title="boundsDuration">boundsDuration</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🧬 asNeededFor</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsDuration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕰️ boundsDuration</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git "a/docs/category/\357\270\217-method.html" "b/docs/category/\357\270\217-method.html" index 0cc42f0e..ea41076d 100644 --- "a/docs/category/\357\270\217-method.html" +++ "b/docs/category/\357\270\217-method.html" @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Collapse sidebar category '🛠️ method'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/method">🛠️ method</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛠️ method</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🛠️ method showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/method"><h2 class="text--truncate cardTitle_rnsV" title="🛠️ method">📄️<!-- --> <!-- -->🛠️ method</h2><p class="text--truncate cardDescription_PWke" title="method">method</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ maxDosePerPeriod (R5)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/method"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🛠️ method</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Collapse sidebar category '🛠️ method'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/method">🛠️ method</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛠️ method</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🛠️ method showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/method"><h2 class="text--truncate cardTitle_rnsV" title="🛠️ method">📄️<!-- --> <!-- -->🛠️ method</h2><p class="text--truncate cardDescription_PWke" title="method">method</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ maxDosePerPeriod (R5)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/method"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🛠️ method</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git "a/docs/category/\357\270\217-periodperiodmax.html" "b/docs/category/\357\270\217-periodperiodmax.html" index 9072c291..c99f5bf1 100644 --- "a/docs/category/\357\270\217-periodperiodmax.html" +++ "b/docs/category/\357\270\217-periodperiodmax.html" @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Collapse sidebar category '♻️ periodPeriodMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only">♻️ periodMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax">♻️ period & periodMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only">♻️ period (only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">♻️ periodPeriodMax</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">♻️ period / periodMax showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only"><h2 class="text--truncate cardTitle_rnsV" title="♻️ periodMax (only)">📄️<!-- --> <!-- -->♻️ periodMax (only)</h2><p class="text--truncate cardDescription_PWke" title="periodMax (only)">periodMax (only)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax"><h2 class="text--truncate cardTitle_rnsV" title="♻️ period & periodMax">📄️<!-- --> <!-- -->♻️ period & periodMax</h2><p class="text--truncate cardDescription_PWke" title="period & periodMax">period & periodMax</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only"><h2 class="text--truncate cardTitle_rnsV" title="♻️ period (only)">📄️<!-- --> <!-- -->♻️ period (only)</h2><p class="text--truncate cardDescription_PWke" title="period (only)">period (only)</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/patientInstruction"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📋 patientInstruction</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">♻️ periodMax (only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Collapse sidebar category '♻️ periodPeriodMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only">♻️ periodMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax">♻️ period & periodMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only">♻️ period (only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">♻️ periodPeriodMax</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">♻️ period / periodMax showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only"><h2 class="text--truncate cardTitle_rnsV" title="♻️ periodMax (only)">📄️<!-- --> <!-- -->♻️ periodMax (only)</h2><p class="text--truncate cardDescription_PWke" title="periodMax (only)">periodMax (only)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax"><h2 class="text--truncate cardTitle_rnsV" title="♻️ period & periodMax">📄️<!-- --> <!-- -->♻️ period & periodMax</h2><p class="text--truncate cardDescription_PWke" title="period & periodMax">period & periodMax</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only"><h2 class="text--truncate cardTitle_rnsV" title="♻️ period (only)">📄️<!-- --> <!-- -->♻️ period (only)</h2><p class="text--truncate cardDescription_PWke" title="period (only)">period (only)</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/patientInstruction"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📋 patientInstruction</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">♻️ periodMax (only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git "a/docs/category/\357\270\217-ratequantity.html" "b/docs/category/\357\270\217-ratequantity.html" index 465b5d7e..d513d008 100644 --- "a/docs/category/\357\270\217-ratequantity.html" +++ "b/docs/category/\357\270\217-ratequantity.html" @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Collapse sidebar category '⏲️ rateQuantity'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateQuantity">⏲️ rateQuantity</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏲️ rateQuantity</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⏲️ rateQuantity showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateQuantity"><h2 class="text--truncate cardTitle_rnsV" title="⏲️ rateQuantity">📄️<!-- --> <!-- -->⏲️ rateQuantity</h2><p class="text--truncate cardDescription_PWke" title="rateQuantity">rateQuantity</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">♻️ period (only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/rateQuantity"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏲️ rateQuantity</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Collapse sidebar category '⏲️ rateQuantity'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateQuantity">⏲️ rateQuantity</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏲️ rateQuantity</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⏲️ rateQuantity showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateQuantity"><h2 class="text--truncate cardTitle_rnsV" title="⏲️ rateQuantity">📄️<!-- --> <!-- -->⏲️ rateQuantity</h2><p class="text--truncate cardDescription_PWke" title="rateQuantity">rateQuantity</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">♻️ period (only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/rateQuantity"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏲️ rateQuantity</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git "a/docs/category/\357\270\217-raterange.html" "b/docs/category/\357\270\217-raterange.html" index 9d305b3d..4a7bd63b 100644 --- "a/docs/category/\357\270\217-raterange.html" +++ "b/docs/category/\357\270\217-raterange.html" @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Collapse sidebar category '⚖️ rateRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/high_only">⚖️ rateRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high">⚖️ rateRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_only">⚖️ rateRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚖️ rateRange</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⚖️ rateRange showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateRange/high_only"><h2 class="text--truncate cardTitle_rnsV" title="⚖️ rateRange (High only)">📄️<!-- --> <!-- -->⚖️ rateRange (High only)</h2><p class="text--truncate cardDescription_PWke" title="High only">High only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high"><h2 class="text--truncate cardTitle_rnsV" title="⚖️ rateRange (Low & High)">📄️<!-- --> <!-- -->⚖️ rateRange (Low & High)</h2><p class="text--truncate cardDescription_PWke" title="Low & High">Low & High</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateRange/low_only"><h2 class="text--truncate cardTitle_rnsV" title="⚖️ rateRange (Low only)">📄️<!-- --> <!-- -->⚖️ rateRange (Low only)</h2><p class="text--truncate cardDescription_PWke" title="Low only">Low only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/rateQuantity"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏲️ rateQuantity</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/rateRange/high_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⚖️ rateRange (High only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Collapse sidebar category '⚖️ rateRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/high_only">⚖️ rateRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high">⚖️ rateRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_only">⚖️ rateRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚖️ rateRange</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">⚖️ rateRange showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateRange/high_only"><h2 class="text--truncate cardTitle_rnsV" title="⚖️ rateRange (High only)">📄️<!-- --> <!-- -->⚖️ rateRange (High only)</h2><p class="text--truncate cardDescription_PWke" title="High only">High only</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high"><h2 class="text--truncate cardTitle_rnsV" title="⚖️ rateRange (Low & High)">📄️<!-- --> <!-- -->⚖️ rateRange (Low & High)</h2><p class="text--truncate cardDescription_PWke" title="Low & High">Low & High</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/rateRange/low_only"><h2 class="text--truncate cardTitle_rnsV" title="⚖️ rateRange (Low only)">📄️<!-- --> <!-- -->⚖️ rateRange (Low only)</h2><p class="text--truncate cardDescription_PWke" title="Low only">Low only</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/rateQuantity"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏲️ rateQuantity</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/rateRange/high_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⚖️ rateRange (High only)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git "a/docs/category/\357\270\217-route.html" "b/docs/category/\357\270\217-route.html" index 90bf58b1..45d89973 100644 --- "a/docs/category/\357\270\217-route.html" +++ "b/docs/category/\357\270\217-route.html" @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Collapse sidebar category '🛣️ route'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/route">🛣️ route</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛣️ route</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🛣️ route showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/route"><h2 class="text--truncate cardTitle_rnsV" title="🛣️ route">📄️<!-- --> <!-- -->🛣️ route</h2><p class="text--truncate cardDescription_PWke" title="route">route</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/rateRatio"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📈 rateRatio</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/route"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🛣️ route</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Collapse sidebar category '🛣️ route'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/route">🛣️ route</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛣️ route</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🛣️ route showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/route"><h2 class="text--truncate cardTitle_rnsV" title="🛣️ route">📄️<!-- --> <!-- -->🛣️ route</h2><p class="text--truncate cardDescription_PWke" title="route">route</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/rateRatio"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📈 rateRatio</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/route"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🛣️ route</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git "a/docs/category/\357\270\217-sequence.html" "b/docs/category/\357\270\217-sequence.html" index ab42d245..2d57560c 100644 --- "a/docs/category/\357\270\217-sequence.html" +++ "b/docs/category/\357\270\217-sequence.html" @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Collapse sidebar category '➡️ sequence'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions">➡️ sequence (Concurrent instructions)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1">➡️ sequence (Sequential instructions 1)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2">➡️ sequence (Sequential instructions 2)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➡️ sequence</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">➡️ sequence showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions"><h2 class="text--truncate cardTitle_rnsV" title="➡️ sequence (Concurrent instructions)">📄️<!-- --> <!-- -->➡️ sequence (Concurrent instructions)</h2><p class="text--truncate cardDescription_PWke" title="Concurrent instructions">Concurrent instructions</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1"><h2 class="text--truncate cardTitle_rnsV" title="➡️ sequence (Sequential instructions 1)">📄️<!-- --> <!-- -->➡️ sequence (Sequential instructions 1)</h2><p class="text--truncate cardDescription_PWke" title="Sequential instructions, with sequence">Sequential instructions, with sequence</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2"><h2 class="text--truncate cardTitle_rnsV" title="➡️ sequence (Sequential instructions 2)">📄️<!-- --> <!-- -->➡️ sequence (Sequential instructions 2)</h2><p class="text--truncate cardDescription_PWke" title="Sequential instructions, without sequence">Sequential instructions, without sequence</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/route"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🛣️ route</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➡️ sequence (Concurrent instructions)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Collapse sidebar category '➡️ sequence'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions">➡️ sequence (Concurrent instructions)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1">➡️ sequence (Sequential instructions 1)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2">➡️ sequence (Sequential instructions 2)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➡️ sequence</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">➡️ sequence showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions"><h2 class="text--truncate cardTitle_rnsV" title="➡️ sequence (Concurrent instructions)">📄️<!-- --> <!-- -->➡️ sequence (Concurrent instructions)</h2><p class="text--truncate cardDescription_PWke" title="Concurrent instructions">Concurrent instructions</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1"><h2 class="text--truncate cardTitle_rnsV" title="➡️ sequence (Sequential instructions 1)">📄️<!-- --> <!-- -->➡️ sequence (Sequential instructions 1)</h2><p class="text--truncate cardDescription_PWke" title="Sequential instructions, with sequence">Sequential instructions, with sequence</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2"><h2 class="text--truncate cardTitle_rnsV" title="➡️ sequence (Sequential instructions 2)">📄️<!-- --> <!-- -->➡️ sequence (Sequential instructions 2)</h2><p class="text--truncate cardDescription_PWke" title="Sequential instructions, without sequence">Sequential instructions, without sequence</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/route"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🛣️ route</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➡️ sequence (Concurrent instructions)</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/contributing.html b/docs/contributing.html index 9dc3c537..01bb53d5 100644 --- a/docs/contributing.html +++ b/docs/contributing.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Expand sidebar category '💡 Demos'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🧩 Contributing</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>🧩 Contributing</h1></header><p>Since project is completly open source, any kind of contribution is welcome and highly appreciated.</p> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Expand sidebar category '💡 Demos'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🧩 Contributing</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>🧩 Contributing</h1></header><p>Since project is completly open source, any kind of contribution is welcome and highly appreciated.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="guide">Guide<a href="#guide" class="hash-link" aria-label="Direct link to Guide" title="Direct link to Guide">​</a></h2> <p>Check out the contribution guide on <a href="https://github.com/jy95/fhir-dosage-utils/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">GitHub</a></p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="for-questions--features-requests--">For questions / features requests / ...<a href="#for-questions--features-requests--" class="hash-link" aria-label="Direct link to For questions / features requests / ..." title="Direct link to For questions / features requests / ...">​</a></h2> diff --git a/docs/custom/dateTimeFormatOptions.html b/docs/custom/dateTimeFormatOptions.html index 68dc938c..b38d3d0d 100644 --- a/docs/custom/dateTimeFormatOptions.html +++ b/docs/custom/dateTimeFormatOptions.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🎉 dateTimeFormatOptions</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🎉 dateTimeFormatOptions</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2024-01-01"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"dateTimeFormatOptions"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"weekday"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"long"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"year"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"numeric"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"month"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"long"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"day"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"numeric"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/dateTimeFormatOptions.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/demo/custom"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🛠️ Customizations</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/displayOrder"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔢 displayOrder</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🎉 dateTimeFormatOptions</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🎉 dateTimeFormatOptions</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2024-01-01"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"dateTimeFormatOptions"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"weekday"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"long"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"year"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"numeric"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"month"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"long"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"day"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"numeric"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/dateTimeFormatOptions.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/demo/custom"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🛠️ Customizations</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/displayOrder"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔢 displayOrder</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/custom/displayOrder.html b/docs/custom/displayOrder.html index 0c90d198..d9d8d9ba 100644 --- a/docs/custom/displayOrder.html +++ b/docs/custom/displayOrder.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 displayOrder</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔢 displayOrder</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Administer in 100cc NS as follows: First treatment infuse over 90 minutes, if no reaction then second treatment infuse over 60 minutes, if no reaction then on third and following treatments give over 30 minutes."</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2023-01-18T00:00:00.000Z"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://flatiron.com/CodeSystem/Route"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"IV"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/kg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"calculated"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Calculated"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">340</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string-property property" style="color:#36acaa">"displayOrder"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">"method"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"doseQuantity"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"doseRange"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"rateRatio"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"rateQuantity"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"rateRange"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"durationDurationMax"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"frequencyFrequencyMaxPeriodPeriodMax"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"offsetWhen"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"dayOfWeek"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"timeOfDay"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"asNeeded"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"boundsDuration"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"boundsPeriod"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"boundsRange"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"countCountMax"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"event"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"code"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"maxDosePerPeriod"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"maxDosePerAdministration"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"maxDosePerLifetime"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"additionalInstruction"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"patientInstruction"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"route"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"site"</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/displayOrder.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🎉 dateTimeFormatOptions</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/displaySeparator"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➖ displaySeparator</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 displayOrder</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔢 displayOrder</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Administer in 100cc NS as follows: First treatment infuse over 90 minutes, if no reaction then second treatment infuse over 60 minutes, if no reaction then on third and following treatments give over 30 minutes."</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2023-01-18T00:00:00.000Z"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://flatiron.com/CodeSystem/Route"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"IV"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/kg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"calculated"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Calculated"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">340</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string-property property" style="color:#36acaa">"displayOrder"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">"method"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"doseQuantity"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"doseRange"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"rateRatio"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"rateQuantity"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"rateRange"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"durationDurationMax"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"frequencyFrequencyMaxPeriodPeriodMax"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"offsetWhen"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"dayOfWeek"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"timeOfDay"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"asNeeded"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"boundsDuration"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"boundsPeriod"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"boundsRange"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"countCountMax"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"event"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"code"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"maxDosePerPeriod"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"maxDosePerAdministration"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"maxDosePerLifetime"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"additionalInstruction"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"patientInstruction"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"route"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"site"</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/displayOrder.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🎉 dateTimeFormatOptions</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/displaySeparator"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➖ displaySeparator</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/custom/displaySeparator.html b/docs/custom/displaySeparator.html index 91c9564e..8077c7dc 100644 --- a/docs/custom/displaySeparator.html +++ b/docs/custom/displaySeparator.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➖ displaySeparator</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➖ displaySeparator</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Administer in 100cc NS as follows: First treatment infuse over 90 minutes, if no reaction then second treatment infuse over 60 minutes, if no reaction then on third and following treatments give over 30 minutes."</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2023-01-18T00:00:00.000Z"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://flatiron.com/CodeSystem/Route"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"IV"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/kg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"calculated"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Calculated"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">340</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">displaySeparator</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">" | "</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/displaySeparator.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/displayOrder"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 displayOrder</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💻 fromCodeableConceptToString</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➖ displaySeparator</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➖ displaySeparator</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Administer in 100cc NS as follows: First treatment infuse over 90 minutes, if no reaction then second treatment infuse over 60 minutes, if no reaction then on third and following treatments give over 30 minutes."</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2023-01-18T00:00:00.000Z"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://flatiron.com/CodeSystem/Route"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"IV"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/kg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"calculated"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Calculated"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">340</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">displaySeparator</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">" | "</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/displaySeparator.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/displayOrder"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 displayOrder</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💻 fromCodeableConceptToString</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/custom/fromCodeableConceptToString.html b/docs/custom/fromCodeableConceptToString.html index f8c26923..aa0c965b 100644 --- a/docs/custom/fromCodeableConceptToString.html +++ b/docs/custom/fromCodeableConceptToString.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💻 fromCodeableConceptToString</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💻 fromCodeableConceptToString</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/administration-method-codes"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"738996007"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Spray"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">fromCodeableConceptToString</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter punctuation" style="color:#393A34">{</span><span class="token parameter"> language</span><span class="token parameter punctuation" style="color:#393A34">,</span><span class="token parameter"> code </span><span class="token parameter punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// If no code, skip it</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">code </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// If empty code, return text or undefined</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">code</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">coding</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> code</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">coding</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">length</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> code</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">text</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Do the magic here ;)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> firstCode </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> code</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">coding</span><span class="token punctuation" style="color:#393A34">[</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">language</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> translation of </span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">firstCode</span><span class="token template-string interpolation punctuation" style="color:#393A34">.</span><span class="token template-string interpolation property-access">code</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> (</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">firstCode</span><span class="token template-string interpolation punctuation" style="color:#393A34">.</span><span class="token template-string interpolation property-access">system</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">)</span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/fromCodeableConceptToString.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/displaySeparator"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➖ displaySeparator</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔌 fromExtensionsToString</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💻 fromCodeableConceptToString</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💻 fromCodeableConceptToString</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/administration-method-codes"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"738996007"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Spray"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">fromCodeableConceptToString</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter punctuation" style="color:#393A34">{</span><span class="token parameter"> language</span><span class="token parameter punctuation" style="color:#393A34">,</span><span class="token parameter"> code </span><span class="token parameter punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// If no code, skip it</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">code </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// If empty code, return text or undefined</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">code</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">coding</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> code</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">coding</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">length</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> code</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">text</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Do the magic here ;)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> firstCode </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> code</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">coding</span><span class="token punctuation" style="color:#393A34">[</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">language</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> translation of </span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">firstCode</span><span class="token template-string interpolation punctuation" style="color:#393A34">.</span><span class="token template-string interpolation property-access">code</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> (</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">firstCode</span><span class="token template-string interpolation punctuation" style="color:#393A34">.</span><span class="token template-string interpolation property-access">system</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">)</span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/fromCodeableConceptToString.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/displaySeparator"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➖ displaySeparator</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔌 fromExtensionsToString</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/custom/fromExtensionsToString.html b/docs/custom/fromExtensionsToString.html index fcd68b6c..3c61576a 100644 --- a/docs/custom/fromExtensionsToString.html +++ b/docs/custom/fromExtensionsToString.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔌 fromExtensionsToString</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔌 fromExtensionsToString</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"extension"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"url"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/DosageOverride"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"valueBoolean"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"url"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/DosageOverrideReason"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"valueCodeableConcept"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Respect my authority ! - Eric Cartman"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">displayOrder</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">"extension"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"timingExtension"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"timingRepeatExtension"</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">fromExtensionsToString</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter punctuation" style="color:#393A34">{</span><span class="token parameter">extensions</span><span class="token parameter punctuation" style="color:#393A34">,</span><span class="token parameter"> language</span><span class="token parameter punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// If no extensions, skip it</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">extensions </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> extensions</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">length</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Your own logic here ;)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> parts </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> extensions</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">map</span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter">extension</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">switch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">extension</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">url</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">case</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/DosageOverride"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> dosageOverride </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> extension</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">valueBoolean</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string string" style="color:#e3116c">[</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">language</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> translation of "dosageOverride" set to "</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">dosageOverride</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">"]</span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">case</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/DosageOverrideReason"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> extension</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">valueCodeableConcept</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">text</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">default</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string string" style="color:#e3116c">[</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">language</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> translation of "</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation known-class-name class-name">JSON</span><span class="token template-string interpolation punctuation" style="color:#393A34">.</span><span class="token template-string interpolation method function property-access" style="color:#d73a49">stringify</span><span class="token template-string interpolation punctuation" style="color:#393A34">(</span><span class="token template-string interpolation">extension</span><span class="token template-string interpolation punctuation" style="color:#393A34">)</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">"]</span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> parts</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">join</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">" | "</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/fromExtensionsToString.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💻 fromCodeableConceptToString</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📏 fromFHIRQuantityUnitToString</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔌 fromExtensionsToString</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔌 fromExtensionsToString</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"extension"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"url"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/DosageOverride"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"valueBoolean"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"url"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/DosageOverrideReason"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"valueCodeableConcept"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Respect my authority ! - Eric Cartman"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">displayOrder</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">"extension"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"timingExtension"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"timingRepeatExtension"</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">fromExtensionsToString</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter punctuation" style="color:#393A34">{</span><span class="token parameter">extensions</span><span class="token parameter punctuation" style="color:#393A34">,</span><span class="token parameter"> language</span><span class="token parameter punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// If no extensions, skip it</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">extensions </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> extensions</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">length</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token keyword nil" style="color:#00009f">undefined</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Your own logic here ;)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> parts </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> extensions</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">map</span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter">extension</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">switch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">extension</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">url</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">case</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/DosageOverride"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> dosageOverride </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> extension</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">valueBoolean</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string string" style="color:#e3116c">[</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">language</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> translation of "dosageOverride" set to "</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">dosageOverride</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">"]</span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">case</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/DosageOverrideReason"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> extension</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">valueCodeableConcept</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">text</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">default</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string string" style="color:#e3116c">[</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">language</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> translation of "</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation known-class-name class-name">JSON</span><span class="token template-string interpolation punctuation" style="color:#393A34">.</span><span class="token template-string interpolation method function property-access" style="color:#d73a49">stringify</span><span class="token template-string interpolation punctuation" style="color:#393A34">(</span><span class="token template-string interpolation">extension</span><span class="token template-string interpolation punctuation" style="color:#393A34">)</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">"]</span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> parts</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">join</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">" | "</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/fromExtensionsToString.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💻 fromCodeableConceptToString</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📏 fromFHIRQuantityUnitToString</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/custom/fromFHIRQuantityUnitToString.html b/docs/custom/fromFHIRQuantityUnitToString.html index 91bf3c0b..3a6ca740 100644 --- a/docs/custom/fromFHIRQuantityUnitToString.html +++ b/docs/custom/fromFHIRQuantityUnitToString.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 fromFHIRQuantityUnitToString</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📏 fromFHIRQuantityUnitToString</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"25"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ug"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">fromFHIRQuantityUnitToString</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter punctuation" style="color:#393A34">{</span><span class="token parameter"> quantity</span><span class="token parameter punctuation" style="color:#393A34">,</span><span class="token parameter"> language </span><span class="token parameter punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> unit </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> quantity</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">code</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> quantity</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">unit</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> system </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> quantity</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">system</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">""</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string string" style="color:#e3116c">[</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">language</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> translation of "</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">unit</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">" (</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">system</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">)]</span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 fromFHIRQuantityUnitToString</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📏 fromFHIRQuantityUnitToString</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Configuration</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"25"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ug"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">fromFHIRQuantityUnitToString</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter punctuation" style="color:#393A34">{</span><span class="token parameter"> quantity</span><span class="token parameter punctuation" style="color:#393A34">,</span><span class="token parameter"> language </span><span class="token parameter punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> unit </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> quantity</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">code</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> quantity</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">unit</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> system </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> quantity</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">system</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">""</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">return</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string string" style="color:#e3116c">[</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">language</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> translation of "</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">unit</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">" (</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation">system</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c">)]</span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Possible cases in production :</p><ol> <li>SNOMED CT - <a href="http://snomed.info/sct" target="_blank" rel="noopener noreferrer">http://snomed.info/sct</a></li> <li>UCUM - <a href="http://unitsofmeasure.org" target="_blank" rel="noopener noreferrer">http://unitsofmeasure.org</a></li> diff --git a/docs/custom/i18nConfig.html b/docs/custom/i18nConfig.html index c0edc489..ed80c26f 100644 --- a/docs/custom/i18nConfig.html +++ b/docs/custom/i18nConfig.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🌐 i18nConfig</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🌐 i18nConfig</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">i18nConfig</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsDuration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">LocalStorageBackend</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'i18next-localstorage-backend'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// load from local storage</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">HttpApi</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'i18next-http-backend'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// have a own http fallback</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">backend</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">backends</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token maybe-class-name">LocalStorageBackend</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// primary</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token maybe-class-name">HttpApi</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// fallback</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">backendOptions</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">projectId</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'myLocizeProjectId'</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// http api load path for my own fallback</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Check https://github.com/jy95/fhir-dosage-utils/tree/main/src/locales/en for more info</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">loadPath</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/locales/{{lng}}/{{ns}}.json'</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// cacheHitMode: 'none' // (default)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// cacheHitMode: 'refresh' // tries to refresh the cache by loading from the next backend and updates the cache</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// cacheHitMode: 'refreshAndUpdateStore' // tries to refresh the cache by loading from the next backend, updates the cache and also update the i18next resource store</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// reloadInterval: 60 * 60 * 1000 // can be used to reload resources in a specific interval (useful in server environments)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// refreshExpirationTime: 7 * 24 * 60 * 60 * 1000 // In case of caching with 'refresh' or 'refreshAndUpdateStore', it will only fetch from the next backend if the cached namespace is expired. Only supported if the backend returns the saved timestamp, like i18next-fs-backend, i18next-localstorage-backend</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/i18nConfig.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📏 fromFHIRQuantityUnitToString</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/demo/examples"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🗺️ Real word examples</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/custom"><span itemprop="name">🛠️ Customizations</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🌐 i18nConfig</span><meta itemprop="position" content="3"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🌐 i18nConfig</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">i18nConfig</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsDuration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">LocalStorageBackend</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'i18next-localstorage-backend'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// load from local storage</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">HttpApi</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'i18next-http-backend'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// have a own http fallback</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">backend</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">backends</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token maybe-class-name">LocalStorageBackend</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// primary</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token maybe-class-name">HttpApi</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// fallback</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">backendOptions</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">projectId</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'myLocizeProjectId'</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// http api load path for my own fallback</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Check https://github.com/jy95/fhir-dosage-utils/tree/main/src/locales/en for more info</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token literal-property property" style="color:#36acaa">loadPath</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/locales/{{lng}}/{{ns}}.json'</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// cacheHitMode: 'none' // (default)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// cacheHitMode: 'refresh' // tries to refresh the cache by loading from the next backend and updates the cache</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// cacheHitMode: 'refreshAndUpdateStore' // tries to refresh the cache by loading from the next backend, updates the cache and also update the i18next resource store</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// reloadInterval: 60 * 60 * 1000 // can be used to reload resources in a specific interval (useful in server environments)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// refreshExpirationTime: 7 * 24 * 60 * 60 * 1000 // In case of caching with 'refresh' or 'refreshAndUpdateStore', it will only fetch from the next backend if the cached namespace is expired. Only supported if the backend returns the saved timestamp, like i18next-fs-backend, i18next-localstorage-backend</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/custom/i18nConfig.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📏 fromFHIRQuantityUnitToString</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/demo/examples"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🗺️ Real word examples</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/demo.html b/docs/demo.html index 954df2f5..95a8a8c3 100644 --- a/docs/demo.html +++ b/docs/demo.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💡 Demos</span><meta itemprop="position" content="1"></li></ul></nav><header><h1 class="title_kItE">💡 Showcases of the library</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/demo/specs"><h2 class="text--truncate cardTitle_rnsV" title="🔎 Specifications">🗃️<!-- --> <!-- -->🔎 Specifications</h2><p class="text--truncate cardDescription_PWke" title="28 items">28 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/demo/custom"><h2 class="text--truncate cardTitle_rnsV" title="🛠️ Customizations">🗃️<!-- --> <!-- -->🛠️ Customizations</h2><p class="text--truncate cardDescription_PWke" title="7 items">7 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/demo/examples"><h2 class="text--truncate cardTitle_rnsV" title="🗺️ Real word examples">🗃️<!-- --> <!-- -->🗺️ Real word examples</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/quick-start"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⚡ Quick Start</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/demo/specs"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔎 Specifications</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💡 Demos</span><meta itemprop="position" content="1"></li></ul></nav><header><h1 class="title_kItE">💡 Showcases of the library</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/demo/specs"><h2 class="text--truncate cardTitle_rnsV" title="🔎 Specifications">🗃️<!-- --> <!-- -->🔎 Specifications</h2><p class="text--truncate cardDescription_PWke" title="28 items">28 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/demo/custom"><h2 class="text--truncate cardTitle_rnsV" title="🛠️ Customizations">🗃️<!-- --> <!-- -->🛠️ Customizations</h2><p class="text--truncate cardDescription_PWke" title="7 items">7 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/demo/examples"><h2 class="text--truncate cardTitle_rnsV" title="🗺️ Real word examples">🗃️<!-- --> <!-- -->🗺️ Real word examples</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/quick-start"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⚡ Quick Start</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/demo/specs"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔎 Specifications</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/demo/custom.html b/docs/demo/custom.html index bfb98f83..ee27a966 100644 --- a/docs/demo/custom.html +++ b/docs/demo/custom.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛠️ Customizations</span><meta itemprop="position" content="2"></li></ul></nav><header><h1 class="title_kItE">🛠️ Customizations showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions"><h2 class="text--truncate cardTitle_rnsV" title="🎉 dateTimeFormatOptions">📄️<!-- --> <!-- -->🎉 dateTimeFormatOptions</h2><p class="text--truncate cardDescription_PWke" title="To control the formatting of dateTime objects">To control the formatting of dateTime objects</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/displayOrder"><h2 class="text--truncate cardTitle_rnsV" title="🔢 displayOrder">📄️<!-- --> <!-- -->🔢 displayOrder</h2><p class="text--truncate cardDescription_PWke" title="Control the display order used by the algorithm (Useful when you want to turn on / off some specific rules for some reason)">Control the display order used by the algorithm (Useful when you want to turn on / off some specific rules for some reason)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/displaySeparator"><h2 class="text--truncate cardTitle_rnsV" title="➖ displaySeparator">📄️<!-- --> <!-- -->➖ displaySeparator</h2><p class="text--truncate cardDescription_PWke" title="Override separator between each part of "Dosage"">Override separator between each part of "Dosage"</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString"><h2 class="text--truncate cardTitle_rnsV" title="💻 fromCodeableConceptToString">📄️<!-- --> <!-- -->💻 fromCodeableConceptToString</h2><p class="text--truncate cardDescription_PWke" title="Function to turn a codeable concept (e.g SNOMED CT "311504000") into a string for humans (e.g "With or after food")">Function to turn a codeable concept (e.g SNOMED CT "311504000") into a string for humans (e.g "With or after food")</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString"><h2 class="text--truncate cardTitle_rnsV" title="🔌 fromExtensionsToString">📄️<!-- --> <!-- -->🔌 fromExtensionsToString</h2><p class="text--truncate cardDescription_PWke" title="Function to turn extension(s) into a string for humans.">Function to turn extension(s) into a string for humans.</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString"><h2 class="text--truncate cardTitle_rnsV" title="📏 fromFHIRQuantityUnitToString">📄️<!-- --> <!-- -->📏 fromFHIRQuantityUnitToString</h2><p class="text--truncate cardDescription_PWke" title="Function to turn a quantity unit (e.g UCUM "ml") into a string for humans (e.g "militier")">Function to turn a quantity unit (e.g UCUM "ml") into a string for humans (e.g "militier")</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/i18nConfig"><h2 class="text--truncate cardTitle_rnsV" title="🌐 i18nConfig">📄️<!-- --> <!-- -->🌐 i18nConfig</h2><p class="text--truncate cardDescription_PWke" title="Options for the i18next instances">Options for the i18next instances</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">❌ Single item</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🎉 dateTimeFormatOptions</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Collapse sidebar category '🛠️ Customizations'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions">🎉 dateTimeFormatOptions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displayOrder">🔢 displayOrder</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/displaySeparator">➖ displaySeparator</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString">💻 fromCodeableConceptToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString">🔌 fromExtensionsToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString">📏 fromFHIRQuantityUnitToString</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/custom/i18nConfig">🌐 i18nConfig</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛠️ Customizations</span><meta itemprop="position" content="2"></li></ul></nav><header><h1 class="title_kItE">🛠️ Customizations showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions"><h2 class="text--truncate cardTitle_rnsV" title="🎉 dateTimeFormatOptions">📄️<!-- --> <!-- -->🎉 dateTimeFormatOptions</h2><p class="text--truncate cardDescription_PWke" title="To control the formatting of dateTime objects">To control the formatting of dateTime objects</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/displayOrder"><h2 class="text--truncate cardTitle_rnsV" title="🔢 displayOrder">📄️<!-- --> <!-- -->🔢 displayOrder</h2><p class="text--truncate cardDescription_PWke" title="Control the display order used by the algorithm (Useful when you want to turn on / off some specific rules for some reason)">Control the display order used by the algorithm (Useful when you want to turn on / off some specific rules for some reason)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/displaySeparator"><h2 class="text--truncate cardTitle_rnsV" title="➖ displaySeparator">📄️<!-- --> <!-- -->➖ displaySeparator</h2><p class="text--truncate cardDescription_PWke" title="Override separator between each part of "Dosage"">Override separator between each part of "Dosage"</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/fromCodeableConceptToString"><h2 class="text--truncate cardTitle_rnsV" title="💻 fromCodeableConceptToString">📄️<!-- --> <!-- -->💻 fromCodeableConceptToString</h2><p class="text--truncate cardDescription_PWke" title="Function to turn a codeable concept (e.g SNOMED CT "311504000") into a string for humans (e.g "With or after food")">Function to turn a codeable concept (e.g SNOMED CT "311504000") into a string for humans (e.g "With or after food")</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/fromExtensionsToString"><h2 class="text--truncate cardTitle_rnsV" title="🔌 fromExtensionsToString">📄️<!-- --> <!-- -->🔌 fromExtensionsToString</h2><p class="text--truncate cardDescription_PWke" title="Function to turn extension(s) into a string for humans.">Function to turn extension(s) into a string for humans.</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/fromFHIRQuantityUnitToString"><h2 class="text--truncate cardTitle_rnsV" title="📏 fromFHIRQuantityUnitToString">📄️<!-- --> <!-- -->📏 fromFHIRQuantityUnitToString</h2><p class="text--truncate cardDescription_PWke" title="Function to turn a quantity unit (e.g UCUM "ml") into a string for humans (e.g "militier")">Function to turn a quantity unit (e.g UCUM "ml") into a string for humans (e.g "militier")</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/custom/i18nConfig"><h2 class="text--truncate cardTitle_rnsV" title="🌐 i18nConfig">📄️<!-- --> <!-- -->🌐 i18nConfig</h2><p class="text--truncate cardDescription_PWke" title="Options for the i18next instances">Options for the i18next instances</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">❌ Single item</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/custom/dateTimeFormatOptions"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🎉 dateTimeFormatOptions</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/demo/examples.html b/docs/demo/examples.html index c40271ec..6da6ecbf 100644 --- a/docs/demo/examples.html +++ b/docs/demo/examples.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Expand sidebar category '🌌 MedicationRequest'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🗺️ Real word examples</span><meta itemprop="position" content="2"></li></ul></nav><header><h1 class="title_kItE">🗺️ Real word examples</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/examples/timing"><h2 class="text--truncate cardTitle_rnsV" title="⌚ Timing">📄️<!-- --> <!-- -->⌚ Timing</h2></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><h2 class="text--truncate cardTitle_rnsV" title="🌌 MedicationRequest">🗃️<!-- --> <!-- -->🌌 MedicationRequest</h2><p class="text--truncate cardDescription_PWke" title="18 items">18 items</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/i18nConfig"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🌐 i18nConfig</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🌌 MedicationRequest</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Expand sidebar category '🌌 MedicationRequest'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🗺️ Real word examples</span><meta itemprop="position" content="2"></li></ul></nav><header><h1 class="title_kItE">🗺️ Real word examples</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/examples/timing"><h2 class="text--truncate cardTitle_rnsV" title="⌚ Timing">📄️<!-- --> <!-- -->⌚ Timing</h2></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><h2 class="text--truncate cardTitle_rnsV" title="🌌 MedicationRequest">🗃️<!-- --> <!-- -->🌌 MedicationRequest</h2><p class="text--truncate cardDescription_PWke" title="18 items">18 items</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/custom/i18nConfig"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🌐 i18nConfig</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🌌 MedicationRequest</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/demo/examples/medicationrequest.html b/docs/demo/examples/medicationrequest.html index 26f80704..7f6eb12b 100644 --- a/docs/demo/examples/medicationrequest.html +++ b/docs/demo/examples/medicationrequest.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🌌 MedicationRequest</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🌌 MedicationRequest examples</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002"><h2 class="text--truncate cardTitle_rnsV" title="medrx002">📄️<!-- --> <!-- -->medrx002</h2><p class="text--truncate cardDescription_PWke" title="Order for a medication that includes the dosage of a prescription in text">Order for a medication that includes the dosage of a prescription in text</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003"><h2 class="text--truncate cardTitle_rnsV" title="medrx003">📄️<!-- --> <!-- -->medrx003</h2><p class="text--truncate cardDescription_PWke" title="Request that uses both calculated and ordered dosage">Request that uses both calculated and ordered dosage</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004"><h2 class="text--truncate cardTitle_rnsV" title="medrx004">📄️<!-- --> <!-- -->medrx004</h2><p class="text--truncate cardDescription_PWke" title="Request with multiple dosages and timings">Request with multiple dosages and timings</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301"><h2 class="text--truncate cardTitle_rnsV" title="medrx0301">📄️<!-- --> <!-- -->medrx0301</h2><p class="text--truncate cardDescription_PWke" title="Order with as needed (PRN) dosage with pre-condition - Oxycodone - active with reasonCode, note, dispenseRequest and substitution">Order with as needed (PRN) dosage with pre-condition - Oxycodone - active with reasonCode, note, dispenseRequest and substitution</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302"><h2 class="text--truncate cardTitle_rnsV" title="medrx0302">📄️<!-- --> <!-- -->medrx0302</h2><p class="text--truncate cardDescription_PWke" title="Active Order with link to encounter, reasonCode, note multiple dosage lines, dispenseRequest and substitution - Azithromycin">Active Order with link to encounter, reasonCode, note multiple dosage lines, dispenseRequest and substitution - Azithromycin</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303"><h2 class="text--truncate cardTitle_rnsV" title="medrx0303">📄️<!-- --> <!-- -->medrx0303</h2><p class="text--truncate cardDescription_PWke" title="Order for Tapering Dose - Prednisone - active with note and multiple DosageInstructions with boundsPeriod">Order for Tapering Dose - Prednisone - active with note and multiple DosageInstructions with boundsPeriod</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305"><h2 class="text--truncate cardTitle_rnsV" title="medrx0305">📄️<!-- --> <!-- -->medrx0305</h2><p class="text--truncate cardDescription_PWke" title="Order with Dosage with a Pre-Condition - Alprazolam - dosageInstructions includes boundsPeriod with periodMax and asNeededCodeableConcept">Order with Dosage with a Pre-Condition - Alprazolam - dosageInstructions includes boundsPeriod with periodMax and asNeededCodeableConcept</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307"><h2 class="text--truncate cardTitle_rnsV" title="medrx0307">📄️<!-- --> <!-- -->medrx0307</h2><p class="text--truncate cardDescription_PWke" title="Order with as needed (PRN) dosage - Percocet - completed with link to encounter, dispenseRequest and substitution">Order with as needed (PRN) dosage - Percocet - completed with link to encounter, dispenseRequest and substitution</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308"><h2 class="text--truncate cardTitle_rnsV" title="medrx0308">📄️<!-- --> <!-- -->medrx0308</h2><p class="text--truncate cardDescription_PWke" title="Order for as needed (PRN) dosage - Vicodin - completed with dosageInstruction with additionalInstruction (coded) and as needed with reason, dispenseRequest and substitution">Order for as needed (PRN) dosage - Vicodin - completed with dosageInstruction with additionalInstruction (coded) and as needed with reason, dispenseRequest and substitution</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310"><h2 class="text--truncate cardTitle_rnsV" title="medrx0310">📄️<!-- --> <!-- -->medrx0310</h2><p class="text--truncate cardDescription_PWke" title="Request for Over the Counter Medication - Tylenol PM - with dosage range as needed with pre-condition for use">Request for Over the Counter Medication - Tylenol PM - with dosage range as needed with pre-condition for use</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313"><h2 class="text--truncate cardTitle_rnsV" title="medrx0313">📄️<!-- --> <!-- -->medrx0313</h2><p class="text--truncate cardDescription_PWke" title="Request with a single dosage line - Azithromycin - completed - with link to prior prescription and reason code">Request with a single dosage line - Azithromycin - completed - with link to prior prescription and reason code</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314"><h2 class="text--truncate cardTitle_rnsV" title="medrx0314">📄️<!-- --> <!-- -->medrx0314</h2><p class="text--truncate cardDescription_PWke" title="Request - Levothyroxine - completed with reasonCode, dosageInstructions and dispenseRequest">Request - Levothyroxine - completed with reasonCode, dosageInstructions and dispenseRequest</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315"><h2 class="text--truncate cardTitle_rnsV" title="medrx0315">📄️<!-- --> <!-- -->medrx0315</h2><p class="text--truncate cardDescription_PWke" title="Request for an injectable medication - Lorazepam - active - with link to encounter, reasonCode and dosageInstruction">Request for an injectable medication - Lorazepam - active - with link to encounter, reasonCode and dosageInstruction</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317"><h2 class="text--truncate cardTitle_rnsV" title="medrx0317">📄️<!-- --> <!-- -->medrx0317</h2><p class="text--truncate cardDescription_PWke" title="Request for Intravenous Chemotherapy (inpatient order) - Alemtuzumab - completed with multiple dosageInstruction lines">Request for Intravenous Chemotherapy (inpatient order) - Alemtuzumab - completed with multiple dosageInstruction lines</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319"><h2 class="text--truncate cardTitle_rnsV" title="medrx0319">📄️<!-- --> <!-- -->medrx0319</h2><p class="text--truncate cardDescription_PWke" title="Request for Intravenous Antibiotic with a Dosage Rate - Piperacillin - completed with reason code">Request for Intravenous Antibiotic with a Dosage Rate - Piperacillin - completed with reason code</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321"><h2 class="text--truncate cardTitle_rnsV" title="medrx0321">📄️<!-- --> <!-- -->medrx0321</h2><p class="text--truncate cardDescription_PWke" title="Request for Subcutaneous injection with multiple dosage lines - Insulin - Novolog - active - includes reasonCode and note. Dosage includes additionalInstructions as text">Request for Subcutaneous injection with multiple dosage lines - Insulin - Novolog - active - includes reasonCode and note. Dosage includes additionalInstructions as text</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331"><h2 class="text--truncate cardTitle_rnsV" title="medrx0331">📄️<!-- --> <!-- -->medrx0331</h2><p class="text--truncate cardDescription_PWke" title="Request for a Dosage that needs to be dispensed as different strength tablets - Warfarin - active">Request for a Dosage that needs to be dispensed as different strength tablets - Warfarin - active</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339"><h2 class="text--truncate cardTitle_rnsV" title="medrx0339">📄️<!-- --> <!-- -->medrx0339</h2><p class="text--truncate cardDescription_PWke" title="Request for a product that contains multiple dosage forms">Request for a product that contains multiple dosage forms</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/demo/examples"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🗺️ Real word examples</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx002</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🌌 MedicationRequest</span><meta itemprop="position" content="3"></li></ul></nav><header><h1 class="title_kItE">🌌 MedicationRequest examples</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002"><h2 class="text--truncate cardTitle_rnsV" title="medrx002">📄️<!-- --> <!-- -->medrx002</h2><p class="text--truncate cardDescription_PWke" title="Order for a medication that includes the dosage of a prescription in text">Order for a medication that includes the dosage of a prescription in text</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003"><h2 class="text--truncate cardTitle_rnsV" title="medrx003">📄️<!-- --> <!-- -->medrx003</h2><p class="text--truncate cardDescription_PWke" title="Request that uses both calculated and ordered dosage">Request that uses both calculated and ordered dosage</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004"><h2 class="text--truncate cardTitle_rnsV" title="medrx004">📄️<!-- --> <!-- -->medrx004</h2><p class="text--truncate cardDescription_PWke" title="Request with multiple dosages and timings">Request with multiple dosages and timings</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301"><h2 class="text--truncate cardTitle_rnsV" title="medrx0301">📄️<!-- --> <!-- -->medrx0301</h2><p class="text--truncate cardDescription_PWke" title="Order with as needed (PRN) dosage with pre-condition - Oxycodone - active with reasonCode, note, dispenseRequest and substitution">Order with as needed (PRN) dosage with pre-condition - Oxycodone - active with reasonCode, note, dispenseRequest and substitution</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302"><h2 class="text--truncate cardTitle_rnsV" title="medrx0302">📄️<!-- --> <!-- -->medrx0302</h2><p class="text--truncate cardDescription_PWke" title="Active Order with link to encounter, reasonCode, note multiple dosage lines, dispenseRequest and substitution - Azithromycin">Active Order with link to encounter, reasonCode, note multiple dosage lines, dispenseRequest and substitution - Azithromycin</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303"><h2 class="text--truncate cardTitle_rnsV" title="medrx0303">📄️<!-- --> <!-- -->medrx0303</h2><p class="text--truncate cardDescription_PWke" title="Order for Tapering Dose - Prednisone - active with note and multiple DosageInstructions with boundsPeriod">Order for Tapering Dose - Prednisone - active with note and multiple DosageInstructions with boundsPeriod</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305"><h2 class="text--truncate cardTitle_rnsV" title="medrx0305">📄️<!-- --> <!-- -->medrx0305</h2><p class="text--truncate cardDescription_PWke" title="Order with Dosage with a Pre-Condition - Alprazolam - dosageInstructions includes boundsPeriod with periodMax and asNeededCodeableConcept">Order with Dosage with a Pre-Condition - Alprazolam - dosageInstructions includes boundsPeriod with periodMax and asNeededCodeableConcept</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307"><h2 class="text--truncate cardTitle_rnsV" title="medrx0307">📄️<!-- --> <!-- -->medrx0307</h2><p class="text--truncate cardDescription_PWke" title="Order with as needed (PRN) dosage - Percocet - completed with link to encounter, dispenseRequest and substitution">Order with as needed (PRN) dosage - Percocet - completed with link to encounter, dispenseRequest and substitution</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308"><h2 class="text--truncate cardTitle_rnsV" title="medrx0308">📄️<!-- --> <!-- -->medrx0308</h2><p class="text--truncate cardDescription_PWke" title="Order for as needed (PRN) dosage - Vicodin - completed with dosageInstruction with additionalInstruction (coded) and as needed with reason, dispenseRequest and substitution">Order for as needed (PRN) dosage - Vicodin - completed with dosageInstruction with additionalInstruction (coded) and as needed with reason, dispenseRequest and substitution</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310"><h2 class="text--truncate cardTitle_rnsV" title="medrx0310">📄️<!-- --> <!-- -->medrx0310</h2><p class="text--truncate cardDescription_PWke" title="Request for Over the Counter Medication - Tylenol PM - with dosage range as needed with pre-condition for use">Request for Over the Counter Medication - Tylenol PM - with dosage range as needed with pre-condition for use</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313"><h2 class="text--truncate cardTitle_rnsV" title="medrx0313">📄️<!-- --> <!-- -->medrx0313</h2><p class="text--truncate cardDescription_PWke" title="Request with a single dosage line - Azithromycin - completed - with link to prior prescription and reason code">Request with a single dosage line - Azithromycin - completed - with link to prior prescription and reason code</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314"><h2 class="text--truncate cardTitle_rnsV" title="medrx0314">📄️<!-- --> <!-- -->medrx0314</h2><p class="text--truncate cardDescription_PWke" title="Request - Levothyroxine - completed with reasonCode, dosageInstructions and dispenseRequest">Request - Levothyroxine - completed with reasonCode, dosageInstructions and dispenseRequest</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315"><h2 class="text--truncate cardTitle_rnsV" title="medrx0315">📄️<!-- --> <!-- -->medrx0315</h2><p class="text--truncate cardDescription_PWke" title="Request for an injectable medication - Lorazepam - active - with link to encounter, reasonCode and dosageInstruction">Request for an injectable medication - Lorazepam - active - with link to encounter, reasonCode and dosageInstruction</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317"><h2 class="text--truncate cardTitle_rnsV" title="medrx0317">📄️<!-- --> <!-- -->medrx0317</h2><p class="text--truncate cardDescription_PWke" title="Request for Intravenous Chemotherapy (inpatient order) - Alemtuzumab - completed with multiple dosageInstruction lines">Request for Intravenous Chemotherapy (inpatient order) - Alemtuzumab - completed with multiple dosageInstruction lines</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319"><h2 class="text--truncate cardTitle_rnsV" title="medrx0319">📄️<!-- --> <!-- -->medrx0319</h2><p class="text--truncate cardDescription_PWke" title="Request for Intravenous Antibiotic with a Dosage Rate - Piperacillin - completed with reason code">Request for Intravenous Antibiotic with a Dosage Rate - Piperacillin - completed with reason code</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321"><h2 class="text--truncate cardTitle_rnsV" title="medrx0321">📄️<!-- --> <!-- -->medrx0321</h2><p class="text--truncate cardDescription_PWke" title="Request for Subcutaneous injection with multiple dosage lines - Insulin - Novolog - active - includes reasonCode and note. Dosage includes additionalInstructions as text">Request for Subcutaneous injection with multiple dosage lines - Insulin - Novolog - active - includes reasonCode and note. Dosage includes additionalInstructions as text</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331"><h2 class="text--truncate cardTitle_rnsV" title="medrx0331">📄️<!-- --> <!-- -->medrx0331</h2><p class="text--truncate cardDescription_PWke" title="Request for a Dosage that needs to be dispensed as different strength tablets - Warfarin - active">Request for a Dosage that needs to be dispensed as different strength tablets - Warfarin - active</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339"><h2 class="text--truncate cardTitle_rnsV" title="medrx0339">📄️<!-- --> <!-- -->medrx0339</h2><p class="text--truncate cardDescription_PWke" title="Request for a product that contains multiple dosage forms">Request for a product that contains multiple dosage forms</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/demo/examples"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🗺️ Real word examples</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx002</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/demo/specs.html b/docs/demo/specs.html index 79c9eaaa..f798535c 100644 --- a/docs/demo/specs.html +++ b/docs/demo/specs.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔎 Specifications</span><meta itemprop="position" content="2"></li></ul></nav><header><h1 class="title_kItE">🔎 Specifications showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-additionalinstruction"><h2 class="text--truncate cardTitle_rnsV" title="📝 additionalInstruction">🗃️<!-- --> <!-- -->📝 additionalInstruction</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-asneeded"><h2 class="text--truncate cardTitle_rnsV" title="❓ asNeeded">🗃️<!-- --> <!-- -->❓ asNeeded</h2><p class="text--truncate cardDescription_PWke" title="4 items">4 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-boundsduration"><h2 class="text--truncate cardTitle_rnsV" title="🕰️ boundsDuration">🗃️<!-- --> <!-- -->🕰️ boundsDuration</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-boundsperiod"><h2 class="text--truncate cardTitle_rnsV" title="⏳ boundsPeriod">🗃️<!-- --> <!-- -->⏳ boundsPeriod</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-boundsrange"><h2 class="text--truncate cardTitle_rnsV" title="📐 boundsRange">🗃️<!-- --> <!-- -->📐 boundsRange</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-code"><h2 class="text--truncate cardTitle_rnsV" title="💻 code">🗃️<!-- --> <!-- -->💻 code</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-count--countmax"><h2 class="text--truncate cardTitle_rnsV" title="🔢 count / countMax">🗃️<!-- --> <!-- -->🔢 count / countMax</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-dayofweek"><h2 class="text--truncate cardTitle_rnsV" title="📅 dayOfWeek">🗃️<!-- --> <!-- -->📅 dayOfWeek</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-dosequantity"><h2 class="text--truncate cardTitle_rnsV" title="💊 doseQuantity">🗃️<!-- --> <!-- -->💊 doseQuantity</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-doserange"><h2 class="text--truncate cardTitle_rnsV" title="📏 doseRange">🗃️<!-- --> <!-- -->📏 doseRange</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><h2 class="text--truncate cardTitle_rnsV" title="⏰ durationDurationMax">🗃️<!-- --> <!-- -->⏰ durationDurationMax</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-event"><h2 class="text--truncate cardTitle_rnsV" title="🎉 event">🗃️<!-- --> <!-- -->🎉 event</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><h2 class="text--truncate cardTitle_rnsV" title="🔁 frequencyFrequencyMax">🗃️<!-- --> <!-- -->🔁 frequencyFrequencyMax</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration"><h2 class="text--truncate cardTitle_rnsV" title="💉 maxDosePerAdministration">🗃️<!-- --> <!-- -->💉 maxDosePerAdministration</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime"><h2 class="text--truncate cardTitle_rnsV" title="💖 maxDosePerLifetime">🗃️<!-- --> <!-- -->💖 maxDosePerLifetime</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod"><h2 class="text--truncate cardTitle_rnsV" title="⏳ maxDosePerPeriod">🗃️<!-- --> <!-- -->⏳ maxDosePerPeriod</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-method"><h2 class="text--truncate cardTitle_rnsV" title="🛠️ method">🗃️<!-- --> <!-- -->🛠️ method</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-offset-when"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset when">🗃️<!-- --> <!-- -->🕒 offset when</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-patientinstruction"><h2 class="text--truncate cardTitle_rnsV" title="📋 patientInstruction">🗃️<!-- --> <!-- -->📋 patientInstruction</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><h2 class="text--truncate cardTitle_rnsV" title="♻️ periodPeriodMax">🗃️<!-- --> <!-- -->♻️ periodPeriodMax</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-ratequantity"><h2 class="text--truncate cardTitle_rnsV" title="⏲️ rateQuantity">🗃️<!-- --> <!-- -->⏲️ rateQuantity</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-raterange"><h2 class="text--truncate cardTitle_rnsV" title="⚖️ rateRange">🗃️<!-- --> <!-- -->⚖️ rateRange</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-rateratio"><h2 class="text--truncate cardTitle_rnsV" title="📈 rateRatio">🗃️<!-- --> <!-- -->📈 rateRatio</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-route"><h2 class="text--truncate cardTitle_rnsV" title="🛣️ route">🗃️<!-- --> <!-- -->🛣️ route</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-sequence"><h2 class="text--truncate cardTitle_rnsV" title="➡️ sequence">🗃️<!-- --> <!-- -->➡️ sequence</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-site"><h2 class="text--truncate cardTitle_rnsV" title="📍 site">🗃️<!-- --> <!-- -->📍 site</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-text"><h2 class="text--truncate cardTitle_rnsV" title="📝 text">🗃️<!-- --> <!-- -->📝 text</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-timeofday"><h2 class="text--truncate cardTitle_rnsV" title="⌚ timeOfDay">🗃️<!-- --> <!-- -->⌚ timeOfDay</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/demo"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💡 Demos</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-additionalinstruction"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📝 additionalInstruction</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_vN6x"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔎 Specifications</span><meta itemprop="position" content="2"></li></ul></nav><header><h1 class="title_kItE">🔎 Specifications showcases</h1></header><article class="margin-top--lg"><section class="row list_eTzJ"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-additionalinstruction"><h2 class="text--truncate cardTitle_rnsV" title="📝 additionalInstruction">🗃️<!-- --> <!-- -->📝 additionalInstruction</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-asneeded"><h2 class="text--truncate cardTitle_rnsV" title="❓ asNeeded">🗃️<!-- --> <!-- -->❓ asNeeded</h2><p class="text--truncate cardDescription_PWke" title="4 items">4 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-boundsduration"><h2 class="text--truncate cardTitle_rnsV" title="🕰️ boundsDuration">🗃️<!-- --> <!-- -->🕰️ boundsDuration</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-boundsperiod"><h2 class="text--truncate cardTitle_rnsV" title="⏳ boundsPeriod">🗃️<!-- --> <!-- -->⏳ boundsPeriod</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-boundsrange"><h2 class="text--truncate cardTitle_rnsV" title="📐 boundsRange">🗃️<!-- --> <!-- -->📐 boundsRange</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-code"><h2 class="text--truncate cardTitle_rnsV" title="💻 code">🗃️<!-- --> <!-- -->💻 code</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-count--countmax"><h2 class="text--truncate cardTitle_rnsV" title="🔢 count / countMax">🗃️<!-- --> <!-- -->🔢 count / countMax</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-dayofweek"><h2 class="text--truncate cardTitle_rnsV" title="📅 dayOfWeek">🗃️<!-- --> <!-- -->📅 dayOfWeek</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-dosequantity"><h2 class="text--truncate cardTitle_rnsV" title="💊 doseQuantity">🗃️<!-- --> <!-- -->💊 doseQuantity</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-doserange"><h2 class="text--truncate cardTitle_rnsV" title="📏 doseRange">🗃️<!-- --> <!-- -->📏 doseRange</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><h2 class="text--truncate cardTitle_rnsV" title="⏰ durationDurationMax">🗃️<!-- --> <!-- -->⏰ durationDurationMax</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-event"><h2 class="text--truncate cardTitle_rnsV" title="🎉 event">🗃️<!-- --> <!-- -->🎉 event</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><h2 class="text--truncate cardTitle_rnsV" title="🔁 frequencyFrequencyMax">🗃️<!-- --> <!-- -->🔁 frequencyFrequencyMax</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration"><h2 class="text--truncate cardTitle_rnsV" title="💉 maxDosePerAdministration">🗃️<!-- --> <!-- -->💉 maxDosePerAdministration</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime"><h2 class="text--truncate cardTitle_rnsV" title="💖 maxDosePerLifetime">🗃️<!-- --> <!-- -->💖 maxDosePerLifetime</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod"><h2 class="text--truncate cardTitle_rnsV" title="⏳ maxDosePerPeriod">🗃️<!-- --> <!-- -->⏳ maxDosePerPeriod</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-method"><h2 class="text--truncate cardTitle_rnsV" title="🛠️ method">🗃️<!-- --> <!-- -->🛠️ method</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-offset-when"><h2 class="text--truncate cardTitle_rnsV" title="🕒 offset when">🗃️<!-- --> <!-- -->🕒 offset when</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-patientinstruction"><h2 class="text--truncate cardTitle_rnsV" title="📋 patientInstruction">🗃️<!-- --> <!-- -->📋 patientInstruction</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><h2 class="text--truncate cardTitle_rnsV" title="♻️ periodPeriodMax">🗃️<!-- --> <!-- -->♻️ periodPeriodMax</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-ratequantity"><h2 class="text--truncate cardTitle_rnsV" title="⏲️ rateQuantity">🗃️<!-- --> <!-- -->⏲️ rateQuantity</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-raterange"><h2 class="text--truncate cardTitle_rnsV" title="⚖️ rateRange">🗃️<!-- --> <!-- -->⚖️ rateRange</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-rateratio"><h2 class="text--truncate cardTitle_rnsV" title="📈 rateRatio">🗃️<!-- --> <!-- -->📈 rateRatio</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-route"><h2 class="text--truncate cardTitle_rnsV" title="🛣️ route">🗃️<!-- --> <!-- -->🛣️ route</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/️-sequence"><h2 class="text--truncate cardTitle_rnsV" title="➡️ sequence">🗃️<!-- --> <!-- -->➡️ sequence</h2><p class="text--truncate cardDescription_PWke" title="3 items">3 items</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-site"><h2 class="text--truncate cardTitle_rnsV" title="📍 site">🗃️<!-- --> <!-- -->📍 site</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-text"><h2 class="text--truncate cardTitle_rnsV" title="📝 text">🗃️<!-- --> <!-- -->📝 text</h2><p class="text--truncate cardDescription_PWke" title="1 item">1 item</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/fhir-dosage-utils/docs/category/-timeofday"><h2 class="text--truncate cardTitle_rnsV" title="⌚ timeOfDay">🗃️<!-- --> <!-- -->⌚ timeOfDay</h2><p class="text--truncate cardDescription_PWke" title="2 items">2 items</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/demo"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💡 Demos</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-additionalinstruction"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📝 additionalInstruction</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx002.html b/docs/examples/medicationrequest/medrx002.html index 593ed2cb..5544c97b 100644 --- a/docs/examples/medicationrequest/medrx002.html +++ b/docs/examples/medicationrequest/medrx002.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx002</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx002</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequestexample2.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order for a medication that includes the dosage of a prescription in text"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx002</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx002</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequestexample2.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order for a medication that includes the dosage of a prescription in text"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Take one tablet daily as directed"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx002.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🌌 MedicationRequest</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx003</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx003.html b/docs/examples/medicationrequest/medrx003.html index 4fbc2c48..6ba31060 100644 --- a/docs/examples/medicationrequest/medrx003.html +++ b/docs/examples/medicationrequest/medrx003.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx003</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx003</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequestexample3.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request that uses both calculated and ordered dosage"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx003</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx003</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequestexample3.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request that uses both calculated and ordered dosage"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1800 mg (1000 mg/m2) orally twice daily from days 1-14 of cycle"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"calculated"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Calculated"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1800</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/m2"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/m2"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1000</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx003.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx002</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx004</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx004.html b/docs/examples/medicationrequest/medrx004.html index 9fc4b1a7..5f986b2c 100644 --- a/docs/examples/medicationrequest/medrx004.html +++ b/docs/examples/medicationrequest/medrx004.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx004</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx004</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequestexample4.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request with multiple dosages and timings"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx004</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx004</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequestexample4.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request with multiple dosages and timings"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Administer in 100cc NS as follows: First treatment infuse over 90 minutes, if no reaction then second treatment infuse over 60 minutes, if no reaction then on third and following treatments give over 30 minutes."</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2023-01-18T00:00:00.000Z"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://flatiron.com/CodeSystem/Route"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"IV"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/kg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"calculated"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Calculated"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">340</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx004.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx003</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0301</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0301.html b/docs/examples/medicationrequest/medrx0301.html index e8a1c1d3..eaba9d59 100644 --- a/docs/examples/medicationrequest/medrx0301.html +++ b/docs/examples/medicationrequest/medrx0301.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0301</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0301</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0301.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order with as needed (PRN) dosage with pre-condition - Oxycodone - active with reasonCode, note, dispenseRequest and substitution"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0301</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0301</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0301.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order with as needed (PRN) dosage with pre-condition - Oxycodone - active with reasonCode, note, dispenseRequest and substitution"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"one to two tablets every 4-6 hours as needed for rib pain"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"418914006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Warning. May cause drowsiness. If affected do not drive or operate machinery. Avoid alcoholic drink (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"patientInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Take one to two tablets every four to six hours as needed for rib pain"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">6</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededFor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"297217002"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Rib Pain (finding)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"421521009"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Swallow - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0301.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx004</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0302</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0302.html b/docs/examples/medicationrequest/medrx0302.html index 4edc50ac..5b1ff3ef 100644 --- a/docs/examples/medicationrequest/medrx0302.html +++ b/docs/examples/medicationrequest/medrx0302.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0302</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0302</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0302.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Active Order with link to encounter, reasonCode, note multiple dosage lines, dispenseRequest and substitution - Azithromycin"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0302</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0302</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0302.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Active Order with link to encounter, reasonCode, note multiple dosage lines, dispenseRequest and substitution - Azithromycin"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Two tablets at once"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"311504000"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"With or after food"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"421521009"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Swallow - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"One tablet daily for 4 days"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"311504000"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"With or after food"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsDuration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"days"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0302.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0301</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0303</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0303.html b/docs/examples/medicationrequest/medrx0303.html index d6778220..a7b1d322 100644 --- a/docs/examples/medicationrequest/medrx0303.html +++ b/docs/examples/medicationrequest/medrx0303.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0303</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0303</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0303.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order for Tapering Dose - Prednisone - active with note and multiple DosageInstructions with boundsPeriod"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0303</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0303</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0303.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order for Tapering Dose - Prednisone - active with note and multiple DosageInstructions with boundsPeriod"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Take 4 tablets daily for 7 days starting January 16, 2015"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-16"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-22"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"421521009"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Swallow - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Take 2 tablets daily for 7 days starting January 23, 2015"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-23"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-29"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"421521009"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Swallow - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Take 1 tablets daily for 7 days starting January 30, 2015"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-30"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-02-05"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"421521009"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Swallow - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0303.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0302</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0305</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0305.html b/docs/examples/medicationrequest/medrx0305.html index 4a618b22..2f084f16 100644 --- a/docs/examples/medicationrequest/medrx0305.html +++ b/docs/examples/medicationrequest/medrx0305.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0305</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0305</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0305.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order with Dosage with a Pre-Condition - Alprazolam - dosageInstructions includes boundsPeriod with periodMax and asNeededCodeableConcept"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0305</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0305</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0305.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order with Dosage with a Pre-Condition - Alprazolam - dosageInstructions includes boundsPeriod with periodMax and asNeededCodeableConcept"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"0.25mg PO every 6-12 hours as needed for menses from Jan 15-20, 2015. Do not exceed more than 4mg per day"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"418914006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Warning. May cause drowsiness. If affected do not drive or operate machinery. Avoid alcoholic drink (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-15"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-20"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">6</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">12</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededFor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"266599000"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Dysmenorrhea (disorder)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"maxDosePerAdministration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0305.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0303</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0307</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0307.html b/docs/examples/medicationrequest/medrx0307.html index 51e0662e..8943b156 100644 --- a/docs/examples/medicationrequest/medrx0307.html +++ b/docs/examples/medicationrequest/medrx0307.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0307</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0307</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0307.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order with as needed (PRN) dosage - Percocet - completed with link to encounter, dispenseRequest and substitution"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0307</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0307</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0307.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order with as needed (PRN) dosage - Percocet - completed with link to encounter, dispenseRequest and substitution"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1 tablet every four hours as needed for pain"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"418914006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Warning. May cause drowsiness. If affected do not drive or operate machinery. Avoid alcoholic drink (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededFor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"203082005"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Fibromyalgia (disorder)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0307.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0305</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0308</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0308.html b/docs/examples/medicationrequest/medrx0308.html index 90acb305..0cc70ee9 100644 --- a/docs/examples/medicationrequest/medrx0308.html +++ b/docs/examples/medicationrequest/medrx0308.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0308</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0308</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0308.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order for as needed (PRN) dosage - Vicodin - completed with dosageInstruction with additionalInstruction (coded) and as needed with reason, dispenseRequest and substitution"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0308</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0308</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0308.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Order for as needed (PRN) dosage - Vicodin - completed with dosageInstruction with additionalInstruction (coded) and as needed with reason, dispenseRequest and substitution"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1 tablet every four hours as needed for pain"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"418914006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Warning. May cause drowsiness. If affected do not drive or operate machinery. Avoid alcoholic drink (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededFor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"203082005"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Fibromyalgia (disorder)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0308.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0307</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0310</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0310.html b/docs/examples/medicationrequest/medrx0310.html index 56b08a4c..f7b0bd6c 100644 --- a/docs/examples/medicationrequest/medrx0310.html +++ b/docs/examples/medicationrequest/medrx0310.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0310</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0310</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0310.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for Over the Counter Medication - Tylenol PM - with dosage range as needed with pre-condition for use"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0310</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0310</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0310.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for Over the Counter Medication - Tylenol PM - with dosage range as needed with pre-condition for use"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Take 1-2 tablets once daily at bedtime as needed for restless legs"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Take at bedtime"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededFor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"32914008"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Restless Legs"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"TAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0310.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0308</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0313</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0313.html b/docs/examples/medicationrequest/medrx0313.html index 1e302b12..3c7d51d0 100644 --- a/docs/examples/medicationrequest/medrx0313.html +++ b/docs/examples/medicationrequest/medrx0313.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0313</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0313</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0313.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request with a single dosage line - Azithromycin - completed - with link to prior prescription and reason code"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0313</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0313</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0313.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request with a single dosage line - Azithromycin - completed - with link to prior prescription and reason code"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"500mg daily for 5 days"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"421984009"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Until finished - dosing instruction fragment (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">500</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0313.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0310</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0314</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0314.html b/docs/examples/medicationrequest/medrx0314.html index 472288ca..f4fda0a3 100644 --- a/docs/examples/medicationrequest/medrx0314.html +++ b/docs/examples/medicationrequest/medrx0314.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0314</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0314</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0314.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request - Levothyroxine - completed with reasonCode, dosageInstructions and dispenseRequest"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0314</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0314</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0314.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request - Levothyroxine - completed with reasonCode, dosageInstructions and dispenseRequest"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"75mcg daily"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral Route (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">75</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mcg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ug"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0314.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0313</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0315</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0315.html b/docs/examples/medicationrequest/medrx0315.html index 9771cba8..1bd83207 100644 --- a/docs/examples/medicationrequest/medrx0315.html +++ b/docs/examples/medicationrequest/medrx0315.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0315</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0315</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0315.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for an injectable medication - Lorazepam - active - with link to encounter, reasonCode and dosageInstruction"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0315</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0315</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0315.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for an injectable medication - Lorazepam - active - with link to encounter, reasonCode and dosageInstruction"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"0.05 - 0.1mg/kg IV over 2-5 minutes every 15 minutes as needed"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">15</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeeded"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"255560000"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Intravenous"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"420620005"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Push - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0.05</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/kg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/kg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0.1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/kg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg/kg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0315.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0314</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0317</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0317.html b/docs/examples/medicationrequest/medrx0317.html index 981b4903..e842fa40 100644 --- a/docs/examples/medicationrequest/medrx0317.html +++ b/docs/examples/medicationrequest/medrx0317.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0317</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0317</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0317.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for Intravenous Chemotherapy (inpatient order) - Alemtuzumab - completed with multiple dosageInstruction lines"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0317</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0317</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0317.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for Intravenous Chemotherapy (inpatient order) - Alemtuzumab - completed with multiple dosageInstruction lines"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Rapid daily-dose escalation, until tolerated, from 3 mg/d, and then 10 mg/d, to the recommended maintenance dose of 30 mg IV over 120 min, 3 times per wk on alternate days for up to 12 wk"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Rapidly increase dose until tolerated"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Administer on alternate days"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">12</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wk"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wk"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"47625008"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Intravenous route (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"422145002"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Inject - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Rapid daily-dose escalation, until tolerated, from 3 mg/d, and then 10 mg/d, to the recommended maintenance dose of 30 mg IV over 120 min, 3 times per wk on alternate days for up to 12 wk"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Rapidly increase dose until tolerated"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Administer on alternate days"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">12</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wk"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wk"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"47625008"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Intravenous route (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"422145002"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Inject - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">10</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Rapid daily-dose escalation, until tolerated, from 3 mg/d, and then 10 mg/d, to the recommended maintenance dose of 30 mg IV over 120 min, 3 times per wk on alternate days for up to 12 wk"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Rapidly increase dose until tolerated"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Administer on alternate days"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">12</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wk"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wk"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"47625008"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Intravenous route (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"422145002"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Inject - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">30</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0317.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0315</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0319</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0319.html b/docs/examples/medicationrequest/medrx0319.html index 262f8134..5583b2a8 100644 --- a/docs/examples/medicationrequest/medrx0319.html +++ b/docs/examples/medicationrequest/medrx0319.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0319</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0319</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0319.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for Intravenous Antibiotic with a Dosage Rate - Piperacillin - completed with reason code"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0319</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0319</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0319.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for Intravenous Antibiotic with a Dosage Rate - Piperacillin - completed with reason code"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"4.5 grams in D5W 250 ml. IV every 6 hours.Infuse over 30 min at 8L/min "</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">6</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"47625008"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Intravenous route (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4.5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"g"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"g"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">50</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ml/h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0319.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0317</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0321</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0321.html b/docs/examples/medicationrequest/medrx0321.html index 8f57dabb..a8048e95 100644 --- a/docs/examples/medicationrequest/medrx0321.html +++ b/docs/examples/medicationrequest/medrx0321.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0321</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0321</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0321.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for Subcutaneous injection with multiple dosage lines - Insulin - Novolog - active - includes reasonCode and note. Dosage includes additionalInstructions as text"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0321</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0321</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0321.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for Subcutaneous injection with multiple dosage lines - Insulin - Novolog - active - includes reasonCode and note. Dosage includes additionalInstructions as text"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"inject 10 units subcut 10 minutes before breakfast"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ACM"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">10</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">10</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"U"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"U"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"15 units before lunch"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Before Lunch"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">15</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"U"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"U"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"20 units before dinner"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Before Dinner"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">20</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"U"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"U"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0321.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0319</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0331</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0331.html b/docs/examples/medicationrequest/medrx0331.html index d9b9705c..6d4acb9b 100644 --- a/docs/examples/medicationrequest/medrx0331.html +++ b/docs/examples/medicationrequest/medrx0331.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0331</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0331</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0331.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for a Dosage that needs to be dispensed as different strength tablets - Warfarin - active"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0331</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0331</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0331.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for a Dosage that needs to be dispensed as different strength tablets - Warfarin - active"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"7mg once daily"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">7</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://unitsofmeasure.org"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0331.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0321</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">medrx0339</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/examples/medicationrequest/medrx0339.html b/docs/examples/medicationrequest/medrx0339.html index 435b08fd..3abde9ca 100644 --- a/docs/examples/medicationrequest/medrx0339.html +++ b/docs/examples/medicationrequest/medrx0339.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0339</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0339</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0339.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for a product that contains multiple dosage forms"</p></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Expand sidebar category '🔎 Specifications'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Collapse sidebar category '🗺️ Real word examples'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/examples/timing">⌚ Timing</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest">🌌 MedicationRequest</a><button aria-label="Collapse sidebar category '🌌 MedicationRequest'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx002">medrx002</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx003">medrx003</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx004">medrx004</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0301">medrx0301</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0302">medrx0302</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0303">medrx0303</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0305">medrx0305</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0307">medrx0307</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0308">medrx0308</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0310">medrx0310</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0313">medrx0313</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0314">medrx0314</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0315">medrx0315</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0317">medrx0317</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0319">medrx0319</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0321">medrx0321</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331">medrx0331</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0339">medrx0339</a></li></ul></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples"><span itemprop="name">🗺️ Real word examples</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/examples/medicationrequest"><span itemprop="name">🌌 MedicationRequest</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">medrx0339</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>medrx0339</h1></header><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Source: <a href="https://www.hl7.org/fhir/medicationrequest0339.html" target="_blank" rel="noopener noreferrer">HL7</a> - "Request for a product that contains multiple dosage forms"</p></div></div> <div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Insert one suppository into the vagina daily at bedtime"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-16"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-18"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"16857009"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Vaginal Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"421257003"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Insert"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"VAGTAB"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"VAGTAB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Apply to vaginal area topically once daily"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-16"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-01-18"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"6064005"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Topical Route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://snomed.info/sct"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"417924000"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Apply - dosing instruction imperative (qualifier value)"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://terminology.hl7.org/CodeSystem/dose-rate-type"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"ordered"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ordered"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/examples/medicationrequest/medrx0339.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/examples/medicationrequest/medrx0331"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">medrx0331</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/contributing"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🧩 Contributing</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/faq.html b/docs/faq.html index 42ef0cfd..e463759a 100644 --- a/docs/faq.html +++ b/docs/faq.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Expand sidebar category '💡 Demos'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❓ FAQ</span><meta itemprop="position" content="1"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>❓ FAQ</h1></header><blockquote> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Expand sidebar category '💡 Demos'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❓ FAQ</span><meta itemprop="position" content="1"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>❓ FAQ</h1></header><blockquote> <p>Frequently asked questions</p> </blockquote> <details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>How can I contribute ?</summary><div><div class="collapsibleContent_i85q"><p>Any contribution is welcome! Read more <a href="/fhir-dosage-utils/docs/contributing">here</a>.</p></div></div></details> diff --git a/docs/next-steps.html b/docs/next-steps.html index eca7583f..33531817 100644 --- a/docs/next-steps.html +++ b/docs/next-steps.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Expand sidebar category '💡 Demos'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🚧 Roadmap</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>🚧 Roadmap</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="feedback-gathering">Feedback Gathering<a href="#feedback-gathering" class="hash-link" aria-label="Direct link to Feedback Gathering" title="Direct link to Feedback Gathering">​</a></h2> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Expand sidebar category '💡 Demos'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🚧 Roadmap</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>🚧 Roadmap</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="feedback-gathering">Feedback Gathering<a href="#feedback-gathering" class="hash-link" aria-label="Direct link to Feedback Gathering" title="Direct link to Feedback Gathering">​</a></h2> <ul> <li><strong>Collect User Feedback</strong>: Gather feedback from users regarding current functionality and usability of the library.</li> <li><strong>Survey and Interviews</strong>: Conduct surveys and interviews to understand user pain points and areas for improvement.</li> diff --git a/docs/quick-start.html b/docs/quick-start.html index 071af236..13dc5ed8 100644 --- a/docs/quick-start.html +++ b/docs/quick-start.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Expand sidebar category '💡 Demos'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚡ Quick Start</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>⚡ Quick Start</h1></header><blockquote> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Expand sidebar category '💡 Demos'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚡ Quick Start</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>⚡ Quick Start</h1></header><blockquote> <p>Getting started with <code>fhir-dosage-utils</code></p> </blockquote> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="installation">Installation<a href="#installation" class="hash-link" aria-label="Direct link to Installation" title="Direct link to Installation">​</a></h2> diff --git a/docs/specs/additionalInstruction/multiple_items.html b/docs/specs/additionalInstruction/multiple_items.html index 41a7dea4..66d699d5 100644 --- a/docs/specs/additionalInstruction/multiple_items.html +++ b/docs/specs/additionalInstruction/multiple_items.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Collapse sidebar category '📝 additionalInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-additionalinstruction"><span itemprop="name">📝 additionalInstruction</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➕ Multiple items</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➕ Multiple items</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instruction 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instruction 2"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Collapse sidebar category '📝 additionalInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-additionalinstruction"><span itemprop="name">📝 additionalInstruction</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➕ Multiple items</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➕ Multiple items</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instruction 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instruction 2"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromCodeableConceptToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/additionalInstruction/multiple_items.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-additionalinstruction"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📝 additionalInstruction</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">❌ Single item</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/additionalInstruction/single_item.html b/docs/specs/additionalInstruction/single_item.html index 48aef38d..5f733149 100644 --- a/docs/specs/additionalInstruction/single_item.html +++ b/docs/specs/additionalInstruction/single_item.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Collapse sidebar category '📝 additionalInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-additionalinstruction"><span itemprop="name">📝 additionalInstruction</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❌ Single item</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>❌ Single item</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instruction 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Collapse sidebar category '📝 additionalInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/additionalInstruction/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-additionalinstruction"><span itemprop="name">📝 additionalInstruction</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❌ Single item</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>❌ Single item</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"additionalInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instruction 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromCodeableConceptToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/additionalInstruction/single_item.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/additionalInstruction/multiple_items"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➕ Multiple items</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-asneeded"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">❓ asNeeded</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/asNeeded.html b/docs/specs/asNeeded.html index ab852a09..4e6edbf2 100644 --- a/docs/specs/asNeeded.html +++ b/docs/specs/asNeeded.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-asneeded"><span itemprop="name">❓ asNeeded</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📌 asNeeded</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📌 asNeeded</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeeded"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/asNeeded/asNeeded.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-asneeded"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">❓ asNeeded</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">✅ asNeededBoolean</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-asneeded"><span itemprop="name">❓ asNeeded</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📌 asNeeded</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📌 asNeeded</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeeded"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/asNeeded/asNeeded.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-asneeded"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">❓ asNeeded</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">✅ asNeededBoolean</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/asNeeded/asNeededBoolean.html b/docs/specs/asNeeded/asNeededBoolean.html index afcbe95f..e71a95f4 100644 --- a/docs/specs/asNeeded/asNeededBoolean.html +++ b/docs/specs/asNeeded/asNeededBoolean.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-asneeded"><span itemprop="name">❓ asNeeded</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">✅ asNeededBoolean</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>✅ asNeededBoolean</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededBoolean"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/asNeeded/asNeededBoolean.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/asNeeded"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📌 asNeeded</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📌 asNeededCodeableConcept</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-asneeded"><span itemprop="name">❓ asNeeded</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">✅ asNeededBoolean</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>✅ asNeededBoolean</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededBoolean"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/asNeeded/asNeededBoolean.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/asNeeded"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📌 asNeeded</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📌 asNeededCodeableConcept</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/asNeeded/asNeededCodeableConcept.html b/docs/specs/asNeeded/asNeededCodeableConcept.html index 6bb22103..68d72aa0 100644 --- a/docs/specs/asNeeded/asNeededCodeableConcept.html +++ b/docs/specs/asNeeded/asNeededCodeableConcept.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-asneeded"><span itemprop="name">❓ asNeeded</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📌 asNeededCodeableConcept</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📌 asNeededCodeableConcept</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededCodeableConcept"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"when feeling bad"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-asneeded"><span itemprop="name">❓ asNeeded</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📌 asNeededCodeableConcept</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📌 asNeededCodeableConcept</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededCodeableConcept"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"when feeling bad"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromCodeableConceptToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/asNeeded/asNeededCodeableConcept.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">✅ asNeededBoolean</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🧬 asNeededFor</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/asNeeded/asNeededFor.html b/docs/specs/asNeeded/asNeededFor.html index d4ed000b..014446fa 100644 --- a/docs/specs/asNeeded/asNeededFor.html +++ b/docs/specs/asNeeded/asNeededFor.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-asneeded"><span itemprop="name">❓ asNeeded</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🧬 asNeededFor</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🧬 asNeededFor</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededFor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"reason 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"reason 2"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Collapse sidebar category '❓ asNeeded'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded">📌 asNeeded</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededBoolean">✅ asNeededBoolean</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept">📌 asNeededCodeableConcept</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededFor">🧬 asNeededFor</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-asneeded"><span itemprop="name">❓ asNeeded</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🧬 asNeededFor</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🧬 asNeededFor</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"asNeededFor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"reason 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"reason 2"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromCodeableConceptToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/asNeeded/asNeededFor.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/asNeeded/asNeededCodeableConcept"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📌 asNeededCodeableConcept</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/️-boundsduration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕰️ boundsDuration</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/boundsDuration.html b/docs/specs/boundsDuration.html index ffc2f115..26cd016a 100644 --- a/docs/specs/boundsDuration.html +++ b/docs/specs/boundsDuration.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Collapse sidebar category '🕰️ boundsDuration'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsDuration">🕰️ boundsDuration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-boundsduration"><span itemprop="name">🕰️ boundsDuration</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕰️ boundsDuration</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕰️ boundsDuration</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsDuration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Collapse sidebar category '🕰️ boundsDuration'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsDuration">🕰️ boundsDuration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-boundsduration"><span itemprop="name">🕰️ boundsDuration</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕰️ boundsDuration</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕰️ boundsDuration</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsDuration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsDuration/boundsDuration.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/️-boundsduration"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕰️ boundsDuration</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-boundsperiod"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ boundsPeriod</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/boundsPeriod/end_only.html b/docs/specs/boundsPeriod/end_only.html index e7e1286d..b9ca8622 100644 --- a/docs/specs/boundsPeriod/end_only.html +++ b/docs/specs/boundsPeriod/end_only.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Collapse sidebar category '⏳ boundsPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only">⏳ boundsPeriod (end only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end">⏳ boundsPeriod (start & end)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only">⏳ boundsPeriod (start only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsperiod"><span itemprop="name">⏳ boundsPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ boundsPeriod (end only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ boundsPeriod (end only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2011-05-27"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsPeriod/end_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-boundsperiod"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ boundsPeriod</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ boundsPeriod (start & end)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Collapse sidebar category '⏳ boundsPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only">⏳ boundsPeriod (end only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end">⏳ boundsPeriod (start & end)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only">⏳ boundsPeriod (start only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsperiod"><span itemprop="name">⏳ boundsPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ boundsPeriod (end only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ boundsPeriod (end only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2011-05-27"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsPeriod/end_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-boundsperiod"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ boundsPeriod</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ boundsPeriod (start & end)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/boundsPeriod/start_and_end.html b/docs/specs/boundsPeriod/start_and_end.html index 7ad3ebf8..a36197f3 100644 --- a/docs/specs/boundsPeriod/start_and_end.html +++ b/docs/specs/boundsPeriod/start_and_end.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Collapse sidebar category '⏳ boundsPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only">⏳ boundsPeriod (end only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end">⏳ boundsPeriod (start & end)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only">⏳ boundsPeriod (start only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsperiod"><span itemprop="name">⏳ boundsPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ boundsPeriod (start & end)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ boundsPeriod (start & end)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2011-05-23"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2011-05-27"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsPeriod/start_and_end.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ boundsPeriod (end only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ boundsPeriod (start only)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Collapse sidebar category '⏳ boundsPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only">⏳ boundsPeriod (end only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end">⏳ boundsPeriod (start & end)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only">⏳ boundsPeriod (start only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsperiod"><span itemprop="name">⏳ boundsPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ boundsPeriod (start & end)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ boundsPeriod (start & end)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2011-05-23"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"end"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2011-05-27"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsPeriod/start_and_end.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ boundsPeriod (end only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ boundsPeriod (start only)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/boundsPeriod/start_only.html b/docs/specs/boundsPeriod/start_only.html index e100a548..65ad281d 100644 --- a/docs/specs/boundsPeriod/start_only.html +++ b/docs/specs/boundsPeriod/start_only.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Collapse sidebar category '⏳ boundsPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only">⏳ boundsPeriod (end only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end">⏳ boundsPeriod (start & end)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only">⏳ boundsPeriod (start only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsperiod"><span itemprop="name">⏳ boundsPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ boundsPeriod (start only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ boundsPeriod (start only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-02-07T13:28:17"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsPeriod/start_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ boundsPeriod (start & end)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-boundsrange"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📐 boundsRange</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Collapse sidebar category '⏳ boundsPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/end_only">⏳ boundsPeriod (end only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end">⏳ boundsPeriod (start & end)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_only">⏳ boundsPeriod (start only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsperiod"><span itemprop="name">⏳ boundsPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ boundsPeriod (start only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ boundsPeriod (start only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-02-07T13:28:17"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsPeriod/start_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsPeriod/start_and_end"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ boundsPeriod (start & end)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-boundsrange"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📐 boundsRange</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/boundsRange/high_only.html b/docs/specs/boundsRange/high_only.html index c6749b47..a64487e2 100644 --- a/docs/specs/boundsRange/high_only.html +++ b/docs/specs/boundsRange/high_only.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Collapse sidebar category '📐 boundsRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only">📐 boundsDuration (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high">📐 boundsDuration (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only">📐 boundsDuration (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsrange"><span itemprop="name">📐 boundsRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📐 boundsDuration (High only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📐 boundsDuration (High only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Collapse sidebar category '📐 boundsRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only">📐 boundsDuration (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high">📐 boundsDuration (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only">📐 boundsDuration (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsrange"><span itemprop="name">📐 boundsRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📐 boundsDuration (High only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📐 boundsDuration (High only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsRange/high_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-boundsrange"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📐 boundsRange</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📐 boundsDuration (Low & High)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/boundsRange/low_and_high.html b/docs/specs/boundsRange/low_and_high.html index 66173e1b..ed086d74 100644 --- a/docs/specs/boundsRange/low_and_high.html +++ b/docs/specs/boundsRange/low_and_high.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Collapse sidebar category '📐 boundsRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only">📐 boundsDuration (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high">📐 boundsDuration (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only">📐 boundsDuration (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsrange"><span itemprop="name">📐 boundsRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📐 boundsDuration (Low & High)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📐 boundsDuration (Low & High)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Collapse sidebar category '📐 boundsRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only">📐 boundsDuration (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high">📐 boundsDuration (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only">📐 boundsDuration (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsrange"><span itemprop="name">📐 boundsRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📐 boundsDuration (Low & High)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📐 boundsDuration (Low & High)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsRange/low_and_high.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📐 boundsDuration (High only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📐 boundsDuration (Low only)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/boundsRange/low_only.html b/docs/specs/boundsRange/low_only.html index 23c39893..eeb99717 100644 --- a/docs/specs/boundsRange/low_only.html +++ b/docs/specs/boundsRange/low_only.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Collapse sidebar category '📐 boundsRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only">📐 boundsDuration (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high">📐 boundsDuration (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only">📐 boundsDuration (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsrange"><span itemprop="name">📐 boundsRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📐 boundsDuration (Low only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📐 boundsDuration (Low only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"days"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Collapse sidebar category '📐 boundsRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/high_only">📐 boundsDuration (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high">📐 boundsDuration (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/boundsRange/low_only">📐 boundsDuration (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-boundsrange"><span itemprop="name">📐 boundsRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📐 boundsDuration (Low only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📐 boundsDuration (Low only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"days"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/boundsRange/low_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/boundsRange/low_and_high"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📐 boundsDuration (Low & High)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-code"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💻 code</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/code.html b/docs/specs/code.html index cafb84af..38dd794c 100644 --- a/docs/specs/code.html +++ b/docs/specs/code.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Collapse sidebar category '💻 code'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/code">💻 code</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-code"><span itemprop="name">💻 code</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💻 code</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💻 code</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Take medication in the morning on weekends and days off work"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Collapse sidebar category '💻 code'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/code">💻 code</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-code"><span itemprop="name">💻 code</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💻 code</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💻 code</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Take medication in the morning on weekends and days off work"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromCodeableConceptToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/code/code.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-code"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💻 code</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-count--countmax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔢 count / countMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/countCountMax/count.html b/docs/specs/countCountMax/count.html index c2ba38c9..a1f21303 100644 --- a/docs/specs/countCountMax/count.html +++ b/docs/specs/countCountMax/count.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Collapse sidebar category '🔢 count / countMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count">🔢 count (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only">🔢 countMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax">🔢 count and countMax</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-count--countmax"><span itemprop="name">🔢 count / countMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 count (only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔢 count (only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"count"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/countCountMax/count.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-count--countmax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 count / countMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔢 countMax (only)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Collapse sidebar category '🔢 count / countMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count">🔢 count (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only">🔢 countMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax">🔢 count and countMax</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-count--countmax"><span itemprop="name">🔢 count / countMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 count (only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔢 count (only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"count"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/countCountMax/count.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-count--countmax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 count / countMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔢 countMax (only)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/countCountMax/countMax_only.html b/docs/specs/countCountMax/countMax_only.html index 4b3c6740..68569552 100644 --- a/docs/specs/countCountMax/countMax_only.html +++ b/docs/specs/countCountMax/countMax_only.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Collapse sidebar category '🔢 count / countMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count">🔢 count (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only">🔢 countMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax">🔢 count and countMax</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-count--countmax"><span itemprop="name">🔢 count / countMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 countMax (only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔢 countMax (only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"countMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/countCountMax/countMax_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/countCountMax/count"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 count (only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔢 count and countMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Collapse sidebar category '🔢 count / countMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count">🔢 count (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only">🔢 countMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax">🔢 count and countMax</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-count--countmax"><span itemprop="name">🔢 count / countMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 countMax (only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔢 countMax (only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"countMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/countCountMax/countMax_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/countCountMax/count"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 count (only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔢 count and countMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/countCountMax/count_and_countMax.html b/docs/specs/countCountMax/count_and_countMax.html index 26f8675b..9c773137 100644 --- a/docs/specs/countCountMax/count_and_countMax.html +++ b/docs/specs/countCountMax/count_and_countMax.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Collapse sidebar category '🔢 count / countMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count">🔢 count (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only">🔢 countMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax">🔢 count and countMax</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-count--countmax"><span itemprop="name">🔢 count / countMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 count and countMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔢 count and countMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"count"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"countMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/countCountMax/count_and_countMax.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 countMax (only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-dayofweek"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📅 dayOfWeek</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Collapse sidebar category '🔢 count / countMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count">🔢 count (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only">🔢 countMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/countCountMax/count_and_countMax">🔢 count and countMax</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-count--countmax"><span itemprop="name">🔢 count / countMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔢 count and countMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔢 count and countMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"count"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"countMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/countCountMax/count_and_countMax.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/countCountMax/countMax_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔢 countMax (only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-dayofweek"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📅 dayOfWeek</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/dayOfWeek/multiple_items.html b/docs/specs/dayOfWeek/multiple_items.html index aaa2f0c8..ed65d271 100644 --- a/docs/specs/dayOfWeek/multiple_items.html +++ b/docs/specs/dayOfWeek/multiple_items.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Collapse sidebar category '📅 dayOfWeek'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items">📅 Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item">📅 Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-dayofweek"><span itemprop="name">📅 dayOfWeek</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📅 Multiple items</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📅 Multiple items</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"dayOfWeek"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mon"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"fri"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/dayOfWeek/multiple_items.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-dayofweek"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📅 dayOfWeek</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📅 Single item</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Collapse sidebar category '📅 dayOfWeek'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items">📅 Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item">📅 Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-dayofweek"><span itemprop="name">📅 dayOfWeek</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📅 Multiple items</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📅 Multiple items</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"dayOfWeek"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mon"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"fri"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/dayOfWeek/multiple_items.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-dayofweek"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📅 dayOfWeek</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📅 Single item</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/dayOfWeek/single_item.html b/docs/specs/dayOfWeek/single_item.html index de4c9553..f7007c6b 100644 --- a/docs/specs/dayOfWeek/single_item.html +++ b/docs/specs/dayOfWeek/single_item.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Collapse sidebar category '📅 dayOfWeek'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items">📅 Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item">📅 Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-dayofweek"><span itemprop="name">📅 dayOfWeek</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📅 Single item</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📅 Single item</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"dayOfWeek"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"fri"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/dayOfWeek/single_item.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📅 Multiple items</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-dosequantity"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💊 doseQuantity</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Collapse sidebar category '📅 dayOfWeek'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items">📅 Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/dayOfWeek/single_item">📅 Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-dayofweek"><span itemprop="name">📅 dayOfWeek</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📅 Single item</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📅 Single item</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"dayOfWeek"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"fri"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/dayOfWeek/single_item.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/dayOfWeek/multiple_items"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📅 Multiple items</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-dosequantity"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💊 doseQuantity</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/doseQuantity.html b/docs/specs/doseQuantity.html index d8f79525..3d39ae7c 100644 --- a/docs/specs/doseQuantity.html +++ b/docs/specs/doseQuantity.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Collapse sidebar category '💊 doseQuantity'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseQuantity">💊 doseQuantity</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-dosequantity"><span itemprop="name">💊 doseQuantity</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💊 doseQuantity</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💊 doseQuantity</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Collapse sidebar category '💊 doseQuantity'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseQuantity">💊 doseQuantity</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-dosequantity"><span itemprop="name">💊 doseQuantity</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💊 doseQuantity</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💊 doseQuantity</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/doseQuantity/doseQuantity.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-dosequantity"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💊 doseQuantity</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-doserange"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📏 doseRange</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/doseRange/high_only.html b/docs/specs/doseRange/high_only.html index e533dc28..e0181ea1 100644 --- a/docs/specs/doseRange/high_only.html +++ b/docs/specs/doseRange/high_only.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Collapse sidebar category '📏 doseRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/high_only">📏 doseRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high">📏 doseRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_only">📏 doseRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-doserange"><span itemprop="name">📏 doseRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 doseRange (High only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📏 doseRange (High only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Collapse sidebar category '📏 doseRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/high_only">📏 doseRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high">📏 doseRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_only">📏 doseRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-doserange"><span itemprop="name">📏 doseRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 doseRange (High only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📏 doseRange (High only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/doseRange/high_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-doserange"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📏 doseRange</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📏 doseRange (Low & High)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/doseRange/low_and_high.html b/docs/specs/doseRange/low_and_high.html index 4a7aadc5..832aa338 100644 --- a/docs/specs/doseRange/low_and_high.html +++ b/docs/specs/doseRange/low_and_high.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Collapse sidebar category '📏 doseRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/high_only">📏 doseRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high">📏 doseRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_only">📏 doseRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-doserange"><span itemprop="name">📏 doseRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 doseRange (Low & High)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📏 doseRange (Low & High)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Collapse sidebar category '📏 doseRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/high_only">📏 doseRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high">📏 doseRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_only">📏 doseRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-doserange"><span itemprop="name">📏 doseRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 doseRange (Low & High)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📏 doseRange (Low & High)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/doseRange/low_and_high.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/doseRange/high_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📏 doseRange (High only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/doseRange/low_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📏 doseRange (Low only)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/doseRange/low_only.html b/docs/specs/doseRange/low_only.html index 48b6255e..f3233bf0 100644 --- a/docs/specs/doseRange/low_only.html +++ b/docs/specs/doseRange/low_only.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Collapse sidebar category '📏 doseRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/high_only">📏 doseRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high">📏 doseRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_only">📏 doseRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-doserange"><span itemprop="name">📏 doseRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 doseRange (Low only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📏 doseRange (Low only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Collapse sidebar category '📏 doseRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/high_only">📏 doseRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high">📏 doseRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/doseRange/low_only">📏 doseRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-doserange"><span itemprop="name">📏 doseRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📏 doseRange (Low only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📏 doseRange (Low only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/doseRange/low_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/doseRange/low_and_high"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📏 doseRange (Low & High)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏰ durationDurationMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/durationDurationMax/durationMax_only.html b/docs/specs/durationDurationMax/durationMax_only.html index a45706b6..b1bc1701 100644 --- a/docs/specs/durationDurationMax/durationMax_only.html +++ b/docs/specs/durationDurationMax/durationMax_only.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Collapse sidebar category '⏰ durationDurationMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only">⏰ durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax">⏰ duration and durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only">⏰ duration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><span itemprop="name">⏰ durationDurationMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏰ durationMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏰ durationMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/durationDurationMax/durationMax_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏰ durationDurationMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏰ duration and durationMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Collapse sidebar category '⏰ durationDurationMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only">⏰ durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax">⏰ duration and durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only">⏰ duration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><span itemprop="name">⏰ durationDurationMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏰ durationMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏰ durationMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/durationDurationMax/durationMax_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏰ durationDurationMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏰ duration and durationMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/durationDurationMax/duration_and_durationMax.html b/docs/specs/durationDurationMax/duration_and_durationMax.html index c9e0f42d..c87d813b 100644 --- a/docs/specs/durationDurationMax/duration_and_durationMax.html +++ b/docs/specs/durationDurationMax/duration_and_durationMax.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Collapse sidebar category '⏰ durationDurationMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only">⏰ durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax">⏰ duration and durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only">⏰ duration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><span itemprop="name">⏰ durationDurationMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏰ duration and durationMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏰ duration and durationMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/durationDurationMax/duration_and_durationMax.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏰ durationMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏰ duration</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Collapse sidebar category '⏰ durationDurationMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only">⏰ durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax">⏰ duration and durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only">⏰ duration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><span itemprop="name">⏰ durationDurationMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏰ duration and durationMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏰ duration and durationMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/durationDurationMax/duration_and_durationMax.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏰ durationMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏰ duration</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/durationDurationMax/duration_only.html b/docs/specs/durationDurationMax/duration_only.html index 8edc3a86..39723931 100644 --- a/docs/specs/durationDurationMax/duration_only.html +++ b/docs/specs/durationDurationMax/duration_only.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Collapse sidebar category '⏰ durationDurationMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only">⏰ durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax">⏰ duration and durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only">⏰ duration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><span itemprop="name">⏰ durationDurationMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏰ duration</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏰ duration</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/durationDurationMax/duration_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏰ duration and durationMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-event"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🎉 event</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Collapse sidebar category '⏰ durationDurationMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/durationMax_only">⏰ durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax">⏰ duration and durationMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_only">⏰ duration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-durationdurationmax"><span itemprop="name">⏰ durationDurationMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏰ duration</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏰ duration</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/durationDurationMax/duration_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/durationDurationMax/duration_and_durationMax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏰ duration and durationMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-event"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🎉 event</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/event/multiple_items.html b/docs/specs/event/multiple_items.html index 5c614364..bdf6220d 100644 --- a/docs/specs/event/multiple_items.html +++ b/docs/specs/event/multiple_items.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Collapse sidebar category '🎉 event'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-event"><span itemprop="name">🎉 event</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➕ Multiple items</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➕ Multiple items</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2018"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1973-06"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1905-08-23"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Collapse sidebar category '🎉 event'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-event"><span itemprop="name">🎉 event</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➕ Multiple items</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➕ Multiple items</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2018"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1973-06"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1905-08-23"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">dateTimeFormatOptions</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/event/multiple_items.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-event"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🎉 event</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/event/single_item"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">❌ Single item</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/event/single_item.html b/docs/specs/event/single_item.html index 94f107f8..493d95c6 100644 --- a/docs/specs/event/single_item.html +++ b/docs/specs/event/single_item.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Collapse sidebar category '🎉 event'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-event"><span itemprop="name">🎉 event</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❌ Single item</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>❌ Single item</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2024-01-01"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Collapse sidebar category '🎉 event'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/event/single_item">❌ Single item</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-event"><span itemprop="name">🎉 event</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❌ Single item</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>❌ Single item</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"event"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2024-01-01"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">dateTimeFormatOptions</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/event/single_item.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/event/multiple_items"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➕ Multiple items</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔁 frequencyFrequencyMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/frequencyFrequencyMax/frequencyMax_only.html b/docs/specs/frequencyFrequencyMax/frequencyMax_only.html index 9277edc9..831298de 100644 --- a/docs/specs/frequencyFrequencyMax/frequencyMax_only.html +++ b/docs/specs/frequencyFrequencyMax/frequencyMax_only.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Collapse sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only">🔁 frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax">🔁 frequency and frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only">🔁 frequency</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><span itemprop="name">🔁 frequencyFrequencyMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔁 frequencyMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔁 frequencyMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequencyMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/frequencyFrequencyMax/frequencyMax_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔁 frequencyFrequencyMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔁 frequency and frequencyMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Collapse sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only">🔁 frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax">🔁 frequency and frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only">🔁 frequency</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '�📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><span itemprop="name">🔁 frequencyFrequencyMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔁 frequencyMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔁 frequencyMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequencyMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/frequencyFrequencyMax/frequencyMax_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔁 frequencyFrequencyMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔁 frequency and frequencyMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax.html b/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax.html index 0ed24729..a16d2394 100644 --- a/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax.html +++ b/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Collapse sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only">🔁 frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax">🔁 frequency and frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only">🔁 frequency</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><span itemprop="name">🔁 frequencyFrequencyMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔁 frequency and frequencyMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔁 frequency and frequencyMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequencyMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔁 frequencyMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔁 frequency</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Collapse sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only">🔁 frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax">🔁 frequency and frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only">🔁 frequency</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '�📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><span itemprop="name">🔁 frequencyFrequencyMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔁 frequency and frequencyMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔁 frequency and frequencyMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequencyMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔁 frequencyMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🔁 frequency</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/frequencyFrequencyMax/frequency_only.html b/docs/specs/frequencyFrequencyMax/frequency_only.html index e505a325..b12ebfe3 100644 --- a/docs/specs/frequencyFrequencyMax/frequency_only.html +++ b/docs/specs/frequencyFrequencyMax/frequency_only.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Collapse sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only">🔁 frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax">🔁 frequency and frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only">🔁 frequency</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><span itemprop="name">🔁 frequencyFrequencyMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔁 frequency</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔁 frequency</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/frequencyFrequencyMax/frequency_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔁 frequency and frequencyMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💉 maxDosePerAdministration</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Collapse sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequencyMax_only">🔁 frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax">🔁 frequency and frequencyMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_only">🔁 frequency</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '�📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax"><span itemprop="name">🔁 frequencyFrequencyMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🔁 frequency</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🔁 frequency</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/frequencyFrequencyMax/frequency_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/frequencyFrequencyMax/frequency_and_frequencyMax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🔁 frequency and frequencyMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💉 maxDosePerAdministration</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/maxDosePerAdministration.html b/docs/specs/maxDosePerAdministration.html index 42498e08..3c9ad196 100644 --- a/docs/specs/maxDosePerAdministration.html +++ b/docs/specs/maxDosePerAdministration.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Collapse sidebar category '💉 maxDosePerAdministration'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration">💉 maxDosePerAdministration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration"><span itemprop="name">💉 maxDosePerAdministration</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💉 maxDosePerAdministration</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💉 maxDosePerAdministration</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"maxDosePerAdministration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Collapse sidebar category '💉 maxDosePerAdministration'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerAdministration">💉 maxDosePerAdministration</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration"><span itemprop="name">💉 maxDosePerAdministration</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💉 maxDosePerAdministration</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💉 maxDosePerAdministration</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"maxDosePerAdministration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/maxDosePerAdministration/maxDosePerAdministration.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💉 maxDosePerAdministration</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">💖 maxDosePerLifetime</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/maxDosePerLifetime.html b/docs/specs/maxDosePerLifetime.html index 8496bf21..a67b43be 100644 --- a/docs/specs/maxDosePerLifetime.html +++ b/docs/specs/maxDosePerLifetime.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Collapse sidebar category '💖 maxDosePerLifetime'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime">💖 maxDosePerLifetime</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime"><span itemprop="name">💖 maxDosePerLifetime</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💖 maxDosePerLifetime</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💖 maxDosePerLifetime</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"maxDosePerLifetime"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Collapse sidebar category '💖 maxDosePerLifetime'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerLifetime">💖 maxDosePerLifetime</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime"><span itemprop="name">💖 maxDosePerLifetime</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">💖 maxDosePerLifetime</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>💖 maxDosePerLifetime</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"maxDosePerLifetime"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/maxDosePerLifetime/maxDosePerLifetime.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">💖 maxDosePerLifetime</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ maxDosePerPeriod</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/maxDosePerPeriod/r4.html b/docs/specs/maxDosePerPeriod/r4.html index 94fca11f..18f6f8e2 100644 --- a/docs/specs/maxDosePerPeriod/r4.html +++ b/docs/specs/maxDosePerPeriod/r4.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Collapse sidebar category '⏳ maxDosePerPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4">⏳ maxDosePerPeriod (R4)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5">⏳ maxDosePerPeriod (R5)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod"><span itemprop="name">⏳ maxDosePerPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ maxDosePerPeriod (R4)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ maxDosePerPeriod (R4)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"maxDosePerPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"numerator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"denominator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"hours"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Collapse sidebar category '⏳ maxDosePerPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4">⏳ maxDosePerPeriod (R4)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5">⏳ maxDosePerPeriod (R5)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod"><span itemprop="name">⏳ maxDosePerPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ maxDosePerPeriod (R4)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ maxDosePerPeriod (R4)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"maxDosePerPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"numerator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"denominator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"hours"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/maxDosePerPeriod/r4.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ maxDosePerPeriod</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏳ maxDosePerPeriod (R5)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/maxDosePerPeriod/r5.html b/docs/specs/maxDosePerPeriod/r5.html index 93d33f7d..78f76340 100644 --- a/docs/specs/maxDosePerPeriod/r5.html +++ b/docs/specs/maxDosePerPeriod/r5.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Collapse sidebar category '⏳ maxDosePerPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4">⏳ maxDosePerPeriod (R4)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5">⏳ maxDosePerPeriod (R5)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod"><span itemprop="name">⏳ maxDosePerPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ maxDosePerPeriod (R5)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ maxDosePerPeriod (R5)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"maxDosePerPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"numerator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"denominator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"hours"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"numerator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1000</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"denominator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"hour"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Collapse sidebar category '⏳ maxDosePerPeriod'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4">⏳ maxDosePerPeriod (R4)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r5">⏳ maxDosePerPeriod (R5)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod"><span itemprop="name">⏳ maxDosePerPeriod</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏳ maxDosePerPeriod (R5)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏳ maxDosePerPeriod (R5)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"maxDosePerPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"numerator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"denominator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"hours"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"numerator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1000</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mg"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"denominator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"hour"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/maxDosePerPeriod/r5.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/maxDosePerPeriod/r4"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏳ maxDosePerPeriod (R4)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/️-method"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🛠️ method</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/method.html b/docs/specs/method.html index efde2fd7..569ffac0 100644 --- a/docs/specs/method.html +++ b/docs/specs/method.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Collapse sidebar category '🛠️ method'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/method">🛠️ method</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-method"><span itemprop="name">🛠️ method</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛠️ method</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🛠️ method</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/administration-method-codes"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"738996007"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Spray"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Collapse sidebar category '🛠️ method'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/method">🛠️ method</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-method"><span itemprop="name">🛠️ method</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛠️ method</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🛠️ method</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"method"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/administration-method-codes"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"738996007"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Spray"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromCodeableConceptToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/method/method.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/️-method"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🛠️ method</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-offset-when"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset when</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/offsetWhen/offset/offset_days.html b/docs/specs/offsetWhen/offset/offset_days.html index 9aba359c..89a9477b 100644 --- a/docs/specs/offsetWhen/offset/offset_days.html +++ b/docs/specs/offsetWhen/offset/offset_days.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Collapse sidebar category '🕒 offset'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days">🕒 offset (Days)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours">🕒 offset (Hours)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes">🕒 offset (Minutes)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset"><span itemprop="name">🕒 offset</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset (Days)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 offset (Days)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1440</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/offset/offset_days.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-offset"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset (Hours)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Collapse sidebar category '🕒 offset'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days">🕒 offset (Days)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours">🕒 offset (Hours)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes">🕒 offset (Minutes)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset"><span itemprop="name">🕒 offset</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset (Days)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 offset (Days)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1440</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/offset/offset_days.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-offset"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset (Hours)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/offsetWhen/offset/offset_hours.html b/docs/specs/offsetWhen/offset/offset_hours.html index bdac7067..654652b9 100644 --- a/docs/specs/offsetWhen/offset/offset_hours.html +++ b/docs/specs/offsetWhen/offset/offset_hours.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Collapse sidebar category '🕒 offset'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days">🕒 offset (Days)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours">🕒 offset (Hours)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes">🕒 offset (Minutes)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset"><span itemprop="name">🕒 offset</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset (Hours)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 offset (Hours)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">60</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/offset/offset_hours.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset (Days)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset (Minutes)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Collapse sidebar category '🕒 offset'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days">🕒 offset (Days)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours">🕒 offset (Hours)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes">🕒 offset (Minutes)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset"><span itemprop="name">🕒 offset</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset (Hours)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 offset (Hours)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">60</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/offset/offset_hours.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset (Days)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset (Minutes)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/offsetWhen/offset/offset_minutes.html b/docs/specs/offsetWhen/offset/offset_minutes.html index f646e373..6fb32d26 100644 --- a/docs/specs/offsetWhen/offset/offset_minutes.html +++ b/docs/specs/offsetWhen/offset/offset_minutes.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Collapse sidebar category '🕒 offset'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days">🕒 offset (Days)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours">🕒 offset (Hours)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes">🕒 offset (Minutes)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset"><span itemprop="name">🕒 offset</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset (Minutes)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 offset (Minutes)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">15</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/offset/offset_minutes.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset (Hours)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-when"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 when</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Collapse sidebar category '🕒 offset'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_days">🕒 offset (Days)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours">🕒 offset (Hours)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_minutes">🕒 offset (Minutes)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset"><span itemprop="name">🕒 offset</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset (Minutes)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 offset (Minutes)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">15</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/offset/offset_minutes.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/offset/offset_hours"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 offset (Hours)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-when"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 when</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/offsetWhen/when/multiple_items.html b/docs/specs/offsetWhen/when/multiple_items.html index 65cfd573..6034fa04 100644 --- a/docs/specs/offsetWhen/when/multiple_items.html +++ b/docs/specs/offsetWhen/when/multiple_items.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Collapse sidebar category '🕒 when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items">🕒 When (Multiple items)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item">🕒 When (Single item)</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-when"><span itemprop="name">🕒 when</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 When (Multiple items)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 When (Multiple items)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"AFT"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/when/multiple_items.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-when"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 when</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 When (Single item)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Collapse sidebar category '🕒 when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items">🕒 When (Multiple items)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item">🕒 When (Single item)</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-when"><span itemprop="name">🕒 when</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 When (Multiple items)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 When (Multiple items)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"AFT"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/when/multiple_items.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-when"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 when</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 When (Single item)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/offsetWhen/when/single_item.html b/docs/specs/offsetWhen/when/single_item.html index 02d64e04..19189789 100644 --- a/docs/specs/offsetWhen/when/single_item.html +++ b/docs/specs/offsetWhen/when/single_item.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Collapse sidebar category '🕒 when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items">🕒 When (Multiple items)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item">🕒 When (Single item)</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-when"><span itemprop="name">🕒 when</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 When (Single item)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 When (Single item)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/when/single_item.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 When (Multiple items)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset and when</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Collapse sidebar category '🕒 when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items">🕒 When (Multiple items)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item">🕒 When (Single item)</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-when"><span itemprop="name">🕒 when</span></a><meta itemprop="position" content="4"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 When (Single item)</span><meta itemprop="position" content="5"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 When (Single item)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/when/single_item.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/multiple_items"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 When (Multiple items)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🕒 offset and when</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/offsetWhen/when_and_offset.html b/docs/specs/offsetWhen/when_and_offset.html index 307b10da..3cf98217 100644 --- a/docs/specs/offsetWhen/when_and_offset.html +++ b/docs/specs/offsetWhen/when_and_offset.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset and when</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 offset and when</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">15</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/when_and_offset.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 When (Single item)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-patientinstruction"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📋 patientInstruction</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Collapse sidebar category '🕒 offset when'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset">🕒 offset</a><button aria-label="Expand sidebar category '🕒 offset'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-when">🕒 when</a><button aria-label="Expand sidebar category '🕒 when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/offsetWhen/when_and_offset">🕒 offset and when</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-offset-when"><span itemprop="name">🕒 offset when</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🕒 offset and when</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🕒 offset and when</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">15</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/offsetWhen/when_and_offset.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/offsetWhen/when/single_item"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🕒 When (Single item)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-patientinstruction"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📋 patientInstruction</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/patientInstruction.html b/docs/specs/patientInstruction.html index 27327b15..8bafd711 100644 --- a/docs/specs/patientInstruction.html +++ b/docs/specs/patientInstruction.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Collapse sidebar category '📋 patientInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/patientInstruction">📋 patientInstruction</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-patientinstruction"><span itemprop="name">📋 patientInstruction</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📋 patientInstruction</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📋 patientInstruction</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"patientInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"patientInstruction"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/patientInstruction/patientInstruction.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-patientinstruction"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📋 patientInstruction</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">♻️ periodPeriodMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Collapse sidebar category '📋 patientInstruction'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/patientInstruction">📋 patientInstruction</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-patientinstruction"><span itemprop="name">📋 patientInstruction</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📋 patientInstruction</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📋 patientInstruction</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"patientInstruction"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"patientInstruction"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/patientInstruction/patientInstruction.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-patientinstruction"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📋 patientInstruction</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">♻️ periodPeriodMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/periodPeriodMax/periodMax_only.html b/docs/specs/periodPeriodMax/periodMax_only.html index ec3ae240..13e7ab44 100644 --- a/docs/specs/periodPeriodMax/periodMax_only.html +++ b/docs/specs/periodPeriodMax/periodMax_only.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Collapse sidebar category '♻️ periodPeriodMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only">♻️ periodMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax">♻️ period & periodMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only">♻️ period (only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><span itemprop="name">♻️ periodPeriodMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">♻️ periodMax (only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>♻️ periodMax (only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/periodPeriodMax/periodMax_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">♻️ periodPeriodMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">♻️ period & periodMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Collapse sidebar category '♻️ periodPeriodMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only">♻️ periodMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax">♻️ period & periodMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only">♻️ period (only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><span itemprop="name">♻️ periodPeriodMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">♻️ periodMax (only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>♻️ periodMax (only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/periodPeriodMax/periodMax_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">♻️ periodPeriodMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">♻️ period & periodMax</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/periodPeriodMax/period_and_periodMax.html b/docs/specs/periodPeriodMax/period_and_periodMax.html index 7ef23953..76e9235d 100644 --- a/docs/specs/periodPeriodMax/period_and_periodMax.html +++ b/docs/specs/periodPeriodMax/period_and_periodMax.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Collapse sidebar category '♻️ periodPeriodMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only">♻️ periodMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax">♻️ period & periodMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only">♻️ period (only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><span itemprop="name">♻️ periodPeriodMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">♻️ period & periodMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>♻️ period & periodMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/periodPeriodMax/period_and_periodMax.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">♻️ periodMax (only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">♻️ period (only)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Collapse sidebar category '♻️ periodPeriodMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only">♻️ periodMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax">♻️ period & periodMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only">♻️ period (only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><span itemprop="name">♻️ periodPeriodMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">♻️ period & periodMax</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>♻️ period & periodMax</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/periodPeriodMax/period_and_periodMax.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">♻️ periodMax (only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">♻️ period (only)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/periodPeriodMax/period_only.html b/docs/specs/periodPeriodMax/period_only.html index 059c71b6..86f06e78 100644 --- a/docs/specs/periodPeriodMax/period_only.html +++ b/docs/specs/periodPeriodMax/period_only.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Collapse sidebar category '♻️ periodPeriodMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only">♻️ periodMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax">♻️ period & periodMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only">♻️ period (only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><span itemprop="name">♻️ periodPeriodMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">♻️ period (only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>♻️ period (only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/periodPeriodMax/period_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">♻️ period & periodMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/️-ratequantity"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏲️ rateQuantity</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Collapse sidebar category '♻️ periodPeriodMax'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/periodMax_only">♻️ periodMax (only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax">♻️ period & periodMax</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_only">♻️ period (only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-periodperiodmax"><span itemprop="name">♻️ periodPeriodMax</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">♻️ period (only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>♻️ period (only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/periodPeriodMax/period_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/periodPeriodMax/period_and_periodMax"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">♻️ period & periodMax</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/️-ratequantity"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⏲️ rateQuantity</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/rateQuantity.html b/docs/specs/rateQuantity.html index a5bc9972..01da81b5 100644 --- a/docs/specs/rateQuantity.html +++ b/docs/specs/rateQuantity.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Collapse sidebar category '⏲️ rateQuantity'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateQuantity">⏲️ rateQuantity</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-ratequantity"><span itemprop="name">⏲️ rateQuantity</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏲️ rateQuantity</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏲️ rateQuantity</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Collapse sidebar category '⏲️ rateQuantity'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateQuantity">⏲️ rateQuantity</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-ratequantity"><span itemprop="name">⏲️ rateQuantity</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⏲️ rateQuantity</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⏲️ rateQuantity</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/rateQuantity/rateQuantity.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/️-ratequantity"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⏲️ rateQuantity</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/️-raterange"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⚖️ rateRange</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/rateRange/high_only.html b/docs/specs/rateRange/high_only.html index 47e9f8b5..8db04251 100644 --- a/docs/specs/rateRange/high_only.html +++ b/docs/specs/rateRange/high_only.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Collapse sidebar category '⚖️ rateRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/high_only">⚖️ rateRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high">⚖️ rateRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_only">⚖️ rateRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-raterange"><span itemprop="name">⚖️ rateRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚖️ rateRange (High only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⚖️ rateRange (High only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Collapse sidebar category '⚖️ rateRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/high_only">⚖️ rateRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high">⚖️ rateRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_only">⚖️ rateRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-raterange"><span itemprop="name">⚖️ rateRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚖️ rateRange (High only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⚖️ rateRange (High only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/rateRange/high_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/️-raterange"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⚖️ rateRange</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⚖️ rateRange (Low & High)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/rateRange/low_and_high.html b/docs/specs/rateRange/low_and_high.html index 2b39951b..ba9d7b81 100644 --- a/docs/specs/rateRange/low_and_high.html +++ b/docs/specs/rateRange/low_and_high.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Collapse sidebar category '⚖️ rateRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/high_only">⚖️ rateRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high">⚖️ rateRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_only">⚖️ rateRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-raterange"><span itemprop="name">⚖️ rateRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚖️ rateRange (Low & High)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⚖️ rateRange (Low & High)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Collapse sidebar category '⚖️ rateRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/high_only">⚖️ rateRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high">⚖️ rateRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_only">⚖️ rateRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-raterange"><span itemprop="name">⚖️ rateRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚖️ rateRange (Low & High)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⚖️ rateRange (Low & High)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"high"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/rateRange/low_and_high.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/rateRange/high_only"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⚖️ rateRange (High only)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/rateRange/low_only"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⚖️ rateRange (Low only)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/rateRange/low_only.html b/docs/specs/rateRange/low_only.html index 08420bf4..503fe4dd 100644 --- a/docs/specs/rateRange/low_only.html +++ b/docs/specs/rateRange/low_only.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Collapse sidebar category '⚖️ rateRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/high_only">⚖️ rateRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high">⚖️ rateRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_only">⚖️ rateRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-raterange"><span itemprop="name">⚖️ rateRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚖️ rateRange (Low only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⚖️ rateRange (Low only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Collapse sidebar category '⚖️ rateRange'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/high_only">⚖️ rateRange (High only)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high">⚖️ rateRange (Low & High)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRange/low_only">⚖️ rateRange (Low only)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-raterange"><span itemprop="name">⚖️ rateRange</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">⚖️ rateRange (Low only)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>⚖️ rateRange (Low only)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateRange"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"low"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/rateRange/low_only.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/rateRange/low_and_high"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⚖️ rateRange (Low & High)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-rateratio"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📈 rateRatio</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/rateRatio.html b/docs/specs/rateRatio.html index a68f2fd5..b813aabd 100644 --- a/docs/specs/rateRatio.html +++ b/docs/specs/rateRatio.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Collapse sidebar category '📈 rateRatio'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRatio">📈 rateRatio</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-rateratio"><span itemprop="name">📈 rateRatio</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📈 rateRatio</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📈 rateRatio</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateRatio"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"numerator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"denominator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"hours"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Collapse sidebar category '📈 rateRatio'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/rateRatio">📈 rateRatio</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-rateratio"><span itemprop="name">📈 rateRatio</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📈 rateRatio</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📈 rateRatio</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"rateRatio"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"numerator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"pills"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"denominator"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"hours"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromFHIRQuantityUnitToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/rateRatio/rateRatio.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-rateratio"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📈 rateRatio</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/️-route"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🛣️ route</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/route.html b/docs/specs/route.html index 7ec8de75..c47b0f35 100644 --- a/docs/specs/route.html +++ b/docs/specs/route.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Collapse sidebar category '🛣️ route'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/route">🛣�️ route</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-route"><span itemprop="name">🛣️ route</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛣️ route</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🛣️ route</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/route-codes"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Collapse sidebar category '🛣️ route'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/route">🛣️ route</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-route"><span itemprop="name">🛣️ route</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">🛣️ route</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>🛣️ route</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"route"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/route-codes"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"26643006"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Oral route"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromCodeableConceptToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/route/route.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/️-route"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">🛣️ route</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/️-sequence"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➡️ sequence</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/sequence/concurrent_instructions.html b/docs/specs/sequence/concurrent_instructions.html index b587177e..e38140f0 100644 --- a/docs/specs/sequence/concurrent_instructions.html +++ b/docs/specs/sequence/concurrent_instructions.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Collapse sidebar category '➡️ sequence'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions">➡️ sequence (Concurrent instructions)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1">➡️ sequence (Sequential instructions 1)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2">➡️ sequence (Sequential instructions 2)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-sequence"><span itemprop="name">➡️ sequence</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➡️ sequence (Concurrent instructions)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➡️ sequence (Concurrent instructions)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 2A"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 2B"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/sequence/concurrent_instructions.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/️-sequence"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➡️ sequence</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➡️ sequence (Sequential instructions 1)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Collapse sidebar category '➡️ sequence'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions">➡️ sequence (Concurrent instructions)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1">➡️ sequence (Sequential instructions 1)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2">➡️ sequence (Sequential instructions 2)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-sequence"><span itemprop="name">➡️ sequence</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➡️ sequence (Concurrent instructions)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➡️ sequence (Concurrent instructions)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 2A"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 2B"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/sequence/concurrent_instructions.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/️-sequence"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➡️ sequence</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➡️ sequence (Sequential instructions 1)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/sequence/sequential_instructions_1.html b/docs/specs/sequence/sequential_instructions_1.html index 9a29c019..c25b1daf 100644 --- a/docs/specs/sequence/sequential_instructions_1.html +++ b/docs/specs/sequence/sequential_instructions_1.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Collapse sidebar category '➡️ sequence'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions">➡️ sequence (Concurrent instructions)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1">➡️ sequence (Sequential instructions 1)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2">➡️ sequence (Sequential instructions 2)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-sequence"><span itemprop="name">➡️ sequence</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➡️ sequence (Sequential instructions 1)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➡️ sequence (Sequential instructions 1)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 2"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/sequence/sequential_instructions_1.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➡️ sequence (Concurrent instructions)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➡️ sequence (Sequential instructions 2)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Collapse sidebar category '➡️ sequence'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions">➡️ sequence (Concurrent instructions)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1">➡️ sequence (Sequential instructions 1)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2">➡️ sequence (Sequential instructions 2)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-sequence"><span itemprop="name">➡️ sequence</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➡️ sequence (Sequential instructions 1)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➡️ sequence (Sequential instructions 1)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"sequence"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 2"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/sequence/sequential_instructions_1.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➡️ sequence (Concurrent instructions)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">➡️ sequence (Sequential instructions 2)</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/sequence/sequential_instructions_2.html b/docs/specs/sequence/sequential_instructions_2.html index 9fd08b62..804d8af8 100644 --- a/docs/specs/sequence/sequential_instructions_2.html +++ b/docs/specs/sequence/sequential_instructions_2.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Collapse sidebar category '➡️ sequence'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions">➡️ sequence (Concurrent instructions)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1">➡️ sequence (Sequential instructions 1)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2">➡️ sequence (Sequential instructions 2)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-sequence"><span itemprop="name">➡️ sequence</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➡️ sequence (Sequential instructions 2)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➡️ sequence (Sequential instructions 2)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 2"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/sequence/sequential_instructions_2.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➡️ sequence (Sequential instructions 1)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-site"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📍 site</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Collapse sidebar category '➡️ sequence'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/concurrent_instructions">➡️ sequence (Concurrent instructions)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1">➡️ sequence (Sequential instructions 1)</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_2">➡️ sequence (Sequential instructions 2)</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/️-sequence"><span itemprop="name">➡️ sequence</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➡️ sequence (Sequential instructions 2)</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➡️ sequence (Sequential instructions 2)</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Instructions 2"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/sequence/sequential_instructions_2.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/sequence/sequential_instructions_1"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➡️ sequence (Sequential instructions 1)</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-site"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📍 site</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/site.html b/docs/specs/site.html index de41e9e9..ee80643f 100644 --- a/docs/specs/site.html +++ b/docs/specs/site.html @@ -9,11 +9,11 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Collapse sidebar category '📍 site'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/site">📍 site</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-site"><span itemprop="name">📍 site</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📍 site</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📍 site</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"site"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/approach-site-codes"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1910005"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Entire ear"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/��️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Collapse sidebar category '📍 site'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/site">📍 site</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-site"><span itemprop="name">📍 site</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📍 site</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📍 site</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"site"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"coding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/approach-site-codes"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1910005"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"display"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Entire ear"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div> <div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Don't forget you can use <a href="/fhir-dosage-utils/api/interface/Config">fromCodeableConceptToString</a> option to fit your needs</p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/site/site.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-site"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📍 site</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-text"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">📝 text</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/text.html b/docs/specs/text.html index 7cd356df..e3e5db00 100644 --- a/docs/specs/text.html +++ b/docs/specs/text.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Collapse sidebar category '📝 text'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/text">📝 text</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-text"><span itemprop="name">📝 text</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📝 text</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📝 text</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"SIG"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/text/text.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-text"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📝 text</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-timeofday"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⌚ timeOfDay</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/��️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Collapse sidebar category '📝 text'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/text">📝 text</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Expand sidebar category '⌚ timeOfDay'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-text"><span itemprop="name">📝 text</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">📝 text</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>📝 text</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"text"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"SIG"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/text/text.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-text"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">📝 text</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/category/-timeofday"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">⌚ timeOfDay</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/timeOfDay/multiple_items.html b/docs/specs/timeOfDay/multiple_items.html index f10c7c16..640ac86b 100644 --- a/docs/specs/timeOfDay/multiple_items.html +++ b/docs/specs/timeOfDay/multiple_items.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Collapse sidebar category '⌚ timeOfDay'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item">❌ Single item</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-timeofday"><span itemprop="name">⌚ timeOfDay</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➕ Multiple items</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➕ Multiple items</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timeOfDay"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"15:00:00"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"12:12:12"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/timeOfDay/multiple_items.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-timeofday"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⌚ timeOfDay</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">❌ Single item</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/��️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Collapse sidebar category '⌚ timeOfDay'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item">❌ Single item</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-timeofday"><span itemprop="name">⌚ timeOfDay</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">➕ Multiple items</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>➕ Multiple items</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timeOfDay"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"15:00:00"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"12:12:12"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/timeOfDay/multiple_items.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/category/-timeofday"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">⌚ timeOfDay</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">❌ Single item</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/docs/specs/timeOfDay/single_item.html b/docs/specs/timeOfDay/single_item.html index 5635a2f7..84d8ff74 100644 --- a/docs/specs/timeOfDay/single_item.html +++ b/docs/specs/timeOfDay/single_item.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Collapse sidebar category '⌚ timeOfDay'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item">❌ Single item</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-timeofday"><span itemprop="name">⌚ timeOfDay</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❌ Single item</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>❌ Single item</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timeOfDay"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"15:00:00"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/timeOfDay/single_item.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➕ Multiple items</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/demo/custom"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🛠️ Customizations</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/quick-start">⚡ Quick Start</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/fhir-dosage-utils/docs/demo">💡 Demos</a><button aria-label="Collapse sidebar category '💡 Demos'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/demo/specs">🔎 Specifications</a><button aria-label="Collapse sidebar category '🔎 Specifications'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-additionalinstruction">📝 additionalInstruction</a><button aria-label="Expand sidebar category '📝 additionalInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-asneeded">❓ asNeeded</a><button aria-label="Expand sidebar category '❓ asNeeded'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-boundsduration">🕰️ boundsDuration</a><button aria-label="Expand sidebar category '🕰️ boundsDuration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsperiod">⏳ boundsPeriod</a><button aria-label="Expand sidebar category '⏳ boundsPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-boundsrange">📐 boundsRange</a><button aria-label="Expand sidebar category '📐 boundsRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-code">💻 code</a><button aria-label="Expand sidebar category '💻 code'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-count--countmax">🔢 count / countMax</a><button aria-label="Expand sidebar category '🔢 count / countMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dayofweek">📅 dayOfWeek</a><button aria-label="Expand sidebar category '📅 dayOfWeek'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-dosequantity">💊 doseQuantity</a><button aria-label="Expand sidebar category '💊 doseQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-doserange">📏 doseRange</a><button aria-label="Expand sidebar category '📏 doseRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-durationdurationmax">⏰ durationDurationMax</a><button aria-label="Expand sidebar category '⏰ durationDurationMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-event">🎉 event</a><button aria-label="Expand sidebar category '🎉 event'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-frequencyfrequencymax">🔁 frequencyFrequencyMax</a><button aria-label="Expand sidebar category '🔁 frequencyFrequencyMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperadministration">💉 maxDosePerAdministration</a><button aria-label="Expand sidebar category '💉 maxDosePerAdministration'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperlifetime">💖 maxDosePerLifetime</a><button aria-label="Expand sidebar category '💖 maxDosePerLifetime'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-maxdoseperperiod">⏳ maxDosePerPeriod</a><button aria-label="Expand sidebar category '⏳ maxDosePerPeriod'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-method">🛠️ method</a><button aria-label="Expand sidebar category '🛠️ method'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-offset-when">🕒 offset when</a><button aria-label="Expand sidebar category '🕒 offset when'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-patientinstruction">📋 patientInstruction</a><button aria-label="Expand sidebar category '📋 patientInstruction'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-periodperiodmax">♻️ periodPeriodMax</a><button aria-label="Expand sidebar category '♻️ periodPeriodMax'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-ratequantity">⏲️ rateQuantity</a><button aria-label="Expand sidebar category '⏲️ rateQuantity'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-raterange">⚖️ rateRange</a><button aria-label="Expand sidebar category '⚖️ rateRange'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-rateratio">📈 rateRatio</a><button aria-label="Expand sidebar category '📈 rateRatio'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/️-route">🛣️ route</a><button aria-label="Expand sidebar category '🛣️ route'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/��️-sequence">➡️ sequence</a><button aria-label="Expand sidebar category '➡️ sequence'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-site">📍 site</a><button aria-label="Expand sidebar category '📍 site'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/category/-text">📝 text</a><button aria-label="Expand sidebar category '📝 text'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" tabindex="0" href="/fhir-dosage-utils/docs/category/-timeofday">⌚ timeOfDay</a><button aria-label="Collapse sidebar category '⌚ timeOfDay'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items">➕ Multiple items</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/fhir-dosage-utils/docs/specs/timeOfDay/single_item">❌ Single item</a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/custom">🛠️ Customizations</a><button aria-label="Expand sidebar category '🛠️ Customizations'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" tabindex="0" href="/fhir-dosage-utils/docs/demo/examples">🗺️ Real word examples</a><button aria-label="Expand sidebar category '🗺️ Real word examples'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/contributing">🧩 Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/api">📖 API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/faq">❓ FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/fhir-dosage-utils/docs/next-steps">🚧 Roadmap</a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/fhir-dosage-utils/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo"><span itemprop="name">💡 Demos</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/demo/specs"><span itemprop="name">🔎 Specifications</span></a><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/fhir-dosage-utils/docs/category/-timeofday"><span itemprop="name">⌚ timeOfDay</span></a><meta itemprop="position" content="3"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">❌ Single item</span><meta itemprop="position" content="4"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>❌ Single item</h1></header><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timeOfDay"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"15:00:00"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/specs/timeOfDay/single_item.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/fhir-dosage-utils/docs/specs/timeOfDay/multiple_items"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">➕ Multiple items</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/fhir-dosage-utils/docs/demo/custom"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">🛠️ Customizations</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/editor.worker.js b/editor.worker.js index 902565d4..249f2ae1 100644 --- a/editor.worker.js +++ b/editor.worker.js @@ -1 +1 @@ -(()=>{var e={3338:(e,t,n)=>{"use strict";function i(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let i=0,r=e.length;i<r;i++)if(!n(e[i],t[i]))return!1;return!0}function*r(e,t){let n,i;for(const r of e)void 0!==i&&t(i,r)?n.push(r):(n&&(yield n),n=[r]),i=r;n&&(yield n)}function s(e,t){for(let n=0;n<=e.length;n++)t(0===n?void 0:e[n-1],n===e.length?void 0:e[n])}function o(e,t){for(let n=0;n<e.length;n++)t(0===n?void 0:e[n-1],e[n],n+1===e.length?void 0:e[n+1])}function a(e,t=e=>e){const n=new Set;return e.filter((e=>{const i=t(e);return!n.has(i)&&(n.add(i),!0)}))}function l(e,t){return e.length>0?e[0]:t}function h(e,t,n){const i=e.slice(0,t),r=e.slice(t);return i.concat(n,r)}function c(e,t){for(const n of t)e.push(n)}var u;function d(e,t){return(n,i)=>t(e(n),e(i))}n.d(t,{E4:()=>c,Fy:()=>l,Hw:()=>f,U9:()=>g,VE:()=>d,aI:()=>i,c1:()=>p,dM:()=>a,j3:()=>m,kj:()=>o,n:()=>r,nK:()=>h,pN:()=>s}),function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(u||(u={}));const g=(e,t)=>e-t;function f(e){return(t,n)=>-e(t,n)}class m{constructor(e){this.items=e,this.firstIdx=0,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++;const n=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,n}takeFromEndWhile(e){let t=this.lastIdx;for(;t>=0&&e(this.items[t]);)t--;const n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class p{static{this.empty=new p((e=>{}))}constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new p((t=>this.iterate((n=>!e(n)||t(n)))))}map(e){return new p((t=>this.iterate((n=>t(e(n))))))}findLast(e){let t;return this.iterate((n=>(e(n)&&(t=n),!0))),t}findLastMaxBy(e){let t,n=!0;return this.iterate((i=>((n||u.isGreaterThan(e(i,t)))&&(n=!1,t=i),!0))),t}}},7393:(e,t,n)=>{"use strict";function i(e,t){const n=function(e,t,n=e.length-1){for(let i=n;i>=0;i--){if(t(e[i]))return i}return-1}(e,t);if(-1!==n)return e[n]}function r(e,t){const n=s(e,t);return-1===n?void 0:e[n]}function s(e,t,n=0,i=e.length){let r=n,s=i;for(;r<s;){const n=Math.floor((r+s)/2);t(e[n])?r=n+1:s=n}return r-1}function o(e,t){const n=a(e,t);return n===e.length?void 0:e[n]}function a(e,t,n=0,i=e.length){let r=n,s=i;for(;r<s;){const n=Math.floor((r+s)/2);t(e[n])?s=n:r=n+1}return r}n.d(t,{Uk:()=>i,XP:()=>o,hw:()=>a,iM:()=>s,lx:()=>r,vJ:()=>l});class l{static{this.assertInvariants=!1}constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(l.assertInvariants){if(this._prevFindLastPredicate)for(const t of this._array)if(this._prevFindLastPredicate(t)&&!e(t))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.");this._prevFindLastPredicate=e}const t=s(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,-1===t?void 0:this._array[t]}}},7110:(e,t,n)=>{"use strict";n.d(t,{Ft:()=>o,Xo:()=>a,ok:()=>r,xb:()=>s});var i=n(4327);function r(e,t){if(!e)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function s(e,t="Unreachable"){throw new Error(t)}function o(e){e()||(e(),(0,i.dz)(new i.D7("Assertion Failed")))}function a(e,t){let n=0;for(;n<e.length-1;){if(!t(e[n],e[n+1]))return!1;n++}return!0}},2866:(e,t,n)=>{"use strict";n.d(t,{vb:()=>l,uC:()=>h,Qg:()=>a,$6:()=>c});n(8903);var i=n(4327),r=n(2106),s=n(2446),o=n(3339);Symbol("MicrotaskDelay");function a(e){return!!e&&"function"==typeof e.then}class l{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new i.D7("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const r=n.setInterval((()=>{e()}),t);this.disposable=(0,s.s)((()=>{n.clearInterval(r),this.disposable=void 0}))}dispose(){this.cancel(),this.isDisposed=!0}}class h{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}let c,u;u="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{(0,o._p)((()=>{if(n)return;const e=Date.now()+15,i={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(i))}));let n=!1;return{dispose(){n||(n=!0)}}}:(e,t,n)=>{const i=e.requestIdleCallback(t,"number"==typeof n?{timeout:n}:void 0);let r=!1;return{dispose(){r||(r=!0,e.cancelIdleCallback(i))}}},c=e=>u(globalThis,e);var d;!function(e){e.settled=async function(e){let t;const n=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return n},e.withAsyncBody=function(e){return new Promise((async(t,n)=>{try{await e(t,n)}catch(i){n(i)}}))}}(d||(d={}));class g{static fromArray(e){return new g((t=>{t.emitMany(e)}))}static fromPromise(e){return new g((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new g((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new g((async t=>{await Promise.all(e.map((async e=>{for await(const n of e)t.emitOne(n)})))}))}static{this.EMPTY=g.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new r.vl,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(n){this.reject(n)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(1===this._state)return{done:!0,value:void 0};await r.Jh.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new g((async n=>{for await(const i of e)n.emitOne(t(i))}))}map(e){return g.map(this,e)}static filter(e,t){return new g((async n=>{for await(const i of e)t(i)&&n.emitOne(i)}))}filter(e){return g.filter(this,e)}static coalesce(e){return g.filter(e,(e=>!!e))}coalesce(){return g.coalesce(this)}static async toPromise(e){const t=[];for await(const n of e)t.push(n);return t}toPromise(){return g.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}},2802:(e,t,n)=>{"use strict";n.d(t,{$l:()=>a,Gs:()=>d,MB:()=>o,Sw:()=>c,bb:()=>h,gN:()=>l,pJ:()=>u});var i=n(3946);const r="undefined"!=typeof Buffer;new i.d((()=>new Uint8Array(256)));let s;class o{static wrap(e){return r&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new o(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return r?this.buffer.toString():(s||(s=new TextDecoder),s.decode(this.buffer))}}function a(e,t){return(e[t+0]|0)>>>0|e[t+1]<<8>>>0}function l(e,t,n){e[n+0]=255&t,t>>>=8,e[n+1]=255&t}function h(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function c(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function u(e,t){return e[t]}function d(e,t,n){e[n]=t}},6260:(e,t,n)=>{"use strict";function i(e){return e}n.d(t,{VV:()=>s,o5:()=>r});class r{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,"function"==typeof e?(this._fn=e,this._computeKey=i):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class s{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,"function"==typeof e?(this._fn=e,this._computeKey=i):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const n=this._fn(e);return this._map.set(e,n),this._map2.set(t,n),n}}},8903:(e,t,n)=>{"use strict";n.d(t,{Qi:()=>a});var i=n(2106);const r=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var s;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof o||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Jh.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r})}(s||(s={}));class o{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?r:(this._emitter||(this._emitter=new i.vl),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class a{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token instanceof o&&this._token.cancel():this._token=s.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof o&&this._token.dispose():this._token=s.None}}},8391:(e,t,n)=>{"use strict";n.d(t,{W:()=>o});var i=n(9359);const r=Object.create(null);function s(e,t){if((0,i.Kg)(t)){const n=r[t];if(void 0===n)throw new Error(`${e} references an unknown codicon: ${t}`);t=n}return r[e]=t,{id:e}}const o={...{add:s("add",6e4),plus:s("plus",6e4),gistNew:s("gist-new",6e4),repoCreate:s("repo-create",6e4),lightbulb:s("lightbulb",60001),lightBulb:s("light-bulb",60001),repo:s("repo",60002),repoDelete:s("repo-delete",60002),gistFork:s("gist-fork",60003),repoForked:s("repo-forked",60003),gitPullRequest:s("git-pull-request",60004),gitPullRequestAbandoned:s("git-pull-request-abandoned",60004),recordKeys:s("record-keys",60005),keyboard:s("keyboard",60005),tag:s("tag",60006),gitPullRequestLabel:s("git-pull-request-label",60006),tagAdd:s("tag-add",60006),tagRemove:s("tag-remove",60006),person:s("person",60007),personFollow:s("person-follow",60007),personOutline:s("person-outline",60007),personFilled:s("person-filled",60007),gitBranch:s("git-branch",60008),gitBranchCreate:s("git-branch-create",60008),gitBranchDelete:s("git-branch-delete",60008),sourceControl:s("source-control",60008),mirror:s("mirror",60009),mirrorPublic:s("mirror-public",60009),star:s("star",60010),starAdd:s("star-add",60010),starDelete:s("star-delete",60010),starEmpty:s("star-empty",60010),comment:s("comment",60011),commentAdd:s("comment-add",60011),alert:s("alert",60012),warning:s("warning",60012),search:s("search",60013),searchSave:s("search-save",60013),logOut:s("log-out",60014),signOut:s("sign-out",60014),logIn:s("log-in",60015),signIn:s("sign-in",60015),eye:s("eye",60016),eyeUnwatch:s("eye-unwatch",60016),eyeWatch:s("eye-watch",60016),circleFilled:s("circle-filled",60017),primitiveDot:s("primitive-dot",60017),closeDirty:s("close-dirty",60017),debugBreakpoint:s("debug-breakpoint",60017),debugBreakpointDisabled:s("debug-breakpoint-disabled",60017),debugHint:s("debug-hint",60017),terminalDecorationSuccess:s("terminal-decoration-success",60017),primitiveSquare:s("primitive-square",60018),edit:s("edit",60019),pencil:s("pencil",60019),info:s("info",60020),issueOpened:s("issue-opened",60020),gistPrivate:s("gist-private",60021),gitForkPrivate:s("git-fork-private",60021),lock:s("lock",60021),mirrorPrivate:s("mirror-private",60021),close:s("close",60022),removeClose:s("remove-close",60022),x:s("x",60022),repoSync:s("repo-sync",60023),sync:s("sync",60023),clone:s("clone",60024),desktopDownload:s("desktop-download",60024),beaker:s("beaker",60025),microscope:s("microscope",60025),vm:s("vm",60026),deviceDesktop:s("device-desktop",60026),file:s("file",60027),fileText:s("file-text",60027),more:s("more",60028),ellipsis:s("ellipsis",60028),kebabHorizontal:s("kebab-horizontal",60028),mailReply:s("mail-reply",60029),reply:s("reply",60029),organization:s("organization",60030),organizationFilled:s("organization-filled",60030),organizationOutline:s("organization-outline",60030),newFile:s("new-file",60031),fileAdd:s("file-add",60031),newFolder:s("new-folder",60032),fileDirectoryCreate:s("file-directory-create",60032),trash:s("trash",60033),trashcan:s("trashcan",60033),history:s("history",60034),clock:s("clock",60034),folder:s("folder",60035),fileDirectory:s("file-directory",60035),symbolFolder:s("symbol-folder",60035),logoGithub:s("logo-github",60036),markGithub:s("mark-github",60036),github:s("github",60036),terminal:s("terminal",60037),console:s("console",60037),repl:s("repl",60037),zap:s("zap",60038),symbolEvent:s("symbol-event",60038),error:s("error",60039),stop:s("stop",60039),variable:s("variable",60040),symbolVariable:s("symbol-variable",60040),array:s("array",60042),symbolArray:s("symbol-array",60042),symbolModule:s("symbol-module",60043),symbolPackage:s("symbol-package",60043),symbolNamespace:s("symbol-namespace",60043),symbolObject:s("symbol-object",60043),symbolMethod:s("symbol-method",60044),symbolFunction:s("symbol-function",60044),symbolConstructor:s("symbol-constructor",60044),symbolBoolean:s("symbol-boolean",60047),symbolNull:s("symbol-null",60047),symbolNumeric:s("symbol-numeric",60048),symbolNumber:s("symbol-number",60048),symbolStructure:s("symbol-structure",60049),symbolStruct:s("symbol-struct",60049),symbolParameter:s("symbol-parameter",60050),symbolTypeParameter:s("symbol-type-parameter",60050),symbolKey:s("symbol-key",60051),symbolText:s("symbol-text",60051),symbolReference:s("symbol-reference",60052),goToFile:s("go-to-file",60052),symbolEnum:s("symbol-enum",60053),symbolValue:s("symbol-value",60053),symbolRuler:s("symbol-ruler",60054),symbolUnit:s("symbol-unit",60054),activateBreakpoints:s("activate-breakpoints",60055),archive:s("archive",60056),arrowBoth:s("arrow-both",60057),arrowDown:s("arrow-down",60058),arrowLeft:s("arrow-left",60059),arrowRight:s("arrow-right",60060),arrowSmallDown:s("arrow-small-down",60061),arrowSmallLeft:s("arrow-small-left",60062),arrowSmallRight:s("arrow-small-right",60063),arrowSmallUp:s("arrow-small-up",60064),arrowUp:s("arrow-up",60065),bell:s("bell",60066),bold:s("bold",60067),book:s("book",60068),bookmark:s("bookmark",60069),debugBreakpointConditionalUnverified:s("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:s("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:s("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:s("debug-breakpoint-data-unverified",60072),debugBreakpointData:s("debug-breakpoint-data",60073),debugBreakpointDataDisabled:s("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:s("debug-breakpoint-log-unverified",60074),debugBreakpointLog:s("debug-breakpoint-log",60075),debugBreakpointLogDisabled:s("debug-breakpoint-log-disabled",60075),briefcase:s("briefcase",60076),broadcast:s("broadcast",60077),browser:s("browser",60078),bug:s("bug",60079),calendar:s("calendar",60080),caseSensitive:s("case-sensitive",60081),check:s("check",60082),checklist:s("checklist",60083),chevronDown:s("chevron-down",60084),chevronLeft:s("chevron-left",60085),chevronRight:s("chevron-right",60086),chevronUp:s("chevron-up",60087),chromeClose:s("chrome-close",60088),chromeMaximize:s("chrome-maximize",60089),chromeMinimize:s("chrome-minimize",60090),chromeRestore:s("chrome-restore",60091),circleOutline:s("circle-outline",60092),circle:s("circle",60092),debugBreakpointUnverified:s("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:s("terminal-decoration-incomplete",60092),circleSlash:s("circle-slash",60093),circuitBoard:s("circuit-board",60094),clearAll:s("clear-all",60095),clippy:s("clippy",60096),closeAll:s("close-all",60097),cloudDownload:s("cloud-download",60098),cloudUpload:s("cloud-upload",60099),code:s("code",60100),collapseAll:s("collapse-all",60101),colorMode:s("color-mode",60102),commentDiscussion:s("comment-discussion",60103),creditCard:s("credit-card",60105),dash:s("dash",60108),dashboard:s("dashboard",60109),database:s("database",60110),debugContinue:s("debug-continue",60111),debugDisconnect:s("debug-disconnect",60112),debugPause:s("debug-pause",60113),debugRestart:s("debug-restart",60114),debugStart:s("debug-start",60115),debugStepInto:s("debug-step-into",60116),debugStepOut:s("debug-step-out",60117),debugStepOver:s("debug-step-over",60118),debugStop:s("debug-stop",60119),debug:s("debug",60120),deviceCameraVideo:s("device-camera-video",60121),deviceCamera:s("device-camera",60122),deviceMobile:s("device-mobile",60123),diffAdded:s("diff-added",60124),diffIgnored:s("diff-ignored",60125),diffModified:s("diff-modified",60126),diffRemoved:s("diff-removed",60127),diffRenamed:s("diff-renamed",60128),diff:s("diff",60129),diffSidebyside:s("diff-sidebyside",60129),discard:s("discard",60130),editorLayout:s("editor-layout",60131),emptyWindow:s("empty-window",60132),exclude:s("exclude",60133),extensions:s("extensions",60134),eyeClosed:s("eye-closed",60135),fileBinary:s("file-binary",60136),fileCode:s("file-code",60137),fileMedia:s("file-media",60138),filePdf:s("file-pdf",60139),fileSubmodule:s("file-submodule",60140),fileSymlinkDirectory:s("file-symlink-directory",60141),fileSymlinkFile:s("file-symlink-file",60142),fileZip:s("file-zip",60143),files:s("files",60144),filter:s("filter",60145),flame:s("flame",60146),foldDown:s("fold-down",60147),foldUp:s("fold-up",60148),fold:s("fold",60149),folderActive:s("folder-active",60150),folderOpened:s("folder-opened",60151),gear:s("gear",60152),gift:s("gift",60153),gistSecret:s("gist-secret",60154),gist:s("gist",60155),gitCommit:s("git-commit",60156),gitCompare:s("git-compare",60157),compareChanges:s("compare-changes",60157),gitMerge:s("git-merge",60158),githubAction:s("github-action",60159),githubAlt:s("github-alt",60160),globe:s("globe",60161),grabber:s("grabber",60162),graph:s("graph",60163),gripper:s("gripper",60164),heart:s("heart",60165),home:s("home",60166),horizontalRule:s("horizontal-rule",60167),hubot:s("hubot",60168),inbox:s("inbox",60169),issueReopened:s("issue-reopened",60171),issues:s("issues",60172),italic:s("italic",60173),jersey:s("jersey",60174),json:s("json",60175),kebabVertical:s("kebab-vertical",60176),key:s("key",60177),law:s("law",60178),lightbulbAutofix:s("lightbulb-autofix",60179),linkExternal:s("link-external",60180),link:s("link",60181),listOrdered:s("list-ordered",60182),listUnordered:s("list-unordered",60183),liveShare:s("live-share",60184),loading:s("loading",60185),location:s("location",60186),mailRead:s("mail-read",60187),mail:s("mail",60188),markdown:s("markdown",60189),megaphone:s("megaphone",60190),mention:s("mention",60191),milestone:s("milestone",60192),gitPullRequestMilestone:s("git-pull-request-milestone",60192),mortarBoard:s("mortar-board",60193),move:s("move",60194),multipleWindows:s("multiple-windows",60195),mute:s("mute",60196),noNewline:s("no-newline",60197),note:s("note",60198),octoface:s("octoface",60199),openPreview:s("open-preview",60200),package:s("package",60201),paintcan:s("paintcan",60202),pin:s("pin",60203),play:s("play",60204),run:s("run",60204),plug:s("plug",60205),preserveCase:s("preserve-case",60206),preview:s("preview",60207),project:s("project",60208),pulse:s("pulse",60209),question:s("question",60210),quote:s("quote",60211),radioTower:s("radio-tower",60212),reactions:s("reactions",60213),references:s("references",60214),refresh:s("refresh",60215),regex:s("regex",60216),remoteExplorer:s("remote-explorer",60217),remote:s("remote",60218),remove:s("remove",60219),replaceAll:s("replace-all",60220),replace:s("replace",60221),repoClone:s("repo-clone",60222),repoForcePush:s("repo-force-push",60223),repoPull:s("repo-pull",60224),repoPush:s("repo-push",60225),report:s("report",60226),requestChanges:s("request-changes",60227),rocket:s("rocket",60228),rootFolderOpened:s("root-folder-opened",60229),rootFolder:s("root-folder",60230),rss:s("rss",60231),ruby:s("ruby",60232),saveAll:s("save-all",60233),saveAs:s("save-as",60234),save:s("save",60235),screenFull:s("screen-full",60236),screenNormal:s("screen-normal",60237),searchStop:s("search-stop",60238),server:s("server",60240),settingsGear:s("settings-gear",60241),settings:s("settings",60242),shield:s("shield",60243),smiley:s("smiley",60244),sortPrecedence:s("sort-precedence",60245),splitHorizontal:s("split-horizontal",60246),splitVertical:s("split-vertical",60247),squirrel:s("squirrel",60248),starFull:s("star-full",60249),starHalf:s("star-half",60250),symbolClass:s("symbol-class",60251),symbolColor:s("symbol-color",60252),symbolConstant:s("symbol-constant",60253),symbolEnumMember:s("symbol-enum-member",60254),symbolField:s("symbol-field",60255),symbolFile:s("symbol-file",60256),symbolInterface:s("symbol-interface",60257),symbolKeyword:s("symbol-keyword",60258),symbolMisc:s("symbol-misc",60259),symbolOperator:s("symbol-operator",60260),symbolProperty:s("symbol-property",60261),wrench:s("wrench",60261),wrenchSubaction:s("wrench-subaction",60261),symbolSnippet:s("symbol-snippet",60262),tasklist:s("tasklist",60263),telescope:s("telescope",60264),textSize:s("text-size",60265),threeBars:s("three-bars",60266),thumbsdown:s("thumbsdown",60267),thumbsup:s("thumbsup",60268),tools:s("tools",60269),triangleDown:s("triangle-down",60270),triangleLeft:s("triangle-left",60271),triangleRight:s("triangle-right",60272),triangleUp:s("triangle-up",60273),twitter:s("twitter",60274),unfold:s("unfold",60275),unlock:s("unlock",60276),unmute:s("unmute",60277),unverified:s("unverified",60278),verified:s("verified",60279),versions:s("versions",60280),vmActive:s("vm-active",60281),vmOutline:s("vm-outline",60282),vmRunning:s("vm-running",60283),watch:s("watch",60284),whitespace:s("whitespace",60285),wholeWord:s("whole-word",60286),window:s("window",60287),wordWrap:s("word-wrap",60288),zoomIn:s("zoom-in",60289),zoomOut:s("zoom-out",60290),listFilter:s("list-filter",60291),listFlat:s("list-flat",60292),listSelection:s("list-selection",60293),selection:s("selection",60293),listTree:s("list-tree",60294),debugBreakpointFunctionUnverified:s("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:s("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:s("debug-breakpoint-function-disabled",60296),debugStackframeActive:s("debug-stackframe-active",60297),circleSmallFilled:s("circle-small-filled",60298),debugStackframeDot:s("debug-stackframe-dot",60298),terminalDecorationMark:s("terminal-decoration-mark",60298),debugStackframe:s("debug-stackframe",60299),debugStackframeFocused:s("debug-stackframe-focused",60299),debugBreakpointUnsupported:s("debug-breakpoint-unsupported",60300),symbolString:s("symbol-string",60301),debugReverseContinue:s("debug-reverse-continue",60302),debugStepBack:s("debug-step-back",60303),debugRestartFrame:s("debug-restart-frame",60304),debugAlt:s("debug-alt",60305),callIncoming:s("call-incoming",60306),callOutgoing:s("call-outgoing",60307),menu:s("menu",60308),expandAll:s("expand-all",60309),feedback:s("feedback",60310),gitPullRequestReviewer:s("git-pull-request-reviewer",60310),groupByRefType:s("group-by-ref-type",60311),ungroupByRefType:s("ungroup-by-ref-type",60312),account:s("account",60313),gitPullRequestAssignee:s("git-pull-request-assignee",60313),bellDot:s("bell-dot",60314),debugConsole:s("debug-console",60315),library:s("library",60316),output:s("output",60317),runAll:s("run-all",60318),syncIgnored:s("sync-ignored",60319),pinned:s("pinned",60320),githubInverted:s("github-inverted",60321),serverProcess:s("server-process",60322),serverEnvironment:s("server-environment",60323),pass:s("pass",60324),issueClosed:s("issue-closed",60324),stopCircle:s("stop-circle",60325),playCircle:s("play-circle",60326),record:s("record",60327),debugAltSmall:s("debug-alt-small",60328),vmConnect:s("vm-connect",60329),cloud:s("cloud",60330),merge:s("merge",60331),export:s("export",60332),graphLeft:s("graph-left",60333),magnet:s("magnet",60334),notebook:s("notebook",60335),redo:s("redo",60336),checkAll:s("check-all",60337),pinnedDirty:s("pinned-dirty",60338),passFilled:s("pass-filled",60339),circleLargeFilled:s("circle-large-filled",60340),circleLarge:s("circle-large",60341),circleLargeOutline:s("circle-large-outline",60341),combine:s("combine",60342),gather:s("gather",60342),table:s("table",60343),variableGroup:s("variable-group",60344),typeHierarchy:s("type-hierarchy",60345),typeHierarchySub:s("type-hierarchy-sub",60346),typeHierarchySuper:s("type-hierarchy-super",60347),gitPullRequestCreate:s("git-pull-request-create",60348),runAbove:s("run-above",60349),runBelow:s("run-below",60350),notebookTemplate:s("notebook-template",60351),debugRerun:s("debug-rerun",60352),workspaceTrusted:s("workspace-trusted",60353),workspaceUntrusted:s("workspace-untrusted",60354),workspaceUnknown:s("workspace-unknown",60355),terminalCmd:s("terminal-cmd",60356),terminalDebian:s("terminal-debian",60357),terminalLinux:s("terminal-linux",60358),terminalPowershell:s("terminal-powershell",60359),terminalTmux:s("terminal-tmux",60360),terminalUbuntu:s("terminal-ubuntu",60361),terminalBash:s("terminal-bash",60362),arrowSwap:s("arrow-swap",60363),copy:s("copy",60364),personAdd:s("person-add",60365),filterFilled:s("filter-filled",60366),wand:s("wand",60367),debugLineByLine:s("debug-line-by-line",60368),inspect:s("inspect",60369),layers:s("layers",60370),layersDot:s("layers-dot",60371),layersActive:s("layers-active",60372),compass:s("compass",60373),compassDot:s("compass-dot",60374),compassActive:s("compass-active",60375),azure:s("azure",60376),issueDraft:s("issue-draft",60377),gitPullRequestClosed:s("git-pull-request-closed",60378),gitPullRequestDraft:s("git-pull-request-draft",60379),debugAll:s("debug-all",60380),debugCoverage:s("debug-coverage",60381),runErrors:s("run-errors",60382),folderLibrary:s("folder-library",60383),debugContinueSmall:s("debug-continue-small",60384),beakerStop:s("beaker-stop",60385),graphLine:s("graph-line",60386),graphScatter:s("graph-scatter",60387),pieChart:s("pie-chart",60388),bracket:s("bracket",60175),bracketDot:s("bracket-dot",60389),bracketError:s("bracket-error",60390),lockSmall:s("lock-small",60391),azureDevops:s("azure-devops",60392),verifiedFilled:s("verified-filled",60393),newline:s("newline",60394),layout:s("layout",60395),layoutActivitybarLeft:s("layout-activitybar-left",60396),layoutActivitybarRight:s("layout-activitybar-right",60397),layoutPanelLeft:s("layout-panel-left",60398),layoutPanelCenter:s("layout-panel-center",60399),layoutPanelJustify:s("layout-panel-justify",60400),layoutPanelRight:s("layout-panel-right",60401),layoutPanel:s("layout-panel",60402),layoutSidebarLeft:s("layout-sidebar-left",60403),layoutSidebarRight:s("layout-sidebar-right",60404),layoutStatusbar:s("layout-statusbar",60405),layoutMenubar:s("layout-menubar",60406),layoutCentered:s("layout-centered",60407),target:s("target",60408),indent:s("indent",60409),recordSmall:s("record-small",60410),errorSmall:s("error-small",60411),terminalDecorationError:s("terminal-decoration-error",60411),arrowCircleDown:s("arrow-circle-down",60412),arrowCircleLeft:s("arrow-circle-left",60413),arrowCircleRight:s("arrow-circle-right",60414),arrowCircleUp:s("arrow-circle-up",60415),layoutSidebarRightOff:s("layout-sidebar-right-off",60416),layoutPanelOff:s("layout-panel-off",60417),layoutSidebarLeftOff:s("layout-sidebar-left-off",60418),blank:s("blank",60419),heartFilled:s("heart-filled",60420),map:s("map",60421),mapHorizontal:s("map-horizontal",60421),foldHorizontal:s("fold-horizontal",60421),mapFilled:s("map-filled",60422),mapHorizontalFilled:s("map-horizontal-filled",60422),foldHorizontalFilled:s("fold-horizontal-filled",60422),circleSmall:s("circle-small",60423),bellSlash:s("bell-slash",60424),bellSlashDot:s("bell-slash-dot",60425),commentUnresolved:s("comment-unresolved",60426),gitPullRequestGoToChanges:s("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:s("git-pull-request-new-changes",60428),searchFuzzy:s("search-fuzzy",60429),commentDraft:s("comment-draft",60430),send:s("send",60431),sparkle:s("sparkle",60432),insert:s("insert",60433),mic:s("mic",60434),thumbsdownFilled:s("thumbsdown-filled",60435),thumbsupFilled:s("thumbsup-filled",60436),coffee:s("coffee",60437),snake:s("snake",60438),game:s("game",60439),vr:s("vr",60440),chip:s("chip",60441),piano:s("piano",60442),music:s("music",60443),micFilled:s("mic-filled",60444),repoFetch:s("repo-fetch",60445),copilot:s("copilot",60446),lightbulbSparkle:s("lightbulb-sparkle",60447),robot:s("robot",60448),sparkleFilled:s("sparkle-filled",60449),diffSingle:s("diff-single",60450),diffMultiple:s("diff-multiple",60451),surroundWith:s("surround-with",60452),share:s("share",60453),gitStash:s("git-stash",60454),gitStashApply:s("git-stash-apply",60455),gitStashPop:s("git-stash-pop",60456),vscode:s("vscode",60457),vscodeInsiders:s("vscode-insiders",60458),codeOss:s("code-oss",60459),runCoverage:s("run-coverage",60460),runAllCoverage:s("run-all-coverage",60461),coverage:s("coverage",60462),githubProject:s("github-project",60463),mapVertical:s("map-vertical",60464),foldVertical:s("fold-vertical",60464),mapVerticalFilled:s("map-vertical-filled",60465),foldVerticalFilled:s("fold-vertical-filled",60465),goToSearch:s("go-to-search",60466),percentage:s("percentage",60467),sortPercentage:s("sort-percentage",60467),attach:s("attach",60468)},...{dialogError:s("dialog-error","error"),dialogWarning:s("dialog-warning","warning"),dialogInfo:s("dialog-info","info"),dialogClose:s("dialog-close","close"),treeItemExpanded:s("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:s("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:s("tree-filter-on-type-off","list-selection"),treeFilterClear:s("tree-filter-clear","close"),treeItemLoading:s("tree-item-loading","loading"),menuSelection:s("menu-selection","check"),menuSubmenu:s("menu-submenu","chevron-right"),menuBarMore:s("menubar-more","more"),scrollbarButtonLeft:s("scrollbar-button-left","triangle-left"),scrollbarButtonRight:s("scrollbar-button-right","triangle-right"),scrollbarButtonUp:s("scrollbar-button-up","triangle-up"),scrollbarButtonDown:s("scrollbar-button-down","triangle-down"),toolBarMore:s("toolbar-more","more"),quickInputBack:s("quick-input-back","arrow-left"),dropDownButton:s("drop-down-button",60084),symbolCustomColor:s("symbol-customcolor",60252),exportIcon:s("export",60332),workspaceUnspecified:s("workspace-unspecified",60355),newLine:s("newline",60394),thumbsDownFilled:s("thumbsdown-filled",60435),thumbsUpFilled:s("thumbsup-filled",60436),gitFetch:s("git-fetch",60445),lightbulbSparkleAutofix:s("lightbulb-sparkle-autofix",60447),debugBreakpointPending:s("debug-breakpoint-pending",60377)}}},4901:(e,t,n)=>{"use strict";function i(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}n.d(t,{Q1:()=>a,bU:()=>r,hB:()=>s});class r{constructor(e,t,n,r=1){this._rgbaBrand=void 0,this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,n)),this.a=i(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}}class s{constructor(e,t,n,r){this._hslaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.l=i(Math.max(Math.min(1,n),0),3),this.a=i(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(e){const t=e.r/255,n=e.g/255,i=e.b/255,r=e.a,o=Math.max(t,n,i),a=Math.min(t,n,i);let l=0,h=0;const c=(a+o)/2,u=o-a;if(u>0){switch(h=Math.min(c<=.5?u/(2*c):u/(2-2*c),1),o){case t:l=(n-i)/u+(n<i?6:0);break;case n:l=(i-t)/u+2;break;case i:l=(t-n)/u+4}l*=60,l=Math.round(l)}return new s(l,h,c,r)}static _hue2rgb(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(e){const t=e.h/360,{s:n,l:i,a:o}=e;let a,l,h;if(0===n)a=l=h=i;else{const e=i<.5?i*(1+n):i+n-i*n,r=2*i-e;a=s._hue2rgb(r,e,t+1/3),l=s._hue2rgb(r,e,t),h=s._hue2rgb(r,e,t-1/3)}return new r(Math.round(255*a),Math.round(255*l),Math.round(255*h),o)}}class o{constructor(e,t,n,r){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.v=i(Math.max(Math.min(1,n),0),3),this.a=i(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(e){const t=e.r/255,n=e.g/255,i=e.b/255,r=Math.max(t,n,i),s=r-Math.min(t,n,i),a=0===r?0:s/r;let l;return l=0===s?0:r===t?((n-i)/s%6+6)%6:r===n?(i-t)/s+2:(t-n)/s+4,new o(Math.round(60*l),a,r,e.a)}static toRGBA(e){const{h:t,s:n,v:i,a:s}=e,o=i*n,a=o*(1-Math.abs(t/60%2-1)),l=i-o;let[h,c,u]=[0,0,0];return t<60?(h=o,c=a):t<120?(h=a,c=o):t<180?(c=o,u=a):t<240?(c=a,u=o):t<300?(h=a,u=o):t<=360&&(h=o,u=a),h=Math.round(255*(h+l)),c=Math.round(255*(c+l)),u=Math.round(255*(u+l)),new r(h,c,u,s)}}class a{static fromHex(e){return a.Format.CSS.parseHex(e)||a.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:s.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:o.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof r)this.rgba=e;else if(e instanceof s)this._hsla=e,this.rgba=s.toRGBA(e);else{if(!(e instanceof o))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=o.toRGBA(e)}}equals(e){return!!e&&r.equals(this.rgba,e.rgba)&&s.equals(this.hsla,e.hsla)&&o.equals(this.hsva,e.hsva)}getRelativeLuminance(){return i(.2126*a._relativeLuminanceForComponent(this.rgba.r)+.7152*a._relativeLuminanceForComponent(this.rgba.g)+.0722*a._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()<e.getRelativeLuminance()}lighten(e){return new a(new s(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new a(new s(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:t,g:n,b:i,a:s}=this.rgba;return new a(new r(t,n,i,s*e))}isTransparent(){return 0===this.rgba.a}isOpaque(){return 1===this.rgba.a}opposite(){return new a(new r(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}makeOpaque(e){if(this.isOpaque()||1!==e.rgba.a)return this;const{r:t,g:n,b:i,a:s}=this.rgba;return new a(new r(e.rgba.r-s*(e.rgba.r-t),e.rgba.g-s*(e.rgba.g-n),e.rgba.b-s*(e.rgba.b-i),1))}toString(){return this._toString||(this._toString=a.Format.CSS.format(this)),this._toString}static getLighterColor(e,t,n){if(e.isLighterThan(t))return e;n=n||.5;const i=e.getRelativeLuminance(),r=t.getRelativeLuminance();return n=n*(r-i)/r,e.lighten(n)}static getDarkerColor(e,t,n){if(e.isDarkerThan(t))return e;n=n||.5;const i=e.getRelativeLuminance();return n=n*(i-t.getRelativeLuminance())/i,e.darken(n)}static{this.white=new a(new r(255,255,255,1))}static{this.black=new a(new r(0,0,0,1))}static{this.red=new a(new r(255,0,0,1))}static{this.blue=new a(new r(0,0,255,1))}static{this.green=new a(new r(0,255,0,1))}static{this.cyan=new a(new r(0,255,255,1))}static{this.lightgrey=new a(new r(211,211,211,1))}static{this.transparent=new a(new r(0,0,0,0))}}!function(e){let t;!function(t){let n;!function(t){function n(e){const t=e.toString(16);return 2!==t.length?"0"+t:t}function i(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:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}return 0}t.formatRGB=function(t){return 1===t.rgba.a?`rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})`:e.Format.CSS.formatRGBA(t)},t.formatRGBA=function(e){return`rgba(${e.rgba.r}, ${e.rgba.g}, ${e.rgba.b}, ${+e.rgba.a.toFixed(2)})`},t.formatHSL=function(t){return 1===t.hsla.a?`hsl(${t.hsla.h}, ${(100*t.hsla.s).toFixed(2)}%, ${(100*t.hsla.l).toFixed(2)}%)`:e.Format.CSS.formatHSLA(t)},t.formatHSLA=function(e){return`hsla(${e.hsla.h}, ${(100*e.hsla.s).toFixed(2)}%, ${(100*e.hsla.l).toFixed(2)}%, ${e.hsla.a.toFixed(2)})`},t.formatHex=function(e){return`#${n(e.rgba.r)}${n(e.rgba.g)}${n(e.rgba.b)}`},t.formatHexA=function(t,i=!1){return i&&1===t.rgba.a?e.Format.CSS.formatHex(t):`#${n(t.rgba.r)}${n(t.rgba.g)}${n(t.rgba.b)}${n(Math.round(255*t.rgba.a))}`},t.format=function(t){return t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t)},t.parseHex=function(t){const n=t.length;if(0===n)return null;if(35!==t.charCodeAt(0))return null;if(7===n){const n=16*i(t.charCodeAt(1))+i(t.charCodeAt(2)),s=16*i(t.charCodeAt(3))+i(t.charCodeAt(4)),o=16*i(t.charCodeAt(5))+i(t.charCodeAt(6));return new e(new r(n,s,o,1))}if(9===n){const n=16*i(t.charCodeAt(1))+i(t.charCodeAt(2)),s=16*i(t.charCodeAt(3))+i(t.charCodeAt(4)),o=16*i(t.charCodeAt(5))+i(t.charCodeAt(6)),a=16*i(t.charCodeAt(7))+i(t.charCodeAt(8));return new e(new r(n,s,o,a/255))}if(4===n){const n=i(t.charCodeAt(1)),s=i(t.charCodeAt(2)),o=i(t.charCodeAt(3));return new e(new r(16*n+n,16*s+s,16*o+o))}if(5===n){const n=i(t.charCodeAt(1)),s=i(t.charCodeAt(2)),o=i(t.charCodeAt(3)),a=i(t.charCodeAt(4));return new e(new r(16*n+n,16*s+s,16*o+o,(16*a+a)/255))}return null}}(n=t.CSS||(t.CSS={}))}(t=e.Format||(e.Format={}))}(a||(a={}))},4327:(e,t,n)=>{"use strict";n.d(t,{D7:()=>g,EM:()=>u,Qg:()=>h,cU:()=>s,dz:()=>r,iH:()=>c});const i=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(d.isErrorNoTelemetry(e))throw new d(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function r(e){a(e)||i.onUnexpectedError(e)}function s(e){if(e instanceof Error){const{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:d.isErrorNoTelemetry(e)}}return e}const o="Canceled";function a(e){return e instanceof l||e instanceof Error&&e.name===o&&e.message===o}class l extends Error{constructor(){super(o),this.name=this.message}}function h(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function c(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class u extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class d extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof d)return e;const t=new d;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class g extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,g.prototype)}}},2106:(e,t,n)=>{"use strict";n.d(t,{Jh:()=>o,vl:()=>f});var i=n(4327),r=n(2446),s=(n(5525),n(3013));var o;!function(e){function t(e){false}function n(e){return(t,n=null,i)=>{let r,s=!1;return r=e((e=>{if(!s)return r?r.dispose():s=!0,t.call(n,e)}),null,i),s&&r.dispose(),r}}function i(e,t,n){return o(((n,i=null,r)=>e((e=>n.call(i,t(e))),null,r)),n)}function s(e,t,n){return o(((n,i=null,r)=>e((e=>t(e)&&n.call(i,e)),null,r)),n)}function o(e,n){let i;const r={onWillAddFirstListener(){i=e(s.fire,s)},onDidRemoveLastListener(){i?.dispose()}};n||t();const s=new f(r);return n?.add(s),s.event}function a(e,n,i=100,r=!1,s=!1,o,a){let l,h,c,u,d=0;const g={leakWarningThreshold:o,onWillAddFirstListener(){l=e((e=>{d++,h=n(h,e),r&&!c&&(m.fire(h),h=void 0),u=()=>{const e=h;h=void 0,c=void 0,(!r||d>1)&&m.fire(e),d=0},"number"==typeof i?(clearTimeout(c),c=setTimeout(u,i)):void 0===c&&(c=0,queueMicrotask(u))}))},onWillRemoveListener(){s&&d>0&&u?.()},onDidRemoveLastListener(){u=void 0,l.dispose()}};a||t();const m=new f(g);return a?.add(m),m.event}e.None=()=>r.jG.None,e.defer=function(e,t){return a(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=n,e.onceIf=function(t,n){return e.once(e.filter(t,n))},e.map=i,e.forEach=function(e,t,n){return o(((n,i=null,r)=>e((e=>{t(e),n.call(i,e)}),null,r)),n)},e.filter=s,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,i)=>function(e,t){t instanceof Array?t.push(e):t&&t.add(e);return e}((0,r.qE)(...e.map((e=>e((e=>t.call(n,e)))))),i)},e.reduce=function(e,t,n,r){let s=n;return i(e,(e=>(s=t(s,e),s)),r)},e.debounce=a,e.accumulate=function(t,n=0,i){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),n,void 0,!0,void 0,i)},e.latch=function(e,t=(e,t)=>e===t,n){let i,r=!0;return s(e,(e=>{const n=r||!t(e,i);return r=!1,i=e,n}),n)},e.split=function(t,n,i){return[e.filter(t,n,i),e.filter(t,(e=>!n(e)),i)]},e.buffer=function(e,t=!1,n=[],i){let r=n.slice(),s=e((e=>{r?r.push(e):a.fire(e)}));i&&i.add(s);const o=()=>{r?.forEach((e=>a.fire(e))),r=null},a=new f({onWillAddFirstListener(){s||(s=e((e=>a.fire(e))),i&&i.add(s))},onDidAddFirstListener(){r&&(t?setTimeout(o):o())},onDidRemoveLastListener(){s&&s.dispose(),s=null}});return i&&i.add(a),a.event},e.chain=function(e,t){return(n,i,r)=>{const s=t(new h);return e((function(e){const t=s.evaluate(e);t!==l&&n.call(i,t)}),void 0,r)}};const l=Symbol("HaltChainable");class h{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:l)),this}reduce(e,t){let n=t;return this.steps.push((t=>(n=e(n,t),n))),this}latch(e=(e,t)=>e===t){let t,n=!0;return this.steps.push((i=>{const r=n||!e(i,t);return n=!1,t=i,r?i:l})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===l)break;return e}}e.fromNodeEventEmitter=function(e,t,n=e=>e){const i=(...e)=>r.fire(n(...e)),r=new f({onWillAddFirstListener:()=>e.on(t,i),onDidRemoveLastListener:()=>e.removeListener(t,i)});return r.event},e.fromDOMEventEmitter=function(e,t,n=e=>e){const i=(...e)=>r.fire(n(...e)),r=new f({onWillAddFirstListener:()=>e.addEventListener(t,i),onDidRemoveLastListener:()=>e.removeEventListener(t,i)});return r.event},e.toPromise=function(e){return new Promise((t=>n(e)(t)))},e.fromPromise=function(e){const t=new f;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.forward=function(e,t){return e((e=>t.fire(e)))},e.runAndSubscribe=function(e,t,n){return t(n),e((e=>t(e)))};class c{constructor(e,n){this._observable=e,this._counter=0,this._hasChanged=!1;const i={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};n||t(),this.emitter=new f(i),n&&n.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new c(e,t).emitter.event},e.fromObservableLight=function(e){return(t,n,i)=>{let s=0,o=!1;const a={beginUpdate(){s++},endUpdate(){s--,0===s&&(e.reportChanges(),o&&(o=!1,t.call(n)))},handlePossibleChange(){},handleChange(){o=!0}};e.addObserver(a),e.reportChanges();const l={dispose(){e.removeObserver(a)}};return i instanceof r.Cm?i.add(l):Array.isArray(i)&&i.push(l),l}}}(o||(o={}));class a{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${a._idPool++}`,a.all.add(this)}start(e){this._stopWatch=new s.W,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}class l{static{this._idPool=1}constructor(e,t,n=(l._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=n,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const n=this.threshold;if(n<=0||t<n)return;this._stacks||(this._stacks=new Map);const i=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,i+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=.5*n;const[e,i]=this.getMostFrequentStack(),r=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${i}):`;console.warn(r),console.warn(e);const s=new c(r,e);this._errorHandler(s)}return()=>{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[n,i]of this._stacks)(!e||t<i)&&(e=[n,i],t=i);return e}}class h{static create(){const e=new Error;return new h(e.stack??"")}constructor(e){this.value=e}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class c extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}}class u extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}}class d{constructor(e){this.value=e}}let g;class f{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new l(e?.onListenerError??i.dz,this._options?.leakWarningThreshold??-1):void 0,this._perfMon=this._options?._profName?new a(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],n=new u(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||i.dz)(n),r.jG.None}if(this._disposed)return r.jG.None;t&&(e=e.bind(t));const s=new d(e);let o;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(s.stack=h.create(),o=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof d?(this._deliveryQueue??=new m,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=(0,r.s)((()=>{g?.unregister(a),o?.(),this._removeListener(s)}));if(n instanceof r.Cm?n.add(a):Array.isArray(n)&&n.push(a),g){const e=(new Error).stack.split("\n").slice(2,3).join("\n").trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);g.register(a,t?.[2]??e,a)}return a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,n=t.indexOf(e);if(-1===n)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[n]=void 0;const i=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:i&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;const n=this._options?.onListenerError||i.dz;if(n)try{e.value(t)}catch(r){n(r)}else e.value(t)}_deliverQueue(e){const t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof d)this._deliver(this._listeners,e);else{const t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}else;this._perfMon?.stop()}hasListeners(){return this._size>0}}class m{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}},8518:(e,t,n)=>{"use strict";n.d(t,{TH:()=>o,Zn:()=>l,_1:()=>h,kb:()=>a});var i=n(1570),r=(n(3339),n(6844));function s(e){return 47===e||92===e}function o(e){return e.replace(/[\\/]/g,i.SA.sep)}function a(e){return-1===e.indexOf("/")&&(e=o(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e="/"+e),e}function l(e,t=i.SA.sep){if(!e)return"";const n=e.length,r=e.charCodeAt(0);if(s(r)){if(s(e.charCodeAt(1))&&!s(e.charCodeAt(2))){let i=3;const r=i;for(;i<n&&!s(e.charCodeAt(i));i++);if(r!==i&&!s(e.charCodeAt(i+1)))for(i+=1;i<n;i++)if(s(e.charCodeAt(i)))return e.slice(0,i+1).replace(/[\\/]/g,t)}return t}if(c(r)&&58===e.charCodeAt(1))return s(e.charCodeAt(2))?e.slice(0,2)+t:e.slice(0,2);let o=e.indexOf("://");if(-1!==o)for(o+=3;o<n;o++)if(s(e.charCodeAt(o)))return e.slice(0,o+1);return""}function h(e,t,n,s=i.Vn){if(e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(n){if(!(0,r.ns)(e,t))return!1;if(t.length===e.length)return!0;let n=t.length;return t.charAt(t.length-1)===s&&n--,e.charAt(n)===s}return t.charAt(t.length-1)!==s&&(t+=s),0===e.indexOf(t)}function c(e){return e>=65&&e<=90||e>=97&&e<=122}},3958:(e,t,n)=>{"use strict";n.d(t,{YW:()=>T,qg:()=>A});var i=n(2866),r=n(8518),s=n(7992),o=n(1570),a=n(3339),l=n(6844);const h="**",c="/",u="[/\\\\]",d="[^/\\\\]",g=/\//g;function f(e,t){switch(e){case 0:return"";case 1:return`${d}*?`;default:return`(?:${u}|${d}+${u}${t?`|${u}${d}+`:""})*?`}}function m(e,t){if(!e)return[];const n=[];let i=!1,r=!1,s="";for(const o of e){switch(o){case t:if(!i&&!r){n.push(s),s="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":r=!0;break;case"]":r=!1}s+=o}return s&&n.push(s),n}function p(e){if(!e)return"";let t="";const n=m(e,c);if(n.every((e=>e===h)))t=".*";else{let e=!1;n.forEach(((i,r)=>{if(i===h){if(e)return;t+=f(2,r===n.length-1)}else{let e=!1,s="",o=!1,a="";for(const n of i)if("}"!==n&&e)s+=n;else if(!o||"]"===n&&a)switch(n){case"{":e=!0;continue;case"[":o=!0;continue;case"}":{const n=`(?:${m(s,",").map((e=>p(e))).join("|")})`;t+=n,e=!1,s="";break}case"]":t+="["+a+"]",o=!1,a="";break;case"?":t+=d;continue;case"*":t+=f(1);continue;default:t+=(0,l.bm)(n)}else{let e;e="-"===n?n:"^"!==n&&"!"!==n||a?n===c?"":(0,l.bm)(n):"^",a+=e}r<n.length-1&&(n[r+1]!==h||r+2<n.length)&&(t+=u)}e=i===h}))}return t}const _=/^\*\*\/\*\.[\w\.-]+$/,b=/^\*\*\/([\w\.-]+)\/?$/,k=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,v=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,C=/^\*\*((\/[\w\.-]+)+)\/?$/,L=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,w=new s.qK(1e4),y=function(){return!1},S=function(){return null};function x(e,t){if(!e)return S;let n;n="string"!=typeof e?e.pattern:e,n=n.trim();const i=`${n}_${!!t.trimForExclusions}`;let r,s=w.get(i);return s||(s=_.test(n)?function(e,t){return function(n,i){return"string"==typeof n&&n.endsWith(e)?t:null}}(n.substr(4),n):(r=b.exec(N(n,t)))?function(e,t){const n=`/${e}`,i=`\\${e}`,r=function(r,s){return"string"!=typeof r?null:s?s===e?t:null:r===e||r.endsWith(n)||r.endsWith(i)?t:null},s=[e];return r.basenames=s,r.patterns=[t],r.allBasenames=s,r}(r[1],n):(t.trimForExclusions?v:k).test(n)?function(e,t){const n=D(e.slice(1,-1).split(",").map((e=>x(e,t))).filter((e=>e!==S)),e),i=n.length;if(!i)return S;if(1===i)return n[0];const r=function(t,i){for(let r=0,s=n.length;r<s;r++)if(n[r](t,i))return e;return null},s=n.find((e=>!!e.allBasenames));s&&(r.allBasenames=s.allBasenames);const o=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);o.length&&(r.allPaths=o);return r}(n,t):(r=C.exec(N(n,t)))?I(r[1].substr(1),n,!0):(r=L.exec(N(n,t)))?I(r[1],n,!1):function(e){try{const t=new RegExp(`^${p(e)}$`);return function(n){return t.lastIndex=0,"string"==typeof n&&t.test(n)?e:null}}catch(t){return S}}(n),w.set(i,s)),E(s,e)}function E(e,t){if("string"==typeof t)return e;const n=function(n,i){return(0,r._1)(n,t.base,!a.j9)?e((0,l.NB)(n.substr(t.base.length),o.Vn),i):null};return n.allBasenames=e.allBasenames,n.allPaths=e.allPaths,n.basenames=e.basenames,n.patterns=e.patterns,n}function N(e,t){return t.trimForExclusions&&e.endsWith("/**")?e.substr(0,e.length-2):e}function I(e,t,n){const i=o.Vn===o.SA.sep,r=i?e:e.replace(g,o.Vn),s=o.Vn+r,a=o.SA.sep+e;let l;return l=n?function(n,o){return"string"!=typeof n||n!==r&&!n.endsWith(s)&&(i||n!==e&&!n.endsWith(a))?null:t}:function(n,s){return"string"!=typeof n||n!==r&&(i||n!==e)?null:t},l.allPaths=[(n?"*/":"./")+e],l}function T(e,t,n){return!(!e||"string"!=typeof t)&&A(e)(t,void 0,n)}function A(e,t={}){if(!e)return y;if("string"==typeof e||function(e){const t=e;if(!t)return!1;return"string"==typeof t.base&&"string"==typeof t.pattern}(e)){const n=x(e,t);if(n===S)return y;const i=function(e,t){return!!n(e,t)};return n.allBasenames&&(i.allBasenames=n.allBasenames),n.allPaths&&(i.allPaths=n.allPaths),i}return function(e,t){const n=D(Object.getOwnPropertyNames(e).map((n=>function(e,t,n){if(!1===t)return S;const r=x(e,n);if(r===S)return S;if("boolean"==typeof t)return r;if(t){const n=t.when;if("string"==typeof n){const t=(t,s,o,a)=>{if(!a||!r(t,s))return null;const l=a(n.replace("$(basename)",(()=>o)));return(0,i.Qg)(l)?l.then((t=>t?e:null)):l?e:null};return t.requiresSiblings=!0,t}}return r}(n,e[n],t))).filter((e=>e!==S))),r=n.length;if(!r)return S;if(!n.some((e=>!!e.requiresSiblings))){if(1===r)return n[0];const e=function(e,t){let r;for(let s=0,o=n.length;s<o;s++){const o=n[s](e,t);if("string"==typeof o)return o;(0,i.Qg)(o)&&(r||(r=[]),r.push(o))}return r?(async()=>{for(const e of r){const t=await e;if("string"==typeof t)return t}return null})():null},t=n.find((e=>!!e.allBasenames));t&&(e.allBasenames=t.allBasenames);const s=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return s.length&&(e.allPaths=s),e}const s=function(e,t,r){let s,a;for(let l=0,h=n.length;l<h;l++){const h=n[l];h.requiresSiblings&&r&&(t||(t=(0,o.P8)(e)),s||(s=t.substr(0,t.length-(0,o.LC)(e).length)));const c=h(e,t,s,r);if("string"==typeof c)return c;(0,i.Qg)(c)&&(a||(a=[]),a.push(c))}return a?(async()=>{for(const e of a){const t=await e;if("string"==typeof t)return t}return null})():null},a=n.find((e=>!!e.allBasenames));a&&(s.allBasenames=a.allBasenames);const l=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);l.length&&(s.allPaths=l);return s}(e,t)}function D(e,t){const n=e.filter((e=>!!e.basenames));if(n.length<2)return e;const i=n.reduce(((e,t)=>{const n=t.basenames;return n?e.concat(n):e}),[]);let r;if(t){r=[];for(let e=0,n=i.length;e<n;e++)r.push(t)}else r=n.reduce(((e,t)=>{const n=t.patterns;return n?e.concat(n):e}),[]);const s=function(e,t){if("string"!=typeof e)return null;if(!t){let n;for(n=e.length;n>0;n--){const t=e.charCodeAt(n-1);if(47===t||92===t)break}t=e.substr(n)}const n=i.indexOf(t);return-1!==n?r[n]:null};s.basenames=i,s.patterns=r,s.allBasenames=i;const o=e.filter((e=>!e.basenames));return o.push(s),o}},2344:(e,t,n)=>{"use strict";n.d(t,{e2:()=>o,sN:()=>r,v7:()=>c});var i=n(6844);function r(e,t){switch(typeof e){case"object":return null===e?s(349,t):Array.isArray(e)?(n=e,i=s(104579,i=t),n.reduce(((e,t)=>r(t,e)),i)):function(e,t){return t=s(181387,t),Object.keys(e).sort().reduce(((t,n)=>(t=o(n,t),r(e[n],t))),t)}(e,t);case"string":return o(e,t);case"boolean":return function(e,t){return s(e?433:863,t)}(e,t);case"number":return s(e,t);case"undefined":return s(937,t);default:return s(617,t)}var n,i}function s(e,t){return(t<<5)-t+e|0}function o(e,t){t=s(149417,t);for(let n=0,i=e.length;n<i;n++)t=s(e.charCodeAt(n),t);return t}function a(e,t,n=32){const i=n-t;return(e<<t|(~((1<<i)-1)&e)>>>i)>>>0}function l(e,t=0,n=e.byteLength,i=0){for(let r=0;r<n;r++)e[t+r]=i}function h(e,t=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,"0"))).join(""):function(e,t,n="0"){for(;e.length<t;)e=n+e;return e}((e>>>0).toString(16),t/4)}class c{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let r,s,o=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(r=a,s=-1,a=0):(r=e.charCodeAt(0),s=0);;){let l=r;if(i.pc(r)){if(!(s+1<t)){a=r;break}{const t=e.charCodeAt(s+1);i.LJ(t)?(s++,l=i.z_(r,t)):l=65533}}else i.LJ(r)&&(l=65533);if(o=this._push(n,o,l),s++,!(s<t))break;r=e.charCodeAt(s)}this._buffLen=o,this._leftoverHighSurrogate=a}_push(e,t,n){return n<128?e[t++]=n:n<2048?(e[t++]=192|(1984&n)>>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),h(this._h0)+h(this._h1)+h(this._h2)+h(this._h3)+h(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,l(this._buff,this._buffLen),this._buffLen>56&&(this._step(),l(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=c._bigBlock32,t=this._buffDV;for(let a=0;a<64;a+=4)e.setUint32(a,t.getUint32(a,!1),!1);for(let c=64;c<320;c+=4)e.setUint32(c,a(e.getUint32(c-12,!1)^e.getUint32(c-32,!1)^e.getUint32(c-56,!1)^e.getUint32(c-64,!1),1),!1);let n,i,r,s=this._h0,o=this._h1,l=this._h2,h=this._h3,u=this._h4;for(let c=0;c<80;c++)c<20?(n=o&l|~o&h,i=1518500249):c<40?(n=o^l^h,i=1859775393):c<60?(n=o&l|o&h|l&h,i=2400959708):(n=o^l^h,i=3395469782),r=a(s,5)+n+u+i+e.getUint32(4*c,!1)&4294967295,u=h,h=l,l=a(o,30),o=s,s=r;this._h0=this._h0+s&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+h&4294967295,this._h4=this._h4+u&4294967295}}},7954:(e,t,n)=>{"use strict";var i;n.d(t,{f:()=>i}),function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const n=Object.freeze([]);function*i(e){yield e}e.empty=function(){return n},e.single=i,e.wrap=function(e){return t(e)?e:i(e)},e.from=function(e){return e||n},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let n=0;for(const i of e)if(t(i,n++))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const i of e)yield t(i,n++)},e.flatMap=function*(e,t){let n=0;for(const i of e)yield*t(i,n++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,n){let i=n;for(const r of e)i=t(i,r);return i},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]},e.consume=function(t,n=Number.POSITIVE_INFINITY){const i=[];if(0===n)return[i,t];const r=t[Symbol.iterator]();for(let s=0;s<n;s++){const t=r.next();if(t.done)return[i,e.empty()];i.push(t.value)}return[i,{[Symbol.iterator]:()=>r}]},e.asyncToArray=async function(e){const t=[];for await(const n of e)t.push(n);return Promise.resolve(t)}}(i||(i={}))},3946:(e,t,n)=>{"use strict";n.d(t,{d:()=>i});class i{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},2446:(e,t,n)=>{"use strict";function i(e,t){const n=this;let i,r=!1;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}n.d(t,{jG:()=>g,$w:()=>m,Cm:()=>d,HE:()=>f,qE:()=>c,AS:()=>h,VD:()=>a,s:()=>u,Ay:()=>o});var r=n(7954);let s=null;function o(e){return s?.trackDisposable(e),e}function a(e){s?.markAsDisposed(e)}function l(e,t){s?.setParent(e,t)}function h(e){if(r.f.is(e)){const n=[];for(const i of e)if(i)try{i.dispose()}catch(t){n.push(t)}if(1===n.length)throw n[0];if(n.length>1)throw new AggregateError(n,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function c(...e){const t=u((()=>h(e)));return function(e,t){if(s)for(const n of e)s.setParent(n,t)}(e,t),t}function u(e){const t=o({dispose:i((()=>{a(t),e()}))});return t}class d{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,o(this)}dispose(){this._isDisposed||(a(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{h(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return l(e,this),this._isDisposed?d.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),l(e,null))}}class g{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new d,o(this),l(this._store,this)}dispose(){a(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}class f{constructor(){this._isDisposed=!1,o(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&l(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,a(this),this._value?.dispose(),this._value=void 0}}class m{constructor(){this._store=new Map,this._isDisposed=!1,o(this)}dispose(){a(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{h(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,n=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},5525:(e,t,n)=>{"use strict";n.d(t,{w:()=>r});class i{static{this.Undefined=new i(void 0)}constructor(e){this.element=e,this.next=i.Undefined,this.prev=i.Undefined}}class r{constructor(){this._first=i.Undefined,this._last=i.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===i.Undefined}clear(){let e=this._first;for(;e!==i.Undefined;){const t=e.next;e.prev=i.Undefined,e.next=i.Undefined,e=t}this._first=i.Undefined,this._last=i.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new i(e);if(this._first===i.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==i.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==i.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==i.Undefined&&e.next!==i.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===i.Undefined&&e.next===i.Undefined?(this._first=i.Undefined,this._last=i.Undefined):e.next===i.Undefined?(this._last=this._last.prev,this._last.next=i.Undefined):e.prev===i.Undefined&&(this._first=this._first.next,this._first.prev=i.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==i.Undefined;)yield e.element,e=e.next}}},7992:(e,t,n)=>{"use strict";var i,r;n.d(t,{cO:()=>c,db:()=>u,fT:()=>o,qK:()=>h});class s{constructor(e,t){this.uri=e,this.value=t}}class o{static{this.defaultToKey=e=>e.toString()}constructor(e,t){if(this[i]="ResourceMap",e instanceof o)this.map=new Map(e.map),this.toKey=t??o.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=t??o.defaultToKey;for(const[t,n]of e)this.set(t,n)}else this.map=new Map,this.toKey=e??o.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new s(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[n,i]of this.map)e(i.value,i.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(i=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}class a{constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){const n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value}set(e,t,n=0){let i=this._map.get(e);if(i)i.value=t,0!==n&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case 0:case 2:default:this.addItemLast(i);break;case 1:this.addItemFirst(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}class l extends a{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class h extends l{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class c{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,n]of e)this.set(t,n)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class u{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){const n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))}forEach(e,t){const n=this.map.get(e);n&&n.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}},3720:(e,t,n)=>{"use strict";n.d(t,{K:()=>i});const i=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})},3072:(e,t,n)=>{"use strict";n.d(t,{ny:()=>i,v$:()=>h,zl:()=>d});var i,r=n(4327),s=n(3339),o=n(6844),a=n(7264),l=n(1570);function h(e,t){return a.r.isUri(e)?(0,o.Q_)(e.scheme,t):(0,o.ns)(e,t+":")}!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",e.vscodeNotebookMetadata="vscode-notebook-metadata",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.commentsInput="comment",e.codeSetting="code-setting",e.outputChannel="output"}(i||(i={}));const c=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return l.SA.join(this._serverRootPath,i.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(c){return r.dz(c),e}const t=e.authority;let n=this._hosts[t];n&&-1!==n.indexOf(":")&&-1===n.indexOf("[")&&(n=`[${n}]`);const o=this._ports[t],l=this._connectionTokens[t];let h=`path=${encodeURIComponent(e.path)}`;return"string"==typeof l&&(h+=`&tkn=${encodeURIComponent(l)}`),a.r.from({scheme:s.HZ?this._preferredWebSchema:i.vscodeRemoteResource,authority:`${n}:${o}`,path:this._remoteResourcesPath,query:h})}};class u{static{this.FALLBACK_AUTHORITY="vscode-app"}asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===i.vscodeRemote?c.rewrite(e):e.scheme!==i.file||!s.ib&&s.lg!==`${i.vscodeFileResource}://${u.FALLBACK_AUTHORITY}`?e:e.with({scheme:i.vscodeFileResource,authority:e.authority||u.FALLBACK_AUTHORITY,query:null,fragment:null})}toUri(e,t){if(a.r.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return a.r.joinPath(a.r.parse(t,!0),e);const n=l.fj(t,e);return a.r.file(n)}return a.r.parse(t.toUrl(e))}}const d=new u;var g;!function(e){const t=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const n="vscode-coi";e.getHeadersFromQuery=function(e){let i;"string"==typeof e?i=new URL(e).searchParams:e instanceof URL?i=e.searchParams:a.r.isUri(e)&&(i=new URL(e.toString(!0)).searchParams);const r=i?.get(n);if(r)return t.get(r)},e.addSearchParam=function(e,t,i){if(!globalThis.crossOriginIsolated)return;const r=t&&i?"3":i?"2":"1";e instanceof URLSearchParams?e.set(n,r):e[n]=r}}(g||(g={}))},1386:(e,t,n)=>{"use strict";n.d(t,{V0:()=>r,aI:()=>i,kT:()=>s});Object.prototype.hasOwnProperty;function i(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,r;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(!i(e[n],t[n]))return!1}else{const s=[];for(r in e)s.push(r);s.sort();const o=[];for(r in t)o.push(r);if(o.sort(),!i(s,o))return!1;for(n=0;n<s.length;n++)if(!i(e[s[n]],t[s[n]]))return!1}return!0}function r(e){const t=[];for(const n of function(e){let t=[];for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}(e))"function"==typeof e[n]&&t.push(n);return t}function s(e,t){const n=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},i={};for(const r of e)i[r]=n(r);return i}},1570:(e,t,n)=>{"use strict";n.d(t,{P8:()=>I,pD:()=>N,LC:()=>T,fj:()=>S,S8:()=>y,SA:()=>w,V8:()=>E,hd:()=>x,Vn:()=>A,IN:()=>C});var i=n(3339);let r;const s=globalThis.vscode;if(void 0!==s&&void 0!==s.process){const e=s.process;r={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else r="undefined"!=typeof process&&"string"==typeof process?.versions?.node?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return i.uF?"win32":i.zx?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const o=r.cwd,a=r.env,l=r.platform,h=46,c=47,u=92,d=58;class g extends Error{constructor(e,t,n){let i;"string"==typeof t&&0===t.indexOf("not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be";const r=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${r} ${i} of type ${t}`;s+=". Received type "+typeof n,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function f(e,t){if("string"!=typeof e)throw new g(t,"string",e)}const m="win32"===l;function p(e){return e===c||e===u}function _(e){return e===c}function b(e){return e>=65&&e<=90||e>=97&&e<=122}function k(e,t,n,i){let r="",s=0,o=-1,a=0,l=0;for(let u=0;u<=e.length;++u){if(u<e.length)l=e.charCodeAt(u);else{if(i(l))break;l=c}if(i(l)){if(o===u-1||1===a);else if(2===a){if(r.length<2||2!==s||r.charCodeAt(r.length-1)!==h||r.charCodeAt(r.length-2)!==h){if(r.length>2){const e=r.lastIndexOf(n);-1===e?(r="",s=0):(r=r.slice(0,e),s=r.length-1-r.lastIndexOf(n)),o=u,a=0;continue}if(0!==r.length){r="",s=0,o=u,a=0;continue}}t&&(r+=r.length>0?`${n}..`:"..",s=2)}else r.length>0?r+=`${n}${e.slice(o+1,u)}`:r=e.slice(o+1,u),s=u-o-1;o=u,a=0}else l===h&&-1!==a?++a:a=-1}return r}function v(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new g(t,"Object",e)}(t,"pathObject");const n=t.dir||t.root,i=t.base||`${t.name||""}${r=t.ext,r?`${"."===r[0]?"":"."}${r}`:""}`;var r;return n?n===t.root?`${n}${i}`:`${n}${e}${i}`:i}const C={resolve(...e){let t="",n="",i=!1;for(let r=e.length-1;r>=-1;r--){let s;if(r>=0){if(s=e[r],f(s,`paths[${r}]`),0===s.length)continue}else 0===t.length?s=o():(s=a[`=${t}`]||o(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===u)&&(s=`${t}\\`));const l=s.length;let h=0,c="",g=!1;const m=s.charCodeAt(0);if(1===l)p(m)&&(h=1,g=!0);else if(p(m))if(g=!0,p(s.charCodeAt(1))){let e=2,t=e;for(;e<l&&!p(s.charCodeAt(e));)e++;if(e<l&&e!==t){const n=s.slice(t,e);for(t=e;e<l&&p(s.charCodeAt(e));)e++;if(e<l&&e!==t){for(t=e;e<l&&!p(s.charCodeAt(e));)e++;e!==l&&e===t||(c=`\\\\${n}\\${s.slice(t,e)}`,h=e)}}}else h=1;else b(m)&&s.charCodeAt(1)===d&&(c=s.slice(0,2),h=2,l>2&&p(s.charCodeAt(2))&&(g=!0,h=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(i){if(t.length>0)break}else if(n=`${s.slice(h)}\\${n}`,i=g,g&&t.length>0)break}return n=k(n,!i,"\\",p),i?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){f(e,"path");const t=e.length;if(0===t)return".";let n,i=0,r=!1;const s=e.charCodeAt(0);if(1===t)return _(s)?"\\":e;if(p(s))if(r=!0,p(e.charCodeAt(1))){let r=2,s=r;for(;r<t&&!p(e.charCodeAt(r));)r++;if(r<t&&r!==s){const o=e.slice(s,r);for(s=r;r<t&&p(e.charCodeAt(r));)r++;if(r<t&&r!==s){for(s=r;r<t&&!p(e.charCodeAt(r));)r++;if(r===t)return`\\\\${o}\\${e.slice(s)}\\`;r!==s&&(n=`\\\\${o}\\${e.slice(s,r)}`,i=r)}}}else i=1;else b(s)&&e.charCodeAt(1)===d&&(n=e.slice(0,2),i=2,t>2&&p(e.charCodeAt(2))&&(r=!0,i=3));let o=i<t?k(e.slice(i),!r,"\\",p):"";return 0!==o.length||r||(o="."),o.length>0&&p(e.charCodeAt(t-1))&&(o+="\\"),void 0===n?r?`\\${o}`:o:r?`${n}\\${o}`:`${n}${o}`},isAbsolute(e){f(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return p(n)||t>2&&b(n)&&e.charCodeAt(1)===d&&p(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let s=0;s<e.length;++s){const i=e[s];f(i,"path"),i.length>0&&(void 0===t?t=n=i:t+=`\\${i}`)}if(void 0===t)return".";let i=!0,r=0;if("string"==typeof n&&p(n.charCodeAt(0))){++r;const e=n.length;e>1&&p(n.charCodeAt(1))&&(++r,e>2&&(p(n.charCodeAt(2))?++r:i=!1))}if(i){for(;r<t.length&&p(t.charCodeAt(r));)r++;r>=2&&(t=`\\${t.slice(r)}`)}return C.normalize(t)},relative(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";const n=C.resolve(e),i=C.resolve(t);if(n===i)return"";if((e=n.toLowerCase())===(t=i.toLowerCase()))return"";let r=0;for(;r<e.length&&e.charCodeAt(r)===u;)r++;let s=e.length;for(;s-1>r&&e.charCodeAt(s-1)===u;)s--;const o=s-r;let a=0;for(;a<t.length&&t.charCodeAt(a)===u;)a++;let l=t.length;for(;l-1>a&&t.charCodeAt(l-1)===u;)l--;const h=l-a,c=o<h?o:h;let d=-1,g=0;for(;g<c;g++){const n=e.charCodeAt(r+g);if(n!==t.charCodeAt(a+g))break;n===u&&(d=g)}if(g!==c){if(-1===d)return i}else{if(h>c){if(t.charCodeAt(a+g)===u)return i.slice(a+g+1);if(2===g)return i.slice(a+g)}o>c&&(e.charCodeAt(r+g)===u?d=g:2===g&&(d=3)),-1===d&&(d=0)}let m="";for(g=r+d+1;g<=s;++g)g!==s&&e.charCodeAt(g)!==u||(m+=0===m.length?"..":"\\..");return a+=d,m.length>0?`${m}${i.slice(a,l)}`:(i.charCodeAt(a)===u&&++a,i.slice(a,l))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=C.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===u){if(t.charCodeAt(1)===u){const e=t.charCodeAt(2);if(63!==e&&e!==h)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(b(t.charCodeAt(0))&&t.charCodeAt(1)===d&&t.charCodeAt(2)===u)return`\\\\?\\${t}`;return e},dirname(e){f(e,"path");const t=e.length;if(0===t)return".";let n=-1,i=0;const r=e.charCodeAt(0);if(1===t)return p(r)?e:".";if(p(r)){if(n=i=1,p(e.charCodeAt(1))){let r=2,s=r;for(;r<t&&!p(e.charCodeAt(r));)r++;if(r<t&&r!==s){for(s=r;r<t&&p(e.charCodeAt(r));)r++;if(r<t&&r!==s){for(s=r;r<t&&!p(e.charCodeAt(r));)r++;if(r===t)return e;r!==s&&(n=i=r+1)}}}}else b(r)&&e.charCodeAt(1)===d&&(n=t>2&&p(e.charCodeAt(2))?3:2,i=n);let s=-1,o=!0;for(let a=t-1;a>=i;--a)if(p(e.charCodeAt(a))){if(!o){s=a;break}}else o=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&f(t,"suffix"),f(e,"path");let n,i=0,r=-1,s=!0;if(e.length>=2&&b(e.charCodeAt(0))&&e.charCodeAt(1)===d&&(i=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=i;--n){const l=e.charCodeAt(n);if(p(l)){if(!s){i=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(r=n):(o=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=i;--n)if(p(e.charCodeAt(n))){if(!s){i=n+1;break}}else-1===r&&(s=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname(e){f(e,"path");let t=0,n=-1,i=0,r=-1,s=!0,o=0;e.length>=2&&e.charCodeAt(1)===d&&b(e.charCodeAt(0))&&(t=i=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(p(t)){if(!s){i=a+1;break}}else-1===r&&(s=!1,r=a+1),t===h?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1)}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:v.bind(null,"\\"),parse(e){f(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let i=0,r=e.charCodeAt(0);if(1===n)return p(r)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(p(r)){if(i=1,p(e.charCodeAt(1))){let t=2,r=t;for(;t<n&&!p(e.charCodeAt(t));)t++;if(t<n&&t!==r){for(r=t;t<n&&p(e.charCodeAt(t));)t++;if(t<n&&t!==r){for(r=t;t<n&&!p(e.charCodeAt(t));)t++;t===n?i=t:t!==r&&(i=t+1)}}}}else if(b(r)&&e.charCodeAt(1)===d){if(n<=2)return t.root=t.dir=e,t;if(i=2,p(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;i=3}}i>0&&(t.root=e.slice(0,i));let s=-1,o=i,a=-1,l=!0,c=e.length-1,u=0;for(;c>=i;--c)if(r=e.charCodeAt(c),p(r)){if(!l){o=c+1;break}}else-1===a&&(l=!1,a=c+1),r===h?-1===s?s=c:1!==u&&(u=1):-1!==s&&(u=-1);return-1!==a&&(-1===s||0===u||1===u&&s===a-1&&s===o+1?t.base=t.name=e.slice(o,a):(t.name=e.slice(o,s),t.base=e.slice(o,a),t.ext=e.slice(s,a))),t.dir=o>0&&o!==i?e.slice(0,o-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},L=(()=>{if(m){const e=/\\/g;return()=>{const t=o().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>o()})(),w={resolve(...e){let t="",n=!1;for(let i=e.length-1;i>=-1&&!n;i--){const r=i>=0?e[i]:L();f(r,`paths[${i}]`),0!==r.length&&(t=`${r}/${t}`,n=r.charCodeAt(0)===c)}return t=k(t,!n,"/",_),n?`/${t}`:t.length>0?t:"."},normalize(e){if(f(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===c,n=e.charCodeAt(e.length-1)===c;return 0===(e=k(e,!t,"/",_)).length?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(f(e,"path"),e.length>0&&e.charCodeAt(0)===c),join(...e){if(0===e.length)return".";let t;for(let n=0;n<e.length;++n){const i=e[n];f(i,"path"),i.length>0&&(void 0===t?t=i:t+=`/${i}`)}return void 0===t?".":w.normalize(t)},relative(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";if((e=w.resolve(e))===(t=w.resolve(t)))return"";const n=e.length,i=n-1,r=t.length-1,s=i<r?i:r;let o=-1,a=0;for(;a<s;a++){const n=e.charCodeAt(1+a);if(n!==t.charCodeAt(1+a))break;n===c&&(o=a)}if(a===s)if(r>s){if(t.charCodeAt(1+a)===c)return t.slice(1+a+1);if(0===a)return t.slice(1+a)}else i>s&&(e.charCodeAt(1+a)===c?o=a:0===a&&(o=0));let l="";for(a=1+o+1;a<=n;++a)a!==n&&e.charCodeAt(a)!==c||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+o)}`},toNamespacedPath:e=>e,dirname(e){if(f(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===c;let n=-1,i=!0;for(let r=e.length-1;r>=1;--r)if(e.charCodeAt(r)===c){if(!i){n=r;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&f(t,"ext"),f(e,"path");let n,i=0,r=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const l=e.charCodeAt(n);if(l===c){if(!s){i=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(r=n):(o=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===c){if(!s){i=n+1;break}}else-1===r&&(s=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname(e){f(e,"path");let t=-1,n=0,i=-1,r=!0,s=0;for(let o=e.length-1;o>=0;--o){const a=e.charCodeAt(o);if(a!==c)-1===i&&(r=!1,i=o+1),a===h?-1===t?t=o:1!==s&&(s=1):-1!==t&&(s=-1);else if(!r){n=o+1;break}}return-1===t||-1===i||0===s||1===s&&t===i-1&&t===n+1?"":e.slice(t,i)},format:v.bind(null,"/"),parse(e){f(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===c;let i;n?(t.root="/",i=1):i=0;let r=-1,s=0,o=-1,a=!0,l=e.length-1,u=0;for(;l>=i;--l){const t=e.charCodeAt(l);if(t!==c)-1===o&&(a=!1,o=l+1),t===h?-1===r?r=l:1!==u&&(u=1):-1!==r&&(u=-1);else if(!a){s=l+1;break}}if(-1!==o){const i=0===s&&n?1:s;-1===r||0===u||1===u&&r===o-1&&r===s+1?t.base=t.name=e.slice(i,o):(t.name=e.slice(i,r),t.base=e.slice(i,o),t.ext=e.slice(r,o))}return s>0?t.dir=e.slice(0,s-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};w.win32=C.win32=C,w.posix=C.posix=w;const y=m?C.normalize:w.normalize,S=m?C.join:w.join,x=m?C.resolve:w.resolve,E=m?C.relative:w.relative,N=m?C.dirname:w.dirname,I=m?C.basename:w.basename,T=m?C.extname:w.extname,A=m?C.sep:w.sep},3339:(e,t,n)=>{"use strict";n.d(t,{H8:()=>P,HZ:()=>I,OS:()=>R,UP:()=>W,_p:()=>M,cm:()=>F,gm:()=>z,ib:()=>N,j9:()=>E,lg:()=>T,nr:()=>V,uF:()=>S,zx:()=>x});var i=n(7289);const r="en";let s,o,a=!1,l=!1,h=!1,c=!1,u=!1,d=!1,g=!1,f=!1,m=!1,p=!1,_=null,b=null,k=null;const v=globalThis;let C;void 0!==v.vscode&&void 0!==v.vscode.process?C=v.vscode.process:"undefined"!=typeof process&&"string"==typeof process?.versions?.node&&(C=process);const L="string"==typeof C?.versions?.electron,w=L&&"renderer"===C?.type;if("object"==typeof C){a="win32"===C.platform,l="darwin"===C.platform,h="linux"===C.platform,c=h&&!!C.env.SNAP&&!!C.env.SNAP_REVISION,g=L,m=!!C.env.CI||!!C.env.BUILD_ARTIFACTSTAGINGDIRECTORY,s=r,_=r;const e=C.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e);s=t.userLocale,b=t.osLocale,_=t.resolvedLanguage||r,k=t.languagePack?.translationsConfigFile}catch(q){}u=!0}else"object"!=typeof navigator||w?console.error("Unable to resolve platform."):(o=navigator.userAgent,a=o.indexOf("Windows")>=0,l=o.indexOf("Macintosh")>=0,f=(o.indexOf("Macintosh")>=0||o.indexOf("iPad")>=0||o.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,h=o.indexOf("Linux")>=0,p=o?.indexOf("Mobi")>=0,d=!0,_=i.i8()||r,s=navigator.language.toLowerCase(),b=s);let y=0;l?y=1:a?y=3:h&&(y=2);const S=a,x=l,E=h,N=u,I=d,T=d&&"function"==typeof v.importScripts?v.origin:void 0,A=o,D="function"==typeof v.postMessage&&!v.importScripts,M=(()=>{if(D){const e=[];v.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,i=e.length;n<i;n++){const i=e[n];if(i.id===t.data.vscodeScheduleAsyncWork)return e.splice(n,1),void i.callback()}}));let t=0;return n=>{const i=++t;e.push({id:i,callback:n}),v.postMessage({vscodeScheduleAsyncWork:i},"*")}}return e=>setTimeout(e)})(),R=l||f?2:a?1:3;let O=!0,B=!1;function F(){if(!B){B=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);O=513===t[0]}return O}const P=!!(A&&A.indexOf("Chrome")>=0),z=!!(A&&A.indexOf("Firefox")>=0),V=!!(!P&&A&&A.indexOf("Safari")>=0),W=!!(A&&A.indexOf("Edg/")>=0);A&&A.indexOf("Android")},2467:(e,t,n)=>{"use strict";n.d(t,{B6:()=>m,P8:()=>d});var i=n(8518),r=n(3072),s=n(1570),o=n(3339),a=n(6844),l=n(7264);function h(e){return(0,l.I)(e,!0)}class c{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:(0,a.UD)(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===r.ny.file)return i._1(h(e),h(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(g(e.authority,t.authority))return i._1(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return l.r.joinPath(e,...t)}basenameOrAuthority(e){return d(e)||e.authority}basename(e){return s.SA.basename(e.path)}extname(e){return s.SA.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===r.ny.file?t=l.r.file(s.pD(h(e))).path:(t=s.SA.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===r.ny.file?l.r.file(s.S8(h(e))).path:s.SA.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!g(e.authority,t.authority))return;if(e.scheme===r.ny.file){const n=s.V8(h(e),h(t));return o.uF?i.TH(n):n}let n=e.path||"/";const a=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(n.length,a.length);e<t&&(n.charCodeAt(e)===a.charCodeAt(e)||n.charAt(e).toLowerCase()===a.charAt(e).toLowerCase());e++);n=a.substr(0,e)+n.substr(e)}return s.SA.relative(n,a)}resolvePath(e,t){if(e.scheme===r.ny.file){const n=l.r.file(s.hd(h(e),t));return e.with({authority:n.authority,path:n.path})}return t=i.kb(t),e.with({path:s.SA.resolve(e.path,t)})}isAbsolutePath(e){return!!e.path&&"/"===e.path[0]}isEqualAuthority(e,t){return e===t||void 0!==e&&void 0!==t&&(0,a.Q_)(e,t)}hasTrailingPathSeparator(e,t=s.Vn){if(e.scheme===r.ny.file){const n=h(e);return n.length>i.Zn(n).length&&n[n.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=s.Vn){return f(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=s.Vn){let n=!1;if(e.scheme===r.ny.file){const r=h(e);n=void 0!==r&&r.length===i.Zn(r).length&&r[r.length-1]===t}else{t="/";const i=e.path;n=1===i.length&&47===i.charCodeAt(i.length-1)}return n||f(e,t)?e:e.with({path:e.path+"/"})}}const u=new c((()=>!1)),d=(new c((e=>e.scheme!==r.ny.file||!o.j9)),new c((e=>!0)),u.isEqual.bind(u),u.isEqualOrParent.bind(u),u.getComparisonKey.bind(u),u.basenameOrAuthority.bind(u),u.basename.bind(u)),g=(u.extname.bind(u),u.dirname.bind(u),u.joinPath.bind(u),u.normalizePath.bind(u),u.relativePath.bind(u),u.resolvePath.bind(u),u.isAbsolutePath.bind(u),u.isEqualAuthority.bind(u)),f=u.hasTrailingPathSeparator.bind(u);u.removeTrailingPathSeparator.bind(u),u.addTrailingPathSeparator.bind(u);var m;!function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,i]=e.split(":");t&&i&&n.set(t,i)}));const i=t.path.substring(0,t.path.indexOf(";"));return i&&n.set(e.META_DATA_MIME,i),n}}(m||(m={}))},3013:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const i=globalThis.performance&&"function"==typeof globalThis.performance.now;class r{static create(e){return new r(e)}constructor(e){this._now=i&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},6844:(e,t,n)=>{"use strict";n.d(t,{$X:()=>D,AV:()=>s,E_:()=>N,HG:()=>d,LJ:()=>L,LU:()=>B,NB:()=>l,OS:()=>h,Q_:()=>k,Ss:()=>R,UD:()=>f,Wv:()=>b,Z5:()=>y,_J:()=>A,aC:()=>T,bm:()=>a,eY:()=>c,jy:()=>o,km:()=>x,lT:()=>g,ne:()=>M,ns:()=>v,pc:()=>C,r_:()=>O,tk:()=>F,tl:()=>V,uz:()=>u,y_:()=>W,z_:()=>w});var i=n(6260),r=n(3946);function s(e){return!e||"string"!=typeof e||0===e.trim().length}function o(e){return e.replace(/[<>"'&]/g,(e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e}))}function a(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function l(e,t){if(!e||!t)return e;const n=t.length;if(0===n||0===e.length)return e;let i=0;for(;e.indexOf(t,i)===i;)i+=n;return e.substring(i)}function h(e,t,n={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=a(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let i="";return n.global&&(i+="g"),n.matchCase||(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),new RegExp(e,i)}function c(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)}function u(e){return e.split(/\r\n|\r|\n/)}function d(e){for(let t=0,n=e.length;t<n;t++){const n=e.charCodeAt(t);if(32!==n&&9!==n)return t}return-1}function g(e,t=e.length-1){for(let n=t;n>=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}function f(e,t){return e<t?-1:e>t?1:0}function m(e,t,n=0,i=e.length,r=0,s=t.length){for(;n<i&&r<s;n++,r++){const i=e.charCodeAt(n),s=t.charCodeAt(r);if(i<s)return-1;if(i>s)return 1}const o=i-n,a=s-r;return o<a?-1:o>a?1:0}function p(e,t,n=0,i=e.length,r=0,s=t.length){for(;n<i&&r<s;n++,r++){let o=e.charCodeAt(n),a=t.charCodeAt(r);if(o===a)continue;if(o>=128||a>=128)return m(e.toLowerCase(),t.toLowerCase(),n,i,r,s);_(o)&&(o-=32),_(a)&&(a-=32);const l=o-a;if(0!==l)return l}const o=i-n,a=s-r;return o<a?-1:o>a?1:0}function _(e){return e>=97&&e<=122}function b(e){return e>=65&&e<=90}function k(e,t){return e.length===t.length&&0===p(e,t)}function v(e,t){const n=t.length;return!(t.length>e.length)&&0===p(e,t,0,n)}function C(e){return 55296<=e&&e<=56319}function L(e){return 56320<=e&&e<=57343}function w(e,t){return t-56320+(e-55296<<10)+65536}function y(e,t,n){const i=e.charCodeAt(n);if(C(i)&&n+1<t){const t=e.charCodeAt(n+1);if(L(t))return w(i,t)}return i}class S{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=function(e,t){const n=e.charCodeAt(t-1);if(L(n)&&t>1){const i=e.charCodeAt(t-2);if(C(i))return w(i,n)}return n}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=y(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class x{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new S(e,t)}nextGraphemeLength(){const e=z.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const n=t.offset,r=e.getGraphemeBreakType(t.nextCodePoint());if(P(i,r)){t.setOffset(n);break}i=r}return t.offset-n}prevGraphemeLength(){const e=z.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const n=t.offset,r=e.getGraphemeBreakType(t.prevCodePoint());if(P(r,i)){t.setOffset(n);break}i=r}return n-t.offset}eol(){return this._iterator.eol()}}let E;function N(e){return E||(E=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),E.test(e)}const I=/^[\t\n\r\x20-\x7E]*$/;function T(e){return I.test(e)}const A=/[\u2028\u2029]/;function D(e){return A.test(e)}function M(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function R(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const O=String.fromCharCode(65279);function B(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function F(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function P(e,t){return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}class z{static{this._INSTANCE=null}static getInstance(){return z._INSTANCE||(z._INSTANCE=new z),z._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let i=1;for(;i<=n;)if(e<t[3*i])i*=2;else{if(!(e>t[3*i+1]))return t[3*i+2];i=2*i+1}return 0}}class V{static{this.ambiguousCharacterData=new r.d((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')))}static{this.cache=new i.o5({getCacheKey:JSON.stringify},(e=>{function t(e){const t=new Map;for(let n=0;n<e.length;n+=2)t.set(e[n],e[n+1]);return t}function n(e,t){if(!e)return t;const n=new Map;for(const[i,r]of e)t.has(i)&&n.set(i,r);return n}const i=this.ambiguousCharacterData.value;let r,s=e.filter((e=>!e.startsWith("_")&&e in i));0===s.length&&(s=["_default"]);for(const a of s){r=n(r,t(i[a]))}const o=function(e,t){const n=new Map(e);for(const[i,r]of t)n.set(i,r);return n}(t(i._common),r);return new V(o)}))}static getInstance(e){return V.cache.get(Array.from(e))}static{this._locales=new r.d((()=>Object.keys(V.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))))}static getLocales(){return V._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class W{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(W.getRawData())),this._data}static isInvisibleCharacter(e){return W.getData().has(e)}static get codePoints(){return W.getData()}}},9359:(e,t,n)=>{"use strict";function i(e){return"string"==typeof e}function r(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function s(e){return void 0===e}function o(e){return s(e)||null===e}n.d(t,{Gv:()=>r,Kg:()=>i,b0:()=>s,z:()=>o})},7512:(e,t,n)=>{"use strict";function i(e){return e<0?0:e>255?255:0|e}function r(e){return e<0?0:e>4294967295?4294967295:0|e}n.d(t,{W:()=>i,j:()=>r})},7264:(e,t,n)=>{"use strict";n.d(t,{I:()=>_,r:()=>u});var i=n(1570),r=n(3339);const s=/^\w[\w\d+.-]*$/,o=/^\//,a=/^\/\//;const l="",h="/",c=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class u{static isUri(e){return e instanceof u||!!e&&("string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString)}constructor(e,t,n,i,r,c=!1){"object"==typeof e?(this.scheme=e.scheme||l,this.authority=e.authority||l,this.path=e.path||l,this.query=e.query||l,this.fragment=e.fragment||l):(this.scheme=function(e,t){return e||t?e:"file"}(e,c),this.authority=t||l,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||l),this.query=i||l,this.fragment=r||l,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!s.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!o.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,c))}get fsPath(){return _(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:i,query:r,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=l),void 0===n?n=this.authority:null===n&&(n=l),void 0===i?i=this.path:null===i&&(i=l),void 0===r?r=this.query:null===r&&(r=l),void 0===s?s=this.fragment:null===s&&(s=l),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new g(t,n,i,r,s)}static parse(e,t=!1){const n=c.exec(e);return n?new g(n[2]||l,C(n[4]||l),C(n[5]||l),C(n[7]||l),C(n[9]||l),t):new g(l,l,l,l,l)}static file(e){let t=l;if(r.uF&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){const n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new g("file",t,e,l,l)}static from(e,t){return new g(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=r.uF&&"file"===e.scheme?u.file(i.IN.join(_(e,!0),...t)).path:i.SA.join(e.path,...t),e.with({path:n})}toString(e=!1){return b(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof u)return e;{const t=new g(e);return t._formatted=e.external??null,t._fsPath=e._sep===d?e.fsPath??null:null,t}}return e}}const d=r.uF?1:void 0;class g extends u{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=_(this,!1)),this._fsPath}toString(e=!1){return e?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const f={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function m(e,t,n){let i,r=-1;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==r&&(i+=encodeURIComponent(e.substring(r,s)),r=-1),void 0!==i&&(i+=e.charAt(s));else{void 0===i&&(i=e.substr(0,s));const t=f[o];void 0!==t?(-1!==r&&(i+=encodeURIComponent(e.substring(r,s)),r=-1),i+=t):-1===r&&(r=s)}}return-1!==r&&(i+=encodeURIComponent(e.substring(r))),void 0!==i?i:e}function p(e){let t;for(let n=0;n<e.length;n++){const i=e.charCodeAt(n);35===i||63===i?(void 0===t&&(t=e.substr(0,n)),t+=f[i]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function _(e,t){let n;return n=e.authority&&e.path.length>1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,r.uF&&(n=n.replace(/\//g,"\\")),n}function b(e,t){const n=t?p:m;let i="",{scheme:r,authority:s,path:o,query:a,fragment:l}=e;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?i+=n(t,!1,!1):(i+=n(t.substr(0,e),!1,!1),i+=":",i+=n(t.substr(e+1),!1,!0)),i+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?i+=n(s,!1,!0):(i+=n(s.substr(0,e),!1,!0),i+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}i+=n(o,!0,!1)}return a&&(i+="?",i+=n(a,!1,!1)),l&&(i+="#",i+=t?l:m(l,!1,!1)),i}function k(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+k(e.substr(3)):e}}const v=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(v)?e.replace(v,(e=>k(e))):e}},5585:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SimpleWorkerClient:()=>k,SimpleWorkerServer:()=>L,create:()=>w,logOnceWebWorkerWarning:()=>d});var i=n(4327),r=n(2106),s=n(2446),o=n(3072),a=n(3339),l=n(6844);const h="default",c="$initialize";let u=!1;function d(e){a.HZ&&(u||(u=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(e.message))}class g{constructor(e,t,n,i,r){this.vsWorker=e,this.req=t,this.channel=n,this.method=i,this.args=r,this.type=0}}class f{constructor(e,t,n,i){this.vsWorker=e,this.seq=t,this.res=n,this.err=i,this.type=1}}class m{constructor(e,t,n,i,r){this.vsWorker=e,this.req=t,this.channel=n,this.eventName=i,this.arg=r,this.type=2}}class p{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}}class _{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class b{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,n){const i=String(++this._lastSentReq);return new Promise(((r,s)=>{this._pendingReplies[i]={resolve:r,reject:s},this._send(new g(this._workerId,i,e,t,n))}))}listen(e,t,n){let i=null;const s=new r.vl({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,s),this._send(new m(this._workerId,i,e,t,n))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new _(this._workerId,i)),i=null}});return s.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}createProxyToRemoteChannel(e,t){const n={get:(n,i)=>("string"!=typeof i||n[i]||(C(i)?n[i]=t=>this.listen(e,i,t):v(i)?n[i]=this.listen(e,i,void 0):36===i.charCodeAt(0)&&(n[i]=async(...n)=>(await(t?.()),this.sendMessage(e,i,n)))),n[i])};return new Proxy(Object.create(null),n)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;return e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),void t.reject(n)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then((e=>{this._send(new f(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=(0,i.cU)(e.detail)),this._send(new f(this._workerId,t,void 0,(0,i.cU)(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,n=this._handler.handleEvent(e.channel,e.eventName,e.arg)((e=>{this._send(new p(this._workerId,t,e))}));this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let n=0;n<e.args.length;n++)e.args[n]instanceof ArrayBuffer&&t.push(e.args[n]);else 1===e.type&&e.res instanceof ArrayBuffer&&t.push(e.res);this._handler.sendMessage(e,t)}}class k extends s.jG{constructor(e,t){super(),this._localChannels=new Map,this._worker=this._register(e.create({amdModuleId:"vs/base/common/worker/simpleWorker",esmModuleLocation:t.esmModuleLocation,label:t.label},(e=>{this._protocol.handleMessage(e)}),(e=>{(0,i.dz)(e)}))),this._protocol=new b({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)}),this._protocol.setWorkerId(this._worker.getId());let n=null;const r=globalThis.require;void 0!==r&&"function"==typeof r.getConfig?n=r.getConfig():void 0!==globalThis.requirejs&&(n=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(h,c,[this._worker.getId(),JSON.parse(JSON.stringify(n)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(h,(async()=>{await this._onModuleLoaded})),this._onModuleLoaded.catch((e=>{this._onError("Worker failed to load "+t.amdModuleId,e)}))}_handleMessage(e,t,n){const i=this._localChannels.get(e);if(!i)return Promise.reject(new Error(`Missing channel ${e} on main thread`));if("function"!=typeof i[t])return Promise.reject(new Error(`Missing method ${t} on main thread channel ${e}`));try{return Promise.resolve(i[t].apply(i,n))}catch(r){return Promise.reject(r)}}_handleEvent(e,t,n){const i=this._localChannels.get(e);if(!i)throw new Error(`Missing channel ${e} on main thread`);if(C(t)){const r=i[t].call(i,n);if("function"!=typeof r)throw new Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return r}if(v(t)){const n=i[t];if("function"!=typeof n)throw new Error(`Missing event ${t} on main thread channel ${e}.`);return n}throw new Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}}function v(e){return"o"===e[0]&&"n"===e[1]&&l.Wv(e.charCodeAt(2))}function C(e){return/^onDynamic/.test(e)&&l.Wv(e.charCodeAt(9))}class L{constructor(e,t){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=t,this._requestHandler=null,this._protocol=new b({sendMessage:(t,n)=>{e(t,n)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t,n){if(e===h&&t===c)return this.initialize(n[0],n[1],n[2]);const i=e===h?this._requestHandler:this._localChannels.get(e);if(!i)return Promise.reject(new Error(`Missing channel ${e} on worker thread`));if("function"!=typeof i[t])return Promise.reject(new Error(`Missing method ${t} on worker thread channel ${e}`));try{return Promise.resolve(i[t].apply(i,n))}catch(r){return Promise.reject(r)}}_handleEvent(e,t,n){const i=e===h?this._requestHandler:this._localChannels.get(e);if(!i)throw new Error(`Missing channel ${e} on worker thread`);if(C(t)){const e=i[t].call(i,n);if("function"!=typeof e)throw new Error(`Missing dynamic event ${t} on request handler.`);return e}if(v(t)){const e=i[t];if("function"!=typeof e)throw new Error(`Missing event ${t} on request handler.`);return e}throw new Error(`Malformed event name ${t}`)}getChannel(e){if(!this._remoteChannels.has(e)){const t=this._protocol.createProxyToRemoteChannel(e);this._remoteChannels.set(e,t)}return this._remoteChannels.get(e)}async initialize(e,t,i){if(this._protocol.setWorkerId(e),!this._requestHandlerFactory){t&&(void 0!==t.baseUrl&&delete t.baseUrl,void 0!==t.paths&&void 0!==t.paths.vs&&delete t.paths.vs,void 0!==t.trustedTypesPolicy&&delete t.trustedTypesPolicy,t.catchError=!0,globalThis.require.config(t));{const e=o.zl.asBrowserUri(`${i}.js`).toString(!0);return n(5890)(`${e}`).then((e=>{if(this._requestHandler=e.create(this),!this._requestHandler)throw new Error("No RequestHandler!")}))}}this._requestHandler=this._requestHandlerFactory(this)}}function w(e){return new L(e,null)}},5890:(e,t,n)=>{var i={"./simpleWorker":5585,"./simpleWorker.js":5585,"monaco-editor/esm/vs/base/common/worker/simpleWorker":5585,"monaco-editor/esm/vs/base/common/worker/simpleWorker.js":5585};function r(e){return Promise.resolve().then((()=>{if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n(i[e])}))}r.keys=()=>Object.keys(i),r.id=5890,e.exports=r},7454:(e,t,n)=>{"use strict";n.d(t,{V:()=>r});var i=n(7512);class r{constructor(e){const t=(0,i.W)(e);this._defaultValue=t,this._asciiMap=r._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const n=(0,i.W)(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}},8295:(e,t,n)=>{"use strict";n.d(t,{AQ:()=>_,aZ:()=>p,l5:()=>C,lQ:()=>k,s7:()=>y,sH:()=>L,sN:()=>b,ss:()=>v,yI:()=>m,zp:()=>w});var i=n(7289),r=n(4901),s=n(9119),o=n(6001);const a=(0,s.x1A)("editor.lineHighlightBackground",null,i.kg("lineHighlight","Background color for the highlight of line at the cursor position.")),l=((0,s.x1A)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:s.b1q},i.kg("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),(0,s.x1A)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},i.kg("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},i.kg("rangeHighlightBorder","Background color of the border around highlighted ranges.")),(0,s.x1A)("editor.symbolHighlightBackground",{dark:s.Ubg,light:s.Ubg,hcDark:null,hcLight:null},i.kg("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},i.kg("symbolHighlightBorder","Background color of the border around highlighted symbols.")),(0,s.x1A)("editorCursor.foreground",{dark:"#AEAFAD",light:r.Q1.black,hcDark:r.Q1.white,hcLight:"#0F4A85"},i.kg("caret","Color of the editor cursor."))),h=(0,s.x1A)("editorCursor.background",null,i.kg("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),c=((0,s.x1A)("editorMultiCursor.primary.foreground",l,i.kg("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),(0,s.x1A)("editorMultiCursor.primary.background",h,i.kg("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),(0,s.x1A)("editorMultiCursor.secondary.foreground",l,i.kg("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),(0,s.x1A)("editorMultiCursor.secondary.background",h,i.kg("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),(0,s.x1A)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},i.kg("editorWhitespaces","Color of whitespace characters in the editor."))),u=((0,s.x1A)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:r.Q1.white,hcLight:"#292929"},i.kg("editorLineNumbers","Color of editor line numbers.")),(0,s.x1A)("editorIndentGuide.background",c,i.kg("editorIndentGuides","Color of the editor indentation guides."),!1,i.kg("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead."))),d=(0,s.x1A)("editorIndentGuide.activeBackground",c,i.kg("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,i.kg("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),g=((0,s.x1A)("editorIndentGuide.background1",u,i.kg("editorIndentGuides1","Color of the editor indentation guides (1).")),(0,s.x1A)("editorIndentGuide.background2","#00000000",i.kg("editorIndentGuides2","Color of the editor indentation guides (2).")),(0,s.x1A)("editorIndentGuide.background3","#00000000",i.kg("editorIndentGuides3","Color of the editor indentation guides (3).")),(0,s.x1A)("editorIndentGuide.background4","#00000000",i.kg("editorIndentGuides4","Color of the editor indentation guides (4).")),(0,s.x1A)("editorIndentGuide.background5","#00000000",i.kg("editorIndentGuides5","Color of the editor indentation guides (5).")),(0,s.x1A)("editorIndentGuide.background6","#00000000",i.kg("editorIndentGuides6","Color of the editor indentation guides (6).")),(0,s.x1A)("editorIndentGuide.activeBackground1",d,i.kg("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),(0,s.x1A)("editorIndentGuide.activeBackground2","#00000000",i.kg("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),(0,s.x1A)("editorIndentGuide.activeBackground3","#00000000",i.kg("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),(0,s.x1A)("editorIndentGuide.activeBackground4","#00000000",i.kg("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),(0,s.x1A)("editorIndentGuide.activeBackground5","#00000000",i.kg("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),(0,s.x1A)("editorIndentGuide.activeBackground6","#00000000",i.kg("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),(0,s.x1A)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:s.buw,hcLight:s.buw},i.kg("editorActiveLineNumber","Color of editor active line number"),!1,i.kg("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."))),f=((0,s.x1A)("editorLineNumber.activeForeground",g,i.kg("editorActiveLineNumber","Color of editor active line number")),(0,s.x1A)("editorLineNumber.dimmedForeground",null,i.kg("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed.")),(0,s.x1A)("editorRuler.foreground",{dark:"#5A5A5A",light:r.Q1.lightgrey,hcDark:r.Q1.white,hcLight:"#292929"},i.kg("editorRuler","Color of the editor rulers.")),(0,s.x1A)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},i.kg("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,s.x1A)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},i.kg("editorBracketMatchBackground","Background color behind matching brackets")),(0,s.x1A)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:s.b1q,hcLight:s.b1q},i.kg("editorBracketMatchBorder","Color for matching brackets boxes")),(0,s.x1A)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},i.kg("editorOverviewRulerBorder","Color of the overview ruler border.")),(0,s.x1A)("editorOverviewRuler.background",null,i.kg("editorOverviewRulerBackground","Background color of the editor overview ruler.")),(0,s.x1A)("editorGutter.background",s.YtV,i.kg("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,s.x1A)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:r.Q1.fromHex("#fff").transparent(.8),hcLight:s.b1q},i.kg("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),(0,s.x1A)("editorUnnecessaryCode.opacity",{dark:r.Q1.fromHex("#000a"),light:r.Q1.fromHex("#0007"),hcDark:null,hcLight:null},i.kg("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.")),(0,s.x1A)("editorGhostText.border",{dark:null,light:null,hcDark:r.Q1.fromHex("#fff").transparent(.8),hcLight:r.Q1.fromHex("#292929").transparent(.8)},i.kg("editorGhostTextBorder","Border color of ghost text in the editor.")),(0,s.x1A)("editorGhostText.foreground",{dark:r.Q1.fromHex("#ffffff56"),light:r.Q1.fromHex("#0007"),hcDark:null,hcLight:null},i.kg("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),(0,s.x1A)("editorGhostText.background",null,i.kg("editorGhostTextBackground","Background color of the ghost text in the editor.")),new r.Q1(new r.bU(0,122,204,.6))),m=((0,s.x1A)("editorOverviewRuler.rangeHighlightForeground",f,i.kg("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editorOverviewRuler.errorForeground",{dark:new r.Q1(new r.bU(255,18,18,.7)),light:new r.Q1(new r.bU(255,18,18,.7)),hcDark:new r.Q1(new r.bU(255,50,50,1)),hcLight:"#B5200D"},i.kg("overviewRuleError","Overview ruler marker color for errors."))),p=(0,s.x1A)("editorOverviewRuler.warningForeground",{dark:s.Hng,light:s.Hng,hcDark:s.Stt,hcLight:s.Stt},i.kg("overviewRuleWarning","Overview ruler marker color for warnings.")),_=(0,s.x1A)("editorOverviewRuler.infoForeground",{dark:s.pOz,light:s.pOz,hcDark:s.IIb,hcLight:s.IIb},i.kg("overviewRuleInfo","Overview ruler marker color for infos.")),b=(0,s.x1A)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},i.kg("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),k=(0,s.x1A)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},i.kg("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),v=(0,s.x1A)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},i.kg("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),C=(0,s.x1A)("editorBracketHighlight.foreground4","#00000000",i.kg("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),L=(0,s.x1A)("editorBracketHighlight.foreground5","#00000000",i.kg("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),w=(0,s.x1A)("editorBracketHighlight.foreground6","#00000000",i.kg("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),y=(0,s.x1A)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new r.Q1(new r.bU(255,18,18,.8)),light:new r.Q1(new r.bU(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},i.kg("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets."));(0,s.x1A)("editorBracketPairGuide.background1","#00000000",i.kg("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background2","#00000000",i.kg("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background3","#00000000",i.kg("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background4","#00000000",i.kg("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background5","#00000000",i.kg("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background6","#00000000",i.kg("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground1","#00000000",i.kg("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground2","#00000000",i.kg("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground3","#00000000",i.kg("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground4","#00000000",i.kg("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground5","#00000000",i.kg("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground6","#00000000",i.kg("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.x1A)("editorUnicodeHighlight.border",s.Hng,i.kg("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,s.x1A)("editorUnicodeHighlight.background",s.whs,i.kg("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));(0,o.zy)(((e,t)=>{const n=e.getColor(s.YtV),i=e.getColor(a),r=i&&!i.isTransparent()?i:n;r&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${r}; }`)}))},3902:(e,t,n)=>{"use strict";function i(e){let t=0,n=0,i=0,r=0;for(let s=0,o=e.length;s<o;s++){const a=e.charCodeAt(s);13===a?(0===t&&(n=s),t++,s+1<o&&10===e.charCodeAt(s+1)?(r|=2,s++):r|=3,i=s+1):10===a&&(r|=1,0===t&&(n=s),t++,i=s+1)}return 0===t&&(n=e.length),[t,n,e.length-i,r]}n.d(t,{W:()=>i})},9955:(e,t,n)=>{"use strict";n.d(t,{M:()=>a,S:()=>l});var i=n(4327),r=n(2532),s=n(8061),o=n(7393);class a{static fromRangeInclusive(e){return new a(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new l(e[0].slice());for(let n=1;n<e.length;n++)t=t.getUnion(new l(e[n].slice()));return t.ranges}static join(e){if(0===e.length)throw new i.D7("lineRanges cannot be empty");let t=e[0].startLineNumber,n=e[0].endLineNumberExclusive;for(let i=1;i<e.length;i++)t=Math.min(t,e[i].startLineNumber),n=Math.max(n,e[i].endLineNumberExclusive);return new a(t,n)}static ofLength(e,t){return new a(e,e+t)}static deserialize(e){return new a(e[0],e[1])}constructor(e,t){if(e>t)throw new i.D7(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&e<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(e){return new a(this.startLineNumber+e,this.endLineNumberExclusive+e)}deltaLength(e){return new a(this.startLineNumber,this.endLineNumberExclusive+e)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(e){return new a(Math.min(this.startLineNumber,e.startLineNumber),Math.max(this.endLineNumberExclusive,e.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(e){const t=Math.max(this.startLineNumber,e.startLineNumber),n=Math.min(this.endLineNumberExclusive,e.endLineNumberExclusive);if(t<=n)return new a(t,n)}intersectsStrict(e){return this.startLineNumber<e.endLineNumberExclusive&&e.startLineNumber<this.endLineNumberExclusive}overlapOrTouch(e){return this.startLineNumber<=e.endLineNumberExclusive&&e.startLineNumber<=this.endLineNumberExclusive}equals(e){return this.startLineNumber===e.startLineNumber&&this.endLineNumberExclusive===e.endLineNumberExclusive}toInclusiveRange(){return this.isEmpty?null:new s.Q(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new s.Q(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(e){const t=[];for(let n=this.startLineNumber;n<this.endLineNumberExclusive;n++)t.push(e(n));return t}forEach(e){for(let t=this.startLineNumber;t<this.endLineNumberExclusive;t++)e(t)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}includes(e){return this.startLineNumber<=e&&e<this.endLineNumberExclusive}toOffsetRange(){return new r.L(this.startLineNumber-1,this.endLineNumberExclusive-1)}}class l{constructor(e=[]){this._normalizedRanges=e}get ranges(){return this._normalizedRanges}addRange(e){if(0===e.length)return;const t=(0,o.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)this._normalizedRanges.splice(t,0,e);else if(t===n-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const i=this._normalizedRanges[t].join(this._normalizedRanges[n-1]).join(e);this._normalizedRanges.splice(t,n-t,i)}}contains(e){const t=(0,o.lx)(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=(0,o.lx)(this._normalizedRanges,(t=>t.startLineNumber<e.endLineNumberExclusive));return!!t&&t.endLineNumberExclusive>e.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let n=0,i=0,r=null;for(;n<this._normalizedRanges.length||i<e._normalizedRanges.length;){let s=null;if(n<this._normalizedRanges.length&&i<e._normalizedRanges.length){const t=this._normalizedRanges[n],r=e._normalizedRanges[i];t.startLineNumber<r.startLineNumber?(s=t,n++):(s=r,i++)}else n<this._normalizedRanges.length?(s=this._normalizedRanges[n],n++):(s=e._normalizedRanges[i],i++);null===r?r=s:r.endLineNumberExclusive>=s.startLineNumber?r=new a(r.startLineNumber,Math.max(r.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(r),r=s)}return null!==r&&t.push(r),new l(t)}subtractFrom(e){const t=(0,o.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)return new l([e]);const i=[];let r=e.startLineNumber;for(let s=t;s<n;s++){const e=this._normalizedRanges[s];e.startLineNumber>r&&i.push(new a(r,e.startLineNumber)),r=e.endLineNumberExclusive}return r<e.endLineNumberExclusive&&i.push(new a(r,e.endLineNumberExclusive)),new l(i)}toString(){return this._normalizedRanges.map((e=>e.toString())).join(", ")}getIntersection(e){const t=[];let n=0,i=0;for(;n<this._normalizedRanges.length&&i<e._normalizedRanges.length;){const r=this._normalizedRanges[n],s=e._normalizedRanges[i],o=r.intersect(s);o&&!o.isEmpty&&t.push(o),r.endLineNumberExclusive<s.endLineNumberExclusive?n++:i++}return new l(t)}getWithDelta(e){return new l(this._normalizedRanges.map((t=>t.delta(e))))}}},2532:(e,t,n)=>{"use strict";n.d(t,{L:()=>r});var i=n(4327);class r{static addRange(e,t){let n=0;for(;n<t.length&&t[n].endExclusive<e.start;)n++;let i=n;for(;i<t.length&&t[i].start<=e.endExclusive;)i++;if(n===i)t.splice(n,0,e);else{const s=Math.min(e.start,t[n].start),o=Math.max(e.endExclusive,t[i-1].endExclusive);t.splice(n,i-n,new r(s,o))}}static tryCreate(e,t){if(!(e>t))return new r(e,t)}static ofLength(e){return new r(0,e)}static ofStartAndLength(e,t){return new r(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new i.D7(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new r(this.start+e,this.endExclusive+e)}deltaStart(e){return new r(this.start+e,this.endExclusive)}deltaEnd(e){return new r(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new r(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const t=Math.max(this.start,e.start),n=Math.min(this.endExclusive,e.endExclusive);if(t<=n)return new r(t,n)}intersects(e){return Math.max(this.start,e.start)<Math.min(this.endExclusive,e.endExclusive)}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new i.D7(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new i.D7(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;t<this.endExclusive;t++)e(t)}}},5365:(e,t,n)=>{"use strict";n.d(t,{y:()=>i});class i{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new i(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return i.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return i.isBefore(this,e)}static isBefore(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<t.column}isBeforeOrEqual(e){return i.isBeforeOrEqual(this,e)}static isBeforeOrEqual(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<=t.column}static compare(e,t){const n=0|e.lineNumber,i=0|t.lineNumber;if(n===i){return(0|e.column)-(0|t.column)}return n-i}clone(){return new i(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(e){return new i(e.lineNumber,e.column)}static isIPosition(e){return e&&"number"==typeof e.lineNumber&&"number"==typeof e.column}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}},8061:(e,t,n)=>{"use strict";n.d(t,{Q:()=>r});var i=n(5365);class r{constructor(e,t,n,i){e>n||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}isEmpty(){return r.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return r.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>e.endColumn))}static strictContainsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<=e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>=e.endColumn))}containsRange(e){return r.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)))}strictContainsRange(e){return r.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}plusRange(e){return r.plusRange(this,e)}static plusRange(e,t){let n,i,s,o;return t.startLineNumber<e.startLineNumber?(n=t.startLineNumber,i=t.startColumn):t.startLineNumber===e.startLineNumber?(n=t.startLineNumber,i=Math.min(t.startColumn,e.startColumn)):(n=e.startLineNumber,i=e.startColumn),t.endLineNumber>e.endLineNumber?(s=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,o=e.endColumn),new r(n,i,s,o)}intersectRanges(e){return r.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,i=e.startColumn,s=e.endLineNumber,o=e.endColumn;const a=t.startLineNumber,l=t.startColumn,h=t.endLineNumber,c=t.endColumn;return n<a?(n=a,i=l):n===a&&(i=Math.max(i,l)),s>h?(s=h,o=c):s===h&&(o=Math.min(o,c)),n>s||n===s&&i>o?null:new r(n,i,s,o)}equalsRange(e){return r.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return r.getEndPosition(this)}static getEndPosition(e){return new i.y(e.endLineNumber,e.endColumn)}getStartPosition(){return r.getStartPosition(this)}static getStartPosition(e){return new i.y(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new r(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new r(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return r.collapseToStart(this)}static collapseToStart(e){return new r(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return r.collapseToEnd(this)}static collapseToEnd(e){return new r(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new r(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new r(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new r(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)}static areIntersecting(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn)}static compareRangesUsingStarts(e,t){if(e&&t){const n=0|e.startLineNumber,i=0|t.startLineNumber;if(n===i){const n=0|e.startColumn,i=0|t.startColumn;if(n===i){const n=0|e.endLineNumber,i=0|t.endLineNumber;if(n===i){return(0|e.endColumn)-(0|t.endColumn)}return n-i}return n-i}return n-i}return(e?1:0)-(t?1:0)}static compareRangesUsingEnds(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber}static spansMultipleLines(e){return e.endLineNumber>e.startLineNumber}toJSON(){return this}}},3702:(e,t,n)=>{"use strict";n.d(t,{L:()=>s});var i=n(5365),r=n(8061);class s extends r.Q{constructor(e,t,n,i){super(e,t,n,i),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=i}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return s.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new s(this.startLineNumber,this.startColumn,e,t):new s(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new i.y(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new i.y(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new s(e,t,this.endLineNumber,this.endColumn):new s(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new s(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new s(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new s(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new s(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,i=e.length;n<i;n++)if(!this.selectionsEqual(e[n],t[n]))return!1;return!0}static isISelection(e){return e&&"number"==typeof e.selectionStartLineNumber&&"number"==typeof e.selectionStartColumn&&"number"==typeof e.positionLineNumber&&"number"==typeof e.positionColumn}static createWithDirection(e,t,n,i,r){return 0===r?new s(e,t,n,i):new s(n,i,e,t)}}},8357:(e,t,n)=>{"use strict";n.d(t,{W:()=>s});var i=n(5365),r=n(8061);class s{static{this.zero=new s(0,0)}static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new s(0,t.column-e.column):new s(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return s.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,n=0;for(const i of e)"\n"===i?(t++,n=0):n++;return new s(t,n)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return 0===this.lineCount?new r.Q(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new r.Q(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new i.y(e.lineNumber,e.column+this.columnCount):new i.y(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}},8782:(e,t,n)=>{"use strict";n.d(t,{Io:()=>o,Ld:()=>s,Th:()=>l});var i=n(7954),r=n(5525);const s=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of"`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?")e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();function o(e){let t=s;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const a=new r.w;function l(e,t,n,r,s){if(t=o(t),s||(s=i.f.first(a)),n.length>s.maxLen){let i=e-s.maxLen/2;return i<0?i=0:r+=i,l(e,t,n=n.substring(i,e+s.maxLen/2),r,s)}const c=Date.now(),u=e-1-r;let d=-1,g=null;for(let i=1;!(Date.now()-c>=s.timeBudget);i++){const e=u-s.windowSize*i;t.lastIndex=Math.max(0,e);const r=h(t,n,u,d);if(!r&&g)break;if(g=r,e<=0)break;d=e}if(g){const e={word:g[0],startColumn:r+1+g.index,endColumn:r+1+g.index+g[0].length};return t.lastIndex=0,e}return null}function h(e,t,n,i){let r;for(;r=e.exec(t);){const t=r.index||0;if(t<=n&&e.lastIndex>=n)return r;if(i>0&&t>i)return null}return null}a.unshift({maxLen:1e3,windowSize:15,timeBudget:150})},5910:(e,t,n)=>{"use strict";n.d(t,{x:()=>i});class i{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),8&n&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const n=this.getForeground(e),i=this.getFontStyle(e);let r=`color: ${t[n]};`;1&i&&(r+="font-style: italic;"),2&i&&(r+="font-weight: bold;");let s="";return 4&i&&(s+=" underline"),8&i&&(s+=" line-through"),s&&(r+=`text-decoration:${s};`),r}static getPresentationFromMetadata(e){const t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&n),bold:Boolean(2&n),underline:Boolean(4&n),strikethrough:Boolean(8&n)}}}},9694:(e,t,n)=>{"use strict";n.d(t,{rY:()=>p,ou:()=>m,dG:()=>w,OB:()=>y});var i=n(8391),r=(n(7264),n(2106)),s=n(2446);class o{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new r.vl,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),(0,s.s)((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){this._factories.get(e)?.dispose();const n=new a(this,e,t);return this._factories.set(e,n),(0,s.s)((()=>{const t=this._factories.get(e);t&&t===n&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const n=this._factories.get(e);return!n||n.isResolved?null:(await n.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}class a extends s.jG{get isResolved(){return this._isResolved}constructor(e,t,n){super(),this._registry=e,this._languageId=t,this._factory=n,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}var l,h,c,u,d,g,f=n(7289);class m{constructor(e,t,n){this.offset=e,this.type=t,this.language=n,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class p{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}!function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(l||(l={})),function(e){const t=new Map;t.set(0,i.W.symbolMethod),t.set(1,i.W.symbolFunction),t.set(2,i.W.symbolConstructor),t.set(3,i.W.symbolField),t.set(4,i.W.symbolVariable),t.set(5,i.W.symbolClass),t.set(6,i.W.symbolStruct),t.set(7,i.W.symbolInterface),t.set(8,i.W.symbolModule),t.set(9,i.W.symbolProperty),t.set(10,i.W.symbolEvent),t.set(11,i.W.symbolOperator),t.set(12,i.W.symbolUnit),t.set(13,i.W.symbolValue),t.set(15,i.W.symbolEnum),t.set(14,i.W.symbolConstant),t.set(15,i.W.symbolEnum),t.set(16,i.W.symbolEnumMember),t.set(17,i.W.symbolKeyword),t.set(27,i.W.symbolSnippet),t.set(18,i.W.symbolText),t.set(19,i.W.symbolColor),t.set(20,i.W.symbolFile),t.set(21,i.W.symbolReference),t.set(22,i.W.symbolCustomColor),t.set(23,i.W.symbolFolder),t.set(24,i.W.symbolTypeParameter),t.set(25,i.W.account),t.set(26,i.W.issues),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for CompletionItemKind "+e),n=i.W.symbolProperty),n};const n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",27),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),e.fromString=function(e,t){let i=n.get(e);return void 0!==i||t||(i=9),i}}(h||(h={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(c||(c={}));!function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(u||(u={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(d||(d={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(g||(g={}));(0,f.kg)("Array","array"),(0,f.kg)("Boolean","boolean"),(0,f.kg)("Class","class"),(0,f.kg)("Constant","constant"),(0,f.kg)("Constructor","constructor"),(0,f.kg)("Enum","enumeration"),(0,f.kg)("EnumMember","enumeration member"),(0,f.kg)("Event","event"),(0,f.kg)("Field","field"),(0,f.kg)("File","file"),(0,f.kg)("Function","function"),(0,f.kg)("Interface","interface"),(0,f.kg)("Key","key"),(0,f.kg)("Method","method"),(0,f.kg)("Module","module"),(0,f.kg)("Namespace","namespace"),(0,f.kg)("Null","null"),(0,f.kg)("Number","number"),(0,f.kg)("Object","object"),(0,f.kg)("Operator","operator"),(0,f.kg)("Package","package"),(0,f.kg)("Property","property"),(0,f.kg)("String","string"),(0,f.kg)("Struct","struct"),(0,f.kg)("TypeParameter","type parameter"),(0,f.kg)("Variable","variable");var _,b,k,v,C;!function(e){const t=new Map;t.set(0,i.W.symbolFile),t.set(1,i.W.symbolModule),t.set(2,i.W.symbolNamespace),t.set(3,i.W.symbolPackage),t.set(4,i.W.symbolClass),t.set(5,i.W.symbolMethod),t.set(6,i.W.symbolProperty),t.set(7,i.W.symbolField),t.set(8,i.W.symbolConstructor),t.set(9,i.W.symbolEnum),t.set(10,i.W.symbolInterface),t.set(11,i.W.symbolFunction),t.set(12,i.W.symbolVariable),t.set(13,i.W.symbolConstant),t.set(14,i.W.symbolString),t.set(15,i.W.symbolNumber),t.set(16,i.W.symbolBoolean),t.set(17,i.W.symbolArray),t.set(18,i.W.symbolObject),t.set(19,i.W.symbolKey),t.set(20,i.W.symbolNull),t.set(21,i.W.symbolEnumMember),t.set(22,i.W.symbolStruct),t.set(23,i.W.symbolEvent),t.set(24,i.W.symbolOperator),t.set(25,i.W.symbolTypeParameter),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for SymbolKind "+e),n=i.W.symbolProperty),n}}(_||(_={}));class L{static{this.Comment=new L("comment")}static{this.Imports=new L("imports")}static{this.Region=new L("region")}static fromValue(e){switch(e){case"comment":return L.Comment;case"imports":return L.Imports;case"region":return L.Region}return new L(e)}constructor(e){this.value=e}}!function(e){e[e.AIGenerated=1]="AIGenerated"}(b||(b={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(k||(k={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&("string"==typeof e.id&&"string"==typeof e.title)}}(v||(v={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(C||(C={}));const w=new o,y=new o;var S;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(S||(S={}))},7922:(e,t,n)=>{"use strict";n.d(t,{L:()=>i});const i=(0,n(2399).u1)("languageService")},4957:(e,t,n)=>{"use strict";n.d(t,{W6:()=>l,vH:()=>h});var i=n(7289),r=n(2106),s=n(7167),o=n(3720),a=n(7142);const l=new class{constructor(){this._onDidChangeLanguages=new r.vl,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t<n;t++)if(this._languages[t]===e)return void this._languages.splice(t,1)}}}getLanguages(){return this._languages}};s.O.add("editor.modesRegistry",l);const h="plaintext";l.registerLanguage({id:h,extensions:[".txt"],aliases:[i.kg("plainText.alias","Plain Text"),"text"],mimetypes:[o.K.text]}),s.O.as(a.Fd.Configuration).registerDefaultConfigurations([{overrides:{"[plaintext]":{"editor.unicodeHighlight.ambiguousCharacters":!1,"editor.unicodeHighlight.invisibleCharacters":!1}}}])},6055:(e,t,n)=>{"use strict";n.d(t,{A5:()=>i,Dg:()=>l,F4:()=>d,L5:()=>u,Wo:()=>c,X2:()=>a,ZS:()=>r,nk:()=>h,vd:()=>g});var i,r,s,o=n(1386);!function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(i||(i={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(r||(r={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(s||(s={}));class a{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|e.tabSize),"tabSize"===e.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|e.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace),this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&(0,o.aI)(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class l{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function h(e){return e&&"function"==typeof e.read}class c{constructor(e,t,n,i,r,s){this.identifier=e,this.range=t,this.text=n,this.forceMoveMarkers=i,this.isAutoWhitespaceEdit=r,this._isTracked=s}}class u{constructor(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}class d{constructor(e,t,n){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=n}}function g(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},2389:(e,t,n)=>{"use strict";n.d(t,{lt:()=>u,W5:()=>p,hB:()=>f,dr:()=>d,wC:()=>m});var i=n(6844),r=n(7992),s=n(7454);class o extends s.V{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let n=0,i=e.length;n<i;n++)this.set(e.charCodeAt(n),2);this.set(32,1),this.set(9,1)}findPrevIntlWordBeforeOrAtOffset(e,t){let n=null;for(const i of this._getIntlSegmenterWordsOnLine(e)){if(i.index>t)break;n=i}return n}findNextIntlWordAtOrAfterOffset(e,t){for(const n of this._getIntlSegmenterWordsOnLine(e))if(!(n.index<t))return n;return null}_getIntlSegmenterWordsOnLine(e){return this._segmenter?(this._cachedLine===e||(this._cachedLine=e,this._cachedSegments=this._filterWordSegments(this._segmenter.segment(e))),this._cachedSegments):[]}_filterWordSegments(e){const t=[];for(const n of e)this._isWordLike(n)&&t.push(n);return t}_isWordLike(e){return!!e.isWordLike}}const a=new r.qK(10);var l=n(5365),h=n(8061),c=n(6055);class u{constructor(e,t,n,i){this.searchString=e,this.isRegex=t,this.matchCase=n,this.wordSeparators=i}parseSearchRequest(){if(""===this.searchString)return null;let e;e=this.isRegex?function(e){if(!e||0===e.length)return!1;for(let t=0,n=e.length;t<n;t++){const i=e.charCodeAt(t);if(10===i)return!0;if(92===i){if(t++,t>=n)break;const i=e.charCodeAt(t);if(110===i||114===i||87===i)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=i.OS(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(r){return null}if(!t)return null;let n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new c.L5(t,this.wordSeparators?function(e,t){const n=`${e}/${t.join(",")}`;let i=a.get(n);return i||(i=new o(e,t),a.set(n,i)),i}(this.wordSeparators,[]):null,n?this.searchString:null)}}function d(e,t,n){if(!n)return new c.Dg(e,null);const i=[];for(let r=0,s=t.length;r<s;r++)i[r]=t[r];return new c.Dg(e,i)}class g{constructor(e){const t=[];let n=0;for(let i=0,r=e.length;i<r;i++)10===e.charCodeAt(i)&&(t[n++]=i);this._lineFeedsOffsets=t}findLineFeedCountBeforeOffset(e){const t=this._lineFeedsOffsets;let n=0,i=t.length-1;if(-1===i)return 0;if(e<=t[0])return 0;for(;n<i;){const r=n+((i-n)/2|0);t[r]>=e?i=r-1:t[r+1]>=e?(n=r,i=r):n=r+1}return n+1}}class f{static findMatches(e,t,n,i,r){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,n,new p(s.wordSeparators,s.regex),i,r):this._doFindMatchesLineByLine(e,n,s,i,r):[]}static _getMultilineMatchRange(e,t,n,i,r,s){let o,a,l=0;if(i?(l=i.findLineFeedCountBeforeOffset(r),o=t+r+l):o=t+r,i){const e=i.findLineFeedCountBeforeOffset(r+s.length)-l;a=o+s.length+e}else a=o+s.length;const c=e.getPositionAt(o),u=e.getPositionAt(a);return new h.Q(c.lineNumber,c.column,u.lineNumber,u.column)}static _doFindMatchesMultiline(e,t,n,i,r){const s=e.getOffsetAt(t.getStartPosition()),o=e.getValueInRange(t,1),a="\r\n"===e.getEOL()?new g(o):null,l=[];let h,c=0;for(n.reset(0);h=n.next(o);)if(l[c++]=d(this._getMultilineMatchRange(e,s,o,a,h.index,h[0]),h,i),c>=r)return l;return l}static _doFindMatchesLineByLine(e,t,n,i,r){const s=[];let o=0;if(t.startLineNumber===t.endLineNumber){const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,i,r),s}const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,i,r);for(let l=t.startLineNumber+1;l<t.endLineNumber&&o<r;l++)o=this._findMatchesInLine(n,e.getLineContent(l),l,0,o,s,i,r);if(o<r){const a=e.getLineContent(t.endLineNumber).substring(0,t.endColumn-1);o=this._findMatchesInLine(n,a,t.endLineNumber,0,o,s,i,r)}return s}static _findMatchesInLine(e,t,n,i,r,s,o,a){const l=e.wordSeparators;if(!o&&e.simpleSearch){const o=e.simpleSearch,u=o.length,d=t.length;let g=-u;for(;-1!==(g=t.indexOf(o,g+u));)if((!l||m(l,t,d,g,u))&&(s[r++]=new c.Dg(new h.Q(n,g+1+i,n,g+1+u+i),null),r>=a))return r;return r}const u=new p(e.wordSeparators,e.regex);let g;u.reset(0);do{if(g=u.next(t),g&&(s[r++]=d(new h.Q(n,g.index+1+i,n,g.index+1+g[0].length+i),g,o),r>=a))return r}while(g);return r}static findNextMatch(e,t,n,i){const r=t.parseSearchRequest();if(!r)return null;const s=new p(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindNextMatchMultiline(e,n,s,i):this._doFindNextMatchLineByLine(e,n,s,i)}static _doFindNextMatchMultiline(e,t,n,i){const r=new l.y(t.lineNumber,1),s=e.getOffsetAt(r),o=e.getLineCount(),a=e.getValueInRange(new h.Q(r.lineNumber,r.column,o,e.getLineMaxColumn(o)),1),c="\r\n"===e.getEOL()?new g(a):null;n.reset(t.column-1);const u=n.next(a);return u?d(this._getMultilineMatchRange(e,s,a,c,u.index,u[0]),u,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new l.y(1,1),n,i):null}static _doFindNextMatchLineByLine(e,t,n,i){const r=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s),a=this._findFirstMatchInLine(n,o,s,t.column,i);if(a)return a;for(let l=1;l<=r;l++){const t=(s+l-1)%r,o=e.getLineContent(t+1),a=this._findFirstMatchInLine(n,o,t+1,1,i);if(a)return a}return null}static _findFirstMatchInLine(e,t,n,i,r){e.reset(i-1);const s=e.next(t);return s?d(new h.Q(n,s.index+1,n,s.index+1+s[0].length),s,r):null}static findPreviousMatch(e,t,n,i){const r=t.parseSearchRequest();if(!r)return null;const s=new p(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindPreviousMatchMultiline(e,n,s,i):this._doFindPreviousMatchLineByLine(e,n,s,i)}static _doFindPreviousMatchMultiline(e,t,n,i){const r=this._doFindMatchesMultiline(e,new h.Q(1,1,t.lineNumber,t.column),n,i,9990);if(r.length>0)return r[r.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new l.y(s,e.getLineMaxColumn(s)),n,i):null}static _doFindPreviousMatchLineByLine(e,t,n,i){const r=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s).substring(0,t.column-1),a=this._findLastMatchInLine(n,o,s,i);if(a)return a;for(let l=1;l<=r;l++){const t=(r+s-l-1)%r,o=e.getLineContent(t+1),a=this._findLastMatchInLine(n,o,t+1,i);if(a)return a}return null}static _findLastMatchInLine(e,t,n,i){let r,s=null;for(e.reset(0);r=e.next(t);)s=d(new h.Q(n,r.index+1,n,r.index+1+r[0].length),r,i);return s}}function m(e,t,n,i,r){return function(e,t,n,i,r){if(0===i)return!0;const s=t.charCodeAt(i-1);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(r>0){const n=t.charCodeAt(i);if(0!==e.get(n))return!0}return!1}(e,t,0,i,r)&&function(e,t,n,i,r){if(i+r===n)return!0;const s=t.charCodeAt(i+r);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(r>0){const n=t.charCodeAt(i+r-1);if(0!==e.get(n))return!0}return!1}(e,t,n,i,r)}class p{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(n=this._searchRegex.exec(e),!n)return null;const r=n.index,s=n[0].length;if(r===this._prevMatchStartIndex&&s===this._prevMatchLength){if(0===s){i.Z5(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=s,!this._wordSeparators||m(this._wordSeparators,e,t,r,s))return n}while(n);return null}}},1583:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KeyMod:()=>fe,createMonacoBaseAPI:()=>me});var i=n(8903),r=n(2106);class s{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const o=new s,a=new s,l=new s,h=new Array(230),c={},u=[],d=Object.create(null),g=Object.create(null),f=[],m=[];for(let pe=0;pe<=193;pe++)f[pe]=-1;for(let pe=0;pe<=132;pe++)m[pe]=-1;var p;!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],n=[],i=[];for(const r of t){const[e,t,s,p,_,b,k,v,C]=r;if(i[t]||(i[t]=!0,u[t]=s,d[s]=t,g[s.toLowerCase()]=t,e&&(f[t]=p,0!==p&&3!==p&&5!==p&&4!==p&&6!==p&&57!==p&&(m[p]=t))),!n[p]){if(n[p]=!0,!_)throw new Error(`String representation missing for key code ${p} around scan code ${s}`);o.define(p,_),a.define(p,v||_),l.define(p,C||v||_)}b&&(h[b]=p),k&&(c[k]=p)}m[3]=46}(),function(e){e.toString=function(e){return o.keyCodeToStr(e)},e.fromString=function(e){return o.strToKeyCode(e)},e.toUserSettingsUS=function(e){return a.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return l.keyCodeToStr(e)},e.fromUserSettings=function(e){return a.strToKeyCode(e)||l.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return o.keyCodeToStr(e)}}(p||(p={}));var _,b,k,v,C,L,w,y,S,x,E,N,I,T,A,D,M,R,O,B,F,P,z,V,W,q,H,U,j,K,$,G,Q,Y,X,Z,J,ee,te,ne,ie,re,se,oe,ae,le,he=n(7264),ce=n(5365),ue=n(8061),de=n(3702),ge=n(9694);!function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(_||(_={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(b||(b={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(k||(k={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(v||(v={})),function(e){e[e.Deprecated=1]="Deprecated"}(C||(C={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(L||(L={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(w||(w={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(y||(y={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(S||(S={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(x||(x={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(E||(E={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.placeholder=88]="placeholder",e[e.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",e[e.quickSuggestions=90]="quickSuggestions",e[e.quickSuggestionsDelay=91]="quickSuggestionsDelay",e[e.readOnly=92]="readOnly",e[e.readOnlyMessage=93]="readOnlyMessage",e[e.renameOnType=94]="renameOnType",e[e.renderControlCharacters=95]="renderControlCharacters",e[e.renderFinalNewline=96]="renderFinalNewline",e[e.renderLineHighlight=97]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=99]="renderValidationDecorations",e[e.renderWhitespace=100]="renderWhitespace",e[e.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",e[e.roundedSelection=102]="roundedSelection",e[e.rulers=103]="rulers",e[e.scrollbar=104]="scrollbar",e[e.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=106]="scrollBeyondLastLine",e[e.scrollPredominantAxis=107]="scrollPredominantAxis",e[e.selectionClipboard=108]="selectionClipboard",e[e.selectionHighlight=109]="selectionHighlight",e[e.selectOnLineNumbers=110]="selectOnLineNumbers",e[e.showFoldingControls=111]="showFoldingControls",e[e.showUnused=112]="showUnused",e[e.snippetSuggestions=113]="snippetSuggestions",e[e.smartSelect=114]="smartSelect",e[e.smoothScrolling=115]="smoothScrolling",e[e.stickyScroll=116]="stickyScroll",e[e.stickyTabStops=117]="stickyTabStops",e[e.stopRenderingLineAfter=118]="stopRenderingLineAfter",e[e.suggest=119]="suggest",e[e.suggestFontSize=120]="suggestFontSize",e[e.suggestLineHeight=121]="suggestLineHeight",e[e.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",e[e.suggestSelection=123]="suggestSelection",e[e.tabCompletion=124]="tabCompletion",e[e.tabIndex=125]="tabIndex",e[e.unicodeHighlighting=126]="unicodeHighlighting",e[e.unusualLineTerminators=127]="unusualLineTerminators",e[e.useShadowDOM=128]="useShadowDOM",e[e.useTabStops=129]="useTabStops",e[e.wordBreak=130]="wordBreak",e[e.wordSegmenterLocales=131]="wordSegmenterLocales",e[e.wordSeparators=132]="wordSeparators",e[e.wordWrap=133]="wordWrap",e[e.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=136]="wordWrapColumn",e[e.wordWrapOverride1=137]="wordWrapOverride1",e[e.wordWrapOverride2=138]="wordWrapOverride2",e[e.wrappingIndent=139]="wrappingIndent",e[e.wrappingStrategy=140]="wrappingStrategy",e[e.showDeprecated=141]="showDeprecated",e[e.inlayHints=142]="inlayHints",e[e.editorClassName=143]="editorClassName",e[e.pixelRatio=144]="pixelRatio",e[e.tabFocusMode=145]="tabFocusMode",e[e.layoutInfo=146]="layoutInfo",e[e.wrappingInfo=147]="wrappingInfo",e[e.defaultColorDecorators=148]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"}(N||(N={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(I||(I={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(T||(T={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(A||(A={})),function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(D||(D={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(M||(M={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(R||(R={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(O||(O={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(B||(B={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(F||(F={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(P||(P={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(z||(z={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(V||(V={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(W||(W={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(q||(q={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(H||(H={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(U||(U={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(j||(j={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(K||(K={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}($||($={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(G||(G={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(Q||(Q={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(Y||(Y={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(X||(X={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(Z||(Z={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(J||(J={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(ee||(ee={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(te||(te={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(ne||(ne={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(ie||(ie={})),function(e){e[e.Deprecated=1]="Deprecated"}(re||(re={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(se||(se={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(oe||(oe={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(ae||(ae={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(le||(le={}));class fe{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(e,t){return function(e,t){return(e|(65535&t)<<16>>>0)>>>0}(e,t)}}function me(){return{editor:void 0,languages:void 0,CancellationTokenSource:i.Qi,Emitter:r.vl,KeyCode:P,KeyMod:fe,Position:ce.y,Range:ue.Q,Selection:de.L,SelectionDirection:ee,MarkerSeverity:z,MarkerTag:V,Uri:he.r,Token:ge.ou}}},1684:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BaseEditorSimpleWorker:()=>Pe,EditorSimpleWorker:()=>ze,create:()=>Ve});class i{constructor(e,t,n,i){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=i}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}var r=n(2344);class s{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,i=e.length;n<i;n++)t[n]=e.charCodeAt(n);return t}}function o(e,t,n){return new c(new s(e),new s(t)).ComputeDiff(n).changes}class a{static Assert(e,t){if(!e)throw new Error(t)}}class l{static Copy(e,t,n,i,r){for(let s=0;s<r;s++)n[i+s]=e[t+s]}static Copy2(e,t,n,i,r){for(let s=0;s<r;s++)n[i+s]=e[t+s]}}class h{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new i(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class c{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[i,r,s]=c._getElements(e),[o,a,l]=c._getElements(t);this._hasStrings=s&&l,this._originalStringElements=i,this._originalElementsOrHash=r,this._modifiedStringElements=o,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(c._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,i=t.length;n<i;n++)e[n]=(0,r.e2)(t[n],0);return[t,e,!0]}return t instanceof Int32Array?[[],t,!1]:[[],new Int32Array(t),!1]}ElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._modifiedStringElements[t])}ElementsAreStrictEqual(e,t){if(!this.ElementsAreEqual(e,t))return!1;return c._getStrictElement(this._originalSequence,e)===c._getStrictElement(this._modifiedSequence,t)}static _getStrictElement(e,t){return"function"==typeof e.getStrictElement?e.getStrictElement(t):null}OriginalElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._originalElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._originalStringElements[t])}ModifiedElementsAreEqual(e,t){return this._modifiedElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._modifiedStringElements[e]===this._modifiedStringElements[t])}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,t,n,i,r){const s=[!1];let o=this.ComputeDiffRecursive(e,t,n,i,s);return r&&(o=this.PrettifyChanges(o)),{quitEarly:s[0],changes:o}}ComputeDiffRecursive(e,t,n,r,s){for(s[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){let s;return n<=r?(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s=[new i(e,0,n,r-n+1)]):e<=t?(a.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),s=[new i(e,t-e+1,n,0)]):(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),s=[]),s}const o=[0],l=[0],h=this.ComputeRecursionPoint(e,t,n,r,o,l,s),c=o[0],u=l[0];if(null!==h)return h;if(!s[0]){const o=this.ComputeDiffRecursive(e,c,n,u,s);let a=[];return a=s[0]?[new i(c+1,t-(c+1)+1,u+1,r-(u+1)+1)]:this.ComputeDiffRecursive(c+1,t,u+1,r,s),this.ConcatenateChanges(o,a)}return[new i(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,s,o,a,l,c,u,d,g,f,m,p,_,b,k){let v=null,C=null,L=new h,w=t,y=n,S=f[0]-_[0]-r,x=-1073741824,E=this.m_forwardHistory.length-1;do{const t=S+e;t===w||t<y&&c[t-1]<c[t+1]?(m=(d=c[t+1])-S-r,d<x&&L.MarkNextChange(),x=d,L.AddModifiedElement(d+1,m),S=t+1-e):(m=(d=c[t-1]+1)-S-r,d<x&&L.MarkNextChange(),x=d-1,L.AddOriginalElement(d,m+1),S=t-1-e),E>=0&&(e=(c=this.m_forwardHistory[E])[0],w=1,y=c.length-1)}while(--E>=-1);if(v=L.getReverseChanges(),k[0]){let e=f[0]+1,t=_[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}C=[new i(e,g-e+1,t,p-t+1)]}else{L=new h,w=o,y=a,S=f[0]-_[0]-l,x=1073741824,E=b?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=S+s;e===w||e<y&&u[e-1]>=u[e+1]?(m=(d=u[e+1]-1)-S-l,d>x&&L.MarkNextChange(),x=d+1,L.AddOriginalElement(d+1,m+1),S=e+1-s):(m=(d=u[e-1])-S-l,d>x&&L.MarkNextChange(),x=d,L.AddModifiedElement(d+1,m+1),S=e-1-s),E>=0&&(s=(u=this.m_reverseHistory[E])[0],w=1,y=u.length-1)}while(--E>=-1);C=L.getChanges()}return this.ConcatenateChanges(v,C)}ComputeRecursionPoint(e,t,n,r,s,o,a){let h=0,c=0,u=0,d=0,g=0,f=0;e--,n--,s[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const m=t-e+(r-n),p=m+1,_=new Int32Array(p),b=new Int32Array(p),k=r-n,v=t-e,C=e-n,L=t-r,w=(v-k)%2==0;_[k]=e,b[v]=t,a[0]=!1;for(let y=1;y<=m/2+1;y++){let m=0,S=0;u=this.ClipDiagonalBound(k-y,y,k,p),d=this.ClipDiagonalBound(k+y,y,k,p);for(let e=u;e<=d;e+=2){h=e===u||e<d&&_[e-1]<_[e+1]?_[e+1]:_[e-1]+1,c=h-(e-k)-C;const n=h;for(;h<t&&c<r&&this.ElementsAreEqual(h+1,c+1);)h++,c++;if(_[e]=h,h+c>m+S&&(m=h,S=c),!w&&Math.abs(e-v)<=y-1&&h>=b[e])return s[0]=h,o[0]=c,n<=b[e]&&y<=1448?this.WALKTRACE(k,u,d,C,v,g,f,L,_,b,h,t,s,c,r,o,w,a):null}const x=(m-e+(S-n)-y)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(m,x))return a[0]=!0,s[0]=m,o[0]=S,x>0&&y<=1448?this.WALKTRACE(k,u,d,C,v,g,f,L,_,b,h,t,s,c,r,o,w,a):(e++,n++,[new i(e,t-e+1,n,r-n+1)]);g=this.ClipDiagonalBound(v-y,y,v,p),f=this.ClipDiagonalBound(v+y,y,v,p);for(let i=g;i<=f;i+=2){h=i===g||i<f&&b[i-1]>=b[i+1]?b[i+1]-1:b[i-1],c=h-(i-v)-L;const l=h;for(;h>e&&c>n&&this.ElementsAreEqual(h,c);)h--,c--;if(b[i]=h,w&&Math.abs(i-k)<=y&&h<=_[i])return s[0]=h,o[0]=c,l>=_[i]&&y<=1448?this.WALKTRACE(k,u,d,C,v,g,f,L,_,b,h,t,s,c,r,o,w,a):null}if(y<=1447){let e=new Int32Array(d-u+2);e[0]=k-u+1,l.Copy2(_,u,e,1,d-u+1),this.m_forwardHistory.push(e),e=new Int32Array(f-g+2),e[0]=v-g+1,l.Copy2(b,g,e,1,f-g+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(k,u,d,C,v,g,f,L,_,b,h,t,s,c,r,o,w,a)}PrettifyChanges(e){for(let t=0;t<e.length;t++){const n=e[t],i=t<e.length-1?e[t+1].originalStart:this._originalElementsOrHash.length,r=t<e.length-1?e[t+1].modifiedStart:this._modifiedElementsOrHash.length,s=n.originalLength>0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength<i&&n.modifiedStart+n.modifiedLength<r&&(!s||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!o||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));){const e=this.ElementsAreStrictEqual(n.originalStart,n.modifiedStart);if(this.ElementsAreStrictEqual(n.originalStart+n.originalLength,n.modifiedStart+n.modifiedLength)&&!e)break;n.originalStart++,n.modifiedStart++}const a=[null];t<e.length-1&&this.ChangesOverlap(e[t],e[t+1],a)&&(e[t]=a[0],e.splice(t+1,1),t--)}for(let t=e.length-1;t>=0;t--){const n=e[t];let i=0,r=0;if(t>0){const n=e[t-1];i=n.originalStart+n.originalLength,r=n.modifiedStart+n.modifiedLength}const s=n.originalLength>0,o=n.modifiedLength>0;let a=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,h=n.modifiedStart-e;if(t<i||h<r)break;if(s&&!this.OriginalElementsAreEqual(t,t+n.originalLength))break;if(o&&!this.ModifiedElementsAreEqual(h,h+n.modifiedLength))break;const c=(t===i&&h===r?5:0)+this._boundaryScore(t,n.originalLength,h,n.modifiedLength);c>l&&(l=c,a=e)}n.originalStart-=a,n.modifiedStart-=a;const h=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],h)&&(e[t-1]=h[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t<n;t++){const n=e[t-1],i=e[t],r=i.originalStart-n.originalStart-n.originalLength,s=n.originalStart,o=i.originalStart+i.originalLength,a=o-s,l=n.modifiedStart,h=i.modifiedStart+i.modifiedLength,c=h-l;if(r<5&&a<20&&c<20){const e=this._findBetterContiguousSequence(s,a,l,c,r);if(e){const[t,s]=e;t===n.originalStart+n.originalLength&&s===n.modifiedStart+n.modifiedLength||(n.originalLength=t-n.originalStart,n.modifiedLength=s-n.modifiedStart,i.originalStart=t+r,i.modifiedStart=s+r,i.originalLength=o-i.originalStart,i.modifiedLength=h-i.modifiedStart)}}}return e}_findBetterContiguousSequence(e,t,n,i,r){if(t<r||i<r)return null;const s=e+t-r+1,o=n+i-r+1;let a=0,l=0,h=0;for(let c=e;c<s;c++)for(let e=n;e<o;e++){const t=this._contiguousSequenceScore(c,e,r);t>0&&t>a&&(a=t,l=c,h=e)}return a>0?[l,h]:null}_contiguousSequenceScore(e,t,n){let i=0;for(let r=0;r<n;r++){if(!this.ElementsAreEqual(e+r,t+r))return 0;i+=this._originalStringElements[e+r].length}return i}_OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)}ConcatenateChanges(e,t){const n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const i=new Array(e.length+t.length-1);return l.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],l.Copy(t,1,i,e.length,t.length-1),i}{const n=new Array(e.length+t.length);return l.Copy(e,0,n,0,e.length),l.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(a.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),a.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const r=e.originalStart;let s=e.originalLength;const o=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new i(r,s,o,a),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,i){if(e>=0&&e<i)return e;const r=t%2==0;if(e<0){return r===(n%2==0)?0:1}return r===((i-n-1)%2==0)?i-1:i-2}}var u=n(8061),d=n(7454);class g{constructor(e,t,n){const i=new Uint8Array(e*t);for(let r=0,s=e*t;r<s;r++)i[r]=n;this._data=i,this.rows=e,this.cols=t}get(e,t){return this._data[e*this.cols+t]}set(e,t,n){this._data[e*this.cols+t]=n}}class f{constructor(e){let t=0,n=0;for(let r=0,s=e.length;r<s;r++){const[i,s,o]=e[r];s>t&&(t=s),i>n&&(n=i),o>n&&(n=o)}t++,n++;const i=new g(n,t,0);for(let r=0,s=e.length;r<s;r++){const[t,n,s]=e[r];i.set(t,n,s)}this._states=i,this._maxCharCode=t}nextState(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)}}let m=null;let p=null;class _{static _createLink(e,t,n,i,r){let s=r-1;do{const n=t.charCodeAt(s);if(2!==e.get(n))break;s--}while(s>i);if(i>0){const e=t.charCodeAt(i-1),n=t.charCodeAt(s);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&s--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:s+2},url:t.substring(i,s+1)}}static computeLinks(e,t=function(){return null===m&&(m=new f([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),m}()){const n=function(){if(null===p){p=new d.V(0);const e=" \t<>'\"\u3001\u3002\uff61\uff64\uff0c\uff0e\uff1a\uff1b\u2018\u3008\u300c\u300e\u3014\uff08\uff3b\uff5b\uff62\uff63\uff5d\uff3d\uff09\u3015\u300f\u300d\u3009\u2019\uff40\uff5e\u2026";for(let n=0;n<e.length;n++)p.set(e.charCodeAt(n),1);const t=".,;:";for(let n=0;n<t.length;n++)p.set(t.charCodeAt(n),2)}return p}(),i=[];for(let r=1,s=e.getLineCount();r<=s;r++){const s=e.getLineContent(r),o=s.length;let a=0,l=0,h=0,c=1,u=!1,d=!1,g=!1,f=!1;for(;a<o;){let e=!1;const o=s.charCodeAt(a);if(13===c){let t;switch(o){case 40:u=!0,t=0;break;case 41:t=u?0:1;break;case 91:g=!0,d=!0,t=0;break;case 93:g=!1,t=d?0:1;break;case 123:f=!0,t=0;break;case 125:t=f?0:1;break;case 39:case 34:case 96:t=h===o?1:39===h||34===h||96===h?0:1;break;case 42:t=42===h?1:0;break;case 124:t=124===h?1:0;break;case 32:t=g?0:1;break;default:t=n.get(o)}1===t&&(i.push(_._createLink(n,s,r,l,a)),e=!0)}else if(12===c){let t;91===o?(d=!0,t=0):t=n.get(o),1===t?e=!0:c=13}else c=t.nextState(c,o),0===c&&(e=!0);e&&(c=1,u=!1,d=!1,f=!1,l=a+1,h=o),a++}13===c&&i.push(_._createLink(n,s,r,l,o))}return i}}class b{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}static{this.INSTANCE=new b}navigateValueSet(e,t,n,i,r){if(e&&t){const n=this.doNavigateValueSet(t,r);if(n)return{range:e,value:n}}if(n&&i){const e=this.doNavigateValueSet(i,r);if(e)return{range:n,value:e}}return null}doNavigateValueSet(e,t){const n=this.numberReplace(e,t);return null!==n?n:this.textReplace(e,t)}numberReplace(e,t){const n=Math.pow(10,e.length-(e.lastIndexOf(".")+1));let i=Number(e);const r=parseFloat(e);return isNaN(i)||isNaN(r)||i!==r?null:0!==i||t?(i=Math.floor(i*n),i+=t?n:-n,String(i/n)):null}textReplace(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)}valueSetsReplace(e,t,n){let i=null;for(let r=0,s=e.length;null===i&&r<s;r++)i=this.valueSetReplace(e[r],t,n);return i}valueSetReplace(e,t,n){let i=e.indexOf(t);return i>=0?(i+=n?1:-1,i<0?i=e.length-1:i%=e.length,e[i]):null}}var k=n(1583),v=n(6358),C=n(3013),L=n(9887);class w{constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}}class y{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}var S=n(4327),x=n(9955),E=n(5365),N=n(7110),I=n(2532);n(8357);class T{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}}class A{static inverse(e,t,n){const i=[];let r=1,s=1;for(const a of e){const e=new A(new x.M(r,a.original.startLineNumber),new x.M(s,a.modified.startLineNumber));e.modified.isEmpty||i.push(e),r=a.original.endLineNumberExclusive,s=a.modified.endLineNumberExclusive}const o=new A(new x.M(r,t+1),new x.M(s,n+1));return o.modified.isEmpty||i.push(o),i}static clip(e,t,n){const i=[];for(const r of e){const e=r.original.intersect(t),s=r.modified.intersect(n);e&&!e.isEmpty&&s&&!s.isEmpty&&i.push(new A(e,s))}return i}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new A(this.modified,this.original)}join(e){return new A(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new O(e,t);if(1===this.original.startLineNumber||1===this.modified.startLineNumber){if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new S.D7("not a valid diff");return new O(new u.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new u.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}return new O(new u.Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new u.Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(M(this.original.endLineNumberExclusive,e)&&M(this.modified.endLineNumberExclusive,t))return new O(new u.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new u.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new O(u.Q.fromPositions(new E.y(this.original.startLineNumber,1),D(new E.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),u.Q.fromPositions(new E.y(this.modified.startLineNumber,1),D(new E.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new O(u.Q.fromPositions(D(new E.y(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),D(new E.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),u.Q.fromPositions(D(new E.y(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),D(new E.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new S.D7}}function D(e,t){if(e.lineNumber<1)return new E.y(1,1);if(e.lineNumber>t.length)return new E.y(t.length,t[t.length-1].length+1);const n=t[e.lineNumber-1];return e.column>n.length+1?new E.y(e.lineNumber,n.length+1):e}function M(e,t){return e>=1&&e<=t.length}class R extends A{static fromRangeMappings(e){const t=x.M.join(e.map((e=>x.M.fromRangeInclusive(e.originalRange)))),n=x.M.join(e.map((e=>x.M.fromRangeInclusive(e.modifiedRange))));return new R(t,n,e)}constructor(e,t,n){super(e,t),this.innerChanges=n}flip(){return new R(this.modified,this.original,this.innerChanges?.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new R(this.original,this.modified,[this.toRangeMapping()])}}class O{static assertSorted(e){for(let t=1;t<e.length;t++){const n=e[t-1],i=e[t];if(!n.originalRange.getEndPosition().isBeforeOrEqual(i.originalRange.getStartPosition())||!n.modifiedRange.getEndPosition().isBeforeOrEqual(i.modifiedRange.getStartPosition()))throw new S.D7("Range mappings must be sorted")}}constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new O(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new T(this.originalRange,t)}}var B=n(6844);class F{computeDiff(e,t,n){const i=new H(e,t,{maxComputationTime:n.maxComputationTimeMs,shouldIgnoreTrimWhitespace:n.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),r=[];let s=null;for(const o of i.changes){let e,t;e=0===o.originalEndLineNumber?new x.M(o.originalStartLineNumber+1,o.originalStartLineNumber+1):new x.M(o.originalStartLineNumber,o.originalEndLineNumber+1),t=0===o.modifiedEndLineNumber?new x.M(o.modifiedStartLineNumber+1,o.modifiedStartLineNumber+1):new x.M(o.modifiedStartLineNumber,o.modifiedEndLineNumber+1);let n=new R(e,t,o.charChanges?.map((e=>new O(new u.Q(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new u.Q(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));s&&(s.modified.endLineNumberExclusive!==n.modified.startLineNumber&&s.original.endLineNumberExclusive!==n.original.startLineNumber||(n=new R(s.original.join(n.original),s.modified.join(n.modified),s.innerChanges&&n.innerChanges?s.innerChanges.concat(n.innerChanges):void 0),r.pop())),r.push(n),s=n}return(0,N.Ft)((()=>(0,N.Xo)(r,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive<t.original.startLineNumber&&e.modified.endLineNumberExclusive<t.modified.startLineNumber)))),new w(r,[],i.quitEarly)}}function P(e,t,n,i){return new c(e,t,n).ComputeDiff(i)}class z{constructor(e){const t=[],n=[];for(let i=0,r=e.length;i<r;i++)t[i]=U(e[i],1),n[i]=j(e[i],1);this.lines=e,this._startColumns=t,this._endColumns=n}getElements(){const e=[];for(let t=0,n=this.lines.length;t<n;t++)e[t]=this.lines[t].substring(this._startColumns[t]-1,this._endColumns[t]-1);return e}getStrictElement(e){return this.lines[e]}getStartLineNumber(e){return e+1}getEndLineNumber(e){return e+1}createCharSequence(e,t,n){const i=[],r=[],s=[];let o=0;for(let a=t;a<=n;a++){const t=this.lines[a],l=e?this._startColumns[a]:1,h=e?this._endColumns[a]:t.length+1;for(let e=l;e<h;e++)i[o]=t.charCodeAt(e-1),r[o]=a+1,s[o]=e,o++;!e&&a<n&&(i[o]=10,r[o]=a+1,s[o]=t.length+1,o++)}return new V(i,r,s)}}class V{constructor(e,t,n){this._charCodes=e,this._lineNumbers=t,this._columns=n}toString(){return"["+this._charCodes.map(((e,t)=>(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class W{constructor(e,t,n,i,r,s,o,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=i,this.modifiedStartLineNumber=r,this.modifiedStartColumn=s,this.modifiedEndLineNumber=o,this.modifiedEndColumn=a}static createFromDiffChange(e,t,n){const i=t.getStartLineNumber(e.originalStart),r=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),o=t.getEndColumn(e.originalStart+e.originalLength-1),a=n.getStartLineNumber(e.modifiedStart),l=n.getStartColumn(e.modifiedStart),h=n.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),c=n.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new W(i,r,s,o,a,l,h,c)}}class q{constructor(e,t,n,i,r){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=i,this.charChanges=r}static createFromDiffResult(e,t,n,i,r,s,o){let a,l,h,c,u;if(0===t.originalLength?(a=n.getStartLineNumber(t.originalStart)-1,l=0):(a=n.getStartLineNumber(t.originalStart),l=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(h=i.getStartLineNumber(t.modifiedStart)-1,c=0):(h=i.getStartLineNumber(t.modifiedStart),c=i.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),s&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&r()){const s=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=i.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(s.getElements().length>0&&a.getElements().length>0){let e=P(s,a,r,!0).changes;o&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let n=t[0];for(let i=1,r=e.length;i<r;i++){const r=e[i],s=r.originalStart-(n.originalStart+n.originalLength),o=r.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(s,o)<3?(n.originalLength=r.originalStart+r.originalLength-n.originalStart,n.modifiedLength=r.modifiedStart+r.modifiedLength-n.modifiedStart):(t.push(r),n=r)}return t}(e)),u=[];for(let t=0,n=e.length;t<n;t++)u.push(W.createFromDiffChange(e[t],s,a))}}return new q(a,l,h,c,u)}}class H{constructor(e,t,n){this.shouldComputeCharChanges=n.shouldComputeCharChanges,this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.originalLines=e,this.modifiedLines=t,this.original=new z(e),this.modified=new z(t),this.continueLineDiff=K(n.maxComputationTime),this.continueCharDiff=K(0===n.maxComputationTime?0:Math.min(n.maxComputationTime,5e3))}computeDiff(){if(1===this.original.lines.length&&0===this.original.lines[0].length)return 1===this.modified.lines.length&&0===this.modified.lines[0].length?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]};if(1===this.modified.lines.length&&0===this.modified.lines[0].length)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};const e=P(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),t=e.changes,n=e.quitEarly;if(this.shouldIgnoreTrimWhitespace){const e=[];for(let n=0,i=t.length;n<i;n++)e.push(q.createFromDiffResult(this.shouldIgnoreTrimWhitespace,t[n],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:n,changes:e}}const i=[];let r=0,s=0;for(let o=-1,a=t.length;o<a;o++){const e=o+1<a?t[o+1]:null,n=e?e.originalStart:this.originalLines.length,l=e?e.modifiedStart:this.modifiedLines.length;for(;r<n&&s<l;){const e=this.originalLines[r],t=this.modifiedLines[s];if(e!==t){{let n=U(e,1),o=U(t,1);for(;n>1&&o>1;){if(e.charCodeAt(n-2)!==t.charCodeAt(o-2))break;n--,o--}(n>1||o>1)&&this._pushTrimWhitespaceCharChange(i,r+1,1,n,s+1,1,o)}{let n=j(e,1),o=j(t,1);const a=e.length+1,l=t.length+1;for(;n<a&&o<l;){if(e.charCodeAt(n-1)!==e.charCodeAt(o-1))break;n++,o++}(n<a||o<l)&&this._pushTrimWhitespaceCharChange(i,r+1,n,a,s+1,o,l)}}r++,s++}e&&(i.push(q.createFromDiffResult(this.shouldIgnoreTrimWhitespace,e,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),r+=e.originalLength,s+=e.modifiedLength)}return{quitEarly:n,changes:i}}_pushTrimWhitespaceCharChange(e,t,n,i,r,s,o){if(this._mergeTrimWhitespaceCharChange(e,t,n,i,r,s,o))return;let a;this.shouldComputeCharChanges&&(a=[new W(t,n,t,i,r,s,r,o)]),e.push(new q(t,t,r,r,a))}_mergeTrimWhitespaceCharChange(e,t,n,i,r,s,o){const a=e.length;if(0===a)return!1;const l=e[a-1];return 0!==l.originalEndLineNumber&&0!==l.modifiedEndLineNumber&&(l.originalEndLineNumber===t&&l.modifiedEndLineNumber===r?(this.shouldComputeCharChanges&&l.charChanges&&l.charChanges.push(new W(t,n,t,i,r,s,r,o)),!0):l.originalEndLineNumber+1===t&&l.modifiedEndLineNumber+1===r&&(l.originalEndLineNumber=t,l.modifiedEndLineNumber=r,this.shouldComputeCharChanges&&l.charChanges&&l.charChanges.push(new W(t,n,t,i,r,s,r,o)),!0))}}function U(e,t){const n=B.HG(e);return-1===n?t:n+1}function j(e,t){const n=B.lT(e);return-1===n?t:n+2}function K(e){if(0===e)return()=>!0;const t=Date.now();return()=>Date.now()-t<e}var $=n(3338);class G{static trivial(e,t){return new G([new Q(I.L.ofLength(e.length),I.L.ofLength(t.length))],!1)}static trivialTimedOut(e,t){return new G([new Q(I.L.ofLength(e.length),I.L.ofLength(t.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}}class Q{static invert(e,t){const n=[];return(0,$.pN)(e,((e,i)=>{n.push(Q.fromOffsetPairs(e?e.getEndExclusives():Y.zero,i?i.getStarts():new Y(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),n}static fromOffsetPairs(e,t){return new Q(new I.L(e.offset1,t.offset1),new I.L(e.offset2,t.offset2))}static assertSorted(e){let t;for(const n of e){if(t&&!(t.seq1Range.endExclusive<=n.seq1Range.start&&t.seq2Range.endExclusive<=n.seq2Range.start))throw new S.D7("Sequence diffs must be sorted");t=n}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new Q(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new Q(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new Q(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new Q(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new Q(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),n=this.seq2Range.intersect(e.seq2Range);if(t&&n)return new Q(t,n)}getStarts(){return new Y(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new Y(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class Y{static{this.zero=new Y(0,0)}static{this.max=new Y(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new Y(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}class X{static{this.instance=new X}isValid(){return!0}}class Z{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new S.D7("timeout must be positive")}isValid(){return!(Date.now()-this.startTime<this.timeout)&&this.valid&&(this.valid=!1),this.valid}}class J{constructor(e,t){this.width=e,this.height=t,this.array=[],this.array=new Array(e*t)}get(e,t){return this.array[e+t*this.width]}set(e,t,n){this.array[e+t*this.width]=n}}function ee(e){return 32===e||9===e}class te{static{this.chrKeys=new Map}static getKey(e){let t=this.chrKeys.get(e);return void 0===t&&(t=this.chrKeys.size,this.chrKeys.set(e,t)),t}constructor(e,t,n){this.range=e,this.lines=t,this.source=n,this.histogram=[];let i=0;for(let r=e.startLineNumber-1;r<e.endLineNumberExclusive-1;r++){const e=t[r];for(let t=0;t<e.length;t++){i++;const n=e[t],r=te.getKey(n);this.histogram[r]=(this.histogram[r]||0)+1}i++;const n=te.getKey("\n");this.histogram[n]=(this.histogram[n]||0)+1}this.totalCount=i}computeSimilarity(e){let t=0;const n=Math.max(this.histogram.length,e.histogram.length);for(let i=0;i<n;i++)t+=Math.abs((this.histogram[i]??0)-(e.histogram[i]??0));return 1-t/(this.totalCount+e.totalCount)}}class ne{compute(e,t,n=X.instance,i){if(0===e.length||0===t.length)return G.trivial(e,t);const r=new J(e.length,t.length),s=new J(e.length,t.length),o=new J(e.length,t.length);for(let g=0;g<e.length;g++)for(let a=0;a<t.length;a++){if(!n.isValid())return G.trivialTimedOut(e,t);const l=0===g?0:r.get(g-1,a),h=0===a?0:r.get(g,a-1);let c;e.getElement(g)===t.getElement(a)?(c=0===g||0===a?0:r.get(g-1,a-1),g>0&&a>0&&3===s.get(g-1,a-1)&&(c+=o.get(g-1,a-1)),c+=i?i(g,a):1):c=-1;const u=Math.max(l,h,c);if(u===c){const e=g>0&&a>0?o.get(g-1,a-1):0;o.set(g,a,e+1),s.set(g,a,3)}else u===l?(o.set(g,a,0),s.set(g,a,1)):u===h&&(o.set(g,a,0),s.set(g,a,2));r.set(g,a,u)}const a=[];let l=e.length,h=t.length;function c(e,t){e+1===l&&t+1===h||a.push(new Q(new I.L(e+1,l),new I.L(t+1,h))),l=e,h=t}let u=e.length-1,d=t.length-1;for(;u>=0&&d>=0;)3===s.get(u,d)?(c(u,d),u--,d--):1===s.get(u,d)?u--:d--;return c(-1,-1),a.reverse(),new G(a,!1)}}class ie{compute(e,t,n=X.instance){if(0===e.length||0===t.length)return G.trivial(e,t);const i=e,r=t;function s(e,t){for(;e<i.length&&t<r.length&&i.getElement(e)===r.getElement(t);)e++,t++;return e}let o=0;const a=new se;a.set(0,s(0,0));const l=new oe;l.set(0,0===a.get(0)?null:new re(null,0,0,a.get(0)));let h=0;e:for(;;){if(o++,!n.isValid())return G.trivialTimedOut(i,r);const e=-Math.min(o,r.length+o%2),t=Math.min(o,i.length+o%2);for(h=e;h<=t;h+=2){let n=0;const o=h===t?-1:a.get(h+1),c=h===e?-1:a.get(h-1)+1;n++;const u=Math.min(Math.max(o,c),i.length),d=u-h;if(n++,u>i.length||d>r.length)continue;const g=s(u,d);a.set(h,g);const f=u===o?l.get(h+1):l.get(h-1);if(l.set(h,g!==u?new re(f,u,d,g-u):f),a.get(h)===i.length&&a.get(h)-h===r.length)break e}}let c=l.get(h);const u=[];let d=i.length,g=r.length;for(;;){const e=c?c.x+c.length:0,t=c?c.y+c.length:0;if(e===d&&t===g||u.push(new Q(new I.L(e,d),new I.L(t,g))),!c)break;d=c.x,g=c.y,c=c.prev}return u.reverse(),new G(u,!1)}}class re{constructor(e,t,n,i){this.prev=e,this.x=t,this.y=n,this.length=i}}class se{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class oe{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}var ae=n(7393),le=n(7992);class he{constructor(e,t,n){this.lines=e,this.range=t,this.considerWhitespaceChanges=n,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let i=this.range.startLineNumber;i<=this.range.endLineNumber;i++){let t=e[i-1],r=0;i===this.range.startLineNumber&&this.range.startColumn>1&&(r=this.range.startColumn-1,t=t.substring(r)),this.lineStartOffsets.push(r);let s=0;if(!n){const e=t.trimStart();s=t.length-e.length,t=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(s);const o=i===this.range.endLineNumber?Math.min(this.range.endColumn-1-r-s,t.length):t.length;for(let e=0;e<o;e++)this.elements.push(t.charCodeAt(e));i<this.range.endLineNumber&&(this.elements.push("\n".charCodeAt(0)),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new I.L(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map((e=>String.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=ge(e>0?this.elements[e-1]:-1),n=ge(e<this.elements.length?this.elements[e]:-1);if(7===t&&8===n)return 0;if(8===t)return 150;let i=0;return t!==n&&(i+=10,0===t&&1===n&&(i+=1)),i+=de(t),i+=de(n),i}translateOffset(e,t="right"){const n=(0,ae.iM)(this.firstElementOffsetByLineIdx,(t=>t<=e)),i=e-this.firstElementOffsetByLineIdx[n];return new E.y(this.range.startLineNumber+n,1+this.lineStartOffsets[n]+i+(0===i&&"left"===t?0:this.trimmedWsLengthsByLineIdx[n]))}translateRange(e){const t=this.translateOffset(e.start,"right"),n=this.translateOffset(e.endExclusive,"left");return n.isBefore(t)?u.Q.fromPositions(n,n):u.Q.fromPositions(t,n)}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!ce(this.elements[e]))return;let t=e;for(;t>0&&ce(this.elements[t-1]);)t--;let n=e;for(;n<this.elements.length&&ce(this.elements[n]);)n++;return new I.L(t,n)}countLinesIn(e){return this.translateOffset(e.endExclusive).lineNumber-this.translateOffset(e.start).lineNumber}isStronglyEqual(e,t){return this.elements[e]===this.elements[t]}extendToFullLines(e){const t=(0,ae.lx)(this.firstElementOffsetByLineIdx,(t=>t<=e.start))??0,n=(0,ae.XP)(this.firstElementOffsetByLineIdx,(t=>e.endExclusive<=t))??this.elements.length;return new I.L(t,n)}}function ce(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const ue={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function de(e){return ue[e]}function ge(e){return 10===e?8:13===e?7:ee(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function fe(e,t,n,i,r,s){let{moves:o,excludedChanges:a}=function(e,t,n,i){const r=[],s=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new te(e.original,t,e))),o=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new te(e.modified,n,e)))),a=new Set;for(const l of s){let e,t=-1;for(const n of o){const i=l.computeSimilarity(n);i>t&&(t=i,e=n)}if(t>.9&&e&&(o.delete(e),r.push(new A(l.range,e.range)),a.add(l.source),a.add(e.source)),!i.isValid())return{moves:r,excludedChanges:a}}return{moves:r,excludedChanges:a}}(e,t,n,s);if(!s.isValid())return[];const l=function(e,t,n,i,r,s){const o=[],a=new le.db;for(const d of e)for(let e=d.original.startLineNumber;e<d.original.endLineNumberExclusive-2;e++){const n=`${t[e-1]}:${t[e+1-1]}:${t[e+2-1]}`;a.add(n,{range:new x.M(e,e+3)})}const l=[];e.sort((0,$.VE)((e=>e.modified.startLineNumber),$.U9));for(const d of e){let e=[];for(let t=d.modified.startLineNumber;t<d.modified.endLineNumberExclusive-2;t++){const i=`${n[t-1]}:${n[t+1-1]}:${n[t+2-1]}`,r=new x.M(t,t+3),s=[];a.forEach(i,(({range:t})=>{for(const i of e)if(i.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&i.modifiedLineRange.endLineNumberExclusive+1===r.endLineNumberExclusive)return i.originalLineRange=new x.M(i.originalLineRange.startLineNumber,t.endLineNumberExclusive),i.modifiedLineRange=new x.M(i.modifiedLineRange.startLineNumber,r.endLineNumberExclusive),void s.push(i);const n={modifiedLineRange:r,originalLineRange:t};l.push(n),s.push(n)})),e=s}if(!s.isValid())return[]}l.sort((0,$.Hw)((0,$.VE)((e=>e.modifiedLineRange.length),$.U9)));const h=new x.S,c=new x.S;for(const d of l){const e=d.modifiedLineRange.startLineNumber-d.originalLineRange.startLineNumber,t=h.subtractFrom(d.modifiedLineRange),n=c.subtractFrom(d.originalLineRange).getWithDelta(e),i=t.getIntersection(n);for(const r of i.ranges){if(r.length<3)continue;const t=r,n=r.delta(-e);o.push(new A(n,t)),h.addRange(t),c.addRange(n)}}o.sort((0,$.VE)((e=>e.original.startLineNumber),$.U9));const u=new ae.vJ(e);for(let d=0;d<o.length;d++){const t=o[d],n=u.findLastMonotonous((e=>e.original.startLineNumber<=t.original.startLineNumber)),a=(0,ae.lx)(e,(e=>e.modified.startLineNumber<=t.modified.startLineNumber)),l=Math.max(t.original.startLineNumber-n.original.startLineNumber,t.modified.startLineNumber-a.modified.startLineNumber),g=u.findLastMonotonous((e=>e.original.startLineNumber<t.original.endLineNumberExclusive)),f=(0,ae.lx)(e,(e=>e.modified.startLineNumber<t.modified.endLineNumberExclusive)),m=Math.max(g.original.endLineNumberExclusive-t.original.endLineNumberExclusive,f.modified.endLineNumberExclusive-t.modified.endLineNumberExclusive);let p,_;for(p=0;p<l;p++){const e=t.original.startLineNumber-p-1,n=t.modified.startLineNumber-p-1;if(e>i.length||n>r.length)break;if(h.contains(n)||c.contains(e))break;if(!me(i[e-1],r[n-1],s))break}for(p>0&&(c.addRange(new x.M(t.original.startLineNumber-p,t.original.startLineNumber)),h.addRange(new x.M(t.modified.startLineNumber-p,t.modified.startLineNumber))),_=0;_<m;_++){const e=t.original.endLineNumberExclusive+_,n=t.modified.endLineNumberExclusive+_;if(e>i.length||n>r.length)break;if(h.contains(n)||c.contains(e))break;if(!me(i[e-1],r[n-1],s))break}_>0&&(c.addRange(new x.M(t.original.endLineNumberExclusive,t.original.endLineNumberExclusive+_)),h.addRange(new x.M(t.modified.endLineNumberExclusive,t.modified.endLineNumberExclusive+_))),(p>0||_>0)&&(o[d]=new A(new x.M(t.original.startLineNumber-p,t.original.endLineNumberExclusive+_),new x.M(t.modified.startLineNumber-p,t.modified.endLineNumberExclusive+_)))}return o}(e.filter((e=>!a.has(e))),i,r,t,n,s);return(0,$.E4)(o,l),o=function(e){if(0===e.length)return e;e.sort((0,$.VE)((e=>e.original.startLineNumber),$.U9));const t=[e[0]];for(let n=1;n<e.length;n++){const i=t[t.length-1],r=e[n],s=r.original.startLineNumber-i.original.endLineNumberExclusive,o=r.modified.startLineNumber-i.modified.endLineNumberExclusive;s>=0&&o>=0&&s+o<=2?t[t.length-1]=i.join(r):t.push(r)}return t}(o),o=o.filter((e=>{const n=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return n.join("\n").length>=15&&function(e,t){let n=0;for(const i of e)t(i)&&n++;return n}(n,(e=>e.length>=2))>=2})),o=function(e,t){const n=new ae.vJ(e);return t=t.filter((t=>(n.findLastMonotonous((e=>e.original.startLineNumber<t.original.endLineNumberExclusive))||new A(new x.M(1,1),new x.M(1,1)))!==(0,ae.lx)(e,(e=>e.modified.startLineNumber<t.modified.endLineNumberExclusive)))),t}(e,o),o}function me(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const i=(new ie).compute(new he([e],new u.Q(1,1,1,e.length),!1),new he([t],new u.Q(1,1,1,t.length),!1),n);let r=0;const s=Q.invert(i.diffs,e.length);for(const a of s)a.seq1Range.forEach((t=>{ee(e.charCodeAt(t))||r++}));const o=function(t){let n=0;for(let i=0;i<e.length;i++)ee(t.charCodeAt(i))||n++;return n}(e.length>t.length?e:t);return r/o>.6&&o>10}function pe(e,t,n){let i=n;return i=_e(e,t,i),i=_e(e,t,i),i=function(e,t,n){if(!e.getBoundaryScore||!t.getBoundaryScore)return n;for(let i=0;i<n.length;i++){const r=i>0?n[i-1]:void 0,s=n[i],o=i+1<n.length?n[i+1]:void 0,a=new I.L(r?r.seq1Range.endExclusive+1:0,o?o.seq1Range.start-1:e.length),l=new I.L(r?r.seq2Range.endExclusive+1:0,o?o.seq2Range.start-1:t.length);s.seq1Range.isEmpty?n[i]=be(s,e,t,a,l):s.seq2Range.isEmpty&&(n[i]=be(s.swap(),t,e,l,a).swap())}return n}(e,t,i),i}function _e(e,t,n){if(0===n.length)return n;const i=[];i.push(n[0]);for(let s=1;s<n.length;s++){const r=i[i.length-1];let o=n[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const n=o.seq1Range.start-r.seq1Range.endExclusive;let s;for(s=1;s<=n&&(e.getElement(o.seq1Range.start-s)===e.getElement(o.seq1Range.endExclusive-s)&&t.getElement(o.seq2Range.start-s)===t.getElement(o.seq2Range.endExclusive-s));s++);if(s--,s===n){i[i.length-1]=new Q(new I.L(r.seq1Range.start,o.seq1Range.endExclusive-n),new I.L(r.seq2Range.start,o.seq2Range.endExclusive-n));continue}o=o.delta(-s)}i.push(o)}const r=[];for(let s=0;s<i.length-1;s++){const n=i[s+1];let o=i[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const r=n.seq1Range.start-o.seq1Range.endExclusive;let a;for(a=0;a<r&&(e.isStronglyEqual(o.seq1Range.start+a,o.seq1Range.endExclusive+a)&&t.isStronglyEqual(o.seq2Range.start+a,o.seq2Range.endExclusive+a));a++);if(a===r){i[s+1]=new Q(new I.L(o.seq1Range.start+r,n.seq1Range.endExclusive),new I.L(o.seq2Range.start+r,n.seq2Range.endExclusive));continue}a>0&&(o=o.delta(a))}r.push(o)}return i.length>0&&r.push(i[i.length-1]),r}function be(e,t,n,i,r){let s=1;for(;e.seq1Range.start-s>=i.start&&e.seq2Range.start-s>=r.start&&n.isStronglyEqual(e.seq2Range.start-s,e.seq2Range.endExclusive-s)&&s<100;)s++;s--;let o=0;for(;e.seq1Range.start+o<i.endExclusive&&e.seq2Range.endExclusive+o<r.endExclusive&&n.isStronglyEqual(e.seq2Range.start+o,e.seq2Range.endExclusive+o)&&o<100;)o++;if(0===s&&0===o)return e;let a=0,l=-1;for(let h=-s;h<=o;h++){const i=e.seq2Range.start+h,r=e.seq2Range.endExclusive+h,s=e.seq1Range.start+h,o=t.getBoundaryScore(s)+n.getBoundaryScore(i)+n.getBoundaryScore(r);o>l&&(l=o,a=h)}return e.delta(a)}class ke{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:ve(this.lines[e-1]))+(e===this.lines.length?0:ve(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function ve(e){let t=0;for(;t<e.length&&(32===e.charCodeAt(t)||9===e.charCodeAt(t));)t++;return t}class Ce{constructor(){this.dynamicProgrammingDiffing=new ne,this.myersDiffingAlgorithm=new ie}computeDiff(e,t,n){if(e.length<=1&&(0,$.aI)(e,t,((e,t)=>e===t)))return new w([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new w([new R(new x.M(1,e.length+1),new x.M(1,t.length+1),[new O(new u.Q(1,1,e.length,e[e.length-1].length+1),new u.Q(1,1,t.length,t[t.length-1].length+1))])],[],!1);const i=0===n.maxComputationTimeMs?X.instance:new Z(n.maxComputationTimeMs),r=!n.ignoreTrimWhitespace,s=new Map;function o(e){let t=s.get(e);return void 0===t&&(t=s.size,s.set(e,t)),t}const a=e.map((e=>o(e.trim()))),l=t.map((e=>o(e.trim()))),h=new ke(a,e),c=new ke(l,t),d=(()=>h.length+c.length<1700?this.dynamicProgrammingDiffing.compute(h,c,i,((n,i)=>e[n]===t[i]?0===t[i].length?.1:1+Math.log(1+t[i].length):.99)):this.myersDiffingAlgorithm.compute(h,c,i))();let g=d.diffs,f=d.hitTimeout;g=pe(h,c,g),g=function(e,t,n){let i=n;if(0===i.length)return i;let r,s=0;do{r=!1;const o=[i[0]];for(let a=1;a<i.length;a++){const l=i[a],h=o[o.length-1];function c(t,n){const i=new I.L(h.seq1Range.endExclusive,l.seq1Range.start);return e.getText(i).replace(/\s/g,"").length<=4&&(t.seq1Range.length+t.seq2Range.length>5||n.seq1Range.length+n.seq2Range.length>5)}c(h,l)?(r=!0,o[o.length-1]=o[o.length-1].join(l)):o.push(l)}i=o}while(s++<10&&r);return i}(h,0,g);const m=[],p=n=>{if(r)for(let s=0;s<n;s++){const n=_+s,o=b+s;if(e[n]!==t[o]){const s=this.refineDiff(e,t,new Q(new I.L(n,n+1),new I.L(o,o+1)),i,r);for(const e of s.mappings)m.push(e);s.hitTimeout&&(f=!0)}}};let _=0,b=0;for(const u of g){(0,N.Ft)((()=>u.seq1Range.start-_==u.seq2Range.start-b));p(u.seq1Range.start-_),_=u.seq1Range.endExclusive,b=u.seq2Range.endExclusive;const n=this.refineDiff(e,t,u,i,r);n.hitTimeout&&(f=!0);for(const e of n.mappings)m.push(e)}p(e.length-_);const k=Le(m,e,t);let v=[];return n.computeMoves&&(v=this.computeMoves(k,e,t,a,l,i,r)),(0,N.Ft)((()=>{function n(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const n=t[e.lineNumber-1];return!(e.column<1||e.column>n.length+1)}function i(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1)&&!(e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const r of k){if(!r.innerChanges)return!1;for(const i of r.innerChanges){if(!(n(i.modifiedRange.getStartPosition(),t)&&n(i.modifiedRange.getEndPosition(),t)&&n(i.originalRange.getStartPosition(),e)&&n(i.originalRange.getEndPosition(),e)))return!1}if(!i(r.modified,t)||!i(r.original,e))return!1}return!0})),new w(k,v,f)}computeMoves(e,t,n,i,r,s,o){return fe(e,t,n,i,r,s).map((e=>{const i=Le(this.refineDiff(t,n,new Q(e.original.toOffsetRange(),e.modified.toOffsetRange()),s,o).mappings,t,n,!0);return new y(e,i)}))}refineDiff(e,t,n,i,r){var s;const o=(s=n,new A(new x.M(s.seq1Range.start+1,s.seq1Range.endExclusive+1),new x.M(s.seq2Range.start+1,s.seq2Range.endExclusive+1))).toRangeMapping2(e,t),a=new he(e,o.originalRange,r),l=new he(t,o.modifiedRange,r),h=a.length+l.length<500?this.dynamicProgrammingDiffing.compute(a,l,i):this.myersDiffingAlgorithm.compute(a,l,i),c=!1;let u=h.diffs;u=pe(a,l,u),u=function(e,t,n){const i=Q.invert(n,e.length),r=[];let s=new Y(0,0);function o(n,o){if(n.offset1<s.offset1||n.offset2<s.offset2)return;const a=e.findWordContaining(n.offset1),l=t.findWordContaining(n.offset2);if(!a||!l)return;let h=new Q(a,l);const c=h.intersect(o);let u=c.seq1Range.length,d=c.seq2Range.length;for(;i.length>0;){const n=i[0];if(!n.seq1Range.intersects(h.seq1Range)&&!n.seq2Range.intersects(h.seq2Range))break;const r=e.findWordContaining(n.seq1Range.start),s=t.findWordContaining(n.seq2Range.start),o=new Q(r,s),a=o.intersect(n);if(u+=a.seq1Range.length,d+=a.seq2Range.length,h=h.join(o),!(h.seq1Range.endExclusive>=n.seq1Range.endExclusive))break;i.shift()}u+d<2*(h.seq1Range.length+h.seq2Range.length)/3&&r.push(h),s=h.getEndExclusives()}for(;i.length>0;){const e=i.shift();e.seq1Range.isEmpty||(o(e.getStarts(),e),o(e.getEndExclusives().delta(-1),e))}return function(e,t){const n=[];for(;e.length>0||t.length>0;){const i=e[0],r=t[0];let s;s=i&&(!r||i.seq1Range.start<r.seq1Range.start)?e.shift():t.shift(),n.length>0&&n[n.length-1].seq1Range.endExclusive>=s.seq1Range.start?n[n.length-1]=n[n.length-1].join(s):n.push(s)}return n}(n,r)}(a,l,u),u=function(e,t,n){const i=[];for(const r of n){const e=i[i.length-1];e&&(r.seq1Range.start-e.seq1Range.endExclusive<=2||r.seq2Range.start-e.seq2Range.endExclusive<=2)?i[i.length-1]=new Q(e.seq1Range.join(r.seq1Range),e.seq2Range.join(r.seq2Range)):i.push(r)}return i}(0,0,u),u=function(e,t,n){let i=n;if(0===i.length)return i;let r,s=0;do{r=!1;const a=[i[0]];for(let l=1;l<i.length;l++){const h=i[l],c=a[a.length-1];function u(n,i){const r=new I.L(c.seq1Range.endExclusive,h.seq1Range.start);if(e.countLinesIn(r)>5||r.length>500)return!1;const s=e.getText(r).trim();if(s.length>20||s.split(/\r\n|\r|\n/).length>1)return!1;const o=e.countLinesIn(n.seq1Range),a=n.seq1Range.length,l=t.countLinesIn(n.seq2Range),u=n.seq2Range.length,d=e.countLinesIn(i.seq1Range),g=i.seq1Range.length,f=t.countLinesIn(i.seq2Range),m=i.seq2Range.length;function p(e){return Math.min(e,130)}return Math.pow(Math.pow(p(40*o+a),1.5)+Math.pow(p(40*l+u),1.5),1.5)+Math.pow(Math.pow(p(40*d+g),1.5)+Math.pow(p(40*f+m),1.5),1.5)>74184.96480721243}u(c,h)?(r=!0,a[a.length-1]=a[a.length-1].join(h)):a.push(h)}i=a}while(s++<10&&r);const o=[];return(0,$.kj)(i,((t,n,i)=>{let r=n;function s(e){return e.length>0&&e.trim().length<=3&&n.seq1Range.length+n.seq2Range.length>100}const a=e.extendToFullLines(n.seq1Range),l=e.getText(new I.L(a.start,n.seq1Range.start));s(l)&&(r=r.deltaStart(-l.length));const h=e.getText(new I.L(n.seq1Range.endExclusive,a.endExclusive));s(h)&&(r=r.deltaEnd(h.length));const c=Q.fromOffsetPairs(t?t.getEndExclusives():Y.zero,i?i.getStarts():Y.max),u=r.intersect(c);o.length>0&&u.getStarts().equals(o[o.length-1].getEndExclusives())?o[o.length-1]=o[o.length-1].join(u):o.push(u)})),o}(a,l,u);const d=u.map((e=>new O(a.translateRange(e.seq1Range),l.translateRange(e.seq2Range))));return{mappings:d,hitTimeout:h.hitTimeout}}}function Le(e,t,n,i=!1){const r=[];for(const s of(0,$.n)(e.map((e=>function(e,t,n){let i=0,r=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+i<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+i<=e.modifiedRange.endLineNumber&&(r=-1);e.modifiedRange.startColumn-1>=n[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+r&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+r&&(i=1);const s=new x.M(e.originalRange.startLineNumber+i,e.originalRange.endLineNumber+1+r),o=new x.M(e.modifiedRange.startLineNumber+i,e.modifiedRange.endLineNumber+1+r);return new R(s,o,[e])}(e,t,n))),((e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified)))){const e=s[0],t=s[s.length-1];r.push(new R(e.original.join(t.original),e.modified.join(t.modified),s.map((e=>e.innerChanges[0]))))}return(0,N.Ft)((()=>{if(!i&&r.length>0){if(r[0].modified.startLineNumber!==r[0].original.startLineNumber)return!1;if(n.length-r[r.length-1].modified.endLineNumberExclusive!=t.length-r[r.length-1].original.endLineNumberExclusive)return!1}return(0,N.Xo)(r,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive<t.original.startLineNumber&&e.modified.endLineNumberExclusive<t.modified.startLineNumber))})),r}const we=()=>new F,ye=()=>new Ce;var Se=n(1386),xe=n(3072),Ee=n(4901);function Ne(e){const t=[];for(const n of e){const e=Number(n);(e||0===e&&""!==n.replace(/\s/g,""))&&t.push(e)}return t}function Ie(e,t,n,i){return{red:e/255,blue:n/255,green:t/255,alpha:i}}function Te(e,t){const n=t.index,i=t[0].length;if(!n)return;const r=e.positionAt(n);return{startLineNumber:r.lineNumber,startColumn:r.column,endLineNumber:r.lineNumber,endColumn:r.column+i}}function Ae(e,t){if(!e)return;const n=Ee.Q1.Format.CSS.parseHex(t);return n?{range:e,color:Ie(n.rgba.r,n.rgba.g,n.rgba.b,n.rgba.a)}:void 0}function De(e,t,n){if(!e||1!==t.length)return;const i=Ne(t[0].values());return{range:e,color:Ie(i[0],i[1],i[2],n?i[3]:1)}}function Me(e,t,n){if(!e||1!==t.length)return;const i=Ne(t[0].values()),r=new Ee.Q1(new Ee.hB(i[0],i[1]/100,i[2]/100,n?i[3]:1));return{range:e,color:Ie(r.rgba.r,r.rgba.g,r.rgba.b,r.rgba.a)}}function Re(e,t){return"string"==typeof e?[...e.matchAll(t)]:e.findMatches(t)}function Oe(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],n=Re(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/gm);if(n.length>0)for(const i of n){const n=i.filter((e=>void 0!==e)),r=n[1],s=n[2];if(!s)continue;let o;if("rgb"===r){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;o=De(Te(e,i),Re(s,t),!1)}else if("rgba"===r){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=De(Te(e,i),Re(s,t),!0)}else if("hsl"===r){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;o=Me(Te(e,i),Re(s,t),!1)}else if("hsla"===r){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Me(Te(e,i),Re(s,t),!0)}else"#"===r&&(o=Ae(Te(e,i),r+s));o&&t.push(o)}return t}(e):[]}var Be=n(9307),Fe=n(1507);class Pe{constructor(){this._workerTextModelSyncServer=new Fe.WorkerTextModelSyncServer}dispose(){}_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){const i=this._getModel(e);return i?L.UnicodeTextModelHighlighter.computeUnicodeHighlights(i,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){const n=this._getModel(e);return n?(0,Be.findSectionHeaders)(n,t):[]}async $computeDiff(e,t,n,i){const r=this._getModel(e),s=this._getModel(t);if(!r||!s)return null;return ze.computeDiff(r,s,n,i)}static computeDiff(e,t,n,i){const r="advanced"===i?ye():we(),s=e.getLinesContent(),o=t.getLinesContent(),a=r.computeDiff(s,o,n);function l(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:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:l(a.changes),moves:a.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)]))}}static _modelsAreIdentical(e,t){const n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let i=1;i<=n;i++){if(e.getLineContent(i)!==t.getLineContent(i))return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(e,t,n){const i=this._getModel(e);if(!i)return t;const r=[];let s;t=t.slice(0).sort(((e,t)=>{if(e.range&&t.range)return u.Q.compareRangesUsingStarts(e.range,t.range);return(e.range?0:1)-(t.range?0:1)}));let a=0;for(let o=1;o<t.length;o++)u.Q.getEndPosition(t[a].range).equals(u.Q.getStartPosition(t[o].range))?(t[a].range=u.Q.fromPositions(u.Q.getStartPosition(t[a].range),u.Q.getEndPosition(t[o].range)),t[a].text+=t[o].text):(a++,t[a]=t[o]);t.length=a+1;for(let{range:l,text:h,eol:c}of t){if("number"==typeof c&&(s=c),u.Q.isEmpty(l)&&!h)continue;const e=i.getValueInRange(l);if(h=h.replace(/\r\n|\n|\r/g,i.eol),e===h)continue;if(Math.max(h.length,e.length)>ze._diffLimit){r.push({range:l,text:h});continue}const t=o(e,h,n),a=i.offsetAt(u.Q.lift(l).getStartPosition());for(const n of t){const e=i.positionAt(a+n.originalStart),t=i.positionAt(a+n.originalStart+n.originalLength),s={text:h.substr(n.modifiedStart,n.modifiedLength),range:{startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:t.lineNumber,endColumn:t.column}};i.getValueInRange(s.range)!==s.text&&r.push(s)}}return"number"==typeof s&&r.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r}async $computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?_.computeLinks(e):[]}(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?Oe(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(e,t,n,i){const r=new C.W,s=new RegExp(n,i),o=new Set;e:for(const a of e){const e=this._getModel(a);if(e)for(const n of e.words(s))if(n!==t&&isNaN(Number(n))&&(o.add(n),o.size>ze._suggestionsLimit))break e}return{words:Array.from(o),duration:r.elapsed()}}async $computeWordRanges(e,t,n,i){const r=this._getModel(e);if(!r)return Object.create(null);const s=new RegExp(n,i),o=Object.create(null);for(let a=t.startLineNumber;a<t.endLineNumber;a++){const e=r.getLineWords(a,s);for(const t of e){if(!isNaN(Number(t.word)))continue;let e=o[t.word];e||(e=[],o[t.word]=e),e.push({startLineNumber:a,startColumn:t.startColumn,endLineNumber:a,endColumn:t.endColumn})}}return o}async $navigateValueSet(e,t,n,i,r){const s=this._getModel(e);if(!s)return null;const o=new RegExp(i,r);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});const a=s.getValueInRange(t),l=s.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!l)return null;const h=s.getValueInRange(l);return b.INSTANCE.navigateValueSet(t,a,l,h,n)}}class ze extends Pe{constructor(e,t){super(),this._host=e,this._foreignModuleFactory=t,this._foreignModule=null}async $ping(){return"pong"}$loadForeignModule(e,t,i){const r={host:(0,Se.kT)(i,((e,t)=>this._host.$fhr(e,t))),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve((0,Se.V0)(this._foreignModule))):new Promise(((i,s)=>{const o=e=>{this._foreignModule=e.create(r,t),i((0,Se.V0)(this._foreignModule))};{const t=xe.zl.asBrowserUri(`${e}.js`).toString(!0);n(9204)(`${t}`).then(o).catch(s)}}))}$fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(n){return Promise.reject(n)}}}function Ve(e){return new ze(v.EditorWorkerHost.getChannel(e),null)}"function"==typeof importScripts&&(globalThis.monaco=(0,k.createMonacoBaseAPI)())},304:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IEditorWorkerService:()=>i});const i=(0,n(2399).u1)("editorWorkerService")},6358:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EditorWorkerHost:()=>i});class i{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(e){return e.getChannel(i.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(i.CHANNEL_NAME,t)}}},9307:(e,t,n)=>{"use strict";n.r(t),n.d(t,{findSectionHeaders:()=>s});const i=new RegExp("\\bMARK:\\s*(.*)$","d"),r=/^-+|-+$/g;function s(e,t){let n=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){const i=function(e,t){const n=[],i=e.getLineCount();for(let r=1;r<=i;r++){const i=e.getLineContent(r),s=i.match(t.foldingRules.markers.start);if(s){const e={startLineNumber:r,startColumn:s[0].length+1,endLineNumber:r,endColumn:i.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(i.substring(s[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);n=n.concat(i)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let i=1;i<=n;i++){o(e.getLineContent(i),i,t)}return t}(e);n=n.concat(t)}return n}function o(e,t,n){i.lastIndex=0;const r=i.exec(e);if(r){const e={startLineNumber:t,startColumn:r.indices[1][0]+1,endLineNumber:t,endColumn:r.indices[1][1]+1};if(e.endColumn>e.startColumn){const t={range:e,...a(r[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&n.push(t)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(r,""),hasSeparatorLine:t}}},1048:(e,t,n)=>{"use strict";n.r(t),n.d(t,{getIconClasses:()=>d});var i,r=n(3072),s=n(2467),o=n(7264),a=n(4957);!function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(i||(i={}));var l,h,c=n(8391);!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(l||(l={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function n(e){const i=t.exec(e.id);if(!i)return n(c.W.error);const[,r,s]=i,o=["codicon","codicon-"+r];return s&&o.push("codicon-modifier-"+s.substring(1)),o}e.asClassNameArray=n,e.asClassName=function(e){return n(e).join(" ")},e.asCSSSelector=function(e){return"."+n(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||l.isThemeColor(e.color))};const i=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=i.exec(e);if(!t)return;const[,n]=t;return{id:n}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let n=e.id;const i=n.lastIndexOf("~");return-1!==i&&(n=n.substring(0,i)),t&&(n=`${n}~${t}`),{id:n}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){return e.id===t.id&&e.color?.id===t.color?.id}}(h||(h={}));const u=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function d(e,t,n,l,c){if(h.isThemeIcon(c))return[`codicon-${c.id}`,"predefined-file-icon"];if(o.r.isUri(c))return[];const d=l===i.ROOT_FOLDER?["rootfolder-icon"]:l===i.FOLDER?["folder-icon"]:["file-icon"];if(n){let o;if(n.scheme===r.ny.data){o=s.B6.parseMetaData(n).get(s.B6.META_DATA_LABEL)}else{const e=n.path.match(u);e?(o=g(e[2].toLowerCase()),e[1]&&d.push(`${g(e[1].toLowerCase())}-name-dir-icon`)):o=g(n.authority.toLowerCase())}if(l===i.ROOT_FOLDER)d.push(`${o}-root-name-folder-icon`);else if(l===i.FOLDER)d.push(`${o}-name-folder-icon`);else{if(o){if(d.push(`${o}-name-file-icon`),d.push("name-file-icon"),o.length<=255){const e=o.split(".");for(let t=1;t<e.length;t++)d.push(`${e.slice(t).join(".")}-ext-file-icon`)}d.push("ext-file-icon")}const i=function(e,t,n){if(!n)return null;let i=null;if(n.scheme===r.ny.data){const e=s.B6.parseMetaData(n).get(s.B6.META_DATA_MIME);e&&(i=t.getLanguageIdByMimeType(e))}else{const t=e.getModel(n);t&&(i=t.getLanguageId())}if(i&&i!==a.vH)return i;return t.guessLanguageIdByFilepathOrFirstLine(n)}(e,t,n);i&&d.push(`${g(i)}-lang-file-icon`)}}return d}function g(e){return e.replace(/[\s]/g,"/")}},3591:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ILanguageFeatureDebounceService:()=>m,LanguageFeatureDebounceService:()=>k});var i=n(2344),r=n(7992);function s(e,t,n){return Math.min(Math.max(e,t),n)}class o{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class a{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}var l=n(2399);const h=(0,l.u1)("environmentService");var c=n(4412),u=n(2321),d=n(3072),g=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},f=function(e,t){return function(n,i){t(n,i,e)}};const m=(0,l.u1)("ILanguageFeatureDebounceService");var p;!function(e){const t=new WeakMap;let n=0;e.of=function(e){let i=t.get(e);return void 0===i&&(i=++n,t.set(e,i)),i}}(p||(p={}));class _{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class b{constructor(e,t,n,i,s,o){this._logService=e,this._name=t,this._registry=n,this._default=i,this._min=s,this._max=o,this._cache=new r.qK(50,.7)}_key(e){return e.id+this._registry.all(e).reduce(((e,t)=>(0,i.sN)(p.of(t),e)),0)}get(e){const t=this._key(e),n=this._cache.get(t);return n?s(n.value,this._min,this._max):this.default()}update(e,t){const n=this._key(e);let i=this._cache.get(n);i||(i=new a(6),this._cache.set(n,i));const r=s(i.update(t),this._min,this._max);return(0,d.v$)(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${r}ms`),r}_overall(){const e=new o;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){return s(0|this._overall()||this._default,this._min,this._max)}}let k=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,n){const i=n?.min??50,r=n?.max??i**2,s=n?.key??void 0,o=`${p.of(e)},${i}${s?","+s:""}`;let a=this._data.get(o);return a||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),a=new _(1.5*i)):a=new b(this._logService,t,e,0|this._overallAverage()||1.5*i,i,r),this._data.set(o,a)),a}_overallAverage(){const e=new o;for(const t of this._data.values())e.update(t.default());return e.value}};k=g([f(0,u.rr),f(1,h)],k),(0,c.v)(m,k,1)},2230:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ILanguageFeaturesService:()=>i});const i=(0,n(2399).u1)("ILanguageFeaturesService")},3704:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageFeaturesService:()=>m});var i=n(2106),r=n(2446),s=n(6055),o=n(3958),a=n(1570);function l(e,t,n,i,r,s){if(Array.isArray(e)){let o=0;for(const a of e){const e=l(a,t,n,i,r,s);if(10===e)return e;e>o&&(o=e)}return o}if("string"==typeof e)return i?"*"===e?5:e===n?10:0:0;if(e){const{language:l,pattern:h,scheme:c,hasAccessToAllModels:u,notebookType:d}=e;if(!i&&!u)return 0;d&&r&&(t=r);let g=0;if(c)if(c===t.scheme)g=10;else{if("*"!==c)return 0;g=5}if(l)if(l===n)g=10;else{if("*"!==l)return 0;g=Math.max(g,5)}if(d)if(d===s)g=10;else{if("*"!==d||void 0===s)return 0;g=Math.max(g,5)}if(h){let e;if(e="string"==typeof h?h:{...h,base:(0,a.S8)(h.base)},e!==t.fsPath&&!(0,o.YW)(e,t.fsPath))return 0;g=10}return g}return 0}function h(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(h):!!e.exclusive)}class c{constructor(e,t,n,i,r){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=i,this.recursive=r}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}}class u{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new i.vl,this.onDidChange=this._onDidChange.event}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,r.s)((()=>{if(n){const e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const n of this._entries)n._score>0&&t.push(n.provider);return t}ordered(e,t=!1){const n=[];return this._orderedForEach(e,t,(e=>n.push(e.provider))),n}orderedGroups(e){const t=[];let n,i;return this._orderedForEach(e,!1,(e=>{n&&i===e._score?n.push(e.provider):(i=e._score,n=[e.provider],t.push(n))})),t}_orderedForEach(e,t,n){this._updateScores(e,t);for(const i of this._entries)i._score>0&&n(i)}_updateScores(e,t){const n=this._notebookInfoResolver?.(e.uri),i=n?new c(e.uri,e.getLanguageId(),n.uri,n.type,t):new c(e.uri,e.getLanguageId(),void 0,void 0,t);if(!this._lastCandidate?.equals(i)){this._lastCandidate=i;for(const n of this._entries)if(n._score=l(n.selector,i.uri,i.languageId,(0,s.vd)(e),i.notebookUri,i.notebookType),h(n.selector)&&n._score>0){if(!t){for(const e of this._entries)e._score=0;n._score=1e3;break}n._score=0}this._entries.sort(u._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._score<t._score?1:e._score>t._score?-1:d(e.selector)&&!d(t.selector)?1:!d(e.selector)&&d(t.selector)?-1:e._time<t._time?1:e._time>t._time?-1:0}}function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(d):Boolean(e.isBuiltin))}var g=n(2230),f=n(4412);class m{constructor(){this.referenceProvider=new u(this._score.bind(this)),this.renameProvider=new u(this._score.bind(this)),this.newSymbolNamesProvider=new u(this._score.bind(this)),this.codeActionProvider=new u(this._score.bind(this)),this.definitionProvider=new u(this._score.bind(this)),this.typeDefinitionProvider=new u(this._score.bind(this)),this.declarationProvider=new u(this._score.bind(this)),this.implementationProvider=new u(this._score.bind(this)),this.documentSymbolProvider=new u(this._score.bind(this)),this.inlayHintsProvider=new u(this._score.bind(this)),this.colorProvider=new u(this._score.bind(this)),this.codeLensProvider=new u(this._score.bind(this)),this.documentFormattingEditProvider=new u(this._score.bind(this)),this.documentRangeFormattingEditProvider=new u(this._score.bind(this)),this.onTypeFormattingEditProvider=new u(this._score.bind(this)),this.signatureHelpProvider=new u(this._score.bind(this)),this.hoverProvider=new u(this._score.bind(this)),this.documentHighlightProvider=new u(this._score.bind(this)),this.multiDocumentHighlightProvider=new u(this._score.bind(this)),this.selectionRangeProvider=new u(this._score.bind(this)),this.foldingRangeProvider=new u(this._score.bind(this)),this.linkProvider=new u(this._score.bind(this)),this.inlineCompletionsProvider=new u(this._score.bind(this)),this.inlineEditProvider=new u(this._score.bind(this)),this.completionProvider=new u(this._score.bind(this)),this.linkedEditingRangeProvider=new u(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new u(this._score.bind(this)),this.documentSemanticTokensProvider=new u(this._score.bind(this)),this.documentDropEditProvider=new u(this._score.bind(this)),this.documentPasteEditProvider=new u(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}}(0,f.v)(g.ILanguageFeaturesService,m,1)},5122:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageService:()=>D});var i=n(2106),r=n(2446),s=n(6995),o=n(3338),a=n(9694),l=n(4957);const h=(e,t)=>e===t;new WeakMap;class c{constructor(e,t,n){this.owner=e,this.debugNameSource=t,this.referenceFn=n}getDebugName(e){return function(e,t){const n=d.get(e);if(n)return n;const i=function(e,t){const n=d.get(e);if(n)return n;const i=t.owner?function(e){const t=f.get(e);if(t)return t;const n=function(e){const t=e.constructor;if(t)return t.name;return"Object"}(e);let i=g.get(n)??0;i++,g.set(n,i);const r=1===i?n:`${n}#${i}`;return f.set(e,r),r}(t.owner)+".":"";let r;const s=t.debugNameSource;if(void 0!==s){if("function"!=typeof s)return i+s;if(r=s(),void 0!==r)return i+r}const o=t.referenceFn;if(void 0!==o&&(r=m(o),void 0!==r))return i+r;if(void 0!==t.owner){const n=function(e,t){for(const n in e)if(e[n]===t)return n;return}(t.owner,e);if(void 0!==n)return i+n}return}(e,t);if(i){let t=u.get(i)??0;t++,u.set(i,t);const n=1===t?i:`${i}#${t}`;return d.set(e,n),n}return}(e,this)}}const u=new Map,d=new WeakMap;const g=new Map,f=new WeakMap;function m(e){const t=e.toString(),n=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t),i=n?n[1]:void 0;return i?.trim()}let p,_,b,k;function v(){return p}class C{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t){const n=void 0===t?void 0:e,i=void 0===t?e:t;return k({owner:n,debugName:()=>{const e=m(i);if(void 0!==e)return e;const t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString());return t?`${this.debugName}.${t[2]}`:n?void 0:`${this.debugName} (mapped)`},debugReferenceFn:i},(e=>i(this.read(e),e)))}flatten(){return k({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},(e=>this.read(e).read(e)))}recomputeInitiallyAndOnChange(e,t){return e.add(_(this,t)),this}keepObserved(e){return e.add(b(this)),this}}class L extends C{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function w(e,t){const n=new y(e,t);try{e(n)}finally{n.finish()}}class y{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[],v()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():m(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t<e.length;t++){const{observer:n,observable:i}=e[t];n.endUpdate(i)}this.updatingObservers=null,v()?.handleEndTransaction()}}var S=n(7110);!function(e){k=e}((function(e,t){return new x(new c(e.owner,e.debugName,e.debugReferenceFn),t,void 0,void 0,e.onLastObserverRemoved,e.equalsFn??h)}));class x extends L{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,n,i,r=void 0,s){super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=n,this._handleChange=i,this._handleLastObserverRemoved=r,this._equalityComparator=s,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.(),v()?.handleDerivedCreated(this)}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(0===this.observers.size){const e=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),e}do{if(1===this.state)for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e;const t=0!==this.state,n=this.value;this.state=3;const i=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,i)}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}const r=t&&!this._equalityComparator(n,this.value);if(v()?.handleDerivedRecomputed(this,{oldValue:n,newValue:this.value,change:void 0,didChange:r,hadValue:t}),r)for(const s of this.observers)s.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const n of this.observers)n.handlePossibleChange(this);if(t)for(const n of this.observers)n.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}(0,S.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const n=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),i=3===this.state;if(n&&(1===this.state||i)&&(this.state=2,i))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function E(e){return new N(new c(void 0,void 0,e),e,void 0,void 0)}class N{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,n,i){this._debugNameData=e,this._runFn=t,this.createChangeSummary=n,this._handleChange=i,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),v()?.handleAutorunCreated(this),this._runIfNeeded(),(0,r.Ay)(this)}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),(0,r.VD)(this)}_runIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){v()?.handleAutorunTriggered(this);const e=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,e)}}finally{t||v()?.handleAutorunFinished(this);for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,(0,S.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary))&&(this.state=2)}}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}!function(e){e.Observer=N}(E||(E={}));function I(...e){let t,n,i;return 3===e.length?[t,n,i]=e:[n,i]=e,new T(new c(t,void 0,i),n,i,(()=>T.globalTransaction),h)}class T extends L{constructor(e,t,n,i,r){super(),this._debugNameData=e,this.event=t,this._getValue=n,this._getTransaction=i,this._equalityComparator=r,this.hasValue=!1,this.handleEvent=e=>{const t=this._getValue(e),n=this.value,i=!this.hasValue||!this._equalityComparator(n,t);let r=!1;i&&(this.value=t,this.hasValue&&(r=!0,function(e,t,n){e?t(e):w(t,n)}(this._getTransaction(),(e=>{v()?.handleFromEventObservableTriggered(this,{oldValue:n,newValue:t,change:void 0,didChange:i,hadValue:this.hasValue});for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")}))),this.hasValue=!0),r||v()?.handleFromEventObservableTriggered(this,{oldValue:n,newValue:t,change:void 0,didChange:i,hadValue:this.hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){if(this.subscription)return this.hasValue||this.handleEvent(void 0),this.value;return this._getValue(void 0)}}!function(e){e.Observer=T,e.batchEventsGlobally=function(e,t){let n=!1;void 0===T.globalTransaction&&(T.globalTransaction=e,n=!0);try{t()}finally{n&&(T.globalTransaction=void 0)}}}(I||(I={}));!function(e){b=e}((function(e){const t=new A(!1,void 0);return e.addObserver(t),(0,r.s)((()=>{e.removeObserver(t)}))})),function(e){_=e}((function(e,t){const n=new A(!0,t);return e.addObserver(n),t?t(e.get()):e.reportChanges(),(0,r.s)((()=>{e.removeObserver(n)}))}));class A{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}n(4327);class D extends r.jG{static{this.instanceCount=0}constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new i.vl),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new i.vl),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new i.vl({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,D.instanceCount++,this._registry=this._register(new s.LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){D.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const n=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return(0,o.Fy)(n,null)}createById(e){return new M(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new M(this.onDidChange,(()=>{const n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=l.vH),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),a.dG.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}class M{constructor(e,t){this._value=I(this,e,(()=>t())),this.onDidChange=i.Jh.fromObservable(this._value)}get languageId(){return this._value.get()}}},5996:(e,t,n)=>{"use strict";n.r(t),n.d(t,{clearPlatformLanguageAssociations:()=>f,getLanguageIds:()=>m,registerPlatformLanguageAssociation:()=>g});var i=n(3958),r=n(3720),s=n(3072),o=n(1570),a=n(2467),l=n(6844),h=n(4957);let c=[],u=[],d=[];function g(e,t=!1){!function(e,t,n){const r=function(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?(0,i.qg)(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(o.SA.sep)>=0}}(e,t);c.push(r),r.userConfigured?d.push(r):u.push(r);n&&!r.userConfigured&&c.forEach((e=>{e.mime===r.mime||e.userConfigured||(r.extension&&e.extension===r.extension&&console.warn(`Overwriting extension <<${r.extension}>> to now point to mime <<${r.mime}>>`),r.filename&&e.filename===r.filename&&console.warn(`Overwriting filename <<${r.filename}>> to now point to mime <<${r.mime}>>`),r.filepattern&&e.filepattern===r.filepattern&&console.warn(`Overwriting filepattern <<${r.filepattern}>> to now point to mime <<${r.mime}>>`),r.firstline&&e.firstline===r.firstline&&console.warn(`Overwriting firstline <<${r.firstline}>> to now point to mime <<${r.mime}>>`))}))}(e,!1,t)}function f(){c=c.filter((e=>e.userConfigured)),u=[]}function m(e,t){return function(e,t){let n;if(e)switch(e.scheme){case s.ny.file:n=e.fsPath;break;case s.ny.data:n=a.B6.parseMetaData(e).get(a.B6.META_DATA_LABEL);break;case s.ny.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:"unknown",mime:r.K.unknown}];n=n.toLowerCase();const i=(0,o.P8)(n),g=p(n,i,d);if(g)return[g,{id:h.vH,mime:r.K.text}];const f=p(n,i,u);if(f)return[f,{id:h.vH,mime:r.K.text}];if(t){const e=function(e){(0,l.LU)(e)&&(e=e.substr(1));if(e.length>0)for(let t=c.length-1;t>=0;t--){const n=c[t];if(!n.firstline)continue;const i=e.match(n.firstline);if(i&&i.length>0)return n}return}(t);if(e)return[e,{id:h.vH,mime:r.K.text}]}return[{id:"unknown",mime:r.K.unknown}]}(e,t).map((e=>e.id))}function p(e,t,n){let i,r,s;for(let o=n.length-1;o>=0;o--){const a=n[o];if(t===a.filenameLowercase){i=a;break}if(a.filepattern&&(!r||a.filepattern.length>r.filepattern.length)){const n=a.filepatternOnPath?e:t;a.filepatternLowercase?.(n)&&(r=a)}a.extension&&(!s||a.extension.length>s.extension.length)&&t.endsWith(a.extensionLowercase)&&(s=a)}return i||(r||(s||void 0))}},6995:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageIdCodec:()=>d,LanguagesRegistry:()=>g});var i=n(2106),r=n(2446),s=n(6844),o=n(5996),a=n(4957),l=n(7142),h=n(7167);const c=Object.prototype.hasOwnProperty,u="vs.editor.nullLanguage";class d{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(u,0),this._register(a.vH,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||u}}class g extends r.jG{static{this.instanceCount=0}constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new i.vl),this.onDidChange=this._onDidChange.event,g.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new d,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(a.W6.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){g.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,o.clearPlatformLanguageAssociations)();const e=[].concat(a.W6.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),h.O.as(l.Fd.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let n;c.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){const n=t.id;let i=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),i=t.mimetypes[0]),i||(i=`text/x-${n}`,e.mimetypes.push(i)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const s of t.filenames)(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,filename:s},this._warnOnOverwrite),e.filenames.push(s);if(Array.isArray(t.filenamePatterns))for(const s of t.filenamePatterns)(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,filepattern:s},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);(0,s.eY)(t)||(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,firstline:t},this._warnOnOverwrite)}catch(l){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,l)}}e.aliases.push(n);let r=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(r=0===t.aliases.length?[null]:t.aliases),null!==r)for(const s of r)s&&0!==s.length&&e.aliases.push(s);const a=null!==r&&r.length>0;if(a&&null===r[0]);else{const t=(a?r[0]:null)||n;!a&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&c.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return c.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&c.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?(0,o.getLanguageIds)(e,t):[]}}},886:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IMarkerDecorationsService:()=>i});const i=(0,n(2399).u1)("markerDecorationsService")},4109:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MarkerDecorationsService:()=>w});var i,r=n(6844);!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(i||(i={})),function(e){const t="error",n="warning",i="info";e.fromValue=function(s){return s?r.Q_(t,s)?e.Error:r.Q_(n,s)||r.Q_("warn",s)?e.Warning:r.Q_(i,s)?e.Info:e.Ignore:e.Ignore},e.toString=function(r){switch(r){case e.Error:return t;case e.Warning:return n;case e.Info:return i;default:return"ignore"}}}(i||(i={}));const s=i;var o,a,l=n(7289),h=n(2399);!function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(o||(o={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=(0,l.kg)("sev.error","Error"),t[e.Warning]=(0,l.kg)("sev.warning","Warning"),t[e.Info]=(0,l.kg)("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case s.Error:return e.Error;case s.Warning:return e.Warning;case s.Info:return e.Info;case s.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return s.Error;case e.Warning:return s.Warning;case e.Info:return s.Info;case e.Hint:return s.Ignore}}}(o||(o={})),function(e){const t="";function n(e,n){const i=[t];return e.source?i.push(e.source.replace("\xa6","\\\xa6")):i.push(t),e.code?"string"==typeof e.code?i.push(e.code.replace("\xa6","\\\xa6")):i.push(e.code.value.replace("\xa6","\\\xa6")):i.push(t),void 0!==e.severity&&null!==e.severity?i.push(o.toString(e.severity)):i.push(t),e.message&&n?i.push(e.message.replace("\xa6","\\\xa6")):i.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?i.push(e.startLineNumber.toString()):i.push(t),void 0!==e.startColumn&&null!==e.startColumn?i.push(e.startColumn.toString()):i.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?i.push(e.endLineNumber.toString()):i.push(t),void 0!==e.endColumn&&null!==e.endColumn?i.push(e.endColumn.toString()):i.push(t),i.push(t),i.join("\xa6")}e.makeKey=function(e){return n(e,!0)},e.makeKeyOptionalMessage=n}(a||(a={}));const c=(0,h.u1)("markerService");var u=n(2446),d=n(6055),g=n(6001),f=n(8295),m=n(4830),p=n(8061),_=n(3072),b=n(2106),k=n(9119),v=n(7992);var C=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},L=function(e,t){return function(n,i){t(n,i,e)}};let w=class extends u.jG{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new b.vl),this._markerDecorations=new v.fT,e.getModels().forEach((e=>this._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new y(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==_.ny.inMemory&&e.uri.scheme!==_.ny.internal&&e.uri.scheme!==_.ny.vscode||this._markerService?.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};w=C([L(0,m.IModelService),L(1,c)],w);class y extends u.jG{constructor(e){super(),this.model=e,this._map=new v.cO,this._register((0,u.s)((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(e){const{added:t,removed:n}=function(e,t){const n=[],i=[];for(const r of e)t.has(r)||n.push(r);for(const r of t)e.has(r)||i.push(r);return{removed:n,added:i}}(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===n.length)return!1;const i=n.map((e=>this._map.get(e))),r=t.map((e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)}))),s=this.model.deltaDecorations(i,r);for(const o of n)this._map.delete(o);for(let o=0;o<s.length;o++)this._map.set(t[o],s[o]);return!0}getMarker(e){return this._map.getKey(e.id)}_createDecorationRange(e,t){let n=p.Q.lift(t);if(t.severity!==o.Hint||this._hasMarkerTag(t,1)||this._hasMarkerTag(t,2)||(n=n.setEndPosition(n.startLineNumber,n.startColumn+2)),n=e.validateRange(n),n.isEmpty()){const t=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);if(1===t||n.endColumn>=t)return n;const i=e.getWordAtPosition(n.getStartPosition());i&&(n=new p.Q(n.startLineNumber,i.startColumn,n.endLineNumber,i.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){const i=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);i<n.endColumn&&(n=new p.Q(n.startLineNumber,i,n.endLineNumber,n.endColumn),t.startColumn=i)}return n}_createDecorationOption(e){let t,n,i,r,s;switch(e.severity){case o.Hint:t=this._hasMarkerTag(e,2)?void 0:this._hasMarkerTag(e,1)?"squiggly-unnecessary":"squiggly-hint",i=0;break;case o.Info:t="squiggly-info",n=(0,g.Yf)(f.AQ),i=10,s={color:(0,g.Yf)(k.KoI),position:1};break;case o.Warning:t="squiggly-warning",n=(0,g.Yf)(f.aZ),i=20,s={color:(0,g.Yf)(k.uMG),position:1};break;case o.Error:default:t="squiggly-error",n=(0,g.Yf)(f.yI),i=30,s={color:(0,g.Yf)(k.yLC),position:1}}return e.tags&&(-1!==e.tags.indexOf(1)&&(r="squiggly-inline-unnecessary"),-1!==e.tags.indexOf(2)&&(r="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:n,position:d.A5.Right},minimap:s,zIndex:i,inlineClassName:r}}_hasMarkerTag(e,t){return!!e.tags&&e.tags.indexOf(t)>=0}}},4830:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IModelService:()=>i});const i=(0,n(2399).u1)("modelService")},1327:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DefaultModelSHA1Computer:()=>wr,ModelService:()=>Lr});var i=n(2106),r=n(2446),s=n(3339),o=n(3338),a=n(4901),l=n(4327),h=n(6844),c=n(7264),u=n(3902);class d{static _nextVisibleColumn(e,t,n){return 9===e?d.nextRenderTabStop(t,n):h.ne(e)||h.Ss(e)?t+2:t+1}static visibleColumnFromColumn(e,t,n){const i=Math.min(t-1,e.length),r=e.substring(0,i),s=new h.km(r);let o=0;for(;!s.eol();){const e=h.Z5(r,i,s.offset);s.nextGraphemeLength(),o=this._nextVisibleColumn(e,o,n)}return o}static columnFromVisibleColumn(e,t,n){if(t<=0)return 1;const i=e.length,r=new h.km(e);let s=0,o=1;for(;!r.eol();){const a=h.Z5(e,i,r.offset);r.nextGraphemeLength();const l=this._nextVisibleColumn(a,s,n),c=r.offset+1;if(l>=t){return l-t<t-s?c:o}s=l,o=c}return i+1}static nextRenderTabStop(e,t){return e+t-e%t}static nextIndentTabStop(e,t){return e+t-e%t}static prevRenderTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}static prevIndentTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}}function g(e,t,n){let i=h.HG(e);return-1===i&&(i=e.length),function(e,t,n){let i=0;for(let s=0;s<e.length;s++)"\t"===e.charAt(s)?i=d.nextIndentTabStop(i,t):i++;let r="";if(!n){const e=Math.floor(i/t);i%=t;for(let t=0;t<e;t++)r+="\t"}for(let s=0;s<i;s++)r+=" ";return r}(e.substring(0,i),t,n)+e.substring(i)}var f=n(5365),m=n(8061),p=n(3702);const _={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var b,k=n(7922),v=n(8782);!function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(b||(b={}));class C{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,n=e.notIn.length;t<n;t++){switch(e.notIn[t]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1}}}isOK(e){switch(e){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(e,t){if(0===e.getTokenCount())return!0;const n=e.findTokenIndexAtOffset(t-2),i=e.getStandardTokenType(n);return this.isOK(i)}_findNeutralCharacterInRange(e,t){for(let n=e;n<=t;n++){const e=String.fromCharCode(n);if(!this.open.includes(e)&&!this.close.includes(e))return e}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}class L{constructor(e){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const t of e)w(this.autoClosingPairsOpenByStart,t.open.charAt(0),t),w(this.autoClosingPairsOpenByEnd,t.open.charAt(t.open.length-1),t),w(this.autoClosingPairsCloseByStart,t.close.charAt(0),t),w(this.autoClosingPairsCloseByEnd,t.close.charAt(t.close.length-1),t),1===t.close.length&&1===t.open.length&&w(this.autoClosingPairsCloseSingleChar,t.close,t)}}function w(e,t,n){e.has(t)?e.get(t).push(n):e.set(t,[n])}class y{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t"}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t"}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new C(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new C({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new C({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:y.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:y.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}function S(e){return!!(3&e)}var x=n(2802);let E,N,I;function T(){return E||(E=new TextDecoder("UTF-16LE")),E}function A(){return I||(I=s.cm()?T():(N||(N=new TextDecoder("UTF-16BE")),N)),I}function D(e,t,n){const i=new Uint16Array(e.buffer,t,n);return n>0&&(65279===i[0]||65534===i[0])?function(e,t,n){const i=[];let r=0;for(let s=0;s<n;s++){const n=x.$l(e,t);t+=2,i[r++]=String.fromCharCode(n)}return i.join("")}(e,t,n):T().decode(i)}class M{constructor(e,t,n,i,r,s){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=n,this.close=i,this.forwardRegex=r,this.reversedRegex=s,this._openSet=M._toSet(this.open),this._closeSet=M._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const n of e)t.add(n);return t}}class R{constructor(e,t){this._richEditBracketsBrand=void 0;const n=function(e){const t=e.length;e=e.map((e=>[e[0].toLowerCase(),e[1].toLowerCase()]));const n=[];for(let o=0;o<t;o++)n[o]=o;const i=(e,t)=>{const[n,i]=e,[r,s]=t;return n===r||n===s||i===r||i===s},r=(e,i)=>{const r=Math.min(e,i),s=Math.max(e,i);for(let o=0;o<t;o++)n[o]===s&&(n[o]=r)};for(let o=0;o<t;o++){const s=e[o];for(let a=o+1;a<t;a++)i(s,e[a])&&r(n[o],n[a])}const s=[];for(let o=0;o<t;o++){const i=[],r=[];for(let s=0;s<t;s++)if(n[s]===o){const[t,n]=e[s];i.push(t),r.push(n)}i.length>0&&s.push({open:i,close:r})}return s}(t);this.brackets=n.map(((t,i)=>new M(e,i,t.open,t.close,function(e,t,n,i){let r=[];r=r.concat(e),r=r.concat(t);for(let s=0,o=r.length;s<o;s++)O(r[s],n,i,r);return r=F(r),r.sort(B),r.reverse(),z(r)}(t.open,t.close,n,i),function(e,t,n,i){let r=[];r=r.concat(e),r=r.concat(t);for(let s=0,o=r.length;s<o;s++)O(r[s],n,i,r);return r=F(r),r.sort(B),r.reverse(),z(r.map(V))}(t.open,t.close,n,i)))),this.forwardRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=F(t),z(t)}(this.brackets),this.reversedRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=F(t),z(t.map(V))}(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const i of this.brackets){for(const e of i.open)this.textIsBracket[e]=i,this.textIsOpenBracket[e]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,e.length);for(const e of i.close)this.textIsBracket[e]=i,this.textIsOpenBracket[e]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,e.length)}}}function O(e,t,n,i){for(let r=0,s=t.length;r<s;r++){if(r===n)continue;const s=t[r];for(const t of s.open)t.indexOf(e)>=0&&i.push(t);for(const t of s.close)t.indexOf(e)>=0&&i.push(t)}}function B(e,t){return e.length-t.length}function F(e){if(e.length<=1)return e;const t=[],n=new Set;for(const i of e)n.has(i)||(t.push(i),n.add(i));return t}function P(e){const t=/^[\w ]+$/.test(e);return e=h.bm(e),t?`\\b${e}\\b`:e}function z(e,t){const n=`(${e.map(P).join(")|(")})`;return h.OS(n,!0,t)}const V=function(){let e=null,t=null;return function(n){return e!==n&&(e=n,t=function(e){const t=new Uint16Array(e.length);let n=0;for(let i=e.length-1;i>=0;i--)t[n++]=e.charCodeAt(i);return A().decode(t)}(e)),t}}();class W{static _findPrevBracketInText(e,t,n,i){const r=n.match(e);if(!r)return null;const s=n.length-(r.index||0),o=r[0].length,a=i+s;return new m.Q(t,a-o+1,t,a+1)}static findPrevBracketInRange(e,t,n,i,r){const s=V(n).substring(n.length-r,n.length-i);return this._findPrevBracketInText(e,t,s,i)}static findNextBracketInText(e,t,n,i){const r=n.match(e);if(!r)return null;const s=r.index||0,o=r[0].length;if(0===o)return null;const a=i+s;return new m.Q(t,a+1,t,a+1+o)}static findNextBracketInRange(e,t,n,i,r){const s=n.substring(i,r);return this.findNextBracketInText(e,t,s,i)}}class q{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const n of t.close){const t=n.charAt(n.length-1);e.push(t)}return(0,o.dM)(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const i=t.findTokenIndexAtOffset(n-1);if(S(t.getStandardTokenType(i)))return null;const r=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,n-1)+e,o=W.findPrevBracketInRange(r,1,s,0,s.length);if(!o)return null;const a=s.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const l=t.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function H(e){return e.global&&(e.lastIndex=0),!0}class U{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&H(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&H(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&H(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&H(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class j{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=j._createOpenBracketRegExp(e[0]),n=j._createCloseBracketRegExp(e[1]);t&&n&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:n})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,n,i){if(e>=3)for(let r=0,s=this._regExpRules.length;r<s;r++){const e=this._regExpRules[r];if([{reg:e.beforeText,text:n},{reg:e.afterText,text:i},{reg:e.previousLineText,text:t}].every((e=>!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return e.action}if(e>=2&&n.length>0&&i.length>0)for(let r=0,s=this._brackets.length;r<s;r++){const e=this._brackets[r];if(e.openRegExp.test(n)&&e.closeRegExp.test(i))return{indentAction:b.IndentOutdent}}if(e>=2&&n.length>0)for(let r=0,s=this._brackets.length;r<s;r++){if(this._brackets[r].openRegExp.test(n))return{indentAction:b.Indent}}return null}static _createOpenBracketRegExp(e){let t=h.bm(e);return/\B/.test(t.charAt(0))||(t="\\b"+t),t+="\\s*$",j._safeRegExp(t)}static _createCloseBracketRegExp(e){let t=h.bm(e);return/\B/.test(t.charAt(t.length-1))||(t+="\\b"),t="^\\s*"+t,j._safeRegExp(t)}static _safeRegExp(e){try{return new RegExp(e)}catch(t){return(0,l.dz)(t),null}}}var K=n(2399),$=n(5753),G=n(4412),Q=n(4957),Y=n(6260);class X{constructor(e,t){this.languageId=e;const n=t.brackets?Z(t.brackets):[],i=new Y.VV((e=>{const t=new Set;return{info:new ee(this,e,t),closing:t}})),r=new Y.VV((e=>{const t=new Set,n=new Set;return{info:new te(this,e,t,n),opening:t,openingColorized:n}}));for(const[o,a]of n){const e=i.get(o),t=r.get(a);e.closing.add(t.info),t.opening.add(e.info)}const s=t.colorizedBracketPairs?Z(t.colorizedBracketPairs):n.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[o,a]of s){const e=i.get(o),t=r.get(a);e.closing.add(t.info),t.openingColorized.add(e.info),t.opening.add(e.info)}this._openingBrackets=new Map([...i.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...r.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){return z(Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]),e)}}function Z(e){return e.filter((([e,t])=>""!==e&&""!==t))}class J{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class ee extends J{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}}class te extends J{constructor(e,t,n,i){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=i,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var ne=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},ie=function(e,t){return function(n,i){t(n,i,e)}};class re{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const se=(0,K.u1)("languageConfigurationService");let oe=class extends r.jG{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new ge),this.onDidChangeEmitter=this._register(new i.vl),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const n=new Set(Object.values(ae));this._register(this.configurationService.onDidChangeConfiguration((e=>{const t=e.change.keys.some((e=>n.has(e))),i=e.change.overrides.filter((([e,t])=>t.some((e=>n.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new re(void 0));else for(const n of i)this.languageService.isRegisteredLanguageId(n)&&(this.configurations.delete(n),this.onDidChangeEmitter.fire(new re(n)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new re(e.languageId))})))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,n,i){let r=t.getLanguageConfiguration(e);if(!r){if(!i.isRegisteredLanguageId(e))return new fe(e,{});r=new fe(e,{})}const s=function(e,t){const n=t.getValue(ae.brackets,{overrideIdentifier:e}),i=t.getValue(ae.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:le(n),colorizedBracketPairs:le(i)}}(r.languageId,n),o=ce([r.underlyingConfig,s]);return new fe(r.languageId,o)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};oe=ne([ie(0,$.pG),ie(1,k.L)],oe);const ae={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function le(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}class he{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const n=new ue(e,t,++this._order);return this._entries.push(n),this._resolved=null,(0,r.s)((()=>{for(let e=0;e<this._entries.length;e++)if(this._entries[e]===n){this._entries.splice(e,1),this._resolved=null;break}}))}getResolvedConfiguration(){if(!this._resolved){const e=this._resolve();e&&(this._resolved=new fe(this.languageId,e))}return this._resolved}_resolve(){return 0===this._entries.length?null:(this._entries.sort(ue.cmp),ce(this._entries.map((e=>e.configuration))))}}function ce(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}class ue{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class de{constructor(e){this.languageId=e}}class ge extends r.jG{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new i.vl),this.onDidChange=this._onDidChange.event,this._register(this.register(Q.vH,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let i=this._entries.get(e);i||(i=new he(e),this._entries.set(e,i));const s=i.register(t,n);return this._onDidChange.fire(new de(e)),(0,r.s)((()=>{s.dispose(),this._onDidChange.fire(new de(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class fe{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new j(this.underlyingConfig):null,this.comments=fe._handleComments(this.underlyingConfig),this.characterPair=new y(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||v.Ld,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new U(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new X(e,this.underlyingConfig)}getWordDefinition(){return(0,v.Io)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new R(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new q(this.brackets)),this._electricCharacter}onEnter(e,t,n,i){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,i):null}getAutoClosingPairs(){return new L(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){const[e,i]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=i}return n}}(0,G.v)(se,oe,1);var me=n(6055);class pe{constructor(e,t,n,i){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=n,this.isInvalid=i}}class _e{constructor(e,t,n,i,r,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=n,this.nestingLevel=i,this.nestingLevelOfEqualBracketType=r,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class be extends _e{constructor(e,t,n,i,r,s,o){super(e,t,n,i,r,s),this.minVisibleColumnIndentation=o}}var ke=n(8357);const ve=0;function Ce(e){return 0===e}const Le=2**26;function we(e,t){return e*Le+t}function ye(e){const t=e,n=Math.floor(t/Le),i=t-n*Le;return new ke.W(n,i)}function Se(e,t){let n=e+t;return t>=Le&&(n-=e%Le),n}function xe(e,t){return e.reduce(((e,n)=>Se(e,t(n))),ve)}function Ee(e,t){return e===t}function Ne(e,t){const n=e,i=t;if(i-n<=0)return ve;const r=Math.floor(n/Le),s=Math.floor(i/Le),o=i-s*Le;if(r===s){return we(0,o-(n-r*Le))}return we(s-r,o)}function Ie(e,t){return e<t}function Te(e,t){return e<=t}function Ae(e,t){return e>=t}function De(e){return we(e.lineNumber-1,e.column-1)}function Me(e,t){const n=e,i=Math.floor(n/Le),r=n-i*Le,s=t,o=Math.floor(s/Le),a=s-o*Le;return new m.Q(i+1,r+1,o+1,a+1)}class Re{static fromModelContentChanges(e){return e.map((e=>{const t=m.Q.lift(e.range);return new Re(De(t.getStartPosition()),De(t.getEndPosition()),function(e){const t=(0,h.uz)(e);return we(t.length-1,t[t.length-1].length)}(e.text))})).reverse()}constructor(e,t,n){this.startOffset=e,this.endOffset=t,this.newLength=n}toString(){return`[${ye(this.startOffset)}...${ye(this.endOffset)}) -> ${ye(this.newLength)}`}}class Oe{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>Be.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],n=t?this.translateOldToCur(t.offsetObj):null;return null===n?null:Ne(e,n)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?we(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):we(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=ye(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?we(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):we(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx<this.edits.length;){const t=this.edits[this.nextEditIdx],n=this.translateOldToCur(t.endOffsetAfterObj);if(!Te(n,e))break;{this.nextEditIdx++;const e=ye(n),i=ye(this.translateOldToCur(t.endOffsetBeforeObj)),r=e.lineCount-i.lineCount;this.deltaOldToNewLineCount+=r;const s=this.deltaLineIdxInOld===t.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,o=e.columnCount-i.columnCount;this.deltaOldToNewColumnCount=s+o,this.deltaLineIdxInOld=t.endOffsetBeforeObj.lineCount}}}}class Be{static from(e){return new Be(e.startOffset,e.endOffset,e.newLength)}constructor(e,t,n){this.endOffsetBeforeObj=ye(t),this.endOffsetAfterObj=ye(Se(e,n)),this.offsetObj=ye(e)}}const Fe=[];class Pe{static{this.cache=new Array(129)}static create(e,t){if(e<=128&&0===t.length){let n=Pe.cache[e];return n||(n=new Pe(e,t),Pe.cache[e]=n),n}return new Pe(e,t)}static{this.empty=Pe.create(0,Fe)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const n=t.getKey(e);let i=n>>5;if(0===i){const e=1<<n|this.items;return e===this.items?this:Pe.create(e,this.additionalItems)}i--;const r=this.additionalItems.slice(0);for(;r.length<i;)r.push(0);return r[i]|=1<<(31&n),Pe.create(this.items,r)}merge(e){const t=this.items|e.items;if(this.additionalItems===Fe&&e.additionalItems===Fe)return t===this.items?this:t===e.items?e:Pe.create(t,Fe);const n=[];for(let i=0;i<Math.max(this.additionalItems.length,e.additionalItems.length);i++){const t=this.additionalItems[i]||0,r=e.additionalItems[i]||0;n.push(t|r)}return Pe.create(t,n)}intersects(e){if(this.items&e.items)return!0;for(let t=0;t<Math.min(this.additionalItems.length,e.additionalItems.length);t++)if(this.additionalItems[t]&e.additionalItems[t])return!0;return!1}}const ze={getKey:e=>e};class Ve{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}class We{get length(){return this._length}constructor(e){this._length=e}}class qe extends We{static create(e,t,n){let i=e.length;return t&&(i=Se(i,t.length)),n&&(i=Se(i,n.length)),new qe(i,e,t,n,t?t.missingOpeningBracketIds:Pe.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,n,i,r){super(e),this.openingBracket=t,this.child=n,this.closingBracket=i,this.missingOpeningBracketIds=r}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new qe(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(Se(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class He extends We{static create23(e,t,n,i=!1){let r=e.length,s=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(r=Se(r,t.length),s=s.merge(t.missingOpeningBracketIds),n){if(e.listHeight!==n.listHeight)throw new Error("Invalid list heights");r=Se(r,n.length),s=s.merge(n.missingOpeningBracketIds)}return i?new je(r,e.listHeight+1,e,t,n,s):new Ue(r,e.listHeight+1,e,t,n,s)}static getEmpty(){return new $e(ve,0,[],Pe.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,n){super(e),this.listHeight=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),n=4===t.kind?t.toMutable():t;return t!==n&&this.setChild(e-1,n),n}makeFirstElementMutable(){this.throwIfImmutable();if(0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new l.D7;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,n=this.getChild(0).missingOpeningBracketIds;for(let i=1;i<e;i++){const e=this.getChild(i);t=Se(t,e.length),n=n.merge(e.missingOpeningBracketIds)}this._length=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}computeMinIndentation(e,t){if(-1!==this.cachedMinIndentation)return this.cachedMinIndentation;let n=Number.MAX_SAFE_INTEGER,i=e;for(let r=0;r<this.childrenLength;r++){const e=this.getChild(r);e&&(n=Math.min(n,e.computeMinIndentation(i,t)),i=Se(i,e.length))}return this.cachedMinIndentation=n,n}}class Ue extends He{get childrenLength(){return null!==this._item3?3:2}getChild(e){switch(e){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(e,t){switch(e){case 0:return void(this._item1=t);case 1:return void(this._item2=t);case 2:return void(this._item3=t)}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(e,t,n,i,r,s){super(e,t,s),this._item1=n,this._item2=i,this._item3=r}deepClone(){return new Ue(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=e,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item3;return this._item3=null,this.handleChildrenChanged(),e}prependChildOfSameHeight(e){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=e,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),e}toMutable(){return this}}class je extends Ue{toMutable(){return new Ue(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class Ke extends He{get childrenLength(){return this._children.length}getChild(e){return this._children[e]}setChild(e,t){this._children[e]=t}get children(){return this._children}constructor(e,t,n,i){super(e,t,i),this._children=n}deepClone(){const e=new Array(this._children.length);for(let t=0;t<this._children.length;t++)e[t]=this._children[t].deepClone();return new Ke(this.length,this.listHeight,e,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){this.throwIfImmutable(),this._children.push(e),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const e=this._children.pop();return this.handleChildrenChanged(),e}prependChildOfSameHeight(e){this.throwIfImmutable(),this._children.unshift(e),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const e=this._children.shift();return this.handleChildrenChanged(),e}toMutable(){return this}}class $e extends Ke{toMutable(){return new Ke(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const Ge=[];class Qe extends We{get listHeight(){return 0}get childrenLength(){return 0}getChild(e){return null}get children(){return Ge}deepClone(){return this}}class Ye extends Qe{get kind(){return 0}get missingOpeningBracketIds(){return Pe.getEmpty()}canBeReused(e){return!0}computeMinIndentation(e,t){const n=ye(e),i=(0===n.columnCount?n.lineCount:n.lineCount+1)+1,r=(s=Se(e,this.length),Math.floor(s/Le)+1);var s;let o=Number.MAX_SAFE_INTEGER;for(let a=i;a<=r;a++){const e=t.getLineFirstNonWhitespaceColumn(a),n=t.getLineContent(a);if(0===e)continue;const i=d.visibleColumnFromColumn(n,e,t.getOptions().tabSize);o=Math.min(o,i)}return o}}class Xe extends Qe{static create(e,t,n){return new Xe(e,t,n)}get kind(){return 1}get missingOpeningBracketIds(){return Pe.getEmpty()}constructor(e,t,n){super(e),this.bracketInfo=t,this.bracketIds=n}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(e){return!1}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}class Ze extends Qe{get kind(){return 3}constructor(e,t){super(t),this.missingOpeningBracketIds=e}canBeReused(e){return!e.intersects(this.missingOpeningBracketIds)}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}var Je=n(5910);class et{constructor(e,t,n,i,r){this.length=e,this.kind=t,this.bracketId=n,this.bracketIds=i,this.astNode=r}}class tt{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new nt(this.textModel,this.bracketTokens),this._offset=ve,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return we(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=Se(this._offset,e);const t=ye(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=Se(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class nt{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=e.length,e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let n=0;for(;;){const i=this.lineTokens,r=i.getCount();let s=null;if(this.lineTokenOffset<r){const o=i.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<r&&o===i.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const a=0===Je.x.getTokenType(o),l=Je.x.containsBalancedBrackets(o),h=i.getEndOffset(this.lineTokenOffset);if(l&&a&&this.lineCharOffset<h){const e=i.getLanguageId(this.lineTokenOffset),t=this.line.substring(this.lineCharOffset,h),n=this.bracketTokens.getSingleLanguageBracketTokens(e),r=n.regExpGlobal;if(r){r.lastIndex=0;const e=r.exec(t);e&&(s=n.getToken(e[0]),s&&(this.lineCharOffset+=e.index))}}if(n+=h-this.lineCharOffset,s){if(e!==this.lineIdx||t!==this.lineCharOffset){this.peekedToken=s;break}return this.lineCharOffset+=s.length,s}this.lineTokenOffset++,this.lineCharOffset=h}else{if(this.lineIdx===this.textBufferLineCount-1)break;if(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,n+=33,n>1e3)break}if(n>1500)break}const i=(r=e,s=t,o=this.lineIdx,a=this.lineCharOffset,r!==o?we(o-r,a):we(0,a-s));var r,s,o,a;return new et(i,0,-1,Pe.getEmpty(),new Ye(i))}}class it{constructor(e,t){this.text=e,this._offset=ve,this.idx=0;const n=t.getRegExpStr(),i=n?new RegExp(n+"|\n","gi"):null,r=[];let s,o=0,a=0,l=0,h=0;const c=[];for(let g=0;g<60;g++)c.push(new et(we(0,g),0,-1,Pe.getEmpty(),new Ye(we(0,g))));const u=[];for(let g=0;g<60;g++)u.push(new et(we(1,g),0,-1,Pe.getEmpty(),new Ye(we(1,g))));if(i)for(i.lastIndex=0;null!==(s=i.exec(e));){const e=s.index,n=s[0];if("\n"===n)o++,a=e+1;else{if(l!==e){let t;if(h===o){const n=e-l;if(n<c.length)t=c[n];else{const e=we(0,n);t=new et(e,0,-1,Pe.getEmpty(),new Ye(e))}}else{const n=o-h,i=e-a;if(1===n&&i<u.length)t=u[i];else{const e=we(n,i);t=new et(e,0,-1,Pe.getEmpty(),new Ye(e))}}r.push(t)}r.push(t.getToken(n)),l=e+n.length,h=o}}const d=e.length;if(l!==d){const e=h===o?we(0,d-l):we(o-h,d-a);r.push(new et(e,0,-1,Pe.getEmpty(),new Ye(e)))}this.length=we(o,d-a),this.tokens=r}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(e){throw new l.EM}}class rt{static createFromLanguage(e,t){function n(e){return t.getKey(`${e.languageId}:::${e.bracketText}`)}const i=new Map;for(const r of e.bracketsNew.openingBrackets){const e=we(0,r.bracketText.length),t=n(r),s=Pe.getEmpty().add(t,ze);i.set(r.bracketText,new et(e,1,t,s,Xe.create(e,r,s)))}for(const r of e.bracketsNew.closingBrackets){const e=we(0,r.bracketText.length);let t=Pe.getEmpty();const s=r.getOpeningBrackets();for(const i of s)t=t.add(n(i),ze);i.set(r.bracketText,new et(e,2,n(s[0]),t,Xe.create(e,r,t)))}return new rt(i)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map((e=>function(e){let t=(0,h.bm)(e);/^[\w ]+/.test(e)&&(t=`\\b${t}`);/[\w ]+$/.test(e)&&(t=`${t}\\b`);return t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,n]of this.map)if(2===n.kind&&n.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class st{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=rt.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function ot(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let n=e.length;for(;n>3;){const i=n>>1;for(let r=0;r<i;r++){const i=r<<1;e[r]=He.create23(e[i],e[i+1],i+3===n?e[i+2]:null,t)}n=i}return He.create23(e[0],e[1],n>=3?e[2]:null,t)}function at(e,t){return Math.abs(e.listHeight-t.listHeight)}function lt(e,t){return e.listHeight===t.listHeight?He.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let n=e=e.toMutable();const i=[];let r;for(;;){if(t.listHeight===n.listHeight){r=t;break}if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeLastElementMutable()}for(let s=i.length-1;s>=0;s--){const e=i[s];r?e.childrenLength>=3?r=He.create23(e.unappendChild(),r,null,!1):(e.appendChildOfSameHeight(r),r=void 0):e.handleChildrenChanged()}return r?He.create23(e,r,null,!1):e}(e,t):function(e,t){let n=e=e.toMutable();const i=[];for(;t.listHeight!==n.listHeight;){if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeFirstElementMutable()}let r=t;for(let s=i.length-1;s>=0;s--){const e=i[s];r?e.childrenLength>=3?r=He.create23(r,e.unprependChild(),null,!1):(e.prependChildOfSameHeight(r),r=void 0):e.handleChildrenChanged()}return r?He.create23(r,e,null,!1):e}(t,e)}class ht{constructor(e){this.lastOffset=ve,this.nextNodes=[e],this.offsets=[ve],this.idxs=[]}readLongestNodeAt(e,t){if(Ie(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const n=ut(this.nextNodes);if(!n)return;const i=ut(this.offsets);if(Ie(e,i))return;if(Ie(i,e))if(Se(i,n.length)<=e)this.nextNodeAfterCurrent();else{const e=ct(n);-1!==e?(this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(n))return this.nextNodeAfterCurrent(),n;{const e=ct(n);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=ut(this.offsets),t=ut(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const n=ut(this.nextNodes),i=ct(n,this.idxs[this.idxs.length-1]);if(-1!==i){this.nextNodes.push(n.getChild(i)),this.offsets.push(Se(e,t.length)),this.idxs[this.idxs.length-1]=i;break}this.idxs.pop()}}}function ct(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function ut(e){return e.length>0?e[e.length-1]:void 0}function dt(e,t,n,i){return new gt(e,t,n,i).parseDocument()}class gt{constructor(e,t,n,i){if(this.tokenizer=e,this.createImmutableLists=i,this._itemsConstructed=0,this._itemsFromCache=0,n&&i)throw new Error("Not supported");this.oldNodeReader=n?new ht(n):void 0,this.positionMapper=new Oe(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Pe.getEmpty(),0);return e||(e=He.getEmpty()),e}parseList(e,t){const n=[];for(;;){let i=this.tryReadChildFromCache(e);if(!i){const n=this.tokenizer.peek();if(!n||2===n.kind&&n.bracketIds.intersects(e))break;i=this.parseChild(e,t+1)}4===i.kind&&0===i.childrenLength||n.push(i)}const i=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function n(){if(t>=e.length)return null;const n=t,i=e[n].listHeight;for(t++;t<e.length&&e[t].listHeight===i;)t++;return t-n>=2?ot(0===n&&t===e.length?e:e.slice(n,t),!1):e[n]}let i=n(),r=n();if(!r)return i;for(let s=n();s;s=n())at(i,r)<=at(r,s)?(i=lt(i,r),r=s):r=lt(r,s);return lt(i,r)}(n):ot(n,this.createImmutableLists);return i}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!Ce(t)){const n=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(n=>{if(null!==t&&!Ie(n.length,t))return!1;return n.canBeReused(e)}));if(n)return this._itemsFromCache++,this.tokenizer.skip(n.length),n}}}parseChild(e,t){this._itemsConstructed++;const n=this.tokenizer.read();switch(n.kind){case 2:return new Ze(n.bracketIds,n.length);case 0:return n.astNode;case 1:{if(t>300)return new Ye(n.length);const i=e.merge(n.bracketIds),r=this.parseList(i,t+1),s=this.tokenizer.peek();return s&&2===s.kind&&(s.bracketId===n.bracketId||s.bracketIds.intersects(n.bracketIds))?(this.tokenizer.read(),qe.create(n.astNode,r,s.astNode)):qe.create(n.astNode,r,null)}default:throw new Error("unexpected")}}}function ft(e,t){if(0===e.length)return t;if(0===t.length)return e;const n=new o.j3(pt(e)),i=pt(t);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let r=n.dequeue();function s(e){if(void 0===e){const e=n.takeWhile((e=>!0))||[];return r&&e.unshift(r),e}const t=[];for(;r&&!Ce(e);){const[i,s]=r.splitAt(e);t.push(i),e=Ne(i.lengthAfter,e),r=s??n.dequeue()}return Ce(e)||t.push(new mt(!1,e,e)),t}const a=[];function l(e,t,n){if(a.length>0&&Ee(a[a.length-1].endOffset,e)){const e=a[a.length-1];a[a.length-1]=new Re(e.startOffset,t,Se(e.newLength,n))}else a.push({startOffset:e,endOffset:t,newLength:n})}let h=ve;for(const o of i){const e=s(o.lengthBefore);if(o.modified){const t=Se(h,xe(e,(e=>e.lengthBefore)));l(h,t,o.lengthAfter),h=t}else for(const t of e){const e=h;h=Se(h,t.lengthBefore),t.modified&&l(e,h,t.lengthAfter)}}return a}class mt{constructor(e,t,n){this.modified=e,this.lengthBefore=t,this.lengthAfter=n}splitAt(e){const t=Ne(e,this.lengthAfter);return Ee(t,ve)?[this,void 0]:this.modified?[new mt(this.modified,this.lengthBefore,e),new mt(this.modified,ve,t)]:[new mt(this.modified,e,e),new mt(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${ye(this.lengthBefore)} -> ${ye(this.lengthAfter)}`}}function pt(e){const t=[];let n=ve;for(const i of e){const e=Ne(n,i.startOffset);Ce(e)||t.push(new mt(!1,e,e));const r=Ne(i.startOffset,i.endOffset);t.push(new mt(!0,r,i.newLength)),n=i.endOffset}return t}class _t extends r.jG{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new i.vl,this.denseKeyProvider=new Ve,this.brackets=new st(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new it(this.textModel.getValue(),e);this.initialAstWithoutTokens=dt(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new Re(we(e.fromLineNumber-1,0),we(e.toLineNumber,0),we(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=Re.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const n=ft(this.queuedTextEdits,e);this.queuedTextEdits=n,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=ft(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,n){const i=t;return dt(new tt(this.textModel,this.brackets),e,i,n)}getBracketsInRange(e,t){this.flushQueue();const n=we(e.startLineNumber-1,e.startColumn-1),i=we(e.endLineNumber-1,e.endColumn-1);return new o.c1((e=>{const r=this.initialAstWithoutTokens||this.astWithTokens;vt(r,ve,r.length,n,i,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const n=De(e.getStartPosition()),i=De(e.getEndPosition());return new o.c1((e=>{const r=this.initialAstWithoutTokens||this.astWithTokens,s=new Ct(e,t,this.textModel);Lt(r,ve,r.length,n,i,s,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return kt(t,ve,t.length,De(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return bt(t,ve,t.length,De(e))}}function bt(e,t,n,i){if(4===e.kind||2===e.kind){const r=[];for(const i of e.children)n=Se(t,i.length),r.push({nodeOffsetStart:t,nodeOffsetEnd:n}),t=n;for(let t=r.length-1;t>=0;t--){const{nodeOffsetStart:n,nodeOffsetEnd:s}=r[t];if(Ie(n,i)){const r=bt(e.children[t],n,s,i);if(r)return r}}return null}if(3===e.kind)return null;if(1===e.kind){const i=Me(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function kt(e,t,n,i){if(4===e.kind||2===e.kind){for(const r of e.children){if(Ie(i,n=Se(t,r.length))){const e=kt(r,t,n,i);if(e)return e}t=n}return null}if(3===e.kind)return null;if(1===e.kind){const i=Me(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function vt(e,t,n,i,r,s,o,a,l,h,c=!1){if(o>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let c=0;c<a;c++){const a=e.getChild(c);if(a){if(n=Se(t,a.length),Te(t,r)&&Ae(n,i)){if(Ae(n,r)){e=a;continue e}if(!vt(a,t,n,i,r,s,o,0,l,h))return!1}t=n}}return!0}case 2:{const c=!h||!e.closingBracket||e.closingBracket.bracketInfo.closesColorized(e.openingBracket.bracketInfo);let u=0;if(l){let t=l.get(e.openingBracket.text);void 0===t&&(t=0),u=t,c&&(t++,l.set(e.openingBracket.text,t))}const d=e.childrenLength;for(let g=0;g<d;g++){const d=e.getChild(g);if(d){if(n=Se(t,d.length),Te(t,r)&&Ae(n,i)){if(Ae(n,r)&&1!==d.kind){e=d,c?(o++,a=u+1):a=u;continue e}if(c||1!==d.kind||!e.closingBracket){if(!vt(d,t,n,i,r,s,c?o+1:o,c?u+1:u,l,h,!e.closingBracket))return!1}}t=n}}return l?.set(e.openingBracket.text,u),!0}case 3:{const e=Me(t,n);return s(new pe(e,o-1,0,!0))}case 1:{const e=Me(t,n);return s(new pe(e,o-1,a-1,c))}case 0:return!0}}class Ct{constructor(e,t,n){this.push=e,this.includeMinIndentation=t,this.textModel=n}}function Lt(e,t,n,i,r,s,o,a){if(o>200)return!0;let l=!0;if(2===e.kind){let h=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),h=t,t++,a.set(e.openingBracket.text,t)}const c=Se(t,e.openingBracket.length);let u=-1;if(s.includeMinIndentation&&(u=e.computeMinIndentation(t,s.textModel)),l=s.push(new be(Me(t,n),Me(t,c),e.closingBracket?Me(Se(c,e.child?.length||ve),n):void 0,o,h,e,u)),t=c,l&&e.child){const h=e.child;if(n=Se(t,h.length),Te(t,r)&&Ae(n,i)&&(l=Lt(h,t,n,i,r,s,o+1,a),!l))return!1}a?.set(e.openingBracket.text,h)}else{let n=t;for(const t of e.children){const e=n;if(n=Se(n,t.length),Te(e,r)&&Te(i,n)&&(l=Lt(t,e,n,i,r,s,o,a),!l))return!1}}return l}class wt extends r.jG{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new r.HE),this.onDidChangeEmitter=new i.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){e.languageId&&!this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const n=new r.Cm;this.bracketPairsTree.value=(e=n.add(new _t(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=n,{object:e,dispose:()=>t?.dispose()}),n.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||o.c1.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||o.c1.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||o.c1.empty}findMatchingBracketUp(e,t,n){const i=this.textModel.validatePosition(t),r=this.textModel.getLanguageIdAtPosition(i.lineNumber,i.column);if(this.canBuildAST){const n=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew.getClosingBracketInfo(e);if(!n)return null;const i=this.getBracketPairsInRange(m.Q.fromPositions(t,t)).findLast((e=>n.closes(e.openingBracketInfo)));return i?i.openingBracketRange:null}{const t=e.toLowerCase(),s=this.languageConfigurationService.getLanguageConfiguration(r).brackets;if(!s)return null;const o=s.textIsBracket[t];return o?xt(this._findMatchingBracketUp(o,i,yt(n))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(m.Q.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy((0,o.VE)((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),m.Q.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const n=yt(t);return this._matchBracket(this.textModel.validatePosition(e),n)}}_establishBracketSearchOffsets(e,t,n,i){const r=t.getCount(),s=t.getLanguageId(i);let o=Math.max(0,e.column-1-n.maxBracketLength);for(let l=i-1;l>=0;l--){const e=t.getEndOffset(l);if(e<=o)break;if(S(t.getStandardTokenType(l))||t.getLanguageId(l)!==s){o=e;break}}let a=Math.min(t.getLineContent().length,e.column-1+n.maxBracketLength);for(let l=i+1;l<r;l++){const e=t.getStartOffset(l);if(e>=a)break;if(S(t.getStandardTokenType(l))||t.getLanguageId(l)!==s){a=e;break}}return{searchStartOffset:o,searchEndOffset:a}}_matchBracket(e,t){const n=e.lineNumber,i=this.textModel.tokenization.getLineTokens(n),r=this.textModel.getLineContent(n),s=i.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const o=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(s)).brackets;if(o&&!S(i.getStandardTokenType(s))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,i,o,s),h=null;for(;;){const i=W.findNextBracketInRange(o.forwardRegex,n,r,a,l);if(!i)break;if(i.startColumn<=e.column&&e.column<=i.endColumn){const e=r.substring(i.startColumn-1,i.endColumn-1).toLowerCase(),n=this._matchFoundBracket(i,o.textIsBracket[e],o.textIsOpenBracket[e],t);if(n){if(n instanceof St)return null;h=n}}a=i.endColumn-1}if(h)return h}if(s>0&&i.getStartOffset(s)===e.column-1){const o=s-1,a=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(o)).brackets;if(a&&!S(i.getStandardTokenType(o))){const{searchStartOffset:s,searchEndOffset:l}=this._establishBracketSearchOffsets(e,i,a,o),h=W.findPrevBracketInRange(a.reversedRegex,n,r,s,l);if(h&&h.startColumn<=e.column&&e.column<=h.endColumn){const e=r.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),n=this._matchFoundBracket(h,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(n)return n instanceof St?null:n}}}return null}_matchFoundBracket(e,t,n,i){if(!t)return null;const r=n?this._findMatchingBracketDown(t,e.getEndPosition(),i):this._findMatchingBracketUp(t,e.getStartPosition(),i);return r?r instanceof St?r:[e,r]:null}_findMatchingBracketUp(e,t,n){const i=e.languageId,r=e.reversedRegex;let s=-1,o=0;const a=(t,i,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return St.INSTANCE;const h=W.findPrevBracketInRange(r,t,i,a,l);if(!h)break;const c=i.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(c)?s++:e.isClose(c)&&s--,0===s)return h;l=h.startColumn-1}return null};for(let l=t.lineNumber;l>=1;l--){const e=this.textModel.tokenization.getLineTokens(l),n=e.getCount(),r=this.textModel.getLineContent(l);let s=n-1,o=r.length,h=r.length;l===t.lineNumber&&(s=e.findTokenIndexAtOffset(t.column-1),o=t.column-1,h=t.column-1);let c=!0;for(;s>=0;s--){const t=e.getLanguageId(s)===i&&!S(e.getStandardTokenType(s));if(t)c?o=e.getStartOffset(s):(o=e.getStartOffset(s),h=e.getEndOffset(s));else if(c&&o!==h){const e=a(l,r,o,h);if(e)return e}c=t}if(c&&o!==h){const e=a(l,r,o,h);if(e)return e}}return null}_findMatchingBracketDown(e,t,n){const i=e.languageId,r=e.forwardRegex;let s=1,o=0;const a=(t,i,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return St.INSTANCE;const h=W.findNextBracketInRange(r,t,i,a,l);if(!h)break;const c=i.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(c)?s++:e.isClose(c)&&s--,0===s)return h;a=h.endColumn-1}return null},l=this.textModel.getLineCount();for(let h=t.lineNumber;h<=l;h++){const e=this.textModel.tokenization.getLineTokens(h),n=e.getCount(),r=this.textModel.getLineContent(h);let s=0,o=0,l=0;h===t.lineNumber&&(s=e.findTokenIndexAtOffset(t.column-1),o=t.column-1,l=t.column-1);let c=!0;for(;s<n;s++){const t=e.getLanguageId(s)===i&&!S(e.getStandardTokenType(s));if(t)c||(o=e.getStartOffset(s)),l=e.getEndOffset(s);else if(c&&o!==l){const e=a(h,r,o,l);if(e)return e}c=t}if(c&&o!==l){const e=a(h,r,o,l);if(e)return e}}return null}findPrevBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(t)||null;let n=null,i=null,r=null;for(let s=t.lineNumber;s>=1;s--){const e=this.textModel.tokenization.getLineTokens(s),o=e.getCount(),a=this.textModel.getLineContent(s);let l=o-1,h=a.length,c=a.length;if(s===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),h=t.column-1,c=t.column-1;const s=e.getLanguageId(l);n!==s&&(n=s,i=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let u=!0;for(;l>=0;l--){const t=e.getLanguageId(l);if(n!==t){if(i&&r&&u&&h!==c){const e=W.findPrevBracketInRange(i.reversedRegex,s,a,h,c);if(e)return this._toFoundBracket(r,e);u=!1}n=t,i=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew}const o=!!i&&!S(e.getStandardTokenType(l));if(o)u?h=e.getStartOffset(l):(h=e.getStartOffset(l),c=e.getEndOffset(l));else if(r&&i&&u&&h!==c){const e=W.findPrevBracketInRange(i.reversedRegex,s,a,h,c);if(e)return this._toFoundBracket(r,e)}u=o}if(r&&i&&u&&h!==c){const e=W.findPrevBracketInRange(i.reversedRegex,s,a,h,c);if(e)return this._toFoundBracket(r,e)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const n=this.textModel.getLineCount();let i=null,r=null,s=null;for(let o=t.lineNumber;o<=n;o++){const e=this.textModel.tokenization.getLineTokens(o),n=e.getCount(),a=this.textModel.getLineContent(o);let l=0,h=0,c=0;if(o===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),h=t.column-1,c=t.column-1;const n=e.getLanguageId(l);i!==n&&(i=n,r=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let u=!0;for(;l<n;l++){const t=e.getLanguageId(l);if(i!==t){if(s&&r&&u&&h!==c){const e=W.findNextBracketInRange(r.forwardRegex,o,a,h,c);if(e)return this._toFoundBracket(s,e);u=!1}i=t,r=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const n=!!r&&!S(e.getStandardTokenType(l));if(n)u||(h=e.getStartOffset(l)),c=e.getEndOffset(l);else if(s&&r&&u&&h!==c){const e=W.findNextBracketInRange(r.forwardRegex,o,a,h,c);if(e)return this._toFoundBracket(s,e)}u=n}if(s&&r&&u&&h!==c){const e=W.findNextBracketInRange(r.forwardRegex,o,a,h,c);if(e)return this._toFoundBracket(s,e)}}return null}findEnclosingBrackets(e,t){const n=this.textModel.validatePosition(e);if(this.canBuildAST){const e=m.Q.fromPositions(n),t=this.getBracketPairsInRange(m.Q.fromPositions(n,n)).findLast((t=>void 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const i=yt(t),r=this.textModel.getLineCount(),s=new Map;let o=[];const a=(e,t)=>{if(!s.has(e)){const n=[];for(let e=0,i=t?t.brackets.length:0;e<i;e++)n[e]=0;s.set(e,n)}o=s.get(e)};let l=0;const h=(e,t,n,r,s)=>{for(;;){if(i&&++l%100==0&&!i())return St.INSTANCE;const a=W.findNextBracketInRange(e.forwardRegex,t,n,r,s);if(!a)break;const h=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),c=e.textIsBracket[h];if(c&&(c.isOpen(h)?o[c.index]++:c.isClose(h)&&o[c.index]--,-1===o[c.index]))return this._matchFoundBracket(a,c,!1,i);r=a.endColumn-1}return null};let c=null,u=null;for(let d=n.lineNumber;d<=r;d++){const e=this.textModel.tokenization.getLineTokens(d),t=e.getCount(),i=this.textModel.getLineContent(d);let r=0,s=0,o=0;if(d===n.lineNumber){r=e.findTokenIndexAtOffset(n.column-1),s=n.column-1,o=n.column-1;const t=e.getLanguageId(r);c!==t&&(c=t,u=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a(c,u))}let l=!0;for(;r<t;r++){const t=e.getLanguageId(r);if(c!==t){if(u&&l&&s!==o){const e=h(u,d,i,s,o);if(e)return xt(e);l=!1}c=t,u=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a(c,u)}const n=!!u&&!S(e.getStandardTokenType(r));if(n)l||(s=e.getStartOffset(r)),o=e.getEndOffset(r);else if(u&&l&&s!==o){const e=h(u,d,i,s,o);if(e)return xt(e)}l=n}if(u&&l&&s!==o){const e=h(u,d,i,s,o);if(e)return xt(e)}}return null}_toFoundBracket(e,t){if(!t)return null;let n=this.textModel.getValueInRange(t);n=n.toLowerCase();const i=e.getBracketInfo(n);return i?{range:t,bracketInfo:i}:null}}function yt(e){if(void 0===e)return()=>!0;{const t=Date.now();return()=>Date.now()-t<=e}}class St{static{this.INSTANCE=new St}constructor(){this._searchCanceledBrand=void 0}}function xt(e){return e instanceof St?null:e}var Et=n(8295),Nt=n(6001);class It extends r.jG{constructor(e){super(),this.textModel=e,this.colorProvider=new Tt,this.onDidChangeEmitter=new i.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,n,i){if(i)return[];if(void 0===t)return[];if(!this.colorizationOptions.enabled)return[];return this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray()}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new m.Q(1,1,this.textModel.getLineCount(),1),e,t):[]}}class Tt{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}(0,Nt.zy)(((e,t)=>{const n=[Et.sN,Et.lQ,Et.ss,Et.l5,Et.sH,Et.zp],i=new Tt;t.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${e.getColor(Et.s7)}; }`);const r=n.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let s=0;s<30;s++){const e=r[s%r.length];t.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(s)} { color: ${e}; }`)}}));var At=n(7289);function Dt(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class Mt{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,i){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=i}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${Dt(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${Dt(this.oldText)}")`:`(replace@${this.oldPosition} "${Dt(this.oldText)}" with "${Dt(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,n){const i=t.length;x.Sw(e,i,n),n+=4;for(let r=0;r<i;r++)x.gN(e,t.charCodeAt(r),n),n+=2;return n}static _readString(e,t){const n=x.bb(e,t);return D(e,t+=4,n)}writeSize(){return 8+Mt._writeStringSize(this.oldText)+Mt._writeStringSize(this.newText)}write(e,t){return x.Sw(e,this.oldPosition,t),t+=4,x.Sw(e,this.newPosition,t),t+=4,t=Mt._writeString(e,this.oldText,t),t=Mt._writeString(e,this.newText,t)}static read(e,t,n){const i=x.bb(e,t);t+=4;const r=x.bb(e,t);t+=4;const s=Mt._readString(e,t);t+=Mt._writeStringSize(s);const o=Mt._readString(e,t);return t+=Mt._writeStringSize(o),n.push(new Mt(i,s,r,o)),t}}class Rt{constructor(e,t){this._prevEdits=e,this._currEdits=t,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let e=0,t=0,n=this._getPrev(e),i=this._getCurr(t);for(;e<this._prevLen||t<this._currLen;){if(null===n){this._acceptCurr(i),i=this._getCurr(++t);continue}if(null===i){this._acceptPrev(n),n=this._getPrev(++e);continue}if(i.oldEnd<=n.newPosition){this._acceptCurr(i),i=this._getCurr(++t);continue}if(n.newEnd<=i.oldPosition){this._acceptPrev(n),n=this._getPrev(++e);continue}if(i.oldPosition<n.newPosition){const[e,t]=Rt._splitCurr(i,n.newPosition-i.oldPosition);this._acceptCurr(e),i=t;continue}if(n.newPosition<i.oldPosition){const[e,t]=Rt._splitPrev(n,i.oldPosition-n.newPosition);this._acceptPrev(e),n=t;continue}let r,s;if(i.oldEnd===n.newEnd)r=n,s=i,n=this._getPrev(++e),i=this._getCurr(++t);else if(i.oldEnd<n.newEnd){const[e,o]=Rt._splitPrev(n,i.oldLength);r=e,s=i,n=o,i=this._getCurr(++t)}else{const[t,o]=Rt._splitCurr(i,n.newLength);r=n,s=t,n=this._getPrev(++e),i=o}this._result[this._resultLen++]=new Mt(r.oldPosition,r.oldText,s.newPosition,s.newText),this._prevDeltaOffset+=r.newLength-r.oldLength,this._currDeltaOffset+=s.newLength-s.oldLength}const r=Rt._merge(this._result);return Rt._removeNoOps(r)}_acceptCurr(e){this._result[this._resultLen++]=Rt._rebaseCurr(this._prevDeltaOffset,e),this._currDeltaOffset+=e.newLength-e.oldLength}_getCurr(e){return e<this._currLen?this._currEdits[e]:null}_acceptPrev(e){this._result[this._resultLen++]=Rt._rebasePrev(this._currDeltaOffset,e),this._prevDeltaOffset+=e.newLength-e.oldLength}_getPrev(e){return e<this._prevLen?this._prevEdits[e]:null}static _rebaseCurr(e,t){return new Mt(t.oldPosition-e,t.oldText,t.newPosition,t.newText)}static _rebasePrev(e,t){return new Mt(t.oldPosition,t.oldText,t.newPosition+e,t.newText)}static _splitPrev(e,t){const n=e.newText.substr(0,t),i=e.newText.substr(t);return[new Mt(e.oldPosition,e.oldText,e.newPosition,n),new Mt(e.oldEnd,"",e.newPosition+t,i)]}static _splitCurr(e,t){const n=e.oldText.substr(0,t),i=e.oldText.substr(t);return[new Mt(e.oldPosition,n,e.newPosition,e.newText),new Mt(e.oldPosition+t,i,e.newEnd,"")]}static _merge(e){if(0===e.length)return e;const t=[];let n=0,i=e[0];for(let r=1;r<e.length;r++){const s=e[r];i.oldEnd===s.oldPosition?i=new Mt(i.oldPosition,i.oldText+s.oldText,i.newPosition,i.newText+s.newText):(t[n++]=i,i=s)}return t[n++]=i,t}static _removeNoOps(e){if(0===e.length)return e;const t=[];let n=0;for(let i=0;i<e.length;i++){const r=e[i];r.oldText!==r.newText&&(t[n++]=r)}return t}}var Ot=n(2467);function Bt(e){return e.toString()}class Ft{static create(e,t){const n=e.getAlternativeVersionId(),i=Vt(e);return new Ft(n,n,i,i,t,t,[])}constructor(e,t,n,i,r,s,o){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=n,this.afterEOL=i,this.beforeCursorState=r,this.afterCursorState=s,this.changes=o}append(e,t,n,i,r){var s,o;t.length>0&&(this.changes=(s=this.changes,o=t,null===s||0===s.length?o:new Rt(s,o).compress())),this.afterEOL=n,this.afterVersionId=i,this.afterCursorState=r}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,n){if(x.Sw(e,t?t.length:0,n),n+=4,t)for(const i of t)x.Sw(e,i.selectionStartLineNumber,n),n+=4,x.Sw(e,i.selectionStartColumn,n),n+=4,x.Sw(e,i.positionLineNumber,n),n+=4,x.Sw(e,i.positionColumn,n),n+=4;return n}static _readSelections(e,t,n){const i=x.bb(e,t);t+=4;for(let r=0;r<i;r++){const i=x.bb(e,t);t+=4;const r=x.bb(e,t);t+=4;const s=x.bb(e,t);t+=4;const o=x.bb(e,t);t+=4,n.push(new p.L(i,r,s,o))}return t}serialize(){let e=10+Ft._writeSelectionsSize(this.beforeCursorState)+Ft._writeSelectionsSize(this.afterCursorState)+4;for(const i of this.changes)e+=i.writeSize();const t=new Uint8Array(e);let n=0;x.Sw(t,this.beforeVersionId,n),n+=4,x.Sw(t,this.afterVersionId,n),n+=4,x.Gs(t,this.beforeEOL,n),n+=1,x.Gs(t,this.afterEOL,n),n+=1,n=Ft._writeSelections(t,this.beforeCursorState,n),n=Ft._writeSelections(t,this.afterCursorState,n),x.Sw(t,this.changes.length,n),n+=4;for(const i of this.changes)n=i.write(t,n);return t.buffer}static deserialize(e){const t=new Uint8Array(e);let n=0;const i=x.bb(t,n);n+=4;const r=x.bb(t,n);n+=4;const s=x.pJ(t,n);n+=1;const o=x.pJ(t,n);n+=1;const a=[];n=Ft._readSelections(t,n,a);const l=[];n=Ft._readSelections(t,n,l);const h=x.bb(t,n);n+=4;const c=[];for(let u=0;u<h;u++)n=Mt.read(t,n,c);return new Ft(i,r,s,o,a,l,c)}}class Pt{get type(){return 0}get resource(){return c.r.isUri(this.model)?this.model:this.model.uri}constructor(e,t,n,i){this.label=e,this.code=t,this.model=n,this._data=Ft.create(n,i)}toString(){return(this._data instanceof Ft?this._data:Ft.deserialize(this._data)).changes.map((e=>e.toString())).join(", ")}matchesResource(e){return(c.r.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof Ft}append(e,t,n,i,r){this._data instanceof Ft&&this._data.append(e,t,n,i,r)}close(){this._data instanceof Ft&&(this._data=this._data.serialize())}open(){this._data instanceof Ft||(this._data=Ft.deserialize(this._data))}undo(){if(c.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Ft&&(this._data=this._data.serialize());const e=Ft.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(c.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Ft&&(this._data=this._data.serialize());const e=Ft.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof Ft&&(this._data=this._data.serialize()),this._data.byteLength+168}}class zt{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,n){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=n.slice(0),this._editStackElementsMap=new Map;for(const i of this._editStackElementsArr){const e=Bt(i.resource);this._editStackElementsMap.set(e,i)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=Bt(e);return this._editStackElementsMap.has(t)}setModel(e){const t=Bt(c.r.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=Bt(e.uri);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).canAppend(e)}return!1}append(e,t,n,i,r){const s=Bt(e.uri);this._editStackElementsMap.get(s).append(e,t,n,i,r)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=Bt(e);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).heapSize()}return 0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${(0,Ot.P8)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function Vt(e){return"\n"===e.getEOL()?0:1}function Wt(e){return!!e&&(e instanceof Pt||e instanceof zt)}class qt{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Wt(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Wt(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const n=this._undoRedoService.getLastElement(this._model.uri);if(Wt(n)&&n.canAppend(this._model))return n;const i=new Pt(At.kg("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(i,t),i}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],Vt(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,n,i){const r=this._getOrCreateEditStackElement(e,i),s=this._model.applyEdits(t,!0),o=qt._computeCursorState(n,s),a=s.map(((e,t)=>({index:t,textChange:e.textChange})));return a.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),r.append(this._model,a.map((e=>e.textChange)),Vt(this._model),this._model.getAlternativeVersionId(),o),o}static _computeCursorState(e,t){try{return e?e(t):null}catch(n){return(0,l.dz)(n),null}}}var Ht,Ut=n(7393);class jt extends r.jG{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}!function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(Ht||(Ht={}));class Kt{constructor(e,t,n,i,r,s){if(this.visibleColumn=e,this.column=t,this.className=n,this.horizontalLine=i,this.forWrappedLinesAfterColumn=r,this.forWrappedLinesBeforeOrAtColumn=s,-1!==e==(-1!==t))throw new Error}}class $t{constructor(e,t){this.top=e,this.endColumn=t}}class Gt extends jt{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return function(e,t){let n=0,i=0;const r=e.length;for(;i<r;){const r=e.charCodeAt(i);if(32===r)n++;else{if(9!==r)break;n=n-n%t+t}i++}return i===r?-1:n}(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,n){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new l.D7("Illegal value for lineNumber");const r=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(r&&r.offSide);let o=-2,a=-1,h=-2,c=-1;const u=e=>{if(-1!==o&&(-2===o||o>e-1)){o=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){o=t,a=e;break}}}if(-2===h){h=-1,c=-1;for(let t=e;t<i;t++){const e=this._computeIndentLevel(t);if(e>=0){h=t,c=e;break}}}};let d=-2,g=-1,f=-2,m=-1;const p=e=>{if(-2===d){d=-1,g=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){d=t,g=e;break}}}if(-1!==f&&(-2===f||f<e-1)){f=-1,m=-1;for(let t=e;t<i;t++){const e=this._computeIndentLevel(t);if(e>=0){f=t,m=e;break}}}};let _=0,b=!0,k=0,v=!0,C=0,L=0;for(let l=0;b||v;l++){const r=e-l,o=e+l;l>1&&(r<1||r<t)&&(b=!1),l>1&&(o>i||o>n)&&(v=!1),l>5e4&&(b=!1,v=!1);let f=-1;if(b&&r>=1){const e=this._computeIndentLevel(r-1);e>=0?(h=r-1,c=e,f=Math.ceil(e/this.textModel.getOptions().indentSize)):(u(r),f=this._getIndentLevelForWhitespaceLine(s,a,c))}let w=-1;if(v&&o<=i){const e=this._computeIndentLevel(o-1);e>=0?(d=o-1,g=e,w=Math.ceil(e/this.textModel.getOptions().indentSize)):(p(o),w=this._getIndentLevelForWhitespaceLine(s,g,m))}if(0!==l){if(1===l){if(o<=i&&w>=0&&L+1===w){b=!1,_=o,k=o,C=w;continue}if(r>=1&&f>=0&&f-1===L){v=!1,_=r,k=r,C=f;continue}if(_=e,k=e,C=L,0===C)return{startLineNumber:_,endLineNumber:k,indent:C}}b&&(f>=C?_=r:b=!1),v&&(w>=C?k=o:v=!1)}else L=f}return{startLineNumber:_,endLineNumber:k,indent:C}}getLinesBracketGuides(e,t,n,i){const r=[];for(let h=e;h<=t;h++)r.push([]);const s=!0,o=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new m.Q(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let a;if(n&&o.length>0){const i=(e<=n.lineNumber&&n.lineNumber<=t?o:this.textModel.bracketPairs.getBracketPairsInRange(m.Q.fromPositions(n)).toArray()).filter((e=>m.Q.strictContainsPosition(e.range,n)));a=(0,Ut.Uk)(i,(e=>s))?.range}const l=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,c=new Qt;for(const u of o){if(!u.closingBracketRange)continue;const n=a&&u.range.equalsRange(a);if(!n&&!i.includeInactive)continue;const s=c.getInlineClassName(u.nestingLevel,u.nestingLevelOfEqualBracketType,l)+(i.highlightActive&&n?" "+c.activeClassName:""),o=u.openingBracketRange.getStartPosition(),d=u.closingBracketRange.getStartPosition(),g=i.horizontalGuides===Ht.Enabled||i.horizontalGuides===Ht.EnabledForActive&&n;if(u.range.startLineNumber===u.range.endLineNumber){g&&r[u.range.startLineNumber-e].push(new Kt(-1,u.openingBracketRange.getEndPosition().column,s,new $t(!1,d.column),-1,-1));continue}const f=this.getVisibleColumnFromPosition(d),m=this.getVisibleColumnFromPosition(u.openingBracketRange.getStartPosition()),p=Math.min(m,f,u.minVisibleColumnIndentation+1);let _=!1;h.HG(this.textModel.getLineContent(u.closingBracketRange.startLineNumber))<u.closingBracketRange.startColumn-1&&(_=!0);const b=Math.max(o.lineNumber,e),k=Math.min(d.lineNumber,t),v=_?1:0;for(let t=b;t<k+v;t++)r[t-e].push(new Kt(p,-1,s,null,t===o.lineNumber?o.column:-1,t===d.lineNumber?d.column:-1));g&&(o.lineNumber>=e&&m>p&&r[o.lineNumber-e].push(new Kt(p,-1,s,new $t(!1,o.column),-1,-1)),d.lineNumber<=t&&f>p&&r[d.lineNumber-e].push(new Kt(p,-1,s,new $t(!_,d.column),-1,-1)))}for(const h of r)h.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return r}getVisibleColumnFromPosition(e){return d.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");const i=this.textModel.getOptions(),r=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(r&&r.offSide),o=new Array(t-e+1);let a=-2,l=-1,h=-2,c=-1;for(let u=e;u<=t;u++){const t=u-e,r=this._computeIndentLevel(u-1);if(r>=0)a=u-1,l=r,o[t]=Math.ceil(r/i.indentSize);else{if(-2===a){a=-1,l=-1;for(let e=u-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==h&&(-2===h||h<u-1)){h=-1,c=-1;for(let e=u;e<n;e++){const t=this._computeIndentLevel(e);if(t>=0){h=e,c=t;break}}}o[t]=this._getIndentLevelForWhitespaceLine(s,l,c)}}return o}_getIndentLevelForWhitespaceLine(e,t,n){const i=this.textModel.getOptions();return-1===t||-1===n?0:t<n?1+Math.floor(t/i.indentSize):t===n||e?Math.ceil(n/i.indentSize):1+Math.floor(n/i.indentSize)}}class Qt{constructor(){this.activeClassName="indent-active"}getInlineClassName(e,t,n){return this.getInlineClassNameOfLevel(n?t:e)}getInlineClassNameOfLevel(e){return"bracket-indent-guide lvl-"+e%30}}class Yt{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function Xt(e,t,n,i,r){let s;for(r.spacesDiff=0,r.looksLikeAlignment=!1,s=0;s<t&&s<i;s++){if(e.charCodeAt(s)!==n.charCodeAt(s))break}let o=0,a=0;for(let d=s;d<t;d++){32===e.charCodeAt(d)?o++:a++}let l=0,h=0;for(let d=s;d<i;d++){32===n.charCodeAt(d)?l++:h++}if(o>0&&a>0)return;if(l>0&&h>0)return;const c=Math.abs(a-h),u=Math.abs(o-l);if(0===c)return r.spacesDiff=u,void(u>0&&0<=l-1&&l-1<e.length&&l<n.length&&32!==n.charCodeAt(l)&&32===e.charCodeAt(l-1)&&44===e.charCodeAt(e.length-1)&&(r.looksLikeAlignment=!0));u%c!=0||(r.spacesDiff=u/c)}function Zt(e,t,n){const i=Math.min(e.getLineCount(),1e4);let r=0,s=0,o="",a=0;const l=[2,4,6,8,3,5,7],h=[0,0,0,0,0,0,0,0,0],c=new Yt;for(let g=1;g<=i;g++){const i=e.getLineLength(g),l=e.getLineContent(g),u=i<=65536;let d=!1,f=0,m=0,p=0;for(let t=0,n=i;t<n;t++){const n=u?l.charCodeAt(t):e.getLineCharCode(g,t);if(9===n)p++;else{if(32!==n){d=!0,f=t;break}m++}}if(!d)continue;if(p>0?r++:m>1&&s++,Xt(o,a,l,f,c),c.looksLikeAlignment&&(!n||t!==c.spacesDiff))continue;const _=c.spacesDiff;_<=8&&h[_]++,o=l,a=f}let u=n;r!==s&&(u=r<s);let d=t;if(u){let e=u?0:.1*i;l.forEach((t=>{const n=h[t];n>e&&(e=n,d=t)})),4===d&&h[4]>0&&h[2]>0&&h[2]>=h[4]/2&&(d=2)}return{insertSpaces:u,tabSize:d}}function Jt(e){return(1&e.metadata)>>>0}function en(e,t){e.metadata=254&e.metadata|t}function tn(e){return(2&e.metadata)>>>1==1}function nn(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function rn(e){return(4&e.metadata)>>>2==1}function sn(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function on(e){return(64&e.metadata)>>>6==1}function an(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function ln(e,t){e.metadata=231&e.metadata|t<<3}function hn(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class cn{constructor(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,en(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,sn(this,!1),an(this,!1),ln(this,1),hn(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,nn(this,!1)}reset(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i}setOptions(e){this.options=e;const t=this.options.className;sn(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),an(this,null!==this.options.glyphMarginClassName),ln(this,this.options.stickiness),hn(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const un=new cn(null,0,0);un.parent=un,un.left=un,un.right=un,en(un,0);class dn{constructor(){this.root=un,this.requestNormalizeDelta=!1}intervalSearch(e,t,n,i,r,s){return this.root===un?[]:function(e,t,n,i,r,s,o){let a=e.root,l=0,h=0,c=0,u=0;const d=[];let g=0;for(;a!==un;)if(tn(a))nn(a.left,!1),nn(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;else{if(!tn(a.left)){if(h=l+a.maxEnd,h<t){nn(a,!0);continue}if(a.left!==un){a=a.left;continue}}if(c=l+a.start,c>n)nn(a,!0);else{if(u=l+a.end,u>=t){a.setCachedOffsets(c,u,s);let e=!0;i&&a.ownerId&&a.ownerId!==i&&(e=!1),r&&rn(a)&&(e=!1),o&&!on(a)&&(e=!1),e&&(d[g++]=a)}nn(a,!0),a.right===un||tn(a.right)||(l+=a.delta,a=a.right)}}return nn(e.root,!1),d}(this,e,t,n,i,r,s)}search(e,t,n,i){return this.root===un?[]:function(e,t,n,i,r){let s=e.root,o=0,a=0,l=0;const h=[];let c=0;for(;s!==un;){if(tn(s)){nn(s.left,!1),nn(s.right,!1),s===s.parent.right&&(o-=s.parent.delta),s=s.parent;continue}if(s.left!==un&&!tn(s.left)){s=s.left;continue}a=o+s.start,l=o+s.end,s.setCachedOffsets(a,l,i);let e=!0;t&&s.ownerId&&s.ownerId!==t&&(e=!1),n&&rn(s)&&(e=!1),r&&!on(s)&&(e=!1),e&&(h[c++]=s),nn(s,!0),s.right===un||tn(s.right)||(o+=s.delta,s=s.right)}return nn(e.root,!1),h}(this,e,t,n,i)}collectNodesFromOwner(e){return function(e,t){let n=e.root;const i=[];let r=0;for(;n!==un;)tn(n)?(nn(n.left,!1),nn(n.right,!1),n=n.parent):n.left===un||tn(n.left)?(n.ownerId===t&&(i[r++]=n),nn(n,!0),n.right===un||tn(n.right)||(n=n.right)):n=n.left;return nn(e.root,!1),i}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const n=[];let i=0;for(;t!==un;)tn(t)?(nn(t.left,!1),nn(t.right,!1),t=t.parent):t.left===un||tn(t.left)?t.right===un||tn(t.right)?(n[i++]=t,nn(t,!0)):t=t.right:t=t.left;return nn(e.root,!1),n}(this)}insert(e){mn(this,e),this._normalizeDeltaIfNecessary()}delete(e){pn(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const n=e;let i=0;for(;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;const r=n.start+i,s=n.end+i;n.setCachedOffsets(r,s,t)}acceptReplace(e,t,n,i){const r=function(e,t,n){let i=e.root,r=0,s=0,o=0,a=0;const l=[];let h=0;for(;i!==un;)if(tn(i))nn(i.left,!1),nn(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;else{if(!tn(i.left)){if(s=r+i.maxEnd,s<t){nn(i,!0);continue}if(i.left!==un){i=i.left;continue}}o=r+i.start,o>n?nn(i,!0):(a=r+i.end,a>=t&&(i.setCachedOffsets(o,a,0),l[h++]=i),nn(i,!0),i.right===un||tn(i.right)||(r+=i.delta,i=i.right))}return nn(e.root,!1),l}(this,e,e+t);for(let s=0,o=r.length;s<o;s++){pn(this,r[s])}this._normalizeDeltaIfNecessary(),function(e,t,n,i){let r=e.root,s=0,o=0,a=0;const l=i-(n-t);for(;r!==un;)if(tn(r))nn(r.left,!1),nn(r.right,!1),r===r.parent.right&&(s-=r.parent.delta),Cn(r),r=r.parent;else{if(!tn(r.left)){if(o=s+r.maxEnd,o<t){nn(r,!0);continue}if(r.left!==un){r=r.left;continue}}a=s+r.start,a>n?(r.start+=l,r.end+=l,r.delta+=l,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0),nn(r,!0)):(nn(r,!0),r.right===un||tn(r.right)||(s+=r.delta,r=r.right))}nn(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(let s=0,o=r.length;s<o;s++){const o=r[s];o.start=o.cachedAbsoluteStart,o.end=o.cachedAbsoluteEnd,fn(o,e,e+t,n,i),o.maxEnd=o.end,mn(this,o)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(e){let t=e.root,n=0;for(;t!==un;)t.left===un||tn(t.left)?t.right===un||tn(t.right)?(t.start=n+t.start,t.end=n+t.end,t.delta=0,Cn(t),nn(t,!0),nn(t.left,!1),nn(t.right,!1),t===t.parent.right&&(n-=t.parent.delta),t=t.parent):(n+=t.delta,t=t.right):t=t.left;nn(e.root,!1)}(this))}}function gn(e,t,n,i){return e<n||!(e>n)&&(1!==i&&(2===i||t))}function fn(e,t,n,i,r){const s=function(e){return(24&e.metadata)>>>3}(e),o=0===s||2===s,a=1===s||2===s,l=n-t,h=i,c=Math.min(l,h),u=e.start;let d=!1;const g=e.end;let f=!1;t<=u&&g<=n&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,d=!0,e.end=t,f=!0);{const e=r?1:l>0?2:0;!d&&gn(u,o,t,e)&&(d=!0),!f&&gn(g,a,t,e)&&(f=!0)}if(c>0&&!r){const e=l>h?2:0;!d&&gn(u,o,t+c,e)&&(d=!0),!f&&gn(g,a,t+c,e)&&(f=!0)}{const i=r?1:0;!d&&gn(u,o,n,i)&&(e.start=t+h,d=!0),!f&&gn(g,a,n,i)&&(e.end=t+h,f=!0)}const m=h-l;d||(e.start=Math.max(0,u+m)),f||(e.end=Math.max(0,g+m)),e.start>e.end&&(e.end=e.start)}function mn(e,t){if(e.root===un)return t.parent=un,t.left=un,t.right=un,en(t,0),e.root=t,e.root;!function(e,t){let n=0,i=e.root;const r=t.start,s=t.end;for(;;){if(wn(r,s,i.start+n,i.end+n)<0){if(i.left===un){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===un){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}}t.parent=i,t.left=un,t.right=un,en(t,1)}(e,t),Ln(t.parent);let n=t;for(;n!==e.root&&1===Jt(n.parent);)if(n.parent===n.parent.parent.left){const t=n.parent.parent.right;1===Jt(t)?(en(n.parent,0),en(t,0),en(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&(n=n.parent,bn(e,n)),en(n.parent,0),en(n.parent.parent,1),kn(e,n.parent.parent))}else{const t=n.parent.parent.left;1===Jt(t)?(en(n.parent,0),en(t,0),en(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&(n=n.parent,kn(e,n)),en(n.parent,0),en(n.parent.parent,1),bn(e,n.parent.parent))}return en(e.root,0),t}function pn(e,t){let n,i;if(t.left===un?(n=t.right,i=t,n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===un?(n=t.left,i=t):(i=function(e){for(;e.left!==un;)e=e.left;return e}(t.right),n=i.right,n.start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,en(n,0),t.detach(),_n(),Cn(n),void(e.root.parent=un);const r=1===Jt(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,en(i,Jt(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==un&&(i.left.parent=i),i.right!==un&&(i.right.parent=i)),t.detach(),r)return Ln(n.parent),i!==t&&(Ln(i),Ln(i.parent)),void _n();let s;for(Ln(n),Ln(n.parent),i!==t&&(Ln(i),Ln(i.parent));n!==e.root&&0===Jt(n);)n===n.parent.left?(s=n.parent.right,1===Jt(s)&&(en(s,0),en(n.parent,1),bn(e,n.parent),s=n.parent.right),0===Jt(s.left)&&0===Jt(s.right)?(en(s,1),n=n.parent):(0===Jt(s.right)&&(en(s.left,0),en(s,1),kn(e,s),s=n.parent.right),en(s,Jt(n.parent)),en(n.parent,0),en(s.right,0),bn(e,n.parent),n=e.root)):(s=n.parent.left,1===Jt(s)&&(en(s,0),en(n.parent,1),kn(e,n.parent),s=n.parent.left),0===Jt(s.left)&&0===Jt(s.right)?(en(s,1),n=n.parent):(0===Jt(s.left)&&(en(s.right,0),en(s,1),bn(e,s),s=n.parent.left),en(s,Jt(n.parent)),en(n.parent,0),en(s.left,0),kn(e,n.parent),n=e.root));en(n,0),_n()}function _n(){un.parent=un,un.delta=0,un.start=0,un.end=0}function bn(e,t){const n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==un&&(n.left.parent=t),n.parent=t.parent,t.parent===un?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,Cn(t),Cn(n)}function kn(e,t){const n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==un&&(n.right.parent=t),n.parent=t.parent,t.parent===un?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,Cn(t),Cn(n)}function vn(e){let t=e.end;if(e.left!==un){const n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==un){const n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function Cn(e){e.maxEnd=vn(e)}function Ln(e){for(;e!==un;){const t=vn(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function wn(e,t,n,i){return e===n?t-i:e-n}class yn{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==Sn)return xn(this.right);let e=this;for(;e.parent!==Sn&&e.parent.left!==e;)e=e.parent;return e.parent===Sn?Sn:e.parent}prev(){if(this.left!==Sn)return En(this.left);let e=this;for(;e.parent!==Sn&&e.parent.right!==e;)e=e.parent;return e.parent===Sn?Sn:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const Sn=new yn(null,0);function xn(e){for(;e.left!==Sn;)e=e.left;return e}function En(e){for(;e.right!==Sn;)e=e.right;return e}function Nn(e){return e===Sn?0:e.size_left+e.piece.length+Nn(e.right)}function In(e){return e===Sn?0:e.lf_left+e.piece.lineFeedCnt+In(e.right)}function Tn(){Sn.parent=Sn}function An(e,t){const n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==Sn&&(n.left.parent=t),n.parent=t.parent,t.parent===Sn?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function Dn(e,t){const n=t.left;t.left=n.right,n.right!==Sn&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===Sn?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function Mn(e,t){let n,i;if(t.left===Sn?(i=t,n=i.right):t.right===Sn?(i=t,n=i.left):(i=xn(t.right),n=i.right),i===e.root)return e.root=n,n.color=0,t.detach(),Tn(),void(e.root.parent=Sn);const r=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,Bn(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,Bn(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==Sn&&(i.left.parent=i),i.right!==Sn&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,Bn(e,i)),t.detach(),n.parent.left===n){const t=Nn(n),i=In(n);if(t!==n.parent.size_left||i!==n.parent.lf_left){const r=t-n.parent.size_left,s=i-n.parent.lf_left;n.parent.size_left=t,n.parent.lf_left=i,On(e,n.parent,r,s)}}if(Bn(e,n.parent),r)return void Tn();let s;for(;n!==e.root&&0===n.color;)n===n.parent.left?(s=n.parent.right,1===s.color&&(s.color=0,n.parent.color=1,An(e,n.parent),s=n.parent.right),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.right.color&&(s.left.color=0,s.color=1,Dn(e,s),s=n.parent.right),s.color=n.parent.color,n.parent.color=0,s.right.color=0,An(e,n.parent),n=e.root)):(s=n.parent.left,1===s.color&&(s.color=0,n.parent.color=1,Dn(e,n.parent),s=n.parent.left),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.left.color&&(s.right.color=0,s.color=1,An(e,s),s=n.parent.left),s.color=n.parent.color,n.parent.color=0,s.left.color=0,Dn(e,n.parent),n=e.root));n.color=0,Tn()}function Rn(e,t){for(Bn(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const n=t.parent.parent.right;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&An(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Dn(e,t.parent.parent))}else{const n=t.parent.parent.left;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&Dn(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,An(e,t.parent.parent))}e.root.color=0}function On(e,t,n,i){for(;t!==e.root&&t!==Sn;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function Bn(e,t){let n=0,i=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(n=Nn((t=t.parent).left)-t.size_left,i=In(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}Sn.parent=Sn,Sn.left=Sn,Sn.right=Sn,Sn.color=0;var Fn=n(2389);const Pn=65535;function zn(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class Vn{constructor(e,t,n,i,r){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=r}}function Wn(e,t=!0){const n=[0];let i=1;for(let r=0,s=e.length;r<s;r++){const t=e.charCodeAt(r);13===t?r+1<s&&10===e.charCodeAt(r+1)?(n[i++]=r+2,r++):n[i++]=r+1:10===t&&(n[i++]=r+1)}return t?zn(n):n}class qn{constructor(e,t,n,i,r){this.bufferIndex=e,this.start=t,this.end=n,this.lineFeedCnt=i,this.length=r}}class Hn{constructor(e,t){this.buffer=e,this.lineStarts=t}}class Un{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==Sn&&e.iterate(e.root,(e=>(e!==Sn&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class jn{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber<e&&n.nodeStartLineNumber+n.node.piece.lineFeedCnt>=e)return n}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const n=this._cache;for(let i=0;i<n.length;i++){const r=n[i];(null===r.node.parent||r.nodeStartOffset>=e)&&(n[i]=null,t=!0)}if(t){const e=[];for(const t of n)null!==t&&e.push(t);this._cache=e}}}class Kn{constructor(e,t,n){this.create(e,t,n)}create(e,t,n){this._buffers=[new Hn("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Sn,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=n;let i=null;for(let r=0,s=e.length;r<s;r++)if(e[r].buffer.length>0){e[r].lineStarts||(e[r].lineStarts=Wn(e[r].buffer));const t=new qn(r+1,{line:0,column:0},{line:e[r].lineStarts.length-1,column:e[r].buffer.length-e[r].lineStarts[e[r].lineStarts.length-1]},e[r].lineStarts.length-1,e[r].buffer.length);this._buffers.push(e[r]),i=this.rbInsertRight(i,t)}this._searchCache=new jn(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=Pn,n=t-Math.floor(21845),i=2*n;let r="",s=0;const o=[];if(this.iterate(this.root,(t=>{const a=this.getNodeContent(t),l=a.length;if(s<=n||s+l<i)return r+=a,s+=l,!0;const h=r.replace(/\r\n|\r|\n/g,e);return o.push(new Hn(h,Wn(h))),r=a,s=l,!0})),s>0){const t=r.replace(/\r\n|\r|\n/g,e);o.push(new Hn(t,Wn(t)))}this.create(o,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new Un(this,e)}getOffsetAt(e,t){let n=0,i=this.root;for(;i!==Sn;)if(i.left!==Sn&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e){n+=i.size_left;return n+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1)}e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,n=0;const i=e;for(;t!==Sn;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const r=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+r.index,0===r.index){const e=i-this.getOffsetAt(n+1,1);return new f.y(n+1,e+1)}return new f.y(n+1,r.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===Sn){const t=i-e-this.getOffsetAt(n+1,1);return new f.y(n+1,t+1)}t=t.right}return new f.y(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),r=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?r:r.replace(/\r\n|\r|\n/g,t):r}getValueInRange2(e,t){if(e.node===t.node){const n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(r+e.remainder,r+t.remainder)}let n=e.node;const i=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);let s=i.substring(r+e.remainder,r+n.piece.length);for(n=n.next();n!==Sn;){const e=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(n===t.node){s+=e.substring(i,i+t.remainder);break}s+=e.substr(i,n.piece.length),n=n.next()}return s}getLinesContent(){const e=[];let t=0,n="",i=!1;return this.iterate(this.root,(r=>{if(r===Sn)return!0;const s=r.piece;let o=s.length;if(0===o)return!0;const a=this._buffers[s.bufferIndex].buffer,l=this._buffers[s.bufferIndex].lineStarts,h=s.start.line,c=s.end.line;let u=l[h]+s.start.column;if(i&&(10===a.charCodeAt(u)&&(u++,o--),e[t++]=n,n="",i=!1,0===o))return!0;if(h===c)return this._EOLNormalized||13!==a.charCodeAt(u+o-1)?n+=a.substr(u,o):(i=!0,n+=a.substr(u,o-1)),!0;n+=this._EOLNormalized?a.substring(u,Math.max(u,l[h+1]-this._EOLLength)):a.substring(u,l[h+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;for(let i=h+1;i<c;i++)n=this._EOLNormalized?a.substring(l[i],l[i+1]-this._EOLLength):a.substring(l[i],l[i+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;return this._EOLNormalized||13!==a.charCodeAt(l[c]+s.end.column-1)?n=a.substr(l[c],s.end.column):(i=!0,0===s.end.column?t--:n=a.substr(l[c],s.end.column-1)),!0})),i&&(e[t++]=n,n=""),e[t++]=n,e}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(e){return this._lastVisitedLine.lineNumber===e||(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,"")),this._lastVisitedLine.value}_getCharCode(e){if(e.remainder===e.node.piece.length){const t=e.node.next();if(!t)return 0;const n=this._buffers[t.piece.bufferIndex],i=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);return n.buffer.charCodeAt(i)}{const t=this._buffers[e.node.piece.bufferIndex],n=this.offsetInBuffer(e.node.piece.bufferIndex,e.node.piece.start)+e.remainder;return t.buffer.charCodeAt(n)}}getLineCharCode(e,t){const n=this.nodeAt2(e,t+1);return this._getCharCode(n)}getLineLength(e){if(e===this.getLineCount()){const t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength}findMatchesInNode(e,t,n,i,r,s,o,a,l,h,c){const u=this._buffers[e.piece.bufferIndex],d=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),g=this.offsetInBuffer(e.piece.bufferIndex,r),f=this.offsetInBuffer(e.piece.bufferIndex,s);let p;const _={line:0,column:0};let b,k;t._wordSeparators?(b=u.buffer.substring(g,f),k=e=>e+g,t.reset(0)):(b=u.buffer,k=e=>e,t.reset(g));do{if(p=t.next(b),p){if(k(p.index)>=f)return h;this.positionInBuffer(e,k(p.index)-d,_);const t=this.getLineFeedCnt(e.piece.bufferIndex,r,_),s=_.line===r.line?_.column-r.column+i:_.column+1,o=s+p[0].length;if(c[h++]=(0,Fn.dr)(new m.Q(n+t,s,n+t,o),p,a),k(p.index)+p[0].length>=f)return h;if(h>=l)return h}}while(p);return h}findMatchesLineByLine(e,t,n,i){const r=[];let s=0;const o=new Fn.W5(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let h=this.positionInBuffer(a.node,a.remainder);const c=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,o,e.startLineNumber,e.startColumn,h,c,t,n,i,s,r),r;let u=e.startLineNumber,d=a.node;for(;d!==l.node;){const l=this.getLineFeedCnt(d.piece.bufferIndex,h,d.piece.end);if(l>=1){const a=this._buffers[d.piece.bufferIndex].lineStarts,c=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start),g=a[h.line+l],f=u===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(d,o,u,f,h,this.positionInBuffer(d,g-c),t,n,i,s,r),s>=i)return r;u+=l}const c=u===e.startLineNumber?e.startColumn-1:0;if(u===e.endLineNumber){const a=this.getLineContent(u).substring(c,e.endColumn-1);return s=this._findMatchesInLine(t,o,a,e.endLineNumber,c,s,r,n,i),r}if(s=this._findMatchesInLine(t,o,this.getLineContent(u).substr(c),u,c,s,r,n,i),s>=i)return r;u++,a=this.nodeAt2(u,1),d=a.node,h=this.positionInBuffer(a.node,a.remainder)}if(u===e.endLineNumber){const a=u===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(u).substring(a,e.endColumn-1);return s=this._findMatchesInLine(t,o,l,e.endLineNumber,a,s,r,n,i),r}const g=u===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(l.node,o,u,g,h,c,t,n,i,s,r),r}_findMatchesInLine(e,t,n,i,r,s,o,a,l){const h=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,c=n.length;let u=-a;for(;-1!==(u=n.indexOf(t,u+a));)if((!h||(0,Fn.wC)(h,n,c,u,a))&&(o[s++]=new me.Dg(new m.Q(i,u+1+r,i,u+1+a+r),null),s>=l))return s;return s}let c;t.reset(0);do{if(c=t.next(n),c&&(o[s++]=(0,Fn.dr)(new m.Q(i,c.index+1+r,i,c.index+1+c[0].length+r),c,a),s>=l))return s}while(c);return s}insert(e,t,n=!1){if(this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==Sn){const{node:n,remainder:i,nodeStartOffset:r}=this.nodeAt(e),s=n.piece,o=s.bufferIndex,a=this.positionInBuffer(n,i);if(0===n.piece.bufferIndex&&s.end.line===this._lastChangeBufferPos.line&&s.end.column===this._lastChangeBufferPos.column&&r+s.length===e&&t.length<Pn)return this.appendToNode(n,t),void this.computeBufferMetadata();if(r===e)this.insertContentToNodeLeft(t,n),this._searchCache.validate(e);else if(r+n.piece.length>e){const e=[];let r=new qn(s.bufferIndex,a,s.end,this.getLineFeedCnt(s.bufferIndex,a,s.end),this.offsetInBuffer(o,s.end)-this.offsetInBuffer(o,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)){if(10===this.nodeCharCodeAt(n,i)){const e={line:r.start.line+1,column:0};r=new qn(r.bufferIndex,e,r.end,this.getLineFeedCnt(r.bufferIndex,e,r.end),r.length-1),t+="\n"}}if(this.shouldCheckCRLF()&&this.startWithLF(t)){if(13===this.nodeCharCodeAt(n,i-1)){const r=this.positionInBuffer(n,i-1);this.deleteNodeTail(n,r),t="\r"+t,0===n.piece.length&&e.push(n)}else this.deleteNodeTail(n,a)}else this.deleteNodeTail(n,a);const l=this.createNewPieces(t);r.length>0&&this.rbInsertRight(n,r);let h=n;for(let t=0;t<l.length;t++)h=this.rbInsertRight(h,l[t]);this.deleteNodes(e)}else this.insertContentToNodeRight(t,n)}else{const e=this.createNewPieces(t);let n=this.rbInsertLeft(null,e[0]);for(let t=1;t<e.length;t++)n=this.rbInsertRight(n,e[t])}this.computeBufferMetadata()}delete(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",t<=0||this.root===Sn)return;const n=this.nodeAt(e),i=this.nodeAt(e+t),r=n.node,s=i.node;if(r===s){const s=this.positionInBuffer(r,n.remainder),o=this.positionInBuffer(r,i.remainder);if(n.nodeStartOffset===e){if(t===r.piece.length){const e=r.next();return Mn(this,r),this.validateCRLFWithPrevNode(e),void this.computeBufferMetadata()}return this.deleteNodeHead(r,o),this._searchCache.validate(e),this.validateCRLFWithPrevNode(r),void this.computeBufferMetadata()}return n.nodeStartOffset+r.piece.length===e+t?(this.deleteNodeTail(r,s),this.validateCRLFWithNextNode(r),void this.computeBufferMetadata()):(this.shrinkNode(r,s,o),void this.computeBufferMetadata())}const o=[],a=this.positionInBuffer(r,n.remainder);this.deleteNodeTail(r,a),this._searchCache.validate(e),0===r.piece.length&&o.push(r);const l=this.positionInBuffer(s,i.remainder);this.deleteNodeHead(s,l),0===s.piece.length&&o.push(s);for(let c=r.next();c!==Sn&&c!==s;c=c.next())o.push(c);const h=0===r.piece.length?r.prev():r;this.deleteNodes(o),this.validateCRLFWithNextNode(h),this.computeBufferMetadata()}insertContentToNodeLeft(e,t){const n=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){const i=t.piece,r={line:i.start.line+1,column:0},s=new qn(i.bufferIndex,r,i.end,this.getLineFeedCnt(i.bufferIndex,r,i.end),i.length-1);t.piece=s,e+="\n",On(this,t,-1,-1),0===t.piece.length&&n.push(t)}const i=this.createNewPieces(e);let r=this.rbInsertLeft(t,i[i.length-1]);for(let s=i.length-2;s>=0;s--)r=this.rbInsertLeft(r,i[s]);this.validateCRLFWithPrevNode(r),this.deleteNodes(n)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]);let r=i;for(let s=1;s<n.length;s++)r=this.rbInsertRight(r,n[s]);this.validateCRLFWithPrevNode(i)}positionInBuffer(e,t,n){const i=e.piece,r=e.piece.bufferIndex,s=this._buffers[r].lineStarts,o=s[i.start.line]+i.start.column+t;let a=i.start.line,l=i.end.line,h=0,c=0,u=0;for(;a<=l&&(h=a+(l-a)/2|0,u=s[h],h!==l);)if(c=s[h+1],o<u)l=h-1;else{if(!(o>=c))break;a=h+1}return n?(n.line=h,n.column=o-u,null):{line:h,column:o-u}}getLineFeedCnt(e,t,n){if(0===n.column)return n.line-t.line;const i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;const r=i[n.line+1],s=i[n.line]+n.column;if(r>s+1)return n.line-t.line;const o=s-1;return 13===this._buffers[e].buffer.charCodeAt(o)?n.line-t.line+1:n.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;t<e.length;t++)Mn(this,e[t])}createNewPieces(e){if(e.length>Pn){const t=[];for(;e.length>Pn;){const n=e.charCodeAt(65534);let i;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,Pn),e=e.substring(Pn));const r=Wn(i);t.push(new qn(this._buffers.length,{line:0,column:0},{line:r.length-1,column:i.length-r[r.length-1]},r.length-1,i.length)),this._buffers.push(new Hn(i,r))}const n=Wn(e);return t.push(new qn(this._buffers.length,{line:0,column:0},{line:n.length-1,column:e.length-n[n.length-1]},n.length-1,e.length)),this._buffers.push(new Hn(e,n)),t}let t=this._buffers[0].buffer.length;const n=Wn(e,!1);let i=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},i=this._lastChangeBufferPos;for(let e=0;e<n.length;e++)n[e]+=t+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+="_"+e,t+=1}else{if(0!==t)for(let e=0;e<n.length;e++)n[e]+=t;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+=e}const r=this._buffers[0].buffer.length,s=this._buffers[0].lineStarts.length-1,o={line:s,column:r-this._buffers[0].lineStarts[s]},a=new qn(0,i,o,this.getLineFeedCnt(0,i,o),r-t);return this._lastChangeBufferPos=o,[a]}getLineRawContent(e,t=0){let n=this.root,i="";const r=this._searchCache.get2(e);if(r){n=r.node;const s=this.getAccumulatedValue(n,e-r.nodeStartLineNumber-1),o=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(r.nodeStartLineNumber+n.piece.lineFeedCnt!==e){const i=this.getAccumulatedValue(n,e-r.nodeStartLineNumber);return o.substring(a+s,a+i-t)}i=o.substring(a+s,a+n.piece.length)}else{let r=0;const s=e;for(;n!==Sn;)if(n.left!==Sn&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2),o=this.getAccumulatedValue(n,e-n.lf_left-1),a=this._buffers[n.piece.bufferIndex].buffer,l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return r+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:r,nodeStartLineNumber:s-(e-1-n.lf_left)}),a.substring(l+i,l+o-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(n,e-n.lf_left-2),r=this._buffers[n.piece.bufferIndex].buffer,s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=r.substring(s+t,s+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,r+=n.size_left+n.piece.length,n=n.right}}for(n=n.next();n!==Sn;){const e=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){const r=this.getAccumulatedValue(n,0),s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=e.substring(s,s+r-t),i}{const t=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=e.substr(t,n.piece.length)}n=n.next()}return i}computeBufferMetadata(){let e=this.root,t=1,n=0;for(;e!==Sn;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.validate(this._length)}getIndexOf(e,t){const n=e.piece,i=this.positionInBuffer(e,t),r=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(t!==r)return{index:t,remainder:0}}return{index:r,remainder:i.column}}getAccumulatedValue(e,t){if(t<0)return 0;const n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,r=n.start.line+t+1;return r>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[r]-i[n.start.line]-n.start.column}deleteNodeTail(e,t){const n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.end),s=t,o=this.offsetInBuffer(n.bufferIndex,s),a=this.getLineFeedCnt(n.bufferIndex,n.start,s),l=a-i,h=o-r,c=n.length+h;e.piece=new qn(n.bufferIndex,n.start,s,a,c),On(this,e,h,l)}deleteNodeHead(e,t){const n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.start),s=t,o=this.getLineFeedCnt(n.bufferIndex,s,n.end),a=o-i,l=r-this.offsetInBuffer(n.bufferIndex,s),h=n.length+l;e.piece=new qn(n.bufferIndex,s,n.end,o,h),On(this,e,l,a)}shrinkNode(e,t,n){const i=e.piece,r=i.start,s=i.end,o=i.length,a=i.lineFeedCnt,l=t,h=this.getLineFeedCnt(i.bufferIndex,i.start,l),c=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,r);e.piece=new qn(i.bufferIndex,i.start,l,h,c),On(this,e,c-o,h-a);const u=new qn(i.bufferIndex,n,s,this.getLineFeedCnt(i.bufferIndex,n,s),this.offsetInBuffer(i.bufferIndex,s)-this.offsetInBuffer(i.bufferIndex,n)),d=this.rbInsertRight(e,u);this.validateCRLFWithPrevNode(d)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const r=Wn(t,!1);for(let u=0;u<r.length;u++)r[u]+=i;if(n){const e=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:i-e}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(r.slice(1));const s=this._buffers[0].lineStarts.length-1,o={line:s,column:this._buffers[0].buffer.length-this._buffers[0].lineStarts[s]},a=e.piece.length+t.length,l=e.piece.lineFeedCnt,h=this.getLineFeedCnt(0,e.piece.start,o),c=h-l;e.piece=new qn(e.piece.bufferIndex,e.piece.start,o,h,a),this._lastChangeBufferPos=o,On(this,e,t.length,c)}nodeAt(e){let t=this.root;const n=this._searchCache.get(e);if(n)return{node:n.node,nodeStartOffset:n.nodeStartOffset,remainder:e-n.nodeStartOffset};let i=0;for(;t!==Sn;)if(t.size_left>e)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;const n={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(n),n}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let n=this.root,i=0;for(;n!==Sn;)if(n.left!==Sn&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const r=this.getAccumulatedValue(n,e-n.lf_left-2),s=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(r+t-1,s),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){const r=this.getAccumulatedValue(n,e-n.lf_left-2);if(r+t-1<=n.piece.length)return{node:n,remainder:r+t-1,nodeStartOffset:i};t-=n.piece.length-r;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==Sn;){if(n.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(n,0),i=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,e),nodeStartOffset:i}}if(n.piece.length>=t-1){return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)}}t-=n.piece.length,n=n.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===Sn||0===e.piece.lineFeedCnt)return!1;const t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,r=n[i]+t.start.column;if(i===n.length-1)return!1;return!(n[i+1]>r+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(r)}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==Sn&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const n=[],i=this._buffers[e.piece.bufferIndex].lineStarts;let r;r=0===e.piece.end.column?{line:e.piece.end.line-1,column:i[e.piece.end.line]-i[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,o=e.piece.lineFeedCnt-1;e.piece=new qn(e.piece.bufferIndex,e.piece.start,r,o,s),On(this,e,-1,-1),0===e.piece.length&&n.push(e);const a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,h=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new qn(t.piece.bufferIndex,a,t.piece.end,h,l),On(this,t,-1,-1),0===t.piece.length&&n.push(t);const c=this.createNewPieces("\r\n");this.rbInsertRight(e,c[0]);for(let u=0;u<n.length;u++)Mn(this,n[u])}adjustCarriageReturnFromNext(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const n=t.next();if(this.startWithLF(n)){if(e+="\n",1===n.piece.length)Mn(this,n);else{const e=n.piece,t={line:e.start.line+1,column:0},i=e.length-1,r=this.getLineFeedCnt(e.bufferIndex,t,e.end);n.piece=new qn(e.bufferIndex,t,e.end,r,i),On(this,n,-1,-1)}return!0}}return!1}iterate(e,t){if(e===Sn)return t(Sn);const n=this.iterate(e.left,t);return n?t(e)&&this.iterate(e.right,t):n}getNodeContent(e){if(e===Sn)return"";const t=this._buffers[e.piece.bufferIndex],n=e.piece,i=this.offsetInBuffer(n.bufferIndex,n.start),r=this.offsetInBuffer(n.bufferIndex,n.end);return t.buffer.substring(i,r)}getPieceContent(e){const t=this._buffers[e.bufferIndex],n=this.offsetInBuffer(e.bufferIndex,e.start),i=this.offsetInBuffer(e.bufferIndex,e.end);return t.buffer.substring(n,i)}rbInsertRight(e,t){const n=new yn(t,1);n.left=Sn,n.right=Sn,n.parent=Sn,n.size_left=0,n.lf_left=0;if(this.root===Sn)this.root=n,n.color=0;else if(e.right===Sn)e.right=n,n.parent=e;else{const t=xn(e.right);t.left=n,n.parent=t}return Rn(this,n),n}rbInsertLeft(e,t){const n=new yn(t,1);if(n.left=Sn,n.right=Sn,n.parent=Sn,n.size_left=0,n.lf_left=0,this.root===Sn)this.root=n,n.color=0;else if(e.left===Sn)e.left=n,n.parent=e;else{const t=En(e.left);t.right=n,n.parent=t}return Rn(this,n),n}}class $n extends r.jG{constructor(e,t,n,r,s,o,a){super(),this._onDidChangeContent=this._register(new i.vl),this._BOM=t,this._mightContainNonBasicASCII=!o,this._mightContainRTL=r,this._mightContainUnusualLineTerminators=s,this._pieceTree=new Kn(e,n,a)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(e){return this._pieceTree.createSnapshot(e?this._BOM:"")}getOffsetAt(e,t){return this._pieceTree.getOffsetAt(e,t)}getPositionAt(e){return this._pieceTree.getPositionAt(e)}getRangeAt(e,t){const n=e+t,i=this.getPositionAt(e),r=this.getPositionAt(n);return new m.Q(i.lineNumber,i.column,r.lineNumber,r.column)}getValueInRange(e,t=0){if(e.isEmpty())return"";const n=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,n)}getValueLengthInRange(e,t=0){if(e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;const n=this.getOffsetAt(e.startLineNumber,e.startColumn),i=this.getOffsetAt(e.endLineNumber,e.endColumn);let r=0;const s=this._getEndOfLine(t),o=this.getEOL();if(s.length!==o.length){r=(s.length-o.length)*(e.endLineNumber-e.startLineNumber)}return i-n+r}getCharacterCountInRange(e,t=0){if(this._mightContainNonBasicASCII){let n=0;const i=e.startLineNumber,r=e.endLineNumber;for(let t=i;t<=r;t++){const s=this.getLineContent(t),o=t===i?e.startColumn-1:0,a=t===r?e.endColumn-1:s.length;for(let e=o;e<a;e++)h.pc(s.charCodeAt(e))?(n+=1,e+=1):n+=1}return n+=this._getEndOfLine(t).length*(r-i),n}return this.getValueLengthInRange(e,t)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(e){return this._pieceTree.getLineContent(e)}getLineCharCode(e,t){return this._pieceTree.getLineCharCode(e,t)}getLineLength(e){return this._pieceTree.getLineLength(e)}getLineFirstNonWhitespaceColumn(e){const t=h.HG(this.getLineContent(e));return-1===t?0:t+1}getLineLastNonWhitespaceColumn(e){const t=h.lT(this.getLineContent(e));return-1===t?0:t+2}_getEndOfLine(e){switch(e){case 1:return"\n";case 2:return"\r\n";case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,t,n){let i=this._mightContainRTL,r=this._mightContainUnusualLineTerminators,s=this._mightContainNonBasicASCII,o=!0,a=[];for(let p=0;p<e.length;p++){const t=e[p];o&&t._isTracked&&(o=!1);const n=t.range;if(t.text){let e=!0;s||(e=!h.aC(t.text),s=e),!i&&e&&(i=h.E_(t.text)),!r&&e&&(r=h.$X(t.text))}let l="",c=0,d=0,g=0;if(t.text){let e;[c,d,g,e]=(0,u.W)(t.text);const n=this.getEOL();l=0===e||e===("\r\n"===n?2:1)?t.text:t.text.replace(/\r\n|\r|\n/g,n)}a[p]={sortIndex:p,identifier:t.identifier||null,range:n,rangeOffset:this.getOffsetAt(n.startLineNumber,n.startColumn),rangeLength:this.getValueLengthInRange(n),text:l,eolCount:c,firstLineLength:d,lastLineLength:g,forceMoveMarkers:Boolean(t.forceMoveMarkers),isAutoWhitespaceEdit:t.isAutoWhitespaceEdit||!1}}a.sort($n._sortOpsAscending);let l=!1;for(let h=0,u=a.length-1;h<u;h++){const e=a[h].range.getEndPosition(),t=a[h+1].range.getStartPosition();if(t.isBeforeOrEqual(e)){if(t.isBefore(e))throw new Error("Overlapping ranges are not allowed!");l=!0}}o&&(a=this._reduceOperations(a));const c=n||t?$n._getInverseEditRanges(a):[],d=[];if(t)for(let u=0;u<a.length;u++){const e=a[u],t=c[u];if(e.isAutoWhitespaceEdit&&e.range.isEmpty())for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let i="";n===t.startLineNumber&&(i=this.getLineContent(e.range.startLineNumber),-1!==h.HG(i))||d.push({lineNumber:n,oldContent:i})}}let g=null;if(n){let e=0;g=[];for(let t=0;t<a.length;t++){const n=a[t],i=c[t],r=this.getValueInRange(n.range),s=n.rangeOffset+e;e+=n.text.length-r.length,g[t]={sortIndex:n.sortIndex,identifier:n.identifier,range:i,text:r,textChange:new Mt(n.rangeOffset,r,s,n.text)}}l||g.sort(((e,t)=>e.sortIndex-t.sortIndex))}this._mightContainRTL=i,this._mightContainUnusualLineTerminators=r,this._mightContainNonBasicASCII=s;const f=this._doApplyEdits(a);let m=null;if(t&&d.length>0){d.sort(((e,t)=>t.lineNumber-e.lineNumber)),m=[];for(let e=0,t=d.length;e<t;e++){const t=d[e].lineNumber;if(e>0&&d[e-1].lineNumber===t)continue;const n=d[e].oldContent,i=this.getLineContent(t);0!==i.length&&i!==n&&-1===h.HG(i)&&m.push(t)}}return this._onDidChangeContent.fire(),new me.F4(g,f,m)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const n=e[0].range,i=e[e.length-1].range,r=new m.Q(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn);let s=n.startLineNumber,o=n.startColumn;const a=[];for(let u=0,g=e.length;u<g;u++){const n=e[u],i=n.range;t=t||n.forceMoveMarkers,a.push(this.getValueInRange(new m.Q(s,o,i.startLineNumber,i.startColumn))),n.text.length>0&&a.push(n.text),s=i.endLineNumber,o=i.endColumn}const l=a.join(""),[h,c,d]=(0,u.W)(l);return{sortIndex:0,identifier:e[0].identifier,range:r,rangeOffset:this.getOffsetAt(r.startLineNumber,r.startColumn),rangeLength:this.getValueLengthInRange(r,0),text:l,eolCount:h,firstLineLength:c,lastLineLength:d,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort($n._sortOpsDescending);const t=[];for(let n=0;n<e.length;n++){const i=e[n],r=i.range.startLineNumber,s=i.range.startColumn,o=i.range.endLineNumber,a=i.range.endColumn;if(r===o&&s===a&&0===i.text.length)continue;i.text?(this._pieceTree.delete(i.rangeOffset,i.rangeLength),this._pieceTree.insert(i.rangeOffset,i.text,!0)):this._pieceTree.delete(i.rangeOffset,i.rangeLength);const l=new m.Q(r,s,o,a);t.push({range:l,rangeLength:i.rangeLength,text:i.text,rangeOffset:i.rangeOffset,forceMoveMarkers:i.forceMoveMarkers})}return t}findMatchesLineByLine(e,t,n,i){return this._pieceTree.findMatchesLineByLine(e,t,n,i)}static _getInverseEditRanges(e){const t=[];let n=0,i=0,r=null;for(let s=0,o=e.length;s<o;s++){const o=e[s];let a,l,h;if(r?r.range.endLineNumber===o.range.startLineNumber?(a=n,l=i+(o.range.startColumn-r.range.endColumn)):(a=n+(o.range.startLineNumber-r.range.endLineNumber),l=o.range.startColumn):(a=o.range.startLineNumber,l=o.range.startColumn),o.text.length>0){const e=o.eolCount+1;h=1===e?new m.Q(a,l,a,l+o.firstLineLength):new m.Q(a,l,a+e-1,o.lastLineLength+1)}else h=new m.Q(a,l,a,l);n=h.endLineNumber,i=h.endColumn,t.push(h),r=o}return t}static _sortOpsAscending(e,t){const n=m.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n}static _sortOpsDescending(e,t){const n=m.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n}}class Gn{constructor(e,t,n,i,r,s,o,a,l){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=r,this._containsRTL=s,this._containsUnusualLineTerminators=o,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){const t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let r=0,s=n.length;r<s;r++){const e=n[r].buffer.replace(/\r\n|\r|\n/g,t),i=Wn(e);n[r]=new Hn(e,i)}const i=new $n(n,this._bom,t,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:i,disposable:i}}}class Qn{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(e){if(0===e.length)return;0===this.chunks.length&&h.LU(e)&&(this.BOM=h.r_,e=e.substr(1));const t=e.charCodeAt(e.length-1);13===t||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let n=1,i=0,r=0,s=0,o=!0;for(let l=0,h=t.length;l<h;l++){const a=t.charCodeAt(l);13===a?l+1<h&&10===t.charCodeAt(l+1)?(s++,e[n++]=l+2,l++):(i++,e[n++]=l+1):10===a?(r++,e[n++]=l+1):o&&9!==a&&(a<32||a>126)&&(o=!1)}const a=new Vn(zn(e),i,r,s,o);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new Hn(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=h.E_(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=h.$X(e)))}finish(e=!0){return this._finish(),new Gn(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=Wn(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var Yn=n(9955),Xn=n(9694),Zn=n(2866),Jn=n(3013),ei=n(2532);const ti=new class{clone(){return this}equals(e){return this===e}};class ni{constructor(e){this._default=e,this._store=[]}get(e){return e<this._store.length?this._store[e]:this._default}set(e,t){for(;e>=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,n){if(e>=this._store.length)return;if(0===t)return void this.insert(e,n);if(0===n)return void this.delete(e,t);const i=this._store.slice(0,e),r=this._store.slice(e+t),s=function(e,t){const n=[];for(let i=0;i<e;i++)n[i]=t;return n}(n,this._default);this._store=i.concat(s,r)}delete(e,t){0===t||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const n=[];for(let i=0;i<t;i++)n[i]=this._default;this._store=(0,o.nK)(this._store,e,n)}}class ii{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(e,t){this._startLineNumber=e,this._tokens=t}getLineTokens(e){return this._tokens[e-this._startLineNumber]}appendLineTokens(e){this._tokens.push(e)}}class ri{constructor(){this._tokens=[]}add(e,t){if(this._tokens.length>0){const n=this._tokens[this._tokens.length-1];if(n.endLineNumber+1===e)return void n.appendLineTokens(t)}this._tokens.push(new ii(e,[t]))}finalize(){return this._tokens}}class si{static{this.defaultTokenMetadata=33587200}static createEmpty(e,t){const n=si.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=e.length,i[1]=n,new si(i,e,t)}static createFromTextAndMetadata(e,t){let n=0,i="";const r=new Array;for(const{text:s,metadata:o}of e)r.push(n+s.length,o),n+=s.length,i+=s;return new si(new Uint32Array(r),i,t)}constructor(e,t,n){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}equals(e){return e instanceof si&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const i=t<<1,r=i+(n<<1);for(let s=i;s<r;s++)if(this._tokens[s]!==e._tokens[s])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[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],n=Je.x.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return Je.x.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return Je.x.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return Je.x.getClassNameFromMetadata(t)}getInlineStyle(e,t){const n=this._tokens[1+(e<<1)];return Je.x.getInlineStyleFromMetadata(n,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return Je.x.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return si.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,n){return new oi(this,e,t,n)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let i=0;i<n;i++)e[i<<1]=e[i+1<<1];e[n<<1]=t}static findIndexInTokensArray(e,t){if(e.length<=2)return 0;let n=0,i=(e.length>>>1)-1;for(;n<i;){const r=n+Math.floor((i-n)/2),s=e[r<<1];if(s===t)return r+1;s<t?n=r+1:s>t&&(i=r)}return n}withInserted(e){if(0===e.length)return this;let t=0,n=0,i="";const r=new Array;let s=0;for(;;){const o=t<this._tokensCount?this._tokens[t<<1]:-1,a=n<e.length?e[n]:null;if(-1!==o&&(null===a||o<=a.offset)){i+=this._text.substring(s,o);const e=this._tokens[1+(t<<1)];r.push(i.length,e),t++,s=o}else{if(!a)break;if(a.offset>s){i+=this._text.substring(s,a.offset);const e=this._tokens[1+(t<<1)];r.push(i.length,e),s=a.offset}i+=a.text,r.push(i.length,a.tokenMetadata),n++}}return new si(new Uint32Array(r),i,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){const t=this.getCount();for(let n=0;n<t;n++)e(n)}}class oi{constructor(e,t,n,i){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=i,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let r=this._firstTokenIndex,s=e.getCount();r<s;r++){if(e.getStartOffset(r)>=n)break;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(e){return e instanceof oi&&(this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._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){const 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){const t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),i=this._source.getEndOffset(t);let r=this._source.getTokenText(t);return n<this._startOffset&&(r=r.substring(this._startOffset-n)),i>this._endOffset&&(r=r.substring(0,r.length-(i-this._endOffset))),r}forEach(e){for(let t=0;t<this.getCount();t++)e(t)}}class ai{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new hi(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class li extends ai{constructor(e,t,n,i){super(e,t),this._textModel=n,this._languageIdCodec=i}updateTokensUntilLine(e,t){const n=this._textModel.getLanguageId();for(;;){const i=this.getFirstInvalidLine();if(!i||i.lineNumber>t)break;const r=this._textModel.getLineContent(i.lineNumber),s=di(this._languageIdCodec,n,this.tokenizationSupport,r,!0,i.startState);e.add(i.lineNumber,s.tokens),this.store.setEndState(i.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){const n=this.getStartState(e.lineNumber);if(!n)return 0;const i=this._textModel.getLanguageId(),r=this._textModel.getLineContent(e.lineNumber),s=r.substring(0,e.column-1)+t+r.substring(e.column-1),o=di(this._languageIdCodec,i,this.tokenizationSupport,s,!0,n),a=new si(o.tokens,s,this._languageIdCodec);if(0===a.getCount())return 0;const l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,n){const i=e.lineNumber,r=e.column,s=this.getStartState(i);if(!s)return null;const o=this._textModel.getLineContent(i),a=o.substring(0,r-1)+n+o.substring(r-1+t),l=this._textModel.getLanguageIdAtPosition(i,0),h=di(this._languageIdCodec,l,this.tokenizationSupport,a,!0,s);return new si(h.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e<this.store.getFirstInvalidEndStateLineNumberOrMax()}isCheapToTokenize(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e<t||e===t&&this._textModel.getLineLength(e)<2048}tokenizeHeuristically(e,t,n){if(n<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(t<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(e,n),{heuristicTokens:!1};let i=this.guessStartState(t);const r=this._textModel.getLanguageId();for(let s=t;s<=n;s++){const t=this._textModel.getLineContent(s),n=di(this._languageIdCodec,r,this.tokenizationSupport,t,!0,i);e.add(s,n.tokens),i=n.endState}return{heuristicTokens:!0}}guessStartState(e){let t=this._textModel.getLineFirstNonWhitespaceColumn(e);const n=[];let i=null;for(let o=e-1;t>1&&o>=1;o--){const e=this._textModel.getLineFirstNonWhitespaceColumn(o);if(0!==e&&(e<t&&(n.push(this._textModel.getLineContent(o)),t=e,i=this.getStartState(o),i)))break}i||(i=this.tokenizationSupport.getInitialState()),n.reverse();const r=this._textModel.getLanguageId();let s=i;for(const o of n){s=di(this._languageIdCodec,r,this.tokenizationSupport,o,!1,s).endState}return s}}class hi{constructor(e){this.lineCount=e,this._tokenizationStateStore=new ci,this._invalidEndStatesLineNumbers=new ui,this._invalidEndStatesLineNumbers.addRange(new ei.L(1,e+1))}getEndState(e){return this._tokenizationStateStore.getEndState(e)}setEndState(e,t){if(!t)throw new l.D7("Cannot set null/undefined state");this._invalidEndStatesLineNumbers.delete(e);const n=this._tokenizationStateStore.setEndState(e,t);return n&&e<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new ei.L(e+1,e+2)),n}acceptChange(e,t){this.lineCount+=t-e.length,this._tokenizationStateStore.acceptChange(e,t),this._invalidEndStatesLineNumbers.addRangeAndResize(new ei.L(e.startLineNumber,e.endLineNumberExclusive),t)}acceptChanges(e){for(const t of e){const[e]=(0,u.W)(t.text);this.acceptChange(new Yn.M(t.range.startLineNumber,t.range.endLineNumber+1),e+1)}}invalidateEndStateRange(e){this._invalidEndStatesLineNumbers.addRange(new ei.L(e.startLineNumber,e.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return null===this._invalidEndStatesLineNumbers.min}getStartState(e,t){return 1===e?t:this.getEndState(e-1)}getFirstInvalidLine(e){const t=this.getFirstInvalidEndStateLineNumber();if(null===t)return null;const n=this.getStartState(t,e);if(!n)throw new l.D7("Start state must be defined");return{lineNumber:t,startState:n}}}class ci{constructor(){this._lineEndStates=new ni(null)}getEndState(e){return this._lineEndStates.get(e)}setEndState(e,t){const n=this._lineEndStates.get(e);return(!n||!n.equals(t))&&(this._lineEndStates.set(e,t),!0)}acceptChange(e,t){let n=e.length;t>0&&n>0&&(n--,t--),this._lineEndStates.replace(e.startLineNumber,n,t)}}class ui{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex((t=>t.contains(e)));if(-1!==t){const n=this._ranges[t];n.start===e?n.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new ei.L(e+1,n.endExclusive):n.endExclusive===e+1?this._ranges[t]=new ei.L(n.start,e):this._ranges.splice(t,1,new ei.L(n.start,e),new ei.L(e+1,n.endExclusive))}}addRange(e){ei.L.addRange(e,this._ranges)}addRangeAndResize(e,t){let n=0;for(;!(n>=this._ranges.length||e.start<=this._ranges[n].endExclusive);)n++;let i=n;for(;!(i>=this._ranges.length||e.endExclusive<this._ranges[i].start);)i++;const r=t-e.length;for(let s=i;s<this._ranges.length;s++)this._ranges[s]=this._ranges[s].delta(r);if(n===i){const i=new ei.L(e.start,e.start+t);i.isEmpty||this._ranges.splice(n,0,i)}else{const t=Math.min(e.start,this._ranges[n].start),s=Math.max(e.endExclusive,this._ranges[i-1].endExclusive),o=new ei.L(t,s+r);o.isEmpty?this._ranges.splice(n,i-n):this._ranges.splice(n,i-n,o)}}toString(){return this._ranges.map((e=>e.toString())).join(" + ")}}function di(e,t,n,i,r,s){let o=null;if(n)try{o=n.tokenizeEncoded(i,r,s.clone())}catch(a){(0,l.dz)(a)}return o||(o=function(e,t){const n=new Uint32Array(2);return n[0]=0,n[1]=(32768|e|2<<24)>>>0,new Xn.rY(n,null===t?ti:t)}(e.encodeLanguageId(t),s)),si.convertToEndOffset(o.tokens,i.length),o}class gi{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,Zn.$6)((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),n=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()<t?(0,s._p)(n):this._beginBackgroundTokenization())};n()}_backgroundTokenizeForAtLeast1ms(){const e=this._tokenizerWithStateStore._textModel.getLineCount(),t=new ri,n=Jn.W.create(!1);do{if(n.elapsed()>1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new Yn.M(e,t))}}class fi{constructor(){this._onDidChangeVisibleRanges=new i.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new mi((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class mi{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const n=e.map((e=>new Yn.M(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:n,stabilized:t})}}class pi extends r.jG{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Zn.uC((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,o.aI)(this._computedLineRanges,this._lineRanges,((e,t)=>e.equals(t)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class _i extends r.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,n){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=n,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new i.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new i.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class bi extends _i{constructor(e,t,n,i){super(t,n,i),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=Xn.OB.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const n=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(n)return new si(n,t,this._languageIdCodec)}return si.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,n){return 0}tokenizeLineWithEdit(e,t,n){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}var ki=n(5320);const vi=new Uint32Array(0).buffer;class Ci{static deleteBeginning(e,t){return null===e||e===vi?e:Ci.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===vi)return e;const n=Li(e),i=n[n.length-2];return Ci.delete(e,t,i)}static delete(e,t,n){if(null===e||e===vi||t===n)return e;const i=Li(e),r=i.length>>>1;if(0===t&&i[i.length-2]===n)return vi;const s=si.findIndexInTokensArray(i,t),o=s>0?i[s-1<<1]:0;if(n<i[s<<1]){const o=n-t;for(let e=s;e<r;e++)i[e<<1]-=o;return e}let a,l;o!==t?(i[s<<1]=t,a=s+1<<1,l=t):(a=s<<1,l=o);const h=n-t;for(let u=s+1;u<r;u++){const e=i[u<<1]-h;e>l&&(i[a++]=e,i[a++]=i[1+(u<<1)],l=e)}if(a===i.length)return e;const c=new Uint32Array(a);return c.set(i.subarray(0,a),0),c.buffer}static append(e,t){if(t===vi)return e;if(e===vi)return t;if(null===e)return e;if(null===t)return null;const n=Li(e),i=Li(t),r=i.length>>>1,s=new Uint32Array(n.length+i.length);s.set(n,0);let o=n.length;const a=n[n.length-2];for(let l=0;l<r;l++)s[o++]=i[l<<1]+a,s[o++]=i[1+(l<<1)];return s.buffer}static insert(e,t,n){if(null===e||e===vi)return e;const i=Li(e),r=i.length>>>1;let s=si.findIndexInTokensArray(i,t);if(s>0){i[s-1<<1]===t&&s--}for(let o=s;o<r;o++)i[o<<1]+=n;return e}}function Li(e){return e instanceof Uint32Array?e:new Uint32Array(e)}class wi{constructor(e){this._lineTokens=[],this._len=0,this._languageIdCodec=e}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(e,t,n){let i=null;if(t<this._len&&(i=this._lineTokens[t]),null!==i&&i!==vi)return new si(Li(i),n,this._languageIdCodec);const r=new Uint32Array(2);return r[0]=n.length,r[1]=yi(this._languageIdCodec.encodeLanguageId(e)),new si(r,n,this._languageIdCodec)}static _massageTokens(e,t,n){const i=n?Li(n):null;if(0===t){let t=!1;if(i&&i.length>1&&(t=Je.x.getLanguageId(i[1])!==e),!t)return vi}if(!i||0===i.length){const n=new Uint32Array(2);return n[0]=t,n[1]=yi(e),n.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const n=[];for(let i=0;i<t;i++)n[i]=null;this._lineTokens=o.nK(this._lineTokens,e,n),this._len+=t}setTokens(e,t,n,i,r){const s=wi._massageTokens(this._languageIdCodec.encodeLanguageId(e),n,i);this._ensureLine(t);const o=this._lineTokens[t];return this._lineTokens[t]=s,!!r&&!wi._equals(o,s)}static _equals(e,t){if(!e||!t)return!e&&!t;const n=Li(e),i=Li(t);if(n.length!==i.length)return!1;for(let r=0,s=n.length;r<s;r++)if(n[r]!==i[r])return!1;return!0}acceptEdit(e,t,n){this._acceptDeleteRange(e),this._acceptInsertText(new f.y(e.startLineNumber,e.startColumn),t,n)}_acceptDeleteRange(e){const t=e.startLineNumber-1;if(t>=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=Ci.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=Ci.deleteEnding(this._lineTokens[t],e.startColumn-1);const n=e.endLineNumber-1;let i=null;n<this._len&&(i=Ci.deleteBeginning(this._lineTokens[n],e.endColumn-1)),this._lineTokens[t]=Ci.append(this._lineTokens[t],i),this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t,n){if(0===t&&0===n)return;const i=e.lineNumber-1;i>=this._len||(0!==t?(this._lineTokens[i]=Ci.deleteEnding(this._lineTokens[i],e.column-1),this._lineTokens[i]=Ci.insert(this._lineTokens[i],e.column-1,n),this._insertLines(e.lineNumber,t)):this._lineTokens[i]=Ci.insert(this._lineTokens[i],e.column-1,n))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const n=[];for(let i=0,r=e.length;i<r;i++){const r=e[i];let s=0,o=0,a=!1;for(let e=r.startLineNumber;e<=r.endLineNumber;e++)if(a)this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),r.getLineTokens(e),!1),o=e;else{this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),r.getLineTokens(e),!0)&&(a=!0,s=e,o=e)}a&&n.push({fromLineNumber:s,toLineNumber:o})}return{changes:n}}}function yi(e){return(32768|e|2<<24|1024)>>>0}class Si{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let n=e;if(t.length>0){const i=t[0].getRange(),r=t[t.length-1].getRange();if(!i||!r)return e;n=e.plusRange(i).plusRange(r)}let i=null;for(let r=0,s=this._pieces.length;r<s;r++){const e=this._pieces[r];if(e.endLineNumber<n.startLineNumber)continue;if(e.startLineNumber>n.endLineNumber){i=i||{index:r};break}if(e.removeTokens(n),e.isEmpty()){this._pieces.splice(r,1),r--,s--;continue}if(e.endLineNumber<n.startLineNumber)continue;if(e.startLineNumber>n.endLineNumber){i=i||{index:r};continue}const[t,o]=e.split(n);t.isEmpty()?i=i||{index:r}:o.isEmpty()||(this._pieces.splice(r,1,t,o),r++,s++,i=i||{index:r})}return i=i||{index:this._pieces.length},t.length>0&&(this._pieces=o.nK(this._pieces,i.index,t)),n}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const n=this._pieces;if(0===n.length)return t;const i=n[Si._findFirstPieceWithLine(n,e)].getLineTokens(e);if(!i)return t;const r=t.getCount(),s=i.getCount();let o=0;const a=[];let l=0,h=0;const c=(e,t)=>{e!==h&&(h=e,a[l++]=e,a[l++]=t)};for(let u=0;u<s;u++){const e=i.getStartCharacter(u),n=i.getEndCharacter(u),s=i.getMetadata(u),a=((1&s?2048:0)|(2&s?4096:0)|(4&s?8192:0)|(8&s?16384:0)|(16&s?16744448:0)|(32&s?4278190080:0))>>>0,l=~a>>>0;for(;o<r&&t.getEndOffset(o)<=e;)c(t.getEndOffset(o),t.getMetadata(o)),o++;for(o<r&&t.getStartOffset(o)<e&&c(e,t.getMetadata(o));o<r&&t.getEndOffset(o)<n;)c(t.getEndOffset(o),t.getMetadata(o)&l|s&a),o++;if(o<r)c(n,t.getMetadata(o)&l|s&a),t.getEndOffset(o)===n&&o++;else{const e=Math.min(Math.max(0,o-1),r-1);c(n,t.getMetadata(e)&l|s&a)}}for(;o<r;)c(t.getEndOffset(o),t.getMetadata(o)),o++;return new si(new Uint32Array(a),t.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(e,t){let n=0,i=e.length-1;for(;n<i;){let r=n+Math.floor((i-n)/2);if(e[r].endLineNumber<t)n=r+1;else{if(!(e[r].startLineNumber>t)){for(;r>n&&e[r-1].startLineNumber<=t&&t<=e[r-1].endLineNumber;)r--;return r}i=r-1}}return n}acceptEdit(e,t,n,i,r){for(const s of this._pieces)s.acceptEdit(e,t,n,i,r)}}var xi,Ei=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},Ni=function(e,t){return function(n,i){t(n,i,e)}};let Ii=xi=class extends jt{constructor(e,t,n,s,o,a,l){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=n,this._attachedViews=s,this._languageService=o,this._languageConfigurationService=a,this._treeSitterService=l,this._semanticTokens=new Si(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new i.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new i.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new i.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new r.Cm),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(i.Jh.filter(Xn.OB.onDidChange,(e=>e.changedLanguages.includes(this._languageId)))((()=>{this.createPreferredTokenProvider()}))),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new Ti(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews))}createTreeSitterTokens(){return this._register(new bi(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,(()=>this._languageId)))}createTokens(e){const t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){Xn.OB.get(this._languageId)?this._tokens instanceof bi||this.createTokens(!0):this._tokens instanceof Ti||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,n,i]=(0,u.W)(t.text);this._semanticTokens.acceptEdit(t.range,e,n,i,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new l.D7("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,n){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,n)}tokenizeLineWithEdit(e,t,n){return this._tokens.tokenizeLineWithEdit(e,t,n)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const n=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:n.startLineNumber,toLineNumber:n.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),n=this._textModel.getLineContent(t.lineNumber),i=this.getLineTokens(t.lineNumber),r=i.findTokenIndexAtOffset(t.column-1),[s,o]=xi._findLanguageBoundaries(i,r),a=(0,v.Th)(t.column,this.getLanguageConfiguration(i.getLanguageId(r)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(r>0&&s===t.column-1){const[s,o]=xi._findLanguageBoundaries(i,r-1),a=(0,v.Th)(t.column,this.getLanguageConfiguration(i.getLanguageId(r-1)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const n=e.getLanguageId(t);let i=0;for(let s=t;s>=0&&e.getLanguageId(s)===n;s--)i=e.getStartOffset(s);let r=e.getLineContent().length;for(let s=t,o=e.getCount();s<o&&e.getLanguageId(s)===n;s++)r=e.getEndOffset(s);return[i,r]}getWordUntilPosition(e){const t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(e,t){const n=this._textModel.validatePosition(new f.y(e,t)),i=this.getLineTokens(n.lineNumber);return i.getLanguageId(i.findTokenIndexAtOffset(n.column-1))}setLanguageId(e,t="api"){if(this._languageId===e)return;const n={oldLanguage:this._languageId,newLanguage:e,source:t};this._languageId=e,this._bracketPairsTextModelPart.handleDidChangeLanguage(n),this._tokens.resetTokenization(),this.createPreferredTokenProvider(),this._onDidChangeLanguage.fire(n),this._onDidChangeLanguageConfiguration.fire({})}};Ii=xi=Ei([Ni(4,k.L),Ni(5,se),Ni(6,ki.ITreeSitterParserService)],Ii);class Ti extends _i{constructor(e,t,n,i){super(e,t,n),this._tokenizer=null,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new r.HE),this._tokens=new wi(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new r.HE),this._attachedViewStates=this._register(new r.$w),this._register(Xn.dG.onDidChange((e=>{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(i.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let n=this._attachedViewStates.get(e);n||(n=new pi((()=>this.refreshRanges(n.lineRanges))),this._attachedViewStates.set(e,n)),n.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new hi(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[t,n]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=Xn.dG.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(n){return(0,l.dz)(n),[null,null]}return[e,t]})();if(this._tokenizer=t&&n?new li(this._textModel.getLineCount(),t,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{if(2===this._backgroundTokenizationState)return;this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(e,t)=>{if(!this._tokenizer)return;const n=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==n&&e>=n&&this._tokenizer?.store.setEndState(e,t)}};t&&t.createBackgroundTokenizer&&!t.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new gi(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),t?.backgroundTokenizerShouldOnlyVerifyTokens&&t.createBackgroundTokenizer?(this._debugBackgroundTokens=new wi(this._languageIdCodec),this._debugBackgroundStates=new hi(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[e,n]=(0,u.W)(t.text);this._tokens.acceptEdit(t.range,e,n),this._debugBackgroundTokens?.acceptEdit(t.range,e,n)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=Yn.M.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const n=new ri,{heuristicTokens:i}=this._tokenizer.tokenizeHeuristically(n,e,t),r=this.setTokens(n.finalize());if(i)for(const s of r.changes)this._backgroundTokenizer.value?.requestTokens(s.fromLineNumber,s.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new ri;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){const t=this._textModel.getLineContent(e),n=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const i=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!n.equals(i)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return n}getTokenTypeIfInsertingCharacter(e,t,n){if(!this._tokenizer)return 0;const i=this._textModel.validatePosition(new f.y(e,t));return this.forceTokenization(i.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(i,n)}tokenizeLineWithEdit(e,t,n){if(!this._tokenizer)return null;const i=this._textModel.validatePosition(e);return this.forceTokenization(i.lineNumber),this._tokenizer.tokenizeLineWithEdit(i,t,n)}get hasTokens(){return this._tokens.hasTokens}}class Ai{constructor(){this.changeType=1}}class Di{static applyInjectedText(e,t){if(!t||0===t.length)return e;let n="",i=0;for(const r of t)n+=e.substring(i,r.column-1),i=r.column-1,n+=r.options.content;return n+=e.substring(i),n}static fromDecorations(e){const t=[];for(const n of e)n.options.before&&n.options.before.content.length>0&&t.push(new Di(n.ownerId,n.range.startLineNumber,n.range.startColumn,n.options.before,0)),n.options.after&&n.options.after.content.length>0&&t.push(new Di(n.ownerId,n.range.endLineNumber,n.range.endColumn,n.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}constructor(e,t,n,i,r){this.ownerId=e,this.lineNumber=t,this.column=n,this.options=i,this.order=r}}class Mi{constructor(e,t,n){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=n}}class Ri{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class Oi{constructor(e,t,n,i){this.changeType=4,this.injectedTexts=i,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}class Bi{constructor(){this.changeType=5}}class Fi{constructor(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i,this.resultingSelection=null}containsEvent(e){for(let t=0,n=this.changes.length;t<n;t++){if(this.changes[t].changeType===e)return!0}return!1}static merge(e,t){const n=[].concat(e.changes).concat(t.changes),i=t.versionId,r=e.isUndoing||t.isUndoing,s=e.isRedoing||t.isRedoing;return new Fi(n,i,r,s)}}class Pi{constructor(e){this.changes=e}}class zi{constructor(e,t){this.rawContentChangedEvent=e,this.contentChangedEvent=t}merge(e){const t=Fi.merge(this.rawContentChangedEvent,e.rawContentChangedEvent),n=zi._mergeChangeEvents(this.contentChangedEvent,e.contentChangedEvent);return new zi(t,n)}static _mergeChangeEvents(e,t){const n=[].concat(e.changes).concat(t.changes),i=t.eol,r=t.versionId,s=e.isUndoing||t.isUndoing,o=e.isRedoing||t.isRedoing,a=e.isFlush||t.isFlush;return{changes:n,eol:i,isEolChange:e.isEolChange&&t.isEolChange,versionId:r,isUndoing:s,isRedoing:o,isFlush:a}}}const Vi=(0,K.u1)("undoRedoService");class Wi{static{this._ID=0}constructor(){this.id=Wi._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new Wi}}class qi{static{this._ID=0}constructor(){this.id=qi._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new qi}}var Hi,Ui=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},ji=function(e,t){return function(n,i){t(n,i,e)}};function Ki(e,t){let n;return n="string"==typeof e?function(e){const t=new Qn;return t.acceptChunk(e),t.finish()}(e):me.nk(e)?function(e){const t=new Qn;let n;for(;"string"==typeof(n=e.read());)t.acceptChunk(n);return t.finish()}(e):e,n.create(t)}let $i=0;class Gi{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,n=0;for(;;){const i=this._source.read();if(null===i)return this._eos=!0,0===t?null:e.join("");if(i.length>0&&(e[t++]=i,n+=i.length),n>=65536)return e.join("")}}}const Qi=()=>{throw new Error("Invalid change accessor")};let Yi=class extends r.jG{static{Hi=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:_.tabSize,indentSize:_.indentSize,insertSpaces:_.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:_.trimAutoWhitespace,largeFileOptimizations:_.largeFileOptimizations,bracketPairColorizationOptions:_.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){const n=Zt(e,t.tabSize,t.insertSpaces);return new me.X2({tabSize:n.tabSize,indentSize:"tabSize",insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new me.X2(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return(0,r.qE)(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,n,s=null,o,a,l,u){super(),this._undoRedoService=o,this._languageService=a,this._languageConfigurationService=l,this.instantiationService=u,this._onWillDispose=this._register(new i.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new hr((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new i.vl),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new i.vl),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new i.vl),this._eventEmitter=this._register(new cr),this._languageSelectionListener=this._register(new r.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new fi,$i++,this.id="$model"+$i,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==s?c.r.parse("inmemory://model/"+$i):s,this._attachedEditorCount=0;const{textBuffer:d,disposable:g}=Ki(e,n.defaultEOL);this._buffer=d,this._bufferDisposable=g,this._options=Hi.resolveOptions(this._buffer,n);const f="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange((()=>this._setLanguage(t.languageId)))),this._bracketPairs=this._register(new wt(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new Gt(this,this._languageConfigurationService)),this._decorationProvider=this._register(new It(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(Ii,this,this._bracketPairs,f,this._attachedViews);const p=this._buffer.getLineCount(),_=this._buffer.getValueLengthInRange(new m.Q(1,1,p,this._buffer.getLineLength(p)+1),0);n.largeFileOptimizations?(this._isTooLargeForTokenization=_>Hi.LARGE_FILE_SIZE_THRESHOLD||p>Hi.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=_>Hi.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=_>Hi._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=h.tk($i),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Ji,this._commandManager=new qt(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(f),this._register(this._languageConfigurationService.onDidChange((e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)})))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new $n([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=r.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new l.D7("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new zi(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,l.Qg)();const{textBuffer:t,disposable:n}=Ki(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,n)}_createContentChanged2(e,t,n,i,r,s,o,a){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:r,isRedoing:s,isFlush:o}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),r=this.getLineCount(),s=this.getLineMaxColumn(r);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new Ji,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Fi([new Ai],this._versionId,!1,!1),this._createContentChanged2(new m.Q(1,1,r,s),0,i,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),r=this.getLineCount(),s=this.getLineMaxColumn(r);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Fi([new Bi],this._versionId,!1,!1),this._createContentChanged2(new m.Q(1,1,r,s),0,i,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let n=0,i=t.length;n<i;n++){const i=t[n],r=i.range,s=i.cachedAbsoluteStart-i.start,o=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),a=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);i.cachedAbsoluteStart=o,i.cachedAbsoluteEnd=a,i.cachedVersionId=e,i.start=o-s,i.end=a-s,Cn(i)}}onBeforeAttached(){return this._attachedEditorCount++,1===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(e){this._attachedEditorCount--,0===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(e)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const n=this._buffer.getLineCount();for(let i=1;i<=n;i++){const n=this._buffer.getLineLength(i);n>=1e4?t+=n:e+=n}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,r=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,o=new me.X2({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:r,bracketPairColorizationOptions:s});if(this._options.equals(o))return;const a=this._options.createChangeEvent(o);this._options=o,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const n=Zt(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),g(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(h._J.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map((e=>({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.D7("Operation would exceed heap memory limits");const n=this.getFullModelRange(),i=this.getValueInRange(n,e);return t?this._buffer.getBOM()+i:i}createSnapshot(e=!1){return new Gi(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n,e);return t?this._buffer.getBOM().length+i:i}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),n=e.startLineNumber,i=e.startColumn;let r=Math.floor("number"!=typeof n||isNaN(n)?1:n),s=Math.floor("number"!=typeof i||isNaN(i)?1:i);if(r<1)r=1,s=1;else if(r>t)r=t,s=this.getLineMaxColumn(r);else if(s<=1)s=1;else{const e=this.getLineMaxColumn(r);s>=e&&(s=e)}const o=e.endLineNumber,a=e.endColumn;let l=Math.floor("number"!=typeof o||isNaN(o)?1:o),h=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,h=1;else if(l>t)l=t,h=this.getLineMaxColumn(l);else if(h<=1)h=1;else{const e=this.getLineMaxColumn(l);h>=e&&(h=e)}return n===r&&i===s&&o===l&&a===h&&e instanceof m.Q&&!(e instanceof p.L)?e:new m.Q(r,s,l,h)}_isValidPosition(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===n){const n=this._buffer.getLineCharCode(e,t-2);if(h.pc(n))return!1}return!0}_validatePosition(e,t,n){const i=Math.floor("number"!=typeof e||isNaN(e)?1:e),r=Math.floor("number"!=typeof t||isNaN(t)?1:t),s=this._buffer.getLineCount();if(i<1)return new f.y(1,1);if(i>s)return new f.y(s,this.getLineMaxColumn(s));if(r<=1)return new f.y(i,1);const o=this.getLineMaxColumn(i);if(r>=o)return new f.y(i,o);if(1===n){const e=this._buffer.getLineCharCode(i,r-2);if(h.pc(e))return new f.y(i,r-1)}return new f.y(i,r)}validatePosition(e){return this._assertNotDisposed(),e instanceof f.y&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const n=e.startLineNumber,i=e.startColumn,r=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(n,i,0))return!1;if(!this._isValidPosition(r,s,0))return!1;if(1===t){const e=i>1?this._buffer.getLineCharCode(n,i-2):0,t=s>1&&s<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,s-2):0,o=h.pc(e),a=h.pc(t);return!o&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof m.Q&&!(e instanceof p.L)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),i=t.lineNumber,r=t.column,s=n.lineNumber,o=n.column;{const e=r>1?this._buffer.getLineCharCode(i,r-2):0,t=o>1&&o<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,o-2):0,n=h.pc(e),a=h.pc(t);return n||a?i===s&&r===o?new m.Q(i,r-1,s,o-1):n&&a?new m.Q(i,r-1,s,o+1):n?new m.Q(i,r-1,s,o):new m.Q(i,r,s,o+1):new m.Q(i,r,s,o)}}modifyPosition(e,t){this._assertNotDisposed();const n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new m.Q(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)}findMatches(e,t,n,i,r,s,o=999){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>m.Q.isIRange(e)))&&(a=t.map((e=>this.validateRange(e))))),null===a&&(a=[this.getFullModelRange()]),a=a.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const l=[];let h;if(l.push(a.reduce(((e,t)=>m.Q.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t)))),!n&&e.indexOf("\n")<0){const t=new Fn.lt(e,n,i,r).parseSearchRequest();if(!t)return[];h=e=>this.findMatchesLineByLine(e,t,s,o)}else h=t=>Fn.hB.findMatches(this,new Fn.lt(e,n,i,r),t,s,o);return l.map(h).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,n,i,r,s){this._assertNotDisposed();const o=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){const t=new Fn.lt(e,n,i,r).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new m.Q(o.lineNumber,o.column,a,this.getLineMaxColumn(a)),h=this.findMatchesLineByLine(l,t,s,1);return Fn.hB.findNextMatch(this,new Fn.lt(e,n,i,r),o,s),h.length>0?h[0]:(l=new m.Q(1,1,o.lineNumber,this.getLineMaxColumn(o.lineNumber)),h=this.findMatchesLineByLine(l,t,s,1),h.length>0?h[0]:null)}return Fn.hB.findNextMatch(this,new Fn.lt(e,n,i,r),o,s)}findPreviousMatch(e,t,n,i,r,s){this._assertNotDisposed();const o=this.validatePosition(t);return Fn.hB.findPreviousMatch(this,new Fn.lt(e,n,i,r),o,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof me.Wo?e:new me.Wo(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let n=0,i=e.length;n<i;n++)t[n]=this._validateEditOperation(e[n]);return t}pushEditOperations(e,t,n,i){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),n,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,n,i){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const n=t.map((e=>({range:this.validateRange(e.range),text:e.text})));let i=!0;if(e)for(let t=0,r=e.length;t<r;t++){const r=e[t];let s=!1;for(let e=0,t=n.length;e<t;e++){const t=n[e].range,i=t.startLineNumber>r.endLineNumber,o=r.startLineNumber>t.endLineNumber;if(!i&&!o){s=!0;break}}if(!s){i=!1;break}}if(i)for(let e=0,r=this._trimAutoWhitespaceLines.length;e<r;e++){const i=this._trimAutoWhitespaceLines[e],r=this.getLineMaxColumn(i);let s=!0;for(let e=0,t=n.length;e<t;e++){const t=n[e].range,o=n[e].text;if(!(i<t.startLineNumber||i>t.endLineNumber)&&!(i===t.startLineNumber&&t.startColumn===r&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(0)||i===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(o.length-1))){s=!1;break}}if(s){const e=new m.Q(i,1,i,r);t.push(new me.Wo(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,i)}_applyUndo(e,t,n,i){const r=e.map((e=>{const t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new m.Q(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}}));this._applyUndoRedoEdits(r,t,!0,!1,n,i)}_applyRedo(e,t,n,i){const r=e.map((e=>{const t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new m.Q(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}}));this._applyUndoRedoEdits(r,t,!1,!0,n,i)}_applyUndoRedoEdits(e,t,n,i,r,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=i,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(r)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const n=this._buffer.getLineCount(),i=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),r=this._buffer.getLineCount(),s=i.changes;if(this._trimAutoWhitespaceLines=i.trimAutoWhitespaceLineNumbers,0!==s.length){for(let n=0,i=s.length;n<i;n++){const e=s[n];this._decorationsTree.acceptReplace(e.rangeOffset,e.rangeLength,e.text.length,e.forceMoveMarkers)}const e=[];this._increaseVersionId();let t=n;for(let n=0,i=s.length;n<i;n++){const i=s[n],[a]=(0,u.W)(i.text);this._onDidChangeDecorations.fire();const l=i.range.startLineNumber,h=i.range.endLineNumber,c=h-l,d=a,g=Math.min(c,d),m=d-c,p=r-t-m+l,_=p,b=p+d,k=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new f.y(_,1)),this.getOffsetAt(new f.y(b,this.getLineMaxColumn(b))),0),v=Di.fromDecorations(k),C=new o.j3(v);for(let t=g;t>=0;t--){const n=l+t,i=p+t;C.takeFromEndWhile((e=>e.lineNumber>i));const r=C.takeFromEndWhile((e=>e.lineNumber===i));e.push(new Mi(n,this.getLineContent(i),r))}if(g<c){const t=l+g;e.push(new Ri(t+1,h))}if(g<d){const n=new o.j3(v),i=l+g,s=d-g,a=r-t-s+i+1,h=[],c=[];for(let e=0;e<s;e++){const t=a+e;c[e]=this.getLineContent(t),n.takeWhile((e=>e.lineNumber<t)),h[e]=n.takeWhile((e=>e.lineNumber===t))}e.push(new Oi(i+1,l+d,c,h))}t+=m}this._emitContentChangedEvent(new Fi(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})}return null===i.reverseEdits?void 0:i.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){if(null===e||0===e.size)return;const t=Array.from(e).map((e=>new Mi(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new Pi(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,lr(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>0===t.length&&0===n.length?[]:this._deltaDecorationsImpl(e,t,n)};let i=null;try{i=t(n)}catch(r){(0,l.dz)(r)}return n.addDecoration=Qi,n.changeDecoration=Qi,n.changeDecorationOptions=Qi,n.removeDecoration=Qi,n.deltaDecorations=Qi,i}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,l.dz)(new 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){const i=e?this._decorations[e]:null;if(!i)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:ar[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(i),delete this._decorations[i.id],null;const r=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),o=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);return this._decorationsTree.delete(i),i.reset(this.getVersionId(),s,o,r),i.setOptions(ar[n]),this._decorationsTree.insert(i),i.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let n=0,i=t.length;n<i;n++){const e=t[n];this._decorationsTree.delete(e),delete this._decorations[e.id]}}getDecorationOptions(e){const t=this._decorations[e];return t?t.options:null}getDecorationRange(e){const t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,n=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)}getLinesDecorations(e,t,n=0,i=!1,r=!1){const s=this.getLineCount(),a=Math.min(s,Math.max(1,e)),l=Math.min(s,Math.max(1,t)),h=this.getLineMaxColumn(l),c=new m.Q(a,1,l,h),u=this._getDecorationsInRange(c,n,i,r);return(0,o.E4)(u,this._decorationProvider.getDecorationsInRange(c,n,i)),u}getDecorationsInRange(e,t=0,n=!1,i=!1,r=!1){const s=this.validateRange(e),a=this._getDecorationsInRange(s,t,n,r);return(0,o.E4)(a,this._decorationProvider.getDecorationsInRange(s,t,n,i)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),n=t+this._buffer.getLineLength(e),i=this._decorationsTree.getInjectedTextInInterval(this,t,n,0);return Di.fromDecorations(i).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let n=this._decorationsTree.getAll(this,e,t,!1,!1);return n=n.concat(this._decorationProvider.getAllDecorations(e,t)),n}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,n,i){const r=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,r,s,t,n,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const n=this._decorations[e];if(!n)return;if(n.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(n.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const i=this._validateRangeRelaxedNoAllocations(t),r=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),s=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(n),n.reset(this.getVersionId(),r,s,i),this._decorationsTree.insert(n),this._onDidChangeDecorations.checkAffectedAndFire(n.options),n.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),n.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber)}_changeDecorationOptionsImpl(e,t){const n=this._decorations[e];if(!n)return;const i=!(!n.options.overviewRuler||!n.options.overviewRuler.color),r=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(n.options),this._onDidChangeDecorations.checkAffectedAndFire(t),n.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(n.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const s=i!==r,o=function(e){return!!e.after||!!e.before}(t)!==Zi(n);s||o?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t)}_deltaDecorationsImpl(e,t,n,i=!1){const r=this.getVersionId(),s=t.length;let o=0;const a=n.length;let l=0;this._onDidChangeDecorations.beginDeferredEmit();try{const h=new Array(a);for(;o<s||l<a;){let c=null;if(o<s){do{c=this._decorations[t[o++]]}while(!c&&o<s);if(c){if(c.options.after){const e=this._decorationsTree.getNodeRange(this,c);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(c.options.before){const e=this._decorationsTree.getNodeRange(this,c);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}this._decorationsTree.delete(c),i||this._onDidChangeDecorations.checkAffectedAndFire(c.options)}}if(l<a){if(!c){const e=++this._lastDecorationId,t=`${this._instanceId};${e}`;c=new cn(t,0,0),this._decorations[t]=c}const t=n[l],s=this._validateRangeRelaxedNoAllocations(t.range),o=lr(t.options),a=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),u=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);c.ownerId=e,c.reset(r,a,u,s),c.setOptions(o),c.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.endLineNumber),c.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.startLineNumber),i||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(c),h[l]=c.id,l++}else c&&delete this._decorations[c.id]}return h}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){"string"==typeof e?(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 function(e){let t=0;for(const n of e){if(" "!==n&&"\t"!==n)break;t++}return t}(this.getLineContent(e))+1}};function Xi(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Zi(e){return!!e.options.after||!!e.options.before}Yi=Hi=Ui([ji(4,Vi),ji(5,k.L),ji(6,se),ji(7,K._Y)],Yi);class Ji{constructor(){this._decorationsTree0=new dn,this._decorationsTree1=new dn,this._injectedTextDecorationsTree=new dn}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const n of t)null===n.range&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,i,r,s){const o=e.getVersionId(),a=this._intervalSearch(t,n,i,r,o,s);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,n,i,r,s){const o=this._decorationsTree0.intervalSearch(e,t,n,i,r,s),a=this._decorationsTree1.intervalSearch(e,t,n,i,r,s),l=this._injectedTextDecorationsTree.intervalSearch(e,t,n,i,r,s);return o.concat(a).concat(l)}getInjectedTextInInterval(e,t,n,i){const r=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,n,i,!1,r,!1);return this._ensureNodesHaveRanges(e,s).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const n=e.getVersionId(),i=this._injectedTextDecorationsTree.search(t,!1,n,!1);return this._ensureNodesHaveRanges(e,i).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,n,i,r){const s=e.getVersionId(),o=this._search(t,n,i,s,r);return this._ensureNodesHaveRanges(e,o)}_search(e,t,n,i,r){if(n)return this._decorationsTree1.search(e,t,i,r);{const n=this._decorationsTree0.search(e,t,i,r),s=this._decorationsTree1.search(e,t,i,r),o=this._injectedTextDecorationsTree.search(e,t,i,r);return n.concat(s).concat(o)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),i=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(i)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){Zi(e)?this._injectedTextDecorationsTree.insert(e):Xi(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Zi(e)?this._injectedTextDecorationsTree.delete(e):Xi(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Zi(e)?this._injectedTextDecorationsTree.resolveNode(e,t):Xi(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,i){this._decorationsTree0.acceptReplace(e,t,n,i),this._decorationsTree1.acceptReplace(e,t,n,i),this._injectedTextDecorationsTree.acceptReplace(e,t,n,i)}}function er(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class tr{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class nr extends tr{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:me.A5.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const n=e?t.getColor(e.id):null;return n?n.toString():""}}class ir{constructor(e){this.position=e?.position??me.ZS.Center,this.persistLane=e?.persistLane}}class rr extends tr{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?a.Q1.fromHex(e):t.getColor(e.id)}}class sr{static from(e){return e instanceof sr?e:new sr(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class or{static register(e){return new or(e)}static createDynamic(e){return new or(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?er(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?er(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.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new nr(e.overviewRuler):null,this.minimap=e.minimap?new rr(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new ir(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?er(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?er(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?er(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?h.jy(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?er(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?er(e.marginClassName):null,this.inlineClassName=e.inlineClassName?er(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?er(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?er(e.afterContentClassName):null,this.after=e.after?sr.from(e.after):null,this.before=e.before?sr.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}or.EMPTY=or.register({description:"empty"});const ar=[or.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),or.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),or.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),or.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function lr(e){return e instanceof or?e:or.createDynamic(e)}class hr extends r.jG{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new i.vl),this.event=this._actual.event,this._affectedInjectedTextLines=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--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}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(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const 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)}}class cr extends r.jG{constructor(){super(),this._fastEmitter=this._register(new i.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new i.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}var ur,dr=n(1504),gr=n(2344),fr=n(3072),mr=n(1386),pr=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},_r=function(e,t){return function(n,i){t(n,i,e)}};function br(e){return e.toString()}class kr{constructor(e,t,n){this.model=e,this._modelEventListeners=new r.Cm,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>n(e,t))))}dispose(){this._modelEventListeners.dispose()}}const vr=s.j9||s.zx?1:2;class Cr{constructor(e,t,n,i,r,s,o,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=i,this.heapSize=r,this.sha1=s,this.versionId=o,this.alternativeVersionId=a}}let Lr=class extends r.jG{static{ur=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(e,t,n,r){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._instantiationService=r,this._onModelAdded=this._register(new i.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new i.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new i.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let n=_.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(n=t),n<1&&(n=1)}let i="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(i=Math.max(t,1))}let r=_.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(r="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let s=vr;const o=e.eol;"\r\n"===o?s=2:"\n"===o&&(s=1);let a=_.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let l=_.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let h=_.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(h="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let c=_.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(c={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:n,indentSize:i,insertSpaces:r,detectIndentation:l,defaultEOL:s,trimAutoWhitespace:a,largeFileOptimizations:h,bracketPairColorizationOptions:c}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const n=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return n&&"string"==typeof n&&"auto"!==n?n:3===s.OS||2===s.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,n){const i="string"==typeof e?e:e.languageId;let r=this._modelCreationOptionsByLanguageAndResource[i+t];if(!r){const e=this._configurationService.getValue("editor",{overrideIdentifier:i,resource:t}),s=this._getEOL(t,i);r=ur._readModelOptions({editor:e,eol:s},n),this._modelCreationOptionsByLanguageAndResource[i+t]=r}return r}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const n=Object.keys(this._models);for(let i=0,r=n.length;i<r;i++){const r=n[i],s=this._models[r],o=s.model.getLanguageId(),a=s.model.uri;if(e&&!e.affectsConfiguration("editor",{overrideIdentifier:o,resource:a})&&!e.affectsConfiguration("files.eol",{overrideIdentifier:o,resource:a}))continue;const l=t[o+a],h=this.getCreationOptions(o,a,s.model.isForSimpleWidget);ur._setModelOptionsForModel(s.model,h,l)}}static _setModelOptionsForModel(e,t,n){n&&n.defaultEOL!==t.defaultEOL&&1===e.getLineCount()&&e.setEOL(1===t.defaultEOL?0:1),n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.indentSize===t.indentSize&&n.trimAutoWhitespace===t.trimAutoWhitespace&&(0,mr.aI)(n.bracketPairColorizationOptions,t.bracketPairColorizationOptions)||(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(br(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){const t=this._disposedModels.get(br(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(br(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,i){const r=this.getCreationOptions(t,n,i),s=this._instantiationService.createInstance(Yi,e,t,r,n);if(n&&this._disposedModels.has(br(n))){const e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),i=this._getSHA1Computer(),r=!!i.canComputeSHA1(s)&&i.computeSHA1(s)===e.sha1;if(r||e.sharesUndoRedoStack){for(const e of t.past)Wt(e)&&e.matchesResource(n)&&e.setModel(s);for(const e of t.future)Wt(e)&&e.matchesResource(n)&&e.setModel(s);this._undoRedoService.setElementsValidFlag(n,!0,(e=>Wt(e)&&e.matchesResource(n))),r&&(s._overwriteVersionId(e.versionId),s._overwriteAlternativeVersionId(e.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const o=br(s.uri);if(this._models[o])throw new Error("ModelService: Cannot add model because it already exists!");const a=new kr(s,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[o]=a,a}createModel(e,t,n,i=!1){let r;return r=t?this._createModelData(e,t,n,i):this._createModelData(e,Q.vH,n,i),this._onModelAdded.fire(r.model),r.model}getModels(){const e=[],t=Object.keys(this._models);for(let n=0,i=t.length;n<i;n++){const i=t[n];e.push(this._models[i].model)}return e}getModel(e){const t=br(e),n=this._models[t];return n?n.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===fr.ny.file||e.scheme===fr.ny.vscodeRemote||e.scheme===fr.ny.vscodeUserData||e.scheme===fr.ny.vscodeNotebookCell||"fake-fs"===e.scheme}_onWillDispose(e){const t=br(e.uri),n=this._models[t],i=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString();let r=!1,s=0;if(i||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){const t=this._undoRedoService.getElements(e.uri);if(t.past.length>0||t.future.length>0){for(const n of t.past)Wt(n)&&n.matchesResource(e.uri)&&(r=!0,s+=n.heapSize(e.uri),n.setModel(e.uri));for(const n of t.future)Wt(n)&&n.matchesResource(e.uri)&&(r=!0,s+=n.heapSize(e.uri),n.setModel(e.uri))}}const o=ur.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,a=this._getSHA1Computer();if(r)if(i||!(s>o)&&a.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(o-s),this._undoRedoService.setElementsValidFlag(e.uri,!1,(t=>Wt(t)&&t.matchesResource(e.uri))),this._insertDisposedModel(new Cr(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),i,s,a.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!i){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const n=t.oldLanguage,i=e.getLanguageId(),r=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),s=this.getCreationOptions(i,e.uri,e.isForSimpleWidget);ur._setModelOptionsForModel(e,s,r),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new wr}};Lr=ur=pr([_r(0,$.pG),_r(1,dr.ITextResourcePropertiesService),_r(2,Vi),_r(3,K._Y)],Lr);class wr{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(e){return e.getValueLength()<=wr.MAX_MODEL_SIZE}computeSHA1(e){const t=new gr.v7,n=e.createSnapshot();let i;for(;i=n.read();)t.update(i);return t.digest()}}},7042:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextModelService:()=>i});const i=(0,n(2399).u1)("textModelService")},9376:(e,t,n)=>{"use strict";n.r(t),n.d(t,{encodeSemanticTokensDto:()=>s});var i=n(2802),r=n(3339);function s(e){const t=new Uint32Array(function(e){let t=0;if(t+=2,"full"===e.type)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(const n of e.deltas)n.data&&(t+=n.data.length)}return t}(e));let n=0;if(t[n++]=e.id,"full"===e.type)t[n++]=1,t[n++]=e.data.length,t.set(e.data,n),n+=e.data.length;else{t[n++]=2,t[n++]=e.deltas.length;for(const i of e.deltas)t[n++]=i.start,t[n++]=i.deleteCount,i.data?(t[n++]=i.data.length,t.set(i.data,n),n+=i.data.length):t[n++]=0}return function(e){const t=new Uint8Array(e.buffer,e.byteOffset,4*e.length);return r.cm()||function(e){for(let t=0,n=e.length;t<n;t+=4){const n=e[t+0],i=e[t+1],r=e[t+2],s=e[t+3];e[t+0]=s,e[t+1]=r,e[t+2]=i,e[t+3]=n}}(t),i.MB.wrap(t)}(t)}},7642:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemanticTokensProviderStyling:()=>m,toMultilineTokens2:()=>p});n(5910);var i=n(6001),r=n(2321),s=n(5365),o=n(8061),a=n(3902);class l{static create(e,t){return new l(e,new h(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new o.Q(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,n,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber,[i,r,s]=this._tokens.split(t,e.startColumn-1,n,e.endColumn-1);return[new l(this._startLineNumber,i),new l(this._startLineNumber+s,r)]}applyEdit(e,t){const[n,i,r]=(0,a.W)(t);this.acceptEdit(e,n,i,r,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,n,i,r){this._acceptDeleteRange(e),this._acceptInsertText(new s.y(e.startLineNumber,e.startColumn),t,n,i,r),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;if(n<0){const e=n-t;return void(this._startLineNumber-=e)}const i=this._tokens.getMaxDeltaLine();if(!(t>=i+1)){if(t<0&&n>=i+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const i=-t;this._startLineNumber-=i,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,n,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,n,e.endColumn-1)}}_acceptInsertText(e,t,n,i,r){if(0===t&&0===n)return;const s=e.lineNumber-this._startLineNumber;if(s<0)return void(this._startLineNumber+=t);s>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(s,e.column-1,t,n,i,r)}}class h{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let n=0;n<this._tokenCount;n++)t.push(`(${this._getDeltaLine(n)+e},${this._getStartCharacter(n)}-${this._getEndCharacter(n)})`);return`[${t.join(",")}]`}getMaxDeltaLine(){const e=this._getTokenCount();return 0===e?-1:this._getDeltaLine(e-1)}getRange(){const e=this._getTokenCount();if(0===e)return null;const t=this._getStartCharacter(0),n=this._getDeltaLine(e-1),i=this._getEndCharacter(e-1);return new o.Q(0,t+1,n,i+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(e){return this._tokens[4*e]}_getStartCharacter(e){return this._tokens[4*e+1]}_getEndCharacter(e){return this._tokens[4*e+2]}isEmpty(){return 0===this._getTokenCount()}getLineTokens(e){let t=0,n=this._getTokenCount()-1;for(;t<n;){const i=t+Math.floor((n-t)/2),r=this._getDeltaLine(i);if(r<e)t=i+1;else{if(!(r>e)){let r=i;for(;r>t&&this._getDeltaLine(r-1)===e;)r--;let s=i;for(;s<n&&this._getDeltaLine(s+1)===e;)s++;return new c(this._tokens.subarray(4*r,4*s+4))}n=i-1}}return this._getDeltaLine(t)===e?new c(this._tokens.subarray(4*t,4*t+4)):null}clear(){this._tokenCount=0}removeTokens(e,t,n,i){const r=this._tokens,s=this._tokenCount;let o=0,a=!1,l=0;for(let h=0;h<s;h++){const s=4*h,c=r[s],u=r[s+1],d=r[s+2],g=r[s+3];if((c>e||c===e&&d>=t)&&(c<n||c===n&&u<=i))a=!0;else{if(0===o&&(l=c),a){const e=4*o;r[e]=c-l,r[e+1]=u,r[e+2]=d,r[e+3]=g}o++}}return this._tokenCount=o,l}split(e,t,n,i){const r=this._tokens,s=this._tokenCount,o=[],a=[];let l=o,c=0,u=0;for(let h=0;h<s;h++){const s=4*h,o=r[s],d=r[s+1],g=r[s+2],f=r[s+3];if(o>e||o===e&&g>=t){if(o<n||o===n&&d<=i)continue;l!==a&&(l=a,c=0,u=o)}l[c++]=o-u,l[c++]=d,l[c++]=g,l[c++]=f}return[new h(new Uint32Array(o)),new h(new Uint32Array(a)),u]}acceptDeleteRange(e,t,n,i,r){const s=this._tokens,o=this._tokenCount,a=i-t;let l=0,h=!1;for(let c=0;c<o;c++){const u=4*c;let d=s[u],g=s[u+1],f=s[u+2];const m=s[u+3];if(d<t||d===t&&f<=n){l++;continue}if(d===t&&g<n)d===i&&f>r?f-=r-n:f=n;else if(d===t&&g===n){if(!(d===i&&f>r)){h=!0;continue}f-=r-n}else if(d<i||d===i&&g<r){if(!(d===i&&f>r)){h=!0;continue}d=t,g=n,f=g+(f-r)}else if(d>i){if(0===a&&!h){l=o;break}d-=a}else{if(!(d===i&&g>=r))throw new Error("Not possible!");e&&0===d&&(g+=e,f+=e),d-=a,g-=r-n,f-=r-n}const p=4*l;s[p]=d,s[p+1]=g,s[p+2]=f,s[p+3]=m,l++}this._tokenCount=l}acceptInsertText(e,t,n,i,r,s){const o=0===n&&1===i&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),a=this._tokens,l=this._tokenCount;for(let h=0;h<l;h++){const s=4*h;let l=a[s],c=a[s+1],u=a[s+2];if(!(l<e||l===e&&u<t)){if(l===e&&u===t){if(!o)continue;u+=1}else if(l===e&&c<t&&t<u)0===n?u+=i:u=t;else{if(l===e&&c===t&&o)continue;if(l===e)if(l+=n,0===n)c+=i,u+=i;else{const e=u-c;c=r+(c-t),u=c+e}else l+=n}a[s]=l,a[s+1]=c,a[s+2]=u}}}}class c{constructor(e){this._tokens=e}getCount(){return this._tokens.length/4}getStartCharacter(e){return this._tokens[4*e+1]}getEndCharacter(e){return this._tokens[4*e+2]}getMetadata(e){return this._tokens[4*e+3]}}var u=n(7922),d=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},g=function(e,t){return function(n,i){t(n,i,e)}};const f=!1;let m=class{constructor(e,t,n,i){this._legend=e,this._themeService=t,this._languageService=n,this._logService=i,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new b}getMetadata(e,t,n){const i=this._languageService.languageIdCodec.encodeLanguageId(n),r=this._hashTable.get(e,t,i);let s;if(r)s=r.metadata;else{let r=this._legend.tokenTypes[e];const o=[];if(r){let e=t;for(let t=0;e>0&&t<this._legend.tokenModifiers.length;t++)1&e&&o.push(this._legend.tokenModifiers[t]),e>>=1;f;const i=this._themeService.getColorTheme().getTokenStyleMetadata(r,o,n);if(void 0===i)s=2147483647;else{if(s=0,void 0!==i.italic){s|=1|(i.italic?1:0)<<11}if(void 0!==i.bold){s|=2|(i.bold?2:0)<<11}if(void 0!==i.underline){s|=4|(i.underline?4:0)<<11}if(void 0!==i.strikethrough){s|=8|(i.strikethrough?8:0)<<11}if(i.foreground){s|=16|i.foreground<<15}0===s&&(s=2147483647)}}else s=2147483647,r="not-in-legend";this._hashTable.add(e,t,i,s)}return s}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,n,i,r){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${n}: The provided start offset ${i} is outside the previous data (length ${r}).`))}};function p(e,t,n){const i=e.data,r=e.data.length/5|0,s=Math.max(Math.ceil(r/1024),400),o=[];let a=0,h=1,c=0;for(;a<r;){const e=a;let u=Math.min(e+s,r);if(u<r){let t=u;for(;t-1>e&&0===i[5*t];)t--;if(t-1===e){let e=u;for(;e+1<r&&0===i[5*e];)e++;u=e}else u=t}let d=new Uint32Array(4*(u-e)),g=0,f=0,m=0,p=0;for(;a<u;){const e=5*a,r=i[e],s=i[e+1],o=h+r|0,l=0===r?c+s|0:s,u=l+i[e+2]|0,_=i[e+3],b=i[e+4];if(u<=l)t.warnInvalidLengthSemanticTokens(o,l+1);else if(m===o&&p>l)t.warnOverlappingSemanticTokens(o,l+1);else{const e=t.getMetadata(_,b,n);2147483647!==e&&(0===f&&(f=o),d[g]=o-f,d[g+1]=l,d[g+2]=u,d[g+3]=e,g+=4,m=o,p=u)}h=o,c=l,a++}g!==d.length&&(d=d.subarray(0,g));const _=l.create(f,d);o.push(_)}return o}m=d([g(1,i.Gy),g(2,u.L),g(3,r.rr)],m);class _{constructor(e,t,n,i){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=n,this.metadata=i,this.next=null}}class b{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=b._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<b._SIZES.length?2/3*this._currentLength:0),this._elements=[],b._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(e,t){for(let n=0;n<t;n++)e[n]=null}_hash2(e,t){return(e<<5)-e+t|0}_hashFunc(e,t,n){return this._hash2(this._hash2(e,t),n)%this._currentLength}get(e,t,n){const i=this._hashFunc(e,t,n);let r=this._elements[i];for(;r;){if(r.tokenTypeIndex===e&&r.tokenModifierSet===t&&r.languageId===n)return r;r=r.next}return null}add(e,t,n,i){if(this._elementsCount++,0!==this._growCount&&this._elementsCount>=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=b._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<b._SIZES.length?2/3*this._currentLength:0),this._elements=[],b._nullOutEntries(this._elements,this._currentLength);for(const t of e){let e=t;for(;e;){const t=e.next;e.next=null,this._add(e),e=t}}}this._add(new _(e,t,n,i))}_add(e){const t=this._hashFunc(e.tokenTypeIndex,e.tokenModifierSet,e.languageId);e.next=this._elements[t],this._elements[t]=e}}},2891:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ISemanticTokensStylingService:()=>i});const i=(0,n(2399).u1)("semanticTokensStylingService")},8148:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemanticTokensStylingService:()=>d});var i=n(2446),r=n(7922),s=n(6001),o=n(2321),a=n(7642),l=n(2891),h=n(4412),c=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},u=function(e,t){return function(n,i){t(n,i,e)}};let d=class extends i.jG{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new a.SemanticTokensProviderStyling(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};d=c([u(0,s.Gy),u(1,o.rr),u(2,r.L)],d),(0,h.v)(l.ISemanticTokensStylingService,d,1)},1507:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MirrorModel:()=>_,STOP_SYNC_MODEL_DELTA_TIME_MS:()=>f,WorkerTextModelSyncClient:()=>m,WorkerTextModelSyncServer:()=>p});var i=n(2866),r=n(2446),s=n(7264),o=n(5365),a=n(8061),l=n(8782),h=n(6844),c=(n(3338),n(7512));class u{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=(0,c.j)(e);const n=this.values,i=this.prefixSum,r=t.length;return 0!==r&&(this.values=new Uint32Array(n.length+r),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+r),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(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=(0,c.j)(e),t=(0,c.j)(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=(0,c.j)(e),t=(0,c.j)(t);const n=this.values,i=this.prefixSum;if(e>=n.length)return!1;const r=n.length-e;return t>=r&&(t=r),0!==t&&(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(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=(0,c.j)(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(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,i=0,r=0,s=0;for(;t<=n;)if(i=t+(n-t)/2|0,r=this.prefixSum[i],s=r-this.values[i],e<s)n=i-1;else{if(!(e>=r))break;t=i+1}return new d(i,e-s)}}class d{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}}class g{constructor(e,t,n,i){this._uri=e,this._lines=t,this._eol=n,this._versionId=i,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const n of t)this._acceptDeleteRange(n.range),this._acceptInsertText(new o.y(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let i=0;i<t;i++)n[i]=this._lines[i].length+e;this._lineStarts=new u(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)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);else{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))}}_acceptInsertText(e,t){if(0===t.length)return;const n=(0,h.uz)(t);if(1===n.length)return void 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));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]);const i=new Uint32Array(n.length-1);for(let r=1;r<n.length;r++)this._lines.splice(e.lineNumber+r-1,0,n[r]),i[r-1]=n[r].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,i)}}const f=6e4;class m extends r.jG{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){const e=new i.vb;e.cancelAndSet((()=>this._checkStopModelSync()),Math.round(f/2)),this._register(e)}}dispose(){for(const e in this._syncedModels)(0,r.AS)(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const n of e){const e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const n in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[n]>f&&t.push(n)}for(const n of t)this._stopModelSync(n)}_beginModelSync(e,t){const n=this._modelService.getModel(e);if(!n)return;if(!t&&n.isTooLargeForSyncing())return;const i=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});const s=new r.Cm;s.add(n.onDidChangeContent((e=>{this._proxy.$acceptModelChanged(i.toString(),e)}))),s.add(n.onWillDispose((()=>{this._stopModelSync(i)}))),s.add((0,r.s)((()=>{this._proxy.$acceptRemovedModel(i)}))),this._syncedModels[i]=s}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],(0,r.AS)(t)}}class p{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}$acceptNewModel(e){this._models[e.url]=new _(s.r.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class _ extends g{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let n=0;n<this._lines.length;n++){const i=this._lines[n],r=this.offsetAt(new o.y(n+1,1)),s=i.matchAll(e);for(const e of s)(e.index||0===e.index)&&(e.index=e.index+r),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){const n=(0,l.Th)(e.column,(0,l.Io)(t),this._lines[e.lineNumber-1],0);return n?new a.Q(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){const t=this._lines,n=this._wordenize.bind(this);let i=0,r="",s=0,o=[];return{*[Symbol.iterator](){for(;;)if(s<o.length){const e=r.substring(o[s].start,o[s].end);s+=1,yield e}else{if(!(i<t.length))break;r=t[i],o=n(r,e),s=0,i+=1}}}}getLineWords(e,t){const n=this._lines[e-1],i=this._wordenize(n,t),r=[];for(const s of i)r.push({word:n.substring(s.start,s.end),startColumn:s.start+1,endColumn:s.end+1});return r}_wordenize(e,t){const n=[];let i;for(t.lastIndex=0;(i=t.exec(e))&&0!==i[0].length;)n.push({start:i.index,end:i.index+i[0].length});return n}getValueInRange(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);const t=this._eol,n=e.startLineNumber-1,i=e.endLineNumber-1,r=[];r.push(this._lines[n].substring(e.startColumn-1));for(let s=n+1;s<i;s++)r.push(this._lines[s]);return r.push(this._lines[i].substring(0,e.endColumn-1)),r.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();const 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){const 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(!o.y.isIPosition(e))throw new Error("bad position");let{lineNumber:t,column:n}=e,i=!1;if(t<1)t=1,n=1,i=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{const e=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>e&&(n=e,i=!0)}return i?{lineNumber:t,column:n}:e}}},5628:(e,t,n)=>{"use strict";n.r(t)},1504:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextResourceConfigurationService:()=>r,ITextResourcePropertiesService:()=>s});var i=n(2399);const r=(0,i.u1)("textResourceConfigurationService"),s=(0,i.u1)("textResourcePropertiesService")},5320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeSitterParserService:()=>i});const i=(0,n(2399).u1)("treeSitterParserService")},2603:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DraggedTreeItemsIdentifier:()=>r,TreeViewsDnDService:()=>i});class i{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class r{constructor(e){this.identifier=e}}},6756:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeViewsDnDService:()=>o});var i=n(4412),r=n(2399),s=n(2603);const o=(0,r.u1)("treeViewsDndService");(0,i.v)(o,s.TreeViewsDnDService,1)},9887:(e,t,n)=>{"use strict";n.r(t),n.d(t,{UnicodeTextModelHighlighter:()=>l});var i=n(8061),r=n(2389),s=n(6844),o=n(7110),a=n(8782);class l{static computeUnicodeHighlights(e,t,n){const l=n?n.startLineNumber:1,c=n?n.endLineNumber:e.getLineCount(),u=new h(t),d=u.getCandidateCodePoints();let g;var f;g="allNonBasicAscii"===d?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(""+(f=Array.from(d),`[${s.bm(f.map((e=>String.fromCodePoint(e))).join(""))}]`),"g");const m=new r.W5(null,g),p=[];let _,b=!1,k=0,v=0,C=0;e:for(let r=l,h=c;r<=h;r++){const t=e.getLineContent(r),n=t.length;m.reset(0);do{if(_=m.next(t),_){let e=_.index,l=_.index+_[0].length;if(e>0){const n=t.charCodeAt(e-1);s.pc(n)&&e--}if(l+1<n){const e=t.charCodeAt(l-1);s.pc(e)&&l++}const h=t.substring(e,l);let c=(0,a.Th)(e+1,a.Ld,t,0);c&&c.endColumn<=e+1&&(c=null);const d=u.shouldHighlightNonBasicASCII(h,c?c.word:null);if(0!==d){3===d?k++:2===d?v++:1===d?C++:(0,o.xb)(d);const t=1e3;if(p.length>=t){b=!0;break e}p.push(new i.Q(r,e+1,r,l+1))}}}while(_)}return{ranges:p,hasMore:b,ambiguousCharacterCount:k,invisibleCharacterCount:v,nonBasicAsciiCharacterCount:C}}static computeUnicodeHighlightReason(e,t){const n=new h(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const i=e.codePointAt(0),r=n.ambiguousCharacters.getPrimaryConfusable(i),o=s.tl.getLocales().filter((e=>!s.tl.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(i)));return{kind:0,confusableWith:String.fromCodePoint(r),notAmbiguousInLocales:o}}case 1:return{kind:2}}}}class h{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=s.tl.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of s.y_.codePoints)c(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let i=!1,r=!1;if(t)for(const o of t){const e=o.codePointAt(0),t=s.aC(o);i=i||t,t||this.ambiguousCharacters.isAmbiguous(e)||s.y_.isInvisibleCharacter(e)||(r=!0)}return!i&&r?0:this.options.invisibleCharacters&&!c(e)&&s.y_.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}}function c(e){return" "===e||"\n"===e||"\t"===e}},9204:(e,t,n)=>{var i={"./editorBaseApi":[1583],"./editorBaseApi.js":[1583],"./editorSimpleWorker":[1684],"./editorSimpleWorker.js":[1684],"./editorWorker":[304,792],"./editorWorker.js":[304,792],"./editorWorkerHost":[6358],"./editorWorkerHost.js":[6358],"./findSectionHeaders":[9307],"./findSectionHeaders.js":[9307],"./getIconClasses":[1048,792],"./getIconClasses.js":[1048,792],"./languageFeatureDebounce":[3591,792],"./languageFeatureDebounce.js":[3591,792],"./languageFeatures":[2230,792],"./languageFeatures.js":[2230,792],"./languageFeaturesService":[3704,792],"./languageFeaturesService.js":[3704,792],"./languageService":[5122,792],"./languageService.js":[5122,792],"./languagesAssociations":[5996,792],"./languagesAssociations.js":[5996,792],"./languagesRegistry":[6995,792],"./languagesRegistry.js":[6995,792],"./markerDecorations":[886,792],"./markerDecorations.js":[886,792],"./markerDecorationsService":[4109,792],"./markerDecorationsService.js":[4109,792],"./model":[4830,792],"./model.js":[4830,792],"./modelService":[1327,792],"./modelService.js":[1327,792],"./resolverService":[7042,792],"./resolverService.js":[7042,792],"./semanticTokensDto":[9376,792],"./semanticTokensDto.js":[9376,792],"./semanticTokensProviderStyling":[7642,792],"./semanticTokensProviderStyling.js":[7642,792],"./semanticTokensStyling":[2891,792],"./semanticTokensStyling.js":[2891,792],"./semanticTokensStylingService":[8148,792],"./semanticTokensStylingService.js":[8148,792],"./textModelSync/textModelSync.impl":[1507],"./textModelSync/textModelSync.impl.js":[1507],"./textModelSync/textModelSync.protocol":[5628,792],"./textModelSync/textModelSync.protocol.js":[5628,792],"./textResourceConfiguration":[1504,792],"./textResourceConfiguration.js":[1504,792],"./treeSitterParserService":[5320,792],"./treeSitterParserService.js":[5320,792],"./treeViewsDnd":[2603,792],"./treeViewsDnd.js":[2603,792],"./treeViewsDndService":[6756,792],"./treeViewsDndService.js":[6756,792],"./unicodeTextModelHighlighter":[9887],"./unicodeTextModelHighlighter.js":[9887],"monaco-editor/esm/vs/editor/common/services/editorBaseApi":[1583],"monaco-editor/esm/vs/editor/common/services/editorBaseApi.js":[1583],"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker":[1684],"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js":[1684],"monaco-editor/esm/vs/editor/common/services/editorWorker":[304,792],"monaco-editor/esm/vs/editor/common/services/editorWorker.js":[304,792],"monaco-editor/esm/vs/editor/common/services/editorWorkerHost":[6358],"monaco-editor/esm/vs/editor/common/services/editorWorkerHost.js":[6358],"monaco-editor/esm/vs/editor/common/services/findSectionHeaders":[9307],"monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js":[9307],"monaco-editor/esm/vs/editor/common/services/getIconClasses":[1048,792],"monaco-editor/esm/vs/editor/common/services/getIconClasses.js":[1048,792],"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce":[3591,792],"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js":[3591,792],"monaco-editor/esm/vs/editor/common/services/languageFeatures":[2230,792],"monaco-editor/esm/vs/editor/common/services/languageFeatures.js":[2230,792],"monaco-editor/esm/vs/editor/common/services/languageFeaturesService":[3704,792],"monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js":[3704,792],"monaco-editor/esm/vs/editor/common/services/languageService":[5122,792],"monaco-editor/esm/vs/editor/common/services/languageService.js":[5122,792],"monaco-editor/esm/vs/editor/common/services/languagesAssociations":[5996,792],"monaco-editor/esm/vs/editor/common/services/languagesAssociations.js":[5996,792],"monaco-editor/esm/vs/editor/common/services/languagesRegistry":[6995,792],"monaco-editor/esm/vs/editor/common/services/languagesRegistry.js":[6995,792],"monaco-editor/esm/vs/editor/common/services/markerDecorations":[886,792],"monaco-editor/esm/vs/editor/common/services/markerDecorations.js":[886,792],"monaco-editor/esm/vs/editor/common/services/markerDecorationsService":[4109,792],"monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js":[4109,792],"monaco-editor/esm/vs/editor/common/services/model":[4830,792],"monaco-editor/esm/vs/editor/common/services/model.js":[4830,792],"monaco-editor/esm/vs/editor/common/services/modelService":[1327,792],"monaco-editor/esm/vs/editor/common/services/modelService.js":[1327,792],"monaco-editor/esm/vs/editor/common/services/resolverService":[7042,792],"monaco-editor/esm/vs/editor/common/services/resolverService.js":[7042,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensDto":[9376,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js":[9376,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling":[7642,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js":[7642,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling":[2891,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js":[2891,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService":[8148,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js":[8148,792],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl":[1507],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl.js":[1507],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol":[5628,792],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol.js":[5628,792],"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration":[1504,792],"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js":[1504,792],"monaco-editor/esm/vs/editor/common/services/treeSitterParserService":[5320,792],"monaco-editor/esm/vs/editor/common/services/treeSitterParserService.js":[5320,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDnd":[2603,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js":[2603,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDndService":[6756,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js":[6756,792],"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter":[9887],"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js":[9887]};function r(e){if(!n.o(i,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=i[e],r=t[0];return Promise.all(t.slice(1).map(n.e)).then((()=>n(r)))}r.keys=()=>Object.keys(i),r.id=9204,e.exports=r},7614:(e,t,n)=>{var i={"./editorBaseApi":1583,"./editorBaseApi.js":1583,"./editorSimpleWorker":1684,"./editorSimpleWorker.js":1684,"./editorWorker":304,"./editorWorker.js":304,"./editorWorkerHost":6358,"./editorWorkerHost.js":6358,"./findSectionHeaders":9307,"./findSectionHeaders.js":9307,"./getIconClasses":1048,"./getIconClasses.js":1048,"./languageFeatureDebounce":3591,"./languageFeatureDebounce.js":3591,"./languageFeatures":2230,"./languageFeatures.js":2230,"./languageFeaturesService":3704,"./languageFeaturesService.js":3704,"./languageService":5122,"./languageService.js":5122,"./languagesAssociations":5996,"./languagesAssociations.js":5996,"./languagesRegistry":6995,"./languagesRegistry.js":6995,"./markerDecorations":886,"./markerDecorations.js":886,"./markerDecorationsService":4109,"./markerDecorationsService.js":4109,"./model":4830,"./model.js":4830,"./modelService":1327,"./modelService.js":1327,"./resolverService":7042,"./resolverService.js":7042,"./semanticTokensDto":9376,"./semanticTokensDto.js":9376,"./semanticTokensProviderStyling":7642,"./semanticTokensProviderStyling.js":7642,"./semanticTokensStyling":2891,"./semanticTokensStyling.js":2891,"./semanticTokensStylingService":8148,"./semanticTokensStylingService.js":8148,"./textModelSync/textModelSync.impl":1507,"./textModelSync/textModelSync.impl.js":1507,"./textModelSync/textModelSync.protocol":5628,"./textModelSync/textModelSync.protocol.js":5628,"./textResourceConfiguration":1504,"./textResourceConfiguration.js":1504,"./treeSitterParserService":5320,"./treeSitterParserService.js":5320,"./treeViewsDnd":2603,"./treeViewsDnd.js":2603,"./treeViewsDndService":6756,"./treeViewsDndService.js":6756,"./unicodeTextModelHighlighter":9887,"./unicodeTextModelHighlighter.js":9887,"monaco-editor/esm/vs/editor/common/services/editorBaseApi":1583,"monaco-editor/esm/vs/editor/common/services/editorBaseApi.js":1583,"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker":1684,"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js":1684,"monaco-editor/esm/vs/editor/common/services/editorWorker":304,"monaco-editor/esm/vs/editor/common/services/editorWorker.js":304,"monaco-editor/esm/vs/editor/common/services/editorWorkerHost":6358,"monaco-editor/esm/vs/editor/common/services/editorWorkerHost.js":6358,"monaco-editor/esm/vs/editor/common/services/findSectionHeaders":9307,"monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js":9307,"monaco-editor/esm/vs/editor/common/services/getIconClasses":1048,"monaco-editor/esm/vs/editor/common/services/getIconClasses.js":1048,"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce":3591,"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js":3591,"monaco-editor/esm/vs/editor/common/services/languageFeatures":2230,"monaco-editor/esm/vs/editor/common/services/languageFeatures.js":2230,"monaco-editor/esm/vs/editor/common/services/languageFeaturesService":3704,"monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js":3704,"monaco-editor/esm/vs/editor/common/services/languageService":5122,"monaco-editor/esm/vs/editor/common/services/languageService.js":5122,"monaco-editor/esm/vs/editor/common/services/languagesAssociations":5996,"monaco-editor/esm/vs/editor/common/services/languagesAssociations.js":5996,"monaco-editor/esm/vs/editor/common/services/languagesRegistry":6995,"monaco-editor/esm/vs/editor/common/services/languagesRegistry.js":6995,"monaco-editor/esm/vs/editor/common/services/markerDecorations":886,"monaco-editor/esm/vs/editor/common/services/markerDecorations.js":886,"monaco-editor/esm/vs/editor/common/services/markerDecorationsService":4109,"monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js":4109,"monaco-editor/esm/vs/editor/common/services/model":4830,"monaco-editor/esm/vs/editor/common/services/model.js":4830,"monaco-editor/esm/vs/editor/common/services/modelService":1327,"monaco-editor/esm/vs/editor/common/services/modelService.js":1327,"monaco-editor/esm/vs/editor/common/services/resolverService":7042,"monaco-editor/esm/vs/editor/common/services/resolverService.js":7042,"monaco-editor/esm/vs/editor/common/services/semanticTokensDto":9376,"monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js":9376,"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling":7642,"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js":7642,"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling":2891,"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js":2891,"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService":8148,"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js":8148,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl":1507,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl.js":1507,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol":5628,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol.js":5628,"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration":1504,"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js":1504,"monaco-editor/esm/vs/editor/common/services/treeSitterParserService":5320,"monaco-editor/esm/vs/editor/common/services/treeSitterParserService.js":5320,"monaco-editor/esm/vs/editor/common/services/treeViewsDnd":2603,"monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js":2603,"monaco-editor/esm/vs/editor/common/services/treeViewsDndService":6756,"monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js":6756,"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter":9887,"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js":9887};function r(e){var t=s(e);return n(t)}function s(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}r.keys=function(){return Object.keys(i)},r.resolve=s,e.exports=r,r.id=7614},7289:(e,t,n)=>{"use strict";function i(){return globalThis._VSCODE_NLS_LANGUAGE}n.d(t,{i8:()=>i,kg:()=>o});const r="pseudo"===i()||"undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function s(e,t){let n;return n=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,n)=>{const i=n[0],r=t[i];let s=e;return"string"==typeof r?s=r:"number"!=typeof r&&"boolean"!=typeof r&&null!=r||(s=String(r)),s})),r&&(n="\uff3b"+n.replace(/[aouei]/g,"$&$&")+"\uff3d"),n}function o(e,t,...n){return s("number"==typeof e?a(e,t):t,n)}function a(e,t){const n=globalThis._VSCODE_NLS_MESSAGES?.[e];if("string"!=typeof n){if("string"==typeof t)return t;throw new Error(`!!! NLS MISSING: ${e} !!!`)}return n}},5753:(e,t,n)=>{"use strict";n.d(t,{Mo:()=>r,pG:()=>i});const i=(0,n(2399).u1)("configurationService");function r(e){return e.replace(/[\[\]]/g,"")}},7142:(e,t,n)=>{"use strict";n.d(t,{Fd:()=>c});var i=n(3338),r=n(2106),s=n(9359),o=n(7289),a=n(5753),l=n(1460),h=n(7167);const c={Configuration:"base.contributions.configuration"},u={properties:{},patternProperties:{}},d={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},m={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},_="vscode://schemas/settings/resourceLanguage",b=h.O.as(l.F.JSONContribution);const k="\\[([^\\]]+)\\]",v=new RegExp(k,"g"),C=`^(${k})+$`,L=new RegExp(C);function w(e){const t=[];if(L.test(e)){let n=v.exec(e);for(;n?.length;){const i=n[1].trim();i&&t.push(i),n=v.exec(e)}}return(0,i.dM)(t)}const y=new class{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new r.vl,this._onDidUpdateConfiguration=new r.vl,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:o.kg("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},b.registerSchema(_,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const n=new Set;this.doRegisterConfigurations(e,t,n),b.registerSchema(_,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);const n=[];for(const{overrides:i,source:r}of e)for(const e in i){t.add(e);const s=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),o=i[e];if(s.configurationDefaultOverrides.push({value:o,source:r}),L.test(e)){const t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,o,r,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,r),n.push(...w(e))}else{const t=this.mergeDefaultConfigurationsForConfigurationProperty(e,o,r,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t;const n=this.configurationProperties[e];n&&(this.updatePropertyDefaultValue(e,n),this.updateSchema(e,n))}}this.doRegisterOverrideIdentifiers(n)}updateDefaultOverrideProperty(e,t,n){const i={type:"object",default:t.value,description:o.kg("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",(0,a.Mo)(e)),$ref:_,defaultDefaultValue:t.value,source:n,defaultValueSource:n};this.configurationProperties[e]=i,this.defaultLanguageConfigurationOverridesNode.properties[e]=i}mergeDefaultConfigurationsForOverrideIdentifier(e,t,n,i){const r=i?.value||{},o=i?.source??new Map;if(o instanceof Map){for(const e of Object.keys(t)){const i=t[e];if(s.Gv(i)&&(s.b0(r[e])||s.Gv(r[e]))){if(r[e]={...r[e]??{},...i},n)for(const t in i)o.set(`${e}.${t}`,n)}else r[e]=i,n?o.set(e,n):o.delete(e)}return{value:r,source:o}}console.error("objectConfigurationSources is not a Map")}mergeDefaultConfigurationsForConfigurationProperty(e,t,n,i){const r=this.configurationProperties[e],o=i?.value??r?.defaultDefaultValue;let a=n;if(s.Gv(t)&&(void 0!==r&&"object"===r.type||void 0===r&&(s.b0(o)||s.Gv(o)))){if(a=i?.source??new Map,!(a instanceof Map))return void console.error("defaultValueSource is not a Map");for(const i in t)n&&a.set(`${e}.${i}`,n);t={...s.Gv(o)?o:{},...t}}return{value:t,source:a}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach((e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,n),this.configurationContributors.push(e),this.registerJSONConfiguration(e)}))}validateAndRegisterProperties(e,t=!0,n,i,r=3,o){r=s.z(e.scope)?r:e.scope;const a=e.properties;if(a)for(const h in a){const e=a[h];t&&S(h,e)?delete a[h]:(e.source=n,e.defaultDefaultValue=a[h].default,this.updatePropertyDefaultValue(h,e),L.test(h)?e.scope=void 0:(e.scope=s.z(e.scope)?r:e.scope,e.restricted=s.z(e.restricted)?!!i?.includes(h):e.restricted),!a[h].hasOwnProperty("included")||a[h].included?(this.configurationProperties[h]=a[h],a[h].policy?.name&&this.policyConfigurations.set(a[h].policy.name,h),!a[h].deprecationMessage&&a[h].markdownDeprecationMessage&&(a[h].deprecationMessage=a[h].markdownDeprecationMessage),o.add(h)):(this.excludedConfigurationProperties[h]=a[h],delete a[h]))}const l=e.allOf;if(l)for(const s of l)this.validateAndRegisterProperties(s,t,n,i,r,o)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const n=e.properties;if(n)for(const t in n)this.updateSchema(t,n[t]);const i=e.allOf;i?.forEach(t)};t(e)}updateSchema(e,t){switch(u.properties[e]=t,t.scope){case 1:d.properties[e]=t;break;case 2:g.properties[e]=t;break;case 6:f.properties[e]=t;break;case 3:m.properties[e]=t;break;case 4:p.properties[e]=t;break;case 5:p.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,n={type:"object",description:o.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:_};this.updatePropertyDefaultValue(t,n),u.properties[t]=n,d.properties[t]=n,g.properties[t]=n,f.properties[t]=n,m.properties[t]=n,p.properties[t]=n}}registerOverridePropertyPatternKey(){const e={type:"object",description:o.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:_};u.patternProperties[C]=e,d.patternProperties[C]=e,g.patternProperties[C]=e,f.patternProperties[C]=e,m.patternProperties[C]=e,p.patternProperties[C]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const n=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue;let i,r;!n||t.disallowConfigurationDefault&&n.source||(i=n.value,r=n.source),s.b0(i)&&(i=t.defaultDefaultValue,r=void 0),s.b0(i)&&(i=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=i,t.defaultValueSource=r}};function S(e,t){return e.trim()?L.test(e)?o.kg("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==y.getConfigurationProperties()[e]?o.kg("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):t.policy?.name&&void 0!==y.getPolicyConfigurations().get(t.policy?.name)?o.kg("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,t.policy?.name,y.getPolicyConfigurations().get(t.policy?.name)):null:o.kg("config.property.empty","Cannot register an empty property")}h.O.add(c.Configuration,y)},4412:(e,t,n)=>{"use strict";n.d(t,{v:()=>s});class i{constructor(e,t=[],n=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=n}}const r=[];function s(e,t,n){t instanceof i||(t=new i(t,[],Boolean(n))),r.push([e,t])}},2399:(e,t,n)=>{"use strict";var i;n.d(t,{_Y:()=>r,u1:()=>s}),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(i||(i={}));const r=s("instantiationService");function s(e){if(i.serviceIds.has(e))return i.serviceIds.get(e);const t=function(e,n,r){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,n){t[i.DI_TARGET]===t?t[i.DI_DEPENDENCIES].push({id:e,index:n}):(t[i.DI_DEPENDENCIES]=[{id:e,index:n}],t[i.DI_TARGET]=t)}(t,e,r)};return t.toString=()=>e,i.serviceIds.set(e,t),t}},1460:(e,t,n)=>{"use strict";n.d(t,{F:()=>s});var i=n(2106),r=n(7167);const s={JSONContribution:"base.contributions.json"};const o=new class{constructor(){this._onDidChangeSchema=new i.vl,this.schemasById={}}registerSchema(e,t){var n;this.schemasById[(n=e,n.length>0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};r.O.add(s.JSONContribution,o)},2321:(e,t,n)=>{"use strict";n.d(t,{rr:()=>Q,$b:()=>Y});n(2106);var i=n(2446),r=n(3339),s=n(6844),o=n(4327),a=n(7289);function l(...e){switch(e.length){case 1:return(0,a.kg)("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",e[0]);case 2:return(0,a.kg)("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",e[0],e[1]);case 3:return(0,a.kg)("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}const h=(0,a.kg)("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),c=(0,a.kg)("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class u{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw(0,o.iH)(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map((e=>e.charCodeAt(0))))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();){this._start=this._current;switch(this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(l("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(l("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(l("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return!this._isAtEnd()&&(this._input.charCodeAt(this._current)===e&&(this._current++,!0))}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,n=this._input.substring(this._start,this._current),i={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(i)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),n=u._keywords.get(t);n?this._addToken(n):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(h):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let e=this._current,t=!1,n=!1;for(;;){if(e>=this._input.length)return this._current=e,void this._error(c);const i=this._input.charCodeAt(e);if(t)t=!1;else{if(47===i&&!n){e++;break}91===i?n=!0:92===i?t=!0:93===i&&(n=!1)}e++}for(;e<this._input.length&&u._regexFlags.has(this._input.charCodeAt(e));)e++;this._current=e;const i=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:i,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}var d=n(2399);const g=new Map;g.set("false",!1),g.set("true",!0),g.set("isMac",r.zx),g.set("isLinux",r.j9),g.set("isWindows",r.uF),g.set("isWeb",r.HZ),g.set("isMacNative",r.zx&&!r.HZ),g.set("isEdge",r.UP),g.set("isFirefox",r.gm),g.set("isChrome",r.H8),g.set("isSafari",r.nr);const f=Object.prototype.hasOwnProperty,m={regexParsingWithErrorRecovery:!0},p=(0,a.kg)("contextkey.parser.error.emptyString","Empty context key expression"),_=(0,a.kg)("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),b=(0,a.kg)("contextkey.parser.error.noInAfterNot","'in' after 'not'."),k=(0,a.kg)("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),v=(0,a.kg)("contextkey.parser.error.unexpectedToken","Unexpected token"),C=(0,a.kg)("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),L=(0,a.kg)("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),w=(0,a.kg)("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");class y{static{this._parseError=new Error}constructor(e=m){this._config=e,this._scanner=new u,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(""!==e){this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),t=17===e.type?C:void 0;throw this._parsingErrors.push({message:v,offset:e.offset,lexeme:u.getLexeme(e),additionalInfo:t}),y._parseError}return e}catch(t){if(t!==y._parseError)throw t;return}}else this._parsingErrors.push({message:p,offset:0,lexeme:"",additionalInfo:_})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:S.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:S.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),E.INSTANCE;case 12:return this._advance(),N.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,k),e?.negate()}case 17:return this._advance(),R.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),S.true();case 12:return this._advance(),S.false();case 0:{this._advance();const e=this._expr();return this._consume(1,k),e}case 17:{const i=e.lexeme;if(this._advance(),this._matchOne(9)){const e=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==e.type)throw this._errExpectedButGot("REGEX",e);const n=e.lexeme,r=n.lastIndexOf("/"),s=r===n.length-1?void 0:this._removeFlagsGY(n.substring(r+1));let o;try{o=new RegExp(n.substring(1,r),s)}catch(t){throw this._errExpectedButGot("REGEX",e)}return V.create(i,o)}switch(e.type){case 10:case 19:{const n=[e.lexeme];this._advance();let r=this._peek(),s=0;for(let t=0;t<e.lexeme.length;t++)40===e.lexeme.charCodeAt(t)?s++:41===e.lexeme.charCodeAt(t)&&s--;for(;!this._isAtEnd()&&15!==r.type&&16!==r.type;){switch(r.type){case 0:s++;break;case 1:s--;break;case 10:case 18:for(let t=0;t<r.lexeme.length;t++)40===r.lexeme.charCodeAt(t)?s++:41===e.lexeme.charCodeAt(t)&&s--}if(s<0)break;n.push(u.getLexeme(r)),this._advance(),r=this._peek()}const o=n.join(""),a=o.lastIndexOf("/"),l=a===o.length-1?void 0:this._removeFlagsGY(o.substring(a+1));let h;try{h=new RegExp(o.substring(1,a),l)}catch(t){throw this._errExpectedButGot("REGEX",e)}return S.regex(i,h)}case 18:{const t=e.lexeme;this._advance();let r=null;if(!(0,s.AV)(t)){const i=t.indexOf("/"),s=t.lastIndexOf("/");if(i!==s&&i>=0){const o=t.slice(i+1,s),a="i"===t[s+1]?"i":"";try{r=new RegExp(o,a)}catch(n){throw this._errExpectedButGot("REGEX",e)}}}if(null===r)throw this._errExpectedButGot("REGEX",e);return V.create(i,r)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,b);const e=this._value();return S.notIn(i,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return S.equals(i,e);switch(e){case"true":return S.has(i);case"false":return S.not(i);default:return S.equals(i,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return S.notEquals(i,e);switch(e){case"true":return S.not(i);case"false":return S.has(i);default:return S.notEquals(i,e)}}case 5:return this._advance(),P.create(i,this._value());case 6:return this._advance(),z.create(i,this._value());case 7:return this._advance(),B.create(i,this._value());case 8:return this._advance(),F.create(i,this._value());case 13:return this._advance(),S.in(i,this._value());default:return S.has(i)}}case 20:throw this._parsingErrors.push({message:L,offset:e.offset,lexeme:"",additionalInfo:w}),y._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,n){const i=(0,a.kg)("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,u.getLexeme(t)),r=t.offset,s=u.getLexeme(t);return this._parsingErrors.push({message:i,offset:r,lexeme:s,additionalInfo:n}),y._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}class S{static false(){return E.INSTANCE}static true(){return N.INSTANCE}static has(e){return I.create(e)}static equals(e,t){return T.create(e,t)}static notEquals(e,t){return M.create(e,t)}static regex(e,t){return V.create(e,t)}static in(e,t){return A.create(e,t)}static notIn(e,t){return D.create(e,t)}static not(e){return R.create(e)}static and(...e){return H.create(e,null,!0)}static or(...e){return U.create(e,null,!0)}static{this._parser=new y({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(null==e)return;return this._parser.parse(e)}}function x(e,t){return e.cmp(t)}class E{static{this.INSTANCE=new E}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return N.INSTANCE}}class N{static{this.INSTANCE=new N}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return E.INSTANCE}}class I{static create(e,t=null){const n=g.get(e);return"boolean"==typeof n?n?N.INSTANCE:E.INSTANCE:new I(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=g.get(this.key);return"boolean"==typeof e?e?N.INSTANCE:E.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=R.create(this.key,this)),this.negated}}class T{static create(e,t,n=null){if("boolean"==typeof t)return t?I.create(e,n):R.create(e,n);const i=g.get(e);if("boolean"==typeof i){return t===(i?"true":"false")?N.INSTANCE:E.INSTANCE}return new T(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=g.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?N.INSTANCE:E.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=M.create(this.key,this.value,this)),this.negated}}class A{static create(e,t){return new A(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&(this.key===e.key&&this.valueKey===e.valueKey)}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),n=e.getValue(this.key);return Array.isArray(t)?t.includes(n):"string"==typeof n&&"object"==typeof t&&null!==t&&f.call(t,n)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=D.create(this.key,this.valueKey)),this.negated}}class D{static create(e,t){return new D(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=A.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class M{static create(e,t,n=null){if("boolean"==typeof t)return t?R.create(e,n):I.create(e,n);const i=g.get(e);if("boolean"==typeof i){return t===(i?"true":"false")?E.INSTANCE:N.INSTANCE}return new M(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=g.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?E.INSTANCE:N.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=T.create(this.key,this.value,this)),this.negated}}class R{static create(e,t=null){const n=g.get(e);return"boolean"==typeof n?n?E.INSTANCE:N.INSTANCE:new R(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=g.get(this.key);return"boolean"==typeof e?e?E.INSTANCE:N.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=I.create(this.key,this)),this.negated}}function O(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):E.INSTANCE}class B{static create(e,t,n=null){return O(t,(t=>new B(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=z.create(this.key,this.value,this)),this.negated}}class F{static create(e,t,n=null){return O(t,(t=>new F(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=P.create(this.key,this.value,this)),this.negated}}class P{static create(e,t,n=null){return O(t,(t=>new P(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=F.create(this.key,this.value,this)),this.negated}}class z{static create(e,t,n=null){return O(t,(t=>new z(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=B.create(this.key,this.value,this)),this.negated}}class V{static create(e,t){return new V(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.key<e.key)return-1;if(this.key>e.key)return 1;const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return t<n?-1:t>n?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=W.create(this)),this.negated}}class W{static create(e){return new W(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function q(e){let t=null;for(let n=0,i=e.length;n<i;n++){const i=e[n].substituteConstants();if(e[n]!==i&&null===t){t=[];for(let i=0;i<n;i++)t[i]=e[i]}null!==t&&(t[n]=i)}return null===t?e:t}class H{static create(e,t,n){return H._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=6}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){const n=x(this.expr[t],e.expr[t]);if(0!==n)return n}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){const e=q(this.expr);return e===this.expr?this:H.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].evaluate(e))return!1;return!0}static _normalizeArr(e,t,n){const i=[];let r=!1;for(const s of e)if(s)if(1!==s.type){if(0===s.type)return E.INSTANCE;6!==s.type?i.push(s):i.push(...s.expr)}else r=!0;if(0===i.length&&r)return N.INSTANCE;if(0!==i.length){if(1===i.length)return i[0];i.sort(x);for(let e=1;e<i.length;e++)i[e-1].equals(i[e])&&(i.splice(e,1),e--);if(1===i.length)return i[0];for(;i.length>1;){const e=i[i.length-1];if(9!==e.type)break;i.pop();const t=i.pop(),r=0===i.length,s=U.create(e.expr.map((e=>H.create([e,t],null,n))),null,r);s&&(i.push(s),i.sort(x))}if(1===i.length)return i[0];if(n){for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++)if(i[e].negate().equals(i[t]))return E.INSTANCE;if(1===i.length)return i[0]}return new H(i,t)}}serialize(){return this.expr.map((e=>e.serialize())).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=U.create(e,this,!0)}return this.negated}}class U{static create(e,t,n){return U._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){const n=x(this.expr[t],e.expr[t]);if(0!==n)return n}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){const e=q(this.expr);return e===this.expr?this:U.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(this.expr[t].evaluate(e))return!0;return!1}static _normalizeArr(e,t,n){let i=[],r=!1;if(e){for(let t=0,n=e.length;t<n;t++){const n=e[t];if(n)if(0!==n.type){if(1===n.type)return N.INSTANCE;9!==n.type?i.push(n):i=i.concat(n.expr)}else r=!0}if(0===i.length&&r)return E.INSTANCE;i.sort(x)}if(0!==i.length){if(1===i.length)return i[0];for(let e=1;e<i.length;e++)i[e-1].equals(i[e])&&(i.splice(e,1),e--);if(1===i.length)return i[0];if(n){for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++)if(i[e].negate().equals(i[t]))return N.INSTANCE;if(1===i.length)return i[0]}return new U(i,t)}}serialize(){return this.expr.map((e=>e.serialize())).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),n=e.shift(),i=[];for(const e of G(t))for(const t of G(n))i.push(H.create([e,t],null,!1));e.unshift(U.create(i,null,!1))}this.negated=U.create(e,this,!0)}return this.negated}}class j extends I{static{this._info=[]}static all(){return j._info.values()}constructor(e,t,n){super(e,null),this._defaultValue=t,"object"==typeof n?j._info.push({...n,key:e}):!0!==n&&j._info.push({key:e,description:n,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return T.create(this.key,e)}}(0,d.u1)("contextKeyService");function K(e,t){return e<t?-1:e>t?1:0}function $(e,t,n,i){return e<n?-1:e>n?1:t<i?-1:t>i?1:0}function G(e){return 9===e.type?e.expr:[e]}const Q=(0,d.u1)("logService");var Y;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(Y||(Y={}));Y.Info;i.jG;new j("logLevel",function(e){switch(e){case Y.Trace:return"trace";case Y.Debug:return"debug";case Y.Info:return"info";case Y.Warning:return"warn";case Y.Error:return"error";case Y.Off:return"off"}}(Y.Info))},7167:(e,t,n)=>{"use strict";n.d(t,{O:()=>s});var i=n(7110),r=n(9359);const s=new class{constructor(){this.data=new Map}add(e,t){i.ok(r.Kg(e)),i.ok(r.Gv(t)),i.ok(!this.data.has(e),"There is already an extension with this id"),this.data.set(e,t)}as(e){return this.data.get(e)||null}}},9119:(e,t,n)=>{"use strict";n.d(t,{buw:()=>S,b1q:()=>y,YtV:()=>A,Ubg:()=>q,IIb:()=>V,pOz:()=>z,whs:()=>B,Stt:()=>P,Hng:()=>F,yLC:()=>le,KoI:()=>oe,uMG:()=>ae,x1A:()=>u});var i=n(7110),r=n(2866),s=n(4901),o=n(2106),a=n(1460),l=n(7167),h=n(7289);const c=new class{constructor(){this._onDidChangeSchema=new o.vl,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,n,i=!1,r){const s={id:e,description:n,defaults:t,needsTransparency:i,deprecationMessage:r};this.colorsById[e]=s;const o={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return r&&(o.deprecationMessage=r),i&&(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=h.kg("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:n,oneOf:[o,{type:"string",const:"default",description:h.kg("useDefault","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){const n=this.colorsById[e];if(n?.defaults){return _(null!==(i=n.defaults)&&"object"==typeof i&&"light"in i&&"dark"in i?n.defaults[t.type]:n.defaults,t)}var i}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{const n=-1===e.indexOf(".")?0:1,i=-1===t.indexOf(".")?0:1;return n!==i?n-i:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function u(e,t,n,i,r){return c.registerColor(e,t,n,i,r)}function d(e,t){return{op:0,value:e,factor:t}}function g(e,t){return{op:1,value:e,factor:t}}function f(e,t){return{op:2,value:e,factor:t}}function m(...e){return{op:4,values:e}}function p(e,t,n,i){return{op:5,value:e,background:t,factor:n,transparency:i}}function _(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?s.Q1.fromHex(e):t.getColor(e):e instanceof s.Q1?e:"object"==typeof e?function(e,t){switch(e.op){case 0:return _(e.value,t)?.darken(e.factor);case 1:return _(e.value,t)?.lighten(e.factor);case 2:return _(e.value,t)?.transparent(e.factor);case 3:{const n=_(e.background,t);return n?_(e.value,t)?.makeOpaque(n):_(e.value,t)}case 4:for(const n of e.values){const e=_(n,t);if(e)return e}return;case 6:return _(t.defines(e.if)?e.then:e.else,t);case 5:{const n=_(e.value,t);if(!n)return;const i=_(e.background,t);return i?n.isDarkerThan(i)?s.Q1.getLighterColor(n,i,e.factor).transparent(e.transparency):s.Q1.getDarkerColor(n,i,e.factor).transparent(e.transparency):n.transparent(e.factor*e.transparency)}default:throw(0,i.xb)(e)}}(e,t):void 0}l.O.add("base.contributions.colors",c);const b="vscode://schemas/workbench-colors",k=l.O.as(a.F.JSONContribution);k.registerSchema(b,c.getColorSchema());const v=new r.uC((()=>k.notifySchemaChanged(b)),200);c.onDidChangeSchema((()=>{v.isScheduled()||v.schedule()}));const C=u("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},h.kg("foreground","Overall foreground color. This color is only used if not overridden by a component.")),L=(u("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},h.kg("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),u("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},h.kg("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),u("descriptionForeground",{light:"#717171",dark:f(C,.7),hcDark:f(C,.7),hcLight:f(C,.7)},h.kg("descriptionForeground","Foreground color for description text providing additional information, for example for a label.")),u("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},h.kg("iconForeground","The default color for icons in the workbench."))),w=u("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},h.kg("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),y=u("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},h.kg("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),S=u("contrastActiveBorder",{light:null,dark:null,hcDark:w,hcLight:w},h.kg("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),x=(u("selection.background",null,h.kg("selectionBackground","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.")),u("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},h.kg("textLinkForeground","Foreground color for links in text.")),u("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},h.kg("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),u("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:s.Q1.black,hcLight:"#292929"},h.kg("textSeparatorForeground","Color for text separators.")),u("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},h.kg("textPreformatForeground","Foreground color for preformatted text segments.")),u("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},h.kg("textPreformatBackground","Background color for preformatted text segments.")),u("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},h.kg("textBlockQuoteBackground","Background color for block quotes in text.")),u("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:s.Q1.white,hcLight:"#292929"},h.kg("textBlockQuoteBorder","Border color for block quotes in text.")),u("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:s.Q1.black,hcLight:"#F2F2F2"},h.kg("textCodeBlockBackground","Background color for code blocks in text.")),u("sash.hoverBorder",w,h.kg("sashActiveBorder","Border color of active sashes.")),u("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:s.Q1.black,hcLight:"#0F4A85"},h.kg("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count."))),E=(u("badge.foreground",{dark:s.Q1.white,light:"#333",hcDark:s.Q1.white,hcLight:s.Q1.white},h.kg("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),u("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},h.kg("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled."))),N=u("scrollbarSlider.background",{dark:s.Q1.fromHex("#797979").transparent(.4),light:s.Q1.fromHex("#646464").transparent(.4),hcDark:f(y,.6),hcLight:f(y,.4)},h.kg("scrollbarSliderBackground","Scrollbar slider background color.")),I=u("scrollbarSlider.hoverBackground",{dark:s.Q1.fromHex("#646464").transparent(.7),light:s.Q1.fromHex("#646464").transparent(.7),hcDark:f(y,.8),hcLight:f(y,.8)},h.kg("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),T=u("scrollbarSlider.activeBackground",{dark:s.Q1.fromHex("#BFBFBF").transparent(.4),light:s.Q1.fromHex("#000000").transparent(.6),hcDark:y,hcLight:y},h.kg("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),A=(u("progressBar.background",{dark:s.Q1.fromHex("#0E70C0"),light:s.Q1.fromHex("#0E70C0"),hcDark:y,hcLight:y},h.kg("progressBarBackground","Background color of the progress bar that can show for long running operations.")),u("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("editorBackground","Editor background color."))),D=(u("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:s.Q1.white,hcLight:C},h.kg("editorForeground","Editor default foreground color.")),u("editorStickyScroll.background",A,h.kg("editorStickyScrollBackground","Background color of sticky scroll in the editor")),u("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},h.kg("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),u("editorStickyScroll.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("editorStickyScrollBorder","Border color of sticky scroll in the editor")),u("editorStickyScroll.shadow",E,h.kg("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor")),u("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:s.Q1.white},h.kg("editorWidgetBackground","Background color of editor widgets, such as find/replace."))),M=u("editorWidget.foreground",C,h.kg("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),R=u("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:y,hcLight:y},h.kg("editorWidgetBorder","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.")),O=(u("editorWidget.resizeBorder",null,h.kg("editorWidgetResizeBorder","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.")),u("editorError.background",null,h.kg("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},h.kg("editorError.foreground","Foreground color of error squigglies in the editor."))),B=(u("editorError.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},h.kg("errorBorder","If set, color of double underlines for errors in the editor.")),u("editorWarning.background",null,h.kg("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0)),F=u("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},h.kg("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),P=u("editorWarning.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#FFCC00").transparent(.8),hcLight:s.Q1.fromHex("#FFCC00").transparent(.8)},h.kg("warningBorder","If set, color of double underlines for warnings in the editor.")),z=(u("editorInfo.background",null,h.kg("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},h.kg("editorInfo.foreground","Foreground color of info squigglies in the editor."))),V=u("editorInfo.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},h.kg("infoBorder","If set, color of double underlines for infos in the editor.")),W=(u("editorHint.foreground",{dark:s.Q1.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},h.kg("editorHint.foreground","Foreground color of hint squigglies in the editor.")),u("editorHint.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},h.kg("hintBorder","If set, color of double underlines for hints in the editor.")),u("editorLink.activeForeground",{dark:"#4E94CE",light:s.Q1.blue,hcDark:s.Q1.cyan,hcLight:"#292929"},h.kg("activeLinkForeground","Color of active links.")),u("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},h.kg("editorSelectionBackground","Color of the editor selection."))),q=(u("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:s.Q1.white},h.kg("editorSelectionForeground","Color of the selected text for high contrast.")),u("editor.inactiveSelectionBackground",{light:f(W,.5),dark:f(W,.5),hcDark:f(W,.7),hcLight:f(W,.5)},h.kg("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.selectionHighlightBackground",{light:p(W,A,.3,.6),dark:p(W,A,.3,.6),hcDark:null,hcLight:null},h.kg("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:S,hcLight:S},h.kg("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),u("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},h.kg("editorFindMatch","Color of the current search match.")),u("editor.findMatchForeground",null,h.kg("editorFindMatchForeground","Text color of the current search match.")),u("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},h.kg("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0)),H=(u("editor.findMatchHighlightForeground",null,h.kg("findMatchHighlightForeground","Foreground color of the other search matches."),!0),u("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},h.kg("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.findMatchBorder",{light:null,dark:null,hcDark:S,hcLight:S},h.kg("editorFindMatchBorder","Border color of the current search match.")),u("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:S,hcLight:S},h.kg("findMatchHighlightBorder","Border color of the other search matches."))),U=(u("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:f(S,.4),hcLight:f(S,.4)},h.kg("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},h.kg("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorHoverWidget.background",D,h.kg("hoverBackground","Background color of the editor hover."))),j=(u("editorHoverWidget.foreground",M,h.kg("hoverForeground","Foreground color of the editor hover.")),u("editorHoverWidget.border",R,h.kg("hoverBorder","Border color of the editor hover.")),u("editorHoverWidget.statusBarBackground",{dark:g(U,.2),light:d(U,.05),hcDark:D,hcLight:D},h.kg("statusBarBackground","Background color of the editor hover status bar.")),u("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:s.Q1.white,hcLight:s.Q1.black},h.kg("editorInlayHintForeground","Foreground color of inline hints"))),K=u("editorInlayHint.background",{dark:f(x,.1),light:f(x,.1),hcDark:f(s.Q1.white,.1),hcLight:f(x,.1)},h.kg("editorInlayHintBackground","Background color of inline hints")),$=(u("editorInlayHint.typeForeground",j,h.kg("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),u("editorInlayHint.typeBackground",K,h.kg("editorInlayHintBackgroundTypes","Background color of inline hints for types")),u("editorInlayHint.parameterForeground",j,h.kg("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),u("editorInlayHint.parameterBackground",K,h.kg("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),u("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},h.kg("editorLightBulbForeground","The color used for the lightbulb actions icon."))),G=(u("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},h.kg("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),u("editorLightBulbAi.foreground",$,h.kg("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),u("editor.snippetTabstopHighlightBackground",{dark:new s.Q1(new s.bU(124,124,124,.3)),light:new s.Q1(new s.bU(10,50,100,.2)),hcDark:new s.Q1(new s.bU(124,124,124,.3)),hcLight:new s.Q1(new s.bU(10,50,100,.2))},h.kg("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),u("editor.snippetTabstopHighlightBorder",null,h.kg("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),u("editor.snippetFinalTabstopHighlightBackground",null,h.kg("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),u("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new s.Q1(new s.bU(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},h.kg("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet.")),new s.Q1(new s.bU(155,185,85,.2))),Q=new s.Q1(new s.bU(255,0,0,.2)),Y=(u("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},h.kg("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},h.kg("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.insertedLineBackground",{dark:G,light:G,hcDark:null,hcLight:null},h.kg("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.removedLineBackground",{dark:Q,light:Q,hcDark:null,hcLight:null},h.kg("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditorGutter.insertedLineBackground",null,h.kg("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),u("diffEditorGutter.removedLineBackground",null,h.kg("diffEditorRemovedLineGutter","Background color for the margin where lines got removed.")),u("diffEditorOverview.insertedForeground",null,h.kg("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),u("diffEditorOverview.removedForeground",null,h.kg("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content.")),u("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},h.kg("diffEditorInsertedOutline","Outline color for the text that got inserted.")),u("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},h.kg("diffEditorRemovedOutline","Outline color for text that got removed.")),u("diffEditor.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("diffEditorBorder","Border color between the two text editors.")),u("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},h.kg("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),u("diffEditor.unchangedRegionBackground","sideBar.background",h.kg("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),u("diffEditor.unchangedRegionForeground","foreground",h.kg("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),u("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},h.kg("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor.")),u("widget.shadow",{dark:f(s.Q1.black,.36),light:f(s.Q1.black,.16),hcDark:null,hcLight:null},h.kg("widgetShadow","Shadow color of widgets such as find/replace inside the editor."))),X=(u("widget.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("widgetBorder","Border color of widgets such as find/replace inside the editor.")),u("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},h.kg("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"))),Z=(u("toolbar.hoverOutline",{dark:null,light:null,hcDark:S,hcLight:S},h.kg("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),u("toolbar.activeBackground",{dark:g(X,.1),light:d(X,.1),hcDark:null,hcLight:null},h.kg("toolbarActiveBackground","Toolbar background when holding the mouse over actions")),u("breadcrumb.foreground",f(C,.8),h.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),u("breadcrumb.background",A,h.kg("breadcrumbsBackground","Background color of breadcrumb items.")),u("breadcrumb.focusForeground",{light:d(C,.2),dark:g(C,.1),hcDark:g(C,.1),hcLight:g(C,.1)},h.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),u("breadcrumb.activeSelectionForeground",{light:d(C,.2),dark:g(C,.1),hcDark:g(C,.1),hcLight:g(C,.1)},h.kg("breadcrumbsSelectedForeground","Color of selected breadcrumb items.")),u("breadcrumbPicker.background",D,h.kg("breadcrumbsSelectedBackground","Background color of breadcrumb item picker.")),s.Q1.fromHex("#40C8AE").transparent(.5)),J=s.Q1.fromHex("#40A6FF").transparent(.5),ee=s.Q1.fromHex("#606060").transparent(.4),te=u("merge.currentHeaderBackground",{dark:Z,light:Z,hcDark:null,hcLight:null},h.kg("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),ne=(u("merge.currentContentBackground",f(te,.4),h.kg("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.incomingHeaderBackground",{dark:J,light:J,hcDark:null,hcLight:null},h.kg("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),ie=(u("merge.incomingContentBackground",f(ne,.4),h.kg("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.commonHeaderBackground",{dark:ee,light:ee,hcDark:null,hcLight:null},h.kg("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),re=(u("merge.commonContentBackground",f(ie,.4),h.kg("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},h.kg("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."))),se=(u("editorOverviewRuler.currentContentForeground",{dark:f(te,1),light:f(te,1),hcDark:re,hcLight:re},h.kg("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.incomingContentForeground",{dark:f(ne,1),light:f(ne,1),hcDark:re,hcLight:re},h.kg("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.commonContentForeground",{dark:f(ie,1),light:f(ie,1),hcDark:re,hcLight:re},h.kg("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},h.kg("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",h.kg("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),u("problemsErrorIcon.foreground",O,h.kg("problemsErrorIconForeground","The color used for the problems error icon.")),u("problemsWarningIcon.foreground",F,h.kg("problemsWarningIconForeground","The color used for the problems warning icon.")),u("problemsInfoIcon.foreground",z,h.kg("problemsInfoIconForeground","The color used for the problems info icon.")),u("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},h.kg("minimapFindMatchHighlight","Minimap marker color for find matches."),!0)),oe=(u("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},h.kg("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),u("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},h.kg("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),u("minimap.infoHighlight",{dark:z,light:z,hcDark:V,hcLight:V},h.kg("minimapInfo","Minimap marker color for infos."))),ae=u("minimap.warningHighlight",{dark:F,light:F,hcDark:P,hcLight:P},h.kg("overviewRuleWarning","Minimap marker color for warnings.")),le=u("minimap.errorHighlight",{dark:new s.Q1(new s.bU(255,18,18,.7)),light:new s.Q1(new s.bU(255,18,18,.7)),hcDark:new s.Q1(new s.bU(255,50,50,1)),hcLight:"#B5200D"},h.kg("minimapError","Minimap marker color for errors.")),he=(u("minimap.background",null,h.kg("minimapBackground","Minimap background color.")),u("minimap.foregroundOpacity",s.Q1.fromHex("#000f"),h.kg("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),u("minimapSlider.background",f(N,.5),h.kg("minimapSliderBackground","Minimap slider background color.")),u("minimapSlider.hoverBackground",f(I,.5),h.kg("minimapSliderHoverBackground","Minimap slider background color when hovering.")),u("minimapSlider.activeBackground",f(T,.5),h.kg("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),u("charts.foreground",C,h.kg("chartsForeground","The foreground color used in charts.")),u("charts.lines",f(C,.5),h.kg("chartsLines","The color used for horizontal lines in charts.")),u("charts.red",O,h.kg("chartsRed","The red color used in chart visualizations.")),u("charts.blue",z,h.kg("chartsBlue","The blue color used in chart visualizations.")),u("charts.yellow",F,h.kg("chartsYellow","The yellow color used in chart visualizations.")),u("charts.orange",se,h.kg("chartsOrange","The orange color used in chart visualizations.")),u("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},h.kg("chartsGreen","The green color used in chart visualizations.")),u("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},h.kg("chartsPurple","The purple color used in chart visualizations.")),u("input.background",{dark:"#3C3C3C",light:s.Q1.white,hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("inputBoxBackground","Input box background.")),u("input.foreground",C,h.kg("inputBoxForeground","Input box foreground.")),u("input.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("inputBoxBorder","Input box border.")),u("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:y,hcLight:y},h.kg("inputBoxActiveOptionBorder","Border color of activated options in input fields."))),ce=u("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},h.kg("inputOption.hoverBackground","Background color of activated options in input fields.")),ue=u("inputOption.activeBackground",{dark:f(w,.4),light:f(w,.2),hcDark:s.Q1.transparent,hcLight:s.Q1.transparent},h.kg("inputOption.activeBackground","Background hover color of options in input fields.")),de=u("inputOption.activeForeground",{dark:s.Q1.white,light:s.Q1.black,hcDark:C,hcLight:C},h.kg("inputOption.activeForeground","Foreground color of activated options in input fields.")),ge=(u("input.placeholderForeground",{light:f(C,.5),dark:f(C,.5),hcDark:f(C,.7),hcLight:f(C,.7)},h.kg("inputPlaceholderForeground","Input box foreground color for placeholder text.")),u("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("inputValidationInfoBackground","Input validation background color for information severity.")),u("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:C},h.kg("inputValidationInfoForeground","Input validation foreground color for information severity.")),u("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:y,hcLight:y},h.kg("inputValidationInfoBorder","Input validation border color for information severity.")),u("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("inputValidationWarningBackground","Input validation background color for warning severity.")),u("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:C},h.kg("inputValidationWarningForeground","Input validation foreground color for warning severity.")),u("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:y,hcLight:y},h.kg("inputValidationWarningBorder","Input validation border color for warning severity.")),u("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("inputValidationErrorBackground","Input validation background color for error severity.")),u("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:C},h.kg("inputValidationErrorForeground","Input validation foreground color for error severity.")),u("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:y,hcLight:y},h.kg("inputValidationErrorBorder","Input validation border color for error severity.")),u("dropdown.background",{dark:"#3C3C3C",light:s.Q1.white,hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("dropdownBackground","Dropdown background."))),fe=(u("dropdown.listBackground",{dark:null,light:null,hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("dropdownListBackground","Dropdown list background.")),u("dropdown.foreground",{dark:"#F0F0F0",light:C,hcDark:s.Q1.white,hcLight:C},h.kg("dropdownForeground","Dropdown foreground."))),me=u("dropdown.border",{dark:ge,light:"#CECECE",hcDark:y,hcLight:y},h.kg("dropdownBorder","Dropdown border.")),pe=u("button.foreground",s.Q1.white,h.kg("buttonForeground","Button foreground color.")),_e=(u("button.separator",f(pe,.4),h.kg("buttonSeparator","Button separator color.")),u("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},h.kg("buttonBackground","Button background color."))),be=(u("button.hoverBackground",{dark:g(_e,.2),light:d(_e,.2),hcDark:_e,hcLight:_e},h.kg("buttonHoverBackground","Button background color when hovering.")),u("button.border",y,h.kg("buttonBorder","Button border color.")),u("button.secondaryForeground",{dark:s.Q1.white,light:s.Q1.white,hcDark:s.Q1.white,hcLight:C},h.kg("buttonSecondaryForeground","Secondary button foreground color.")),u("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:s.Q1.white},h.kg("buttonSecondaryBackground","Secondary button background color."))),ke=(u("button.secondaryHoverBackground",{dark:g(be,.2),light:d(be,.2),hcDark:null,hcLight:null},h.kg("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),u("radio.activeForeground",de,h.kg("radioActiveForeground","Foreground color of active radio option."))),ve=(u("radio.activeBackground",ue,h.kg("radioBackground","Background color of active radio option.")),u("radio.activeBorder",he,h.kg("radioActiveBorder","Border color of the active radio option.")),u("radio.inactiveForeground",null,h.kg("radioInactiveForeground","Foreground color of inactive radio option.")),u("radio.inactiveBackground",null,h.kg("radioInactiveBackground","Background color of inactive radio option.")),u("radio.inactiveBorder",{light:f(ke,.2),dark:f(ke,.2),hcDark:f(ke,.4),hcLight:f(ke,.2)},h.kg("radioInactiveBorder","Border color of the inactive radio option.")),u("radio.inactiveHoverBackground",ce,h.kg("radioHoverBackground","Background color of inactive active radio option when hovering.")),u("checkbox.background",ge,h.kg("checkbox.background","Background color of checkbox widget.")),u("checkbox.selectBackground",D,h.kg("checkbox.select.background","Background color of checkbox widget when the element it's in is selected.")),u("checkbox.foreground",fe,h.kg("checkbox.foreground","Foreground color of checkbox widget.")),u("checkbox.border",me,h.kg("checkbox.border","Border color of checkbox widget.")),u("checkbox.selectBorder",L,h.kg("checkbox.select.border","Border color of checkbox widget when the element it's in is selected.")),u("keybindingLabel.background",{dark:new s.Q1(new s.bU(128,128,128,.17)),light:new s.Q1(new s.bU(221,221,221,.4)),hcDark:s.Q1.transparent,hcLight:s.Q1.transparent},h.kg("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.foreground",{dark:s.Q1.fromHex("#CCCCCC"),light:s.Q1.fromHex("#555555"),hcDark:s.Q1.white,hcLight:C},h.kg("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.border",{dark:new s.Q1(new s.bU(51,51,51,.6)),light:new s.Q1(new s.bU(204,204,204,.4)),hcDark:new s.Q1(new s.bU(111,195,223)),hcLight:y},h.kg("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.bottomBorder",{dark:new s.Q1(new s.bU(68,68,68,.6)),light:new s.Q1(new s.bU(187,187,187,.4)),hcDark:new s.Q1(new s.bU(111,195,223)),hcLight:C},h.kg("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),u("list.focusBackground",null,h.kg("listFocusBackground","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.")),u("list.focusForeground",null,h.kg("listFocusForeground","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.")),u("list.focusOutline",{dark:w,light:w,hcDark:S,hcLight:S},h.kg("listFocusOutline","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.")),u("list.focusAndSelectionOutline",null,h.kg("listFocusAndSelectionOutline","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.")),u("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},h.kg("listActiveSelectionBackground","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."))),Ce=u("list.activeSelectionForeground",{dark:s.Q1.white,light:s.Q1.white,hcDark:null,hcLight:null},h.kg("listActiveSelectionForeground","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.")),Le=u("list.activeSelectionIconForeground",null,h.kg("listActiveSelectionIconForeground","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.")),we=(u("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},h.kg("listInactiveSelectionBackground","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.")),u("list.inactiveSelectionForeground",null,h.kg("listInactiveSelectionForeground","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.")),u("list.inactiveSelectionIconForeground",null,h.kg("listInactiveSelectionIconForeground","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.")),u("list.inactiveFocusBackground",null,h.kg("listInactiveFocusBackground","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.")),u("list.inactiveFocusOutline",null,h.kg("listInactiveFocusOutline","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.")),u("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:s.Q1.white.transparent(.1),hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},h.kg("listHoverBackground","List/Tree background when hovering over items using the mouse.")),u("list.hoverForeground",null,h.kg("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),u("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},h.kg("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),u("list.dropBetweenBackground",{dark:L,light:L,hcDark:null,hcLight:null},h.kg("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),u("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:w,hcLight:w},h.kg("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")));u("list.focusHighlightForeground",{dark:we,light:(ye=ve,Se=we,xe="#BBE7FF",{op:6,if:ye,then:Se,else:xe}),hcDark:we,hcLight:we},h.kg("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var ye,Se,xe;u("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},h.kg("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),u("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},h.kg("listErrorForeground","Foreground color of list items containing errors.")),u("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},h.kg("listWarningForeground","Foreground color of list items containing warnings.")),u("listFilterWidget.background",{light:d(D,0),dark:g(D,0),hcDark:D,hcLight:D},h.kg("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),u("listFilterWidget.outline",{dark:s.Q1.transparent,light:s.Q1.transparent,hcDark:"#f38518",hcLight:"#007ACC"},h.kg("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),u("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:y,hcLight:y},h.kg("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),u("listFilterWidget.shadow",Y,h.kg("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees.")),u("list.filterMatchBackground",{dark:q,light:q,hcDark:null,hcLight:null},h.kg("listFilterMatchHighlight","Background color of the filtered match.")),u("list.filterMatchBorder",{dark:H,light:H,hcDark:y,hcLight:S},h.kg("listFilterMatchHighlightBorder","Border color of the filtered match.")),u("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},h.kg("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const Ee=u("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},h.kg("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),Ne=(u("tree.inactiveIndentGuidesStroke",f(Ee,.4),h.kg("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),u("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},h.kg("tableColumnsBorder","Table border color between columns.")),u("tree.tableOddRowsBackground",{dark:f(C,.04),light:f(C,.04),hcDark:null,hcLight:null},h.kg("tableOddRowsBackgroundColor","Background color for odd table rows.")),u("editorActionList.background",D,h.kg("editorActionListBackground","Action List background color.")),u("editorActionList.foreground",M,h.kg("editorActionListForeground","Action List foreground color.")),u("editorActionList.focusForeground",Ce,h.kg("editorActionListFocusForeground","Action List foreground color for the focused item.")),u("editorActionList.focusBackground",ve,h.kg("editorActionListFocusBackground","Action List background color for the focused item.")),u("menu.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("menuBorder","Border color of menus.")),u("menu.foreground",fe,h.kg("menuForeground","Foreground color of menu items.")),u("menu.background",ge,h.kg("menuBackground","Background color of menu items.")),u("menu.selectionForeground",Ce,h.kg("menuSelectionForeground","Foreground color of the selected menu item in menus.")),u("menu.selectionBackground",ve,h.kg("menuSelectionBackground","Background color of the selected menu item in menus.")),u("menu.selectionBorder",{dark:null,light:null,hcDark:S,hcLight:S},h.kg("menuSelectionBorder","Border color of the selected menu item in menus.")),u("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:y,hcLight:y},h.kg("menuSeparatorBackground","Color of a separator menu item in menus.")),u("quickInput.background",D,h.kg("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),u("quickInput.foreground",M,h.kg("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),u("quickInputTitle.background",{dark:new s.Q1(new s.bU(255,255,255,.105)),light:new s.Q1(new s.bU(0,0,0,.06)),hcDark:"#000000",hcLight:s.Q1.white},h.kg("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),u("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:s.Q1.white,hcLight:"#0F4A85"},h.kg("pickerGroupForeground","Quick picker color for grouping labels.")),u("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:s.Q1.white,hcLight:"#0F4A85"},h.kg("pickerGroupBorder","Quick picker color for grouping borders.")),u("quickInput.list.focusBackground",null,"",void 0,h.kg("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")));u("quickInputList.focusForeground",Ce,h.kg("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),u("quickInputList.focusIconForeground",Le,h.kg("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),u("quickInputList.focusBackground",{dark:m(Ne,ve),light:m(Ne,ve),hcDark:null,hcLight:null},h.kg("quickInput.listFocusBackground","Quick picker background color for the focused item.")),u("search.resultsInfoForeground",{light:C,dark:f(C,.65),hcDark:C,hcLight:C},h.kg("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),u("searchEditor.findMatchBackground",{light:f(q,.66),dark:f(q,.66),hcDark:q,hcLight:q},h.kg("searchEditor.queryMatch","Color of the Search Editor query matches.")),u("searchEditor.findMatchBorder",{light:f(H,.66),dark:f(H,.66),hcDark:H,hcLight:H},h.kg("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."))},6001:(e,t,n)=>{"use strict";n.d(t,{Gy:()=>l,zy:()=>u,Yf:()=>h});var i,r=n(2106),s=n(2446),o=n(2399),a=n(7167);!function(e){e.DARK="dark",e.LIGHT="light",e.HIGH_CONTRAST_DARK="hcDark",e.HIGH_CONTRAST_LIGHT="hcLight"}(i||(i={}));const l=(0,o.u1)("themeService");function h(e){return{id:e}}const c=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new r.vl}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),(0,s.s)((()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function u(e){return c.onColorThemeChange(e)}a.O.add("base.contributions.theming",c);s.jG}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.e=()=>Promise.resolve(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e=n(5585),t=n(1684),i=n(6358);let r=!1;globalThis.onmessage=n=>{r||function(n){if(r)return;r=!0;const s=new e.SimpleWorkerServer((e=>{globalThis.postMessage(e)}),(e=>new t.EditorSimpleWorker(i.EditorWorkerHost.getChannel(e),n)));globalThis.onmessage=e=>{s.onmessage(e.data)}}(null)}})()})(); \ No newline at end of file +(()=>{var e={3338:(e,t,n)=>{"use strict";function i(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let i=0,r=e.length;i<r;i++)if(!n(e[i],t[i]))return!1;return!0}function*r(e,t){let n,i;for(const r of e)void 0!==i&&t(i,r)?n.push(r):(n&&(yield n),n=[r]),i=r;n&&(yield n)}function s(e,t){for(let n=0;n<=e.length;n++)t(0===n?void 0:e[n-1],n===e.length?void 0:e[n])}function o(e,t){for(let n=0;n<e.length;n++)t(0===n?void 0:e[n-1],e[n],n+1===e.length?void 0:e[n+1])}function a(e,t=e=>e){const n=new Set;return e.filter((e=>{const i=t(e);return!n.has(i)&&(n.add(i),!0)}))}function l(e,t){return e.length>0?e[0]:t}function h(e,t,n){const i=e.slice(0,t),r=e.slice(t);return i.concat(n,r)}function c(e,t){for(const n of t)e.push(n)}var u;function d(e,t){return(n,i)=>t(e(n),e(i))}n.d(t,{E4:()=>c,Fy:()=>l,Hw:()=>f,U9:()=>g,VE:()=>d,aI:()=>i,c1:()=>p,dM:()=>a,j3:()=>m,kj:()=>o,n:()=>r,nK:()=>h,pN:()=>s}),function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(u||(u={}));const g=(e,t)=>e-t;function f(e){return(t,n)=>-e(t,n)}class m{constructor(e){this.items=e,this.firstIdx=0,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++;const n=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,n}takeFromEndWhile(e){let t=this.lastIdx;for(;t>=0&&e(this.items[t]);)t--;const n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class p{static{this.empty=new p((e=>{}))}constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new p((t=>this.iterate((n=>!e(n)||t(n)))))}map(e){return new p((t=>this.iterate((n=>t(e(n))))))}findLast(e){let t;return this.iterate((n=>(e(n)&&(t=n),!0))),t}findLastMaxBy(e){let t,n=!0;return this.iterate((i=>((n||u.isGreaterThan(e(i,t)))&&(n=!1,t=i),!0))),t}}},7393:(e,t,n)=>{"use strict";function i(e,t){const n=function(e,t,n=e.length-1){for(let i=n;i>=0;i--){if(t(e[i]))return i}return-1}(e,t);if(-1!==n)return e[n]}function r(e,t){const n=s(e,t);return-1===n?void 0:e[n]}function s(e,t,n=0,i=e.length){let r=n,s=i;for(;r<s;){const n=Math.floor((r+s)/2);t(e[n])?r=n+1:s=n}return r-1}function o(e,t){const n=a(e,t);return n===e.length?void 0:e[n]}function a(e,t,n=0,i=e.length){let r=n,s=i;for(;r<s;){const n=Math.floor((r+s)/2);t(e[n])?s=n:r=n+1}return r}n.d(t,{Uk:()=>i,XP:()=>o,hw:()=>a,iM:()=>s,lx:()=>r,vJ:()=>l});class l{static{this.assertInvariants=!1}constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(l.assertInvariants){if(this._prevFindLastPredicate)for(const t of this._array)if(this._prevFindLastPredicate(t)&&!e(t))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.");this._prevFindLastPredicate=e}const t=s(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,-1===t?void 0:this._array[t]}}},7110:(e,t,n)=>{"use strict";n.d(t,{Ft:()=>o,Xo:()=>a,ok:()=>r,xb:()=>s});var i=n(4327);function r(e,t){if(!e)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function s(e,t="Unreachable"){throw new Error(t)}function o(e){e()||(e(),(0,i.dz)(new i.D7("Assertion Failed")))}function a(e,t){let n=0;for(;n<e.length-1;){if(!t(e[n],e[n+1]))return!1;n++}return!0}},2866:(e,t,n)=>{"use strict";n.d(t,{vb:()=>l,uC:()=>h,Qg:()=>a,$6:()=>c});n(8903);var i=n(4327),r=n(2106),s=n(2446),o=n(3339);Symbol("MicrotaskDelay");function a(e){return!!e&&"function"==typeof e.then}class l{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new i.D7("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const r=n.setInterval((()=>{e()}),t);this.disposable=(0,s.s)((()=>{n.clearInterval(r),this.disposable=void 0}))}dispose(){this.cancel(),this.isDisposed=!0}}class h{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}let c,u;u="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{(0,o._p)((()=>{if(n)return;const e=Date.now()+15,i={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(i))}));let n=!1;return{dispose(){n||(n=!0)}}}:(e,t,n)=>{const i=e.requestIdleCallback(t,"number"==typeof n?{timeout:n}:void 0);let r=!1;return{dispose(){r||(r=!0,e.cancelIdleCallback(i))}}},c=e=>u(globalThis,e);var d;!function(e){e.settled=async function(e){let t;const n=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return n},e.withAsyncBody=function(e){return new Promise((async(t,n)=>{try{await e(t,n)}catch(i){n(i)}}))}}(d||(d={}));class g{static fromArray(e){return new g((t=>{t.emitMany(e)}))}static fromPromise(e){return new g((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new g((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new g((async t=>{await Promise.all(e.map((async e=>{for await(const n of e)t.emitOne(n)})))}))}static{this.EMPTY=g.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new r.vl,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(n){this.reject(n)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(1===this._state)return{done:!0,value:void 0};await r.Jh.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new g((async n=>{for await(const i of e)n.emitOne(t(i))}))}map(e){return g.map(this,e)}static filter(e,t){return new g((async n=>{for await(const i of e)t(i)&&n.emitOne(i)}))}filter(e){return g.filter(this,e)}static coalesce(e){return g.filter(e,(e=>!!e))}coalesce(){return g.coalesce(this)}static async toPromise(e){const t=[];for await(const n of e)t.push(n);return t}toPromise(){return g.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}},2802:(e,t,n)=>{"use strict";n.d(t,{$l:()=>a,Gs:()=>d,MB:()=>o,Sw:()=>c,bb:()=>h,gN:()=>l,pJ:()=>u});var i=n(3946);const r="undefined"!=typeof Buffer;new i.d((()=>new Uint8Array(256)));let s;class o{static wrap(e){return r&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new o(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return r?this.buffer.toString():(s||(s=new TextDecoder),s.decode(this.buffer))}}function a(e,t){return(e[t+0]|0)>>>0|e[t+1]<<8>>>0}function l(e,t,n){e[n+0]=255&t,t>>>=8,e[n+1]=255&t}function h(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function c(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function u(e,t){return e[t]}function d(e,t,n){e[n]=t}},6260:(e,t,n)=>{"use strict";function i(e){return e}n.d(t,{VV:()=>s,o5:()=>r});class r{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,"function"==typeof e?(this._fn=e,this._computeKey=i):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class s{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,"function"==typeof e?(this._fn=e,this._computeKey=i):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const n=this._fn(e);return this._map.set(e,n),this._map2.set(t,n),n}}},8903:(e,t,n)=>{"use strict";n.d(t,{Qi:()=>a});var i=n(2106);const r=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var s;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof o||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Jh.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r})}(s||(s={}));class o{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?r:(this._emitter||(this._emitter=new i.vl),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class a{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token instanceof o&&this._token.cancel():this._token=s.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof o&&this._token.dispose():this._token=s.None}}},8391:(e,t,n)=>{"use strict";n.d(t,{W:()=>o});var i=n(9359);const r=Object.create(null);function s(e,t){if((0,i.Kg)(t)){const n=r[t];if(void 0===n)throw new Error(`${e} references an unknown codicon: ${t}`);t=n}return r[e]=t,{id:e}}const o={...{add:s("add",6e4),plus:s("plus",6e4),gistNew:s("gist-new",6e4),repoCreate:s("repo-create",6e4),lightbulb:s("lightbulb",60001),lightBulb:s("light-bulb",60001),repo:s("repo",60002),repoDelete:s("repo-delete",60002),gistFork:s("gist-fork",60003),repoForked:s("repo-forked",60003),gitPullRequest:s("git-pull-request",60004),gitPullRequestAbandoned:s("git-pull-request-abandoned",60004),recordKeys:s("record-keys",60005),keyboard:s("keyboard",60005),tag:s("tag",60006),gitPullRequestLabel:s("git-pull-request-label",60006),tagAdd:s("tag-add",60006),tagRemove:s("tag-remove",60006),person:s("person",60007),personFollow:s("person-follow",60007),personOutline:s("person-outline",60007),personFilled:s("person-filled",60007),gitBranch:s("git-branch",60008),gitBranchCreate:s("git-branch-create",60008),gitBranchDelete:s("git-branch-delete",60008),sourceControl:s("source-control",60008),mirror:s("mirror",60009),mirrorPublic:s("mirror-public",60009),star:s("star",60010),starAdd:s("star-add",60010),starDelete:s("star-delete",60010),starEmpty:s("star-empty",60010),comment:s("comment",60011),commentAdd:s("comment-add",60011),alert:s("alert",60012),warning:s("warning",60012),search:s("search",60013),searchSave:s("search-save",60013),logOut:s("log-out",60014),signOut:s("sign-out",60014),logIn:s("log-in",60015),signIn:s("sign-in",60015),eye:s("eye",60016),eyeUnwatch:s("eye-unwatch",60016),eyeWatch:s("eye-watch",60016),circleFilled:s("circle-filled",60017),primitiveDot:s("primitive-dot",60017),closeDirty:s("close-dirty",60017),debugBreakpoint:s("debug-breakpoint",60017),debugBreakpointDisabled:s("debug-breakpoint-disabled",60017),debugHint:s("debug-hint",60017),terminalDecorationSuccess:s("terminal-decoration-success",60017),primitiveSquare:s("primitive-square",60018),edit:s("edit",60019),pencil:s("pencil",60019),info:s("info",60020),issueOpened:s("issue-opened",60020),gistPrivate:s("gist-private",60021),gitForkPrivate:s("git-fork-private",60021),lock:s("lock",60021),mirrorPrivate:s("mirror-private",60021),close:s("close",60022),removeClose:s("remove-close",60022),x:s("x",60022),repoSync:s("repo-sync",60023),sync:s("sync",60023),clone:s("clone",60024),desktopDownload:s("desktop-download",60024),beaker:s("beaker",60025),microscope:s("microscope",60025),vm:s("vm",60026),deviceDesktop:s("device-desktop",60026),file:s("file",60027),fileText:s("file-text",60027),more:s("more",60028),ellipsis:s("ellipsis",60028),kebabHorizontal:s("kebab-horizontal",60028),mailReply:s("mail-reply",60029),reply:s("reply",60029),organization:s("organization",60030),organizationFilled:s("organization-filled",60030),organizationOutline:s("organization-outline",60030),newFile:s("new-file",60031),fileAdd:s("file-add",60031),newFolder:s("new-folder",60032),fileDirectoryCreate:s("file-directory-create",60032),trash:s("trash",60033),trashcan:s("trashcan",60033),history:s("history",60034),clock:s("clock",60034),folder:s("folder",60035),fileDirectory:s("file-directory",60035),symbolFolder:s("symbol-folder",60035),logoGithub:s("logo-github",60036),markGithub:s("mark-github",60036),github:s("github",60036),terminal:s("terminal",60037),console:s("console",60037),repl:s("repl",60037),zap:s("zap",60038),symbolEvent:s("symbol-event",60038),error:s("error",60039),stop:s("stop",60039),variable:s("variable",60040),symbolVariable:s("symbol-variable",60040),array:s("array",60042),symbolArray:s("symbol-array",60042),symbolModule:s("symbol-module",60043),symbolPackage:s("symbol-package",60043),symbolNamespace:s("symbol-namespace",60043),symbolObject:s("symbol-object",60043),symbolMethod:s("symbol-method",60044),symbolFunction:s("symbol-function",60044),symbolConstructor:s("symbol-constructor",60044),symbolBoolean:s("symbol-boolean",60047),symbolNull:s("symbol-null",60047),symbolNumeric:s("symbol-numeric",60048),symbolNumber:s("symbol-number",60048),symbolStructure:s("symbol-structure",60049),symbolStruct:s("symbol-struct",60049),symbolParameter:s("symbol-parameter",60050),symbolTypeParameter:s("symbol-type-parameter",60050),symbolKey:s("symbol-key",60051),symbolText:s("symbol-text",60051),symbolReference:s("symbol-reference",60052),goToFile:s("go-to-file",60052),symbolEnum:s("symbol-enum",60053),symbolValue:s("symbol-value",60053),symbolRuler:s("symbol-ruler",60054),symbolUnit:s("symbol-unit",60054),activateBreakpoints:s("activate-breakpoints",60055),archive:s("archive",60056),arrowBoth:s("arrow-both",60057),arrowDown:s("arrow-down",60058),arrowLeft:s("arrow-left",60059),arrowRight:s("arrow-right",60060),arrowSmallDown:s("arrow-small-down",60061),arrowSmallLeft:s("arrow-small-left",60062),arrowSmallRight:s("arrow-small-right",60063),arrowSmallUp:s("arrow-small-up",60064),arrowUp:s("arrow-up",60065),bell:s("bell",60066),bold:s("bold",60067),book:s("book",60068),bookmark:s("bookmark",60069),debugBreakpointConditionalUnverified:s("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:s("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:s("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:s("debug-breakpoint-data-unverified",60072),debugBreakpointData:s("debug-breakpoint-data",60073),debugBreakpointDataDisabled:s("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:s("debug-breakpoint-log-unverified",60074),debugBreakpointLog:s("debug-breakpoint-log",60075),debugBreakpointLogDisabled:s("debug-breakpoint-log-disabled",60075),briefcase:s("briefcase",60076),broadcast:s("broadcast",60077),browser:s("browser",60078),bug:s("bug",60079),calendar:s("calendar",60080),caseSensitive:s("case-sensitive",60081),check:s("check",60082),checklist:s("checklist",60083),chevronDown:s("chevron-down",60084),chevronLeft:s("chevron-left",60085),chevronRight:s("chevron-right",60086),chevronUp:s("chevron-up",60087),chromeClose:s("chrome-close",60088),chromeMaximize:s("chrome-maximize",60089),chromeMinimize:s("chrome-minimize",60090),chromeRestore:s("chrome-restore",60091),circleOutline:s("circle-outline",60092),circle:s("circle",60092),debugBreakpointUnverified:s("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:s("terminal-decoration-incomplete",60092),circleSlash:s("circle-slash",60093),circuitBoard:s("circuit-board",60094),clearAll:s("clear-all",60095),clippy:s("clippy",60096),closeAll:s("close-all",60097),cloudDownload:s("cloud-download",60098),cloudUpload:s("cloud-upload",60099),code:s("code",60100),collapseAll:s("collapse-all",60101),colorMode:s("color-mode",60102),commentDiscussion:s("comment-discussion",60103),creditCard:s("credit-card",60105),dash:s("dash",60108),dashboard:s("dashboard",60109),database:s("database",60110),debugContinue:s("debug-continue",60111),debugDisconnect:s("debug-disconnect",60112),debugPause:s("debug-pause",60113),debugRestart:s("debug-restart",60114),debugStart:s("debug-start",60115),debugStepInto:s("debug-step-into",60116),debugStepOut:s("debug-step-out",60117),debugStepOver:s("debug-step-over",60118),debugStop:s("debug-stop",60119),debug:s("debug",60120),deviceCameraVideo:s("device-camera-video",60121),deviceCamera:s("device-camera",60122),deviceMobile:s("device-mobile",60123),diffAdded:s("diff-added",60124),diffIgnored:s("diff-ignored",60125),diffModified:s("diff-modified",60126),diffRemoved:s("diff-removed",60127),diffRenamed:s("diff-renamed",60128),diff:s("diff",60129),diffSidebyside:s("diff-sidebyside",60129),discard:s("discard",60130),editorLayout:s("editor-layout",60131),emptyWindow:s("empty-window",60132),exclude:s("exclude",60133),extensions:s("extensions",60134),eyeClosed:s("eye-closed",60135),fileBinary:s("file-binary",60136),fileCode:s("file-code",60137),fileMedia:s("file-media",60138),filePdf:s("file-pdf",60139),fileSubmodule:s("file-submodule",60140),fileSymlinkDirectory:s("file-symlink-directory",60141),fileSymlinkFile:s("file-symlink-file",60142),fileZip:s("file-zip",60143),files:s("files",60144),filter:s("filter",60145),flame:s("flame",60146),foldDown:s("fold-down",60147),foldUp:s("fold-up",60148),fold:s("fold",60149),folderActive:s("folder-active",60150),folderOpened:s("folder-opened",60151),gear:s("gear",60152),gift:s("gift",60153),gistSecret:s("gist-secret",60154),gist:s("gist",60155),gitCommit:s("git-commit",60156),gitCompare:s("git-compare",60157),compareChanges:s("compare-changes",60157),gitMerge:s("git-merge",60158),githubAction:s("github-action",60159),githubAlt:s("github-alt",60160),globe:s("globe",60161),grabber:s("grabber",60162),graph:s("graph",60163),gripper:s("gripper",60164),heart:s("heart",60165),home:s("home",60166),horizontalRule:s("horizontal-rule",60167),hubot:s("hubot",60168),inbox:s("inbox",60169),issueReopened:s("issue-reopened",60171),issues:s("issues",60172),italic:s("italic",60173),jersey:s("jersey",60174),json:s("json",60175),kebabVertical:s("kebab-vertical",60176),key:s("key",60177),law:s("law",60178),lightbulbAutofix:s("lightbulb-autofix",60179),linkExternal:s("link-external",60180),link:s("link",60181),listOrdered:s("list-ordered",60182),listUnordered:s("list-unordered",60183),liveShare:s("live-share",60184),loading:s("loading",60185),location:s("location",60186),mailRead:s("mail-read",60187),mail:s("mail",60188),markdown:s("markdown",60189),megaphone:s("megaphone",60190),mention:s("mention",60191),milestone:s("milestone",60192),gitPullRequestMilestone:s("git-pull-request-milestone",60192),mortarBoard:s("mortar-board",60193),move:s("move",60194),multipleWindows:s("multiple-windows",60195),mute:s("mute",60196),noNewline:s("no-newline",60197),note:s("note",60198),octoface:s("octoface",60199),openPreview:s("open-preview",60200),package:s("package",60201),paintcan:s("paintcan",60202),pin:s("pin",60203),play:s("play",60204),run:s("run",60204),plug:s("plug",60205),preserveCase:s("preserve-case",60206),preview:s("preview",60207),project:s("project",60208),pulse:s("pulse",60209),question:s("question",60210),quote:s("quote",60211),radioTower:s("radio-tower",60212),reactions:s("reactions",60213),references:s("references",60214),refresh:s("refresh",60215),regex:s("regex",60216),remoteExplorer:s("remote-explorer",60217),remote:s("remote",60218),remove:s("remove",60219),replaceAll:s("replace-all",60220),replace:s("replace",60221),repoClone:s("repo-clone",60222),repoForcePush:s("repo-force-push",60223),repoPull:s("repo-pull",60224),repoPush:s("repo-push",60225),report:s("report",60226),requestChanges:s("request-changes",60227),rocket:s("rocket",60228),rootFolderOpened:s("root-folder-opened",60229),rootFolder:s("root-folder",60230),rss:s("rss",60231),ruby:s("ruby",60232),saveAll:s("save-all",60233),saveAs:s("save-as",60234),save:s("save",60235),screenFull:s("screen-full",60236),screenNormal:s("screen-normal",60237),searchStop:s("search-stop",60238),server:s("server",60240),settingsGear:s("settings-gear",60241),settings:s("settings",60242),shield:s("shield",60243),smiley:s("smiley",60244),sortPrecedence:s("sort-precedence",60245),splitHorizontal:s("split-horizontal",60246),splitVertical:s("split-vertical",60247),squirrel:s("squirrel",60248),starFull:s("star-full",60249),starHalf:s("star-half",60250),symbolClass:s("symbol-class",60251),symbolColor:s("symbol-color",60252),symbolConstant:s("symbol-constant",60253),symbolEnumMember:s("symbol-enum-member",60254),symbolField:s("symbol-field",60255),symbolFile:s("symbol-file",60256),symbolInterface:s("symbol-interface",60257),symbolKeyword:s("symbol-keyword",60258),symbolMisc:s("symbol-misc",60259),symbolOperator:s("symbol-operator",60260),symbolProperty:s("symbol-property",60261),wrench:s("wrench",60261),wrenchSubaction:s("wrench-subaction",60261),symbolSnippet:s("symbol-snippet",60262),tasklist:s("tasklist",60263),telescope:s("telescope",60264),textSize:s("text-size",60265),threeBars:s("three-bars",60266),thumbsdown:s("thumbsdown",60267),thumbsup:s("thumbsup",60268),tools:s("tools",60269),triangleDown:s("triangle-down",60270),triangleLeft:s("triangle-left",60271),triangleRight:s("triangle-right",60272),triangleUp:s("triangle-up",60273),twitter:s("twitter",60274),unfold:s("unfold",60275),unlock:s("unlock",60276),unmute:s("unmute",60277),unverified:s("unverified",60278),verified:s("verified",60279),versions:s("versions",60280),vmActive:s("vm-active",60281),vmOutline:s("vm-outline",60282),vmRunning:s("vm-running",60283),watch:s("watch",60284),whitespace:s("whitespace",60285),wholeWord:s("whole-word",60286),window:s("window",60287),wordWrap:s("word-wrap",60288),zoomIn:s("zoom-in",60289),zoomOut:s("zoom-out",60290),listFilter:s("list-filter",60291),listFlat:s("list-flat",60292),listSelection:s("list-selection",60293),selection:s("selection",60293),listTree:s("list-tree",60294),debugBreakpointFunctionUnverified:s("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:s("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:s("debug-breakpoint-function-disabled",60296),debugStackframeActive:s("debug-stackframe-active",60297),circleSmallFilled:s("circle-small-filled",60298),debugStackframeDot:s("debug-stackframe-dot",60298),terminalDecorationMark:s("terminal-decoration-mark",60298),debugStackframe:s("debug-stackframe",60299),debugStackframeFocused:s("debug-stackframe-focused",60299),debugBreakpointUnsupported:s("debug-breakpoint-unsupported",60300),symbolString:s("symbol-string",60301),debugReverseContinue:s("debug-reverse-continue",60302),debugStepBack:s("debug-step-back",60303),debugRestartFrame:s("debug-restart-frame",60304),debugAlt:s("debug-alt",60305),callIncoming:s("call-incoming",60306),callOutgoing:s("call-outgoing",60307),menu:s("menu",60308),expandAll:s("expand-all",60309),feedback:s("feedback",60310),gitPullRequestReviewer:s("git-pull-request-reviewer",60310),groupByRefType:s("group-by-ref-type",60311),ungroupByRefType:s("ungroup-by-ref-type",60312),account:s("account",60313),gitPullRequestAssignee:s("git-pull-request-assignee",60313),bellDot:s("bell-dot",60314),debugConsole:s("debug-console",60315),library:s("library",60316),output:s("output",60317),runAll:s("run-all",60318),syncIgnored:s("sync-ignored",60319),pinned:s("pinned",60320),githubInverted:s("github-inverted",60321),serverProcess:s("server-process",60322),serverEnvironment:s("server-environment",60323),pass:s("pass",60324),issueClosed:s("issue-closed",60324),stopCircle:s("stop-circle",60325),playCircle:s("play-circle",60326),record:s("record",60327),debugAltSmall:s("debug-alt-small",60328),vmConnect:s("vm-connect",60329),cloud:s("cloud",60330),merge:s("merge",60331),export:s("export",60332),graphLeft:s("graph-left",60333),magnet:s("magnet",60334),notebook:s("notebook",60335),redo:s("redo",60336),checkAll:s("check-all",60337),pinnedDirty:s("pinned-dirty",60338),passFilled:s("pass-filled",60339),circleLargeFilled:s("circle-large-filled",60340),circleLarge:s("circle-large",60341),circleLargeOutline:s("circle-large-outline",60341),combine:s("combine",60342),gather:s("gather",60342),table:s("table",60343),variableGroup:s("variable-group",60344),typeHierarchy:s("type-hierarchy",60345),typeHierarchySub:s("type-hierarchy-sub",60346),typeHierarchySuper:s("type-hierarchy-super",60347),gitPullRequestCreate:s("git-pull-request-create",60348),runAbove:s("run-above",60349),runBelow:s("run-below",60350),notebookTemplate:s("notebook-template",60351),debugRerun:s("debug-rerun",60352),workspaceTrusted:s("workspace-trusted",60353),workspaceUntrusted:s("workspace-untrusted",60354),workspaceUnknown:s("workspace-unknown",60355),terminalCmd:s("terminal-cmd",60356),terminalDebian:s("terminal-debian",60357),terminalLinux:s("terminal-linux",60358),terminalPowershell:s("terminal-powershell",60359),terminalTmux:s("terminal-tmux",60360),terminalUbuntu:s("terminal-ubuntu",60361),terminalBash:s("terminal-bash",60362),arrowSwap:s("arrow-swap",60363),copy:s("copy",60364),personAdd:s("person-add",60365),filterFilled:s("filter-filled",60366),wand:s("wand",60367),debugLineByLine:s("debug-line-by-line",60368),inspect:s("inspect",60369),layers:s("layers",60370),layersDot:s("layers-dot",60371),layersActive:s("layers-active",60372),compass:s("compass",60373),compassDot:s("compass-dot",60374),compassActive:s("compass-active",60375),azure:s("azure",60376),issueDraft:s("issue-draft",60377),gitPullRequestClosed:s("git-pull-request-closed",60378),gitPullRequestDraft:s("git-pull-request-draft",60379),debugAll:s("debug-all",60380),debugCoverage:s("debug-coverage",60381),runErrors:s("run-errors",60382),folderLibrary:s("folder-library",60383),debugContinueSmall:s("debug-continue-small",60384),beakerStop:s("beaker-stop",60385),graphLine:s("graph-line",60386),graphScatter:s("graph-scatter",60387),pieChart:s("pie-chart",60388),bracket:s("bracket",60175),bracketDot:s("bracket-dot",60389),bracketError:s("bracket-error",60390),lockSmall:s("lock-small",60391),azureDevops:s("azure-devops",60392),verifiedFilled:s("verified-filled",60393),newline:s("newline",60394),layout:s("layout",60395),layoutActivitybarLeft:s("layout-activitybar-left",60396),layoutActivitybarRight:s("layout-activitybar-right",60397),layoutPanelLeft:s("layout-panel-left",60398),layoutPanelCenter:s("layout-panel-center",60399),layoutPanelJustify:s("layout-panel-justify",60400),layoutPanelRight:s("layout-panel-right",60401),layoutPanel:s("layout-panel",60402),layoutSidebarLeft:s("layout-sidebar-left",60403),layoutSidebarRight:s("layout-sidebar-right",60404),layoutStatusbar:s("layout-statusbar",60405),layoutMenubar:s("layout-menubar",60406),layoutCentered:s("layout-centered",60407),target:s("target",60408),indent:s("indent",60409),recordSmall:s("record-small",60410),errorSmall:s("error-small",60411),terminalDecorationError:s("terminal-decoration-error",60411),arrowCircleDown:s("arrow-circle-down",60412),arrowCircleLeft:s("arrow-circle-left",60413),arrowCircleRight:s("arrow-circle-right",60414),arrowCircleUp:s("arrow-circle-up",60415),layoutSidebarRightOff:s("layout-sidebar-right-off",60416),layoutPanelOff:s("layout-panel-off",60417),layoutSidebarLeftOff:s("layout-sidebar-left-off",60418),blank:s("blank",60419),heartFilled:s("heart-filled",60420),map:s("map",60421),mapHorizontal:s("map-horizontal",60421),foldHorizontal:s("fold-horizontal",60421),mapFilled:s("map-filled",60422),mapHorizontalFilled:s("map-horizontal-filled",60422),foldHorizontalFilled:s("fold-horizontal-filled",60422),circleSmall:s("circle-small",60423),bellSlash:s("bell-slash",60424),bellSlashDot:s("bell-slash-dot",60425),commentUnresolved:s("comment-unresolved",60426),gitPullRequestGoToChanges:s("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:s("git-pull-request-new-changes",60428),searchFuzzy:s("search-fuzzy",60429),commentDraft:s("comment-draft",60430),send:s("send",60431),sparkle:s("sparkle",60432),insert:s("insert",60433),mic:s("mic",60434),thumbsdownFilled:s("thumbsdown-filled",60435),thumbsupFilled:s("thumbsup-filled",60436),coffee:s("coffee",60437),snake:s("snake",60438),game:s("game",60439),vr:s("vr",60440),chip:s("chip",60441),piano:s("piano",60442),music:s("music",60443),micFilled:s("mic-filled",60444),repoFetch:s("repo-fetch",60445),copilot:s("copilot",60446),lightbulbSparkle:s("lightbulb-sparkle",60447),robot:s("robot",60448),sparkleFilled:s("sparkle-filled",60449),diffSingle:s("diff-single",60450),diffMultiple:s("diff-multiple",60451),surroundWith:s("surround-with",60452),share:s("share",60453),gitStash:s("git-stash",60454),gitStashApply:s("git-stash-apply",60455),gitStashPop:s("git-stash-pop",60456),vscode:s("vscode",60457),vscodeInsiders:s("vscode-insiders",60458),codeOss:s("code-oss",60459),runCoverage:s("run-coverage",60460),runAllCoverage:s("run-all-coverage",60461),coverage:s("coverage",60462),githubProject:s("github-project",60463),mapVertical:s("map-vertical",60464),foldVertical:s("fold-vertical",60464),mapVerticalFilled:s("map-vertical-filled",60465),foldVerticalFilled:s("fold-vertical-filled",60465),goToSearch:s("go-to-search",60466),percentage:s("percentage",60467),sortPercentage:s("sort-percentage",60467),attach:s("attach",60468)},...{dialogError:s("dialog-error","error"),dialogWarning:s("dialog-warning","warning"),dialogInfo:s("dialog-info","info"),dialogClose:s("dialog-close","close"),treeItemExpanded:s("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:s("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:s("tree-filter-on-type-off","list-selection"),treeFilterClear:s("tree-filter-clear","close"),treeItemLoading:s("tree-item-loading","loading"),menuSelection:s("menu-selection","check"),menuSubmenu:s("menu-submenu","chevron-right"),menuBarMore:s("menubar-more","more"),scrollbarButtonLeft:s("scrollbar-button-left","triangle-left"),scrollbarButtonRight:s("scrollbar-button-right","triangle-right"),scrollbarButtonUp:s("scrollbar-button-up","triangle-up"),scrollbarButtonDown:s("scrollbar-button-down","triangle-down"),toolBarMore:s("toolbar-more","more"),quickInputBack:s("quick-input-back","arrow-left"),dropDownButton:s("drop-down-button",60084),symbolCustomColor:s("symbol-customcolor",60252),exportIcon:s("export",60332),workspaceUnspecified:s("workspace-unspecified",60355),newLine:s("newline",60394),thumbsDownFilled:s("thumbsdown-filled",60435),thumbsUpFilled:s("thumbsup-filled",60436),gitFetch:s("git-fetch",60445),lightbulbSparkleAutofix:s("lightbulb-sparkle-autofix",60447),debugBreakpointPending:s("debug-breakpoint-pending",60377)}}},4901:(e,t,n)=>{"use strict";function i(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}n.d(t,{Q1:()=>a,bU:()=>r,hB:()=>s});class r{constructor(e,t,n,r=1){this._rgbaBrand=void 0,this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,n)),this.a=i(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}}class s{constructor(e,t,n,r){this._hslaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.l=i(Math.max(Math.min(1,n),0),3),this.a=i(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(e){const t=e.r/255,n=e.g/255,i=e.b/255,r=e.a,o=Math.max(t,n,i),a=Math.min(t,n,i);let l=0,h=0;const c=(a+o)/2,u=o-a;if(u>0){switch(h=Math.min(c<=.5?u/(2*c):u/(2-2*c),1),o){case t:l=(n-i)/u+(n<i?6:0);break;case n:l=(i-t)/u+2;break;case i:l=(t-n)/u+4}l*=60,l=Math.round(l)}return new s(l,h,c,r)}static _hue2rgb(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(e){const t=e.h/360,{s:n,l:i,a:o}=e;let a,l,h;if(0===n)a=l=h=i;else{const e=i<.5?i*(1+n):i+n-i*n,r=2*i-e;a=s._hue2rgb(r,e,t+1/3),l=s._hue2rgb(r,e,t),h=s._hue2rgb(r,e,t-1/3)}return new r(Math.round(255*a),Math.round(255*l),Math.round(255*h),o)}}class o{constructor(e,t,n,r){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.v=i(Math.max(Math.min(1,n),0),3),this.a=i(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(e){const t=e.r/255,n=e.g/255,i=e.b/255,r=Math.max(t,n,i),s=r-Math.min(t,n,i),a=0===r?0:s/r;let l;return l=0===s?0:r===t?((n-i)/s%6+6)%6:r===n?(i-t)/s+2:(t-n)/s+4,new o(Math.round(60*l),a,r,e.a)}static toRGBA(e){const{h:t,s:n,v:i,a:s}=e,o=i*n,a=o*(1-Math.abs(t/60%2-1)),l=i-o;let[h,c,u]=[0,0,0];return t<60?(h=o,c=a):t<120?(h=a,c=o):t<180?(c=o,u=a):t<240?(c=a,u=o):t<300?(h=a,u=o):t<=360&&(h=o,u=a),h=Math.round(255*(h+l)),c=Math.round(255*(c+l)),u=Math.round(255*(u+l)),new r(h,c,u,s)}}class a{static fromHex(e){return a.Format.CSS.parseHex(e)||a.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:s.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:o.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof r)this.rgba=e;else if(e instanceof s)this._hsla=e,this.rgba=s.toRGBA(e);else{if(!(e instanceof o))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=o.toRGBA(e)}}equals(e){return!!e&&r.equals(this.rgba,e.rgba)&&s.equals(this.hsla,e.hsla)&&o.equals(this.hsva,e.hsva)}getRelativeLuminance(){return i(.2126*a._relativeLuminanceForComponent(this.rgba.r)+.7152*a._relativeLuminanceForComponent(this.rgba.g)+.0722*a._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()<e.getRelativeLuminance()}lighten(e){return new a(new s(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new a(new s(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:t,g:n,b:i,a:s}=this.rgba;return new a(new r(t,n,i,s*e))}isTransparent(){return 0===this.rgba.a}isOpaque(){return 1===this.rgba.a}opposite(){return new a(new r(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}makeOpaque(e){if(this.isOpaque()||1!==e.rgba.a)return this;const{r:t,g:n,b:i,a:s}=this.rgba;return new a(new r(e.rgba.r-s*(e.rgba.r-t),e.rgba.g-s*(e.rgba.g-n),e.rgba.b-s*(e.rgba.b-i),1))}toString(){return this._toString||(this._toString=a.Format.CSS.format(this)),this._toString}static getLighterColor(e,t,n){if(e.isLighterThan(t))return e;n=n||.5;const i=e.getRelativeLuminance(),r=t.getRelativeLuminance();return n=n*(r-i)/r,e.lighten(n)}static getDarkerColor(e,t,n){if(e.isDarkerThan(t))return e;n=n||.5;const i=e.getRelativeLuminance();return n=n*(i-t.getRelativeLuminance())/i,e.darken(n)}static{this.white=new a(new r(255,255,255,1))}static{this.black=new a(new r(0,0,0,1))}static{this.red=new a(new r(255,0,0,1))}static{this.blue=new a(new r(0,0,255,1))}static{this.green=new a(new r(0,255,0,1))}static{this.cyan=new a(new r(0,255,255,1))}static{this.lightgrey=new a(new r(211,211,211,1))}static{this.transparent=new a(new r(0,0,0,0))}}!function(e){let t;!function(t){let n;!function(t){function n(e){const t=e.toString(16);return 2!==t.length?"0"+t:t}function i(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:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}return 0}t.formatRGB=function(t){return 1===t.rgba.a?`rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})`:e.Format.CSS.formatRGBA(t)},t.formatRGBA=function(e){return`rgba(${e.rgba.r}, ${e.rgba.g}, ${e.rgba.b}, ${+e.rgba.a.toFixed(2)})`},t.formatHSL=function(t){return 1===t.hsla.a?`hsl(${t.hsla.h}, ${(100*t.hsla.s).toFixed(2)}%, ${(100*t.hsla.l).toFixed(2)}%)`:e.Format.CSS.formatHSLA(t)},t.formatHSLA=function(e){return`hsla(${e.hsla.h}, ${(100*e.hsla.s).toFixed(2)}%, ${(100*e.hsla.l).toFixed(2)}%, ${e.hsla.a.toFixed(2)})`},t.formatHex=function(e){return`#${n(e.rgba.r)}${n(e.rgba.g)}${n(e.rgba.b)}`},t.formatHexA=function(t,i=!1){return i&&1===t.rgba.a?e.Format.CSS.formatHex(t):`#${n(t.rgba.r)}${n(t.rgba.g)}${n(t.rgba.b)}${n(Math.round(255*t.rgba.a))}`},t.format=function(t){return t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t)},t.parseHex=function(t){const n=t.length;if(0===n)return null;if(35!==t.charCodeAt(0))return null;if(7===n){const n=16*i(t.charCodeAt(1))+i(t.charCodeAt(2)),s=16*i(t.charCodeAt(3))+i(t.charCodeAt(4)),o=16*i(t.charCodeAt(5))+i(t.charCodeAt(6));return new e(new r(n,s,o,1))}if(9===n){const n=16*i(t.charCodeAt(1))+i(t.charCodeAt(2)),s=16*i(t.charCodeAt(3))+i(t.charCodeAt(4)),o=16*i(t.charCodeAt(5))+i(t.charCodeAt(6)),a=16*i(t.charCodeAt(7))+i(t.charCodeAt(8));return new e(new r(n,s,o,a/255))}if(4===n){const n=i(t.charCodeAt(1)),s=i(t.charCodeAt(2)),o=i(t.charCodeAt(3));return new e(new r(16*n+n,16*s+s,16*o+o))}if(5===n){const n=i(t.charCodeAt(1)),s=i(t.charCodeAt(2)),o=i(t.charCodeAt(3)),a=i(t.charCodeAt(4));return new e(new r(16*n+n,16*s+s,16*o+o,(16*a+a)/255))}return null}}(n=t.CSS||(t.CSS={}))}(t=e.Format||(e.Format={}))}(a||(a={}))},4327:(e,t,n)=>{"use strict";n.d(t,{D7:()=>g,EM:()=>u,Qg:()=>h,cU:()=>s,dz:()=>r,iH:()=>c});const i=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(d.isErrorNoTelemetry(e))throw new d(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function r(e){a(e)||i.onUnexpectedError(e)}function s(e){if(e instanceof Error){const{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:d.isErrorNoTelemetry(e)}}return e}const o="Canceled";function a(e){return e instanceof l||e instanceof Error&&e.name===o&&e.message===o}class l extends Error{constructor(){super(o),this.name=this.message}}function h(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function c(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class u extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class d extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof d)return e;const t=new d;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class g extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,g.prototype)}}},2106:(e,t,n)=>{"use strict";n.d(t,{Jh:()=>o,vl:()=>f});var i=n(4327),r=n(2446),s=(n(5525),n(3013));var o;!function(e){function t(e){false}function n(e){return(t,n=null,i)=>{let r,s=!1;return r=e((e=>{if(!s)return r?r.dispose():s=!0,t.call(n,e)}),null,i),s&&r.dispose(),r}}function i(e,t,n){return o(((n,i=null,r)=>e((e=>n.call(i,t(e))),null,r)),n)}function s(e,t,n){return o(((n,i=null,r)=>e((e=>t(e)&&n.call(i,e)),null,r)),n)}function o(e,n){let i;const r={onWillAddFirstListener(){i=e(s.fire,s)},onDidRemoveLastListener(){i?.dispose()}};n||t();const s=new f(r);return n?.add(s),s.event}function a(e,n,i=100,r=!1,s=!1,o,a){let l,h,c,u,d=0;const g={leakWarningThreshold:o,onWillAddFirstListener(){l=e((e=>{d++,h=n(h,e),r&&!c&&(m.fire(h),h=void 0),u=()=>{const e=h;h=void 0,c=void 0,(!r||d>1)&&m.fire(e),d=0},"number"==typeof i?(clearTimeout(c),c=setTimeout(u,i)):void 0===c&&(c=0,queueMicrotask(u))}))},onWillRemoveListener(){s&&d>0&&u?.()},onDidRemoveLastListener(){u=void 0,l.dispose()}};a||t();const m=new f(g);return a?.add(m),m.event}e.None=()=>r.jG.None,e.defer=function(e,t){return a(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=n,e.onceIf=function(t,n){return e.once(e.filter(t,n))},e.map=i,e.forEach=function(e,t,n){return o(((n,i=null,r)=>e((e=>{t(e),n.call(i,e)}),null,r)),n)},e.filter=s,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,i)=>function(e,t){t instanceof Array?t.push(e):t&&t.add(e);return e}((0,r.qE)(...e.map((e=>e((e=>t.call(n,e)))))),i)},e.reduce=function(e,t,n,r){let s=n;return i(e,(e=>(s=t(s,e),s)),r)},e.debounce=a,e.accumulate=function(t,n=0,i){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),n,void 0,!0,void 0,i)},e.latch=function(e,t=(e,t)=>e===t,n){let i,r=!0;return s(e,(e=>{const n=r||!t(e,i);return r=!1,i=e,n}),n)},e.split=function(t,n,i){return[e.filter(t,n,i),e.filter(t,(e=>!n(e)),i)]},e.buffer=function(e,t=!1,n=[],i){let r=n.slice(),s=e((e=>{r?r.push(e):a.fire(e)}));i&&i.add(s);const o=()=>{r?.forEach((e=>a.fire(e))),r=null},a=new f({onWillAddFirstListener(){s||(s=e((e=>a.fire(e))),i&&i.add(s))},onDidAddFirstListener(){r&&(t?setTimeout(o):o())},onDidRemoveLastListener(){s&&s.dispose(),s=null}});return i&&i.add(a),a.event},e.chain=function(e,t){return(n,i,r)=>{const s=t(new h);return e((function(e){const t=s.evaluate(e);t!==l&&n.call(i,t)}),void 0,r)}};const l=Symbol("HaltChainable");class h{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:l)),this}reduce(e,t){let n=t;return this.steps.push((t=>(n=e(n,t),n))),this}latch(e=(e,t)=>e===t){let t,n=!0;return this.steps.push((i=>{const r=n||!e(i,t);return n=!1,t=i,r?i:l})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===l)break;return e}}e.fromNodeEventEmitter=function(e,t,n=e=>e){const i=(...e)=>r.fire(n(...e)),r=new f({onWillAddFirstListener:()=>e.on(t,i),onDidRemoveLastListener:()=>e.removeListener(t,i)});return r.event},e.fromDOMEventEmitter=function(e,t,n=e=>e){const i=(...e)=>r.fire(n(...e)),r=new f({onWillAddFirstListener:()=>e.addEventListener(t,i),onDidRemoveLastListener:()=>e.removeEventListener(t,i)});return r.event},e.toPromise=function(e){return new Promise((t=>n(e)(t)))},e.fromPromise=function(e){const t=new f;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.forward=function(e,t){return e((e=>t.fire(e)))},e.runAndSubscribe=function(e,t,n){return t(n),e((e=>t(e)))};class c{constructor(e,n){this._observable=e,this._counter=0,this._hasChanged=!1;const i={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};n||t(),this.emitter=new f(i),n&&n.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new c(e,t).emitter.event},e.fromObservableLight=function(e){return(t,n,i)=>{let s=0,o=!1;const a={beginUpdate(){s++},endUpdate(){s--,0===s&&(e.reportChanges(),o&&(o=!1,t.call(n)))},handlePossibleChange(){},handleChange(){o=!0}};e.addObserver(a),e.reportChanges();const l={dispose(){e.removeObserver(a)}};return i instanceof r.Cm?i.add(l):Array.isArray(i)&&i.push(l),l}}}(o||(o={}));class a{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${a._idPool++}`,a.all.add(this)}start(e){this._stopWatch=new s.W,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}class l{static{this._idPool=1}constructor(e,t,n=(l._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=n,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const n=this.threshold;if(n<=0||t<n)return;this._stacks||(this._stacks=new Map);const i=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,i+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=.5*n;const[e,i]=this.getMostFrequentStack(),r=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${i}):`;console.warn(r),console.warn(e);const s=new c(r,e);this._errorHandler(s)}return()=>{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[n,i]of this._stacks)(!e||t<i)&&(e=[n,i],t=i);return e}}class h{static create(){const e=new Error;return new h(e.stack??"")}constructor(e){this.value=e}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class c extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}}class u extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}}class d{constructor(e){this.value=e}}let g;class f{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new l(e?.onListenerError??i.dz,this._options?.leakWarningThreshold??-1):void 0,this._perfMon=this._options?._profName?new a(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],n=new u(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||i.dz)(n),r.jG.None}if(this._disposed)return r.jG.None;t&&(e=e.bind(t));const s=new d(e);let o;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(s.stack=h.create(),o=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof d?(this._deliveryQueue??=new m,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=(0,r.s)((()=>{g?.unregister(a),o?.(),this._removeListener(s)}));if(n instanceof r.Cm?n.add(a):Array.isArray(n)&&n.push(a),g){const e=(new Error).stack.split("\n").slice(2,3).join("\n").trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);g.register(a,t?.[2]??e,a)}return a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,n=t.indexOf(e);if(-1===n)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[n]=void 0;const i=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:i&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;const n=this._options?.onListenerError||i.dz;if(n)try{e.value(t)}catch(r){n(r)}else e.value(t)}_deliverQueue(e){const t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof d)this._deliver(this._listeners,e);else{const t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}else;this._perfMon?.stop()}hasListeners(){return this._size>0}}class m{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}},8518:(e,t,n)=>{"use strict";n.d(t,{TH:()=>o,Zn:()=>l,_1:()=>h,kb:()=>a});var i=n(1570),r=(n(3339),n(6844));function s(e){return 47===e||92===e}function o(e){return e.replace(/[\\/]/g,i.SA.sep)}function a(e){return-1===e.indexOf("/")&&(e=o(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e="/"+e),e}function l(e,t=i.SA.sep){if(!e)return"";const n=e.length,r=e.charCodeAt(0);if(s(r)){if(s(e.charCodeAt(1))&&!s(e.charCodeAt(2))){let i=3;const r=i;for(;i<n&&!s(e.charCodeAt(i));i++);if(r!==i&&!s(e.charCodeAt(i+1)))for(i+=1;i<n;i++)if(s(e.charCodeAt(i)))return e.slice(0,i+1).replace(/[\\/]/g,t)}return t}if(c(r)&&58===e.charCodeAt(1))return s(e.charCodeAt(2))?e.slice(0,2)+t:e.slice(0,2);let o=e.indexOf("://");if(-1!==o)for(o+=3;o<n;o++)if(s(e.charCodeAt(o)))return e.slice(0,o+1);return""}function h(e,t,n,s=i.Vn){if(e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(n){if(!(0,r.ns)(e,t))return!1;if(t.length===e.length)return!0;let n=t.length;return t.charAt(t.length-1)===s&&n--,e.charAt(n)===s}return t.charAt(t.length-1)!==s&&(t+=s),0===e.indexOf(t)}function c(e){return e>=65&&e<=90||e>=97&&e<=122}},3958:(e,t,n)=>{"use strict";n.d(t,{YW:()=>T,qg:()=>A});var i=n(2866),r=n(8518),s=n(7992),o=n(1570),a=n(3339),l=n(6844);const h="**",c="/",u="[/\\\\]",d="[^/\\\\]",g=/\//g;function f(e,t){switch(e){case 0:return"";case 1:return`${d}*?`;default:return`(?:${u}|${d}+${u}${t?`|${u}${d}+`:""})*?`}}function m(e,t){if(!e)return[];const n=[];let i=!1,r=!1,s="";for(const o of e){switch(o){case t:if(!i&&!r){n.push(s),s="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":r=!0;break;case"]":r=!1}s+=o}return s&&n.push(s),n}function p(e){if(!e)return"";let t="";const n=m(e,c);if(n.every((e=>e===h)))t=".*";else{let e=!1;n.forEach(((i,r)=>{if(i===h){if(e)return;t+=f(2,r===n.length-1)}else{let e=!1,s="",o=!1,a="";for(const n of i)if("}"!==n&&e)s+=n;else if(!o||"]"===n&&a)switch(n){case"{":e=!0;continue;case"[":o=!0;continue;case"}":{const n=`(?:${m(s,",").map((e=>p(e))).join("|")})`;t+=n,e=!1,s="";break}case"]":t+="["+a+"]",o=!1,a="";break;case"?":t+=d;continue;case"*":t+=f(1);continue;default:t+=(0,l.bm)(n)}else{let e;e="-"===n?n:"^"!==n&&"!"!==n||a?n===c?"":(0,l.bm)(n):"^",a+=e}r<n.length-1&&(n[r+1]!==h||r+2<n.length)&&(t+=u)}e=i===h}))}return t}const _=/^\*\*\/\*\.[\w\.-]+$/,b=/^\*\*\/([\w\.-]+)\/?$/,k=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,v=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,C=/^\*\*((\/[\w\.-]+)+)\/?$/,L=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,w=new s.qK(1e4),y=function(){return!1},S=function(){return null};function x(e,t){if(!e)return S;let n;n="string"!=typeof e?e.pattern:e,n=n.trim();const i=`${n}_${!!t.trimForExclusions}`;let r,s=w.get(i);return s||(s=_.test(n)?function(e,t){return function(n,i){return"string"==typeof n&&n.endsWith(e)?t:null}}(n.substr(4),n):(r=b.exec(N(n,t)))?function(e,t){const n=`/${e}`,i=`\\${e}`,r=function(r,s){return"string"!=typeof r?null:s?s===e?t:null:r===e||r.endsWith(n)||r.endsWith(i)?t:null},s=[e];return r.basenames=s,r.patterns=[t],r.allBasenames=s,r}(r[1],n):(t.trimForExclusions?v:k).test(n)?function(e,t){const n=D(e.slice(1,-1).split(",").map((e=>x(e,t))).filter((e=>e!==S)),e),i=n.length;if(!i)return S;if(1===i)return n[0];const r=function(t,i){for(let r=0,s=n.length;r<s;r++)if(n[r](t,i))return e;return null},s=n.find((e=>!!e.allBasenames));s&&(r.allBasenames=s.allBasenames);const o=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);o.length&&(r.allPaths=o);return r}(n,t):(r=C.exec(N(n,t)))?I(r[1].substr(1),n,!0):(r=L.exec(N(n,t)))?I(r[1],n,!1):function(e){try{const t=new RegExp(`^${p(e)}$`);return function(n){return t.lastIndex=0,"string"==typeof n&&t.test(n)?e:null}}catch(t){return S}}(n),w.set(i,s)),E(s,e)}function E(e,t){if("string"==typeof t)return e;const n=function(n,i){return(0,r._1)(n,t.base,!a.j9)?e((0,l.NB)(n.substr(t.base.length),o.Vn),i):null};return n.allBasenames=e.allBasenames,n.allPaths=e.allPaths,n.basenames=e.basenames,n.patterns=e.patterns,n}function N(e,t){return t.trimForExclusions&&e.endsWith("/**")?e.substr(0,e.length-2):e}function I(e,t,n){const i=o.Vn===o.SA.sep,r=i?e:e.replace(g,o.Vn),s=o.Vn+r,a=o.SA.sep+e;let l;return l=n?function(n,o){return"string"!=typeof n||n!==r&&!n.endsWith(s)&&(i||n!==e&&!n.endsWith(a))?null:t}:function(n,s){return"string"!=typeof n||n!==r&&(i||n!==e)?null:t},l.allPaths=[(n?"*/":"./")+e],l}function T(e,t,n){return!(!e||"string"!=typeof t)&&A(e)(t,void 0,n)}function A(e,t={}){if(!e)return y;if("string"==typeof e||function(e){const t=e;if(!t)return!1;return"string"==typeof t.base&&"string"==typeof t.pattern}(e)){const n=x(e,t);if(n===S)return y;const i=function(e,t){return!!n(e,t)};return n.allBasenames&&(i.allBasenames=n.allBasenames),n.allPaths&&(i.allPaths=n.allPaths),i}return function(e,t){const n=D(Object.getOwnPropertyNames(e).map((n=>function(e,t,n){if(!1===t)return S;const r=x(e,n);if(r===S)return S;if("boolean"==typeof t)return r;if(t){const n=t.when;if("string"==typeof n){const t=(t,s,o,a)=>{if(!a||!r(t,s))return null;const l=a(n.replace("$(basename)",(()=>o)));return(0,i.Qg)(l)?l.then((t=>t?e:null)):l?e:null};return t.requiresSiblings=!0,t}}return r}(n,e[n],t))).filter((e=>e!==S))),r=n.length;if(!r)return S;if(!n.some((e=>!!e.requiresSiblings))){if(1===r)return n[0];const e=function(e,t){let r;for(let s=0,o=n.length;s<o;s++){const o=n[s](e,t);if("string"==typeof o)return o;(0,i.Qg)(o)&&(r||(r=[]),r.push(o))}return r?(async()=>{for(const e of r){const t=await e;if("string"==typeof t)return t}return null})():null},t=n.find((e=>!!e.allBasenames));t&&(e.allBasenames=t.allBasenames);const s=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return s.length&&(e.allPaths=s),e}const s=function(e,t,r){let s,a;for(let l=0,h=n.length;l<h;l++){const h=n[l];h.requiresSiblings&&r&&(t||(t=(0,o.P8)(e)),s||(s=t.substr(0,t.length-(0,o.LC)(e).length)));const c=h(e,t,s,r);if("string"==typeof c)return c;(0,i.Qg)(c)&&(a||(a=[]),a.push(c))}return a?(async()=>{for(const e of a){const t=await e;if("string"==typeof t)return t}return null})():null},a=n.find((e=>!!e.allBasenames));a&&(s.allBasenames=a.allBasenames);const l=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);l.length&&(s.allPaths=l);return s}(e,t)}function D(e,t){const n=e.filter((e=>!!e.basenames));if(n.length<2)return e;const i=n.reduce(((e,t)=>{const n=t.basenames;return n?e.concat(n):e}),[]);let r;if(t){r=[];for(let e=0,n=i.length;e<n;e++)r.push(t)}else r=n.reduce(((e,t)=>{const n=t.patterns;return n?e.concat(n):e}),[]);const s=function(e,t){if("string"!=typeof e)return null;if(!t){let n;for(n=e.length;n>0;n--){const t=e.charCodeAt(n-1);if(47===t||92===t)break}t=e.substr(n)}const n=i.indexOf(t);return-1!==n?r[n]:null};s.basenames=i,s.patterns=r,s.allBasenames=i;const o=e.filter((e=>!e.basenames));return o.push(s),o}},2344:(e,t,n)=>{"use strict";n.d(t,{e2:()=>o,sN:()=>r,v7:()=>c});var i=n(6844);function r(e,t){switch(typeof e){case"object":return null===e?s(349,t):Array.isArray(e)?(n=e,i=s(104579,i=t),n.reduce(((e,t)=>r(t,e)),i)):function(e,t){return t=s(181387,t),Object.keys(e).sort().reduce(((t,n)=>(t=o(n,t),r(e[n],t))),t)}(e,t);case"string":return o(e,t);case"boolean":return function(e,t){return s(e?433:863,t)}(e,t);case"number":return s(e,t);case"undefined":return s(937,t);default:return s(617,t)}var n,i}function s(e,t){return(t<<5)-t+e|0}function o(e,t){t=s(149417,t);for(let n=0,i=e.length;n<i;n++)t=s(e.charCodeAt(n),t);return t}function a(e,t,n=32){const i=n-t;return(e<<t|(~((1<<i)-1)&e)>>>i)>>>0}function l(e,t=0,n=e.byteLength,i=0){for(let r=0;r<n;r++)e[t+r]=i}function h(e,t=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,"0"))).join(""):function(e,t,n="0"){for(;e.length<t;)e=n+e;return e}((e>>>0).toString(16),t/4)}class c{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let r,s,o=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(r=a,s=-1,a=0):(r=e.charCodeAt(0),s=0);;){let l=r;if(i.pc(r)){if(!(s+1<t)){a=r;break}{const t=e.charCodeAt(s+1);i.LJ(t)?(s++,l=i.z_(r,t)):l=65533}}else i.LJ(r)&&(l=65533);if(o=this._push(n,o,l),s++,!(s<t))break;r=e.charCodeAt(s)}this._buffLen=o,this._leftoverHighSurrogate=a}_push(e,t,n){return n<128?e[t++]=n:n<2048?(e[t++]=192|(1984&n)>>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),h(this._h0)+h(this._h1)+h(this._h2)+h(this._h3)+h(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,l(this._buff,this._buffLen),this._buffLen>56&&(this._step(),l(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=c._bigBlock32,t=this._buffDV;for(let a=0;a<64;a+=4)e.setUint32(a,t.getUint32(a,!1),!1);for(let c=64;c<320;c+=4)e.setUint32(c,a(e.getUint32(c-12,!1)^e.getUint32(c-32,!1)^e.getUint32(c-56,!1)^e.getUint32(c-64,!1),1),!1);let n,i,r,s=this._h0,o=this._h1,l=this._h2,h=this._h3,u=this._h4;for(let c=0;c<80;c++)c<20?(n=o&l|~o&h,i=1518500249):c<40?(n=o^l^h,i=1859775393):c<60?(n=o&l|o&h|l&h,i=2400959708):(n=o^l^h,i=3395469782),r=a(s,5)+n+u+i+e.getUint32(4*c,!1)&4294967295,u=h,h=l,l=a(o,30),o=s,s=r;this._h0=this._h0+s&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+h&4294967295,this._h4=this._h4+u&4294967295}}},7954:(e,t,n)=>{"use strict";var i;n.d(t,{f:()=>i}),function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const n=Object.freeze([]);function*i(e){yield e}e.empty=function(){return n},e.single=i,e.wrap=function(e){return t(e)?e:i(e)},e.from=function(e){return e||n},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let n=0;for(const i of e)if(t(i,n++))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const i of e)yield t(i,n++)},e.flatMap=function*(e,t){let n=0;for(const i of e)yield*t(i,n++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,n){let i=n;for(const r of e)i=t(i,r);return i},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]},e.consume=function(t,n=Number.POSITIVE_INFINITY){const i=[];if(0===n)return[i,t];const r=t[Symbol.iterator]();for(let s=0;s<n;s++){const t=r.next();if(t.done)return[i,e.empty()];i.push(t.value)}return[i,{[Symbol.iterator]:()=>r}]},e.asyncToArray=async function(e){const t=[];for await(const n of e)t.push(n);return Promise.resolve(t)}}(i||(i={}))},3946:(e,t,n)=>{"use strict";n.d(t,{d:()=>i});class i{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},2446:(e,t,n)=>{"use strict";function i(e,t){const n=this;let i,r=!1;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}n.d(t,{jG:()=>g,$w:()=>m,Cm:()=>d,HE:()=>f,qE:()=>c,AS:()=>h,VD:()=>a,s:()=>u,Ay:()=>o});var r=n(7954);let s=null;function o(e){return s?.trackDisposable(e),e}function a(e){s?.markAsDisposed(e)}function l(e,t){s?.setParent(e,t)}function h(e){if(r.f.is(e)){const n=[];for(const i of e)if(i)try{i.dispose()}catch(t){n.push(t)}if(1===n.length)throw n[0];if(n.length>1)throw new AggregateError(n,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function c(...e){const t=u((()=>h(e)));return function(e,t){if(s)for(const n of e)s.setParent(n,t)}(e,t),t}function u(e){const t=o({dispose:i((()=>{a(t),e()}))});return t}class d{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,o(this)}dispose(){this._isDisposed||(a(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{h(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return l(e,this),this._isDisposed?d.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),l(e,null))}}class g{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new d,o(this),l(this._store,this)}dispose(){a(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}class f{constructor(){this._isDisposed=!1,o(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&l(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,a(this),this._value?.dispose(),this._value=void 0}}class m{constructor(){this._store=new Map,this._isDisposed=!1,o(this)}dispose(){a(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{h(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,n=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},5525:(e,t,n)=>{"use strict";n.d(t,{w:()=>r});class i{static{this.Undefined=new i(void 0)}constructor(e){this.element=e,this.next=i.Undefined,this.prev=i.Undefined}}class r{constructor(){this._first=i.Undefined,this._last=i.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===i.Undefined}clear(){let e=this._first;for(;e!==i.Undefined;){const t=e.next;e.prev=i.Undefined,e.next=i.Undefined,e=t}this._first=i.Undefined,this._last=i.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new i(e);if(this._first===i.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==i.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==i.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==i.Undefined&&e.next!==i.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===i.Undefined&&e.next===i.Undefined?(this._first=i.Undefined,this._last=i.Undefined):e.next===i.Undefined?(this._last=this._last.prev,this._last.next=i.Undefined):e.prev===i.Undefined&&(this._first=this._first.next,this._first.prev=i.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==i.Undefined;)yield e.element,e=e.next}}},7992:(e,t,n)=>{"use strict";var i,r;n.d(t,{cO:()=>c,db:()=>u,fT:()=>o,qK:()=>h});class s{constructor(e,t){this.uri=e,this.value=t}}class o{static{this.defaultToKey=e=>e.toString()}constructor(e,t){if(this[i]="ResourceMap",e instanceof o)this.map=new Map(e.map),this.toKey=t??o.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=t??o.defaultToKey;for(const[t,n]of e)this.set(t,n)}else this.map=new Map,this.toKey=e??o.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new s(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[n,i]of this.map)e(i.value,i.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(i=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}class a{constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){const n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value}set(e,t,n=0){let i=this._map.get(e);if(i)i.value=t,0!==n&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case 0:case 2:default:this.addItemLast(i);break;case 1:this.addItemFirst(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}class l extends a{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class h extends l{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class c{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,n]of e)this.set(t,n)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class u{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){const n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))}forEach(e,t){const n=this.map.get(e);n&&n.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}},3720:(e,t,n)=>{"use strict";n.d(t,{K:()=>i});const i=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})},3072:(e,t,n)=>{"use strict";n.d(t,{ny:()=>i,v$:()=>h,zl:()=>d});var i,r=n(4327),s=n(3339),o=n(6844),a=n(7264),l=n(1570);function h(e,t){return a.r.isUri(e)?(0,o.Q_)(e.scheme,t):(0,o.ns)(e,t+":")}!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",e.vscodeNotebookMetadata="vscode-notebook-metadata",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.commentsInput="comment",e.codeSetting="code-setting",e.outputChannel="output"}(i||(i={}));const c=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return l.SA.join(this._serverRootPath,i.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(c){return r.dz(c),e}const t=e.authority;let n=this._hosts[t];n&&-1!==n.indexOf(":")&&-1===n.indexOf("[")&&(n=`[${n}]`);const o=this._ports[t],l=this._connectionTokens[t];let h=`path=${encodeURIComponent(e.path)}`;return"string"==typeof l&&(h+=`&tkn=${encodeURIComponent(l)}`),a.r.from({scheme:s.HZ?this._preferredWebSchema:i.vscodeRemoteResource,authority:`${n}:${o}`,path:this._remoteResourcesPath,query:h})}};class u{static{this.FALLBACK_AUTHORITY="vscode-app"}asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===i.vscodeRemote?c.rewrite(e):e.scheme!==i.file||!s.ib&&s.lg!==`${i.vscodeFileResource}://${u.FALLBACK_AUTHORITY}`?e:e.with({scheme:i.vscodeFileResource,authority:e.authority||u.FALLBACK_AUTHORITY,query:null,fragment:null})}toUri(e,t){if(a.r.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return a.r.joinPath(a.r.parse(t,!0),e);const n=l.fj(t,e);return a.r.file(n)}return a.r.parse(t.toUrl(e))}}const d=new u;var g;!function(e){const t=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const n="vscode-coi";e.getHeadersFromQuery=function(e){let i;"string"==typeof e?i=new URL(e).searchParams:e instanceof URL?i=e.searchParams:a.r.isUri(e)&&(i=new URL(e.toString(!0)).searchParams);const r=i?.get(n);if(r)return t.get(r)},e.addSearchParam=function(e,t,i){if(!globalThis.crossOriginIsolated)return;const r=t&&i?"3":i?"2":"1";e instanceof URLSearchParams?e.set(n,r):e[n]=r}}(g||(g={}))},1386:(e,t,n)=>{"use strict";n.d(t,{V0:()=>r,aI:()=>i,kT:()=>s});Object.prototype.hasOwnProperty;function i(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,r;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(!i(e[n],t[n]))return!1}else{const s=[];for(r in e)s.push(r);s.sort();const o=[];for(r in t)o.push(r);if(o.sort(),!i(s,o))return!1;for(n=0;n<s.length;n++)if(!i(e[s[n]],t[s[n]]))return!1}return!0}function r(e){const t=[];for(const n of function(e){let t=[];for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}(e))"function"==typeof e[n]&&t.push(n);return t}function s(e,t){const n=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},i={};for(const r of e)i[r]=n(r);return i}},1570:(e,t,n)=>{"use strict";n.d(t,{P8:()=>I,pD:()=>N,LC:()=>T,fj:()=>S,S8:()=>y,SA:()=>w,V8:()=>E,hd:()=>x,Vn:()=>A,IN:()=>C});var i=n(3339);let r;const s=globalThis.vscode;if(void 0!==s&&void 0!==s.process){const e=s.process;r={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else r="undefined"!=typeof process&&"string"==typeof process?.versions?.node?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return i.uF?"win32":i.zx?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const o=r.cwd,a=r.env,l=r.platform,h=46,c=47,u=92,d=58;class g extends Error{constructor(e,t,n){let i;"string"==typeof t&&0===t.indexOf("not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be";const r=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${r} ${i} of type ${t}`;s+=". Received type "+typeof n,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function f(e,t){if("string"!=typeof e)throw new g(t,"string",e)}const m="win32"===l;function p(e){return e===c||e===u}function _(e){return e===c}function b(e){return e>=65&&e<=90||e>=97&&e<=122}function k(e,t,n,i){let r="",s=0,o=-1,a=0,l=0;for(let u=0;u<=e.length;++u){if(u<e.length)l=e.charCodeAt(u);else{if(i(l))break;l=c}if(i(l)){if(o===u-1||1===a);else if(2===a){if(r.length<2||2!==s||r.charCodeAt(r.length-1)!==h||r.charCodeAt(r.length-2)!==h){if(r.length>2){const e=r.lastIndexOf(n);-1===e?(r="",s=0):(r=r.slice(0,e),s=r.length-1-r.lastIndexOf(n)),o=u,a=0;continue}if(0!==r.length){r="",s=0,o=u,a=0;continue}}t&&(r+=r.length>0?`${n}..`:"..",s=2)}else r.length>0?r+=`${n}${e.slice(o+1,u)}`:r=e.slice(o+1,u),s=u-o-1;o=u,a=0}else l===h&&-1!==a?++a:a=-1}return r}function v(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new g(t,"Object",e)}(t,"pathObject");const n=t.dir||t.root,i=t.base||`${t.name||""}${r=t.ext,r?`${"."===r[0]?"":"."}${r}`:""}`;var r;return n?n===t.root?`${n}${i}`:`${n}${e}${i}`:i}const C={resolve(...e){let t="",n="",i=!1;for(let r=e.length-1;r>=-1;r--){let s;if(r>=0){if(s=e[r],f(s,`paths[${r}]`),0===s.length)continue}else 0===t.length?s=o():(s=a[`=${t}`]||o(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===u)&&(s=`${t}\\`));const l=s.length;let h=0,c="",g=!1;const m=s.charCodeAt(0);if(1===l)p(m)&&(h=1,g=!0);else if(p(m))if(g=!0,p(s.charCodeAt(1))){let e=2,t=e;for(;e<l&&!p(s.charCodeAt(e));)e++;if(e<l&&e!==t){const n=s.slice(t,e);for(t=e;e<l&&p(s.charCodeAt(e));)e++;if(e<l&&e!==t){for(t=e;e<l&&!p(s.charCodeAt(e));)e++;e!==l&&e===t||(c=`\\\\${n}\\${s.slice(t,e)}`,h=e)}}}else h=1;else b(m)&&s.charCodeAt(1)===d&&(c=s.slice(0,2),h=2,l>2&&p(s.charCodeAt(2))&&(g=!0,h=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(i){if(t.length>0)break}else if(n=`${s.slice(h)}\\${n}`,i=g,g&&t.length>0)break}return n=k(n,!i,"\\",p),i?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){f(e,"path");const t=e.length;if(0===t)return".";let n,i=0,r=!1;const s=e.charCodeAt(0);if(1===t)return _(s)?"\\":e;if(p(s))if(r=!0,p(e.charCodeAt(1))){let r=2,s=r;for(;r<t&&!p(e.charCodeAt(r));)r++;if(r<t&&r!==s){const o=e.slice(s,r);for(s=r;r<t&&p(e.charCodeAt(r));)r++;if(r<t&&r!==s){for(s=r;r<t&&!p(e.charCodeAt(r));)r++;if(r===t)return`\\\\${o}\\${e.slice(s)}\\`;r!==s&&(n=`\\\\${o}\\${e.slice(s,r)}`,i=r)}}}else i=1;else b(s)&&e.charCodeAt(1)===d&&(n=e.slice(0,2),i=2,t>2&&p(e.charCodeAt(2))&&(r=!0,i=3));let o=i<t?k(e.slice(i),!r,"\\",p):"";return 0!==o.length||r||(o="."),o.length>0&&p(e.charCodeAt(t-1))&&(o+="\\"),void 0===n?r?`\\${o}`:o:r?`${n}\\${o}`:`${n}${o}`},isAbsolute(e){f(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return p(n)||t>2&&b(n)&&e.charCodeAt(1)===d&&p(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let s=0;s<e.length;++s){const i=e[s];f(i,"path"),i.length>0&&(void 0===t?t=n=i:t+=`\\${i}`)}if(void 0===t)return".";let i=!0,r=0;if("string"==typeof n&&p(n.charCodeAt(0))){++r;const e=n.length;e>1&&p(n.charCodeAt(1))&&(++r,e>2&&(p(n.charCodeAt(2))?++r:i=!1))}if(i){for(;r<t.length&&p(t.charCodeAt(r));)r++;r>=2&&(t=`\\${t.slice(r)}`)}return C.normalize(t)},relative(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";const n=C.resolve(e),i=C.resolve(t);if(n===i)return"";if((e=n.toLowerCase())===(t=i.toLowerCase()))return"";let r=0;for(;r<e.length&&e.charCodeAt(r)===u;)r++;let s=e.length;for(;s-1>r&&e.charCodeAt(s-1)===u;)s--;const o=s-r;let a=0;for(;a<t.length&&t.charCodeAt(a)===u;)a++;let l=t.length;for(;l-1>a&&t.charCodeAt(l-1)===u;)l--;const h=l-a,c=o<h?o:h;let d=-1,g=0;for(;g<c;g++){const n=e.charCodeAt(r+g);if(n!==t.charCodeAt(a+g))break;n===u&&(d=g)}if(g!==c){if(-1===d)return i}else{if(h>c){if(t.charCodeAt(a+g)===u)return i.slice(a+g+1);if(2===g)return i.slice(a+g)}o>c&&(e.charCodeAt(r+g)===u?d=g:2===g&&(d=3)),-1===d&&(d=0)}let m="";for(g=r+d+1;g<=s;++g)g!==s&&e.charCodeAt(g)!==u||(m+=0===m.length?"..":"\\..");return a+=d,m.length>0?`${m}${i.slice(a,l)}`:(i.charCodeAt(a)===u&&++a,i.slice(a,l))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=C.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===u){if(t.charCodeAt(1)===u){const e=t.charCodeAt(2);if(63!==e&&e!==h)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(b(t.charCodeAt(0))&&t.charCodeAt(1)===d&&t.charCodeAt(2)===u)return`\\\\?\\${t}`;return e},dirname(e){f(e,"path");const t=e.length;if(0===t)return".";let n=-1,i=0;const r=e.charCodeAt(0);if(1===t)return p(r)?e:".";if(p(r)){if(n=i=1,p(e.charCodeAt(1))){let r=2,s=r;for(;r<t&&!p(e.charCodeAt(r));)r++;if(r<t&&r!==s){for(s=r;r<t&&p(e.charCodeAt(r));)r++;if(r<t&&r!==s){for(s=r;r<t&&!p(e.charCodeAt(r));)r++;if(r===t)return e;r!==s&&(n=i=r+1)}}}}else b(r)&&e.charCodeAt(1)===d&&(n=t>2&&p(e.charCodeAt(2))?3:2,i=n);let s=-1,o=!0;for(let a=t-1;a>=i;--a)if(p(e.charCodeAt(a))){if(!o){s=a;break}}else o=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&f(t,"suffix"),f(e,"path");let n,i=0,r=-1,s=!0;if(e.length>=2&&b(e.charCodeAt(0))&&e.charCodeAt(1)===d&&(i=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=i;--n){const l=e.charCodeAt(n);if(p(l)){if(!s){i=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(r=n):(o=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=i;--n)if(p(e.charCodeAt(n))){if(!s){i=n+1;break}}else-1===r&&(s=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname(e){f(e,"path");let t=0,n=-1,i=0,r=-1,s=!0,o=0;e.length>=2&&e.charCodeAt(1)===d&&b(e.charCodeAt(0))&&(t=i=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(p(t)){if(!s){i=a+1;break}}else-1===r&&(s=!1,r=a+1),t===h?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1)}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:v.bind(null,"\\"),parse(e){f(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let i=0,r=e.charCodeAt(0);if(1===n)return p(r)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(p(r)){if(i=1,p(e.charCodeAt(1))){let t=2,r=t;for(;t<n&&!p(e.charCodeAt(t));)t++;if(t<n&&t!==r){for(r=t;t<n&&p(e.charCodeAt(t));)t++;if(t<n&&t!==r){for(r=t;t<n&&!p(e.charCodeAt(t));)t++;t===n?i=t:t!==r&&(i=t+1)}}}}else if(b(r)&&e.charCodeAt(1)===d){if(n<=2)return t.root=t.dir=e,t;if(i=2,p(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;i=3}}i>0&&(t.root=e.slice(0,i));let s=-1,o=i,a=-1,l=!0,c=e.length-1,u=0;for(;c>=i;--c)if(r=e.charCodeAt(c),p(r)){if(!l){o=c+1;break}}else-1===a&&(l=!1,a=c+1),r===h?-1===s?s=c:1!==u&&(u=1):-1!==s&&(u=-1);return-1!==a&&(-1===s||0===u||1===u&&s===a-1&&s===o+1?t.base=t.name=e.slice(o,a):(t.name=e.slice(o,s),t.base=e.slice(o,a),t.ext=e.slice(s,a))),t.dir=o>0&&o!==i?e.slice(0,o-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},L=(()=>{if(m){const e=/\\/g;return()=>{const t=o().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>o()})(),w={resolve(...e){let t="",n=!1;for(let i=e.length-1;i>=-1&&!n;i--){const r=i>=0?e[i]:L();f(r,`paths[${i}]`),0!==r.length&&(t=`${r}/${t}`,n=r.charCodeAt(0)===c)}return t=k(t,!n,"/",_),n?`/${t}`:t.length>0?t:"."},normalize(e){if(f(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===c,n=e.charCodeAt(e.length-1)===c;return 0===(e=k(e,!t,"/",_)).length?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(f(e,"path"),e.length>0&&e.charCodeAt(0)===c),join(...e){if(0===e.length)return".";let t;for(let n=0;n<e.length;++n){const i=e[n];f(i,"path"),i.length>0&&(void 0===t?t=i:t+=`/${i}`)}return void 0===t?".":w.normalize(t)},relative(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";if((e=w.resolve(e))===(t=w.resolve(t)))return"";const n=e.length,i=n-1,r=t.length-1,s=i<r?i:r;let o=-1,a=0;for(;a<s;a++){const n=e.charCodeAt(1+a);if(n!==t.charCodeAt(1+a))break;n===c&&(o=a)}if(a===s)if(r>s){if(t.charCodeAt(1+a)===c)return t.slice(1+a+1);if(0===a)return t.slice(1+a)}else i>s&&(e.charCodeAt(1+a)===c?o=a:0===a&&(o=0));let l="";for(a=1+o+1;a<=n;++a)a!==n&&e.charCodeAt(a)!==c||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+o)}`},toNamespacedPath:e=>e,dirname(e){if(f(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===c;let n=-1,i=!0;for(let r=e.length-1;r>=1;--r)if(e.charCodeAt(r)===c){if(!i){n=r;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&f(t,"ext"),f(e,"path");let n,i=0,r=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const l=e.charCodeAt(n);if(l===c){if(!s){i=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(r=n):(o=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===c){if(!s){i=n+1;break}}else-1===r&&(s=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname(e){f(e,"path");let t=-1,n=0,i=-1,r=!0,s=0;for(let o=e.length-1;o>=0;--o){const a=e.charCodeAt(o);if(a!==c)-1===i&&(r=!1,i=o+1),a===h?-1===t?t=o:1!==s&&(s=1):-1!==t&&(s=-1);else if(!r){n=o+1;break}}return-1===t||-1===i||0===s||1===s&&t===i-1&&t===n+1?"":e.slice(t,i)},format:v.bind(null,"/"),parse(e){f(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===c;let i;n?(t.root="/",i=1):i=0;let r=-1,s=0,o=-1,a=!0,l=e.length-1,u=0;for(;l>=i;--l){const t=e.charCodeAt(l);if(t!==c)-1===o&&(a=!1,o=l+1),t===h?-1===r?r=l:1!==u&&(u=1):-1!==r&&(u=-1);else if(!a){s=l+1;break}}if(-1!==o){const i=0===s&&n?1:s;-1===r||0===u||1===u&&r===o-1&&r===s+1?t.base=t.name=e.slice(i,o):(t.name=e.slice(i,r),t.base=e.slice(i,o),t.ext=e.slice(r,o))}return s>0?t.dir=e.slice(0,s-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};w.win32=C.win32=C,w.posix=C.posix=w;const y=m?C.normalize:w.normalize,S=m?C.join:w.join,x=m?C.resolve:w.resolve,E=m?C.relative:w.relative,N=m?C.dirname:w.dirname,I=m?C.basename:w.basename,T=m?C.extname:w.extname,A=m?C.sep:w.sep},3339:(e,t,n)=>{"use strict";n.d(t,{H8:()=>P,HZ:()=>I,OS:()=>R,UP:()=>W,_p:()=>M,cm:()=>F,gm:()=>z,ib:()=>N,j9:()=>E,lg:()=>T,nr:()=>V,uF:()=>S,zx:()=>x});var i=n(7289);const r="en";let s,o,a=!1,l=!1,h=!1,c=!1,u=!1,d=!1,g=!1,f=!1,m=!1,p=!1,_=null,b=null,k=null;const v=globalThis;let C;void 0!==v.vscode&&void 0!==v.vscode.process?C=v.vscode.process:"undefined"!=typeof process&&"string"==typeof process?.versions?.node&&(C=process);const L="string"==typeof C?.versions?.electron,w=L&&"renderer"===C?.type;if("object"==typeof C){a="win32"===C.platform,l="darwin"===C.platform,h="linux"===C.platform,c=h&&!!C.env.SNAP&&!!C.env.SNAP_REVISION,g=L,m=!!C.env.CI||!!C.env.BUILD_ARTIFACTSTAGINGDIRECTORY,s=r,_=r;const e=C.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e);s=t.userLocale,b=t.osLocale,_=t.resolvedLanguage||r,k=t.languagePack?.translationsConfigFile}catch(q){}u=!0}else"object"!=typeof navigator||w?console.error("Unable to resolve platform."):(o=navigator.userAgent,a=o.indexOf("Windows")>=0,l=o.indexOf("Macintosh")>=0,f=(o.indexOf("Macintosh")>=0||o.indexOf("iPad")>=0||o.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,h=o.indexOf("Linux")>=0,p=o?.indexOf("Mobi")>=0,d=!0,_=i.i8()||r,s=navigator.language.toLowerCase(),b=s);let y=0;l?y=1:a?y=3:h&&(y=2);const S=a,x=l,E=h,N=u,I=d,T=d&&"function"==typeof v.importScripts?v.origin:void 0,A=o,D="function"==typeof v.postMessage&&!v.importScripts,M=(()=>{if(D){const e=[];v.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,i=e.length;n<i;n++){const i=e[n];if(i.id===t.data.vscodeScheduleAsyncWork)return e.splice(n,1),void i.callback()}}));let t=0;return n=>{const i=++t;e.push({id:i,callback:n}),v.postMessage({vscodeScheduleAsyncWork:i},"*")}}return e=>setTimeout(e)})(),R=l||f?2:a?1:3;let O=!0,B=!1;function F(){if(!B){B=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);O=513===t[0]}return O}const P=!!(A&&A.indexOf("Chrome")>=0),z=!!(A&&A.indexOf("Firefox")>=0),V=!!(!P&&A&&A.indexOf("Safari")>=0),W=!!(A&&A.indexOf("Edg/")>=0);A&&A.indexOf("Android")},2467:(e,t,n)=>{"use strict";n.d(t,{B6:()=>m,P8:()=>d});var i=n(8518),r=n(3072),s=n(1570),o=n(3339),a=n(6844),l=n(7264);function h(e){return(0,l.I)(e,!0)}class c{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:(0,a.UD)(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===r.ny.file)return i._1(h(e),h(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(g(e.authority,t.authority))return i._1(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return l.r.joinPath(e,...t)}basenameOrAuthority(e){return d(e)||e.authority}basename(e){return s.SA.basename(e.path)}extname(e){return s.SA.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===r.ny.file?t=l.r.file(s.pD(h(e))).path:(t=s.SA.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===r.ny.file?l.r.file(s.S8(h(e))).path:s.SA.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!g(e.authority,t.authority))return;if(e.scheme===r.ny.file){const n=s.V8(h(e),h(t));return o.uF?i.TH(n):n}let n=e.path||"/";const a=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(n.length,a.length);e<t&&(n.charCodeAt(e)===a.charCodeAt(e)||n.charAt(e).toLowerCase()===a.charAt(e).toLowerCase());e++);n=a.substr(0,e)+n.substr(e)}return s.SA.relative(n,a)}resolvePath(e,t){if(e.scheme===r.ny.file){const n=l.r.file(s.hd(h(e),t));return e.with({authority:n.authority,path:n.path})}return t=i.kb(t),e.with({path:s.SA.resolve(e.path,t)})}isAbsolutePath(e){return!!e.path&&"/"===e.path[0]}isEqualAuthority(e,t){return e===t||void 0!==e&&void 0!==t&&(0,a.Q_)(e,t)}hasTrailingPathSeparator(e,t=s.Vn){if(e.scheme===r.ny.file){const n=h(e);return n.length>i.Zn(n).length&&n[n.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=s.Vn){return f(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=s.Vn){let n=!1;if(e.scheme===r.ny.file){const r=h(e);n=void 0!==r&&r.length===i.Zn(r).length&&r[r.length-1]===t}else{t="/";const i=e.path;n=1===i.length&&47===i.charCodeAt(i.length-1)}return n||f(e,t)?e:e.with({path:e.path+"/"})}}const u=new c((()=>!1)),d=(new c((e=>e.scheme!==r.ny.file||!o.j9)),new c((e=>!0)),u.isEqual.bind(u),u.isEqualOrParent.bind(u),u.getComparisonKey.bind(u),u.basenameOrAuthority.bind(u),u.basename.bind(u)),g=(u.extname.bind(u),u.dirname.bind(u),u.joinPath.bind(u),u.normalizePath.bind(u),u.relativePath.bind(u),u.resolvePath.bind(u),u.isAbsolutePath.bind(u),u.isEqualAuthority.bind(u)),f=u.hasTrailingPathSeparator.bind(u);u.removeTrailingPathSeparator.bind(u),u.addTrailingPathSeparator.bind(u);var m;!function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,i]=e.split(":");t&&i&&n.set(t,i)}));const i=t.path.substring(0,t.path.indexOf(";"));return i&&n.set(e.META_DATA_MIME,i),n}}(m||(m={}))},3013:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const i=globalThis.performance&&"function"==typeof globalThis.performance.now;class r{static create(e){return new r(e)}constructor(e){this._now=i&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},6844:(e,t,n)=>{"use strict";n.d(t,{$X:()=>D,AV:()=>s,E_:()=>N,HG:()=>d,LJ:()=>L,LU:()=>B,NB:()=>l,OS:()=>h,Q_:()=>k,Ss:()=>R,UD:()=>f,Wv:()=>b,Z5:()=>y,_J:()=>A,aC:()=>T,bm:()=>a,eY:()=>c,jy:()=>o,km:()=>x,lT:()=>g,ne:()=>M,ns:()=>v,pc:()=>C,r_:()=>O,tk:()=>F,tl:()=>V,uz:()=>u,y_:()=>W,z_:()=>w});var i=n(6260),r=n(3946);function s(e){return!e||"string"!=typeof e||0===e.trim().length}function o(e){return e.replace(/[<>"'&]/g,(e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e}))}function a(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function l(e,t){if(!e||!t)return e;const n=t.length;if(0===n||0===e.length)return e;let i=0;for(;e.indexOf(t,i)===i;)i+=n;return e.substring(i)}function h(e,t,n={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=a(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let i="";return n.global&&(i+="g"),n.matchCase||(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),new RegExp(e,i)}function c(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)}function u(e){return e.split(/\r\n|\r|\n/)}function d(e){for(let t=0,n=e.length;t<n;t++){const n=e.charCodeAt(t);if(32!==n&&9!==n)return t}return-1}function g(e,t=e.length-1){for(let n=t;n>=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}function f(e,t){return e<t?-1:e>t?1:0}function m(e,t,n=0,i=e.length,r=0,s=t.length){for(;n<i&&r<s;n++,r++){const i=e.charCodeAt(n),s=t.charCodeAt(r);if(i<s)return-1;if(i>s)return 1}const o=i-n,a=s-r;return o<a?-1:o>a?1:0}function p(e,t,n=0,i=e.length,r=0,s=t.length){for(;n<i&&r<s;n++,r++){let o=e.charCodeAt(n),a=t.charCodeAt(r);if(o===a)continue;if(o>=128||a>=128)return m(e.toLowerCase(),t.toLowerCase(),n,i,r,s);_(o)&&(o-=32),_(a)&&(a-=32);const l=o-a;if(0!==l)return l}const o=i-n,a=s-r;return o<a?-1:o>a?1:0}function _(e){return e>=97&&e<=122}function b(e){return e>=65&&e<=90}function k(e,t){return e.length===t.length&&0===p(e,t)}function v(e,t){const n=t.length;return!(t.length>e.length)&&0===p(e,t,0,n)}function C(e){return 55296<=e&&e<=56319}function L(e){return 56320<=e&&e<=57343}function w(e,t){return t-56320+(e-55296<<10)+65536}function y(e,t,n){const i=e.charCodeAt(n);if(C(i)&&n+1<t){const t=e.charCodeAt(n+1);if(L(t))return w(i,t)}return i}class S{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=function(e,t){const n=e.charCodeAt(t-1);if(L(n)&&t>1){const i=e.charCodeAt(t-2);if(C(i))return w(i,n)}return n}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=y(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class x{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new S(e,t)}nextGraphemeLength(){const e=z.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const n=t.offset,r=e.getGraphemeBreakType(t.nextCodePoint());if(P(i,r)){t.setOffset(n);break}i=r}return t.offset-n}prevGraphemeLength(){const e=z.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const n=t.offset,r=e.getGraphemeBreakType(t.prevCodePoint());if(P(r,i)){t.setOffset(n);break}i=r}return n-t.offset}eol(){return this._iterator.eol()}}let E;function N(e){return E||(E=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),E.test(e)}const I=/^[\t\n\r\x20-\x7E]*$/;function T(e){return I.test(e)}const A=/[\u2028\u2029]/;function D(e){return A.test(e)}function M(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function R(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const O=String.fromCharCode(65279);function B(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function F(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function P(e,t){return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}class z{static{this._INSTANCE=null}static getInstance(){return z._INSTANCE||(z._INSTANCE=new z),z._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let i=1;for(;i<=n;)if(e<t[3*i])i*=2;else{if(!(e>t[3*i+1]))return t[3*i+2];i=2*i+1}return 0}}class V{static{this.ambiguousCharacterData=new r.d((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')))}static{this.cache=new i.o5({getCacheKey:JSON.stringify},(e=>{function t(e){const t=new Map;for(let n=0;n<e.length;n+=2)t.set(e[n],e[n+1]);return t}function n(e,t){if(!e)return t;const n=new Map;for(const[i,r]of e)t.has(i)&&n.set(i,r);return n}const i=this.ambiguousCharacterData.value;let r,s=e.filter((e=>!e.startsWith("_")&&e in i));0===s.length&&(s=["_default"]);for(const a of s){r=n(r,t(i[a]))}const o=function(e,t){const n=new Map(e);for(const[i,r]of t)n.set(i,r);return n}(t(i._common),r);return new V(o)}))}static getInstance(e){return V.cache.get(Array.from(e))}static{this._locales=new r.d((()=>Object.keys(V.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))))}static getLocales(){return V._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class W{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(W.getRawData())),this._data}static isInvisibleCharacter(e){return W.getData().has(e)}static get codePoints(){return W.getData()}}},9359:(e,t,n)=>{"use strict";function i(e){return"string"==typeof e}function r(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function s(e){return void 0===e}function o(e){return s(e)||null===e}n.d(t,{Gv:()=>r,Kg:()=>i,b0:()=>s,z:()=>o})},7512:(e,t,n)=>{"use strict";function i(e){return e<0?0:e>255?255:0|e}function r(e){return e<0?0:e>4294967295?4294967295:0|e}n.d(t,{W:()=>i,j:()=>r})},7264:(e,t,n)=>{"use strict";n.d(t,{I:()=>_,r:()=>u});var i=n(1570),r=n(3339);const s=/^\w[\w\d+.-]*$/,o=/^\//,a=/^\/\//;const l="",h="/",c=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class u{static isUri(e){return e instanceof u||!!e&&("string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString)}constructor(e,t,n,i,r,c=!1){"object"==typeof e?(this.scheme=e.scheme||l,this.authority=e.authority||l,this.path=e.path||l,this.query=e.query||l,this.fragment=e.fragment||l):(this.scheme=function(e,t){return e||t?e:"file"}(e,c),this.authority=t||l,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||l),this.query=i||l,this.fragment=r||l,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!s.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!o.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,c))}get fsPath(){return _(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:i,query:r,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=l),void 0===n?n=this.authority:null===n&&(n=l),void 0===i?i=this.path:null===i&&(i=l),void 0===r?r=this.query:null===r&&(r=l),void 0===s?s=this.fragment:null===s&&(s=l),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new g(t,n,i,r,s)}static parse(e,t=!1){const n=c.exec(e);return n?new g(n[2]||l,C(n[4]||l),C(n[5]||l),C(n[7]||l),C(n[9]||l),t):new g(l,l,l,l,l)}static file(e){let t=l;if(r.uF&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){const n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new g("file",t,e,l,l)}static from(e,t){return new g(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=r.uF&&"file"===e.scheme?u.file(i.IN.join(_(e,!0),...t)).path:i.SA.join(e.path,...t),e.with({path:n})}toString(e=!1){return b(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof u)return e;{const t=new g(e);return t._formatted=e.external??null,t._fsPath=e._sep===d?e.fsPath??null:null,t}}return e}}const d=r.uF?1:void 0;class g extends u{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=_(this,!1)),this._fsPath}toString(e=!1){return e?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const f={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function m(e,t,n){let i,r=-1;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==r&&(i+=encodeURIComponent(e.substring(r,s)),r=-1),void 0!==i&&(i+=e.charAt(s));else{void 0===i&&(i=e.substr(0,s));const t=f[o];void 0!==t?(-1!==r&&(i+=encodeURIComponent(e.substring(r,s)),r=-1),i+=t):-1===r&&(r=s)}}return-1!==r&&(i+=encodeURIComponent(e.substring(r))),void 0!==i?i:e}function p(e){let t;for(let n=0;n<e.length;n++){const i=e.charCodeAt(n);35===i||63===i?(void 0===t&&(t=e.substr(0,n)),t+=f[i]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function _(e,t){let n;return n=e.authority&&e.path.length>1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,r.uF&&(n=n.replace(/\//g,"\\")),n}function b(e,t){const n=t?p:m;let i="",{scheme:r,authority:s,path:o,query:a,fragment:l}=e;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?i+=n(t,!1,!1):(i+=n(t.substr(0,e),!1,!1),i+=":",i+=n(t.substr(e+1),!1,!0)),i+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?i+=n(s,!1,!0):(i+=n(s.substr(0,e),!1,!0),i+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}i+=n(o,!0,!1)}return a&&(i+="?",i+=n(a,!1,!1)),l&&(i+="#",i+=t?l:m(l,!1,!1)),i}function k(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+k(e.substr(3)):e}}const v=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(v)?e.replace(v,(e=>k(e))):e}},5585:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SimpleWorkerClient:()=>k,SimpleWorkerServer:()=>L,create:()=>w,logOnceWebWorkerWarning:()=>d});var i=n(4327),r=n(2106),s=n(2446),o=n(3072),a=n(3339),l=n(6844);const h="default",c="$initialize";let u=!1;function d(e){a.HZ&&(u||(u=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(e.message))}class g{constructor(e,t,n,i,r){this.vsWorker=e,this.req=t,this.channel=n,this.method=i,this.args=r,this.type=0}}class f{constructor(e,t,n,i){this.vsWorker=e,this.seq=t,this.res=n,this.err=i,this.type=1}}class m{constructor(e,t,n,i,r){this.vsWorker=e,this.req=t,this.channel=n,this.eventName=i,this.arg=r,this.type=2}}class p{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}}class _{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class b{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,n){const i=String(++this._lastSentReq);return new Promise(((r,s)=>{this._pendingReplies[i]={resolve:r,reject:s},this._send(new g(this._workerId,i,e,t,n))}))}listen(e,t,n){let i=null;const s=new r.vl({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,s),this._send(new m(this._workerId,i,e,t,n))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new _(this._workerId,i)),i=null}});return s.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}createProxyToRemoteChannel(e,t){const n={get:(n,i)=>("string"!=typeof i||n[i]||(C(i)?n[i]=t=>this.listen(e,i,t):v(i)?n[i]=this.listen(e,i,void 0):36===i.charCodeAt(0)&&(n[i]=async(...n)=>(await(t?.()),this.sendMessage(e,i,n)))),n[i])};return new Proxy(Object.create(null),n)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;return e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),void t.reject(n)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then((e=>{this._send(new f(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=(0,i.cU)(e.detail)),this._send(new f(this._workerId,t,void 0,(0,i.cU)(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,n=this._handler.handleEvent(e.channel,e.eventName,e.arg)((e=>{this._send(new p(this._workerId,t,e))}));this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let n=0;n<e.args.length;n++)e.args[n]instanceof ArrayBuffer&&t.push(e.args[n]);else 1===e.type&&e.res instanceof ArrayBuffer&&t.push(e.res);this._handler.sendMessage(e,t)}}class k extends s.jG{constructor(e,t){super(),this._localChannels=new Map,this._worker=this._register(e.create({amdModuleId:"vs/base/common/worker/simpleWorker",esmModuleLocation:t.esmModuleLocation,label:t.label},(e=>{this._protocol.handleMessage(e)}),(e=>{(0,i.dz)(e)}))),this._protocol=new b({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)}),this._protocol.setWorkerId(this._worker.getId());let n=null;const r=globalThis.require;void 0!==r&&"function"==typeof r.getConfig?n=r.getConfig():void 0!==globalThis.requirejs&&(n=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(h,c,[this._worker.getId(),JSON.parse(JSON.stringify(n)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(h,(async()=>{await this._onModuleLoaded})),this._onModuleLoaded.catch((e=>{this._onError("Worker failed to load "+t.amdModuleId,e)}))}_handleMessage(e,t,n){const i=this._localChannels.get(e);if(!i)return Promise.reject(new Error(`Missing channel ${e} on main thread`));if("function"!=typeof i[t])return Promise.reject(new Error(`Missing method ${t} on main thread channel ${e}`));try{return Promise.resolve(i[t].apply(i,n))}catch(r){return Promise.reject(r)}}_handleEvent(e,t,n){const i=this._localChannels.get(e);if(!i)throw new Error(`Missing channel ${e} on main thread`);if(C(t)){const r=i[t].call(i,n);if("function"!=typeof r)throw new Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return r}if(v(t)){const n=i[t];if("function"!=typeof n)throw new Error(`Missing event ${t} on main thread channel ${e}.`);return n}throw new Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}}function v(e){return"o"===e[0]&&"n"===e[1]&&l.Wv(e.charCodeAt(2))}function C(e){return/^onDynamic/.test(e)&&l.Wv(e.charCodeAt(9))}class L{constructor(e,t){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=t,this._requestHandler=null,this._protocol=new b({sendMessage:(t,n)=>{e(t,n)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t,n){if(e===h&&t===c)return this.initialize(n[0],n[1],n[2]);const i=e===h?this._requestHandler:this._localChannels.get(e);if(!i)return Promise.reject(new Error(`Missing channel ${e} on worker thread`));if("function"!=typeof i[t])return Promise.reject(new Error(`Missing method ${t} on worker thread channel ${e}`));try{return Promise.resolve(i[t].apply(i,n))}catch(r){return Promise.reject(r)}}_handleEvent(e,t,n){const i=e===h?this._requestHandler:this._localChannels.get(e);if(!i)throw new Error(`Missing channel ${e} on worker thread`);if(C(t)){const e=i[t].call(i,n);if("function"!=typeof e)throw new Error(`Missing dynamic event ${t} on request handler.`);return e}if(v(t)){const e=i[t];if("function"!=typeof e)throw new Error(`Missing event ${t} on request handler.`);return e}throw new Error(`Malformed event name ${t}`)}getChannel(e){if(!this._remoteChannels.has(e)){const t=this._protocol.createProxyToRemoteChannel(e);this._remoteChannels.set(e,t)}return this._remoteChannels.get(e)}async initialize(e,t,i){if(this._protocol.setWorkerId(e),!this._requestHandlerFactory){t&&(void 0!==t.baseUrl&&delete t.baseUrl,void 0!==t.paths&&void 0!==t.paths.vs&&delete t.paths.vs,void 0!==t.trustedTypesPolicy&&delete t.trustedTypesPolicy,t.catchError=!0,globalThis.require.config(t));{const e=o.zl.asBrowserUri(`${i}.js`).toString(!0);return n(5890)(`${e}`).then((e=>{if(this._requestHandler=e.create(this),!this._requestHandler)throw new Error("No RequestHandler!")}))}}this._requestHandler=this._requestHandlerFactory(this)}}function w(e){return new L(e,null)}},5890:(e,t,n)=>{var i={"./simpleWorker":5585,"./simpleWorker.js":5585,"monaco-editor/esm/vs/base/common/worker/simpleWorker":5585,"monaco-editor/esm/vs/base/common/worker/simpleWorker.js":5585};function r(e){return Promise.resolve().then((()=>{if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n(i[e])}))}r.keys=()=>Object.keys(i),r.id=5890,e.exports=r},7454:(e,t,n)=>{"use strict";n.d(t,{V:()=>r});var i=n(7512);class r{constructor(e){const t=(0,i.W)(e);this._defaultValue=t,this._asciiMap=r._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const n=(0,i.W)(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}},8295:(e,t,n)=>{"use strict";n.d(t,{AQ:()=>_,aZ:()=>p,l5:()=>C,lQ:()=>k,s7:()=>y,sH:()=>L,sN:()=>b,ss:()=>v,yI:()=>m,zp:()=>w});var i=n(7289),r=n(4901),s=n(9119),o=n(6001);const a=(0,s.x1A)("editor.lineHighlightBackground",null,i.kg("lineHighlight","Background color for the highlight of line at the cursor position.")),l=((0,s.x1A)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:s.b1q},i.kg("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),(0,s.x1A)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},i.kg("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},i.kg("rangeHighlightBorder","Background color of the border around highlighted ranges.")),(0,s.x1A)("editor.symbolHighlightBackground",{dark:s.Ubg,light:s.Ubg,hcDark:null,hcLight:null},i.kg("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},i.kg("symbolHighlightBorder","Background color of the border around highlighted symbols.")),(0,s.x1A)("editorCursor.foreground",{dark:"#AEAFAD",light:r.Q1.black,hcDark:r.Q1.white,hcLight:"#0F4A85"},i.kg("caret","Color of the editor cursor."))),h=(0,s.x1A)("editorCursor.background",null,i.kg("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),c=((0,s.x1A)("editorMultiCursor.primary.foreground",l,i.kg("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),(0,s.x1A)("editorMultiCursor.primary.background",h,i.kg("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),(0,s.x1A)("editorMultiCursor.secondary.foreground",l,i.kg("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),(0,s.x1A)("editorMultiCursor.secondary.background",h,i.kg("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),(0,s.x1A)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},i.kg("editorWhitespaces","Color of whitespace characters in the editor."))),u=((0,s.x1A)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:r.Q1.white,hcLight:"#292929"},i.kg("editorLineNumbers","Color of editor line numbers.")),(0,s.x1A)("editorIndentGuide.background",c,i.kg("editorIndentGuides","Color of the editor indentation guides."),!1,i.kg("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead."))),d=(0,s.x1A)("editorIndentGuide.activeBackground",c,i.kg("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,i.kg("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),g=((0,s.x1A)("editorIndentGuide.background1",u,i.kg("editorIndentGuides1","Color of the editor indentation guides (1).")),(0,s.x1A)("editorIndentGuide.background2","#00000000",i.kg("editorIndentGuides2","Color of the editor indentation guides (2).")),(0,s.x1A)("editorIndentGuide.background3","#00000000",i.kg("editorIndentGuides3","Color of the editor indentation guides (3).")),(0,s.x1A)("editorIndentGuide.background4","#00000000",i.kg("editorIndentGuides4","Color of the editor indentation guides (4).")),(0,s.x1A)("editorIndentGuide.background5","#00000000",i.kg("editorIndentGuides5","Color of the editor indentation guides (5).")),(0,s.x1A)("editorIndentGuide.background6","#00000000",i.kg("editorIndentGuides6","Color of the editor indentation guides (6).")),(0,s.x1A)("editorIndentGuide.activeBackground1",d,i.kg("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),(0,s.x1A)("editorIndentGuide.activeBackground2","#00000000",i.kg("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),(0,s.x1A)("editorIndentGuide.activeBackground3","#00000000",i.kg("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),(0,s.x1A)("editorIndentGuide.activeBackground4","#00000000",i.kg("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),(0,s.x1A)("editorIndentGuide.activeBackground5","#00000000",i.kg("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),(0,s.x1A)("editorIndentGuide.activeBackground6","#00000000",i.kg("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),(0,s.x1A)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:s.buw,hcLight:s.buw},i.kg("editorActiveLineNumber","Color of editor active line number"),!1,i.kg("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."))),f=((0,s.x1A)("editorLineNumber.activeForeground",g,i.kg("editorActiveLineNumber","Color of editor active line number")),(0,s.x1A)("editorLineNumber.dimmedForeground",null,i.kg("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed.")),(0,s.x1A)("editorRuler.foreground",{dark:"#5A5A5A",light:r.Q1.lightgrey,hcDark:r.Q1.white,hcLight:"#292929"},i.kg("editorRuler","Color of the editor rulers.")),(0,s.x1A)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},i.kg("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,s.x1A)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},i.kg("editorBracketMatchBackground","Background color behind matching brackets")),(0,s.x1A)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:s.b1q,hcLight:s.b1q},i.kg("editorBracketMatchBorder","Color for matching brackets boxes")),(0,s.x1A)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},i.kg("editorOverviewRulerBorder","Color of the overview ruler border.")),(0,s.x1A)("editorOverviewRuler.background",null,i.kg("editorOverviewRulerBackground","Background color of the editor overview ruler.")),(0,s.x1A)("editorGutter.background",s.YtV,i.kg("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,s.x1A)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:r.Q1.fromHex("#fff").transparent(.8),hcLight:s.b1q},i.kg("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),(0,s.x1A)("editorUnnecessaryCode.opacity",{dark:r.Q1.fromHex("#000a"),light:r.Q1.fromHex("#0007"),hcDark:null,hcLight:null},i.kg("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.")),(0,s.x1A)("editorGhostText.border",{dark:null,light:null,hcDark:r.Q1.fromHex("#fff").transparent(.8),hcLight:r.Q1.fromHex("#292929").transparent(.8)},i.kg("editorGhostTextBorder","Border color of ghost text in the editor.")),(0,s.x1A)("editorGhostText.foreground",{dark:r.Q1.fromHex("#ffffff56"),light:r.Q1.fromHex("#0007"),hcDark:null,hcLight:null},i.kg("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),(0,s.x1A)("editorGhostText.background",null,i.kg("editorGhostTextBackground","Background color of the ghost text in the editor.")),new r.Q1(new r.bU(0,122,204,.6))),m=((0,s.x1A)("editorOverviewRuler.rangeHighlightForeground",f,i.kg("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editorOverviewRuler.errorForeground",{dark:new r.Q1(new r.bU(255,18,18,.7)),light:new r.Q1(new r.bU(255,18,18,.7)),hcDark:new r.Q1(new r.bU(255,50,50,1)),hcLight:"#B5200D"},i.kg("overviewRuleError","Overview ruler marker color for errors."))),p=(0,s.x1A)("editorOverviewRuler.warningForeground",{dark:s.Hng,light:s.Hng,hcDark:s.Stt,hcLight:s.Stt},i.kg("overviewRuleWarning","Overview ruler marker color for warnings.")),_=(0,s.x1A)("editorOverviewRuler.infoForeground",{dark:s.pOz,light:s.pOz,hcDark:s.IIb,hcLight:s.IIb},i.kg("overviewRuleInfo","Overview ruler marker color for infos.")),b=(0,s.x1A)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},i.kg("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),k=(0,s.x1A)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},i.kg("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),v=(0,s.x1A)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},i.kg("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),C=(0,s.x1A)("editorBracketHighlight.foreground4","#00000000",i.kg("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),L=(0,s.x1A)("editorBracketHighlight.foreground5","#00000000",i.kg("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),w=(0,s.x1A)("editorBracketHighlight.foreground6","#00000000",i.kg("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),y=(0,s.x1A)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new r.Q1(new r.bU(255,18,18,.8)),light:new r.Q1(new r.bU(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},i.kg("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets."));(0,s.x1A)("editorBracketPairGuide.background1","#00000000",i.kg("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background2","#00000000",i.kg("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background3","#00000000",i.kg("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background4","#00000000",i.kg("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background5","#00000000",i.kg("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background6","#00000000",i.kg("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground1","#00000000",i.kg("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground2","#00000000",i.kg("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground3","#00000000",i.kg("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground4","#00000000",i.kg("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground5","#00000000",i.kg("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground6","#00000000",i.kg("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.x1A)("editorUnicodeHighlight.border",s.Hng,i.kg("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,s.x1A)("editorUnicodeHighlight.background",s.whs,i.kg("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));(0,o.zy)(((e,t)=>{const n=e.getColor(s.YtV),i=e.getColor(a),r=i&&!i.isTransparent()?i:n;r&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${r}; }`)}))},3902:(e,t,n)=>{"use strict";function i(e){let t=0,n=0,i=0,r=0;for(let s=0,o=e.length;s<o;s++){const a=e.charCodeAt(s);13===a?(0===t&&(n=s),t++,s+1<o&&10===e.charCodeAt(s+1)?(r|=2,s++):r|=3,i=s+1):10===a&&(r|=1,0===t&&(n=s),t++,i=s+1)}return 0===t&&(n=e.length),[t,n,e.length-i,r]}n.d(t,{W:()=>i})},9955:(e,t,n)=>{"use strict";n.d(t,{M:()=>a,S:()=>l});var i=n(4327),r=n(2532),s=n(8061),o=n(7393);class a{static fromRangeInclusive(e){return new a(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new l(e[0].slice());for(let n=1;n<e.length;n++)t=t.getUnion(new l(e[n].slice()));return t.ranges}static join(e){if(0===e.length)throw new i.D7("lineRanges cannot be empty");let t=e[0].startLineNumber,n=e[0].endLineNumberExclusive;for(let i=1;i<e.length;i++)t=Math.min(t,e[i].startLineNumber),n=Math.max(n,e[i].endLineNumberExclusive);return new a(t,n)}static ofLength(e,t){return new a(e,e+t)}static deserialize(e){return new a(e[0],e[1])}constructor(e,t){if(e>t)throw new i.D7(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&e<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(e){return new a(this.startLineNumber+e,this.endLineNumberExclusive+e)}deltaLength(e){return new a(this.startLineNumber,this.endLineNumberExclusive+e)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(e){return new a(Math.min(this.startLineNumber,e.startLineNumber),Math.max(this.endLineNumberExclusive,e.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(e){const t=Math.max(this.startLineNumber,e.startLineNumber),n=Math.min(this.endLineNumberExclusive,e.endLineNumberExclusive);if(t<=n)return new a(t,n)}intersectsStrict(e){return this.startLineNumber<e.endLineNumberExclusive&&e.startLineNumber<this.endLineNumberExclusive}overlapOrTouch(e){return this.startLineNumber<=e.endLineNumberExclusive&&e.startLineNumber<=this.endLineNumberExclusive}equals(e){return this.startLineNumber===e.startLineNumber&&this.endLineNumberExclusive===e.endLineNumberExclusive}toInclusiveRange(){return this.isEmpty?null:new s.Q(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new s.Q(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(e){const t=[];for(let n=this.startLineNumber;n<this.endLineNumberExclusive;n++)t.push(e(n));return t}forEach(e){for(let t=this.startLineNumber;t<this.endLineNumberExclusive;t++)e(t)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}includes(e){return this.startLineNumber<=e&&e<this.endLineNumberExclusive}toOffsetRange(){return new r.L(this.startLineNumber-1,this.endLineNumberExclusive-1)}}class l{constructor(e=[]){this._normalizedRanges=e}get ranges(){return this._normalizedRanges}addRange(e){if(0===e.length)return;const t=(0,o.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)this._normalizedRanges.splice(t,0,e);else if(t===n-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const i=this._normalizedRanges[t].join(this._normalizedRanges[n-1]).join(e);this._normalizedRanges.splice(t,n-t,i)}}contains(e){const t=(0,o.lx)(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=(0,o.lx)(this._normalizedRanges,(t=>t.startLineNumber<e.endLineNumberExclusive));return!!t&&t.endLineNumberExclusive>e.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let n=0,i=0,r=null;for(;n<this._normalizedRanges.length||i<e._normalizedRanges.length;){let s=null;if(n<this._normalizedRanges.length&&i<e._normalizedRanges.length){const t=this._normalizedRanges[n],r=e._normalizedRanges[i];t.startLineNumber<r.startLineNumber?(s=t,n++):(s=r,i++)}else n<this._normalizedRanges.length?(s=this._normalizedRanges[n],n++):(s=e._normalizedRanges[i],i++);null===r?r=s:r.endLineNumberExclusive>=s.startLineNumber?r=new a(r.startLineNumber,Math.max(r.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(r),r=s)}return null!==r&&t.push(r),new l(t)}subtractFrom(e){const t=(0,o.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)return new l([e]);const i=[];let r=e.startLineNumber;for(let s=t;s<n;s++){const e=this._normalizedRanges[s];e.startLineNumber>r&&i.push(new a(r,e.startLineNumber)),r=e.endLineNumberExclusive}return r<e.endLineNumberExclusive&&i.push(new a(r,e.endLineNumberExclusive)),new l(i)}toString(){return this._normalizedRanges.map((e=>e.toString())).join(", ")}getIntersection(e){const t=[];let n=0,i=0;for(;n<this._normalizedRanges.length&&i<e._normalizedRanges.length;){const r=this._normalizedRanges[n],s=e._normalizedRanges[i],o=r.intersect(s);o&&!o.isEmpty&&t.push(o),r.endLineNumberExclusive<s.endLineNumberExclusive?n++:i++}return new l(t)}getWithDelta(e){return new l(this._normalizedRanges.map((t=>t.delta(e))))}}},2532:(e,t,n)=>{"use strict";n.d(t,{L:()=>r});var i=n(4327);class r{static addRange(e,t){let n=0;for(;n<t.length&&t[n].endExclusive<e.start;)n++;let i=n;for(;i<t.length&&t[i].start<=e.endExclusive;)i++;if(n===i)t.splice(n,0,e);else{const s=Math.min(e.start,t[n].start),o=Math.max(e.endExclusive,t[i-1].endExclusive);t.splice(n,i-n,new r(s,o))}}static tryCreate(e,t){if(!(e>t))return new r(e,t)}static ofLength(e){return new r(0,e)}static ofStartAndLength(e,t){return new r(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new i.D7(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new r(this.start+e,this.endExclusive+e)}deltaStart(e){return new r(this.start+e,this.endExclusive)}deltaEnd(e){return new r(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new r(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const t=Math.max(this.start,e.start),n=Math.min(this.endExclusive,e.endExclusive);if(t<=n)return new r(t,n)}intersects(e){return Math.max(this.start,e.start)<Math.min(this.endExclusive,e.endExclusive)}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new i.D7(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new i.D7(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;t<this.endExclusive;t++)e(t)}}},5365:(e,t,n)=>{"use strict";n.d(t,{y:()=>i});class i{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new i(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return i.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return i.isBefore(this,e)}static isBefore(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<t.column}isBeforeOrEqual(e){return i.isBeforeOrEqual(this,e)}static isBeforeOrEqual(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<=t.column}static compare(e,t){const n=0|e.lineNumber,i=0|t.lineNumber;if(n===i){return(0|e.column)-(0|t.column)}return n-i}clone(){return new i(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(e){return new i(e.lineNumber,e.column)}static isIPosition(e){return e&&"number"==typeof e.lineNumber&&"number"==typeof e.column}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}},8061:(e,t,n)=>{"use strict";n.d(t,{Q:()=>r});var i=n(5365);class r{constructor(e,t,n,i){e>n||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}isEmpty(){return r.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return r.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>e.endColumn))}static strictContainsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<=e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>=e.endColumn))}containsRange(e){return r.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)))}strictContainsRange(e){return r.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}plusRange(e){return r.plusRange(this,e)}static plusRange(e,t){let n,i,s,o;return t.startLineNumber<e.startLineNumber?(n=t.startLineNumber,i=t.startColumn):t.startLineNumber===e.startLineNumber?(n=t.startLineNumber,i=Math.min(t.startColumn,e.startColumn)):(n=e.startLineNumber,i=e.startColumn),t.endLineNumber>e.endLineNumber?(s=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,o=e.endColumn),new r(n,i,s,o)}intersectRanges(e){return r.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,i=e.startColumn,s=e.endLineNumber,o=e.endColumn;const a=t.startLineNumber,l=t.startColumn,h=t.endLineNumber,c=t.endColumn;return n<a?(n=a,i=l):n===a&&(i=Math.max(i,l)),s>h?(s=h,o=c):s===h&&(o=Math.min(o,c)),n>s||n===s&&i>o?null:new r(n,i,s,o)}equalsRange(e){return r.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return r.getEndPosition(this)}static getEndPosition(e){return new i.y(e.endLineNumber,e.endColumn)}getStartPosition(){return r.getStartPosition(this)}static getStartPosition(e){return new i.y(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new r(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new r(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return r.collapseToStart(this)}static collapseToStart(e){return new r(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return r.collapseToEnd(this)}static collapseToEnd(e){return new r(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new r(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new r(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new r(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)}static areIntersecting(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn)}static compareRangesUsingStarts(e,t){if(e&&t){const n=0|e.startLineNumber,i=0|t.startLineNumber;if(n===i){const n=0|e.startColumn,i=0|t.startColumn;if(n===i){const n=0|e.endLineNumber,i=0|t.endLineNumber;if(n===i){return(0|e.endColumn)-(0|t.endColumn)}return n-i}return n-i}return n-i}return(e?1:0)-(t?1:0)}static compareRangesUsingEnds(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber}static spansMultipleLines(e){return e.endLineNumber>e.startLineNumber}toJSON(){return this}}},3702:(e,t,n)=>{"use strict";n.d(t,{L:()=>s});var i=n(5365),r=n(8061);class s extends r.Q{constructor(e,t,n,i){super(e,t,n,i),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=i}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return s.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new s(this.startLineNumber,this.startColumn,e,t):new s(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new i.y(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new i.y(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new s(e,t,this.endLineNumber,this.endColumn):new s(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new s(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new s(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new s(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new s(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,i=e.length;n<i;n++)if(!this.selectionsEqual(e[n],t[n]))return!1;return!0}static isISelection(e){return e&&"number"==typeof e.selectionStartLineNumber&&"number"==typeof e.selectionStartColumn&&"number"==typeof e.positionLineNumber&&"number"==typeof e.positionColumn}static createWithDirection(e,t,n,i,r){return 0===r?new s(e,t,n,i):new s(n,i,e,t)}}},8357:(e,t,n)=>{"use strict";n.d(t,{W:()=>s});var i=n(5365),r=n(8061);class s{static{this.zero=new s(0,0)}static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new s(0,t.column-e.column):new s(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return s.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,n=0;for(const i of e)"\n"===i?(t++,n=0):n++;return new s(t,n)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return 0===this.lineCount?new r.Q(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new r.Q(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new i.y(e.lineNumber,e.column+this.columnCount):new i.y(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}},8782:(e,t,n)=>{"use strict";n.d(t,{Io:()=>o,Ld:()=>s,Th:()=>l});var i=n(7954),r=n(5525);const s=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of"`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?")e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();function o(e){let t=s;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const a=new r.w;function l(e,t,n,r,s){if(t=o(t),s||(s=i.f.first(a)),n.length>s.maxLen){let i=e-s.maxLen/2;return i<0?i=0:r+=i,l(e,t,n=n.substring(i,e+s.maxLen/2),r,s)}const c=Date.now(),u=e-1-r;let d=-1,g=null;for(let i=1;!(Date.now()-c>=s.timeBudget);i++){const e=u-s.windowSize*i;t.lastIndex=Math.max(0,e);const r=h(t,n,u,d);if(!r&&g)break;if(g=r,e<=0)break;d=e}if(g){const e={word:g[0],startColumn:r+1+g.index,endColumn:r+1+g.index+g[0].length};return t.lastIndex=0,e}return null}function h(e,t,n,i){let r;for(;r=e.exec(t);){const t=r.index||0;if(t<=n&&e.lastIndex>=n)return r;if(i>0&&t>i)return null}return null}a.unshift({maxLen:1e3,windowSize:15,timeBudget:150})},5910:(e,t,n)=>{"use strict";n.d(t,{x:()=>i});class i{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),8&n&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const n=this.getForeground(e),i=this.getFontStyle(e);let r=`color: ${t[n]};`;1&i&&(r+="font-style: italic;"),2&i&&(r+="font-weight: bold;");let s="";return 4&i&&(s+=" underline"),8&i&&(s+=" line-through"),s&&(r+=`text-decoration:${s};`),r}static getPresentationFromMetadata(e){const t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&n),bold:Boolean(2&n),underline:Boolean(4&n),strikethrough:Boolean(8&n)}}}},9694:(e,t,n)=>{"use strict";n.d(t,{rY:()=>p,ou:()=>m,dG:()=>w,OB:()=>y});var i=n(8391),r=(n(7264),n(2106)),s=n(2446);class o{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new r.vl,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),(0,s.s)((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){this._factories.get(e)?.dispose();const n=new a(this,e,t);return this._factories.set(e,n),(0,s.s)((()=>{const t=this._factories.get(e);t&&t===n&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const n=this._factories.get(e);return!n||n.isResolved?null:(await n.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}class a extends s.jG{get isResolved(){return this._isResolved}constructor(e,t,n){super(),this._registry=e,this._languageId=t,this._factory=n,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}var l,h,c,u,d,g,f=n(7289);class m{constructor(e,t,n){this.offset=e,this.type=t,this.language=n,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class p{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}!function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(l||(l={})),function(e){const t=new Map;t.set(0,i.W.symbolMethod),t.set(1,i.W.symbolFunction),t.set(2,i.W.symbolConstructor),t.set(3,i.W.symbolField),t.set(4,i.W.symbolVariable),t.set(5,i.W.symbolClass),t.set(6,i.W.symbolStruct),t.set(7,i.W.symbolInterface),t.set(8,i.W.symbolModule),t.set(9,i.W.symbolProperty),t.set(10,i.W.symbolEvent),t.set(11,i.W.symbolOperator),t.set(12,i.W.symbolUnit),t.set(13,i.W.symbolValue),t.set(15,i.W.symbolEnum),t.set(14,i.W.symbolConstant),t.set(15,i.W.symbolEnum),t.set(16,i.W.symbolEnumMember),t.set(17,i.W.symbolKeyword),t.set(27,i.W.symbolSnippet),t.set(18,i.W.symbolText),t.set(19,i.W.symbolColor),t.set(20,i.W.symbolFile),t.set(21,i.W.symbolReference),t.set(22,i.W.symbolCustomColor),t.set(23,i.W.symbolFolder),t.set(24,i.W.symbolTypeParameter),t.set(25,i.W.account),t.set(26,i.W.issues),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for CompletionItemKind "+e),n=i.W.symbolProperty),n};const n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",27),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),e.fromString=function(e,t){let i=n.get(e);return void 0!==i||t||(i=9),i}}(h||(h={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(c||(c={}));!function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(u||(u={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(d||(d={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(g||(g={}));(0,f.kg)("Array","array"),(0,f.kg)("Boolean","boolean"),(0,f.kg)("Class","class"),(0,f.kg)("Constant","constant"),(0,f.kg)("Constructor","constructor"),(0,f.kg)("Enum","enumeration"),(0,f.kg)("EnumMember","enumeration member"),(0,f.kg)("Event","event"),(0,f.kg)("Field","field"),(0,f.kg)("File","file"),(0,f.kg)("Function","function"),(0,f.kg)("Interface","interface"),(0,f.kg)("Key","key"),(0,f.kg)("Method","method"),(0,f.kg)("Module","module"),(0,f.kg)("Namespace","namespace"),(0,f.kg)("Null","null"),(0,f.kg)("Number","number"),(0,f.kg)("Object","object"),(0,f.kg)("Operator","operator"),(0,f.kg)("Package","package"),(0,f.kg)("Property","property"),(0,f.kg)("String","string"),(0,f.kg)("Struct","struct"),(0,f.kg)("TypeParameter","type parameter"),(0,f.kg)("Variable","variable");var _,b,k,v,C;!function(e){const t=new Map;t.set(0,i.W.symbolFile),t.set(1,i.W.symbolModule),t.set(2,i.W.symbolNamespace),t.set(3,i.W.symbolPackage),t.set(4,i.W.symbolClass),t.set(5,i.W.symbolMethod),t.set(6,i.W.symbolProperty),t.set(7,i.W.symbolField),t.set(8,i.W.symbolConstructor),t.set(9,i.W.symbolEnum),t.set(10,i.W.symbolInterface),t.set(11,i.W.symbolFunction),t.set(12,i.W.symbolVariable),t.set(13,i.W.symbolConstant),t.set(14,i.W.symbolString),t.set(15,i.W.symbolNumber),t.set(16,i.W.symbolBoolean),t.set(17,i.W.symbolArray),t.set(18,i.W.symbolObject),t.set(19,i.W.symbolKey),t.set(20,i.W.symbolNull),t.set(21,i.W.symbolEnumMember),t.set(22,i.W.symbolStruct),t.set(23,i.W.symbolEvent),t.set(24,i.W.symbolOperator),t.set(25,i.W.symbolTypeParameter),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for SymbolKind "+e),n=i.W.symbolProperty),n}}(_||(_={}));class L{static{this.Comment=new L("comment")}static{this.Imports=new L("imports")}static{this.Region=new L("region")}static fromValue(e){switch(e){case"comment":return L.Comment;case"imports":return L.Imports;case"region":return L.Region}return new L(e)}constructor(e){this.value=e}}!function(e){e[e.AIGenerated=1]="AIGenerated"}(b||(b={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(k||(k={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&("string"==typeof e.id&&"string"==typeof e.title)}}(v||(v={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(C||(C={}));const w=new o,y=new o;var S;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(S||(S={}))},7922:(e,t,n)=>{"use strict";n.d(t,{L:()=>i});const i=(0,n(2399).u1)("languageService")},4957:(e,t,n)=>{"use strict";n.d(t,{W6:()=>l,vH:()=>h});var i=n(7289),r=n(2106),s=n(7167),o=n(3720),a=n(7142);const l=new class{constructor(){this._onDidChangeLanguages=new r.vl,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t<n;t++)if(this._languages[t]===e)return void this._languages.splice(t,1)}}}getLanguages(){return this._languages}};s.O.add("editor.modesRegistry",l);const h="plaintext";l.registerLanguage({id:h,extensions:[".txt"],aliases:[i.kg("plainText.alias","Plain Text"),"text"],mimetypes:[o.K.text]}),s.O.as(a.Fd.Configuration).registerDefaultConfigurations([{overrides:{"[plaintext]":{"editor.unicodeHighlight.ambiguousCharacters":!1,"editor.unicodeHighlight.invisibleCharacters":!1}}}])},6055:(e,t,n)=>{"use strict";n.d(t,{A5:()=>i,Dg:()=>l,F4:()=>d,L5:()=>u,Wo:()=>c,X2:()=>a,ZS:()=>r,nk:()=>h,vd:()=>g});var i,r,s,o=n(1386);!function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(i||(i={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(r||(r={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(s||(s={}));class a{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|e.tabSize),"tabSize"===e.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|e.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace),this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&(0,o.aI)(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class l{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function h(e){return e&&"function"==typeof e.read}class c{constructor(e,t,n,i,r,s){this.identifier=e,this.range=t,this.text=n,this.forceMoveMarkers=i,this.isAutoWhitespaceEdit=r,this._isTracked=s}}class u{constructor(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}class d{constructor(e,t,n){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=n}}function g(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},2389:(e,t,n)=>{"use strict";n.d(t,{lt:()=>u,W5:()=>p,hB:()=>f,dr:()=>d,wC:()=>m});var i=n(6844),r=n(7992),s=n(7454);class o extends s.V{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let n=0,i=e.length;n<i;n++)this.set(e.charCodeAt(n),2);this.set(32,1),this.set(9,1)}findPrevIntlWordBeforeOrAtOffset(e,t){let n=null;for(const i of this._getIntlSegmenterWordsOnLine(e)){if(i.index>t)break;n=i}return n}findNextIntlWordAtOrAfterOffset(e,t){for(const n of this._getIntlSegmenterWordsOnLine(e))if(!(n.index<t))return n;return null}_getIntlSegmenterWordsOnLine(e){return this._segmenter?(this._cachedLine===e||(this._cachedLine=e,this._cachedSegments=this._filterWordSegments(this._segmenter.segment(e))),this._cachedSegments):[]}_filterWordSegments(e){const t=[];for(const n of e)this._isWordLike(n)&&t.push(n);return t}_isWordLike(e){return!!e.isWordLike}}const a=new r.qK(10);var l=n(5365),h=n(8061),c=n(6055);class u{constructor(e,t,n,i){this.searchString=e,this.isRegex=t,this.matchCase=n,this.wordSeparators=i}parseSearchRequest(){if(""===this.searchString)return null;let e;e=this.isRegex?function(e){if(!e||0===e.length)return!1;for(let t=0,n=e.length;t<n;t++){const i=e.charCodeAt(t);if(10===i)return!0;if(92===i){if(t++,t>=n)break;const i=e.charCodeAt(t);if(110===i||114===i||87===i)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=i.OS(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(r){return null}if(!t)return null;let n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new c.L5(t,this.wordSeparators?function(e,t){const n=`${e}/${t.join(",")}`;let i=a.get(n);return i||(i=new o(e,t),a.set(n,i)),i}(this.wordSeparators,[]):null,n?this.searchString:null)}}function d(e,t,n){if(!n)return new c.Dg(e,null);const i=[];for(let r=0,s=t.length;r<s;r++)i[r]=t[r];return new c.Dg(e,i)}class g{constructor(e){const t=[];let n=0;for(let i=0,r=e.length;i<r;i++)10===e.charCodeAt(i)&&(t[n++]=i);this._lineFeedsOffsets=t}findLineFeedCountBeforeOffset(e){const t=this._lineFeedsOffsets;let n=0,i=t.length-1;if(-1===i)return 0;if(e<=t[0])return 0;for(;n<i;){const r=n+((i-n)/2|0);t[r]>=e?i=r-1:t[r+1]>=e?(n=r,i=r):n=r+1}return n+1}}class f{static findMatches(e,t,n,i,r){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,n,new p(s.wordSeparators,s.regex),i,r):this._doFindMatchesLineByLine(e,n,s,i,r):[]}static _getMultilineMatchRange(e,t,n,i,r,s){let o,a,l=0;if(i?(l=i.findLineFeedCountBeforeOffset(r),o=t+r+l):o=t+r,i){const e=i.findLineFeedCountBeforeOffset(r+s.length)-l;a=o+s.length+e}else a=o+s.length;const c=e.getPositionAt(o),u=e.getPositionAt(a);return new h.Q(c.lineNumber,c.column,u.lineNumber,u.column)}static _doFindMatchesMultiline(e,t,n,i,r){const s=e.getOffsetAt(t.getStartPosition()),o=e.getValueInRange(t,1),a="\r\n"===e.getEOL()?new g(o):null,l=[];let h,c=0;for(n.reset(0);h=n.next(o);)if(l[c++]=d(this._getMultilineMatchRange(e,s,o,a,h.index,h[0]),h,i),c>=r)return l;return l}static _doFindMatchesLineByLine(e,t,n,i,r){const s=[];let o=0;if(t.startLineNumber===t.endLineNumber){const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,i,r),s}const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,i,r);for(let l=t.startLineNumber+1;l<t.endLineNumber&&o<r;l++)o=this._findMatchesInLine(n,e.getLineContent(l),l,0,o,s,i,r);if(o<r){const a=e.getLineContent(t.endLineNumber).substring(0,t.endColumn-1);o=this._findMatchesInLine(n,a,t.endLineNumber,0,o,s,i,r)}return s}static _findMatchesInLine(e,t,n,i,r,s,o,a){const l=e.wordSeparators;if(!o&&e.simpleSearch){const o=e.simpleSearch,u=o.length,d=t.length;let g=-u;for(;-1!==(g=t.indexOf(o,g+u));)if((!l||m(l,t,d,g,u))&&(s[r++]=new c.Dg(new h.Q(n,g+1+i,n,g+1+u+i),null),r>=a))return r;return r}const u=new p(e.wordSeparators,e.regex);let g;u.reset(0);do{if(g=u.next(t),g&&(s[r++]=d(new h.Q(n,g.index+1+i,n,g.index+1+g[0].length+i),g,o),r>=a))return r}while(g);return r}static findNextMatch(e,t,n,i){const r=t.parseSearchRequest();if(!r)return null;const s=new p(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindNextMatchMultiline(e,n,s,i):this._doFindNextMatchLineByLine(e,n,s,i)}static _doFindNextMatchMultiline(e,t,n,i){const r=new l.y(t.lineNumber,1),s=e.getOffsetAt(r),o=e.getLineCount(),a=e.getValueInRange(new h.Q(r.lineNumber,r.column,o,e.getLineMaxColumn(o)),1),c="\r\n"===e.getEOL()?new g(a):null;n.reset(t.column-1);const u=n.next(a);return u?d(this._getMultilineMatchRange(e,s,a,c,u.index,u[0]),u,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new l.y(1,1),n,i):null}static _doFindNextMatchLineByLine(e,t,n,i){const r=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s),a=this._findFirstMatchInLine(n,o,s,t.column,i);if(a)return a;for(let l=1;l<=r;l++){const t=(s+l-1)%r,o=e.getLineContent(t+1),a=this._findFirstMatchInLine(n,o,t+1,1,i);if(a)return a}return null}static _findFirstMatchInLine(e,t,n,i,r){e.reset(i-1);const s=e.next(t);return s?d(new h.Q(n,s.index+1,n,s.index+1+s[0].length),s,r):null}static findPreviousMatch(e,t,n,i){const r=t.parseSearchRequest();if(!r)return null;const s=new p(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindPreviousMatchMultiline(e,n,s,i):this._doFindPreviousMatchLineByLine(e,n,s,i)}static _doFindPreviousMatchMultiline(e,t,n,i){const r=this._doFindMatchesMultiline(e,new h.Q(1,1,t.lineNumber,t.column),n,i,9990);if(r.length>0)return r[r.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new l.y(s,e.getLineMaxColumn(s)),n,i):null}static _doFindPreviousMatchLineByLine(e,t,n,i){const r=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s).substring(0,t.column-1),a=this._findLastMatchInLine(n,o,s,i);if(a)return a;for(let l=1;l<=r;l++){const t=(r+s-l-1)%r,o=e.getLineContent(t+1),a=this._findLastMatchInLine(n,o,t+1,i);if(a)return a}return null}static _findLastMatchInLine(e,t,n,i){let r,s=null;for(e.reset(0);r=e.next(t);)s=d(new h.Q(n,r.index+1,n,r.index+1+r[0].length),r,i);return s}}function m(e,t,n,i,r){return function(e,t,n,i,r){if(0===i)return!0;const s=t.charCodeAt(i-1);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(r>0){const n=t.charCodeAt(i);if(0!==e.get(n))return!0}return!1}(e,t,0,i,r)&&function(e,t,n,i,r){if(i+r===n)return!0;const s=t.charCodeAt(i+r);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(r>0){const n=t.charCodeAt(i+r-1);if(0!==e.get(n))return!0}return!1}(e,t,n,i,r)}class p{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(n=this._searchRegex.exec(e),!n)return null;const r=n.index,s=n[0].length;if(r===this._prevMatchStartIndex&&s===this._prevMatchLength){if(0===s){i.Z5(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=s,!this._wordSeparators||m(this._wordSeparators,e,t,r,s))return n}while(n);return null}}},1583:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KeyMod:()=>fe,createMonacoBaseAPI:()=>me});var i=n(8903),r=n(2106);class s{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const o=new s,a=new s,l=new s,h=new Array(230),c={},u=[],d=Object.create(null),g=Object.create(null),f=[],m=[];for(let pe=0;pe<=193;pe++)f[pe]=-1;for(let pe=0;pe<=132;pe++)m[pe]=-1;var p;!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],n=[],i=[];for(const r of t){const[e,t,s,p,_,b,k,v,C]=r;if(i[t]||(i[t]=!0,u[t]=s,d[s]=t,g[s.toLowerCase()]=t,e&&(f[t]=p,0!==p&&3!==p&&5!==p&&4!==p&&6!==p&&57!==p&&(m[p]=t))),!n[p]){if(n[p]=!0,!_)throw new Error(`String representation missing for key code ${p} around scan code ${s}`);o.define(p,_),a.define(p,v||_),l.define(p,C||v||_)}b&&(h[b]=p),k&&(c[k]=p)}m[3]=46}(),function(e){e.toString=function(e){return o.keyCodeToStr(e)},e.fromString=function(e){return o.strToKeyCode(e)},e.toUserSettingsUS=function(e){return a.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return l.keyCodeToStr(e)},e.fromUserSettings=function(e){return a.strToKeyCode(e)||l.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return o.keyCodeToStr(e)}}(p||(p={}));var _,b,k,v,C,L,w,y,S,x,E,N,I,T,A,D,M,R,O,B,F,P,z,V,W,q,H,U,j,K,$,G,Q,Y,X,Z,J,ee,te,ne,ie,re,se,oe,ae,le,he=n(7264),ce=n(5365),ue=n(8061),de=n(3702),ge=n(9694);!function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(_||(_={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(b||(b={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(k||(k={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(v||(v={})),function(e){e[e.Deprecated=1]="Deprecated"}(C||(C={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(L||(L={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(w||(w={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(y||(y={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(S||(S={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(x||(x={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(E||(E={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.placeholder=88]="placeholder",e[e.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",e[e.quickSuggestions=90]="quickSuggestions",e[e.quickSuggestionsDelay=91]="quickSuggestionsDelay",e[e.readOnly=92]="readOnly",e[e.readOnlyMessage=93]="readOnlyMessage",e[e.renameOnType=94]="renameOnType",e[e.renderControlCharacters=95]="renderControlCharacters",e[e.renderFinalNewline=96]="renderFinalNewline",e[e.renderLineHighlight=97]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=99]="renderValidationDecorations",e[e.renderWhitespace=100]="renderWhitespace",e[e.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",e[e.roundedSelection=102]="roundedSelection",e[e.rulers=103]="rulers",e[e.scrollbar=104]="scrollbar",e[e.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=106]="scrollBeyondLastLine",e[e.scrollPredominantAxis=107]="scrollPredominantAxis",e[e.selectionClipboard=108]="selectionClipboard",e[e.selectionHighlight=109]="selectionHighlight",e[e.selectOnLineNumbers=110]="selectOnLineNumbers",e[e.showFoldingControls=111]="showFoldingControls",e[e.showUnused=112]="showUnused",e[e.snippetSuggestions=113]="snippetSuggestions",e[e.smartSelect=114]="smartSelect",e[e.smoothScrolling=115]="smoothScrolling",e[e.stickyScroll=116]="stickyScroll",e[e.stickyTabStops=117]="stickyTabStops",e[e.stopRenderingLineAfter=118]="stopRenderingLineAfter",e[e.suggest=119]="suggest",e[e.suggestFontSize=120]="suggestFontSize",e[e.suggestLineHeight=121]="suggestLineHeight",e[e.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",e[e.suggestSelection=123]="suggestSelection",e[e.tabCompletion=124]="tabCompletion",e[e.tabIndex=125]="tabIndex",e[e.unicodeHighlighting=126]="unicodeHighlighting",e[e.unusualLineTerminators=127]="unusualLineTerminators",e[e.useShadowDOM=128]="useShadowDOM",e[e.useTabStops=129]="useTabStops",e[e.wordBreak=130]="wordBreak",e[e.wordSegmenterLocales=131]="wordSegmenterLocales",e[e.wordSeparators=132]="wordSeparators",e[e.wordWrap=133]="wordWrap",e[e.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=136]="wordWrapColumn",e[e.wordWrapOverride1=137]="wordWrapOverride1",e[e.wordWrapOverride2=138]="wordWrapOverride2",e[e.wrappingIndent=139]="wrappingIndent",e[e.wrappingStrategy=140]="wrappingStrategy",e[e.showDeprecated=141]="showDeprecated",e[e.inlayHints=142]="inlayHints",e[e.editorClassName=143]="editorClassName",e[e.pixelRatio=144]="pixelRatio",e[e.tabFocusMode=145]="tabFocusMode",e[e.layoutInfo=146]="layoutInfo",e[e.wrappingInfo=147]="wrappingInfo",e[e.defaultColorDecorators=148]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"}(N||(N={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(I||(I={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(T||(T={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(A||(A={})),function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(D||(D={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(M||(M={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(R||(R={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(O||(O={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(B||(B={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(F||(F={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(P||(P={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(z||(z={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(V||(V={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(W||(W={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(q||(q={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(H||(H={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(U||(U={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(j||(j={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(K||(K={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}($||($={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(G||(G={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(Q||(Q={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(Y||(Y={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(X||(X={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(Z||(Z={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(J||(J={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(ee||(ee={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(te||(te={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(ne||(ne={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(ie||(ie={})),function(e){e[e.Deprecated=1]="Deprecated"}(re||(re={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(se||(se={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(oe||(oe={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(ae||(ae={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(le||(le={}));class fe{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(e,t){return function(e,t){return(e|(65535&t)<<16>>>0)>>>0}(e,t)}}function me(){return{editor:void 0,languages:void 0,CancellationTokenSource:i.Qi,Emitter:r.vl,KeyCode:P,KeyMod:fe,Position:ce.y,Range:ue.Q,Selection:de.L,SelectionDirection:ee,MarkerSeverity:z,MarkerTag:V,Uri:he.r,Token:ge.ou}}},1684:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BaseEditorSimpleWorker:()=>Pe,EditorSimpleWorker:()=>ze,create:()=>Ve});class i{constructor(e,t,n,i){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=i}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}var r=n(2344);class s{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,i=e.length;n<i;n++)t[n]=e.charCodeAt(n);return t}}function o(e,t,n){return new c(new s(e),new s(t)).ComputeDiff(n).changes}class a{static Assert(e,t){if(!e)throw new Error(t)}}class l{static Copy(e,t,n,i,r){for(let s=0;s<r;s++)n[i+s]=e[t+s]}static Copy2(e,t,n,i,r){for(let s=0;s<r;s++)n[i+s]=e[t+s]}}class h{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new i(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class c{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[i,r,s]=c._getElements(e),[o,a,l]=c._getElements(t);this._hasStrings=s&&l,this._originalStringElements=i,this._originalElementsOrHash=r,this._modifiedStringElements=o,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(c._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,i=t.length;n<i;n++)e[n]=(0,r.e2)(t[n],0);return[t,e,!0]}return t instanceof Int32Array?[[],t,!1]:[[],new Int32Array(t),!1]}ElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._modifiedStringElements[t])}ElementsAreStrictEqual(e,t){if(!this.ElementsAreEqual(e,t))return!1;return c._getStrictElement(this._originalSequence,e)===c._getStrictElement(this._modifiedSequence,t)}static _getStrictElement(e,t){return"function"==typeof e.getStrictElement?e.getStrictElement(t):null}OriginalElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._originalElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._originalStringElements[t])}ModifiedElementsAreEqual(e,t){return this._modifiedElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._modifiedStringElements[e]===this._modifiedStringElements[t])}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,t,n,i,r){const s=[!1];let o=this.ComputeDiffRecursive(e,t,n,i,s);return r&&(o=this.PrettifyChanges(o)),{quitEarly:s[0],changes:o}}ComputeDiffRecursive(e,t,n,r,s){for(s[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){let s;return n<=r?(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s=[new i(e,0,n,r-n+1)]):e<=t?(a.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),s=[new i(e,t-e+1,n,0)]):(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),s=[]),s}const o=[0],l=[0],h=this.ComputeRecursionPoint(e,t,n,r,o,l,s),c=o[0],u=l[0];if(null!==h)return h;if(!s[0]){const o=this.ComputeDiffRecursive(e,c,n,u,s);let a=[];return a=s[0]?[new i(c+1,t-(c+1)+1,u+1,r-(u+1)+1)]:this.ComputeDiffRecursive(c+1,t,u+1,r,s),this.ConcatenateChanges(o,a)}return[new i(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,s,o,a,l,c,u,d,g,f,m,p,_,b,k){let v=null,C=null,L=new h,w=t,y=n,S=f[0]-_[0]-r,x=-1073741824,E=this.m_forwardHistory.length-1;do{const t=S+e;t===w||t<y&&c[t-1]<c[t+1]?(m=(d=c[t+1])-S-r,d<x&&L.MarkNextChange(),x=d,L.AddModifiedElement(d+1,m),S=t+1-e):(m=(d=c[t-1]+1)-S-r,d<x&&L.MarkNextChange(),x=d-1,L.AddOriginalElement(d,m+1),S=t-1-e),E>=0&&(e=(c=this.m_forwardHistory[E])[0],w=1,y=c.length-1)}while(--E>=-1);if(v=L.getReverseChanges(),k[0]){let e=f[0]+1,t=_[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}C=[new i(e,g-e+1,t,p-t+1)]}else{L=new h,w=o,y=a,S=f[0]-_[0]-l,x=1073741824,E=b?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=S+s;e===w||e<y&&u[e-1]>=u[e+1]?(m=(d=u[e+1]-1)-S-l,d>x&&L.MarkNextChange(),x=d+1,L.AddOriginalElement(d+1,m+1),S=e+1-s):(m=(d=u[e-1])-S-l,d>x&&L.MarkNextChange(),x=d,L.AddModifiedElement(d+1,m+1),S=e-1-s),E>=0&&(s=(u=this.m_reverseHistory[E])[0],w=1,y=u.length-1)}while(--E>=-1);C=L.getChanges()}return this.ConcatenateChanges(v,C)}ComputeRecursionPoint(e,t,n,r,s,o,a){let h=0,c=0,u=0,d=0,g=0,f=0;e--,n--,s[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const m=t-e+(r-n),p=m+1,_=new Int32Array(p),b=new Int32Array(p),k=r-n,v=t-e,C=e-n,L=t-r,w=(v-k)%2==0;_[k]=e,b[v]=t,a[0]=!1;for(let y=1;y<=m/2+1;y++){let m=0,S=0;u=this.ClipDiagonalBound(k-y,y,k,p),d=this.ClipDiagonalBound(k+y,y,k,p);for(let e=u;e<=d;e+=2){h=e===u||e<d&&_[e-1]<_[e+1]?_[e+1]:_[e-1]+1,c=h-(e-k)-C;const n=h;for(;h<t&&c<r&&this.ElementsAreEqual(h+1,c+1);)h++,c++;if(_[e]=h,h+c>m+S&&(m=h,S=c),!w&&Math.abs(e-v)<=y-1&&h>=b[e])return s[0]=h,o[0]=c,n<=b[e]&&y<=1448?this.WALKTRACE(k,u,d,C,v,g,f,L,_,b,h,t,s,c,r,o,w,a):null}const x=(m-e+(S-n)-y)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(m,x))return a[0]=!0,s[0]=m,o[0]=S,x>0&&y<=1448?this.WALKTRACE(k,u,d,C,v,g,f,L,_,b,h,t,s,c,r,o,w,a):(e++,n++,[new i(e,t-e+1,n,r-n+1)]);g=this.ClipDiagonalBound(v-y,y,v,p),f=this.ClipDiagonalBound(v+y,y,v,p);for(let i=g;i<=f;i+=2){h=i===g||i<f&&b[i-1]>=b[i+1]?b[i+1]-1:b[i-1],c=h-(i-v)-L;const l=h;for(;h>e&&c>n&&this.ElementsAreEqual(h,c);)h--,c--;if(b[i]=h,w&&Math.abs(i-k)<=y&&h<=_[i])return s[0]=h,o[0]=c,l>=_[i]&&y<=1448?this.WALKTRACE(k,u,d,C,v,g,f,L,_,b,h,t,s,c,r,o,w,a):null}if(y<=1447){let e=new Int32Array(d-u+2);e[0]=k-u+1,l.Copy2(_,u,e,1,d-u+1),this.m_forwardHistory.push(e),e=new Int32Array(f-g+2),e[0]=v-g+1,l.Copy2(b,g,e,1,f-g+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(k,u,d,C,v,g,f,L,_,b,h,t,s,c,r,o,w,a)}PrettifyChanges(e){for(let t=0;t<e.length;t++){const n=e[t],i=t<e.length-1?e[t+1].originalStart:this._originalElementsOrHash.length,r=t<e.length-1?e[t+1].modifiedStart:this._modifiedElementsOrHash.length,s=n.originalLength>0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength<i&&n.modifiedStart+n.modifiedLength<r&&(!s||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!o||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));){const e=this.ElementsAreStrictEqual(n.originalStart,n.modifiedStart);if(this.ElementsAreStrictEqual(n.originalStart+n.originalLength,n.modifiedStart+n.modifiedLength)&&!e)break;n.originalStart++,n.modifiedStart++}const a=[null];t<e.length-1&&this.ChangesOverlap(e[t],e[t+1],a)&&(e[t]=a[0],e.splice(t+1,1),t--)}for(let t=e.length-1;t>=0;t--){const n=e[t];let i=0,r=0;if(t>0){const n=e[t-1];i=n.originalStart+n.originalLength,r=n.modifiedStart+n.modifiedLength}const s=n.originalLength>0,o=n.modifiedLength>0;let a=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,h=n.modifiedStart-e;if(t<i||h<r)break;if(s&&!this.OriginalElementsAreEqual(t,t+n.originalLength))break;if(o&&!this.ModifiedElementsAreEqual(h,h+n.modifiedLength))break;const c=(t===i&&h===r?5:0)+this._boundaryScore(t,n.originalLength,h,n.modifiedLength);c>l&&(l=c,a=e)}n.originalStart-=a,n.modifiedStart-=a;const h=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],h)&&(e[t-1]=h[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t<n;t++){const n=e[t-1],i=e[t],r=i.originalStart-n.originalStart-n.originalLength,s=n.originalStart,o=i.originalStart+i.originalLength,a=o-s,l=n.modifiedStart,h=i.modifiedStart+i.modifiedLength,c=h-l;if(r<5&&a<20&&c<20){const e=this._findBetterContiguousSequence(s,a,l,c,r);if(e){const[t,s]=e;t===n.originalStart+n.originalLength&&s===n.modifiedStart+n.modifiedLength||(n.originalLength=t-n.originalStart,n.modifiedLength=s-n.modifiedStart,i.originalStart=t+r,i.modifiedStart=s+r,i.originalLength=o-i.originalStart,i.modifiedLength=h-i.modifiedStart)}}}return e}_findBetterContiguousSequence(e,t,n,i,r){if(t<r||i<r)return null;const s=e+t-r+1,o=n+i-r+1;let a=0,l=0,h=0;for(let c=e;c<s;c++)for(let e=n;e<o;e++){const t=this._contiguousSequenceScore(c,e,r);t>0&&t>a&&(a=t,l=c,h=e)}return a>0?[l,h]:null}_contiguousSequenceScore(e,t,n){let i=0;for(let r=0;r<n;r++){if(!this.ElementsAreEqual(e+r,t+r))return 0;i+=this._originalStringElements[e+r].length}return i}_OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)}ConcatenateChanges(e,t){const n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const i=new Array(e.length+t.length-1);return l.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],l.Copy(t,1,i,e.length,t.length-1),i}{const n=new Array(e.length+t.length);return l.Copy(e,0,n,0,e.length),l.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(a.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),a.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const r=e.originalStart;let s=e.originalLength;const o=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new i(r,s,o,a),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,i){if(e>=0&&e<i)return e;const r=t%2==0;if(e<0){return r===(n%2==0)?0:1}return r===((i-n-1)%2==0)?i-1:i-2}}var u=n(8061),d=n(7454);class g{constructor(e,t,n){const i=new Uint8Array(e*t);for(let r=0,s=e*t;r<s;r++)i[r]=n;this._data=i,this.rows=e,this.cols=t}get(e,t){return this._data[e*this.cols+t]}set(e,t,n){this._data[e*this.cols+t]=n}}class f{constructor(e){let t=0,n=0;for(let r=0,s=e.length;r<s;r++){const[i,s,o]=e[r];s>t&&(t=s),i>n&&(n=i),o>n&&(n=o)}t++,n++;const i=new g(n,t,0);for(let r=0,s=e.length;r<s;r++){const[t,n,s]=e[r];i.set(t,n,s)}this._states=i,this._maxCharCode=t}nextState(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)}}let m=null;let p=null;class _{static _createLink(e,t,n,i,r){let s=r-1;do{const n=t.charCodeAt(s);if(2!==e.get(n))break;s--}while(s>i);if(i>0){const e=t.charCodeAt(i-1),n=t.charCodeAt(s);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&s--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:s+2},url:t.substring(i,s+1)}}static computeLinks(e,t=function(){return null===m&&(m=new f([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),m}()){const n=function(){if(null===p){p=new d.V(0);const e=" \t<>'\"\u3001\u3002\uff61\uff64\uff0c\uff0e\uff1a\uff1b\u2018\u3008\u300c\u300e\u3014\uff08\uff3b\uff5b\uff62\uff63\uff5d\uff3d\uff09\u3015\u300f\u300d\u3009\u2019\uff40\uff5e\u2026";for(let n=0;n<e.length;n++)p.set(e.charCodeAt(n),1);const t=".,;:";for(let n=0;n<t.length;n++)p.set(t.charCodeAt(n),2)}return p}(),i=[];for(let r=1,s=e.getLineCount();r<=s;r++){const s=e.getLineContent(r),o=s.length;let a=0,l=0,h=0,c=1,u=!1,d=!1,g=!1,f=!1;for(;a<o;){let e=!1;const o=s.charCodeAt(a);if(13===c){let t;switch(o){case 40:u=!0,t=0;break;case 41:t=u?0:1;break;case 91:g=!0,d=!0,t=0;break;case 93:g=!1,t=d?0:1;break;case 123:f=!0,t=0;break;case 125:t=f?0:1;break;case 39:case 34:case 96:t=h===o?1:39===h||34===h||96===h?0:1;break;case 42:t=42===h?1:0;break;case 124:t=124===h?1:0;break;case 32:t=g?0:1;break;default:t=n.get(o)}1===t&&(i.push(_._createLink(n,s,r,l,a)),e=!0)}else if(12===c){let t;91===o?(d=!0,t=0):t=n.get(o),1===t?e=!0:c=13}else c=t.nextState(c,o),0===c&&(e=!0);e&&(c=1,u=!1,d=!1,f=!1,l=a+1,h=o),a++}13===c&&i.push(_._createLink(n,s,r,l,o))}return i}}class b{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}static{this.INSTANCE=new b}navigateValueSet(e,t,n,i,r){if(e&&t){const n=this.doNavigateValueSet(t,r);if(n)return{range:e,value:n}}if(n&&i){const e=this.doNavigateValueSet(i,r);if(e)return{range:n,value:e}}return null}doNavigateValueSet(e,t){const n=this.numberReplace(e,t);return null!==n?n:this.textReplace(e,t)}numberReplace(e,t){const n=Math.pow(10,e.length-(e.lastIndexOf(".")+1));let i=Number(e);const r=parseFloat(e);return isNaN(i)||isNaN(r)||i!==r?null:0!==i||t?(i=Math.floor(i*n),i+=t?n:-n,String(i/n)):null}textReplace(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)}valueSetsReplace(e,t,n){let i=null;for(let r=0,s=e.length;null===i&&r<s;r++)i=this.valueSetReplace(e[r],t,n);return i}valueSetReplace(e,t,n){let i=e.indexOf(t);return i>=0?(i+=n?1:-1,i<0?i=e.length-1:i%=e.length,e[i]):null}}var k=n(1583),v=n(6358),C=n(3013),L=n(9887);class w{constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}}class y{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}var S=n(4327),x=n(9955),E=n(5365),N=n(7110),I=n(2532);n(8357);class T{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}}class A{static inverse(e,t,n){const i=[];let r=1,s=1;for(const a of e){const e=new A(new x.M(r,a.original.startLineNumber),new x.M(s,a.modified.startLineNumber));e.modified.isEmpty||i.push(e),r=a.original.endLineNumberExclusive,s=a.modified.endLineNumberExclusive}const o=new A(new x.M(r,t+1),new x.M(s,n+1));return o.modified.isEmpty||i.push(o),i}static clip(e,t,n){const i=[];for(const r of e){const e=r.original.intersect(t),s=r.modified.intersect(n);e&&!e.isEmpty&&s&&!s.isEmpty&&i.push(new A(e,s))}return i}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new A(this.modified,this.original)}join(e){return new A(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new O(e,t);if(1===this.original.startLineNumber||1===this.modified.startLineNumber){if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new S.D7("not a valid diff");return new O(new u.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new u.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}return new O(new u.Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new u.Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(M(this.original.endLineNumberExclusive,e)&&M(this.modified.endLineNumberExclusive,t))return new O(new u.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new u.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new O(u.Q.fromPositions(new E.y(this.original.startLineNumber,1),D(new E.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),u.Q.fromPositions(new E.y(this.modified.startLineNumber,1),D(new E.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new O(u.Q.fromPositions(D(new E.y(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),D(new E.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),u.Q.fromPositions(D(new E.y(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),D(new E.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new S.D7}}function D(e,t){if(e.lineNumber<1)return new E.y(1,1);if(e.lineNumber>t.length)return new E.y(t.length,t[t.length-1].length+1);const n=t[e.lineNumber-1];return e.column>n.length+1?new E.y(e.lineNumber,n.length+1):e}function M(e,t){return e>=1&&e<=t.length}class R extends A{static fromRangeMappings(e){const t=x.M.join(e.map((e=>x.M.fromRangeInclusive(e.originalRange)))),n=x.M.join(e.map((e=>x.M.fromRangeInclusive(e.modifiedRange))));return new R(t,n,e)}constructor(e,t,n){super(e,t),this.innerChanges=n}flip(){return new R(this.modified,this.original,this.innerChanges?.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new R(this.original,this.modified,[this.toRangeMapping()])}}class O{static assertSorted(e){for(let t=1;t<e.length;t++){const n=e[t-1],i=e[t];if(!n.originalRange.getEndPosition().isBeforeOrEqual(i.originalRange.getStartPosition())||!n.modifiedRange.getEndPosition().isBeforeOrEqual(i.modifiedRange.getStartPosition()))throw new S.D7("Range mappings must be sorted")}}constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new O(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new T(this.originalRange,t)}}var B=n(6844);class F{computeDiff(e,t,n){const i=new H(e,t,{maxComputationTime:n.maxComputationTimeMs,shouldIgnoreTrimWhitespace:n.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),r=[];let s=null;for(const o of i.changes){let e,t;e=0===o.originalEndLineNumber?new x.M(o.originalStartLineNumber+1,o.originalStartLineNumber+1):new x.M(o.originalStartLineNumber,o.originalEndLineNumber+1),t=0===o.modifiedEndLineNumber?new x.M(o.modifiedStartLineNumber+1,o.modifiedStartLineNumber+1):new x.M(o.modifiedStartLineNumber,o.modifiedEndLineNumber+1);let n=new R(e,t,o.charChanges?.map((e=>new O(new u.Q(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new u.Q(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));s&&(s.modified.endLineNumberExclusive!==n.modified.startLineNumber&&s.original.endLineNumberExclusive!==n.original.startLineNumber||(n=new R(s.original.join(n.original),s.modified.join(n.modified),s.innerChanges&&n.innerChanges?s.innerChanges.concat(n.innerChanges):void 0),r.pop())),r.push(n),s=n}return(0,N.Ft)((()=>(0,N.Xo)(r,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive<t.original.startLineNumber&&e.modified.endLineNumberExclusive<t.modified.startLineNumber)))),new w(r,[],i.quitEarly)}}function P(e,t,n,i){return new c(e,t,n).ComputeDiff(i)}class z{constructor(e){const t=[],n=[];for(let i=0,r=e.length;i<r;i++)t[i]=U(e[i],1),n[i]=j(e[i],1);this.lines=e,this._startColumns=t,this._endColumns=n}getElements(){const e=[];for(let t=0,n=this.lines.length;t<n;t++)e[t]=this.lines[t].substring(this._startColumns[t]-1,this._endColumns[t]-1);return e}getStrictElement(e){return this.lines[e]}getStartLineNumber(e){return e+1}getEndLineNumber(e){return e+1}createCharSequence(e,t,n){const i=[],r=[],s=[];let o=0;for(let a=t;a<=n;a++){const t=this.lines[a],l=e?this._startColumns[a]:1,h=e?this._endColumns[a]:t.length+1;for(let e=l;e<h;e++)i[o]=t.charCodeAt(e-1),r[o]=a+1,s[o]=e,o++;!e&&a<n&&(i[o]=10,r[o]=a+1,s[o]=t.length+1,o++)}return new V(i,r,s)}}class V{constructor(e,t,n){this._charCodes=e,this._lineNumbers=t,this._columns=n}toString(){return"["+this._charCodes.map(((e,t)=>(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class W{constructor(e,t,n,i,r,s,o,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=i,this.modifiedStartLineNumber=r,this.modifiedStartColumn=s,this.modifiedEndLineNumber=o,this.modifiedEndColumn=a}static createFromDiffChange(e,t,n){const i=t.getStartLineNumber(e.originalStart),r=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),o=t.getEndColumn(e.originalStart+e.originalLength-1),a=n.getStartLineNumber(e.modifiedStart),l=n.getStartColumn(e.modifiedStart),h=n.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),c=n.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new W(i,r,s,o,a,l,h,c)}}class q{constructor(e,t,n,i,r){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=i,this.charChanges=r}static createFromDiffResult(e,t,n,i,r,s,o){let a,l,h,c,u;if(0===t.originalLength?(a=n.getStartLineNumber(t.originalStart)-1,l=0):(a=n.getStartLineNumber(t.originalStart),l=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(h=i.getStartLineNumber(t.modifiedStart)-1,c=0):(h=i.getStartLineNumber(t.modifiedStart),c=i.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),s&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&r()){const s=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=i.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(s.getElements().length>0&&a.getElements().length>0){let e=P(s,a,r,!0).changes;o&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let n=t[0];for(let i=1,r=e.length;i<r;i++){const r=e[i],s=r.originalStart-(n.originalStart+n.originalLength),o=r.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(s,o)<3?(n.originalLength=r.originalStart+r.originalLength-n.originalStart,n.modifiedLength=r.modifiedStart+r.modifiedLength-n.modifiedStart):(t.push(r),n=r)}return t}(e)),u=[];for(let t=0,n=e.length;t<n;t++)u.push(W.createFromDiffChange(e[t],s,a))}}return new q(a,l,h,c,u)}}class H{constructor(e,t,n){this.shouldComputeCharChanges=n.shouldComputeCharChanges,this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.originalLines=e,this.modifiedLines=t,this.original=new z(e),this.modified=new z(t),this.continueLineDiff=K(n.maxComputationTime),this.continueCharDiff=K(0===n.maxComputationTime?0:Math.min(n.maxComputationTime,5e3))}computeDiff(){if(1===this.original.lines.length&&0===this.original.lines[0].length)return 1===this.modified.lines.length&&0===this.modified.lines[0].length?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]};if(1===this.modified.lines.length&&0===this.modified.lines[0].length)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};const e=P(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),t=e.changes,n=e.quitEarly;if(this.shouldIgnoreTrimWhitespace){const e=[];for(let n=0,i=t.length;n<i;n++)e.push(q.createFromDiffResult(this.shouldIgnoreTrimWhitespace,t[n],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:n,changes:e}}const i=[];let r=0,s=0;for(let o=-1,a=t.length;o<a;o++){const e=o+1<a?t[o+1]:null,n=e?e.originalStart:this.originalLines.length,l=e?e.modifiedStart:this.modifiedLines.length;for(;r<n&&s<l;){const e=this.originalLines[r],t=this.modifiedLines[s];if(e!==t){{let n=U(e,1),o=U(t,1);for(;n>1&&o>1;){if(e.charCodeAt(n-2)!==t.charCodeAt(o-2))break;n--,o--}(n>1||o>1)&&this._pushTrimWhitespaceCharChange(i,r+1,1,n,s+1,1,o)}{let n=j(e,1),o=j(t,1);const a=e.length+1,l=t.length+1;for(;n<a&&o<l;){if(e.charCodeAt(n-1)!==e.charCodeAt(o-1))break;n++,o++}(n<a||o<l)&&this._pushTrimWhitespaceCharChange(i,r+1,n,a,s+1,o,l)}}r++,s++}e&&(i.push(q.createFromDiffResult(this.shouldIgnoreTrimWhitespace,e,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),r+=e.originalLength,s+=e.modifiedLength)}return{quitEarly:n,changes:i}}_pushTrimWhitespaceCharChange(e,t,n,i,r,s,o){if(this._mergeTrimWhitespaceCharChange(e,t,n,i,r,s,o))return;let a;this.shouldComputeCharChanges&&(a=[new W(t,n,t,i,r,s,r,o)]),e.push(new q(t,t,r,r,a))}_mergeTrimWhitespaceCharChange(e,t,n,i,r,s,o){const a=e.length;if(0===a)return!1;const l=e[a-1];return 0!==l.originalEndLineNumber&&0!==l.modifiedEndLineNumber&&(l.originalEndLineNumber===t&&l.modifiedEndLineNumber===r?(this.shouldComputeCharChanges&&l.charChanges&&l.charChanges.push(new W(t,n,t,i,r,s,r,o)),!0):l.originalEndLineNumber+1===t&&l.modifiedEndLineNumber+1===r&&(l.originalEndLineNumber=t,l.modifiedEndLineNumber=r,this.shouldComputeCharChanges&&l.charChanges&&l.charChanges.push(new W(t,n,t,i,r,s,r,o)),!0))}}function U(e,t){const n=B.HG(e);return-1===n?t:n+1}function j(e,t){const n=B.lT(e);return-1===n?t:n+2}function K(e){if(0===e)return()=>!0;const t=Date.now();return()=>Date.now()-t<e}var $=n(3338);class G{static trivial(e,t){return new G([new Q(I.L.ofLength(e.length),I.L.ofLength(t.length))],!1)}static trivialTimedOut(e,t){return new G([new Q(I.L.ofLength(e.length),I.L.ofLength(t.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}}class Q{static invert(e,t){const n=[];return(0,$.pN)(e,((e,i)=>{n.push(Q.fromOffsetPairs(e?e.getEndExclusives():Y.zero,i?i.getStarts():new Y(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),n}static fromOffsetPairs(e,t){return new Q(new I.L(e.offset1,t.offset1),new I.L(e.offset2,t.offset2))}static assertSorted(e){let t;for(const n of e){if(t&&!(t.seq1Range.endExclusive<=n.seq1Range.start&&t.seq2Range.endExclusive<=n.seq2Range.start))throw new S.D7("Sequence diffs must be sorted");t=n}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new Q(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new Q(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new Q(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new Q(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new Q(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),n=this.seq2Range.intersect(e.seq2Range);if(t&&n)return new Q(t,n)}getStarts(){return new Y(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new Y(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class Y{static{this.zero=new Y(0,0)}static{this.max=new Y(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new Y(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}class X{static{this.instance=new X}isValid(){return!0}}class Z{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new S.D7("timeout must be positive")}isValid(){return!(Date.now()-this.startTime<this.timeout)&&this.valid&&(this.valid=!1),this.valid}}class J{constructor(e,t){this.width=e,this.height=t,this.array=[],this.array=new Array(e*t)}get(e,t){return this.array[e+t*this.width]}set(e,t,n){this.array[e+t*this.width]=n}}function ee(e){return 32===e||9===e}class te{static{this.chrKeys=new Map}static getKey(e){let t=this.chrKeys.get(e);return void 0===t&&(t=this.chrKeys.size,this.chrKeys.set(e,t)),t}constructor(e,t,n){this.range=e,this.lines=t,this.source=n,this.histogram=[];let i=0;for(let r=e.startLineNumber-1;r<e.endLineNumberExclusive-1;r++){const e=t[r];for(let t=0;t<e.length;t++){i++;const n=e[t],r=te.getKey(n);this.histogram[r]=(this.histogram[r]||0)+1}i++;const n=te.getKey("\n");this.histogram[n]=(this.histogram[n]||0)+1}this.totalCount=i}computeSimilarity(e){let t=0;const n=Math.max(this.histogram.length,e.histogram.length);for(let i=0;i<n;i++)t+=Math.abs((this.histogram[i]??0)-(e.histogram[i]??0));return 1-t/(this.totalCount+e.totalCount)}}class ne{compute(e,t,n=X.instance,i){if(0===e.length||0===t.length)return G.trivial(e,t);const r=new J(e.length,t.length),s=new J(e.length,t.length),o=new J(e.length,t.length);for(let g=0;g<e.length;g++)for(let a=0;a<t.length;a++){if(!n.isValid())return G.trivialTimedOut(e,t);const l=0===g?0:r.get(g-1,a),h=0===a?0:r.get(g,a-1);let c;e.getElement(g)===t.getElement(a)?(c=0===g||0===a?0:r.get(g-1,a-1),g>0&&a>0&&3===s.get(g-1,a-1)&&(c+=o.get(g-1,a-1)),c+=i?i(g,a):1):c=-1;const u=Math.max(l,h,c);if(u===c){const e=g>0&&a>0?o.get(g-1,a-1):0;o.set(g,a,e+1),s.set(g,a,3)}else u===l?(o.set(g,a,0),s.set(g,a,1)):u===h&&(o.set(g,a,0),s.set(g,a,2));r.set(g,a,u)}const a=[];let l=e.length,h=t.length;function c(e,t){e+1===l&&t+1===h||a.push(new Q(new I.L(e+1,l),new I.L(t+1,h))),l=e,h=t}let u=e.length-1,d=t.length-1;for(;u>=0&&d>=0;)3===s.get(u,d)?(c(u,d),u--,d--):1===s.get(u,d)?u--:d--;return c(-1,-1),a.reverse(),new G(a,!1)}}class ie{compute(e,t,n=X.instance){if(0===e.length||0===t.length)return G.trivial(e,t);const i=e,r=t;function s(e,t){for(;e<i.length&&t<r.length&&i.getElement(e)===r.getElement(t);)e++,t++;return e}let o=0;const a=new se;a.set(0,s(0,0));const l=new oe;l.set(0,0===a.get(0)?null:new re(null,0,0,a.get(0)));let h=0;e:for(;;){if(o++,!n.isValid())return G.trivialTimedOut(i,r);const e=-Math.min(o,r.length+o%2),t=Math.min(o,i.length+o%2);for(h=e;h<=t;h+=2){let n=0;const o=h===t?-1:a.get(h+1),c=h===e?-1:a.get(h-1)+1;n++;const u=Math.min(Math.max(o,c),i.length),d=u-h;if(n++,u>i.length||d>r.length)continue;const g=s(u,d);a.set(h,g);const f=u===o?l.get(h+1):l.get(h-1);if(l.set(h,g!==u?new re(f,u,d,g-u):f),a.get(h)===i.length&&a.get(h)-h===r.length)break e}}let c=l.get(h);const u=[];let d=i.length,g=r.length;for(;;){const e=c?c.x+c.length:0,t=c?c.y+c.length:0;if(e===d&&t===g||u.push(new Q(new I.L(e,d),new I.L(t,g))),!c)break;d=c.x,g=c.y,c=c.prev}return u.reverse(),new G(u,!1)}}class re{constructor(e,t,n,i){this.prev=e,this.x=t,this.y=n,this.length=i}}class se{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class oe{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}var ae=n(7393),le=n(7992);class he{constructor(e,t,n){this.lines=e,this.range=t,this.considerWhitespaceChanges=n,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let i=this.range.startLineNumber;i<=this.range.endLineNumber;i++){let t=e[i-1],r=0;i===this.range.startLineNumber&&this.range.startColumn>1&&(r=this.range.startColumn-1,t=t.substring(r)),this.lineStartOffsets.push(r);let s=0;if(!n){const e=t.trimStart();s=t.length-e.length,t=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(s);const o=i===this.range.endLineNumber?Math.min(this.range.endColumn-1-r-s,t.length):t.length;for(let e=0;e<o;e++)this.elements.push(t.charCodeAt(e));i<this.range.endLineNumber&&(this.elements.push("\n".charCodeAt(0)),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new I.L(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map((e=>String.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=ge(e>0?this.elements[e-1]:-1),n=ge(e<this.elements.length?this.elements[e]:-1);if(7===t&&8===n)return 0;if(8===t)return 150;let i=0;return t!==n&&(i+=10,0===t&&1===n&&(i+=1)),i+=de(t),i+=de(n),i}translateOffset(e,t="right"){const n=(0,ae.iM)(this.firstElementOffsetByLineIdx,(t=>t<=e)),i=e-this.firstElementOffsetByLineIdx[n];return new E.y(this.range.startLineNumber+n,1+this.lineStartOffsets[n]+i+(0===i&&"left"===t?0:this.trimmedWsLengthsByLineIdx[n]))}translateRange(e){const t=this.translateOffset(e.start,"right"),n=this.translateOffset(e.endExclusive,"left");return n.isBefore(t)?u.Q.fromPositions(n,n):u.Q.fromPositions(t,n)}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!ce(this.elements[e]))return;let t=e;for(;t>0&&ce(this.elements[t-1]);)t--;let n=e;for(;n<this.elements.length&&ce(this.elements[n]);)n++;return new I.L(t,n)}countLinesIn(e){return this.translateOffset(e.endExclusive).lineNumber-this.translateOffset(e.start).lineNumber}isStronglyEqual(e,t){return this.elements[e]===this.elements[t]}extendToFullLines(e){const t=(0,ae.lx)(this.firstElementOffsetByLineIdx,(t=>t<=e.start))??0,n=(0,ae.XP)(this.firstElementOffsetByLineIdx,(t=>e.endExclusive<=t))??this.elements.length;return new I.L(t,n)}}function ce(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const ue={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function de(e){return ue[e]}function ge(e){return 10===e?8:13===e?7:ee(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function fe(e,t,n,i,r,s){let{moves:o,excludedChanges:a}=function(e,t,n,i){const r=[],s=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new te(e.original,t,e))),o=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new te(e.modified,n,e)))),a=new Set;for(const l of s){let e,t=-1;for(const n of o){const i=l.computeSimilarity(n);i>t&&(t=i,e=n)}if(t>.9&&e&&(o.delete(e),r.push(new A(l.range,e.range)),a.add(l.source),a.add(e.source)),!i.isValid())return{moves:r,excludedChanges:a}}return{moves:r,excludedChanges:a}}(e,t,n,s);if(!s.isValid())return[];const l=function(e,t,n,i,r,s){const o=[],a=new le.db;for(const d of e)for(let e=d.original.startLineNumber;e<d.original.endLineNumberExclusive-2;e++){const n=`${t[e-1]}:${t[e+1-1]}:${t[e+2-1]}`;a.add(n,{range:new x.M(e,e+3)})}const l=[];e.sort((0,$.VE)((e=>e.modified.startLineNumber),$.U9));for(const d of e){let e=[];for(let t=d.modified.startLineNumber;t<d.modified.endLineNumberExclusive-2;t++){const i=`${n[t-1]}:${n[t+1-1]}:${n[t+2-1]}`,r=new x.M(t,t+3),s=[];a.forEach(i,(({range:t})=>{for(const i of e)if(i.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&i.modifiedLineRange.endLineNumberExclusive+1===r.endLineNumberExclusive)return i.originalLineRange=new x.M(i.originalLineRange.startLineNumber,t.endLineNumberExclusive),i.modifiedLineRange=new x.M(i.modifiedLineRange.startLineNumber,r.endLineNumberExclusive),void s.push(i);const n={modifiedLineRange:r,originalLineRange:t};l.push(n),s.push(n)})),e=s}if(!s.isValid())return[]}l.sort((0,$.Hw)((0,$.VE)((e=>e.modifiedLineRange.length),$.U9)));const h=new x.S,c=new x.S;for(const d of l){const e=d.modifiedLineRange.startLineNumber-d.originalLineRange.startLineNumber,t=h.subtractFrom(d.modifiedLineRange),n=c.subtractFrom(d.originalLineRange).getWithDelta(e),i=t.getIntersection(n);for(const r of i.ranges){if(r.length<3)continue;const t=r,n=r.delta(-e);o.push(new A(n,t)),h.addRange(t),c.addRange(n)}}o.sort((0,$.VE)((e=>e.original.startLineNumber),$.U9));const u=new ae.vJ(e);for(let d=0;d<o.length;d++){const t=o[d],n=u.findLastMonotonous((e=>e.original.startLineNumber<=t.original.startLineNumber)),a=(0,ae.lx)(e,(e=>e.modified.startLineNumber<=t.modified.startLineNumber)),l=Math.max(t.original.startLineNumber-n.original.startLineNumber,t.modified.startLineNumber-a.modified.startLineNumber),g=u.findLastMonotonous((e=>e.original.startLineNumber<t.original.endLineNumberExclusive)),f=(0,ae.lx)(e,(e=>e.modified.startLineNumber<t.modified.endLineNumberExclusive)),m=Math.max(g.original.endLineNumberExclusive-t.original.endLineNumberExclusive,f.modified.endLineNumberExclusive-t.modified.endLineNumberExclusive);let p,_;for(p=0;p<l;p++){const e=t.original.startLineNumber-p-1,n=t.modified.startLineNumber-p-1;if(e>i.length||n>r.length)break;if(h.contains(n)||c.contains(e))break;if(!me(i[e-1],r[n-1],s))break}for(p>0&&(c.addRange(new x.M(t.original.startLineNumber-p,t.original.startLineNumber)),h.addRange(new x.M(t.modified.startLineNumber-p,t.modified.startLineNumber))),_=0;_<m;_++){const e=t.original.endLineNumberExclusive+_,n=t.modified.endLineNumberExclusive+_;if(e>i.length||n>r.length)break;if(h.contains(n)||c.contains(e))break;if(!me(i[e-1],r[n-1],s))break}_>0&&(c.addRange(new x.M(t.original.endLineNumberExclusive,t.original.endLineNumberExclusive+_)),h.addRange(new x.M(t.modified.endLineNumberExclusive,t.modified.endLineNumberExclusive+_))),(p>0||_>0)&&(o[d]=new A(new x.M(t.original.startLineNumber-p,t.original.endLineNumberExclusive+_),new x.M(t.modified.startLineNumber-p,t.modified.endLineNumberExclusive+_)))}return o}(e.filter((e=>!a.has(e))),i,r,t,n,s);return(0,$.E4)(o,l),o=function(e){if(0===e.length)return e;e.sort((0,$.VE)((e=>e.original.startLineNumber),$.U9));const t=[e[0]];for(let n=1;n<e.length;n++){const i=t[t.length-1],r=e[n],s=r.original.startLineNumber-i.original.endLineNumberExclusive,o=r.modified.startLineNumber-i.modified.endLineNumberExclusive;s>=0&&o>=0&&s+o<=2?t[t.length-1]=i.join(r):t.push(r)}return t}(o),o=o.filter((e=>{const n=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return n.join("\n").length>=15&&function(e,t){let n=0;for(const i of e)t(i)&&n++;return n}(n,(e=>e.length>=2))>=2})),o=function(e,t){const n=new ae.vJ(e);return t=t.filter((t=>(n.findLastMonotonous((e=>e.original.startLineNumber<t.original.endLineNumberExclusive))||new A(new x.M(1,1),new x.M(1,1)))!==(0,ae.lx)(e,(e=>e.modified.startLineNumber<t.modified.endLineNumberExclusive)))),t}(e,o),o}function me(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const i=(new ie).compute(new he([e],new u.Q(1,1,1,e.length),!1),new he([t],new u.Q(1,1,1,t.length),!1),n);let r=0;const s=Q.invert(i.diffs,e.length);for(const a of s)a.seq1Range.forEach((t=>{ee(e.charCodeAt(t))||r++}));const o=function(t){let n=0;for(let i=0;i<e.length;i++)ee(t.charCodeAt(i))||n++;return n}(e.length>t.length?e:t);return r/o>.6&&o>10}function pe(e,t,n){let i=n;return i=_e(e,t,i),i=_e(e,t,i),i=function(e,t,n){if(!e.getBoundaryScore||!t.getBoundaryScore)return n;for(let i=0;i<n.length;i++){const r=i>0?n[i-1]:void 0,s=n[i],o=i+1<n.length?n[i+1]:void 0,a=new I.L(r?r.seq1Range.endExclusive+1:0,o?o.seq1Range.start-1:e.length),l=new I.L(r?r.seq2Range.endExclusive+1:0,o?o.seq2Range.start-1:t.length);s.seq1Range.isEmpty?n[i]=be(s,e,t,a,l):s.seq2Range.isEmpty&&(n[i]=be(s.swap(),t,e,l,a).swap())}return n}(e,t,i),i}function _e(e,t,n){if(0===n.length)return n;const i=[];i.push(n[0]);for(let s=1;s<n.length;s++){const r=i[i.length-1];let o=n[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const n=o.seq1Range.start-r.seq1Range.endExclusive;let s;for(s=1;s<=n&&(e.getElement(o.seq1Range.start-s)===e.getElement(o.seq1Range.endExclusive-s)&&t.getElement(o.seq2Range.start-s)===t.getElement(o.seq2Range.endExclusive-s));s++);if(s--,s===n){i[i.length-1]=new Q(new I.L(r.seq1Range.start,o.seq1Range.endExclusive-n),new I.L(r.seq2Range.start,o.seq2Range.endExclusive-n));continue}o=o.delta(-s)}i.push(o)}const r=[];for(let s=0;s<i.length-1;s++){const n=i[s+1];let o=i[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const r=n.seq1Range.start-o.seq1Range.endExclusive;let a;for(a=0;a<r&&(e.isStronglyEqual(o.seq1Range.start+a,o.seq1Range.endExclusive+a)&&t.isStronglyEqual(o.seq2Range.start+a,o.seq2Range.endExclusive+a));a++);if(a===r){i[s+1]=new Q(new I.L(o.seq1Range.start+r,n.seq1Range.endExclusive),new I.L(o.seq2Range.start+r,n.seq2Range.endExclusive));continue}a>0&&(o=o.delta(a))}r.push(o)}return i.length>0&&r.push(i[i.length-1]),r}function be(e,t,n,i,r){let s=1;for(;e.seq1Range.start-s>=i.start&&e.seq2Range.start-s>=r.start&&n.isStronglyEqual(e.seq2Range.start-s,e.seq2Range.endExclusive-s)&&s<100;)s++;s--;let o=0;for(;e.seq1Range.start+o<i.endExclusive&&e.seq2Range.endExclusive+o<r.endExclusive&&n.isStronglyEqual(e.seq2Range.start+o,e.seq2Range.endExclusive+o)&&o<100;)o++;if(0===s&&0===o)return e;let a=0,l=-1;for(let h=-s;h<=o;h++){const i=e.seq2Range.start+h,r=e.seq2Range.endExclusive+h,s=e.seq1Range.start+h,o=t.getBoundaryScore(s)+n.getBoundaryScore(i)+n.getBoundaryScore(r);o>l&&(l=o,a=h)}return e.delta(a)}class ke{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:ve(this.lines[e-1]))+(e===this.lines.length?0:ve(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function ve(e){let t=0;for(;t<e.length&&(32===e.charCodeAt(t)||9===e.charCodeAt(t));)t++;return t}class Ce{constructor(){this.dynamicProgrammingDiffing=new ne,this.myersDiffingAlgorithm=new ie}computeDiff(e,t,n){if(e.length<=1&&(0,$.aI)(e,t,((e,t)=>e===t)))return new w([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new w([new R(new x.M(1,e.length+1),new x.M(1,t.length+1),[new O(new u.Q(1,1,e.length,e[e.length-1].length+1),new u.Q(1,1,t.length,t[t.length-1].length+1))])],[],!1);const i=0===n.maxComputationTimeMs?X.instance:new Z(n.maxComputationTimeMs),r=!n.ignoreTrimWhitespace,s=new Map;function o(e){let t=s.get(e);return void 0===t&&(t=s.size,s.set(e,t)),t}const a=e.map((e=>o(e.trim()))),l=t.map((e=>o(e.trim()))),h=new ke(a,e),c=new ke(l,t),d=(()=>h.length+c.length<1700?this.dynamicProgrammingDiffing.compute(h,c,i,((n,i)=>e[n]===t[i]?0===t[i].length?.1:1+Math.log(1+t[i].length):.99)):this.myersDiffingAlgorithm.compute(h,c,i))();let g=d.diffs,f=d.hitTimeout;g=pe(h,c,g),g=function(e,t,n){let i=n;if(0===i.length)return i;let r,s=0;do{r=!1;const o=[i[0]];for(let a=1;a<i.length;a++){const l=i[a],h=o[o.length-1];function c(t,n){const i=new I.L(h.seq1Range.endExclusive,l.seq1Range.start);return e.getText(i).replace(/\s/g,"").length<=4&&(t.seq1Range.length+t.seq2Range.length>5||n.seq1Range.length+n.seq2Range.length>5)}c(h,l)?(r=!0,o[o.length-1]=o[o.length-1].join(l)):o.push(l)}i=o}while(s++<10&&r);return i}(h,0,g);const m=[],p=n=>{if(r)for(let s=0;s<n;s++){const n=_+s,o=b+s;if(e[n]!==t[o]){const s=this.refineDiff(e,t,new Q(new I.L(n,n+1),new I.L(o,o+1)),i,r);for(const e of s.mappings)m.push(e);s.hitTimeout&&(f=!0)}}};let _=0,b=0;for(const u of g){(0,N.Ft)((()=>u.seq1Range.start-_==u.seq2Range.start-b));p(u.seq1Range.start-_),_=u.seq1Range.endExclusive,b=u.seq2Range.endExclusive;const n=this.refineDiff(e,t,u,i,r);n.hitTimeout&&(f=!0);for(const e of n.mappings)m.push(e)}p(e.length-_);const k=Le(m,e,t);let v=[];return n.computeMoves&&(v=this.computeMoves(k,e,t,a,l,i,r)),(0,N.Ft)((()=>{function n(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const n=t[e.lineNumber-1];return!(e.column<1||e.column>n.length+1)}function i(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1)&&!(e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const r of k){if(!r.innerChanges)return!1;for(const i of r.innerChanges){if(!(n(i.modifiedRange.getStartPosition(),t)&&n(i.modifiedRange.getEndPosition(),t)&&n(i.originalRange.getStartPosition(),e)&&n(i.originalRange.getEndPosition(),e)))return!1}if(!i(r.modified,t)||!i(r.original,e))return!1}return!0})),new w(k,v,f)}computeMoves(e,t,n,i,r,s,o){return fe(e,t,n,i,r,s).map((e=>{const i=Le(this.refineDiff(t,n,new Q(e.original.toOffsetRange(),e.modified.toOffsetRange()),s,o).mappings,t,n,!0);return new y(e,i)}))}refineDiff(e,t,n,i,r){var s;const o=(s=n,new A(new x.M(s.seq1Range.start+1,s.seq1Range.endExclusive+1),new x.M(s.seq2Range.start+1,s.seq2Range.endExclusive+1))).toRangeMapping2(e,t),a=new he(e,o.originalRange,r),l=new he(t,o.modifiedRange,r),h=a.length+l.length<500?this.dynamicProgrammingDiffing.compute(a,l,i):this.myersDiffingAlgorithm.compute(a,l,i),c=!1;let u=h.diffs;u=pe(a,l,u),u=function(e,t,n){const i=Q.invert(n,e.length),r=[];let s=new Y(0,0);function o(n,o){if(n.offset1<s.offset1||n.offset2<s.offset2)return;const a=e.findWordContaining(n.offset1),l=t.findWordContaining(n.offset2);if(!a||!l)return;let h=new Q(a,l);const c=h.intersect(o);let u=c.seq1Range.length,d=c.seq2Range.length;for(;i.length>0;){const n=i[0];if(!n.seq1Range.intersects(h.seq1Range)&&!n.seq2Range.intersects(h.seq2Range))break;const r=e.findWordContaining(n.seq1Range.start),s=t.findWordContaining(n.seq2Range.start),o=new Q(r,s),a=o.intersect(n);if(u+=a.seq1Range.length,d+=a.seq2Range.length,h=h.join(o),!(h.seq1Range.endExclusive>=n.seq1Range.endExclusive))break;i.shift()}u+d<2*(h.seq1Range.length+h.seq2Range.length)/3&&r.push(h),s=h.getEndExclusives()}for(;i.length>0;){const e=i.shift();e.seq1Range.isEmpty||(o(e.getStarts(),e),o(e.getEndExclusives().delta(-1),e))}return function(e,t){const n=[];for(;e.length>0||t.length>0;){const i=e[0],r=t[0];let s;s=i&&(!r||i.seq1Range.start<r.seq1Range.start)?e.shift():t.shift(),n.length>0&&n[n.length-1].seq1Range.endExclusive>=s.seq1Range.start?n[n.length-1]=n[n.length-1].join(s):n.push(s)}return n}(n,r)}(a,l,u),u=function(e,t,n){const i=[];for(const r of n){const e=i[i.length-1];e&&(r.seq1Range.start-e.seq1Range.endExclusive<=2||r.seq2Range.start-e.seq2Range.endExclusive<=2)?i[i.length-1]=new Q(e.seq1Range.join(r.seq1Range),e.seq2Range.join(r.seq2Range)):i.push(r)}return i}(0,0,u),u=function(e,t,n){let i=n;if(0===i.length)return i;let r,s=0;do{r=!1;const a=[i[0]];for(let l=1;l<i.length;l++){const h=i[l],c=a[a.length-1];function u(n,i){const r=new I.L(c.seq1Range.endExclusive,h.seq1Range.start);if(e.countLinesIn(r)>5||r.length>500)return!1;const s=e.getText(r).trim();if(s.length>20||s.split(/\r\n|\r|\n/).length>1)return!1;const o=e.countLinesIn(n.seq1Range),a=n.seq1Range.length,l=t.countLinesIn(n.seq2Range),u=n.seq2Range.length,d=e.countLinesIn(i.seq1Range),g=i.seq1Range.length,f=t.countLinesIn(i.seq2Range),m=i.seq2Range.length;function p(e){return Math.min(e,130)}return Math.pow(Math.pow(p(40*o+a),1.5)+Math.pow(p(40*l+u),1.5),1.5)+Math.pow(Math.pow(p(40*d+g),1.5)+Math.pow(p(40*f+m),1.5),1.5)>74184.96480721243}u(c,h)?(r=!0,a[a.length-1]=a[a.length-1].join(h)):a.push(h)}i=a}while(s++<10&&r);const o=[];return(0,$.kj)(i,((t,n,i)=>{let r=n;function s(e){return e.length>0&&e.trim().length<=3&&n.seq1Range.length+n.seq2Range.length>100}const a=e.extendToFullLines(n.seq1Range),l=e.getText(new I.L(a.start,n.seq1Range.start));s(l)&&(r=r.deltaStart(-l.length));const h=e.getText(new I.L(n.seq1Range.endExclusive,a.endExclusive));s(h)&&(r=r.deltaEnd(h.length));const c=Q.fromOffsetPairs(t?t.getEndExclusives():Y.zero,i?i.getStarts():Y.max),u=r.intersect(c);o.length>0&&u.getStarts().equals(o[o.length-1].getEndExclusives())?o[o.length-1]=o[o.length-1].join(u):o.push(u)})),o}(a,l,u);const d=u.map((e=>new O(a.translateRange(e.seq1Range),l.translateRange(e.seq2Range))));return{mappings:d,hitTimeout:h.hitTimeout}}}function Le(e,t,n,i=!1){const r=[];for(const s of(0,$.n)(e.map((e=>function(e,t,n){let i=0,r=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+i<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+i<=e.modifiedRange.endLineNumber&&(r=-1);e.modifiedRange.startColumn-1>=n[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+r&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+r&&(i=1);const s=new x.M(e.originalRange.startLineNumber+i,e.originalRange.endLineNumber+1+r),o=new x.M(e.modifiedRange.startLineNumber+i,e.modifiedRange.endLineNumber+1+r);return new R(s,o,[e])}(e,t,n))),((e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified)))){const e=s[0],t=s[s.length-1];r.push(new R(e.original.join(t.original),e.modified.join(t.modified),s.map((e=>e.innerChanges[0]))))}return(0,N.Ft)((()=>{if(!i&&r.length>0){if(r[0].modified.startLineNumber!==r[0].original.startLineNumber)return!1;if(n.length-r[r.length-1].modified.endLineNumberExclusive!=t.length-r[r.length-1].original.endLineNumberExclusive)return!1}return(0,N.Xo)(r,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive<t.original.startLineNumber&&e.modified.endLineNumberExclusive<t.modified.startLineNumber))})),r}const we=()=>new F,ye=()=>new Ce;var Se=n(1386),xe=n(3072),Ee=n(4901);function Ne(e){const t=[];for(const n of e){const e=Number(n);(e||0===e&&""!==n.replace(/\s/g,""))&&t.push(e)}return t}function Ie(e,t,n,i){return{red:e/255,blue:n/255,green:t/255,alpha:i}}function Te(e,t){const n=t.index,i=t[0].length;if(!n)return;const r=e.positionAt(n);return{startLineNumber:r.lineNumber,startColumn:r.column,endLineNumber:r.lineNumber,endColumn:r.column+i}}function Ae(e,t){if(!e)return;const n=Ee.Q1.Format.CSS.parseHex(t);return n?{range:e,color:Ie(n.rgba.r,n.rgba.g,n.rgba.b,n.rgba.a)}:void 0}function De(e,t,n){if(!e||1!==t.length)return;const i=Ne(t[0].values());return{range:e,color:Ie(i[0],i[1],i[2],n?i[3]:1)}}function Me(e,t,n){if(!e||1!==t.length)return;const i=Ne(t[0].values()),r=new Ee.Q1(new Ee.hB(i[0],i[1]/100,i[2]/100,n?i[3]:1));return{range:e,color:Ie(r.rgba.r,r.rgba.g,r.rgba.b,r.rgba.a)}}function Re(e,t){return"string"==typeof e?[...e.matchAll(t)]:e.findMatches(t)}function Oe(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],n=Re(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/gm);if(n.length>0)for(const i of n){const n=i.filter((e=>void 0!==e)),r=n[1],s=n[2];if(!s)continue;let o;if("rgb"===r){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;o=De(Te(e,i),Re(s,t),!1)}else if("rgba"===r){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=De(Te(e,i),Re(s,t),!0)}else if("hsl"===r){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;o=Me(Te(e,i),Re(s,t),!1)}else if("hsla"===r){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Me(Te(e,i),Re(s,t),!0)}else"#"===r&&(o=Ae(Te(e,i),r+s));o&&t.push(o)}return t}(e):[]}var Be=n(9307),Fe=n(1507);class Pe{constructor(){this._workerTextModelSyncServer=new Fe.WorkerTextModelSyncServer}dispose(){}_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){const i=this._getModel(e);return i?L.UnicodeTextModelHighlighter.computeUnicodeHighlights(i,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){const n=this._getModel(e);return n?(0,Be.findSectionHeaders)(n,t):[]}async $computeDiff(e,t,n,i){const r=this._getModel(e),s=this._getModel(t);if(!r||!s)return null;return ze.computeDiff(r,s,n,i)}static computeDiff(e,t,n,i){const r="advanced"===i?ye():we(),s=e.getLinesContent(),o=t.getLinesContent(),a=r.computeDiff(s,o,n);function l(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:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:l(a.changes),moves:a.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)]))}}static _modelsAreIdentical(e,t){const n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let i=1;i<=n;i++){if(e.getLineContent(i)!==t.getLineContent(i))return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(e,t,n){const i=this._getModel(e);if(!i)return t;const r=[];let s;t=t.slice(0).sort(((e,t)=>{if(e.range&&t.range)return u.Q.compareRangesUsingStarts(e.range,t.range);return(e.range?0:1)-(t.range?0:1)}));let a=0;for(let o=1;o<t.length;o++)u.Q.getEndPosition(t[a].range).equals(u.Q.getStartPosition(t[o].range))?(t[a].range=u.Q.fromPositions(u.Q.getStartPosition(t[a].range),u.Q.getEndPosition(t[o].range)),t[a].text+=t[o].text):(a++,t[a]=t[o]);t.length=a+1;for(let{range:l,text:h,eol:c}of t){if("number"==typeof c&&(s=c),u.Q.isEmpty(l)&&!h)continue;const e=i.getValueInRange(l);if(h=h.replace(/\r\n|\n|\r/g,i.eol),e===h)continue;if(Math.max(h.length,e.length)>ze._diffLimit){r.push({range:l,text:h});continue}const t=o(e,h,n),a=i.offsetAt(u.Q.lift(l).getStartPosition());for(const n of t){const e=i.positionAt(a+n.originalStart),t=i.positionAt(a+n.originalStart+n.originalLength),s={text:h.substr(n.modifiedStart,n.modifiedLength),range:{startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:t.lineNumber,endColumn:t.column}};i.getValueInRange(s.range)!==s.text&&r.push(s)}}return"number"==typeof s&&r.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r}async $computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?_.computeLinks(e):[]}(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?Oe(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(e,t,n,i){const r=new C.W,s=new RegExp(n,i),o=new Set;e:for(const a of e){const e=this._getModel(a);if(e)for(const n of e.words(s))if(n!==t&&isNaN(Number(n))&&(o.add(n),o.size>ze._suggestionsLimit))break e}return{words:Array.from(o),duration:r.elapsed()}}async $computeWordRanges(e,t,n,i){const r=this._getModel(e);if(!r)return Object.create(null);const s=new RegExp(n,i),o=Object.create(null);for(let a=t.startLineNumber;a<t.endLineNumber;a++){const e=r.getLineWords(a,s);for(const t of e){if(!isNaN(Number(t.word)))continue;let e=o[t.word];e||(e=[],o[t.word]=e),e.push({startLineNumber:a,startColumn:t.startColumn,endLineNumber:a,endColumn:t.endColumn})}}return o}async $navigateValueSet(e,t,n,i,r){const s=this._getModel(e);if(!s)return null;const o=new RegExp(i,r);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});const a=s.getValueInRange(t),l=s.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!l)return null;const h=s.getValueInRange(l);return b.INSTANCE.navigateValueSet(t,a,l,h,n)}}class ze extends Pe{constructor(e,t){super(),this._host=e,this._foreignModuleFactory=t,this._foreignModule=null}async $ping(){return"pong"}$loadForeignModule(e,t,i){const r={host:(0,Se.kT)(i,((e,t)=>this._host.$fhr(e,t))),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve((0,Se.V0)(this._foreignModule))):new Promise(((i,s)=>{const o=e=>{this._foreignModule=e.create(r,t),i((0,Se.V0)(this._foreignModule))};{const t=xe.zl.asBrowserUri(`${e}.js`).toString(!0);n(9204)(`${t}`).then(o).catch(s)}}))}$fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(n){return Promise.reject(n)}}}function Ve(e){return new ze(v.EditorWorkerHost.getChannel(e),null)}"function"==typeof importScripts&&(globalThis.monaco=(0,k.createMonacoBaseAPI)())},304:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IEditorWorkerService:()=>i});const i=(0,n(2399).u1)("editorWorkerService")},6358:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EditorWorkerHost:()=>i});class i{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(e){return e.getChannel(i.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(i.CHANNEL_NAME,t)}}},9307:(e,t,n)=>{"use strict";n.r(t),n.d(t,{findSectionHeaders:()=>s});const i=new RegExp("\\bMARK:\\s*(.*)$","d"),r=/^-+|-+$/g;function s(e,t){let n=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){const i=function(e,t){const n=[],i=e.getLineCount();for(let r=1;r<=i;r++){const i=e.getLineContent(r),s=i.match(t.foldingRules.markers.start);if(s){const e={startLineNumber:r,startColumn:s[0].length+1,endLineNumber:r,endColumn:i.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(i.substring(s[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);n=n.concat(i)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let i=1;i<=n;i++){o(e.getLineContent(i),i,t)}return t}(e);n=n.concat(t)}return n}function o(e,t,n){i.lastIndex=0;const r=i.exec(e);if(r){const e={startLineNumber:t,startColumn:r.indices[1][0]+1,endLineNumber:t,endColumn:r.indices[1][1]+1};if(e.endColumn>e.startColumn){const t={range:e,...a(r[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&n.push(t)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(r,""),hasSeparatorLine:t}}},1048:(e,t,n)=>{"use strict";n.r(t),n.d(t,{getIconClasses:()=>d});var i,r=n(3072),s=n(2467),o=n(7264),a=n(4957);!function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(i||(i={}));var l,h,c=n(8391);!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(l||(l={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function n(e){const i=t.exec(e.id);if(!i)return n(c.W.error);const[,r,s]=i,o=["codicon","codicon-"+r];return s&&o.push("codicon-modifier-"+s.substring(1)),o}e.asClassNameArray=n,e.asClassName=function(e){return n(e).join(" ")},e.asCSSSelector=function(e){return"."+n(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||l.isThemeColor(e.color))};const i=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=i.exec(e);if(!t)return;const[,n]=t;return{id:n}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let n=e.id;const i=n.lastIndexOf("~");return-1!==i&&(n=n.substring(0,i)),t&&(n=`${n}~${t}`),{id:n}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){return e.id===t.id&&e.color?.id===t.color?.id}}(h||(h={}));const u=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function d(e,t,n,l,c){if(h.isThemeIcon(c))return[`codicon-${c.id}`,"predefined-file-icon"];if(o.r.isUri(c))return[];const d=l===i.ROOT_FOLDER?["rootfolder-icon"]:l===i.FOLDER?["folder-icon"]:["file-icon"];if(n){let o;if(n.scheme===r.ny.data){o=s.B6.parseMetaData(n).get(s.B6.META_DATA_LABEL)}else{const e=n.path.match(u);e?(o=g(e[2].toLowerCase()),e[1]&&d.push(`${g(e[1].toLowerCase())}-name-dir-icon`)):o=g(n.authority.toLowerCase())}if(l===i.ROOT_FOLDER)d.push(`${o}-root-name-folder-icon`);else if(l===i.FOLDER)d.push(`${o}-name-folder-icon`);else{if(o){if(d.push(`${o}-name-file-icon`),d.push("name-file-icon"),o.length<=255){const e=o.split(".");for(let t=1;t<e.length;t++)d.push(`${e.slice(t).join(".")}-ext-file-icon`)}d.push("ext-file-icon")}const i=function(e,t,n){if(!n)return null;let i=null;if(n.scheme===r.ny.data){const e=s.B6.parseMetaData(n).get(s.B6.META_DATA_MIME);e&&(i=t.getLanguageIdByMimeType(e))}else{const t=e.getModel(n);t&&(i=t.getLanguageId())}if(i&&i!==a.vH)return i;return t.guessLanguageIdByFilepathOrFirstLine(n)}(e,t,n);i&&d.push(`${g(i)}-lang-file-icon`)}}return d}function g(e){return e.replace(/[\s]/g,"/")}},3591:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ILanguageFeatureDebounceService:()=>m,LanguageFeatureDebounceService:()=>k});var i=n(2344),r=n(7992);function s(e,t,n){return Math.min(Math.max(e,t),n)}class o{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class a{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}var l=n(2399);const h=(0,l.u1)("environmentService");var c=n(4412),u=n(2321),d=n(3072),g=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},f=function(e,t){return function(n,i){t(n,i,e)}};const m=(0,l.u1)("ILanguageFeatureDebounceService");var p;!function(e){const t=new WeakMap;let n=0;e.of=function(e){let i=t.get(e);return void 0===i&&(i=++n,t.set(e,i)),i}}(p||(p={}));class _{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class b{constructor(e,t,n,i,s,o){this._logService=e,this._name=t,this._registry=n,this._default=i,this._min=s,this._max=o,this._cache=new r.qK(50,.7)}_key(e){return e.id+this._registry.all(e).reduce(((e,t)=>(0,i.sN)(p.of(t),e)),0)}get(e){const t=this._key(e),n=this._cache.get(t);return n?s(n.value,this._min,this._max):this.default()}update(e,t){const n=this._key(e);let i=this._cache.get(n);i||(i=new a(6),this._cache.set(n,i));const r=s(i.update(t),this._min,this._max);return(0,d.v$)(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${r}ms`),r}_overall(){const e=new o;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){return s(0|this._overall()||this._default,this._min,this._max)}}let k=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,n){const i=n?.min??50,r=n?.max??i**2,s=n?.key??void 0,o=`${p.of(e)},${i}${s?","+s:""}`;let a=this._data.get(o);return a||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),a=new _(1.5*i)):a=new b(this._logService,t,e,0|this._overallAverage()||1.5*i,i,r),this._data.set(o,a)),a}_overallAverage(){const e=new o;for(const t of this._data.values())e.update(t.default());return e.value}};k=g([f(0,u.rr),f(1,h)],k),(0,c.v)(m,k,1)},2230:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ILanguageFeaturesService:()=>i});const i=(0,n(2399).u1)("ILanguageFeaturesService")},3704:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageFeaturesService:()=>m});var i=n(2106),r=n(2446),s=n(6055),o=n(3958),a=n(1570);function l(e,t,n,i,r,s){if(Array.isArray(e)){let o=0;for(const a of e){const e=l(a,t,n,i,r,s);if(10===e)return e;e>o&&(o=e)}return o}if("string"==typeof e)return i?"*"===e?5:e===n?10:0:0;if(e){const{language:l,pattern:h,scheme:c,hasAccessToAllModels:u,notebookType:d}=e;if(!i&&!u)return 0;d&&r&&(t=r);let g=0;if(c)if(c===t.scheme)g=10;else{if("*"!==c)return 0;g=5}if(l)if(l===n)g=10;else{if("*"!==l)return 0;g=Math.max(g,5)}if(d)if(d===s)g=10;else{if("*"!==d||void 0===s)return 0;g=Math.max(g,5)}if(h){let e;if(e="string"==typeof h?h:{...h,base:(0,a.S8)(h.base)},e!==t.fsPath&&!(0,o.YW)(e,t.fsPath))return 0;g=10}return g}return 0}function h(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(h):!!e.exclusive)}class c{constructor(e,t,n,i,r){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=i,this.recursive=r}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}}class u{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new i.vl,this.onDidChange=this._onDidChange.event}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,r.s)((()=>{if(n){const e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const n of this._entries)n._score>0&&t.push(n.provider);return t}ordered(e,t=!1){const n=[];return this._orderedForEach(e,t,(e=>n.push(e.provider))),n}orderedGroups(e){const t=[];let n,i;return this._orderedForEach(e,!1,(e=>{n&&i===e._score?n.push(e.provider):(i=e._score,n=[e.provider],t.push(n))})),t}_orderedForEach(e,t,n){this._updateScores(e,t);for(const i of this._entries)i._score>0&&n(i)}_updateScores(e,t){const n=this._notebookInfoResolver?.(e.uri),i=n?new c(e.uri,e.getLanguageId(),n.uri,n.type,t):new c(e.uri,e.getLanguageId(),void 0,void 0,t);if(!this._lastCandidate?.equals(i)){this._lastCandidate=i;for(const n of this._entries)if(n._score=l(n.selector,i.uri,i.languageId,(0,s.vd)(e),i.notebookUri,i.notebookType),h(n.selector)&&n._score>0){if(!t){for(const e of this._entries)e._score=0;n._score=1e3;break}n._score=0}this._entries.sort(u._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._score<t._score?1:e._score>t._score?-1:d(e.selector)&&!d(t.selector)?1:!d(e.selector)&&d(t.selector)?-1:e._time<t._time?1:e._time>t._time?-1:0}}function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(d):Boolean(e.isBuiltin))}var g=n(2230),f=n(4412);class m{constructor(){this.referenceProvider=new u(this._score.bind(this)),this.renameProvider=new u(this._score.bind(this)),this.newSymbolNamesProvider=new u(this._score.bind(this)),this.codeActionProvider=new u(this._score.bind(this)),this.definitionProvider=new u(this._score.bind(this)),this.typeDefinitionProvider=new u(this._score.bind(this)),this.declarationProvider=new u(this._score.bind(this)),this.implementationProvider=new u(this._score.bind(this)),this.documentSymbolProvider=new u(this._score.bind(this)),this.inlayHintsProvider=new u(this._score.bind(this)),this.colorProvider=new u(this._score.bind(this)),this.codeLensProvider=new u(this._score.bind(this)),this.documentFormattingEditProvider=new u(this._score.bind(this)),this.documentRangeFormattingEditProvider=new u(this._score.bind(this)),this.onTypeFormattingEditProvider=new u(this._score.bind(this)),this.signatureHelpProvider=new u(this._score.bind(this)),this.hoverProvider=new u(this._score.bind(this)),this.documentHighlightProvider=new u(this._score.bind(this)),this.multiDocumentHighlightProvider=new u(this._score.bind(this)),this.selectionRangeProvider=new u(this._score.bind(this)),this.foldingRangeProvider=new u(this._score.bind(this)),this.linkProvider=new u(this._score.bind(this)),this.inlineCompletionsProvider=new u(this._score.bind(this)),this.inlineEditProvider=new u(this._score.bind(this)),this.completionProvider=new u(this._score.bind(this)),this.linkedEditingRangeProvider=new u(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new u(this._score.bind(this)),this.documentSemanticTokensProvider=new u(this._score.bind(this)),this.documentDropEditProvider=new u(this._score.bind(this)),this.documentPasteEditProvider=new u(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}}(0,f.v)(g.ILanguageFeaturesService,m,1)},5122:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageService:()=>D});var i=n(2106),r=n(2446),s=n(6995),o=n(3338),a=n(9694),l=n(4957);const h=(e,t)=>e===t;new WeakMap;class c{constructor(e,t,n){this.owner=e,this.debugNameSource=t,this.referenceFn=n}getDebugName(e){return function(e,t){const n=d.get(e);if(n)return n;const i=function(e,t){const n=d.get(e);if(n)return n;const i=t.owner?function(e){const t=f.get(e);if(t)return t;const n=function(e){const t=e.constructor;if(t)return t.name;return"Object"}(e);let i=g.get(n)??0;i++,g.set(n,i);const r=1===i?n:`${n}#${i}`;return f.set(e,r),r}(t.owner)+".":"";let r;const s=t.debugNameSource;if(void 0!==s){if("function"!=typeof s)return i+s;if(r=s(),void 0!==r)return i+r}const o=t.referenceFn;if(void 0!==o&&(r=m(o),void 0!==r))return i+r;if(void 0!==t.owner){const n=function(e,t){for(const n in e)if(e[n]===t)return n;return}(t.owner,e);if(void 0!==n)return i+n}return}(e,t);if(i){let t=u.get(i)??0;t++,u.set(i,t);const n=1===t?i:`${i}#${t}`;return d.set(e,n),n}return}(e,this)}}const u=new Map,d=new WeakMap;const g=new Map,f=new WeakMap;function m(e){const t=e.toString(),n=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t),i=n?n[1]:void 0;return i?.trim()}let p,_,b,k;function v(){return p}class C{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t){const n=void 0===t?void 0:e,i=void 0===t?e:t;return k({owner:n,debugName:()=>{const e=m(i);if(void 0!==e)return e;const t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString());return t?`${this.debugName}.${t[2]}`:n?void 0:`${this.debugName} (mapped)`},debugReferenceFn:i},(e=>i(this.read(e),e)))}flatten(){return k({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},(e=>this.read(e).read(e)))}recomputeInitiallyAndOnChange(e,t){return e.add(_(this,t)),this}keepObserved(e){return e.add(b(this)),this}}class L extends C{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function w(e,t){const n=new y(e,t);try{e(n)}finally{n.finish()}}class y{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[],v()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():m(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t<e.length;t++){const{observer:n,observable:i}=e[t];n.endUpdate(i)}this.updatingObservers=null,v()?.handleEndTransaction()}}var S=n(7110);!function(e){k=e}((function(e,t){return new x(new c(e.owner,e.debugName,e.debugReferenceFn),t,void 0,void 0,e.onLastObserverRemoved,e.equalsFn??h)}));class x extends L{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,n,i,r=void 0,s){super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=n,this._handleChange=i,this._handleLastObserverRemoved=r,this._equalityComparator=s,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.(),v()?.handleDerivedCreated(this)}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(0===this.observers.size){const e=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),e}do{if(1===this.state)for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e;const t=0!==this.state,n=this.value;this.state=3;const i=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,i)}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}const r=t&&!this._equalityComparator(n,this.value);if(v()?.handleDerivedRecomputed(this,{oldValue:n,newValue:this.value,change:void 0,didChange:r,hadValue:t}),r)for(const s of this.observers)s.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const n of this.observers)n.handlePossibleChange(this);if(t)for(const n of this.observers)n.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}(0,S.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const n=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),i=3===this.state;if(n&&(1===this.state||i)&&(this.state=2,i))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function E(e){return new N(new c(void 0,void 0,e),e,void 0,void 0)}class N{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,n,i){this._debugNameData=e,this._runFn=t,this.createChangeSummary=n,this._handleChange=i,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),v()?.handleAutorunCreated(this),this._runIfNeeded(),(0,r.Ay)(this)}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),(0,r.VD)(this)}_runIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){v()?.handleAutorunTriggered(this);const e=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,e)}}finally{t||v()?.handleAutorunFinished(this);for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,(0,S.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary))&&(this.state=2)}}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}!function(e){e.Observer=N}(E||(E={}));function I(...e){let t,n,i;return 3===e.length?[t,n,i]=e:[n,i]=e,new T(new c(t,void 0,i),n,i,(()=>T.globalTransaction),h)}class T extends L{constructor(e,t,n,i,r){super(),this._debugNameData=e,this.event=t,this._getValue=n,this._getTransaction=i,this._equalityComparator=r,this.hasValue=!1,this.handleEvent=e=>{const t=this._getValue(e),n=this.value,i=!this.hasValue||!this._equalityComparator(n,t);let r=!1;i&&(this.value=t,this.hasValue&&(r=!0,function(e,t,n){e?t(e):w(t,n)}(this._getTransaction(),(e=>{v()?.handleFromEventObservableTriggered(this,{oldValue:n,newValue:t,change:void 0,didChange:i,hadValue:this.hasValue});for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")}))),this.hasValue=!0),r||v()?.handleFromEventObservableTriggered(this,{oldValue:n,newValue:t,change:void 0,didChange:i,hadValue:this.hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){if(this.subscription)return this.hasValue||this.handleEvent(void 0),this.value;return this._getValue(void 0)}}!function(e){e.Observer=T,e.batchEventsGlobally=function(e,t){let n=!1;void 0===T.globalTransaction&&(T.globalTransaction=e,n=!0);try{t()}finally{n&&(T.globalTransaction=void 0)}}}(I||(I={}));!function(e){b=e}((function(e){const t=new A(!1,void 0);return e.addObserver(t),(0,r.s)((()=>{e.removeObserver(t)}))})),function(e){_=e}((function(e,t){const n=new A(!0,t);return e.addObserver(n),t?t(e.get()):e.reportChanges(),(0,r.s)((()=>{e.removeObserver(n)}))}));class A{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}n(4327);class D extends r.jG{static{this.instanceCount=0}constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new i.vl),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new i.vl),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new i.vl({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,D.instanceCount++,this._registry=this._register(new s.LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){D.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const n=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return(0,o.Fy)(n,null)}createById(e){return new M(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new M(this.onDidChange,(()=>{const n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=l.vH),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),a.dG.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}class M{constructor(e,t){this._value=I(this,e,(()=>t())),this.onDidChange=i.Jh.fromObservable(this._value)}get languageId(){return this._value.get()}}},5996:(e,t,n)=>{"use strict";n.r(t),n.d(t,{clearPlatformLanguageAssociations:()=>f,getLanguageIds:()=>m,registerPlatformLanguageAssociation:()=>g});var i=n(3958),r=n(3720),s=n(3072),o=n(1570),a=n(2467),l=n(6844),h=n(4957);let c=[],u=[],d=[];function g(e,t=!1){!function(e,t,n){const r=function(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?(0,i.qg)(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(o.SA.sep)>=0}}(e,t);c.push(r),r.userConfigured?d.push(r):u.push(r);n&&!r.userConfigured&&c.forEach((e=>{e.mime===r.mime||e.userConfigured||(r.extension&&e.extension===r.extension&&console.warn(`Overwriting extension <<${r.extension}>> to now point to mime <<${r.mime}>>`),r.filename&&e.filename===r.filename&&console.warn(`Overwriting filename <<${r.filename}>> to now point to mime <<${r.mime}>>`),r.filepattern&&e.filepattern===r.filepattern&&console.warn(`Overwriting filepattern <<${r.filepattern}>> to now point to mime <<${r.mime}>>`),r.firstline&&e.firstline===r.firstline&&console.warn(`Overwriting firstline <<${r.firstline}>> to now point to mime <<${r.mime}>>`))}))}(e,!1,t)}function f(){c=c.filter((e=>e.userConfigured)),u=[]}function m(e,t){return function(e,t){let n;if(e)switch(e.scheme){case s.ny.file:n=e.fsPath;break;case s.ny.data:n=a.B6.parseMetaData(e).get(a.B6.META_DATA_LABEL);break;case s.ny.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:"unknown",mime:r.K.unknown}];n=n.toLowerCase();const i=(0,o.P8)(n),g=p(n,i,d);if(g)return[g,{id:h.vH,mime:r.K.text}];const f=p(n,i,u);if(f)return[f,{id:h.vH,mime:r.K.text}];if(t){const e=function(e){(0,l.LU)(e)&&(e=e.substr(1));if(e.length>0)for(let t=c.length-1;t>=0;t--){const n=c[t];if(!n.firstline)continue;const i=e.match(n.firstline);if(i&&i.length>0)return n}return}(t);if(e)return[e,{id:h.vH,mime:r.K.text}]}return[{id:"unknown",mime:r.K.unknown}]}(e,t).map((e=>e.id))}function p(e,t,n){let i,r,s;for(let o=n.length-1;o>=0;o--){const a=n[o];if(t===a.filenameLowercase){i=a;break}if(a.filepattern&&(!r||a.filepattern.length>r.filepattern.length)){const n=a.filepatternOnPath?e:t;a.filepatternLowercase?.(n)&&(r=a)}a.extension&&(!s||a.extension.length>s.extension.length)&&t.endsWith(a.extensionLowercase)&&(s=a)}return i||(r||(s||void 0))}},6995:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageIdCodec:()=>d,LanguagesRegistry:()=>g});var i=n(2106),r=n(2446),s=n(6844),o=n(5996),a=n(4957),l=n(7142),h=n(7167);const c=Object.prototype.hasOwnProperty,u="vs.editor.nullLanguage";class d{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(u,0),this._register(a.vH,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||u}}class g extends r.jG{static{this.instanceCount=0}constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new i.vl),this.onDidChange=this._onDidChange.event,g.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new d,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(a.W6.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){g.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,o.clearPlatformLanguageAssociations)();const e=[].concat(a.W6.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),h.O.as(l.Fd.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let n;c.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){const n=t.id;let i=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),i=t.mimetypes[0]),i||(i=`text/x-${n}`,e.mimetypes.push(i)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const s of t.filenames)(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,filename:s},this._warnOnOverwrite),e.filenames.push(s);if(Array.isArray(t.filenamePatterns))for(const s of t.filenamePatterns)(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,filepattern:s},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);(0,s.eY)(t)||(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,firstline:t},this._warnOnOverwrite)}catch(l){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,l)}}e.aliases.push(n);let r=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(r=0===t.aliases.length?[null]:t.aliases),null!==r)for(const s of r)s&&0!==s.length&&e.aliases.push(s);const a=null!==r&&r.length>0;if(a&&null===r[0]);else{const t=(a?r[0]:null)||n;!a&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&c.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return c.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&c.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?(0,o.getLanguageIds)(e,t):[]}}},886:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IMarkerDecorationsService:()=>i});const i=(0,n(2399).u1)("markerDecorationsService")},4109:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MarkerDecorationsService:()=>w});var i,r=n(6844);!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(i||(i={})),function(e){const t="error",n="warning",i="info";e.fromValue=function(s){return s?r.Q_(t,s)?e.Error:r.Q_(n,s)||r.Q_("warn",s)?e.Warning:r.Q_(i,s)?e.Info:e.Ignore:e.Ignore},e.toString=function(r){switch(r){case e.Error:return t;case e.Warning:return n;case e.Info:return i;default:return"ignore"}}}(i||(i={}));const s=i;var o,a,l=n(7289),h=n(2399);!function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(o||(o={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=(0,l.kg)("sev.error","Error"),t[e.Warning]=(0,l.kg)("sev.warning","Warning"),t[e.Info]=(0,l.kg)("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case s.Error:return e.Error;case s.Warning:return e.Warning;case s.Info:return e.Info;case s.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return s.Error;case e.Warning:return s.Warning;case e.Info:return s.Info;case e.Hint:return s.Ignore}}}(o||(o={})),function(e){const t="";function n(e,n){const i=[t];return e.source?i.push(e.source.replace("\xa6","\\\xa6")):i.push(t),e.code?"string"==typeof e.code?i.push(e.code.replace("\xa6","\\\xa6")):i.push(e.code.value.replace("\xa6","\\\xa6")):i.push(t),void 0!==e.severity&&null!==e.severity?i.push(o.toString(e.severity)):i.push(t),e.message&&n?i.push(e.message.replace("\xa6","\\\xa6")):i.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?i.push(e.startLineNumber.toString()):i.push(t),void 0!==e.startColumn&&null!==e.startColumn?i.push(e.startColumn.toString()):i.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?i.push(e.endLineNumber.toString()):i.push(t),void 0!==e.endColumn&&null!==e.endColumn?i.push(e.endColumn.toString()):i.push(t),i.push(t),i.join("\xa6")}e.makeKey=function(e){return n(e,!0)},e.makeKeyOptionalMessage=n}(a||(a={}));const c=(0,h.u1)("markerService");var u=n(2446),d=n(6055),g=n(6001),f=n(8295),m=n(4830),p=n(8061),_=n(3072),b=n(2106),k=n(9119),v=n(7992);var C=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},L=function(e,t){return function(n,i){t(n,i,e)}};let w=class extends u.jG{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new b.vl),this._markerDecorations=new v.fT,e.getModels().forEach((e=>this._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new y(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==_.ny.inMemory&&e.uri.scheme!==_.ny.internal&&e.uri.scheme!==_.ny.vscode||this._markerService?.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};w=C([L(0,m.IModelService),L(1,c)],w);class y extends u.jG{constructor(e){super(),this.model=e,this._map=new v.cO,this._register((0,u.s)((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(e){const{added:t,removed:n}=function(e,t){const n=[],i=[];for(const r of e)t.has(r)||n.push(r);for(const r of t)e.has(r)||i.push(r);return{removed:n,added:i}}(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===n.length)return!1;const i=n.map((e=>this._map.get(e))),r=t.map((e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)}))),s=this.model.deltaDecorations(i,r);for(const o of n)this._map.delete(o);for(let o=0;o<s.length;o++)this._map.set(t[o],s[o]);return!0}getMarker(e){return this._map.getKey(e.id)}_createDecorationRange(e,t){let n=p.Q.lift(t);if(t.severity!==o.Hint||this._hasMarkerTag(t,1)||this._hasMarkerTag(t,2)||(n=n.setEndPosition(n.startLineNumber,n.startColumn+2)),n=e.validateRange(n),n.isEmpty()){const t=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);if(1===t||n.endColumn>=t)return n;const i=e.getWordAtPosition(n.getStartPosition());i&&(n=new p.Q(n.startLineNumber,i.startColumn,n.endLineNumber,i.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){const i=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);i<n.endColumn&&(n=new p.Q(n.startLineNumber,i,n.endLineNumber,n.endColumn),t.startColumn=i)}return n}_createDecorationOption(e){let t,n,i,r,s;switch(e.severity){case o.Hint:t=this._hasMarkerTag(e,2)?void 0:this._hasMarkerTag(e,1)?"squiggly-unnecessary":"squiggly-hint",i=0;break;case o.Info:t="squiggly-info",n=(0,g.Yf)(f.AQ),i=10,s={color:(0,g.Yf)(k.KoI),position:1};break;case o.Warning:t="squiggly-warning",n=(0,g.Yf)(f.aZ),i=20,s={color:(0,g.Yf)(k.uMG),position:1};break;case o.Error:default:t="squiggly-error",n=(0,g.Yf)(f.yI),i=30,s={color:(0,g.Yf)(k.yLC),position:1}}return e.tags&&(-1!==e.tags.indexOf(1)&&(r="squiggly-inline-unnecessary"),-1!==e.tags.indexOf(2)&&(r="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:n,position:d.A5.Right},minimap:s,zIndex:i,inlineClassName:r}}_hasMarkerTag(e,t){return!!e.tags&&e.tags.indexOf(t)>=0}}},4830:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IModelService:()=>i});const i=(0,n(2399).u1)("modelService")},1327:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DefaultModelSHA1Computer:()=>Lr,ModelService:()=>Cr});var i=n(2106),r=n(2446),s=n(3339),o=n(3338),a=n(4901),l=n(4327),h=n(6844),c=n(7264),u=n(3902);class d{static _nextVisibleColumn(e,t,n){return 9===e?d.nextRenderTabStop(t,n):h.ne(e)||h.Ss(e)?t+2:t+1}static visibleColumnFromColumn(e,t,n){const i=Math.min(t-1,e.length),r=e.substring(0,i),s=new h.km(r);let o=0;for(;!s.eol();){const e=h.Z5(r,i,s.offset);s.nextGraphemeLength(),o=this._nextVisibleColumn(e,o,n)}return o}static columnFromVisibleColumn(e,t,n){if(t<=0)return 1;const i=e.length,r=new h.km(e);let s=0,o=1;for(;!r.eol();){const a=h.Z5(e,i,r.offset);r.nextGraphemeLength();const l=this._nextVisibleColumn(a,s,n),c=r.offset+1;if(l>=t){return l-t<t-s?c:o}s=l,o=c}return i+1}static nextRenderTabStop(e,t){return e+t-e%t}static nextIndentTabStop(e,t){return e+t-e%t}static prevRenderTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}static prevIndentTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}}function g(e,t,n){let i=h.HG(e);return-1===i&&(i=e.length),function(e,t,n){let i=0;for(let s=0;s<e.length;s++)"\t"===e.charAt(s)?i=d.nextIndentTabStop(i,t):i++;let r="";if(!n){const e=Math.floor(i/t);i%=t;for(let t=0;t<e;t++)r+="\t"}for(let s=0;s<i;s++)r+=" ";return r}(e.substring(0,i),t,n)+e.substring(i)}var f=n(5365),m=n(8061),p=n(3702);const _={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var b,k=n(7922),v=n(8782);!function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(b||(b={}));class C{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,n=e.notIn.length;t<n;t++){switch(e.notIn[t]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1}}}isOK(e){switch(e){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(e,t){if(0===e.getTokenCount())return!0;const n=e.findTokenIndexAtOffset(t-2),i=e.getStandardTokenType(n);return this.isOK(i)}_findNeutralCharacterInRange(e,t){for(let n=e;n<=t;n++){const e=String.fromCharCode(n);if(!this.open.includes(e)&&!this.close.includes(e))return e}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}class L{constructor(e){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const t of e)w(this.autoClosingPairsOpenByStart,t.open.charAt(0),t),w(this.autoClosingPairsOpenByEnd,t.open.charAt(t.open.length-1),t),w(this.autoClosingPairsCloseByStart,t.close.charAt(0),t),w(this.autoClosingPairsCloseByEnd,t.close.charAt(t.close.length-1),t),1===t.close.length&&1===t.open.length&&w(this.autoClosingPairsCloseSingleChar,t.close,t)}}function w(e,t,n){e.has(t)?e.get(t).push(n):e.set(t,[n])}class y{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t"}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t"}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new C(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new C({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new C({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:y.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:y.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}function S(e){return!!(3&e)}var x=n(2802);let E,N,I;function T(){return E||(E=new TextDecoder("UTF-16LE")),E}function A(){return I||(I=s.cm()?T():(N||(N=new TextDecoder("UTF-16BE")),N)),I}function D(e,t,n){const i=new Uint16Array(e.buffer,t,n);return n>0&&(65279===i[0]||65534===i[0])?function(e,t,n){const i=[];let r=0;for(let s=0;s<n;s++){const n=x.$l(e,t);t+=2,i[r++]=String.fromCharCode(n)}return i.join("")}(e,t,n):T().decode(i)}class M{constructor(e,t,n,i,r,s){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=n,this.close=i,this.forwardRegex=r,this.reversedRegex=s,this._openSet=M._toSet(this.open),this._closeSet=M._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const n of e)t.add(n);return t}}class R{constructor(e,t){this._richEditBracketsBrand=void 0;const n=function(e){const t=e.length;e=e.map((e=>[e[0].toLowerCase(),e[1].toLowerCase()]));const n=[];for(let o=0;o<t;o++)n[o]=o;const i=(e,t)=>{const[n,i]=e,[r,s]=t;return n===r||n===s||i===r||i===s},r=(e,i)=>{const r=Math.min(e,i),s=Math.max(e,i);for(let o=0;o<t;o++)n[o]===s&&(n[o]=r)};for(let o=0;o<t;o++){const s=e[o];for(let a=o+1;a<t;a++)i(s,e[a])&&r(n[o],n[a])}const s=[];for(let o=0;o<t;o++){const i=[],r=[];for(let s=0;s<t;s++)if(n[s]===o){const[t,n]=e[s];i.push(t),r.push(n)}i.length>0&&s.push({open:i,close:r})}return s}(t);this.brackets=n.map(((t,i)=>new M(e,i,t.open,t.close,function(e,t,n,i){let r=[];r=r.concat(e),r=r.concat(t);for(let s=0,o=r.length;s<o;s++)O(r[s],n,i,r);return r=F(r),r.sort(B),r.reverse(),z(r)}(t.open,t.close,n,i),function(e,t,n,i){let r=[];r=r.concat(e),r=r.concat(t);for(let s=0,o=r.length;s<o;s++)O(r[s],n,i,r);return r=F(r),r.sort(B),r.reverse(),z(r.map(V))}(t.open,t.close,n,i)))),this.forwardRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=F(t),z(t)}(this.brackets),this.reversedRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=F(t),z(t.map(V))}(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const i of this.brackets){for(const e of i.open)this.textIsBracket[e]=i,this.textIsOpenBracket[e]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,e.length);for(const e of i.close)this.textIsBracket[e]=i,this.textIsOpenBracket[e]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,e.length)}}}function O(e,t,n,i){for(let r=0,s=t.length;r<s;r++){if(r===n)continue;const s=t[r];for(const t of s.open)t.indexOf(e)>=0&&i.push(t);for(const t of s.close)t.indexOf(e)>=0&&i.push(t)}}function B(e,t){return e.length-t.length}function F(e){if(e.length<=1)return e;const t=[],n=new Set;for(const i of e)n.has(i)||(t.push(i),n.add(i));return t}function P(e){const t=/^[\w ]+$/.test(e);return e=h.bm(e),t?`\\b${e}\\b`:e}function z(e,t){const n=`(${e.map(P).join(")|(")})`;return h.OS(n,!0,t)}const V=function(){let e=null,t=null;return function(n){return e!==n&&(e=n,t=function(e){const t=new Uint16Array(e.length);let n=0;for(let i=e.length-1;i>=0;i--)t[n++]=e.charCodeAt(i);return A().decode(t)}(e)),t}}();class W{static _findPrevBracketInText(e,t,n,i){const r=n.match(e);if(!r)return null;const s=n.length-(r.index||0),o=r[0].length,a=i+s;return new m.Q(t,a-o+1,t,a+1)}static findPrevBracketInRange(e,t,n,i,r){const s=V(n).substring(n.length-r,n.length-i);return this._findPrevBracketInText(e,t,s,i)}static findNextBracketInText(e,t,n,i){const r=n.match(e);if(!r)return null;const s=r.index||0,o=r[0].length;if(0===o)return null;const a=i+s;return new m.Q(t,a+1,t,a+1+o)}static findNextBracketInRange(e,t,n,i,r){const s=n.substring(i,r);return this.findNextBracketInText(e,t,s,i)}}class q{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const n of t.close){const t=n.charAt(n.length-1);e.push(t)}return(0,o.dM)(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const i=t.findTokenIndexAtOffset(n-1);if(S(t.getStandardTokenType(i)))return null;const r=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,n-1)+e,o=W.findPrevBracketInRange(r,1,s,0,s.length);if(!o)return null;const a=s.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const l=t.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function H(e){return e.global&&(e.lastIndex=0),!0}class U{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&H(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&H(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&H(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&H(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class j{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=j._createOpenBracketRegExp(e[0]),n=j._createCloseBracketRegExp(e[1]);t&&n&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:n})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,n,i){if(e>=3)for(let r=0,s=this._regExpRules.length;r<s;r++){const e=this._regExpRules[r];if([{reg:e.beforeText,text:n},{reg:e.afterText,text:i},{reg:e.previousLineText,text:t}].every((e=>!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return e.action}if(e>=2&&n.length>0&&i.length>0)for(let r=0,s=this._brackets.length;r<s;r++){const e=this._brackets[r];if(e.openRegExp.test(n)&&e.closeRegExp.test(i))return{indentAction:b.IndentOutdent}}if(e>=2&&n.length>0)for(let r=0,s=this._brackets.length;r<s;r++){if(this._brackets[r].openRegExp.test(n))return{indentAction:b.Indent}}return null}static _createOpenBracketRegExp(e){let t=h.bm(e);return/\B/.test(t.charAt(0))||(t="\\b"+t),t+="\\s*$",j._safeRegExp(t)}static _createCloseBracketRegExp(e){let t=h.bm(e);return/\B/.test(t.charAt(t.length-1))||(t+="\\b"),t="^\\s*"+t,j._safeRegExp(t)}static _safeRegExp(e){try{return new RegExp(e)}catch(t){return(0,l.dz)(t),null}}}var K=n(2399),$=n(5753),G=n(4412),Q=n(4957),Y=n(6260);class X{constructor(e,t){this.languageId=e;const n=t.brackets?Z(t.brackets):[],i=new Y.VV((e=>{const t=new Set;return{info:new ee(this,e,t),closing:t}})),r=new Y.VV((e=>{const t=new Set,n=new Set;return{info:new te(this,e,t,n),opening:t,openingColorized:n}}));for(const[o,a]of n){const e=i.get(o),t=r.get(a);e.closing.add(t.info),t.opening.add(e.info)}const s=t.colorizedBracketPairs?Z(t.colorizedBracketPairs):n.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[o,a]of s){const e=i.get(o),t=r.get(a);e.closing.add(t.info),t.openingColorized.add(e.info),t.opening.add(e.info)}this._openingBrackets=new Map([...i.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...r.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){return z(Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]),e)}}function Z(e){return e.filter((([e,t])=>""!==e&&""!==t))}class J{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class ee extends J{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}}class te extends J{constructor(e,t,n,i){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=i,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var ne=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},ie=function(e,t){return function(n,i){t(n,i,e)}};class re{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const se=(0,K.u1)("languageConfigurationService");let oe=class extends r.jG{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new ge),this.onDidChangeEmitter=this._register(new i.vl),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const n=new Set(Object.values(ae));this._register(this.configurationService.onDidChangeConfiguration((e=>{const t=e.change.keys.some((e=>n.has(e))),i=e.change.overrides.filter((([e,t])=>t.some((e=>n.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new re(void 0));else for(const n of i)this.languageService.isRegisteredLanguageId(n)&&(this.configurations.delete(n),this.onDidChangeEmitter.fire(new re(n)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new re(e.languageId))})))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,n,i){let r=t.getLanguageConfiguration(e);if(!r){if(!i.isRegisteredLanguageId(e))return new fe(e,{});r=new fe(e,{})}const s=function(e,t){const n=t.getValue(ae.brackets,{overrideIdentifier:e}),i=t.getValue(ae.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:le(n),colorizedBracketPairs:le(i)}}(r.languageId,n),o=ce([r.underlyingConfig,s]);return new fe(r.languageId,o)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};oe=ne([ie(0,$.pG),ie(1,k.L)],oe);const ae={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function le(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}class he{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const n=new ue(e,t,++this._order);return this._entries.push(n),this._resolved=null,(0,r.s)((()=>{for(let e=0;e<this._entries.length;e++)if(this._entries[e]===n){this._entries.splice(e,1),this._resolved=null;break}}))}getResolvedConfiguration(){if(!this._resolved){const e=this._resolve();e&&(this._resolved=new fe(this.languageId,e))}return this._resolved}_resolve(){return 0===this._entries.length?null:(this._entries.sort(ue.cmp),ce(this._entries.map((e=>e.configuration))))}}function ce(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}class ue{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class de{constructor(e){this.languageId=e}}class ge extends r.jG{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new i.vl),this.onDidChange=this._onDidChange.event,this._register(this.register(Q.vH,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let i=this._entries.get(e);i||(i=new he(e),this._entries.set(e,i));const s=i.register(t,n);return this._onDidChange.fire(new de(e)),(0,r.s)((()=>{s.dispose(),this._onDidChange.fire(new de(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class fe{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new j(this.underlyingConfig):null,this.comments=fe._handleComments(this.underlyingConfig),this.characterPair=new y(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||v.Ld,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new U(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new X(e,this.underlyingConfig)}getWordDefinition(){return(0,v.Io)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new R(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new q(this.brackets)),this._electricCharacter}onEnter(e,t,n,i){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,i):null}getAutoClosingPairs(){return new L(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){const[e,i]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=i}return n}}(0,G.v)(se,oe,1);var me=n(6055);class pe{constructor(e,t,n,i){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=n,this.isInvalid=i}}class _e{constructor(e,t,n,i,r,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=n,this.nestingLevel=i,this.nestingLevelOfEqualBracketType=r,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class be extends _e{constructor(e,t,n,i,r,s,o){super(e,t,n,i,r,s),this.minVisibleColumnIndentation=o}}var ke=n(8357);function ve(e){return 0===e}const Ce=2**26;function Le(e,t){return e*Ce+t}function we(e){const t=e,n=Math.floor(t/Ce),i=t-n*Ce;return new ke.W(n,i)}function ye(e,t){let n=e+t;return t>=Ce&&(n-=e%Ce),n}function Se(e,t){return e.reduce(((e,n)=>ye(e,t(n))),0)}function xe(e,t){return e===t}function Ee(e,t){const n=e,i=t;if(i-n<=0)return 0;const r=Math.floor(n/Ce),s=Math.floor(i/Ce),o=i-s*Ce;if(r===s){return Le(0,o-(n-r*Ce))}return Le(s-r,o)}function Ne(e,t){return e<t}function Ie(e,t){return e<=t}function Te(e,t){return e>=t}function Ae(e){return Le(e.lineNumber-1,e.column-1)}function De(e,t){const n=e,i=Math.floor(n/Ce),r=n-i*Ce,s=t,o=Math.floor(s/Ce),a=s-o*Ce;return new m.Q(i+1,r+1,o+1,a+1)}class Me{static fromModelContentChanges(e){return e.map((e=>{const t=m.Q.lift(e.range);return new Me(Ae(t.getStartPosition()),Ae(t.getEndPosition()),function(e){const t=(0,h.uz)(e);return Le(t.length-1,t[t.length-1].length)}(e.text))})).reverse()}constructor(e,t,n){this.startOffset=e,this.endOffset=t,this.newLength=n}toString(){return`[${we(this.startOffset)}...${we(this.endOffset)}) -> ${we(this.newLength)}`}}class Re{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>Oe.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],n=t?this.translateOldToCur(t.offsetObj):null;return null===n?null:Ee(e,n)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?Le(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):Le(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=we(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?Le(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):Le(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx<this.edits.length;){const t=this.edits[this.nextEditIdx],n=this.translateOldToCur(t.endOffsetAfterObj);if(!Ie(n,e))break;{this.nextEditIdx++;const e=we(n),i=we(this.translateOldToCur(t.endOffsetBeforeObj)),r=e.lineCount-i.lineCount;this.deltaOldToNewLineCount+=r;const s=this.deltaLineIdxInOld===t.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,o=e.columnCount-i.columnCount;this.deltaOldToNewColumnCount=s+o,this.deltaLineIdxInOld=t.endOffsetBeforeObj.lineCount}}}}class Oe{static from(e){return new Oe(e.startOffset,e.endOffset,e.newLength)}constructor(e,t,n){this.endOffsetBeforeObj=we(t),this.endOffsetAfterObj=we(ye(e,n)),this.offsetObj=we(e)}}const Be=[];class Fe{static{this.cache=new Array(129)}static create(e,t){if(e<=128&&0===t.length){let n=Fe.cache[e];return n||(n=new Fe(e,t),Fe.cache[e]=n),n}return new Fe(e,t)}static{this.empty=Fe.create(0,Be)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const n=t.getKey(e);let i=n>>5;if(0===i){const e=1<<n|this.items;return e===this.items?this:Fe.create(e,this.additionalItems)}i--;const r=this.additionalItems.slice(0);for(;r.length<i;)r.push(0);return r[i]|=1<<(31&n),Fe.create(this.items,r)}merge(e){const t=this.items|e.items;if(this.additionalItems===Be&&e.additionalItems===Be)return t===this.items?this:t===e.items?e:Fe.create(t,Be);const n=[];for(let i=0;i<Math.max(this.additionalItems.length,e.additionalItems.length);i++){const t=this.additionalItems[i]||0,r=e.additionalItems[i]||0;n.push(t|r)}return Fe.create(t,n)}intersects(e){if(this.items&e.items)return!0;for(let t=0;t<Math.min(this.additionalItems.length,e.additionalItems.length);t++)if(this.additionalItems[t]&e.additionalItems[t])return!0;return!1}}const Pe={getKey:e=>e};class ze{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}class Ve{get length(){return this._length}constructor(e){this._length=e}}class We extends Ve{static create(e,t,n){let i=e.length;return t&&(i=ye(i,t.length)),n&&(i=ye(i,n.length)),new We(i,e,t,n,t?t.missingOpeningBracketIds:Fe.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,n,i,r){super(e),this.openingBracket=t,this.child=n,this.closingBracket=i,this.missingOpeningBracketIds=r}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new We(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(ye(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class qe extends Ve{static create23(e,t,n,i=!1){let r=e.length,s=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(r=ye(r,t.length),s=s.merge(t.missingOpeningBracketIds),n){if(e.listHeight!==n.listHeight)throw new Error("Invalid list heights");r=ye(r,n.length),s=s.merge(n.missingOpeningBracketIds)}return i?new Ue(r,e.listHeight+1,e,t,n,s):new He(r,e.listHeight+1,e,t,n,s)}static getEmpty(){return new Ke(0,0,[],Fe.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,n){super(e),this.listHeight=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),n=4===t.kind?t.toMutable():t;return t!==n&&this.setChild(e-1,n),n}makeFirstElementMutable(){this.throwIfImmutable();if(0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new l.D7;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,n=this.getChild(0).missingOpeningBracketIds;for(let i=1;i<e;i++){const e=this.getChild(i);t=ye(t,e.length),n=n.merge(e.missingOpeningBracketIds)}this._length=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}computeMinIndentation(e,t){if(-1!==this.cachedMinIndentation)return this.cachedMinIndentation;let n=Number.MAX_SAFE_INTEGER,i=e;for(let r=0;r<this.childrenLength;r++){const e=this.getChild(r);e&&(n=Math.min(n,e.computeMinIndentation(i,t)),i=ye(i,e.length))}return this.cachedMinIndentation=n,n}}class He extends qe{get childrenLength(){return null!==this._item3?3:2}getChild(e){switch(e){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(e,t){switch(e){case 0:return void(this._item1=t);case 1:return void(this._item2=t);case 2:return void(this._item3=t)}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(e,t,n,i,r,s){super(e,t,s),this._item1=n,this._item2=i,this._item3=r}deepClone(){return new He(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=e,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item3;return this._item3=null,this.handleChildrenChanged(),e}prependChildOfSameHeight(e){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=e,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),e}toMutable(){return this}}class Ue extends He{toMutable(){return new He(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class je extends qe{get childrenLength(){return this._children.length}getChild(e){return this._children[e]}setChild(e,t){this._children[e]=t}get children(){return this._children}constructor(e,t,n,i){super(e,t,i),this._children=n}deepClone(){const e=new Array(this._children.length);for(let t=0;t<this._children.length;t++)e[t]=this._children[t].deepClone();return new je(this.length,this.listHeight,e,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){this.throwIfImmutable(),this._children.push(e),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const e=this._children.pop();return this.handleChildrenChanged(),e}prependChildOfSameHeight(e){this.throwIfImmutable(),this._children.unshift(e),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const e=this._children.shift();return this.handleChildrenChanged(),e}toMutable(){return this}}class Ke extends je{toMutable(){return new je(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const $e=[];class Ge extends Ve{get listHeight(){return 0}get childrenLength(){return 0}getChild(e){return null}get children(){return $e}deepClone(){return this}}class Qe extends Ge{get kind(){return 0}get missingOpeningBracketIds(){return Fe.getEmpty()}canBeReused(e){return!0}computeMinIndentation(e,t){const n=we(e),i=(0===n.columnCount?n.lineCount:n.lineCount+1)+1,r=(s=ye(e,this.length),Math.floor(s/Ce)+1);var s;let o=Number.MAX_SAFE_INTEGER;for(let a=i;a<=r;a++){const e=t.getLineFirstNonWhitespaceColumn(a),n=t.getLineContent(a);if(0===e)continue;const i=d.visibleColumnFromColumn(n,e,t.getOptions().tabSize);o=Math.min(o,i)}return o}}class Ye extends Ge{static create(e,t,n){return new Ye(e,t,n)}get kind(){return 1}get missingOpeningBracketIds(){return Fe.getEmpty()}constructor(e,t,n){super(e),this.bracketInfo=t,this.bracketIds=n}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(e){return!1}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}class Xe extends Ge{get kind(){return 3}constructor(e,t){super(t),this.missingOpeningBracketIds=e}canBeReused(e){return!e.intersects(this.missingOpeningBracketIds)}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}var Ze=n(5910);class Je{constructor(e,t,n,i,r){this.length=e,this.kind=t,this.bracketId=n,this.bracketIds=i,this.astNode=r}}class et{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new tt(this.textModel,this.bracketTokens),this._offset=0,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return Le(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=ye(this._offset,e);const t=we(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=ye(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class tt{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=e.length,e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let n=0;for(;;){const i=this.lineTokens,r=i.getCount();let s=null;if(this.lineTokenOffset<r){const o=i.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<r&&o===i.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const a=0===Ze.x.getTokenType(o),l=Ze.x.containsBalancedBrackets(o),h=i.getEndOffset(this.lineTokenOffset);if(l&&a&&this.lineCharOffset<h){const e=i.getLanguageId(this.lineTokenOffset),t=this.line.substring(this.lineCharOffset,h),n=this.bracketTokens.getSingleLanguageBracketTokens(e),r=n.regExpGlobal;if(r){r.lastIndex=0;const e=r.exec(t);e&&(s=n.getToken(e[0]),s&&(this.lineCharOffset+=e.index))}}if(n+=h-this.lineCharOffset,s){if(e!==this.lineIdx||t!==this.lineCharOffset){this.peekedToken=s;break}return this.lineCharOffset+=s.length,s}this.lineTokenOffset++,this.lineCharOffset=h}else{if(this.lineIdx===this.textBufferLineCount-1)break;if(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,n+=33,n>1e3)break}if(n>1500)break}const i=(r=e,s=t,o=this.lineIdx,a=this.lineCharOffset,r!==o?Le(o-r,a):Le(0,a-s));var r,s,o,a;return new Je(i,0,-1,Fe.getEmpty(),new Qe(i))}}class nt{constructor(e,t){this.text=e,this._offset=0,this.idx=0;const n=t.getRegExpStr(),i=n?new RegExp(n+"|\n","gi"):null,r=[];let s,o=0,a=0,l=0,h=0;const c=[];for(let g=0;g<60;g++)c.push(new Je(Le(0,g),0,-1,Fe.getEmpty(),new Qe(Le(0,g))));const u=[];for(let g=0;g<60;g++)u.push(new Je(Le(1,g),0,-1,Fe.getEmpty(),new Qe(Le(1,g))));if(i)for(i.lastIndex=0;null!==(s=i.exec(e));){const e=s.index,n=s[0];if("\n"===n)o++,a=e+1;else{if(l!==e){let t;if(h===o){const n=e-l;if(n<c.length)t=c[n];else{const e=Le(0,n);t=new Je(e,0,-1,Fe.getEmpty(),new Qe(e))}}else{const n=o-h,i=e-a;if(1===n&&i<u.length)t=u[i];else{const e=Le(n,i);t=new Je(e,0,-1,Fe.getEmpty(),new Qe(e))}}r.push(t)}r.push(t.getToken(n)),l=e+n.length,h=o}}const d=e.length;if(l!==d){const e=h===o?Le(0,d-l):Le(o-h,d-a);r.push(new Je(e,0,-1,Fe.getEmpty(),new Qe(e)))}this.length=Le(o,d-a),this.tokens=r}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(e){throw new l.EM}}class it{static createFromLanguage(e,t){function n(e){return t.getKey(`${e.languageId}:::${e.bracketText}`)}const i=new Map;for(const r of e.bracketsNew.openingBrackets){const e=Le(0,r.bracketText.length),t=n(r),s=Fe.getEmpty().add(t,Pe);i.set(r.bracketText,new Je(e,1,t,s,Ye.create(e,r,s)))}for(const r of e.bracketsNew.closingBrackets){const e=Le(0,r.bracketText.length);let t=Fe.getEmpty();const s=r.getOpeningBrackets();for(const i of s)t=t.add(n(i),Pe);i.set(r.bracketText,new Je(e,2,n(s[0]),t,Ye.create(e,r,t)))}return new it(i)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map((e=>function(e){let t=(0,h.bm)(e);/^[\w ]+/.test(e)&&(t=`\\b${t}`);/[\w ]+$/.test(e)&&(t=`${t}\\b`);return t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,n]of this.map)if(2===n.kind&&n.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class rt{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=it.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function st(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let n=e.length;for(;n>3;){const i=n>>1;for(let r=0;r<i;r++){const i=r<<1;e[r]=qe.create23(e[i],e[i+1],i+3===n?e[i+2]:null,t)}n=i}return qe.create23(e[0],e[1],n>=3?e[2]:null,t)}function ot(e,t){return Math.abs(e.listHeight-t.listHeight)}function at(e,t){return e.listHeight===t.listHeight?qe.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let n=e=e.toMutable();const i=[];let r;for(;;){if(t.listHeight===n.listHeight){r=t;break}if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeLastElementMutable()}for(let s=i.length-1;s>=0;s--){const e=i[s];r?e.childrenLength>=3?r=qe.create23(e.unappendChild(),r,null,!1):(e.appendChildOfSameHeight(r),r=void 0):e.handleChildrenChanged()}return r?qe.create23(e,r,null,!1):e}(e,t):function(e,t){let n=e=e.toMutable();const i=[];for(;t.listHeight!==n.listHeight;){if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeFirstElementMutable()}let r=t;for(let s=i.length-1;s>=0;s--){const e=i[s];r?e.childrenLength>=3?r=qe.create23(r,e.unprependChild(),null,!1):(e.prependChildOfSameHeight(r),r=void 0):e.handleChildrenChanged()}return r?qe.create23(r,e,null,!1):e}(t,e)}class lt{constructor(e){this.lastOffset=0,this.nextNodes=[e],this.offsets=[0],this.idxs=[]}readLongestNodeAt(e,t){if(Ne(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const n=ct(this.nextNodes);if(!n)return;const i=ct(this.offsets);if(Ne(e,i))return;if(Ne(i,e))if(ye(i,n.length)<=e)this.nextNodeAfterCurrent();else{const e=ht(n);-1!==e?(this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(n))return this.nextNodeAfterCurrent(),n;{const e=ht(n);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=ct(this.offsets),t=ct(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const n=ct(this.nextNodes),i=ht(n,this.idxs[this.idxs.length-1]);if(-1!==i){this.nextNodes.push(n.getChild(i)),this.offsets.push(ye(e,t.length)),this.idxs[this.idxs.length-1]=i;break}this.idxs.pop()}}}function ht(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function ct(e){return e.length>0?e[e.length-1]:void 0}function ut(e,t,n,i){return new dt(e,t,n,i).parseDocument()}class dt{constructor(e,t,n,i){if(this.tokenizer=e,this.createImmutableLists=i,this._itemsConstructed=0,this._itemsFromCache=0,n&&i)throw new Error("Not supported");this.oldNodeReader=n?new lt(n):void 0,this.positionMapper=new Re(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Fe.getEmpty(),0);return e||(e=qe.getEmpty()),e}parseList(e,t){const n=[];for(;;){let i=this.tryReadChildFromCache(e);if(!i){const n=this.tokenizer.peek();if(!n||2===n.kind&&n.bracketIds.intersects(e))break;i=this.parseChild(e,t+1)}4===i.kind&&0===i.childrenLength||n.push(i)}const i=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function n(){if(t>=e.length)return null;const n=t,i=e[n].listHeight;for(t++;t<e.length&&e[t].listHeight===i;)t++;return t-n>=2?st(0===n&&t===e.length?e:e.slice(n,t),!1):e[n]}let i=n(),r=n();if(!r)return i;for(let s=n();s;s=n())ot(i,r)<=ot(r,s)?(i=at(i,r),r=s):r=at(r,s);return at(i,r)}(n):st(n,this.createImmutableLists);return i}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!ve(t)){const n=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(n=>{if(null!==t&&!Ne(n.length,t))return!1;return n.canBeReused(e)}));if(n)return this._itemsFromCache++,this.tokenizer.skip(n.length),n}}}parseChild(e,t){this._itemsConstructed++;const n=this.tokenizer.read();switch(n.kind){case 2:return new Xe(n.bracketIds,n.length);case 0:return n.astNode;case 1:{if(t>300)return new Qe(n.length);const i=e.merge(n.bracketIds),r=this.parseList(i,t+1),s=this.tokenizer.peek();return s&&2===s.kind&&(s.bracketId===n.bracketId||s.bracketIds.intersects(n.bracketIds))?(this.tokenizer.read(),We.create(n.astNode,r,s.astNode)):We.create(n.astNode,r,null)}default:throw new Error("unexpected")}}}function gt(e,t){if(0===e.length)return t;if(0===t.length)return e;const n=new o.j3(mt(e)),i=mt(t);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let r=n.dequeue();function s(e){if(void 0===e){const e=n.takeWhile((e=>!0))||[];return r&&e.unshift(r),e}const t=[];for(;r&&!ve(e);){const[i,s]=r.splitAt(e);t.push(i),e=Ee(i.lengthAfter,e),r=s??n.dequeue()}return ve(e)||t.push(new ft(!1,e,e)),t}const a=[];function l(e,t,n){if(a.length>0&&xe(a[a.length-1].endOffset,e)){const e=a[a.length-1];a[a.length-1]=new Me(e.startOffset,t,ye(e.newLength,n))}else a.push({startOffset:e,endOffset:t,newLength:n})}let h=0;for(const o of i){const e=s(o.lengthBefore);if(o.modified){const t=ye(h,Se(e,(e=>e.lengthBefore)));l(h,t,o.lengthAfter),h=t}else for(const t of e){const e=h;h=ye(h,t.lengthBefore),t.modified&&l(e,h,t.lengthAfter)}}return a}class ft{constructor(e,t,n){this.modified=e,this.lengthBefore=t,this.lengthAfter=n}splitAt(e){const t=Ee(e,this.lengthAfter);return xe(t,0)?[this,void 0]:this.modified?[new ft(this.modified,this.lengthBefore,e),new ft(this.modified,0,t)]:[new ft(this.modified,e,e),new ft(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${we(this.lengthBefore)} -> ${we(this.lengthAfter)}`}}function mt(e){const t=[];let n=0;for(const i of e){const e=Ee(n,i.startOffset);ve(e)||t.push(new ft(!1,e,e));const r=Ee(i.startOffset,i.endOffset);t.push(new ft(!0,r,i.newLength)),n=i.endOffset}return t}class pt extends r.jG{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new i.vl,this.denseKeyProvider=new ze,this.brackets=new rt(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new nt(this.textModel.getValue(),e);this.initialAstWithoutTokens=ut(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new Me(Le(e.fromLineNumber-1,0),Le(e.toLineNumber,0),Le(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=Me.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const n=gt(this.queuedTextEdits,e);this.queuedTextEdits=n,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=gt(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,n){const i=t;return ut(new et(this.textModel,this.brackets),e,i,n)}getBracketsInRange(e,t){this.flushQueue();const n=Le(e.startLineNumber-1,e.startColumn-1),i=Le(e.endLineNumber-1,e.endColumn-1);return new o.c1((e=>{const r=this.initialAstWithoutTokens||this.astWithTokens;kt(r,0,r.length,n,i,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const n=Ae(e.getStartPosition()),i=Ae(e.getEndPosition());return new o.c1((e=>{const r=this.initialAstWithoutTokens||this.astWithTokens,s=new vt(e,t,this.textModel);Ct(r,0,r.length,n,i,s,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return bt(t,0,t.length,Ae(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return _t(t,0,t.length,Ae(e))}}function _t(e,t,n,i){if(4===e.kind||2===e.kind){const r=[];for(const i of e.children)n=ye(t,i.length),r.push({nodeOffsetStart:t,nodeOffsetEnd:n}),t=n;for(let t=r.length-1;t>=0;t--){const{nodeOffsetStart:n,nodeOffsetEnd:s}=r[t];if(Ne(n,i)){const r=_t(e.children[t],n,s,i);if(r)return r}}return null}if(3===e.kind)return null;if(1===e.kind){const i=De(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function bt(e,t,n,i){if(4===e.kind||2===e.kind){for(const r of e.children){if(Ne(i,n=ye(t,r.length))){const e=bt(r,t,n,i);if(e)return e}t=n}return null}if(3===e.kind)return null;if(1===e.kind){const i=De(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function kt(e,t,n,i,r,s,o,a,l,h,c=!1){if(o>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let c=0;c<a;c++){const a=e.getChild(c);if(a){if(n=ye(t,a.length),Ie(t,r)&&Te(n,i)){if(Te(n,r)){e=a;continue e}if(!kt(a,t,n,i,r,s,o,0,l,h))return!1}t=n}}return!0}case 2:{const c=!h||!e.closingBracket||e.closingBracket.bracketInfo.closesColorized(e.openingBracket.bracketInfo);let u=0;if(l){let t=l.get(e.openingBracket.text);void 0===t&&(t=0),u=t,c&&(t++,l.set(e.openingBracket.text,t))}const d=e.childrenLength;for(let g=0;g<d;g++){const d=e.getChild(g);if(d){if(n=ye(t,d.length),Ie(t,r)&&Te(n,i)){if(Te(n,r)&&1!==d.kind){e=d,c?(o++,a=u+1):a=u;continue e}if(c||1!==d.kind||!e.closingBracket){if(!kt(d,t,n,i,r,s,c?o+1:o,c?u+1:u,l,h,!e.closingBracket))return!1}}t=n}}return l?.set(e.openingBracket.text,u),!0}case 3:{const e=De(t,n);return s(new pe(e,o-1,0,!0))}case 1:{const e=De(t,n);return s(new pe(e,o-1,a-1,c))}case 0:return!0}}class vt{constructor(e,t,n){this.push=e,this.includeMinIndentation=t,this.textModel=n}}function Ct(e,t,n,i,r,s,o,a){if(o>200)return!0;let l=!0;if(2===e.kind){let h=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),h=t,t++,a.set(e.openingBracket.text,t)}const c=ye(t,e.openingBracket.length);let u=-1;if(s.includeMinIndentation&&(u=e.computeMinIndentation(t,s.textModel)),l=s.push(new be(De(t,n),De(t,c),e.closingBracket?De(ye(c,e.child?.length||0),n):void 0,o,h,e,u)),t=c,l&&e.child){const h=e.child;if(n=ye(t,h.length),Ie(t,r)&&Te(n,i)&&(l=Ct(h,t,n,i,r,s,o+1,a),!l))return!1}a?.set(e.openingBracket.text,h)}else{let n=t;for(const t of e.children){const e=n;if(n=ye(n,t.length),Ie(e,r)&&Ie(i,n)&&(l=Ct(t,e,n,i,r,s,o,a),!l))return!1}}return l}class Lt extends r.jG{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new r.HE),this.onDidChangeEmitter=new i.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){e.languageId&&!this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const n=new r.Cm;this.bracketPairsTree.value=(e=n.add(new pt(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=n,{object:e,dispose:()=>t?.dispose()}),n.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||o.c1.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||o.c1.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||o.c1.empty}findMatchingBracketUp(e,t,n){const i=this.textModel.validatePosition(t),r=this.textModel.getLanguageIdAtPosition(i.lineNumber,i.column);if(this.canBuildAST){const n=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew.getClosingBracketInfo(e);if(!n)return null;const i=this.getBracketPairsInRange(m.Q.fromPositions(t,t)).findLast((e=>n.closes(e.openingBracketInfo)));return i?i.openingBracketRange:null}{const t=e.toLowerCase(),s=this.languageConfigurationService.getLanguageConfiguration(r).brackets;if(!s)return null;const o=s.textIsBracket[t];return o?St(this._findMatchingBracketUp(o,i,wt(n))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(m.Q.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy((0,o.VE)((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),m.Q.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const n=wt(t);return this._matchBracket(this.textModel.validatePosition(e),n)}}_establishBracketSearchOffsets(e,t,n,i){const r=t.getCount(),s=t.getLanguageId(i);let o=Math.max(0,e.column-1-n.maxBracketLength);for(let l=i-1;l>=0;l--){const e=t.getEndOffset(l);if(e<=o)break;if(S(t.getStandardTokenType(l))||t.getLanguageId(l)!==s){o=e;break}}let a=Math.min(t.getLineContent().length,e.column-1+n.maxBracketLength);for(let l=i+1;l<r;l++){const e=t.getStartOffset(l);if(e>=a)break;if(S(t.getStandardTokenType(l))||t.getLanguageId(l)!==s){a=e;break}}return{searchStartOffset:o,searchEndOffset:a}}_matchBracket(e,t){const n=e.lineNumber,i=this.textModel.tokenization.getLineTokens(n),r=this.textModel.getLineContent(n),s=i.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const o=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(s)).brackets;if(o&&!S(i.getStandardTokenType(s))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,i,o,s),h=null;for(;;){const i=W.findNextBracketInRange(o.forwardRegex,n,r,a,l);if(!i)break;if(i.startColumn<=e.column&&e.column<=i.endColumn){const e=r.substring(i.startColumn-1,i.endColumn-1).toLowerCase(),n=this._matchFoundBracket(i,o.textIsBracket[e],o.textIsOpenBracket[e],t);if(n){if(n instanceof yt)return null;h=n}}a=i.endColumn-1}if(h)return h}if(s>0&&i.getStartOffset(s)===e.column-1){const o=s-1,a=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(o)).brackets;if(a&&!S(i.getStandardTokenType(o))){const{searchStartOffset:s,searchEndOffset:l}=this._establishBracketSearchOffsets(e,i,a,o),h=W.findPrevBracketInRange(a.reversedRegex,n,r,s,l);if(h&&h.startColumn<=e.column&&e.column<=h.endColumn){const e=r.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),n=this._matchFoundBracket(h,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(n)return n instanceof yt?null:n}}}return null}_matchFoundBracket(e,t,n,i){if(!t)return null;const r=n?this._findMatchingBracketDown(t,e.getEndPosition(),i):this._findMatchingBracketUp(t,e.getStartPosition(),i);return r?r instanceof yt?r:[e,r]:null}_findMatchingBracketUp(e,t,n){const i=e.languageId,r=e.reversedRegex;let s=-1,o=0;const a=(t,i,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return yt.INSTANCE;const h=W.findPrevBracketInRange(r,t,i,a,l);if(!h)break;const c=i.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(c)?s++:e.isClose(c)&&s--,0===s)return h;l=h.startColumn-1}return null};for(let l=t.lineNumber;l>=1;l--){const e=this.textModel.tokenization.getLineTokens(l),n=e.getCount(),r=this.textModel.getLineContent(l);let s=n-1,o=r.length,h=r.length;l===t.lineNumber&&(s=e.findTokenIndexAtOffset(t.column-1),o=t.column-1,h=t.column-1);let c=!0;for(;s>=0;s--){const t=e.getLanguageId(s)===i&&!S(e.getStandardTokenType(s));if(t)c?o=e.getStartOffset(s):(o=e.getStartOffset(s),h=e.getEndOffset(s));else if(c&&o!==h){const e=a(l,r,o,h);if(e)return e}c=t}if(c&&o!==h){const e=a(l,r,o,h);if(e)return e}}return null}_findMatchingBracketDown(e,t,n){const i=e.languageId,r=e.forwardRegex;let s=1,o=0;const a=(t,i,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return yt.INSTANCE;const h=W.findNextBracketInRange(r,t,i,a,l);if(!h)break;const c=i.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(c)?s++:e.isClose(c)&&s--,0===s)return h;a=h.endColumn-1}return null},l=this.textModel.getLineCount();for(let h=t.lineNumber;h<=l;h++){const e=this.textModel.tokenization.getLineTokens(h),n=e.getCount(),r=this.textModel.getLineContent(h);let s=0,o=0,l=0;h===t.lineNumber&&(s=e.findTokenIndexAtOffset(t.column-1),o=t.column-1,l=t.column-1);let c=!0;for(;s<n;s++){const t=e.getLanguageId(s)===i&&!S(e.getStandardTokenType(s));if(t)c||(o=e.getStartOffset(s)),l=e.getEndOffset(s);else if(c&&o!==l){const e=a(h,r,o,l);if(e)return e}c=t}if(c&&o!==l){const e=a(h,r,o,l);if(e)return e}}return null}findPrevBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(t)||null;let n=null,i=null,r=null;for(let s=t.lineNumber;s>=1;s--){const e=this.textModel.tokenization.getLineTokens(s),o=e.getCount(),a=this.textModel.getLineContent(s);let l=o-1,h=a.length,c=a.length;if(s===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),h=t.column-1,c=t.column-1;const s=e.getLanguageId(l);n!==s&&(n=s,i=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let u=!0;for(;l>=0;l--){const t=e.getLanguageId(l);if(n!==t){if(i&&r&&u&&h!==c){const e=W.findPrevBracketInRange(i.reversedRegex,s,a,h,c);if(e)return this._toFoundBracket(r,e);u=!1}n=t,i=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew}const o=!!i&&!S(e.getStandardTokenType(l));if(o)u?h=e.getStartOffset(l):(h=e.getStartOffset(l),c=e.getEndOffset(l));else if(r&&i&&u&&h!==c){const e=W.findPrevBracketInRange(i.reversedRegex,s,a,h,c);if(e)return this._toFoundBracket(r,e)}u=o}if(r&&i&&u&&h!==c){const e=W.findPrevBracketInRange(i.reversedRegex,s,a,h,c);if(e)return this._toFoundBracket(r,e)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const n=this.textModel.getLineCount();let i=null,r=null,s=null;for(let o=t.lineNumber;o<=n;o++){const e=this.textModel.tokenization.getLineTokens(o),n=e.getCount(),a=this.textModel.getLineContent(o);let l=0,h=0,c=0;if(o===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),h=t.column-1,c=t.column-1;const n=e.getLanguageId(l);i!==n&&(i=n,r=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let u=!0;for(;l<n;l++){const t=e.getLanguageId(l);if(i!==t){if(s&&r&&u&&h!==c){const e=W.findNextBracketInRange(r.forwardRegex,o,a,h,c);if(e)return this._toFoundBracket(s,e);u=!1}i=t,r=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const n=!!r&&!S(e.getStandardTokenType(l));if(n)u||(h=e.getStartOffset(l)),c=e.getEndOffset(l);else if(s&&r&&u&&h!==c){const e=W.findNextBracketInRange(r.forwardRegex,o,a,h,c);if(e)return this._toFoundBracket(s,e)}u=n}if(s&&r&&u&&h!==c){const e=W.findNextBracketInRange(r.forwardRegex,o,a,h,c);if(e)return this._toFoundBracket(s,e)}}return null}findEnclosingBrackets(e,t){const n=this.textModel.validatePosition(e);if(this.canBuildAST){const e=m.Q.fromPositions(n),t=this.getBracketPairsInRange(m.Q.fromPositions(n,n)).findLast((t=>void 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const i=wt(t),r=this.textModel.getLineCount(),s=new Map;let o=[];const a=(e,t)=>{if(!s.has(e)){const n=[];for(let e=0,i=t?t.brackets.length:0;e<i;e++)n[e]=0;s.set(e,n)}o=s.get(e)};let l=0;const h=(e,t,n,r,s)=>{for(;;){if(i&&++l%100==0&&!i())return yt.INSTANCE;const a=W.findNextBracketInRange(e.forwardRegex,t,n,r,s);if(!a)break;const h=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),c=e.textIsBracket[h];if(c&&(c.isOpen(h)?o[c.index]++:c.isClose(h)&&o[c.index]--,-1===o[c.index]))return this._matchFoundBracket(a,c,!1,i);r=a.endColumn-1}return null};let c=null,u=null;for(let d=n.lineNumber;d<=r;d++){const e=this.textModel.tokenization.getLineTokens(d),t=e.getCount(),i=this.textModel.getLineContent(d);let r=0,s=0,o=0;if(d===n.lineNumber){r=e.findTokenIndexAtOffset(n.column-1),s=n.column-1,o=n.column-1;const t=e.getLanguageId(r);c!==t&&(c=t,u=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a(c,u))}let l=!0;for(;r<t;r++){const t=e.getLanguageId(r);if(c!==t){if(u&&l&&s!==o){const e=h(u,d,i,s,o);if(e)return St(e);l=!1}c=t,u=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a(c,u)}const n=!!u&&!S(e.getStandardTokenType(r));if(n)l||(s=e.getStartOffset(r)),o=e.getEndOffset(r);else if(u&&l&&s!==o){const e=h(u,d,i,s,o);if(e)return St(e)}l=n}if(u&&l&&s!==o){const e=h(u,d,i,s,o);if(e)return St(e)}}return null}_toFoundBracket(e,t){if(!t)return null;let n=this.textModel.getValueInRange(t);n=n.toLowerCase();const i=e.getBracketInfo(n);return i?{range:t,bracketInfo:i}:null}}function wt(e){if(void 0===e)return()=>!0;{const t=Date.now();return()=>Date.now()-t<=e}}class yt{static{this.INSTANCE=new yt}constructor(){this._searchCanceledBrand=void 0}}function St(e){return e instanceof yt?null:e}var xt=n(8295),Et=n(6001);class Nt extends r.jG{constructor(e){super(),this.textModel=e,this.colorProvider=new It,this.onDidChangeEmitter=new i.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,n,i){if(i)return[];if(void 0===t)return[];if(!this.colorizationOptions.enabled)return[];return this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray()}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new m.Q(1,1,this.textModel.getLineCount(),1),e,t):[]}}class It{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}(0,Et.zy)(((e,t)=>{const n=[xt.sN,xt.lQ,xt.ss,xt.l5,xt.sH,xt.zp],i=new It;t.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${e.getColor(xt.s7)}; }`);const r=n.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let s=0;s<30;s++){const e=r[s%r.length];t.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(s)} { color: ${e}; }`)}}));var Tt=n(7289);function At(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class Dt{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,i){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=i}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${At(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${At(this.oldText)}")`:`(replace@${this.oldPosition} "${At(this.oldText)}" with "${At(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,n){const i=t.length;x.Sw(e,i,n),n+=4;for(let r=0;r<i;r++)x.gN(e,t.charCodeAt(r),n),n+=2;return n}static _readString(e,t){const n=x.bb(e,t);return D(e,t+=4,n)}writeSize(){return 8+Dt._writeStringSize(this.oldText)+Dt._writeStringSize(this.newText)}write(e,t){return x.Sw(e,this.oldPosition,t),t+=4,x.Sw(e,this.newPosition,t),t+=4,t=Dt._writeString(e,this.oldText,t),t=Dt._writeString(e,this.newText,t)}static read(e,t,n){const i=x.bb(e,t);t+=4;const r=x.bb(e,t);t+=4;const s=Dt._readString(e,t);t+=Dt._writeStringSize(s);const o=Dt._readString(e,t);return t+=Dt._writeStringSize(o),n.push(new Dt(i,s,r,o)),t}}class Mt{constructor(e,t){this._prevEdits=e,this._currEdits=t,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let e=0,t=0,n=this._getPrev(e),i=this._getCurr(t);for(;e<this._prevLen||t<this._currLen;){if(null===n){this._acceptCurr(i),i=this._getCurr(++t);continue}if(null===i){this._acceptPrev(n),n=this._getPrev(++e);continue}if(i.oldEnd<=n.newPosition){this._acceptCurr(i),i=this._getCurr(++t);continue}if(n.newEnd<=i.oldPosition){this._acceptPrev(n),n=this._getPrev(++e);continue}if(i.oldPosition<n.newPosition){const[e,t]=Mt._splitCurr(i,n.newPosition-i.oldPosition);this._acceptCurr(e),i=t;continue}if(n.newPosition<i.oldPosition){const[e,t]=Mt._splitPrev(n,i.oldPosition-n.newPosition);this._acceptPrev(e),n=t;continue}let r,s;if(i.oldEnd===n.newEnd)r=n,s=i,n=this._getPrev(++e),i=this._getCurr(++t);else if(i.oldEnd<n.newEnd){const[e,o]=Mt._splitPrev(n,i.oldLength);r=e,s=i,n=o,i=this._getCurr(++t)}else{const[t,o]=Mt._splitCurr(i,n.newLength);r=n,s=t,n=this._getPrev(++e),i=o}this._result[this._resultLen++]=new Dt(r.oldPosition,r.oldText,s.newPosition,s.newText),this._prevDeltaOffset+=r.newLength-r.oldLength,this._currDeltaOffset+=s.newLength-s.oldLength}const r=Mt._merge(this._result);return Mt._removeNoOps(r)}_acceptCurr(e){this._result[this._resultLen++]=Mt._rebaseCurr(this._prevDeltaOffset,e),this._currDeltaOffset+=e.newLength-e.oldLength}_getCurr(e){return e<this._currLen?this._currEdits[e]:null}_acceptPrev(e){this._result[this._resultLen++]=Mt._rebasePrev(this._currDeltaOffset,e),this._prevDeltaOffset+=e.newLength-e.oldLength}_getPrev(e){return e<this._prevLen?this._prevEdits[e]:null}static _rebaseCurr(e,t){return new Dt(t.oldPosition-e,t.oldText,t.newPosition,t.newText)}static _rebasePrev(e,t){return new Dt(t.oldPosition,t.oldText,t.newPosition+e,t.newText)}static _splitPrev(e,t){const n=e.newText.substr(0,t),i=e.newText.substr(t);return[new Dt(e.oldPosition,e.oldText,e.newPosition,n),new Dt(e.oldEnd,"",e.newPosition+t,i)]}static _splitCurr(e,t){const n=e.oldText.substr(0,t),i=e.oldText.substr(t);return[new Dt(e.oldPosition,n,e.newPosition,e.newText),new Dt(e.oldPosition+t,i,e.newEnd,"")]}static _merge(e){if(0===e.length)return e;const t=[];let n=0,i=e[0];for(let r=1;r<e.length;r++){const s=e[r];i.oldEnd===s.oldPosition?i=new Dt(i.oldPosition,i.oldText+s.oldText,i.newPosition,i.newText+s.newText):(t[n++]=i,i=s)}return t[n++]=i,t}static _removeNoOps(e){if(0===e.length)return e;const t=[];let n=0;for(let i=0;i<e.length;i++){const r=e[i];r.oldText!==r.newText&&(t[n++]=r)}return t}}var Rt=n(2467);function Ot(e){return e.toString()}class Bt{static create(e,t){const n=e.getAlternativeVersionId(),i=zt(e);return new Bt(n,n,i,i,t,t,[])}constructor(e,t,n,i,r,s,o){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=n,this.afterEOL=i,this.beforeCursorState=r,this.afterCursorState=s,this.changes=o}append(e,t,n,i,r){var s,o;t.length>0&&(this.changes=(s=this.changes,o=t,null===s||0===s.length?o:new Mt(s,o).compress())),this.afterEOL=n,this.afterVersionId=i,this.afterCursorState=r}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,n){if(x.Sw(e,t?t.length:0,n),n+=4,t)for(const i of t)x.Sw(e,i.selectionStartLineNumber,n),n+=4,x.Sw(e,i.selectionStartColumn,n),n+=4,x.Sw(e,i.positionLineNumber,n),n+=4,x.Sw(e,i.positionColumn,n),n+=4;return n}static _readSelections(e,t,n){const i=x.bb(e,t);t+=4;for(let r=0;r<i;r++){const i=x.bb(e,t);t+=4;const r=x.bb(e,t);t+=4;const s=x.bb(e,t);t+=4;const o=x.bb(e,t);t+=4,n.push(new p.L(i,r,s,o))}return t}serialize(){let e=10+Bt._writeSelectionsSize(this.beforeCursorState)+Bt._writeSelectionsSize(this.afterCursorState)+4;for(const i of this.changes)e+=i.writeSize();const t=new Uint8Array(e);let n=0;x.Sw(t,this.beforeVersionId,n),n+=4,x.Sw(t,this.afterVersionId,n),n+=4,x.Gs(t,this.beforeEOL,n),n+=1,x.Gs(t,this.afterEOL,n),n+=1,n=Bt._writeSelections(t,this.beforeCursorState,n),n=Bt._writeSelections(t,this.afterCursorState,n),x.Sw(t,this.changes.length,n),n+=4;for(const i of this.changes)n=i.write(t,n);return t.buffer}static deserialize(e){const t=new Uint8Array(e);let n=0;const i=x.bb(t,n);n+=4;const r=x.bb(t,n);n+=4;const s=x.pJ(t,n);n+=1;const o=x.pJ(t,n);n+=1;const a=[];n=Bt._readSelections(t,n,a);const l=[];n=Bt._readSelections(t,n,l);const h=x.bb(t,n);n+=4;const c=[];for(let u=0;u<h;u++)n=Dt.read(t,n,c);return new Bt(i,r,s,o,a,l,c)}}class Ft{get type(){return 0}get resource(){return c.r.isUri(this.model)?this.model:this.model.uri}constructor(e,t,n,i){this.label=e,this.code=t,this.model=n,this._data=Bt.create(n,i)}toString(){return(this._data instanceof Bt?this._data:Bt.deserialize(this._data)).changes.map((e=>e.toString())).join(", ")}matchesResource(e){return(c.r.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof Bt}append(e,t,n,i,r){this._data instanceof Bt&&this._data.append(e,t,n,i,r)}close(){this._data instanceof Bt&&(this._data=this._data.serialize())}open(){this._data instanceof Bt||(this._data=Bt.deserialize(this._data))}undo(){if(c.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Bt&&(this._data=this._data.serialize());const e=Bt.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(c.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Bt&&(this._data=this._data.serialize());const e=Bt.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof Bt&&(this._data=this._data.serialize()),this._data.byteLength+168}}class Pt{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,n){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=n.slice(0),this._editStackElementsMap=new Map;for(const i of this._editStackElementsArr){const e=Ot(i.resource);this._editStackElementsMap.set(e,i)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=Ot(e);return this._editStackElementsMap.has(t)}setModel(e){const t=Ot(c.r.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=Ot(e.uri);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).canAppend(e)}return!1}append(e,t,n,i,r){const s=Ot(e.uri);this._editStackElementsMap.get(s).append(e,t,n,i,r)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=Ot(e);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).heapSize()}return 0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${(0,Rt.P8)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function zt(e){return"\n"===e.getEOL()?0:1}function Vt(e){return!!e&&(e instanceof Ft||e instanceof Pt)}class Wt{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Vt(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Vt(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const n=this._undoRedoService.getLastElement(this._model.uri);if(Vt(n)&&n.canAppend(this._model))return n;const i=new Ft(Tt.kg("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(i,t),i}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],zt(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,n,i){const r=this._getOrCreateEditStackElement(e,i),s=this._model.applyEdits(t,!0),o=Wt._computeCursorState(n,s),a=s.map(((e,t)=>({index:t,textChange:e.textChange})));return a.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),r.append(this._model,a.map((e=>e.textChange)),zt(this._model),this._model.getAlternativeVersionId(),o),o}static _computeCursorState(e,t){try{return e?e(t):null}catch(n){return(0,l.dz)(n),null}}}var qt,Ht=n(7393);class Ut extends r.jG{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}!function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(qt||(qt={}));class jt{constructor(e,t,n,i,r,s){if(this.visibleColumn=e,this.column=t,this.className=n,this.horizontalLine=i,this.forWrappedLinesAfterColumn=r,this.forWrappedLinesBeforeOrAtColumn=s,-1!==e==(-1!==t))throw new Error}}class Kt{constructor(e,t){this.top=e,this.endColumn=t}}class $t extends Ut{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return function(e,t){let n=0,i=0;const r=e.length;for(;i<r;){const r=e.charCodeAt(i);if(32===r)n++;else{if(9!==r)break;n=n-n%t+t}i++}return i===r?-1:n}(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,n){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new l.D7("Illegal value for lineNumber");const r=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(r&&r.offSide);let o=-2,a=-1,h=-2,c=-1;const u=e=>{if(-1!==o&&(-2===o||o>e-1)){o=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){o=t,a=e;break}}}if(-2===h){h=-1,c=-1;for(let t=e;t<i;t++){const e=this._computeIndentLevel(t);if(e>=0){h=t,c=e;break}}}};let d=-2,g=-1,f=-2,m=-1;const p=e=>{if(-2===d){d=-1,g=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){d=t,g=e;break}}}if(-1!==f&&(-2===f||f<e-1)){f=-1,m=-1;for(let t=e;t<i;t++){const e=this._computeIndentLevel(t);if(e>=0){f=t,m=e;break}}}};let _=0,b=!0,k=0,v=!0,C=0,L=0;for(let l=0;b||v;l++){const r=e-l,o=e+l;l>1&&(r<1||r<t)&&(b=!1),l>1&&(o>i||o>n)&&(v=!1),l>5e4&&(b=!1,v=!1);let f=-1;if(b&&r>=1){const e=this._computeIndentLevel(r-1);e>=0?(h=r-1,c=e,f=Math.ceil(e/this.textModel.getOptions().indentSize)):(u(r),f=this._getIndentLevelForWhitespaceLine(s,a,c))}let w=-1;if(v&&o<=i){const e=this._computeIndentLevel(o-1);e>=0?(d=o-1,g=e,w=Math.ceil(e/this.textModel.getOptions().indentSize)):(p(o),w=this._getIndentLevelForWhitespaceLine(s,g,m))}if(0!==l){if(1===l){if(o<=i&&w>=0&&L+1===w){b=!1,_=o,k=o,C=w;continue}if(r>=1&&f>=0&&f-1===L){v=!1,_=r,k=r,C=f;continue}if(_=e,k=e,C=L,0===C)return{startLineNumber:_,endLineNumber:k,indent:C}}b&&(f>=C?_=r:b=!1),v&&(w>=C?k=o:v=!1)}else L=f}return{startLineNumber:_,endLineNumber:k,indent:C}}getLinesBracketGuides(e,t,n,i){const r=[];for(let h=e;h<=t;h++)r.push([]);const s=!0,o=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new m.Q(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let a;if(n&&o.length>0){const i=(e<=n.lineNumber&&n.lineNumber<=t?o:this.textModel.bracketPairs.getBracketPairsInRange(m.Q.fromPositions(n)).toArray()).filter((e=>m.Q.strictContainsPosition(e.range,n)));a=(0,Ht.Uk)(i,(e=>s))?.range}const l=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,c=new Gt;for(const u of o){if(!u.closingBracketRange)continue;const n=a&&u.range.equalsRange(a);if(!n&&!i.includeInactive)continue;const s=c.getInlineClassName(u.nestingLevel,u.nestingLevelOfEqualBracketType,l)+(i.highlightActive&&n?" "+c.activeClassName:""),o=u.openingBracketRange.getStartPosition(),d=u.closingBracketRange.getStartPosition(),g=i.horizontalGuides===qt.Enabled||i.horizontalGuides===qt.EnabledForActive&&n;if(u.range.startLineNumber===u.range.endLineNumber){g&&r[u.range.startLineNumber-e].push(new jt(-1,u.openingBracketRange.getEndPosition().column,s,new Kt(!1,d.column),-1,-1));continue}const f=this.getVisibleColumnFromPosition(d),m=this.getVisibleColumnFromPosition(u.openingBracketRange.getStartPosition()),p=Math.min(m,f,u.minVisibleColumnIndentation+1);let _=!1;h.HG(this.textModel.getLineContent(u.closingBracketRange.startLineNumber))<u.closingBracketRange.startColumn-1&&(_=!0);const b=Math.max(o.lineNumber,e),k=Math.min(d.lineNumber,t),v=_?1:0;for(let t=b;t<k+v;t++)r[t-e].push(new jt(p,-1,s,null,t===o.lineNumber?o.column:-1,t===d.lineNumber?d.column:-1));g&&(o.lineNumber>=e&&m>p&&r[o.lineNumber-e].push(new jt(p,-1,s,new Kt(!1,o.column),-1,-1)),d.lineNumber<=t&&f>p&&r[d.lineNumber-e].push(new jt(p,-1,s,new Kt(!_,d.column),-1,-1)))}for(const h of r)h.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return r}getVisibleColumnFromPosition(e){return d.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");const i=this.textModel.getOptions(),r=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(r&&r.offSide),o=new Array(t-e+1);let a=-2,l=-1,h=-2,c=-1;for(let u=e;u<=t;u++){const t=u-e,r=this._computeIndentLevel(u-1);if(r>=0)a=u-1,l=r,o[t]=Math.ceil(r/i.indentSize);else{if(-2===a){a=-1,l=-1;for(let e=u-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==h&&(-2===h||h<u-1)){h=-1,c=-1;for(let e=u;e<n;e++){const t=this._computeIndentLevel(e);if(t>=0){h=e,c=t;break}}}o[t]=this._getIndentLevelForWhitespaceLine(s,l,c)}}return o}_getIndentLevelForWhitespaceLine(e,t,n){const i=this.textModel.getOptions();return-1===t||-1===n?0:t<n?1+Math.floor(t/i.indentSize):t===n||e?Math.ceil(n/i.indentSize):1+Math.floor(n/i.indentSize)}}class Gt{constructor(){this.activeClassName="indent-active"}getInlineClassName(e,t,n){return this.getInlineClassNameOfLevel(n?t:e)}getInlineClassNameOfLevel(e){return"bracket-indent-guide lvl-"+e%30}}class Qt{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function Yt(e,t,n,i,r){let s;for(r.spacesDiff=0,r.looksLikeAlignment=!1,s=0;s<t&&s<i;s++){if(e.charCodeAt(s)!==n.charCodeAt(s))break}let o=0,a=0;for(let d=s;d<t;d++){32===e.charCodeAt(d)?o++:a++}let l=0,h=0;for(let d=s;d<i;d++){32===n.charCodeAt(d)?l++:h++}if(o>0&&a>0)return;if(l>0&&h>0)return;const c=Math.abs(a-h),u=Math.abs(o-l);if(0===c)return r.spacesDiff=u,void(u>0&&0<=l-1&&l-1<e.length&&l<n.length&&32!==n.charCodeAt(l)&&32===e.charCodeAt(l-1)&&44===e.charCodeAt(e.length-1)&&(r.looksLikeAlignment=!0));u%c!=0||(r.spacesDiff=u/c)}function Xt(e,t,n){const i=Math.min(e.getLineCount(),1e4);let r=0,s=0,o="",a=0;const l=[2,4,6,8,3,5,7],h=[0,0,0,0,0,0,0,0,0],c=new Qt;for(let g=1;g<=i;g++){const i=e.getLineLength(g),l=e.getLineContent(g),u=i<=65536;let d=!1,f=0,m=0,p=0;for(let t=0,n=i;t<n;t++){const n=u?l.charCodeAt(t):e.getLineCharCode(g,t);if(9===n)p++;else{if(32!==n){d=!0,f=t;break}m++}}if(!d)continue;if(p>0?r++:m>1&&s++,Yt(o,a,l,f,c),c.looksLikeAlignment&&(!n||t!==c.spacesDiff))continue;const _=c.spacesDiff;_<=8&&h[_]++,o=l,a=f}let u=n;r!==s&&(u=r<s);let d=t;if(u){let e=u?0:.1*i;l.forEach((t=>{const n=h[t];n>e&&(e=n,d=t)})),4===d&&h[4]>0&&h[2]>0&&h[2]>=h[4]/2&&(d=2)}return{insertSpaces:u,tabSize:d}}function Zt(e){return(1&e.metadata)>>>0}function Jt(e,t){e.metadata=254&e.metadata|t}function en(e){return(2&e.metadata)>>>1==1}function tn(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function nn(e){return(4&e.metadata)>>>2==1}function rn(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function sn(e){return(64&e.metadata)>>>6==1}function on(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function an(e,t){e.metadata=231&e.metadata|t<<3}function ln(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class hn{constructor(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,Jt(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,rn(this,!1),on(this,!1),an(this,1),ln(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,tn(this,!1)}reset(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i}setOptions(e){this.options=e;const t=this.options.className;rn(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),on(this,null!==this.options.glyphMarginClassName),an(this,this.options.stickiness),ln(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const cn=new hn(null,0,0);cn.parent=cn,cn.left=cn,cn.right=cn,Jt(cn,0);class un{constructor(){this.root=cn,this.requestNormalizeDelta=!1}intervalSearch(e,t,n,i,r,s){return this.root===cn?[]:function(e,t,n,i,r,s,o){let a=e.root,l=0,h=0,c=0,u=0;const d=[];let g=0;for(;a!==cn;)if(en(a))tn(a.left,!1),tn(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;else{if(!en(a.left)){if(h=l+a.maxEnd,h<t){tn(a,!0);continue}if(a.left!==cn){a=a.left;continue}}if(c=l+a.start,c>n)tn(a,!0);else{if(u=l+a.end,u>=t){a.setCachedOffsets(c,u,s);let e=!0;i&&a.ownerId&&a.ownerId!==i&&(e=!1),r&&nn(a)&&(e=!1),o&&!sn(a)&&(e=!1),e&&(d[g++]=a)}tn(a,!0),a.right===cn||en(a.right)||(l+=a.delta,a=a.right)}}return tn(e.root,!1),d}(this,e,t,n,i,r,s)}search(e,t,n,i){return this.root===cn?[]:function(e,t,n,i,r){let s=e.root,o=0,a=0,l=0;const h=[];let c=0;for(;s!==cn;){if(en(s)){tn(s.left,!1),tn(s.right,!1),s===s.parent.right&&(o-=s.parent.delta),s=s.parent;continue}if(s.left!==cn&&!en(s.left)){s=s.left;continue}a=o+s.start,l=o+s.end,s.setCachedOffsets(a,l,i);let e=!0;t&&s.ownerId&&s.ownerId!==t&&(e=!1),n&&nn(s)&&(e=!1),r&&!sn(s)&&(e=!1),e&&(h[c++]=s),tn(s,!0),s.right===cn||en(s.right)||(o+=s.delta,s=s.right)}return tn(e.root,!1),h}(this,e,t,n,i)}collectNodesFromOwner(e){return function(e,t){let n=e.root;const i=[];let r=0;for(;n!==cn;)en(n)?(tn(n.left,!1),tn(n.right,!1),n=n.parent):n.left===cn||en(n.left)?(n.ownerId===t&&(i[r++]=n),tn(n,!0),n.right===cn||en(n.right)||(n=n.right)):n=n.left;return tn(e.root,!1),i}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const n=[];let i=0;for(;t!==cn;)en(t)?(tn(t.left,!1),tn(t.right,!1),t=t.parent):t.left===cn||en(t.left)?t.right===cn||en(t.right)?(n[i++]=t,tn(t,!0)):t=t.right:t=t.left;return tn(e.root,!1),n}(this)}insert(e){fn(this,e),this._normalizeDeltaIfNecessary()}delete(e){mn(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const n=e;let i=0;for(;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;const r=n.start+i,s=n.end+i;n.setCachedOffsets(r,s,t)}acceptReplace(e,t,n,i){const r=function(e,t,n){let i=e.root,r=0,s=0,o=0,a=0;const l=[];let h=0;for(;i!==cn;)if(en(i))tn(i.left,!1),tn(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;else{if(!en(i.left)){if(s=r+i.maxEnd,s<t){tn(i,!0);continue}if(i.left!==cn){i=i.left;continue}}o=r+i.start,o>n?tn(i,!0):(a=r+i.end,a>=t&&(i.setCachedOffsets(o,a,0),l[h++]=i),tn(i,!0),i.right===cn||en(i.right)||(r+=i.delta,i=i.right))}return tn(e.root,!1),l}(this,e,e+t);for(let s=0,o=r.length;s<o;s++){mn(this,r[s])}this._normalizeDeltaIfNecessary(),function(e,t,n,i){let r=e.root,s=0,o=0,a=0;const l=i-(n-t);for(;r!==cn;)if(en(r))tn(r.left,!1),tn(r.right,!1),r===r.parent.right&&(s-=r.parent.delta),vn(r),r=r.parent;else{if(!en(r.left)){if(o=s+r.maxEnd,o<t){tn(r,!0);continue}if(r.left!==cn){r=r.left;continue}}a=s+r.start,a>n?(r.start+=l,r.end+=l,r.delta+=l,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0),tn(r,!0)):(tn(r,!0),r.right===cn||en(r.right)||(s+=r.delta,r=r.right))}tn(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(let s=0,o=r.length;s<o;s++){const o=r[s];o.start=o.cachedAbsoluteStart,o.end=o.cachedAbsoluteEnd,gn(o,e,e+t,n,i),o.maxEnd=o.end,fn(this,o)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(e){let t=e.root,n=0;for(;t!==cn;)t.left===cn||en(t.left)?t.right===cn||en(t.right)?(t.start=n+t.start,t.end=n+t.end,t.delta=0,vn(t),tn(t,!0),tn(t.left,!1),tn(t.right,!1),t===t.parent.right&&(n-=t.parent.delta),t=t.parent):(n+=t.delta,t=t.right):t=t.left;tn(e.root,!1)}(this))}}function dn(e,t,n,i){return e<n||!(e>n)&&(1!==i&&(2===i||t))}function gn(e,t,n,i,r){const s=function(e){return(24&e.metadata)>>>3}(e),o=0===s||2===s,a=1===s||2===s,l=n-t,h=i,c=Math.min(l,h),u=e.start;let d=!1;const g=e.end;let f=!1;t<=u&&g<=n&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,d=!0,e.end=t,f=!0);{const e=r?1:l>0?2:0;!d&&dn(u,o,t,e)&&(d=!0),!f&&dn(g,a,t,e)&&(f=!0)}if(c>0&&!r){const e=l>h?2:0;!d&&dn(u,o,t+c,e)&&(d=!0),!f&&dn(g,a,t+c,e)&&(f=!0)}{const i=r?1:0;!d&&dn(u,o,n,i)&&(e.start=t+h,d=!0),!f&&dn(g,a,n,i)&&(e.end=t+h,f=!0)}const m=h-l;d||(e.start=Math.max(0,u+m)),f||(e.end=Math.max(0,g+m)),e.start>e.end&&(e.end=e.start)}function fn(e,t){if(e.root===cn)return t.parent=cn,t.left=cn,t.right=cn,Jt(t,0),e.root=t,e.root;!function(e,t){let n=0,i=e.root;const r=t.start,s=t.end;for(;;){if(Ln(r,s,i.start+n,i.end+n)<0){if(i.left===cn){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===cn){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}}t.parent=i,t.left=cn,t.right=cn,Jt(t,1)}(e,t),Cn(t.parent);let n=t;for(;n!==e.root&&1===Zt(n.parent);)if(n.parent===n.parent.parent.left){const t=n.parent.parent.right;1===Zt(t)?(Jt(n.parent,0),Jt(t,0),Jt(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&(n=n.parent,_n(e,n)),Jt(n.parent,0),Jt(n.parent.parent,1),bn(e,n.parent.parent))}else{const t=n.parent.parent.left;1===Zt(t)?(Jt(n.parent,0),Jt(t,0),Jt(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&(n=n.parent,bn(e,n)),Jt(n.parent,0),Jt(n.parent.parent,1),_n(e,n.parent.parent))}return Jt(e.root,0),t}function mn(e,t){let n,i;if(t.left===cn?(n=t.right,i=t,n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===cn?(n=t.left,i=t):(i=function(e){for(;e.left!==cn;)e=e.left;return e}(t.right),n=i.right,n.start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,Jt(n,0),t.detach(),pn(),vn(n),void(e.root.parent=cn);const r=1===Zt(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,Jt(i,Zt(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==cn&&(i.left.parent=i),i.right!==cn&&(i.right.parent=i)),t.detach(),r)return Cn(n.parent),i!==t&&(Cn(i),Cn(i.parent)),void pn();let s;for(Cn(n),Cn(n.parent),i!==t&&(Cn(i),Cn(i.parent));n!==e.root&&0===Zt(n);)n===n.parent.left?(s=n.parent.right,1===Zt(s)&&(Jt(s,0),Jt(n.parent,1),_n(e,n.parent),s=n.parent.right),0===Zt(s.left)&&0===Zt(s.right)?(Jt(s,1),n=n.parent):(0===Zt(s.right)&&(Jt(s.left,0),Jt(s,1),bn(e,s),s=n.parent.right),Jt(s,Zt(n.parent)),Jt(n.parent,0),Jt(s.right,0),_n(e,n.parent),n=e.root)):(s=n.parent.left,1===Zt(s)&&(Jt(s,0),Jt(n.parent,1),bn(e,n.parent),s=n.parent.left),0===Zt(s.left)&&0===Zt(s.right)?(Jt(s,1),n=n.parent):(0===Zt(s.left)&&(Jt(s.right,0),Jt(s,1),_n(e,s),s=n.parent.left),Jt(s,Zt(n.parent)),Jt(n.parent,0),Jt(s.left,0),bn(e,n.parent),n=e.root));Jt(n,0),pn()}function pn(){cn.parent=cn,cn.delta=0,cn.start=0,cn.end=0}function _n(e,t){const n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==cn&&(n.left.parent=t),n.parent=t.parent,t.parent===cn?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,vn(t),vn(n)}function bn(e,t){const n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==cn&&(n.right.parent=t),n.parent=t.parent,t.parent===cn?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,vn(t),vn(n)}function kn(e){let t=e.end;if(e.left!==cn){const n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==cn){const n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function vn(e){e.maxEnd=kn(e)}function Cn(e){for(;e!==cn;){const t=kn(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function Ln(e,t,n,i){return e===n?t-i:e-n}class wn{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==yn)return Sn(this.right);let e=this;for(;e.parent!==yn&&e.parent.left!==e;)e=e.parent;return e.parent===yn?yn:e.parent}prev(){if(this.left!==yn)return xn(this.left);let e=this;for(;e.parent!==yn&&e.parent.right!==e;)e=e.parent;return e.parent===yn?yn:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const yn=new wn(null,0);function Sn(e){for(;e.left!==yn;)e=e.left;return e}function xn(e){for(;e.right!==yn;)e=e.right;return e}function En(e){return e===yn?0:e.size_left+e.piece.length+En(e.right)}function Nn(e){return e===yn?0:e.lf_left+e.piece.lineFeedCnt+Nn(e.right)}function In(){yn.parent=yn}function Tn(e,t){const n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==yn&&(n.left.parent=t),n.parent=t.parent,t.parent===yn?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function An(e,t){const n=t.left;t.left=n.right,n.right!==yn&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===yn?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function Dn(e,t){let n,i;if(t.left===yn?(i=t,n=i.right):t.right===yn?(i=t,n=i.left):(i=Sn(t.right),n=i.right),i===e.root)return e.root=n,n.color=0,t.detach(),In(),void(e.root.parent=yn);const r=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,On(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,On(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==yn&&(i.left.parent=i),i.right!==yn&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,On(e,i)),t.detach(),n.parent.left===n){const t=En(n),i=Nn(n);if(t!==n.parent.size_left||i!==n.parent.lf_left){const r=t-n.parent.size_left,s=i-n.parent.lf_left;n.parent.size_left=t,n.parent.lf_left=i,Rn(e,n.parent,r,s)}}if(On(e,n.parent),r)return void In();let s;for(;n!==e.root&&0===n.color;)n===n.parent.left?(s=n.parent.right,1===s.color&&(s.color=0,n.parent.color=1,Tn(e,n.parent),s=n.parent.right),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.right.color&&(s.left.color=0,s.color=1,An(e,s),s=n.parent.right),s.color=n.parent.color,n.parent.color=0,s.right.color=0,Tn(e,n.parent),n=e.root)):(s=n.parent.left,1===s.color&&(s.color=0,n.parent.color=1,An(e,n.parent),s=n.parent.left),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.left.color&&(s.right.color=0,s.color=1,Tn(e,s),s=n.parent.left),s.color=n.parent.color,n.parent.color=0,s.left.color=0,An(e,n.parent),n=e.root));n.color=0,In()}function Mn(e,t){for(On(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const n=t.parent.parent.right;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&Tn(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,An(e,t.parent.parent))}else{const n=t.parent.parent.left;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&An(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Tn(e,t.parent.parent))}e.root.color=0}function Rn(e,t,n,i){for(;t!==e.root&&t!==yn;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function On(e,t){let n=0,i=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(n=En((t=t.parent).left)-t.size_left,i=Nn(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}yn.parent=yn,yn.left=yn,yn.right=yn,yn.color=0;var Bn=n(2389);const Fn=65535;function Pn(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class zn{constructor(e,t,n,i,r){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=r}}function Vn(e,t=!0){const n=[0];let i=1;for(let r=0,s=e.length;r<s;r++){const t=e.charCodeAt(r);13===t?r+1<s&&10===e.charCodeAt(r+1)?(n[i++]=r+2,r++):n[i++]=r+1:10===t&&(n[i++]=r+1)}return t?Pn(n):n}class Wn{constructor(e,t,n,i,r){this.bufferIndex=e,this.start=t,this.end=n,this.lineFeedCnt=i,this.length=r}}class qn{constructor(e,t){this.buffer=e,this.lineStarts=t}}class Hn{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==yn&&e.iterate(e.root,(e=>(e!==yn&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class Un{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber<e&&n.nodeStartLineNumber+n.node.piece.lineFeedCnt>=e)return n}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const n=this._cache;for(let i=0;i<n.length;i++){const r=n[i];(null===r.node.parent||r.nodeStartOffset>=e)&&(n[i]=null,t=!0)}if(t){const e=[];for(const t of n)null!==t&&e.push(t);this._cache=e}}}class jn{constructor(e,t,n){this.create(e,t,n)}create(e,t,n){this._buffers=[new qn("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=yn,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=n;let i=null;for(let r=0,s=e.length;r<s;r++)if(e[r].buffer.length>0){e[r].lineStarts||(e[r].lineStarts=Vn(e[r].buffer));const t=new Wn(r+1,{line:0,column:0},{line:e[r].lineStarts.length-1,column:e[r].buffer.length-e[r].lineStarts[e[r].lineStarts.length-1]},e[r].lineStarts.length-1,e[r].buffer.length);this._buffers.push(e[r]),i=this.rbInsertRight(i,t)}this._searchCache=new Un(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=Fn,n=t-Math.floor(21845),i=2*n;let r="",s=0;const o=[];if(this.iterate(this.root,(t=>{const a=this.getNodeContent(t),l=a.length;if(s<=n||s+l<i)return r+=a,s+=l,!0;const h=r.replace(/\r\n|\r|\n/g,e);return o.push(new qn(h,Vn(h))),r=a,s=l,!0})),s>0){const t=r.replace(/\r\n|\r|\n/g,e);o.push(new qn(t,Vn(t)))}this.create(o,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new Hn(this,e)}getOffsetAt(e,t){let n=0,i=this.root;for(;i!==yn;)if(i.left!==yn&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e){n+=i.size_left;return n+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1)}e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,n=0;const i=e;for(;t!==yn;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const r=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+r.index,0===r.index){const e=i-this.getOffsetAt(n+1,1);return new f.y(n+1,e+1)}return new f.y(n+1,r.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===yn){const t=i-e-this.getOffsetAt(n+1,1);return new f.y(n+1,t+1)}t=t.right}return new f.y(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),r=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?r:r.replace(/\r\n|\r|\n/g,t):r}getValueInRange2(e,t){if(e.node===t.node){const n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(r+e.remainder,r+t.remainder)}let n=e.node;const i=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);let s=i.substring(r+e.remainder,r+n.piece.length);for(n=n.next();n!==yn;){const e=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(n===t.node){s+=e.substring(i,i+t.remainder);break}s+=e.substr(i,n.piece.length),n=n.next()}return s}getLinesContent(){const e=[];let t=0,n="",i=!1;return this.iterate(this.root,(r=>{if(r===yn)return!0;const s=r.piece;let o=s.length;if(0===o)return!0;const a=this._buffers[s.bufferIndex].buffer,l=this._buffers[s.bufferIndex].lineStarts,h=s.start.line,c=s.end.line;let u=l[h]+s.start.column;if(i&&(10===a.charCodeAt(u)&&(u++,o--),e[t++]=n,n="",i=!1,0===o))return!0;if(h===c)return this._EOLNormalized||13!==a.charCodeAt(u+o-1)?n+=a.substr(u,o):(i=!0,n+=a.substr(u,o-1)),!0;n+=this._EOLNormalized?a.substring(u,Math.max(u,l[h+1]-this._EOLLength)):a.substring(u,l[h+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;for(let i=h+1;i<c;i++)n=this._EOLNormalized?a.substring(l[i],l[i+1]-this._EOLLength):a.substring(l[i],l[i+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;return this._EOLNormalized||13!==a.charCodeAt(l[c]+s.end.column-1)?n=a.substr(l[c],s.end.column):(i=!0,0===s.end.column?t--:n=a.substr(l[c],s.end.column-1)),!0})),i&&(e[t++]=n,n=""),e[t++]=n,e}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(e){return this._lastVisitedLine.lineNumber===e||(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,"")),this._lastVisitedLine.value}_getCharCode(e){if(e.remainder===e.node.piece.length){const t=e.node.next();if(!t)return 0;const n=this._buffers[t.piece.bufferIndex],i=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);return n.buffer.charCodeAt(i)}{const t=this._buffers[e.node.piece.bufferIndex],n=this.offsetInBuffer(e.node.piece.bufferIndex,e.node.piece.start)+e.remainder;return t.buffer.charCodeAt(n)}}getLineCharCode(e,t){const n=this.nodeAt2(e,t+1);return this._getCharCode(n)}getLineLength(e){if(e===this.getLineCount()){const t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength}findMatchesInNode(e,t,n,i,r,s,o,a,l,h,c){const u=this._buffers[e.piece.bufferIndex],d=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),g=this.offsetInBuffer(e.piece.bufferIndex,r),f=this.offsetInBuffer(e.piece.bufferIndex,s);let p;const _={line:0,column:0};let b,k;t._wordSeparators?(b=u.buffer.substring(g,f),k=e=>e+g,t.reset(0)):(b=u.buffer,k=e=>e,t.reset(g));do{if(p=t.next(b),p){if(k(p.index)>=f)return h;this.positionInBuffer(e,k(p.index)-d,_);const t=this.getLineFeedCnt(e.piece.bufferIndex,r,_),s=_.line===r.line?_.column-r.column+i:_.column+1,o=s+p[0].length;if(c[h++]=(0,Bn.dr)(new m.Q(n+t,s,n+t,o),p,a),k(p.index)+p[0].length>=f)return h;if(h>=l)return h}}while(p);return h}findMatchesLineByLine(e,t,n,i){const r=[];let s=0;const o=new Bn.W5(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let h=this.positionInBuffer(a.node,a.remainder);const c=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,o,e.startLineNumber,e.startColumn,h,c,t,n,i,s,r),r;let u=e.startLineNumber,d=a.node;for(;d!==l.node;){const l=this.getLineFeedCnt(d.piece.bufferIndex,h,d.piece.end);if(l>=1){const a=this._buffers[d.piece.bufferIndex].lineStarts,c=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start),g=a[h.line+l],f=u===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(d,o,u,f,h,this.positionInBuffer(d,g-c),t,n,i,s,r),s>=i)return r;u+=l}const c=u===e.startLineNumber?e.startColumn-1:0;if(u===e.endLineNumber){const a=this.getLineContent(u).substring(c,e.endColumn-1);return s=this._findMatchesInLine(t,o,a,e.endLineNumber,c,s,r,n,i),r}if(s=this._findMatchesInLine(t,o,this.getLineContent(u).substr(c),u,c,s,r,n,i),s>=i)return r;u++,a=this.nodeAt2(u,1),d=a.node,h=this.positionInBuffer(a.node,a.remainder)}if(u===e.endLineNumber){const a=u===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(u).substring(a,e.endColumn-1);return s=this._findMatchesInLine(t,o,l,e.endLineNumber,a,s,r,n,i),r}const g=u===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(l.node,o,u,g,h,c,t,n,i,s,r),r}_findMatchesInLine(e,t,n,i,r,s,o,a,l){const h=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,c=n.length;let u=-a;for(;-1!==(u=n.indexOf(t,u+a));)if((!h||(0,Bn.wC)(h,n,c,u,a))&&(o[s++]=new me.Dg(new m.Q(i,u+1+r,i,u+1+a+r),null),s>=l))return s;return s}let c;t.reset(0);do{if(c=t.next(n),c&&(o[s++]=(0,Bn.dr)(new m.Q(i,c.index+1+r,i,c.index+1+c[0].length+r),c,a),s>=l))return s}while(c);return s}insert(e,t,n=!1){if(this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==yn){const{node:n,remainder:i,nodeStartOffset:r}=this.nodeAt(e),s=n.piece,o=s.bufferIndex,a=this.positionInBuffer(n,i);if(0===n.piece.bufferIndex&&s.end.line===this._lastChangeBufferPos.line&&s.end.column===this._lastChangeBufferPos.column&&r+s.length===e&&t.length<Fn)return this.appendToNode(n,t),void this.computeBufferMetadata();if(r===e)this.insertContentToNodeLeft(t,n),this._searchCache.validate(e);else if(r+n.piece.length>e){const e=[];let r=new Wn(s.bufferIndex,a,s.end,this.getLineFeedCnt(s.bufferIndex,a,s.end),this.offsetInBuffer(o,s.end)-this.offsetInBuffer(o,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)){if(10===this.nodeCharCodeAt(n,i)){const e={line:r.start.line+1,column:0};r=new Wn(r.bufferIndex,e,r.end,this.getLineFeedCnt(r.bufferIndex,e,r.end),r.length-1),t+="\n"}}if(this.shouldCheckCRLF()&&this.startWithLF(t)){if(13===this.nodeCharCodeAt(n,i-1)){const r=this.positionInBuffer(n,i-1);this.deleteNodeTail(n,r),t="\r"+t,0===n.piece.length&&e.push(n)}else this.deleteNodeTail(n,a)}else this.deleteNodeTail(n,a);const l=this.createNewPieces(t);r.length>0&&this.rbInsertRight(n,r);let h=n;for(let t=0;t<l.length;t++)h=this.rbInsertRight(h,l[t]);this.deleteNodes(e)}else this.insertContentToNodeRight(t,n)}else{const e=this.createNewPieces(t);let n=this.rbInsertLeft(null,e[0]);for(let t=1;t<e.length;t++)n=this.rbInsertRight(n,e[t])}this.computeBufferMetadata()}delete(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",t<=0||this.root===yn)return;const n=this.nodeAt(e),i=this.nodeAt(e+t),r=n.node,s=i.node;if(r===s){const s=this.positionInBuffer(r,n.remainder),o=this.positionInBuffer(r,i.remainder);if(n.nodeStartOffset===e){if(t===r.piece.length){const e=r.next();return Dn(this,r),this.validateCRLFWithPrevNode(e),void this.computeBufferMetadata()}return this.deleteNodeHead(r,o),this._searchCache.validate(e),this.validateCRLFWithPrevNode(r),void this.computeBufferMetadata()}return n.nodeStartOffset+r.piece.length===e+t?(this.deleteNodeTail(r,s),this.validateCRLFWithNextNode(r),void this.computeBufferMetadata()):(this.shrinkNode(r,s,o),void this.computeBufferMetadata())}const o=[],a=this.positionInBuffer(r,n.remainder);this.deleteNodeTail(r,a),this._searchCache.validate(e),0===r.piece.length&&o.push(r);const l=this.positionInBuffer(s,i.remainder);this.deleteNodeHead(s,l),0===s.piece.length&&o.push(s);for(let c=r.next();c!==yn&&c!==s;c=c.next())o.push(c);const h=0===r.piece.length?r.prev():r;this.deleteNodes(o),this.validateCRLFWithNextNode(h),this.computeBufferMetadata()}insertContentToNodeLeft(e,t){const n=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){const i=t.piece,r={line:i.start.line+1,column:0},s=new Wn(i.bufferIndex,r,i.end,this.getLineFeedCnt(i.bufferIndex,r,i.end),i.length-1);t.piece=s,e+="\n",Rn(this,t,-1,-1),0===t.piece.length&&n.push(t)}const i=this.createNewPieces(e);let r=this.rbInsertLeft(t,i[i.length-1]);for(let s=i.length-2;s>=0;s--)r=this.rbInsertLeft(r,i[s]);this.validateCRLFWithPrevNode(r),this.deleteNodes(n)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]);let r=i;for(let s=1;s<n.length;s++)r=this.rbInsertRight(r,n[s]);this.validateCRLFWithPrevNode(i)}positionInBuffer(e,t,n){const i=e.piece,r=e.piece.bufferIndex,s=this._buffers[r].lineStarts,o=s[i.start.line]+i.start.column+t;let a=i.start.line,l=i.end.line,h=0,c=0,u=0;for(;a<=l&&(h=a+(l-a)/2|0,u=s[h],h!==l);)if(c=s[h+1],o<u)l=h-1;else{if(!(o>=c))break;a=h+1}return n?(n.line=h,n.column=o-u,null):{line:h,column:o-u}}getLineFeedCnt(e,t,n){if(0===n.column)return n.line-t.line;const i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;const r=i[n.line+1],s=i[n.line]+n.column;if(r>s+1)return n.line-t.line;const o=s-1;return 13===this._buffers[e].buffer.charCodeAt(o)?n.line-t.line+1:n.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;t<e.length;t++)Dn(this,e[t])}createNewPieces(e){if(e.length>Fn){const t=[];for(;e.length>Fn;){const n=e.charCodeAt(65534);let i;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,Fn),e=e.substring(Fn));const r=Vn(i);t.push(new Wn(this._buffers.length,{line:0,column:0},{line:r.length-1,column:i.length-r[r.length-1]},r.length-1,i.length)),this._buffers.push(new qn(i,r))}const n=Vn(e);return t.push(new Wn(this._buffers.length,{line:0,column:0},{line:n.length-1,column:e.length-n[n.length-1]},n.length-1,e.length)),this._buffers.push(new qn(e,n)),t}let t=this._buffers[0].buffer.length;const n=Vn(e,!1);let i=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},i=this._lastChangeBufferPos;for(let e=0;e<n.length;e++)n[e]+=t+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+="_"+e,t+=1}else{if(0!==t)for(let e=0;e<n.length;e++)n[e]+=t;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+=e}const r=this._buffers[0].buffer.length,s=this._buffers[0].lineStarts.length-1,o={line:s,column:r-this._buffers[0].lineStarts[s]},a=new Wn(0,i,o,this.getLineFeedCnt(0,i,o),r-t);return this._lastChangeBufferPos=o,[a]}getLineRawContent(e,t=0){let n=this.root,i="";const r=this._searchCache.get2(e);if(r){n=r.node;const s=this.getAccumulatedValue(n,e-r.nodeStartLineNumber-1),o=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(r.nodeStartLineNumber+n.piece.lineFeedCnt!==e){const i=this.getAccumulatedValue(n,e-r.nodeStartLineNumber);return o.substring(a+s,a+i-t)}i=o.substring(a+s,a+n.piece.length)}else{let r=0;const s=e;for(;n!==yn;)if(n.left!==yn&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2),o=this.getAccumulatedValue(n,e-n.lf_left-1),a=this._buffers[n.piece.bufferIndex].buffer,l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return r+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:r,nodeStartLineNumber:s-(e-1-n.lf_left)}),a.substring(l+i,l+o-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(n,e-n.lf_left-2),r=this._buffers[n.piece.bufferIndex].buffer,s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=r.substring(s+t,s+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,r+=n.size_left+n.piece.length,n=n.right}}for(n=n.next();n!==yn;){const e=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){const r=this.getAccumulatedValue(n,0),s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=e.substring(s,s+r-t),i}{const t=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=e.substr(t,n.piece.length)}n=n.next()}return i}computeBufferMetadata(){let e=this.root,t=1,n=0;for(;e!==yn;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.validate(this._length)}getIndexOf(e,t){const n=e.piece,i=this.positionInBuffer(e,t),r=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(t!==r)return{index:t,remainder:0}}return{index:r,remainder:i.column}}getAccumulatedValue(e,t){if(t<0)return 0;const n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,r=n.start.line+t+1;return r>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[r]-i[n.start.line]-n.start.column}deleteNodeTail(e,t){const n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.end),s=t,o=this.offsetInBuffer(n.bufferIndex,s),a=this.getLineFeedCnt(n.bufferIndex,n.start,s),l=a-i,h=o-r,c=n.length+h;e.piece=new Wn(n.bufferIndex,n.start,s,a,c),Rn(this,e,h,l)}deleteNodeHead(e,t){const n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.start),s=t,o=this.getLineFeedCnt(n.bufferIndex,s,n.end),a=o-i,l=r-this.offsetInBuffer(n.bufferIndex,s),h=n.length+l;e.piece=new Wn(n.bufferIndex,s,n.end,o,h),Rn(this,e,l,a)}shrinkNode(e,t,n){const i=e.piece,r=i.start,s=i.end,o=i.length,a=i.lineFeedCnt,l=t,h=this.getLineFeedCnt(i.bufferIndex,i.start,l),c=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,r);e.piece=new Wn(i.bufferIndex,i.start,l,h,c),Rn(this,e,c-o,h-a);const u=new Wn(i.bufferIndex,n,s,this.getLineFeedCnt(i.bufferIndex,n,s),this.offsetInBuffer(i.bufferIndex,s)-this.offsetInBuffer(i.bufferIndex,n)),d=this.rbInsertRight(e,u);this.validateCRLFWithPrevNode(d)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const r=Vn(t,!1);for(let u=0;u<r.length;u++)r[u]+=i;if(n){const e=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:i-e}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(r.slice(1));const s=this._buffers[0].lineStarts.length-1,o={line:s,column:this._buffers[0].buffer.length-this._buffers[0].lineStarts[s]},a=e.piece.length+t.length,l=e.piece.lineFeedCnt,h=this.getLineFeedCnt(0,e.piece.start,o),c=h-l;e.piece=new Wn(e.piece.bufferIndex,e.piece.start,o,h,a),this._lastChangeBufferPos=o,Rn(this,e,t.length,c)}nodeAt(e){let t=this.root;const n=this._searchCache.get(e);if(n)return{node:n.node,nodeStartOffset:n.nodeStartOffset,remainder:e-n.nodeStartOffset};let i=0;for(;t!==yn;)if(t.size_left>e)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;const n={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(n),n}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let n=this.root,i=0;for(;n!==yn;)if(n.left!==yn&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const r=this.getAccumulatedValue(n,e-n.lf_left-2),s=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(r+t-1,s),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){const r=this.getAccumulatedValue(n,e-n.lf_left-2);if(r+t-1<=n.piece.length)return{node:n,remainder:r+t-1,nodeStartOffset:i};t-=n.piece.length-r;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==yn;){if(n.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(n,0),i=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,e),nodeStartOffset:i}}if(n.piece.length>=t-1){return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)}}t-=n.piece.length,n=n.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===yn||0===e.piece.lineFeedCnt)return!1;const t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,r=n[i]+t.start.column;if(i===n.length-1)return!1;return!(n[i+1]>r+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(r)}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==yn&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const n=[],i=this._buffers[e.piece.bufferIndex].lineStarts;let r;r=0===e.piece.end.column?{line:e.piece.end.line-1,column:i[e.piece.end.line]-i[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,o=e.piece.lineFeedCnt-1;e.piece=new Wn(e.piece.bufferIndex,e.piece.start,r,o,s),Rn(this,e,-1,-1),0===e.piece.length&&n.push(e);const a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,h=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new Wn(t.piece.bufferIndex,a,t.piece.end,h,l),Rn(this,t,-1,-1),0===t.piece.length&&n.push(t);const c=this.createNewPieces("\r\n");this.rbInsertRight(e,c[0]);for(let u=0;u<n.length;u++)Dn(this,n[u])}adjustCarriageReturnFromNext(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const n=t.next();if(this.startWithLF(n)){if(e+="\n",1===n.piece.length)Dn(this,n);else{const e=n.piece,t={line:e.start.line+1,column:0},i=e.length-1,r=this.getLineFeedCnt(e.bufferIndex,t,e.end);n.piece=new Wn(e.bufferIndex,t,e.end,r,i),Rn(this,n,-1,-1)}return!0}}return!1}iterate(e,t){if(e===yn)return t(yn);const n=this.iterate(e.left,t);return n?t(e)&&this.iterate(e.right,t):n}getNodeContent(e){if(e===yn)return"";const t=this._buffers[e.piece.bufferIndex],n=e.piece,i=this.offsetInBuffer(n.bufferIndex,n.start),r=this.offsetInBuffer(n.bufferIndex,n.end);return t.buffer.substring(i,r)}getPieceContent(e){const t=this._buffers[e.bufferIndex],n=this.offsetInBuffer(e.bufferIndex,e.start),i=this.offsetInBuffer(e.bufferIndex,e.end);return t.buffer.substring(n,i)}rbInsertRight(e,t){const n=new wn(t,1);n.left=yn,n.right=yn,n.parent=yn,n.size_left=0,n.lf_left=0;if(this.root===yn)this.root=n,n.color=0;else if(e.right===yn)e.right=n,n.parent=e;else{const t=Sn(e.right);t.left=n,n.parent=t}return Mn(this,n),n}rbInsertLeft(e,t){const n=new wn(t,1);if(n.left=yn,n.right=yn,n.parent=yn,n.size_left=0,n.lf_left=0,this.root===yn)this.root=n,n.color=0;else if(e.left===yn)e.left=n,n.parent=e;else{const t=xn(e.left);t.right=n,n.parent=t}return Mn(this,n),n}}class Kn extends r.jG{constructor(e,t,n,r,s,o,a){super(),this._onDidChangeContent=this._register(new i.vl),this._BOM=t,this._mightContainNonBasicASCII=!o,this._mightContainRTL=r,this._mightContainUnusualLineTerminators=s,this._pieceTree=new jn(e,n,a)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(e){return this._pieceTree.createSnapshot(e?this._BOM:"")}getOffsetAt(e,t){return this._pieceTree.getOffsetAt(e,t)}getPositionAt(e){return this._pieceTree.getPositionAt(e)}getRangeAt(e,t){const n=e+t,i=this.getPositionAt(e),r=this.getPositionAt(n);return new m.Q(i.lineNumber,i.column,r.lineNumber,r.column)}getValueInRange(e,t=0){if(e.isEmpty())return"";const n=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,n)}getValueLengthInRange(e,t=0){if(e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;const n=this.getOffsetAt(e.startLineNumber,e.startColumn),i=this.getOffsetAt(e.endLineNumber,e.endColumn);let r=0;const s=this._getEndOfLine(t),o=this.getEOL();if(s.length!==o.length){r=(s.length-o.length)*(e.endLineNumber-e.startLineNumber)}return i-n+r}getCharacterCountInRange(e,t=0){if(this._mightContainNonBasicASCII){let n=0;const i=e.startLineNumber,r=e.endLineNumber;for(let t=i;t<=r;t++){const s=this.getLineContent(t),o=t===i?e.startColumn-1:0,a=t===r?e.endColumn-1:s.length;for(let e=o;e<a;e++)h.pc(s.charCodeAt(e))?(n+=1,e+=1):n+=1}return n+=this._getEndOfLine(t).length*(r-i),n}return this.getValueLengthInRange(e,t)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(e){return this._pieceTree.getLineContent(e)}getLineCharCode(e,t){return this._pieceTree.getLineCharCode(e,t)}getLineLength(e){return this._pieceTree.getLineLength(e)}getLineFirstNonWhitespaceColumn(e){const t=h.HG(this.getLineContent(e));return-1===t?0:t+1}getLineLastNonWhitespaceColumn(e){const t=h.lT(this.getLineContent(e));return-1===t?0:t+2}_getEndOfLine(e){switch(e){case 1:return"\n";case 2:return"\r\n";case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,t,n){let i=this._mightContainRTL,r=this._mightContainUnusualLineTerminators,s=this._mightContainNonBasicASCII,o=!0,a=[];for(let p=0;p<e.length;p++){const t=e[p];o&&t._isTracked&&(o=!1);const n=t.range;if(t.text){let e=!0;s||(e=!h.aC(t.text),s=e),!i&&e&&(i=h.E_(t.text)),!r&&e&&(r=h.$X(t.text))}let l="",c=0,d=0,g=0;if(t.text){let e;[c,d,g,e]=(0,u.W)(t.text);const n=this.getEOL();l=0===e||e===("\r\n"===n?2:1)?t.text:t.text.replace(/\r\n|\r|\n/g,n)}a[p]={sortIndex:p,identifier:t.identifier||null,range:n,rangeOffset:this.getOffsetAt(n.startLineNumber,n.startColumn),rangeLength:this.getValueLengthInRange(n),text:l,eolCount:c,firstLineLength:d,lastLineLength:g,forceMoveMarkers:Boolean(t.forceMoveMarkers),isAutoWhitespaceEdit:t.isAutoWhitespaceEdit||!1}}a.sort(Kn._sortOpsAscending);let l=!1;for(let h=0,u=a.length-1;h<u;h++){const e=a[h].range.getEndPosition(),t=a[h+1].range.getStartPosition();if(t.isBeforeOrEqual(e)){if(t.isBefore(e))throw new Error("Overlapping ranges are not allowed!");l=!0}}o&&(a=this._reduceOperations(a));const c=n||t?Kn._getInverseEditRanges(a):[],d=[];if(t)for(let u=0;u<a.length;u++){const e=a[u],t=c[u];if(e.isAutoWhitespaceEdit&&e.range.isEmpty())for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let i="";n===t.startLineNumber&&(i=this.getLineContent(e.range.startLineNumber),-1!==h.HG(i))||d.push({lineNumber:n,oldContent:i})}}let g=null;if(n){let e=0;g=[];for(let t=0;t<a.length;t++){const n=a[t],i=c[t],r=this.getValueInRange(n.range),s=n.rangeOffset+e;e+=n.text.length-r.length,g[t]={sortIndex:n.sortIndex,identifier:n.identifier,range:i,text:r,textChange:new Dt(n.rangeOffset,r,s,n.text)}}l||g.sort(((e,t)=>e.sortIndex-t.sortIndex))}this._mightContainRTL=i,this._mightContainUnusualLineTerminators=r,this._mightContainNonBasicASCII=s;const f=this._doApplyEdits(a);let m=null;if(t&&d.length>0){d.sort(((e,t)=>t.lineNumber-e.lineNumber)),m=[];for(let e=0,t=d.length;e<t;e++){const t=d[e].lineNumber;if(e>0&&d[e-1].lineNumber===t)continue;const n=d[e].oldContent,i=this.getLineContent(t);0!==i.length&&i!==n&&-1===h.HG(i)&&m.push(t)}}return this._onDidChangeContent.fire(),new me.F4(g,f,m)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const n=e[0].range,i=e[e.length-1].range,r=new m.Q(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn);let s=n.startLineNumber,o=n.startColumn;const a=[];for(let u=0,g=e.length;u<g;u++){const n=e[u],i=n.range;t=t||n.forceMoveMarkers,a.push(this.getValueInRange(new m.Q(s,o,i.startLineNumber,i.startColumn))),n.text.length>0&&a.push(n.text),s=i.endLineNumber,o=i.endColumn}const l=a.join(""),[h,c,d]=(0,u.W)(l);return{sortIndex:0,identifier:e[0].identifier,range:r,rangeOffset:this.getOffsetAt(r.startLineNumber,r.startColumn),rangeLength:this.getValueLengthInRange(r,0),text:l,eolCount:h,firstLineLength:c,lastLineLength:d,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(Kn._sortOpsDescending);const t=[];for(let n=0;n<e.length;n++){const i=e[n],r=i.range.startLineNumber,s=i.range.startColumn,o=i.range.endLineNumber,a=i.range.endColumn;if(r===o&&s===a&&0===i.text.length)continue;i.text?(this._pieceTree.delete(i.rangeOffset,i.rangeLength),this._pieceTree.insert(i.rangeOffset,i.text,!0)):this._pieceTree.delete(i.rangeOffset,i.rangeLength);const l=new m.Q(r,s,o,a);t.push({range:l,rangeLength:i.rangeLength,text:i.text,rangeOffset:i.rangeOffset,forceMoveMarkers:i.forceMoveMarkers})}return t}findMatchesLineByLine(e,t,n,i){return this._pieceTree.findMatchesLineByLine(e,t,n,i)}static _getInverseEditRanges(e){const t=[];let n=0,i=0,r=null;for(let s=0,o=e.length;s<o;s++){const o=e[s];let a,l,h;if(r?r.range.endLineNumber===o.range.startLineNumber?(a=n,l=i+(o.range.startColumn-r.range.endColumn)):(a=n+(o.range.startLineNumber-r.range.endLineNumber),l=o.range.startColumn):(a=o.range.startLineNumber,l=o.range.startColumn),o.text.length>0){const e=o.eolCount+1;h=1===e?new m.Q(a,l,a,l+o.firstLineLength):new m.Q(a,l,a+e-1,o.lastLineLength+1)}else h=new m.Q(a,l,a,l);n=h.endLineNumber,i=h.endColumn,t.push(h),r=o}return t}static _sortOpsAscending(e,t){const n=m.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n}static _sortOpsDescending(e,t){const n=m.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n}}class $n{constructor(e,t,n,i,r,s,o,a,l){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=r,this._containsRTL=s,this._containsUnusualLineTerminators=o,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){const t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let r=0,s=n.length;r<s;r++){const e=n[r].buffer.replace(/\r\n|\r|\n/g,t),i=Vn(e);n[r]=new qn(e,i)}const i=new Kn(n,this._bom,t,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:i,disposable:i}}}class Gn{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(e){if(0===e.length)return;0===this.chunks.length&&h.LU(e)&&(this.BOM=h.r_,e=e.substr(1));const t=e.charCodeAt(e.length-1);13===t||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let n=1,i=0,r=0,s=0,o=!0;for(let l=0,h=t.length;l<h;l++){const a=t.charCodeAt(l);13===a?l+1<h&&10===t.charCodeAt(l+1)?(s++,e[n++]=l+2,l++):(i++,e[n++]=l+1):10===a?(r++,e[n++]=l+1):o&&9!==a&&(a<32||a>126)&&(o=!1)}const a=new zn(Pn(e),i,r,s,o);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new qn(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=h.E_(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=h.$X(e)))}finish(e=!0){return this._finish(),new $n(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=Vn(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var Qn=n(9955),Yn=n(9694),Xn=n(2866),Zn=n(3013),Jn=n(2532);const ei=new class{clone(){return this}equals(e){return this===e}};class ti{constructor(e){this._default=e,this._store=[]}get(e){return e<this._store.length?this._store[e]:this._default}set(e,t){for(;e>=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,n){if(e>=this._store.length)return;if(0===t)return void this.insert(e,n);if(0===n)return void this.delete(e,t);const i=this._store.slice(0,e),r=this._store.slice(e+t),s=function(e,t){const n=[];for(let i=0;i<e;i++)n[i]=t;return n}(n,this._default);this._store=i.concat(s,r)}delete(e,t){0===t||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const n=[];for(let i=0;i<t;i++)n[i]=this._default;this._store=(0,o.nK)(this._store,e,n)}}class ni{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(e,t){this._startLineNumber=e,this._tokens=t}getLineTokens(e){return this._tokens[e-this._startLineNumber]}appendLineTokens(e){this._tokens.push(e)}}class ii{constructor(){this._tokens=[]}add(e,t){if(this._tokens.length>0){const n=this._tokens[this._tokens.length-1];if(n.endLineNumber+1===e)return void n.appendLineTokens(t)}this._tokens.push(new ni(e,[t]))}finalize(){return this._tokens}}class ri{static{this.defaultTokenMetadata=33587200}static createEmpty(e,t){const n=ri.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=e.length,i[1]=n,new ri(i,e,t)}static createFromTextAndMetadata(e,t){let n=0,i="";const r=new Array;for(const{text:s,metadata:o}of e)r.push(n+s.length,o),n+=s.length,i+=s;return new ri(new Uint32Array(r),i,t)}constructor(e,t,n){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}equals(e){return e instanceof ri&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const i=t<<1,r=i+(n<<1);for(let s=i;s<r;s++)if(this._tokens[s]!==e._tokens[s])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[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],n=Ze.x.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return Ze.x.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return Ze.x.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return Ze.x.getClassNameFromMetadata(t)}getInlineStyle(e,t){const n=this._tokens[1+(e<<1)];return Ze.x.getInlineStyleFromMetadata(n,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return Ze.x.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return ri.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,n){return new si(this,e,t,n)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let i=0;i<n;i++)e[i<<1]=e[i+1<<1];e[n<<1]=t}static findIndexInTokensArray(e,t){if(e.length<=2)return 0;let n=0,i=(e.length>>>1)-1;for(;n<i;){const r=n+Math.floor((i-n)/2),s=e[r<<1];if(s===t)return r+1;s<t?n=r+1:s>t&&(i=r)}return n}withInserted(e){if(0===e.length)return this;let t=0,n=0,i="";const r=new Array;let s=0;for(;;){const o=t<this._tokensCount?this._tokens[t<<1]:-1,a=n<e.length?e[n]:null;if(-1!==o&&(null===a||o<=a.offset)){i+=this._text.substring(s,o);const e=this._tokens[1+(t<<1)];r.push(i.length,e),t++,s=o}else{if(!a)break;if(a.offset>s){i+=this._text.substring(s,a.offset);const e=this._tokens[1+(t<<1)];r.push(i.length,e),s=a.offset}i+=a.text,r.push(i.length,a.tokenMetadata),n++}}return new ri(new Uint32Array(r),i,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){const t=this.getCount();for(let n=0;n<t;n++)e(n)}}class si{constructor(e,t,n,i){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=i,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let r=this._firstTokenIndex,s=e.getCount();r<s;r++){if(e.getStartOffset(r)>=n)break;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(e){return e instanceof si&&(this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._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){const 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){const t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),i=this._source.getEndOffset(t);let r=this._source.getTokenText(t);return n<this._startOffset&&(r=r.substring(this._startOffset-n)),i>this._endOffset&&(r=r.substring(0,r.length-(i-this._endOffset))),r}forEach(e){for(let t=0;t<this.getCount();t++)e(t)}}class oi{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new li(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class ai extends oi{constructor(e,t,n,i){super(e,t),this._textModel=n,this._languageIdCodec=i}updateTokensUntilLine(e,t){const n=this._textModel.getLanguageId();for(;;){const i=this.getFirstInvalidLine();if(!i||i.lineNumber>t)break;const r=this._textModel.getLineContent(i.lineNumber),s=ui(this._languageIdCodec,n,this.tokenizationSupport,r,!0,i.startState);e.add(i.lineNumber,s.tokens),this.store.setEndState(i.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){const n=this.getStartState(e.lineNumber);if(!n)return 0;const i=this._textModel.getLanguageId(),r=this._textModel.getLineContent(e.lineNumber),s=r.substring(0,e.column-1)+t+r.substring(e.column-1),o=ui(this._languageIdCodec,i,this.tokenizationSupport,s,!0,n),a=new ri(o.tokens,s,this._languageIdCodec);if(0===a.getCount())return 0;const l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,n){const i=e.lineNumber,r=e.column,s=this.getStartState(i);if(!s)return null;const o=this._textModel.getLineContent(i),a=o.substring(0,r-1)+n+o.substring(r-1+t),l=this._textModel.getLanguageIdAtPosition(i,0),h=ui(this._languageIdCodec,l,this.tokenizationSupport,a,!0,s);return new ri(h.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e<this.store.getFirstInvalidEndStateLineNumberOrMax()}isCheapToTokenize(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e<t||e===t&&this._textModel.getLineLength(e)<2048}tokenizeHeuristically(e,t,n){if(n<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(t<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(e,n),{heuristicTokens:!1};let i=this.guessStartState(t);const r=this._textModel.getLanguageId();for(let s=t;s<=n;s++){const t=this._textModel.getLineContent(s),n=ui(this._languageIdCodec,r,this.tokenizationSupport,t,!0,i);e.add(s,n.tokens),i=n.endState}return{heuristicTokens:!0}}guessStartState(e){let t=this._textModel.getLineFirstNonWhitespaceColumn(e);const n=[];let i=null;for(let o=e-1;t>1&&o>=1;o--){const e=this._textModel.getLineFirstNonWhitespaceColumn(o);if(0!==e&&(e<t&&(n.push(this._textModel.getLineContent(o)),t=e,i=this.getStartState(o),i)))break}i||(i=this.tokenizationSupport.getInitialState()),n.reverse();const r=this._textModel.getLanguageId();let s=i;for(const o of n){s=ui(this._languageIdCodec,r,this.tokenizationSupport,o,!1,s).endState}return s}}class li{constructor(e){this.lineCount=e,this._tokenizationStateStore=new hi,this._invalidEndStatesLineNumbers=new ci,this._invalidEndStatesLineNumbers.addRange(new Jn.L(1,e+1))}getEndState(e){return this._tokenizationStateStore.getEndState(e)}setEndState(e,t){if(!t)throw new l.D7("Cannot set null/undefined state");this._invalidEndStatesLineNumbers.delete(e);const n=this._tokenizationStateStore.setEndState(e,t);return n&&e<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new Jn.L(e+1,e+2)),n}acceptChange(e,t){this.lineCount+=t-e.length,this._tokenizationStateStore.acceptChange(e,t),this._invalidEndStatesLineNumbers.addRangeAndResize(new Jn.L(e.startLineNumber,e.endLineNumberExclusive),t)}acceptChanges(e){for(const t of e){const[e]=(0,u.W)(t.text);this.acceptChange(new Qn.M(t.range.startLineNumber,t.range.endLineNumber+1),e+1)}}invalidateEndStateRange(e){this._invalidEndStatesLineNumbers.addRange(new Jn.L(e.startLineNumber,e.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return null===this._invalidEndStatesLineNumbers.min}getStartState(e,t){return 1===e?t:this.getEndState(e-1)}getFirstInvalidLine(e){const t=this.getFirstInvalidEndStateLineNumber();if(null===t)return null;const n=this.getStartState(t,e);if(!n)throw new l.D7("Start state must be defined");return{lineNumber:t,startState:n}}}class hi{constructor(){this._lineEndStates=new ti(null)}getEndState(e){return this._lineEndStates.get(e)}setEndState(e,t){const n=this._lineEndStates.get(e);return(!n||!n.equals(t))&&(this._lineEndStates.set(e,t),!0)}acceptChange(e,t){let n=e.length;t>0&&n>0&&(n--,t--),this._lineEndStates.replace(e.startLineNumber,n,t)}}class ci{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex((t=>t.contains(e)));if(-1!==t){const n=this._ranges[t];n.start===e?n.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new Jn.L(e+1,n.endExclusive):n.endExclusive===e+1?this._ranges[t]=new Jn.L(n.start,e):this._ranges.splice(t,1,new Jn.L(n.start,e),new Jn.L(e+1,n.endExclusive))}}addRange(e){Jn.L.addRange(e,this._ranges)}addRangeAndResize(e,t){let n=0;for(;!(n>=this._ranges.length||e.start<=this._ranges[n].endExclusive);)n++;let i=n;for(;!(i>=this._ranges.length||e.endExclusive<this._ranges[i].start);)i++;const r=t-e.length;for(let s=i;s<this._ranges.length;s++)this._ranges[s]=this._ranges[s].delta(r);if(n===i){const i=new Jn.L(e.start,e.start+t);i.isEmpty||this._ranges.splice(n,0,i)}else{const t=Math.min(e.start,this._ranges[n].start),s=Math.max(e.endExclusive,this._ranges[i-1].endExclusive),o=new Jn.L(t,s+r);o.isEmpty?this._ranges.splice(n,i-n):this._ranges.splice(n,i-n,o)}}toString(){return this._ranges.map((e=>e.toString())).join(" + ")}}function ui(e,t,n,i,r,s){let o=null;if(n)try{o=n.tokenizeEncoded(i,r,s.clone())}catch(a){(0,l.dz)(a)}return o||(o=function(e,t){const n=new Uint32Array(2);return n[0]=0,n[1]=(32768|e|2<<24)>>>0,new Yn.rY(n,null===t?ei:t)}(e.encodeLanguageId(t),s)),ri.convertToEndOffset(o.tokens,i.length),o}class di{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,Xn.$6)((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),n=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()<t?(0,s._p)(n):this._beginBackgroundTokenization())};n()}_backgroundTokenizeForAtLeast1ms(){const e=this._tokenizerWithStateStore._textModel.getLineCount(),t=new ii,n=Zn.W.create(!1);do{if(n.elapsed()>1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new Qn.M(e,t))}}class gi{constructor(){this._onDidChangeVisibleRanges=new i.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new fi((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class fi{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const n=e.map((e=>new Qn.M(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:n,stabilized:t})}}class mi extends r.jG{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Xn.uC((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,o.aI)(this._computedLineRanges,this._lineRanges,((e,t)=>e.equals(t)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class pi extends r.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,n){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=n,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new i.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new i.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class _i extends pi{constructor(e,t,n,i){super(t,n,i),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=Yn.OB.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const n=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(n)return new ri(n,t,this._languageIdCodec)}return ri.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,n){return 0}tokenizeLineWithEdit(e,t,n){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}var bi=n(5320);const ki=new Uint32Array(0).buffer;class vi{static deleteBeginning(e,t){return null===e||e===ki?e:vi.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===ki)return e;const n=Ci(e),i=n[n.length-2];return vi.delete(e,t,i)}static delete(e,t,n){if(null===e||e===ki||t===n)return e;const i=Ci(e),r=i.length>>>1;if(0===t&&i[i.length-2]===n)return ki;const s=ri.findIndexInTokensArray(i,t),o=s>0?i[s-1<<1]:0;if(n<i[s<<1]){const o=n-t;for(let e=s;e<r;e++)i[e<<1]-=o;return e}let a,l;o!==t?(i[s<<1]=t,a=s+1<<1,l=t):(a=s<<1,l=o);const h=n-t;for(let u=s+1;u<r;u++){const e=i[u<<1]-h;e>l&&(i[a++]=e,i[a++]=i[1+(u<<1)],l=e)}if(a===i.length)return e;const c=new Uint32Array(a);return c.set(i.subarray(0,a),0),c.buffer}static append(e,t){if(t===ki)return e;if(e===ki)return t;if(null===e)return e;if(null===t)return null;const n=Ci(e),i=Ci(t),r=i.length>>>1,s=new Uint32Array(n.length+i.length);s.set(n,0);let o=n.length;const a=n[n.length-2];for(let l=0;l<r;l++)s[o++]=i[l<<1]+a,s[o++]=i[1+(l<<1)];return s.buffer}static insert(e,t,n){if(null===e||e===ki)return e;const i=Ci(e),r=i.length>>>1;let s=ri.findIndexInTokensArray(i,t);if(s>0){i[s-1<<1]===t&&s--}for(let o=s;o<r;o++)i[o<<1]+=n;return e}}function Ci(e){return e instanceof Uint32Array?e:new Uint32Array(e)}class Li{constructor(e){this._lineTokens=[],this._len=0,this._languageIdCodec=e}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(e,t,n){let i=null;if(t<this._len&&(i=this._lineTokens[t]),null!==i&&i!==ki)return new ri(Ci(i),n,this._languageIdCodec);const r=new Uint32Array(2);return r[0]=n.length,r[1]=wi(this._languageIdCodec.encodeLanguageId(e)),new ri(r,n,this._languageIdCodec)}static _massageTokens(e,t,n){const i=n?Ci(n):null;if(0===t){let t=!1;if(i&&i.length>1&&(t=Ze.x.getLanguageId(i[1])!==e),!t)return ki}if(!i||0===i.length){const n=new Uint32Array(2);return n[0]=t,n[1]=wi(e),n.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const n=[];for(let i=0;i<t;i++)n[i]=null;this._lineTokens=o.nK(this._lineTokens,e,n),this._len+=t}setTokens(e,t,n,i,r){const s=Li._massageTokens(this._languageIdCodec.encodeLanguageId(e),n,i);this._ensureLine(t);const o=this._lineTokens[t];return this._lineTokens[t]=s,!!r&&!Li._equals(o,s)}static _equals(e,t){if(!e||!t)return!e&&!t;const n=Ci(e),i=Ci(t);if(n.length!==i.length)return!1;for(let r=0,s=n.length;r<s;r++)if(n[r]!==i[r])return!1;return!0}acceptEdit(e,t,n){this._acceptDeleteRange(e),this._acceptInsertText(new f.y(e.startLineNumber,e.startColumn),t,n)}_acceptDeleteRange(e){const t=e.startLineNumber-1;if(t>=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=vi.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=vi.deleteEnding(this._lineTokens[t],e.startColumn-1);const n=e.endLineNumber-1;let i=null;n<this._len&&(i=vi.deleteBeginning(this._lineTokens[n],e.endColumn-1)),this._lineTokens[t]=vi.append(this._lineTokens[t],i),this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t,n){if(0===t&&0===n)return;const i=e.lineNumber-1;i>=this._len||(0!==t?(this._lineTokens[i]=vi.deleteEnding(this._lineTokens[i],e.column-1),this._lineTokens[i]=vi.insert(this._lineTokens[i],e.column-1,n),this._insertLines(e.lineNumber,t)):this._lineTokens[i]=vi.insert(this._lineTokens[i],e.column-1,n))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const n=[];for(let i=0,r=e.length;i<r;i++){const r=e[i];let s=0,o=0,a=!1;for(let e=r.startLineNumber;e<=r.endLineNumber;e++)if(a)this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),r.getLineTokens(e),!1),o=e;else{this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),r.getLineTokens(e),!0)&&(a=!0,s=e,o=e)}a&&n.push({fromLineNumber:s,toLineNumber:o})}return{changes:n}}}function wi(e){return(32768|e|2<<24|1024)>>>0}class yi{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let n=e;if(t.length>0){const i=t[0].getRange(),r=t[t.length-1].getRange();if(!i||!r)return e;n=e.plusRange(i).plusRange(r)}let i=null;for(let r=0,s=this._pieces.length;r<s;r++){const e=this._pieces[r];if(e.endLineNumber<n.startLineNumber)continue;if(e.startLineNumber>n.endLineNumber){i=i||{index:r};break}if(e.removeTokens(n),e.isEmpty()){this._pieces.splice(r,1),r--,s--;continue}if(e.endLineNumber<n.startLineNumber)continue;if(e.startLineNumber>n.endLineNumber){i=i||{index:r};continue}const[t,o]=e.split(n);t.isEmpty()?i=i||{index:r}:o.isEmpty()||(this._pieces.splice(r,1,t,o),r++,s++,i=i||{index:r})}return i=i||{index:this._pieces.length},t.length>0&&(this._pieces=o.nK(this._pieces,i.index,t)),n}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const n=this._pieces;if(0===n.length)return t;const i=n[yi._findFirstPieceWithLine(n,e)].getLineTokens(e);if(!i)return t;const r=t.getCount(),s=i.getCount();let o=0;const a=[];let l=0,h=0;const c=(e,t)=>{e!==h&&(h=e,a[l++]=e,a[l++]=t)};for(let u=0;u<s;u++){const e=i.getStartCharacter(u),n=i.getEndCharacter(u),s=i.getMetadata(u),a=((1&s?2048:0)|(2&s?4096:0)|(4&s?8192:0)|(8&s?16384:0)|(16&s?16744448:0)|(32&s?4278190080:0))>>>0,l=~a>>>0;for(;o<r&&t.getEndOffset(o)<=e;)c(t.getEndOffset(o),t.getMetadata(o)),o++;for(o<r&&t.getStartOffset(o)<e&&c(e,t.getMetadata(o));o<r&&t.getEndOffset(o)<n;)c(t.getEndOffset(o),t.getMetadata(o)&l|s&a),o++;if(o<r)c(n,t.getMetadata(o)&l|s&a),t.getEndOffset(o)===n&&o++;else{const e=Math.min(Math.max(0,o-1),r-1);c(n,t.getMetadata(e)&l|s&a)}}for(;o<r;)c(t.getEndOffset(o),t.getMetadata(o)),o++;return new ri(new Uint32Array(a),t.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(e,t){let n=0,i=e.length-1;for(;n<i;){let r=n+Math.floor((i-n)/2);if(e[r].endLineNumber<t)n=r+1;else{if(!(e[r].startLineNumber>t)){for(;r>n&&e[r-1].startLineNumber<=t&&t<=e[r-1].endLineNumber;)r--;return r}i=r-1}}return n}acceptEdit(e,t,n,i,r){for(const s of this._pieces)s.acceptEdit(e,t,n,i,r)}}var Si,xi=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},Ei=function(e,t){return function(n,i){t(n,i,e)}};let Ni=Si=class extends Ut{constructor(e,t,n,s,o,a,l){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=n,this._attachedViews=s,this._languageService=o,this._languageConfigurationService=a,this._treeSitterService=l,this._semanticTokens=new yi(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new i.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new i.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new i.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new r.Cm),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(i.Jh.filter(Yn.OB.onDidChange,(e=>e.changedLanguages.includes(this._languageId)))((()=>{this.createPreferredTokenProvider()}))),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new Ii(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews))}createTreeSitterTokens(){return this._register(new _i(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,(()=>this._languageId)))}createTokens(e){const t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){Yn.OB.get(this._languageId)?this._tokens instanceof _i||this.createTokens(!0):this._tokens instanceof Ii||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,n,i]=(0,u.W)(t.text);this._semanticTokens.acceptEdit(t.range,e,n,i,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new l.D7("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,n){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,n)}tokenizeLineWithEdit(e,t,n){return this._tokens.tokenizeLineWithEdit(e,t,n)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const n=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:n.startLineNumber,toLineNumber:n.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),n=this._textModel.getLineContent(t.lineNumber),i=this.getLineTokens(t.lineNumber),r=i.findTokenIndexAtOffset(t.column-1),[s,o]=Si._findLanguageBoundaries(i,r),a=(0,v.Th)(t.column,this.getLanguageConfiguration(i.getLanguageId(r)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(r>0&&s===t.column-1){const[s,o]=Si._findLanguageBoundaries(i,r-1),a=(0,v.Th)(t.column,this.getLanguageConfiguration(i.getLanguageId(r-1)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const n=e.getLanguageId(t);let i=0;for(let s=t;s>=0&&e.getLanguageId(s)===n;s--)i=e.getStartOffset(s);let r=e.getLineContent().length;for(let s=t,o=e.getCount();s<o&&e.getLanguageId(s)===n;s++)r=e.getEndOffset(s);return[i,r]}getWordUntilPosition(e){const t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(e,t){const n=this._textModel.validatePosition(new f.y(e,t)),i=this.getLineTokens(n.lineNumber);return i.getLanguageId(i.findTokenIndexAtOffset(n.column-1))}setLanguageId(e,t="api"){if(this._languageId===e)return;const n={oldLanguage:this._languageId,newLanguage:e,source:t};this._languageId=e,this._bracketPairsTextModelPart.handleDidChangeLanguage(n),this._tokens.resetTokenization(),this.createPreferredTokenProvider(),this._onDidChangeLanguage.fire(n),this._onDidChangeLanguageConfiguration.fire({})}};Ni=Si=xi([Ei(4,k.L),Ei(5,se),Ei(6,bi.ITreeSitterParserService)],Ni);class Ii extends pi{constructor(e,t,n,i){super(e,t,n),this._tokenizer=null,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new r.HE),this._tokens=new Li(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new r.HE),this._attachedViewStates=this._register(new r.$w),this._register(Yn.dG.onDidChange((e=>{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(i.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let n=this._attachedViewStates.get(e);n||(n=new mi((()=>this.refreshRanges(n.lineRanges))),this._attachedViewStates.set(e,n)),n.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new li(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[t,n]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=Yn.dG.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(n){return(0,l.dz)(n),[null,null]}return[e,t]})();if(this._tokenizer=t&&n?new ai(this._textModel.getLineCount(),t,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{if(2===this._backgroundTokenizationState)return;this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(e,t)=>{if(!this._tokenizer)return;const n=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==n&&e>=n&&this._tokenizer?.store.setEndState(e,t)}};t&&t.createBackgroundTokenizer&&!t.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new di(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),t?.backgroundTokenizerShouldOnlyVerifyTokens&&t.createBackgroundTokenizer?(this._debugBackgroundTokens=new Li(this._languageIdCodec),this._debugBackgroundStates=new li(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[e,n]=(0,u.W)(t.text);this._tokens.acceptEdit(t.range,e,n),this._debugBackgroundTokens?.acceptEdit(t.range,e,n)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=Qn.M.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const n=new ii,{heuristicTokens:i}=this._tokenizer.tokenizeHeuristically(n,e,t),r=this.setTokens(n.finalize());if(i)for(const s of r.changes)this._backgroundTokenizer.value?.requestTokens(s.fromLineNumber,s.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new ii;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){const t=this._textModel.getLineContent(e),n=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const i=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!n.equals(i)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return n}getTokenTypeIfInsertingCharacter(e,t,n){if(!this._tokenizer)return 0;const i=this._textModel.validatePosition(new f.y(e,t));return this.forceTokenization(i.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(i,n)}tokenizeLineWithEdit(e,t,n){if(!this._tokenizer)return null;const i=this._textModel.validatePosition(e);return this.forceTokenization(i.lineNumber),this._tokenizer.tokenizeLineWithEdit(i,t,n)}get hasTokens(){return this._tokens.hasTokens}}class Ti{constructor(){this.changeType=1}}class Ai{static applyInjectedText(e,t){if(!t||0===t.length)return e;let n="",i=0;for(const r of t)n+=e.substring(i,r.column-1),i=r.column-1,n+=r.options.content;return n+=e.substring(i),n}static fromDecorations(e){const t=[];for(const n of e)n.options.before&&n.options.before.content.length>0&&t.push(new Ai(n.ownerId,n.range.startLineNumber,n.range.startColumn,n.options.before,0)),n.options.after&&n.options.after.content.length>0&&t.push(new Ai(n.ownerId,n.range.endLineNumber,n.range.endColumn,n.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}constructor(e,t,n,i,r){this.ownerId=e,this.lineNumber=t,this.column=n,this.options=i,this.order=r}}class Di{constructor(e,t,n){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=n}}class Mi{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class Ri{constructor(e,t,n,i){this.changeType=4,this.injectedTexts=i,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}class Oi{constructor(){this.changeType=5}}class Bi{constructor(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i,this.resultingSelection=null}containsEvent(e){for(let t=0,n=this.changes.length;t<n;t++){if(this.changes[t].changeType===e)return!0}return!1}static merge(e,t){const n=[].concat(e.changes).concat(t.changes),i=t.versionId,r=e.isUndoing||t.isUndoing,s=e.isRedoing||t.isRedoing;return new Bi(n,i,r,s)}}class Fi{constructor(e){this.changes=e}}class Pi{constructor(e,t){this.rawContentChangedEvent=e,this.contentChangedEvent=t}merge(e){const t=Bi.merge(this.rawContentChangedEvent,e.rawContentChangedEvent),n=Pi._mergeChangeEvents(this.contentChangedEvent,e.contentChangedEvent);return new Pi(t,n)}static _mergeChangeEvents(e,t){const n=[].concat(e.changes).concat(t.changes),i=t.eol,r=t.versionId,s=e.isUndoing||t.isUndoing,o=e.isRedoing||t.isRedoing,a=e.isFlush||t.isFlush;return{changes:n,eol:i,isEolChange:e.isEolChange&&t.isEolChange,versionId:r,isUndoing:s,isRedoing:o,isFlush:a}}}const zi=(0,K.u1)("undoRedoService");class Vi{static{this._ID=0}constructor(){this.id=Vi._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new Vi}}class Wi{static{this._ID=0}constructor(){this.id=Wi._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new Wi}}var qi,Hi=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},Ui=function(e,t){return function(n,i){t(n,i,e)}};function ji(e,t){let n;return n="string"==typeof e?function(e){const t=new Gn;return t.acceptChunk(e),t.finish()}(e):me.nk(e)?function(e){const t=new Gn;let n;for(;"string"==typeof(n=e.read());)t.acceptChunk(n);return t.finish()}(e):e,n.create(t)}let Ki=0;class $i{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,n=0;for(;;){const i=this._source.read();if(null===i)return this._eos=!0,0===t?null:e.join("");if(i.length>0&&(e[t++]=i,n+=i.length),n>=65536)return e.join("")}}}const Gi=()=>{throw new Error("Invalid change accessor")};let Qi=class extends r.jG{static{qi=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:_.tabSize,indentSize:_.indentSize,insertSpaces:_.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:_.trimAutoWhitespace,largeFileOptimizations:_.largeFileOptimizations,bracketPairColorizationOptions:_.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){const n=Xt(e,t.tabSize,t.insertSpaces);return new me.X2({tabSize:n.tabSize,indentSize:"tabSize",insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new me.X2(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return(0,r.qE)(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,n,s=null,o,a,l,u){super(),this._undoRedoService=o,this._languageService=a,this._languageConfigurationService=l,this.instantiationService=u,this._onWillDispose=this._register(new i.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new lr((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new i.vl),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new i.vl),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new i.vl),this._eventEmitter=this._register(new hr),this._languageSelectionListener=this._register(new r.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new gi,Ki++,this.id="$model"+Ki,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==s?c.r.parse("inmemory://model/"+Ki):s,this._attachedEditorCount=0;const{textBuffer:d,disposable:g}=ji(e,n.defaultEOL);this._buffer=d,this._bufferDisposable=g,this._options=qi.resolveOptions(this._buffer,n);const f="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange((()=>this._setLanguage(t.languageId)))),this._bracketPairs=this._register(new Lt(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new $t(this,this._languageConfigurationService)),this._decorationProvider=this._register(new Nt(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(Ni,this,this._bracketPairs,f,this._attachedViews);const p=this._buffer.getLineCount(),_=this._buffer.getValueLengthInRange(new m.Q(1,1,p,this._buffer.getLineLength(p)+1),0);n.largeFileOptimizations?(this._isTooLargeForTokenization=_>qi.LARGE_FILE_SIZE_THRESHOLD||p>qi.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=_>qi.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=_>qi._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=h.tk(Ki),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Zi,this._commandManager=new Wt(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(f),this._register(this._languageConfigurationService.onDidChange((e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)})))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new Kn([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=r.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new l.D7("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new Pi(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,l.Qg)();const{textBuffer:t,disposable:n}=ji(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,n)}_createContentChanged2(e,t,n,i,r,s,o,a){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:r,isRedoing:s,isFlush:o}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),r=this.getLineCount(),s=this.getLineMaxColumn(r);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new Zi,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Bi([new Ti],this._versionId,!1,!1),this._createContentChanged2(new m.Q(1,1,r,s),0,i,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),r=this.getLineCount(),s=this.getLineMaxColumn(r);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Bi([new Oi],this._versionId,!1,!1),this._createContentChanged2(new m.Q(1,1,r,s),0,i,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let n=0,i=t.length;n<i;n++){const i=t[n],r=i.range,s=i.cachedAbsoluteStart-i.start,o=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),a=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);i.cachedAbsoluteStart=o,i.cachedAbsoluteEnd=a,i.cachedVersionId=e,i.start=o-s,i.end=a-s,vn(i)}}onBeforeAttached(){return this._attachedEditorCount++,1===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(e){this._attachedEditorCount--,0===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(e)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const n=this._buffer.getLineCount();for(let i=1;i<=n;i++){const n=this._buffer.getLineLength(i);n>=1e4?t+=n:e+=n}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,r=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,o=new me.X2({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:r,bracketPairColorizationOptions:s});if(this._options.equals(o))return;const a=this._options.createChangeEvent(o);this._options=o,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const n=Xt(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),g(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(h._J.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map((e=>({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.D7("Operation would exceed heap memory limits");const n=this.getFullModelRange(),i=this.getValueInRange(n,e);return t?this._buffer.getBOM()+i:i}createSnapshot(e=!1){return new $i(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n,e);return t?this._buffer.getBOM().length+i:i}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),n=e.startLineNumber,i=e.startColumn;let r=Math.floor("number"!=typeof n||isNaN(n)?1:n),s=Math.floor("number"!=typeof i||isNaN(i)?1:i);if(r<1)r=1,s=1;else if(r>t)r=t,s=this.getLineMaxColumn(r);else if(s<=1)s=1;else{const e=this.getLineMaxColumn(r);s>=e&&(s=e)}const o=e.endLineNumber,a=e.endColumn;let l=Math.floor("number"!=typeof o||isNaN(o)?1:o),h=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,h=1;else if(l>t)l=t,h=this.getLineMaxColumn(l);else if(h<=1)h=1;else{const e=this.getLineMaxColumn(l);h>=e&&(h=e)}return n===r&&i===s&&o===l&&a===h&&e instanceof m.Q&&!(e instanceof p.L)?e:new m.Q(r,s,l,h)}_isValidPosition(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===n){const n=this._buffer.getLineCharCode(e,t-2);if(h.pc(n))return!1}return!0}_validatePosition(e,t,n){const i=Math.floor("number"!=typeof e||isNaN(e)?1:e),r=Math.floor("number"!=typeof t||isNaN(t)?1:t),s=this._buffer.getLineCount();if(i<1)return new f.y(1,1);if(i>s)return new f.y(s,this.getLineMaxColumn(s));if(r<=1)return new f.y(i,1);const o=this.getLineMaxColumn(i);if(r>=o)return new f.y(i,o);if(1===n){const e=this._buffer.getLineCharCode(i,r-2);if(h.pc(e))return new f.y(i,r-1)}return new f.y(i,r)}validatePosition(e){return this._assertNotDisposed(),e instanceof f.y&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const n=e.startLineNumber,i=e.startColumn,r=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(n,i,0))return!1;if(!this._isValidPosition(r,s,0))return!1;if(1===t){const e=i>1?this._buffer.getLineCharCode(n,i-2):0,t=s>1&&s<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,s-2):0,o=h.pc(e),a=h.pc(t);return!o&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof m.Q&&!(e instanceof p.L)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),i=t.lineNumber,r=t.column,s=n.lineNumber,o=n.column;{const e=r>1?this._buffer.getLineCharCode(i,r-2):0,t=o>1&&o<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,o-2):0,n=h.pc(e),a=h.pc(t);return n||a?i===s&&r===o?new m.Q(i,r-1,s,o-1):n&&a?new m.Q(i,r-1,s,o+1):n?new m.Q(i,r-1,s,o):new m.Q(i,r,s,o+1):new m.Q(i,r,s,o)}}modifyPosition(e,t){this._assertNotDisposed();const n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new m.Q(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)}findMatches(e,t,n,i,r,s,o=999){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>m.Q.isIRange(e)))&&(a=t.map((e=>this.validateRange(e))))),null===a&&(a=[this.getFullModelRange()]),a=a.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const l=[];let h;if(l.push(a.reduce(((e,t)=>m.Q.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t)))),!n&&e.indexOf("\n")<0){const t=new Bn.lt(e,n,i,r).parseSearchRequest();if(!t)return[];h=e=>this.findMatchesLineByLine(e,t,s,o)}else h=t=>Bn.hB.findMatches(this,new Bn.lt(e,n,i,r),t,s,o);return l.map(h).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,n,i,r,s){this._assertNotDisposed();const o=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){const t=new Bn.lt(e,n,i,r).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new m.Q(o.lineNumber,o.column,a,this.getLineMaxColumn(a)),h=this.findMatchesLineByLine(l,t,s,1);return Bn.hB.findNextMatch(this,new Bn.lt(e,n,i,r),o,s),h.length>0?h[0]:(l=new m.Q(1,1,o.lineNumber,this.getLineMaxColumn(o.lineNumber)),h=this.findMatchesLineByLine(l,t,s,1),h.length>0?h[0]:null)}return Bn.hB.findNextMatch(this,new Bn.lt(e,n,i,r),o,s)}findPreviousMatch(e,t,n,i,r,s){this._assertNotDisposed();const o=this.validatePosition(t);return Bn.hB.findPreviousMatch(this,new Bn.lt(e,n,i,r),o,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof me.Wo?e:new me.Wo(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let n=0,i=e.length;n<i;n++)t[n]=this._validateEditOperation(e[n]);return t}pushEditOperations(e,t,n,i){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),n,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,n,i){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const n=t.map((e=>({range:this.validateRange(e.range),text:e.text})));let i=!0;if(e)for(let t=0,r=e.length;t<r;t++){const r=e[t];let s=!1;for(let e=0,t=n.length;e<t;e++){const t=n[e].range,i=t.startLineNumber>r.endLineNumber,o=r.startLineNumber>t.endLineNumber;if(!i&&!o){s=!0;break}}if(!s){i=!1;break}}if(i)for(let e=0,r=this._trimAutoWhitespaceLines.length;e<r;e++){const i=this._trimAutoWhitespaceLines[e],r=this.getLineMaxColumn(i);let s=!0;for(let e=0,t=n.length;e<t;e++){const t=n[e].range,o=n[e].text;if(!(i<t.startLineNumber||i>t.endLineNumber)&&!(i===t.startLineNumber&&t.startColumn===r&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(0)||i===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(o.length-1))){s=!1;break}}if(s){const e=new m.Q(i,1,i,r);t.push(new me.Wo(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,i)}_applyUndo(e,t,n,i){const r=e.map((e=>{const t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new m.Q(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}}));this._applyUndoRedoEdits(r,t,!0,!1,n,i)}_applyRedo(e,t,n,i){const r=e.map((e=>{const t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new m.Q(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}}));this._applyUndoRedoEdits(r,t,!1,!0,n,i)}_applyUndoRedoEdits(e,t,n,i,r,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=i,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(r)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const n=this._buffer.getLineCount(),i=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),r=this._buffer.getLineCount(),s=i.changes;if(this._trimAutoWhitespaceLines=i.trimAutoWhitespaceLineNumbers,0!==s.length){for(let n=0,i=s.length;n<i;n++){const e=s[n];this._decorationsTree.acceptReplace(e.rangeOffset,e.rangeLength,e.text.length,e.forceMoveMarkers)}const e=[];this._increaseVersionId();let t=n;for(let n=0,i=s.length;n<i;n++){const i=s[n],[a]=(0,u.W)(i.text);this._onDidChangeDecorations.fire();const l=i.range.startLineNumber,h=i.range.endLineNumber,c=h-l,d=a,g=Math.min(c,d),m=d-c,p=r-t-m+l,_=p,b=p+d,k=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new f.y(_,1)),this.getOffsetAt(new f.y(b,this.getLineMaxColumn(b))),0),v=Ai.fromDecorations(k),C=new o.j3(v);for(let t=g;t>=0;t--){const n=l+t,i=p+t;C.takeFromEndWhile((e=>e.lineNumber>i));const r=C.takeFromEndWhile((e=>e.lineNumber===i));e.push(new Di(n,this.getLineContent(i),r))}if(g<c){const t=l+g;e.push(new Mi(t+1,h))}if(g<d){const n=new o.j3(v),i=l+g,s=d-g,a=r-t-s+i+1,h=[],c=[];for(let e=0;e<s;e++){const t=a+e;c[e]=this.getLineContent(t),n.takeWhile((e=>e.lineNumber<t)),h[e]=n.takeWhile((e=>e.lineNumber===t))}e.push(new Ri(i+1,l+d,c,h))}t+=m}this._emitContentChangedEvent(new Bi(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})}return null===i.reverseEdits?void 0:i.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){if(null===e||0===e.size)return;const t=Array.from(e).map((e=>new Di(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new Fi(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,ar(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>0===t.length&&0===n.length?[]:this._deltaDecorationsImpl(e,t,n)};let i=null;try{i=t(n)}catch(r){(0,l.dz)(r)}return n.addDecoration=Gi,n.changeDecoration=Gi,n.changeDecorationOptions=Gi,n.removeDecoration=Gi,n.deltaDecorations=Gi,i}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,l.dz)(new 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){const i=e?this._decorations[e]:null;if(!i)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:or[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(i),delete this._decorations[i.id],null;const r=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),o=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);return this._decorationsTree.delete(i),i.reset(this.getVersionId(),s,o,r),i.setOptions(or[n]),this._decorationsTree.insert(i),i.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let n=0,i=t.length;n<i;n++){const e=t[n];this._decorationsTree.delete(e),delete this._decorations[e.id]}}getDecorationOptions(e){const t=this._decorations[e];return t?t.options:null}getDecorationRange(e){const t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,n=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)}getLinesDecorations(e,t,n=0,i=!1,r=!1){const s=this.getLineCount(),a=Math.min(s,Math.max(1,e)),l=Math.min(s,Math.max(1,t)),h=this.getLineMaxColumn(l),c=new m.Q(a,1,l,h),u=this._getDecorationsInRange(c,n,i,r);return(0,o.E4)(u,this._decorationProvider.getDecorationsInRange(c,n,i)),u}getDecorationsInRange(e,t=0,n=!1,i=!1,r=!1){const s=this.validateRange(e),a=this._getDecorationsInRange(s,t,n,r);return(0,o.E4)(a,this._decorationProvider.getDecorationsInRange(s,t,n,i)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),n=t+this._buffer.getLineLength(e),i=this._decorationsTree.getInjectedTextInInterval(this,t,n,0);return Ai.fromDecorations(i).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let n=this._decorationsTree.getAll(this,e,t,!1,!1);return n=n.concat(this._decorationProvider.getAllDecorations(e,t)),n}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,n,i){const r=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,r,s,t,n,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const n=this._decorations[e];if(!n)return;if(n.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(n.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const i=this._validateRangeRelaxedNoAllocations(t),r=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),s=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(n),n.reset(this.getVersionId(),r,s,i),this._decorationsTree.insert(n),this._onDidChangeDecorations.checkAffectedAndFire(n.options),n.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),n.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber)}_changeDecorationOptionsImpl(e,t){const n=this._decorations[e];if(!n)return;const i=!(!n.options.overviewRuler||!n.options.overviewRuler.color),r=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(n.options),this._onDidChangeDecorations.checkAffectedAndFire(t),n.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(n.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const s=i!==r,o=function(e){return!!e.after||!!e.before}(t)!==Xi(n);s||o?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t)}_deltaDecorationsImpl(e,t,n,i=!1){const r=this.getVersionId(),s=t.length;let o=0;const a=n.length;let l=0;this._onDidChangeDecorations.beginDeferredEmit();try{const h=new Array(a);for(;o<s||l<a;){let c=null;if(o<s){do{c=this._decorations[t[o++]]}while(!c&&o<s);if(c){if(c.options.after){const e=this._decorationsTree.getNodeRange(this,c);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(c.options.before){const e=this._decorationsTree.getNodeRange(this,c);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}this._decorationsTree.delete(c),i||this._onDidChangeDecorations.checkAffectedAndFire(c.options)}}if(l<a){if(!c){const e=++this._lastDecorationId,t=`${this._instanceId};${e}`;c=new hn(t,0,0),this._decorations[t]=c}const t=n[l],s=this._validateRangeRelaxedNoAllocations(t.range),o=ar(t.options),a=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),u=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);c.ownerId=e,c.reset(r,a,u,s),c.setOptions(o),c.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.endLineNumber),c.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.startLineNumber),i||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(c),h[l]=c.id,l++}else c&&delete this._decorations[c.id]}return h}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){"string"==typeof e?(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 function(e){let t=0;for(const n of e){if(" "!==n&&"\t"!==n)break;t++}return t}(this.getLineContent(e))+1}};function Yi(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Xi(e){return!!e.options.after||!!e.options.before}Qi=qi=Hi([Ui(4,zi),Ui(5,k.L),Ui(6,se),Ui(7,K._Y)],Qi);class Zi{constructor(){this._decorationsTree0=new un,this._decorationsTree1=new un,this._injectedTextDecorationsTree=new un}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const n of t)null===n.range&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,i,r,s){const o=e.getVersionId(),a=this._intervalSearch(t,n,i,r,o,s);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,n,i,r,s){const o=this._decorationsTree0.intervalSearch(e,t,n,i,r,s),a=this._decorationsTree1.intervalSearch(e,t,n,i,r,s),l=this._injectedTextDecorationsTree.intervalSearch(e,t,n,i,r,s);return o.concat(a).concat(l)}getInjectedTextInInterval(e,t,n,i){const r=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,n,i,!1,r,!1);return this._ensureNodesHaveRanges(e,s).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const n=e.getVersionId(),i=this._injectedTextDecorationsTree.search(t,!1,n,!1);return this._ensureNodesHaveRanges(e,i).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,n,i,r){const s=e.getVersionId(),o=this._search(t,n,i,s,r);return this._ensureNodesHaveRanges(e,o)}_search(e,t,n,i,r){if(n)return this._decorationsTree1.search(e,t,i,r);{const n=this._decorationsTree0.search(e,t,i,r),s=this._decorationsTree1.search(e,t,i,r),o=this._injectedTextDecorationsTree.search(e,t,i,r);return n.concat(s).concat(o)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),i=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(i)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){Xi(e)?this._injectedTextDecorationsTree.insert(e):Yi(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Xi(e)?this._injectedTextDecorationsTree.delete(e):Yi(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Xi(e)?this._injectedTextDecorationsTree.resolveNode(e,t):Yi(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,i){this._decorationsTree0.acceptReplace(e,t,n,i),this._decorationsTree1.acceptReplace(e,t,n,i),this._injectedTextDecorationsTree.acceptReplace(e,t,n,i)}}function Ji(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class er{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class tr extends er{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:me.A5.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const n=e?t.getColor(e.id):null;return n?n.toString():""}}class nr{constructor(e){this.position=e?.position??me.ZS.Center,this.persistLane=e?.persistLane}}class ir extends er{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?a.Q1.fromHex(e):t.getColor(e.id)}}class rr{static from(e){return e instanceof rr?e:new rr(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class sr{static register(e){return new sr(e)}static createDynamic(e){return new sr(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?Ji(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?Ji(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.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new tr(e.overviewRuler):null,this.minimap=e.minimap?new ir(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new nr(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?Ji(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?Ji(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?Ji(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?h.jy(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?Ji(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?Ji(e.marginClassName):null,this.inlineClassName=e.inlineClassName?Ji(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?Ji(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?Ji(e.afterContentClassName):null,this.after=e.after?rr.from(e.after):null,this.before=e.before?rr.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}sr.EMPTY=sr.register({description:"empty"});const or=[sr.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),sr.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),sr.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),sr.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function ar(e){return e instanceof sr?e:sr.createDynamic(e)}class lr extends r.jG{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new i.vl),this.event=this._actual.event,this._affectedInjectedTextLines=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--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}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(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const 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)}}class hr extends r.jG{constructor(){super(),this._fastEmitter=this._register(new i.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new i.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}var cr,ur=n(1504),dr=n(2344),gr=n(3072),fr=n(1386),mr=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},pr=function(e,t){return function(n,i){t(n,i,e)}};function _r(e){return e.toString()}class br{constructor(e,t,n){this.model=e,this._modelEventListeners=new r.Cm,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>n(e,t))))}dispose(){this._modelEventListeners.dispose()}}const kr=s.j9||s.zx?1:2;class vr{constructor(e,t,n,i,r,s,o,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=i,this.heapSize=r,this.sha1=s,this.versionId=o,this.alternativeVersionId=a}}let Cr=class extends r.jG{static{cr=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(e,t,n,r){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._instantiationService=r,this._onModelAdded=this._register(new i.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new i.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new i.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let n=_.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(n=t),n<1&&(n=1)}let i="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(i=Math.max(t,1))}let r=_.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(r="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let s=kr;const o=e.eol;"\r\n"===o?s=2:"\n"===o&&(s=1);let a=_.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let l=_.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let h=_.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(h="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let c=_.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(c={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:n,indentSize:i,insertSpaces:r,detectIndentation:l,defaultEOL:s,trimAutoWhitespace:a,largeFileOptimizations:h,bracketPairColorizationOptions:c}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const n=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return n&&"string"==typeof n&&"auto"!==n?n:3===s.OS||2===s.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,n){const i="string"==typeof e?e:e.languageId;let r=this._modelCreationOptionsByLanguageAndResource[i+t];if(!r){const e=this._configurationService.getValue("editor",{overrideIdentifier:i,resource:t}),s=this._getEOL(t,i);r=cr._readModelOptions({editor:e,eol:s},n),this._modelCreationOptionsByLanguageAndResource[i+t]=r}return r}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const n=Object.keys(this._models);for(let i=0,r=n.length;i<r;i++){const r=n[i],s=this._models[r],o=s.model.getLanguageId(),a=s.model.uri;if(e&&!e.affectsConfiguration("editor",{overrideIdentifier:o,resource:a})&&!e.affectsConfiguration("files.eol",{overrideIdentifier:o,resource:a}))continue;const l=t[o+a],h=this.getCreationOptions(o,a,s.model.isForSimpleWidget);cr._setModelOptionsForModel(s.model,h,l)}}static _setModelOptionsForModel(e,t,n){n&&n.defaultEOL!==t.defaultEOL&&1===e.getLineCount()&&e.setEOL(1===t.defaultEOL?0:1),n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.indentSize===t.indentSize&&n.trimAutoWhitespace===t.trimAutoWhitespace&&(0,fr.aI)(n.bracketPairColorizationOptions,t.bracketPairColorizationOptions)||(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(_r(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){const t=this._disposedModels.get(_r(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(_r(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,i){const r=this.getCreationOptions(t,n,i),s=this._instantiationService.createInstance(Qi,e,t,r,n);if(n&&this._disposedModels.has(_r(n))){const e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),i=this._getSHA1Computer(),r=!!i.canComputeSHA1(s)&&i.computeSHA1(s)===e.sha1;if(r||e.sharesUndoRedoStack){for(const e of t.past)Vt(e)&&e.matchesResource(n)&&e.setModel(s);for(const e of t.future)Vt(e)&&e.matchesResource(n)&&e.setModel(s);this._undoRedoService.setElementsValidFlag(n,!0,(e=>Vt(e)&&e.matchesResource(n))),r&&(s._overwriteVersionId(e.versionId),s._overwriteAlternativeVersionId(e.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const o=_r(s.uri);if(this._models[o])throw new Error("ModelService: Cannot add model because it already exists!");const a=new br(s,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[o]=a,a}createModel(e,t,n,i=!1){let r;return r=t?this._createModelData(e,t,n,i):this._createModelData(e,Q.vH,n,i),this._onModelAdded.fire(r.model),r.model}getModels(){const e=[],t=Object.keys(this._models);for(let n=0,i=t.length;n<i;n++){const i=t[n];e.push(this._models[i].model)}return e}getModel(e){const t=_r(e),n=this._models[t];return n?n.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===gr.ny.file||e.scheme===gr.ny.vscodeRemote||e.scheme===gr.ny.vscodeUserData||e.scheme===gr.ny.vscodeNotebookCell||"fake-fs"===e.scheme}_onWillDispose(e){const t=_r(e.uri),n=this._models[t],i=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString();let r=!1,s=0;if(i||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){const t=this._undoRedoService.getElements(e.uri);if(t.past.length>0||t.future.length>0){for(const n of t.past)Vt(n)&&n.matchesResource(e.uri)&&(r=!0,s+=n.heapSize(e.uri),n.setModel(e.uri));for(const n of t.future)Vt(n)&&n.matchesResource(e.uri)&&(r=!0,s+=n.heapSize(e.uri),n.setModel(e.uri))}}const o=cr.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,a=this._getSHA1Computer();if(r)if(i||!(s>o)&&a.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(o-s),this._undoRedoService.setElementsValidFlag(e.uri,!1,(t=>Vt(t)&&t.matchesResource(e.uri))),this._insertDisposedModel(new vr(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),i,s,a.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!i){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const n=t.oldLanguage,i=e.getLanguageId(),r=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),s=this.getCreationOptions(i,e.uri,e.isForSimpleWidget);cr._setModelOptionsForModel(e,s,r),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new Lr}};Cr=cr=mr([pr(0,$.pG),pr(1,ur.ITextResourcePropertiesService),pr(2,zi),pr(3,K._Y)],Cr);class Lr{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(e){return e.getValueLength()<=Lr.MAX_MODEL_SIZE}computeSHA1(e){const t=new dr.v7,n=e.createSnapshot();let i;for(;i=n.read();)t.update(i);return t.digest()}}},7042:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextModelService:()=>i});const i=(0,n(2399).u1)("textModelService")},9376:(e,t,n)=>{"use strict";n.r(t),n.d(t,{encodeSemanticTokensDto:()=>s});var i=n(2802),r=n(3339);function s(e){const t=new Uint32Array(function(e){let t=0;if(t+=2,"full"===e.type)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(const n of e.deltas)n.data&&(t+=n.data.length)}return t}(e));let n=0;if(t[n++]=e.id,"full"===e.type)t[n++]=1,t[n++]=e.data.length,t.set(e.data,n),n+=e.data.length;else{t[n++]=2,t[n++]=e.deltas.length;for(const i of e.deltas)t[n++]=i.start,t[n++]=i.deleteCount,i.data?(t[n++]=i.data.length,t.set(i.data,n),n+=i.data.length):t[n++]=0}return function(e){const t=new Uint8Array(e.buffer,e.byteOffset,4*e.length);return r.cm()||function(e){for(let t=0,n=e.length;t<n;t+=4){const n=e[t+0],i=e[t+1],r=e[t+2],s=e[t+3];e[t+0]=s,e[t+1]=r,e[t+2]=i,e[t+3]=n}}(t),i.MB.wrap(t)}(t)}},7642:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemanticTokensProviderStyling:()=>m,toMultilineTokens2:()=>p});n(5910);var i=n(6001),r=n(2321),s=n(5365),o=n(8061),a=n(3902);class l{static create(e,t){return new l(e,new h(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new o.Q(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,n,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber,[i,r,s]=this._tokens.split(t,e.startColumn-1,n,e.endColumn-1);return[new l(this._startLineNumber,i),new l(this._startLineNumber+s,r)]}applyEdit(e,t){const[n,i,r]=(0,a.W)(t);this.acceptEdit(e,n,i,r,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,n,i,r){this._acceptDeleteRange(e),this._acceptInsertText(new s.y(e.startLineNumber,e.startColumn),t,n,i,r),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;if(n<0){const e=n-t;return void(this._startLineNumber-=e)}const i=this._tokens.getMaxDeltaLine();if(!(t>=i+1)){if(t<0&&n>=i+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const i=-t;this._startLineNumber-=i,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,n,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,n,e.endColumn-1)}}_acceptInsertText(e,t,n,i,r){if(0===t&&0===n)return;const s=e.lineNumber-this._startLineNumber;if(s<0)return void(this._startLineNumber+=t);s>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(s,e.column-1,t,n,i,r)}}class h{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let n=0;n<this._tokenCount;n++)t.push(`(${this._getDeltaLine(n)+e},${this._getStartCharacter(n)}-${this._getEndCharacter(n)})`);return`[${t.join(",")}]`}getMaxDeltaLine(){const e=this._getTokenCount();return 0===e?-1:this._getDeltaLine(e-1)}getRange(){const e=this._getTokenCount();if(0===e)return null;const t=this._getStartCharacter(0),n=this._getDeltaLine(e-1),i=this._getEndCharacter(e-1);return new o.Q(0,t+1,n,i+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(e){return this._tokens[4*e]}_getStartCharacter(e){return this._tokens[4*e+1]}_getEndCharacter(e){return this._tokens[4*e+2]}isEmpty(){return 0===this._getTokenCount()}getLineTokens(e){let t=0,n=this._getTokenCount()-1;for(;t<n;){const i=t+Math.floor((n-t)/2),r=this._getDeltaLine(i);if(r<e)t=i+1;else{if(!(r>e)){let r=i;for(;r>t&&this._getDeltaLine(r-1)===e;)r--;let s=i;for(;s<n&&this._getDeltaLine(s+1)===e;)s++;return new c(this._tokens.subarray(4*r,4*s+4))}n=i-1}}return this._getDeltaLine(t)===e?new c(this._tokens.subarray(4*t,4*t+4)):null}clear(){this._tokenCount=0}removeTokens(e,t,n,i){const r=this._tokens,s=this._tokenCount;let o=0,a=!1,l=0;for(let h=0;h<s;h++){const s=4*h,c=r[s],u=r[s+1],d=r[s+2],g=r[s+3];if((c>e||c===e&&d>=t)&&(c<n||c===n&&u<=i))a=!0;else{if(0===o&&(l=c),a){const e=4*o;r[e]=c-l,r[e+1]=u,r[e+2]=d,r[e+3]=g}o++}}return this._tokenCount=o,l}split(e,t,n,i){const r=this._tokens,s=this._tokenCount,o=[],a=[];let l=o,c=0,u=0;for(let h=0;h<s;h++){const s=4*h,o=r[s],d=r[s+1],g=r[s+2],f=r[s+3];if(o>e||o===e&&g>=t){if(o<n||o===n&&d<=i)continue;l!==a&&(l=a,c=0,u=o)}l[c++]=o-u,l[c++]=d,l[c++]=g,l[c++]=f}return[new h(new Uint32Array(o)),new h(new Uint32Array(a)),u]}acceptDeleteRange(e,t,n,i,r){const s=this._tokens,o=this._tokenCount,a=i-t;let l=0,h=!1;for(let c=0;c<o;c++){const u=4*c;let d=s[u],g=s[u+1],f=s[u+2];const m=s[u+3];if(d<t||d===t&&f<=n){l++;continue}if(d===t&&g<n)d===i&&f>r?f-=r-n:f=n;else if(d===t&&g===n){if(!(d===i&&f>r)){h=!0;continue}f-=r-n}else if(d<i||d===i&&g<r){if(!(d===i&&f>r)){h=!0;continue}d=t,g=n,f=g+(f-r)}else if(d>i){if(0===a&&!h){l=o;break}d-=a}else{if(!(d===i&&g>=r))throw new Error("Not possible!");e&&0===d&&(g+=e,f+=e),d-=a,g-=r-n,f-=r-n}const p=4*l;s[p]=d,s[p+1]=g,s[p+2]=f,s[p+3]=m,l++}this._tokenCount=l}acceptInsertText(e,t,n,i,r,s){const o=0===n&&1===i&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),a=this._tokens,l=this._tokenCount;for(let h=0;h<l;h++){const s=4*h;let l=a[s],c=a[s+1],u=a[s+2];if(!(l<e||l===e&&u<t)){if(l===e&&u===t){if(!o)continue;u+=1}else if(l===e&&c<t&&t<u)0===n?u+=i:u=t;else{if(l===e&&c===t&&o)continue;if(l===e)if(l+=n,0===n)c+=i,u+=i;else{const e=u-c;c=r+(c-t),u=c+e}else l+=n}a[s]=l,a[s+1]=c,a[s+2]=u}}}}class c{constructor(e){this._tokens=e}getCount(){return this._tokens.length/4}getStartCharacter(e){return this._tokens[4*e+1]}getEndCharacter(e){return this._tokens[4*e+2]}getMetadata(e){return this._tokens[4*e+3]}}var u=n(7922),d=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},g=function(e,t){return function(n,i){t(n,i,e)}};const f=!1;let m=class{constructor(e,t,n,i){this._legend=e,this._themeService=t,this._languageService=n,this._logService=i,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new b}getMetadata(e,t,n){const i=this._languageService.languageIdCodec.encodeLanguageId(n),r=this._hashTable.get(e,t,i);let s;if(r)s=r.metadata;else{let r=this._legend.tokenTypes[e];const o=[];if(r){let e=t;for(let t=0;e>0&&t<this._legend.tokenModifiers.length;t++)1&e&&o.push(this._legend.tokenModifiers[t]),e>>=1;f;const i=this._themeService.getColorTheme().getTokenStyleMetadata(r,o,n);if(void 0===i)s=2147483647;else{if(s=0,void 0!==i.italic){s|=1|(i.italic?1:0)<<11}if(void 0!==i.bold){s|=2|(i.bold?2:0)<<11}if(void 0!==i.underline){s|=4|(i.underline?4:0)<<11}if(void 0!==i.strikethrough){s|=8|(i.strikethrough?8:0)<<11}if(i.foreground){s|=16|i.foreground<<15}0===s&&(s=2147483647)}}else s=2147483647,r="not-in-legend";this._hashTable.add(e,t,i,s)}return s}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,n,i,r){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${n}: The provided start offset ${i} is outside the previous data (length ${r}).`))}};function p(e,t,n){const i=e.data,r=e.data.length/5|0,s=Math.max(Math.ceil(r/1024),400),o=[];let a=0,h=1,c=0;for(;a<r;){const e=a;let u=Math.min(e+s,r);if(u<r){let t=u;for(;t-1>e&&0===i[5*t];)t--;if(t-1===e){let e=u;for(;e+1<r&&0===i[5*e];)e++;u=e}else u=t}let d=new Uint32Array(4*(u-e)),g=0,f=0,m=0,p=0;for(;a<u;){const e=5*a,r=i[e],s=i[e+1],o=h+r|0,l=0===r?c+s|0:s,u=l+i[e+2]|0,_=i[e+3],b=i[e+4];if(u<=l)t.warnInvalidLengthSemanticTokens(o,l+1);else if(m===o&&p>l)t.warnOverlappingSemanticTokens(o,l+1);else{const e=t.getMetadata(_,b,n);2147483647!==e&&(0===f&&(f=o),d[g]=o-f,d[g+1]=l,d[g+2]=u,d[g+3]=e,g+=4,m=o,p=u)}h=o,c=l,a++}g!==d.length&&(d=d.subarray(0,g));const _=l.create(f,d);o.push(_)}return o}m=d([g(1,i.Gy),g(2,u.L),g(3,r.rr)],m);class _{constructor(e,t,n,i){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=n,this.metadata=i,this.next=null}}class b{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=b._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<b._SIZES.length?2/3*this._currentLength:0),this._elements=[],b._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(e,t){for(let n=0;n<t;n++)e[n]=null}_hash2(e,t){return(e<<5)-e+t|0}_hashFunc(e,t,n){return this._hash2(this._hash2(e,t),n)%this._currentLength}get(e,t,n){const i=this._hashFunc(e,t,n);let r=this._elements[i];for(;r;){if(r.tokenTypeIndex===e&&r.tokenModifierSet===t&&r.languageId===n)return r;r=r.next}return null}add(e,t,n,i){if(this._elementsCount++,0!==this._growCount&&this._elementsCount>=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=b._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<b._SIZES.length?2/3*this._currentLength:0),this._elements=[],b._nullOutEntries(this._elements,this._currentLength);for(const t of e){let e=t;for(;e;){const t=e.next;e.next=null,this._add(e),e=t}}}this._add(new _(e,t,n,i))}_add(e){const t=this._hashFunc(e.tokenTypeIndex,e.tokenModifierSet,e.languageId);e.next=this._elements[t],this._elements[t]=e}}},2891:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ISemanticTokensStylingService:()=>i});const i=(0,n(2399).u1)("semanticTokensStylingService")},8148:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemanticTokensStylingService:()=>d});var i=n(2446),r=n(7922),s=n(6001),o=n(2321),a=n(7642),l=n(2891),h=n(4412),c=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},u=function(e,t){return function(n,i){t(n,i,e)}};let d=class extends i.jG{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new a.SemanticTokensProviderStyling(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};d=c([u(0,s.Gy),u(1,o.rr),u(2,r.L)],d),(0,h.v)(l.ISemanticTokensStylingService,d,1)},1507:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MirrorModel:()=>_,STOP_SYNC_MODEL_DELTA_TIME_MS:()=>f,WorkerTextModelSyncClient:()=>m,WorkerTextModelSyncServer:()=>p});var i=n(2866),r=n(2446),s=n(7264),o=n(5365),a=n(8061),l=n(8782),h=n(6844),c=(n(3338),n(7512));class u{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=(0,c.j)(e);const n=this.values,i=this.prefixSum,r=t.length;return 0!==r&&(this.values=new Uint32Array(n.length+r),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+r),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(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=(0,c.j)(e),t=(0,c.j)(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=(0,c.j)(e),t=(0,c.j)(t);const n=this.values,i=this.prefixSum;if(e>=n.length)return!1;const r=n.length-e;return t>=r&&(t=r),0!==t&&(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(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=(0,c.j)(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(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,i=0,r=0,s=0;for(;t<=n;)if(i=t+(n-t)/2|0,r=this.prefixSum[i],s=r-this.values[i],e<s)n=i-1;else{if(!(e>=r))break;t=i+1}return new d(i,e-s)}}class d{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}}class g{constructor(e,t,n,i){this._uri=e,this._lines=t,this._eol=n,this._versionId=i,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const n of t)this._acceptDeleteRange(n.range),this._acceptInsertText(new o.y(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let i=0;i<t;i++)n[i]=this._lines[i].length+e;this._lineStarts=new u(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)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);else{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))}}_acceptInsertText(e,t){if(0===t.length)return;const n=(0,h.uz)(t);if(1===n.length)return void 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));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]);const i=new Uint32Array(n.length-1);for(let r=1;r<n.length;r++)this._lines.splice(e.lineNumber+r-1,0,n[r]),i[r-1]=n[r].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,i)}}const f=6e4;class m extends r.jG{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){const e=new i.vb;e.cancelAndSet((()=>this._checkStopModelSync()),Math.round(f/2)),this._register(e)}}dispose(){for(const e in this._syncedModels)(0,r.AS)(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const n of e){const e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const n in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[n]>f&&t.push(n)}for(const n of t)this._stopModelSync(n)}_beginModelSync(e,t){const n=this._modelService.getModel(e);if(!n)return;if(!t&&n.isTooLargeForSyncing())return;const i=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});const s=new r.Cm;s.add(n.onDidChangeContent((e=>{this._proxy.$acceptModelChanged(i.toString(),e)}))),s.add(n.onWillDispose((()=>{this._stopModelSync(i)}))),s.add((0,r.s)((()=>{this._proxy.$acceptRemovedModel(i)}))),this._syncedModels[i]=s}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],(0,r.AS)(t)}}class p{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}$acceptNewModel(e){this._models[e.url]=new _(s.r.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class _ extends g{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let n=0;n<this._lines.length;n++){const i=this._lines[n],r=this.offsetAt(new o.y(n+1,1)),s=i.matchAll(e);for(const e of s)(e.index||0===e.index)&&(e.index=e.index+r),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){const n=(0,l.Th)(e.column,(0,l.Io)(t),this._lines[e.lineNumber-1],0);return n?new a.Q(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){const t=this._lines,n=this._wordenize.bind(this);let i=0,r="",s=0,o=[];return{*[Symbol.iterator](){for(;;)if(s<o.length){const e=r.substring(o[s].start,o[s].end);s+=1,yield e}else{if(!(i<t.length))break;r=t[i],o=n(r,e),s=0,i+=1}}}}getLineWords(e,t){const n=this._lines[e-1],i=this._wordenize(n,t),r=[];for(const s of i)r.push({word:n.substring(s.start,s.end),startColumn:s.start+1,endColumn:s.end+1});return r}_wordenize(e,t){const n=[];let i;for(t.lastIndex=0;(i=t.exec(e))&&0!==i[0].length;)n.push({start:i.index,end:i.index+i[0].length});return n}getValueInRange(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);const t=this._eol,n=e.startLineNumber-1,i=e.endLineNumber-1,r=[];r.push(this._lines[n].substring(e.startColumn-1));for(let s=n+1;s<i;s++)r.push(this._lines[s]);return r.push(this._lines[i].substring(0,e.endColumn-1)),r.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();const 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){const 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(!o.y.isIPosition(e))throw new Error("bad position");let{lineNumber:t,column:n}=e,i=!1;if(t<1)t=1,n=1,i=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{const e=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>e&&(n=e,i=!0)}return i?{lineNumber:t,column:n}:e}}},5628:(e,t,n)=>{"use strict";n.r(t)},1504:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextResourceConfigurationService:()=>r,ITextResourcePropertiesService:()=>s});var i=n(2399);const r=(0,i.u1)("textResourceConfigurationService"),s=(0,i.u1)("textResourcePropertiesService")},5320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeSitterParserService:()=>i});const i=(0,n(2399).u1)("treeSitterParserService")},2603:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DraggedTreeItemsIdentifier:()=>r,TreeViewsDnDService:()=>i});class i{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class r{constructor(e){this.identifier=e}}},6756:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeViewsDnDService:()=>o});var i=n(4412),r=n(2399),s=n(2603);const o=(0,r.u1)("treeViewsDndService");(0,i.v)(o,s.TreeViewsDnDService,1)},9887:(e,t,n)=>{"use strict";n.r(t),n.d(t,{UnicodeTextModelHighlighter:()=>l});var i=n(8061),r=n(2389),s=n(6844),o=n(7110),a=n(8782);class l{static computeUnicodeHighlights(e,t,n){const l=n?n.startLineNumber:1,c=n?n.endLineNumber:e.getLineCount(),u=new h(t),d=u.getCandidateCodePoints();let g;var f;g="allNonBasicAscii"===d?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(""+(f=Array.from(d),`[${s.bm(f.map((e=>String.fromCodePoint(e))).join(""))}]`),"g");const m=new r.W5(null,g),p=[];let _,b=!1,k=0,v=0,C=0;e:for(let r=l,h=c;r<=h;r++){const t=e.getLineContent(r),n=t.length;m.reset(0);do{if(_=m.next(t),_){let e=_.index,l=_.index+_[0].length;if(e>0){const n=t.charCodeAt(e-1);s.pc(n)&&e--}if(l+1<n){const e=t.charCodeAt(l-1);s.pc(e)&&l++}const h=t.substring(e,l);let c=(0,a.Th)(e+1,a.Ld,t,0);c&&c.endColumn<=e+1&&(c=null);const d=u.shouldHighlightNonBasicASCII(h,c?c.word:null);if(0!==d){3===d?k++:2===d?v++:1===d?C++:(0,o.xb)(d);const t=1e3;if(p.length>=t){b=!0;break e}p.push(new i.Q(r,e+1,r,l+1))}}}while(_)}return{ranges:p,hasMore:b,ambiguousCharacterCount:k,invisibleCharacterCount:v,nonBasicAsciiCharacterCount:C}}static computeUnicodeHighlightReason(e,t){const n=new h(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const i=e.codePointAt(0),r=n.ambiguousCharacters.getPrimaryConfusable(i),o=s.tl.getLocales().filter((e=>!s.tl.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(i)));return{kind:0,confusableWith:String.fromCodePoint(r),notAmbiguousInLocales:o}}case 1:return{kind:2}}}}class h{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=s.tl.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of s.y_.codePoints)c(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let i=!1,r=!1;if(t)for(const o of t){const e=o.codePointAt(0),t=s.aC(o);i=i||t,t||this.ambiguousCharacters.isAmbiguous(e)||s.y_.isInvisibleCharacter(e)||(r=!0)}return!i&&r?0:this.options.invisibleCharacters&&!c(e)&&s.y_.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}}function c(e){return" "===e||"\n"===e||"\t"===e}},9204:(e,t,n)=>{var i={"./editorBaseApi":[1583],"./editorBaseApi.js":[1583],"./editorSimpleWorker":[1684],"./editorSimpleWorker.js":[1684],"./editorWorker":[304,792],"./editorWorker.js":[304,792],"./editorWorkerHost":[6358],"./editorWorkerHost.js":[6358],"./findSectionHeaders":[9307],"./findSectionHeaders.js":[9307],"./getIconClasses":[1048,792],"./getIconClasses.js":[1048,792],"./languageFeatureDebounce":[3591,792],"./languageFeatureDebounce.js":[3591,792],"./languageFeatures":[2230,792],"./languageFeatures.js":[2230,792],"./languageFeaturesService":[3704,792],"./languageFeaturesService.js":[3704,792],"./languageService":[5122,792],"./languageService.js":[5122,792],"./languagesAssociations":[5996,792],"./languagesAssociations.js":[5996,792],"./languagesRegistry":[6995,792],"./languagesRegistry.js":[6995,792],"./markerDecorations":[886,792],"./markerDecorations.js":[886,792],"./markerDecorationsService":[4109,792],"./markerDecorationsService.js":[4109,792],"./model":[4830,792],"./model.js":[4830,792],"./modelService":[1327,792],"./modelService.js":[1327,792],"./resolverService":[7042,792],"./resolverService.js":[7042,792],"./semanticTokensDto":[9376,792],"./semanticTokensDto.js":[9376,792],"./semanticTokensProviderStyling":[7642,792],"./semanticTokensProviderStyling.js":[7642,792],"./semanticTokensStyling":[2891,792],"./semanticTokensStyling.js":[2891,792],"./semanticTokensStylingService":[8148,792],"./semanticTokensStylingService.js":[8148,792],"./textModelSync/textModelSync.impl":[1507],"./textModelSync/textModelSync.impl.js":[1507],"./textModelSync/textModelSync.protocol":[5628,792],"./textModelSync/textModelSync.protocol.js":[5628,792],"./textResourceConfiguration":[1504,792],"./textResourceConfiguration.js":[1504,792],"./treeSitterParserService":[5320,792],"./treeSitterParserService.js":[5320,792],"./treeViewsDnd":[2603,792],"./treeViewsDnd.js":[2603,792],"./treeViewsDndService":[6756,792],"./treeViewsDndService.js":[6756,792],"./unicodeTextModelHighlighter":[9887],"./unicodeTextModelHighlighter.js":[9887],"monaco-editor/esm/vs/editor/common/services/editorBaseApi":[1583],"monaco-editor/esm/vs/editor/common/services/editorBaseApi.js":[1583],"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker":[1684],"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js":[1684],"monaco-editor/esm/vs/editor/common/services/editorWorker":[304,792],"monaco-editor/esm/vs/editor/common/services/editorWorker.js":[304,792],"monaco-editor/esm/vs/editor/common/services/editorWorkerHost":[6358],"monaco-editor/esm/vs/editor/common/services/editorWorkerHost.js":[6358],"monaco-editor/esm/vs/editor/common/services/findSectionHeaders":[9307],"monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js":[9307],"monaco-editor/esm/vs/editor/common/services/getIconClasses":[1048,792],"monaco-editor/esm/vs/editor/common/services/getIconClasses.js":[1048,792],"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce":[3591,792],"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js":[3591,792],"monaco-editor/esm/vs/editor/common/services/languageFeatures":[2230,792],"monaco-editor/esm/vs/editor/common/services/languageFeatures.js":[2230,792],"monaco-editor/esm/vs/editor/common/services/languageFeaturesService":[3704,792],"monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js":[3704,792],"monaco-editor/esm/vs/editor/common/services/languageService":[5122,792],"monaco-editor/esm/vs/editor/common/services/languageService.js":[5122,792],"monaco-editor/esm/vs/editor/common/services/languagesAssociations":[5996,792],"monaco-editor/esm/vs/editor/common/services/languagesAssociations.js":[5996,792],"monaco-editor/esm/vs/editor/common/services/languagesRegistry":[6995,792],"monaco-editor/esm/vs/editor/common/services/languagesRegistry.js":[6995,792],"monaco-editor/esm/vs/editor/common/services/markerDecorations":[886,792],"monaco-editor/esm/vs/editor/common/services/markerDecorations.js":[886,792],"monaco-editor/esm/vs/editor/common/services/markerDecorationsService":[4109,792],"monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js":[4109,792],"monaco-editor/esm/vs/editor/common/services/model":[4830,792],"monaco-editor/esm/vs/editor/common/services/model.js":[4830,792],"monaco-editor/esm/vs/editor/common/services/modelService":[1327,792],"monaco-editor/esm/vs/editor/common/services/modelService.js":[1327,792],"monaco-editor/esm/vs/editor/common/services/resolverService":[7042,792],"monaco-editor/esm/vs/editor/common/services/resolverService.js":[7042,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensDto":[9376,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js":[9376,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling":[7642,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js":[7642,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling":[2891,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js":[2891,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService":[8148,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js":[8148,792],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl":[1507],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl.js":[1507],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol":[5628,792],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol.js":[5628,792],"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration":[1504,792],"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js":[1504,792],"monaco-editor/esm/vs/editor/common/services/treeSitterParserService":[5320,792],"monaco-editor/esm/vs/editor/common/services/treeSitterParserService.js":[5320,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDnd":[2603,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js":[2603,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDndService":[6756,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js":[6756,792],"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter":[9887],"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js":[9887]};function r(e){if(!n.o(i,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=i[e],r=t[0];return Promise.all(t.slice(1).map(n.e)).then((()=>n(r)))}r.keys=()=>Object.keys(i),r.id=9204,e.exports=r},7614:(e,t,n)=>{var i={"./editorBaseApi":1583,"./editorBaseApi.js":1583,"./editorSimpleWorker":1684,"./editorSimpleWorker.js":1684,"./editorWorker":304,"./editorWorker.js":304,"./editorWorkerHost":6358,"./editorWorkerHost.js":6358,"./findSectionHeaders":9307,"./findSectionHeaders.js":9307,"./getIconClasses":1048,"./getIconClasses.js":1048,"./languageFeatureDebounce":3591,"./languageFeatureDebounce.js":3591,"./languageFeatures":2230,"./languageFeatures.js":2230,"./languageFeaturesService":3704,"./languageFeaturesService.js":3704,"./languageService":5122,"./languageService.js":5122,"./languagesAssociations":5996,"./languagesAssociations.js":5996,"./languagesRegistry":6995,"./languagesRegistry.js":6995,"./markerDecorations":886,"./markerDecorations.js":886,"./markerDecorationsService":4109,"./markerDecorationsService.js":4109,"./model":4830,"./model.js":4830,"./modelService":1327,"./modelService.js":1327,"./resolverService":7042,"./resolverService.js":7042,"./semanticTokensDto":9376,"./semanticTokensDto.js":9376,"./semanticTokensProviderStyling":7642,"./semanticTokensProviderStyling.js":7642,"./semanticTokensStyling":2891,"./semanticTokensStyling.js":2891,"./semanticTokensStylingService":8148,"./semanticTokensStylingService.js":8148,"./textModelSync/textModelSync.impl":1507,"./textModelSync/textModelSync.impl.js":1507,"./textModelSync/textModelSync.protocol":5628,"./textModelSync/textModelSync.protocol.js":5628,"./textResourceConfiguration":1504,"./textResourceConfiguration.js":1504,"./treeSitterParserService":5320,"./treeSitterParserService.js":5320,"./treeViewsDnd":2603,"./treeViewsDnd.js":2603,"./treeViewsDndService":6756,"./treeViewsDndService.js":6756,"./unicodeTextModelHighlighter":9887,"./unicodeTextModelHighlighter.js":9887,"monaco-editor/esm/vs/editor/common/services/editorBaseApi":1583,"monaco-editor/esm/vs/editor/common/services/editorBaseApi.js":1583,"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker":1684,"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js":1684,"monaco-editor/esm/vs/editor/common/services/editorWorker":304,"monaco-editor/esm/vs/editor/common/services/editorWorker.js":304,"monaco-editor/esm/vs/editor/common/services/editorWorkerHost":6358,"monaco-editor/esm/vs/editor/common/services/editorWorkerHost.js":6358,"monaco-editor/esm/vs/editor/common/services/findSectionHeaders":9307,"monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js":9307,"monaco-editor/esm/vs/editor/common/services/getIconClasses":1048,"monaco-editor/esm/vs/editor/common/services/getIconClasses.js":1048,"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce":3591,"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js":3591,"monaco-editor/esm/vs/editor/common/services/languageFeatures":2230,"monaco-editor/esm/vs/editor/common/services/languageFeatures.js":2230,"monaco-editor/esm/vs/editor/common/services/languageFeaturesService":3704,"monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js":3704,"monaco-editor/esm/vs/editor/common/services/languageService":5122,"monaco-editor/esm/vs/editor/common/services/languageService.js":5122,"monaco-editor/esm/vs/editor/common/services/languagesAssociations":5996,"monaco-editor/esm/vs/editor/common/services/languagesAssociations.js":5996,"monaco-editor/esm/vs/editor/common/services/languagesRegistry":6995,"monaco-editor/esm/vs/editor/common/services/languagesRegistry.js":6995,"monaco-editor/esm/vs/editor/common/services/markerDecorations":886,"monaco-editor/esm/vs/editor/common/services/markerDecorations.js":886,"monaco-editor/esm/vs/editor/common/services/markerDecorationsService":4109,"monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js":4109,"monaco-editor/esm/vs/editor/common/services/model":4830,"monaco-editor/esm/vs/editor/common/services/model.js":4830,"monaco-editor/esm/vs/editor/common/services/modelService":1327,"monaco-editor/esm/vs/editor/common/services/modelService.js":1327,"monaco-editor/esm/vs/editor/common/services/resolverService":7042,"monaco-editor/esm/vs/editor/common/services/resolverService.js":7042,"monaco-editor/esm/vs/editor/common/services/semanticTokensDto":9376,"monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js":9376,"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling":7642,"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js":7642,"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling":2891,"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js":2891,"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService":8148,"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js":8148,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl":1507,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl.js":1507,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol":5628,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol.js":5628,"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration":1504,"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js":1504,"monaco-editor/esm/vs/editor/common/services/treeSitterParserService":5320,"monaco-editor/esm/vs/editor/common/services/treeSitterParserService.js":5320,"monaco-editor/esm/vs/editor/common/services/treeViewsDnd":2603,"monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js":2603,"monaco-editor/esm/vs/editor/common/services/treeViewsDndService":6756,"monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js":6756,"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter":9887,"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js":9887};function r(e){var t=s(e);return n(t)}function s(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}r.keys=function(){return Object.keys(i)},r.resolve=s,e.exports=r,r.id=7614},7289:(e,t,n)=>{"use strict";function i(){return globalThis._VSCODE_NLS_LANGUAGE}n.d(t,{i8:()=>i,kg:()=>o});const r="pseudo"===i()||"undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function s(e,t){let n;return n=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,n)=>{const i=n[0],r=t[i];let s=e;return"string"==typeof r?s=r:"number"!=typeof r&&"boolean"!=typeof r&&null!=r||(s=String(r)),s})),r&&(n="\uff3b"+n.replace(/[aouei]/g,"$&$&")+"\uff3d"),n}function o(e,t,...n){return s("number"==typeof e?a(e,t):t,n)}function a(e,t){const n=globalThis._VSCODE_NLS_MESSAGES?.[e];if("string"!=typeof n){if("string"==typeof t)return t;throw new Error(`!!! NLS MISSING: ${e} !!!`)}return n}},5753:(e,t,n)=>{"use strict";n.d(t,{Mo:()=>r,pG:()=>i});const i=(0,n(2399).u1)("configurationService");function r(e){return e.replace(/[\[\]]/g,"")}},7142:(e,t,n)=>{"use strict";n.d(t,{Fd:()=>c});var i=n(3338),r=n(2106),s=n(9359),o=n(7289),a=n(5753),l=n(1460),h=n(7167);const c={Configuration:"base.contributions.configuration"},u={properties:{},patternProperties:{}},d={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},m={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},_="vscode://schemas/settings/resourceLanguage",b=h.O.as(l.F.JSONContribution);const k="\\[([^\\]]+)\\]",v=new RegExp(k,"g"),C=`^(${k})+$`,L=new RegExp(C);function w(e){const t=[];if(L.test(e)){let n=v.exec(e);for(;n?.length;){const i=n[1].trim();i&&t.push(i),n=v.exec(e)}}return(0,i.dM)(t)}const y=new class{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new r.vl,this._onDidUpdateConfiguration=new r.vl,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:o.kg("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},b.registerSchema(_,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const n=new Set;this.doRegisterConfigurations(e,t,n),b.registerSchema(_,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);const n=[];for(const{overrides:i,source:r}of e)for(const e in i){t.add(e);const s=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),o=i[e];if(s.configurationDefaultOverrides.push({value:o,source:r}),L.test(e)){const t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,o,r,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,r),n.push(...w(e))}else{const t=this.mergeDefaultConfigurationsForConfigurationProperty(e,o,r,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t;const n=this.configurationProperties[e];n&&(this.updatePropertyDefaultValue(e,n),this.updateSchema(e,n))}}this.doRegisterOverrideIdentifiers(n)}updateDefaultOverrideProperty(e,t,n){const i={type:"object",default:t.value,description:o.kg("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",(0,a.Mo)(e)),$ref:_,defaultDefaultValue:t.value,source:n,defaultValueSource:n};this.configurationProperties[e]=i,this.defaultLanguageConfigurationOverridesNode.properties[e]=i}mergeDefaultConfigurationsForOverrideIdentifier(e,t,n,i){const r=i?.value||{},o=i?.source??new Map;if(o instanceof Map){for(const e of Object.keys(t)){const i=t[e];if(s.Gv(i)&&(s.b0(r[e])||s.Gv(r[e]))){if(r[e]={...r[e]??{},...i},n)for(const t in i)o.set(`${e}.${t}`,n)}else r[e]=i,n?o.set(e,n):o.delete(e)}return{value:r,source:o}}console.error("objectConfigurationSources is not a Map")}mergeDefaultConfigurationsForConfigurationProperty(e,t,n,i){const r=this.configurationProperties[e],o=i?.value??r?.defaultDefaultValue;let a=n;if(s.Gv(t)&&(void 0!==r&&"object"===r.type||void 0===r&&(s.b0(o)||s.Gv(o)))){if(a=i?.source??new Map,!(a instanceof Map))return void console.error("defaultValueSource is not a Map");for(const i in t)n&&a.set(`${e}.${i}`,n);t={...s.Gv(o)?o:{},...t}}return{value:t,source:a}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach((e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,n),this.configurationContributors.push(e),this.registerJSONConfiguration(e)}))}validateAndRegisterProperties(e,t=!0,n,i,r=3,o){r=s.z(e.scope)?r:e.scope;const a=e.properties;if(a)for(const h in a){const e=a[h];t&&S(h,e)?delete a[h]:(e.source=n,e.defaultDefaultValue=a[h].default,this.updatePropertyDefaultValue(h,e),L.test(h)?e.scope=void 0:(e.scope=s.z(e.scope)?r:e.scope,e.restricted=s.z(e.restricted)?!!i?.includes(h):e.restricted),!a[h].hasOwnProperty("included")||a[h].included?(this.configurationProperties[h]=a[h],a[h].policy?.name&&this.policyConfigurations.set(a[h].policy.name,h),!a[h].deprecationMessage&&a[h].markdownDeprecationMessage&&(a[h].deprecationMessage=a[h].markdownDeprecationMessage),o.add(h)):(this.excludedConfigurationProperties[h]=a[h],delete a[h]))}const l=e.allOf;if(l)for(const s of l)this.validateAndRegisterProperties(s,t,n,i,r,o)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const n=e.properties;if(n)for(const t in n)this.updateSchema(t,n[t]);const i=e.allOf;i?.forEach(t)};t(e)}updateSchema(e,t){switch(u.properties[e]=t,t.scope){case 1:d.properties[e]=t;break;case 2:g.properties[e]=t;break;case 6:f.properties[e]=t;break;case 3:m.properties[e]=t;break;case 4:p.properties[e]=t;break;case 5:p.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,n={type:"object",description:o.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:_};this.updatePropertyDefaultValue(t,n),u.properties[t]=n,d.properties[t]=n,g.properties[t]=n,f.properties[t]=n,m.properties[t]=n,p.properties[t]=n}}registerOverridePropertyPatternKey(){const e={type:"object",description:o.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:_};u.patternProperties[C]=e,d.patternProperties[C]=e,g.patternProperties[C]=e,f.patternProperties[C]=e,m.patternProperties[C]=e,p.patternProperties[C]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const n=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue;let i,r;!n||t.disallowConfigurationDefault&&n.source||(i=n.value,r=n.source),s.b0(i)&&(i=t.defaultDefaultValue,r=void 0),s.b0(i)&&(i=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=i,t.defaultValueSource=r}};function S(e,t){return e.trim()?L.test(e)?o.kg("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==y.getConfigurationProperties()[e]?o.kg("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):t.policy?.name&&void 0!==y.getPolicyConfigurations().get(t.policy?.name)?o.kg("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,t.policy?.name,y.getPolicyConfigurations().get(t.policy?.name)):null:o.kg("config.property.empty","Cannot register an empty property")}h.O.add(c.Configuration,y)},4412:(e,t,n)=>{"use strict";n.d(t,{v:()=>s});class i{constructor(e,t=[],n=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=n}}const r=[];function s(e,t,n){t instanceof i||(t=new i(t,[],Boolean(n))),r.push([e,t])}},2399:(e,t,n)=>{"use strict";var i;n.d(t,{_Y:()=>r,u1:()=>s}),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(i||(i={}));const r=s("instantiationService");function s(e){if(i.serviceIds.has(e))return i.serviceIds.get(e);const t=function(e,n,r){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,n){t[i.DI_TARGET]===t?t[i.DI_DEPENDENCIES].push({id:e,index:n}):(t[i.DI_DEPENDENCIES]=[{id:e,index:n}],t[i.DI_TARGET]=t)}(t,e,r)};return t.toString=()=>e,i.serviceIds.set(e,t),t}},1460:(e,t,n)=>{"use strict";n.d(t,{F:()=>s});var i=n(2106),r=n(7167);const s={JSONContribution:"base.contributions.json"};const o=new class{constructor(){this._onDidChangeSchema=new i.vl,this.schemasById={}}registerSchema(e,t){var n;this.schemasById[(n=e,n.length>0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};r.O.add(s.JSONContribution,o)},2321:(e,t,n)=>{"use strict";n.d(t,{rr:()=>Q,$b:()=>Y});n(2106);var i=n(2446),r=n(3339),s=n(6844),o=n(4327),a=n(7289);function l(...e){switch(e.length){case 1:return(0,a.kg)("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",e[0]);case 2:return(0,a.kg)("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",e[0],e[1]);case 3:return(0,a.kg)("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}const h=(0,a.kg)("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),c=(0,a.kg)("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class u{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw(0,o.iH)(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map((e=>e.charCodeAt(0))))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();){this._start=this._current;switch(this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(l("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(l("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(l("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return!this._isAtEnd()&&(this._input.charCodeAt(this._current)===e&&(this._current++,!0))}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,n=this._input.substring(this._start,this._current),i={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(i)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),n=u._keywords.get(t);n?this._addToken(n):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(h):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let e=this._current,t=!1,n=!1;for(;;){if(e>=this._input.length)return this._current=e,void this._error(c);const i=this._input.charCodeAt(e);if(t)t=!1;else{if(47===i&&!n){e++;break}91===i?n=!0:92===i?t=!0:93===i&&(n=!1)}e++}for(;e<this._input.length&&u._regexFlags.has(this._input.charCodeAt(e));)e++;this._current=e;const i=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:i,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}var d=n(2399);const g=new Map;g.set("false",!1),g.set("true",!0),g.set("isMac",r.zx),g.set("isLinux",r.j9),g.set("isWindows",r.uF),g.set("isWeb",r.HZ),g.set("isMacNative",r.zx&&!r.HZ),g.set("isEdge",r.UP),g.set("isFirefox",r.gm),g.set("isChrome",r.H8),g.set("isSafari",r.nr);const f=Object.prototype.hasOwnProperty,m={regexParsingWithErrorRecovery:!0},p=(0,a.kg)("contextkey.parser.error.emptyString","Empty context key expression"),_=(0,a.kg)("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),b=(0,a.kg)("contextkey.parser.error.noInAfterNot","'in' after 'not'."),k=(0,a.kg)("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),v=(0,a.kg)("contextkey.parser.error.unexpectedToken","Unexpected token"),C=(0,a.kg)("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),L=(0,a.kg)("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),w=(0,a.kg)("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");class y{static{this._parseError=new Error}constructor(e=m){this._config=e,this._scanner=new u,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(""!==e){this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),t=17===e.type?C:void 0;throw this._parsingErrors.push({message:v,offset:e.offset,lexeme:u.getLexeme(e),additionalInfo:t}),y._parseError}return e}catch(t){if(t!==y._parseError)throw t;return}}else this._parsingErrors.push({message:p,offset:0,lexeme:"",additionalInfo:_})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:S.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:S.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),E.INSTANCE;case 12:return this._advance(),N.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,k),e?.negate()}case 17:return this._advance(),R.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),S.true();case 12:return this._advance(),S.false();case 0:{this._advance();const e=this._expr();return this._consume(1,k),e}case 17:{const i=e.lexeme;if(this._advance(),this._matchOne(9)){const e=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==e.type)throw this._errExpectedButGot("REGEX",e);const n=e.lexeme,r=n.lastIndexOf("/"),s=r===n.length-1?void 0:this._removeFlagsGY(n.substring(r+1));let o;try{o=new RegExp(n.substring(1,r),s)}catch(t){throw this._errExpectedButGot("REGEX",e)}return V.create(i,o)}switch(e.type){case 10:case 19:{const n=[e.lexeme];this._advance();let r=this._peek(),s=0;for(let t=0;t<e.lexeme.length;t++)40===e.lexeme.charCodeAt(t)?s++:41===e.lexeme.charCodeAt(t)&&s--;for(;!this._isAtEnd()&&15!==r.type&&16!==r.type;){switch(r.type){case 0:s++;break;case 1:s--;break;case 10:case 18:for(let t=0;t<r.lexeme.length;t++)40===r.lexeme.charCodeAt(t)?s++:41===e.lexeme.charCodeAt(t)&&s--}if(s<0)break;n.push(u.getLexeme(r)),this._advance(),r=this._peek()}const o=n.join(""),a=o.lastIndexOf("/"),l=a===o.length-1?void 0:this._removeFlagsGY(o.substring(a+1));let h;try{h=new RegExp(o.substring(1,a),l)}catch(t){throw this._errExpectedButGot("REGEX",e)}return S.regex(i,h)}case 18:{const t=e.lexeme;this._advance();let r=null;if(!(0,s.AV)(t)){const i=t.indexOf("/"),s=t.lastIndexOf("/");if(i!==s&&i>=0){const o=t.slice(i+1,s),a="i"===t[s+1]?"i":"";try{r=new RegExp(o,a)}catch(n){throw this._errExpectedButGot("REGEX",e)}}}if(null===r)throw this._errExpectedButGot("REGEX",e);return V.create(i,r)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,b);const e=this._value();return S.notIn(i,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return S.equals(i,e);switch(e){case"true":return S.has(i);case"false":return S.not(i);default:return S.equals(i,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return S.notEquals(i,e);switch(e){case"true":return S.not(i);case"false":return S.has(i);default:return S.notEquals(i,e)}}case 5:return this._advance(),P.create(i,this._value());case 6:return this._advance(),z.create(i,this._value());case 7:return this._advance(),B.create(i,this._value());case 8:return this._advance(),F.create(i,this._value());case 13:return this._advance(),S.in(i,this._value());default:return S.has(i)}}case 20:throw this._parsingErrors.push({message:L,offset:e.offset,lexeme:"",additionalInfo:w}),y._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,n){const i=(0,a.kg)("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,u.getLexeme(t)),r=t.offset,s=u.getLexeme(t);return this._parsingErrors.push({message:i,offset:r,lexeme:s,additionalInfo:n}),y._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}class S{static false(){return E.INSTANCE}static true(){return N.INSTANCE}static has(e){return I.create(e)}static equals(e,t){return T.create(e,t)}static notEquals(e,t){return M.create(e,t)}static regex(e,t){return V.create(e,t)}static in(e,t){return A.create(e,t)}static notIn(e,t){return D.create(e,t)}static not(e){return R.create(e)}static and(...e){return H.create(e,null,!0)}static or(...e){return U.create(e,null,!0)}static{this._parser=new y({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(null==e)return;return this._parser.parse(e)}}function x(e,t){return e.cmp(t)}class E{static{this.INSTANCE=new E}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return N.INSTANCE}}class N{static{this.INSTANCE=new N}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return E.INSTANCE}}class I{static create(e,t=null){const n=g.get(e);return"boolean"==typeof n?n?N.INSTANCE:E.INSTANCE:new I(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=g.get(this.key);return"boolean"==typeof e?e?N.INSTANCE:E.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=R.create(this.key,this)),this.negated}}class T{static create(e,t,n=null){if("boolean"==typeof t)return t?I.create(e,n):R.create(e,n);const i=g.get(e);if("boolean"==typeof i){return t===(i?"true":"false")?N.INSTANCE:E.INSTANCE}return new T(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=g.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?N.INSTANCE:E.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=M.create(this.key,this.value,this)),this.negated}}class A{static create(e,t){return new A(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&(this.key===e.key&&this.valueKey===e.valueKey)}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),n=e.getValue(this.key);return Array.isArray(t)?t.includes(n):"string"==typeof n&&"object"==typeof t&&null!==t&&f.call(t,n)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=D.create(this.key,this.valueKey)),this.negated}}class D{static create(e,t){return new D(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=A.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class M{static create(e,t,n=null){if("boolean"==typeof t)return t?R.create(e,n):I.create(e,n);const i=g.get(e);if("boolean"==typeof i){return t===(i?"true":"false")?E.INSTANCE:N.INSTANCE}return new M(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=g.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?E.INSTANCE:N.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=T.create(this.key,this.value,this)),this.negated}}class R{static create(e,t=null){const n=g.get(e);return"boolean"==typeof n?n?E.INSTANCE:N.INSTANCE:new R(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=g.get(this.key);return"boolean"==typeof e?e?E.INSTANCE:N.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=I.create(this.key,this)),this.negated}}function O(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):E.INSTANCE}class B{static create(e,t,n=null){return O(t,(t=>new B(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=z.create(this.key,this.value,this)),this.negated}}class F{static create(e,t,n=null){return O(t,(t=>new F(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=P.create(this.key,this.value,this)),this.negated}}class P{static create(e,t,n=null){return O(t,(t=>new P(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=F.create(this.key,this.value,this)),this.negated}}class z{static create(e,t,n=null){return O(t,(t=>new z(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:$(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=B.create(this.key,this.value,this)),this.negated}}class V{static create(e,t){return new V(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.key<e.key)return-1;if(this.key>e.key)return 1;const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return t<n?-1:t>n?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=W.create(this)),this.negated}}class W{static create(e){return new W(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function q(e){let t=null;for(let n=0,i=e.length;n<i;n++){const i=e[n].substituteConstants();if(e[n]!==i&&null===t){t=[];for(let i=0;i<n;i++)t[i]=e[i]}null!==t&&(t[n]=i)}return null===t?e:t}class H{static create(e,t,n){return H._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=6}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){const n=x(this.expr[t],e.expr[t]);if(0!==n)return n}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){const e=q(this.expr);return e===this.expr?this:H.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].evaluate(e))return!1;return!0}static _normalizeArr(e,t,n){const i=[];let r=!1;for(const s of e)if(s)if(1!==s.type){if(0===s.type)return E.INSTANCE;6!==s.type?i.push(s):i.push(...s.expr)}else r=!0;if(0===i.length&&r)return N.INSTANCE;if(0!==i.length){if(1===i.length)return i[0];i.sort(x);for(let e=1;e<i.length;e++)i[e-1].equals(i[e])&&(i.splice(e,1),e--);if(1===i.length)return i[0];for(;i.length>1;){const e=i[i.length-1];if(9!==e.type)break;i.pop();const t=i.pop(),r=0===i.length,s=U.create(e.expr.map((e=>H.create([e,t],null,n))),null,r);s&&(i.push(s),i.sort(x))}if(1===i.length)return i[0];if(n){for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++)if(i[e].negate().equals(i[t]))return E.INSTANCE;if(1===i.length)return i[0]}return new H(i,t)}}serialize(){return this.expr.map((e=>e.serialize())).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=U.create(e,this,!0)}return this.negated}}class U{static create(e,t,n){return U._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){const n=x(this.expr[t],e.expr[t]);if(0!==n)return n}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){const e=q(this.expr);return e===this.expr?this:U.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(this.expr[t].evaluate(e))return!0;return!1}static _normalizeArr(e,t,n){let i=[],r=!1;if(e){for(let t=0,n=e.length;t<n;t++){const n=e[t];if(n)if(0!==n.type){if(1===n.type)return N.INSTANCE;9!==n.type?i.push(n):i=i.concat(n.expr)}else r=!0}if(0===i.length&&r)return E.INSTANCE;i.sort(x)}if(0!==i.length){if(1===i.length)return i[0];for(let e=1;e<i.length;e++)i[e-1].equals(i[e])&&(i.splice(e,1),e--);if(1===i.length)return i[0];if(n){for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++)if(i[e].negate().equals(i[t]))return N.INSTANCE;if(1===i.length)return i[0]}return new U(i,t)}}serialize(){return this.expr.map((e=>e.serialize())).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),n=e.shift(),i=[];for(const e of G(t))for(const t of G(n))i.push(H.create([e,t],null,!1));e.unshift(U.create(i,null,!1))}this.negated=U.create(e,this,!0)}return this.negated}}class j extends I{static{this._info=[]}static all(){return j._info.values()}constructor(e,t,n){super(e,null),this._defaultValue=t,"object"==typeof n?j._info.push({...n,key:e}):!0!==n&&j._info.push({key:e,description:n,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return T.create(this.key,e)}}(0,d.u1)("contextKeyService");function K(e,t){return e<t?-1:e>t?1:0}function $(e,t,n,i){return e<n?-1:e>n?1:t<i?-1:t>i?1:0}function G(e){return 9===e.type?e.expr:[e]}const Q=(0,d.u1)("logService");var Y;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(Y||(Y={}));Y.Info;i.jG;new j("logLevel",function(e){switch(e){case Y.Trace:return"trace";case Y.Debug:return"debug";case Y.Info:return"info";case Y.Warning:return"warn";case Y.Error:return"error";case Y.Off:return"off"}}(Y.Info))},7167:(e,t,n)=>{"use strict";n.d(t,{O:()=>s});var i=n(7110),r=n(9359);const s=new class{constructor(){this.data=new Map}add(e,t){i.ok(r.Kg(e)),i.ok(r.Gv(t)),i.ok(!this.data.has(e),"There is already an extension with this id"),this.data.set(e,t)}as(e){return this.data.get(e)||null}}},9119:(e,t,n)=>{"use strict";n.d(t,{buw:()=>S,b1q:()=>y,YtV:()=>A,Ubg:()=>q,IIb:()=>V,pOz:()=>z,whs:()=>B,Stt:()=>P,Hng:()=>F,yLC:()=>le,KoI:()=>oe,uMG:()=>ae,x1A:()=>u});var i=n(7110),r=n(2866),s=n(4901),o=n(2106),a=n(1460),l=n(7167),h=n(7289);const c=new class{constructor(){this._onDidChangeSchema=new o.vl,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,n,i=!1,r){const s={id:e,description:n,defaults:t,needsTransparency:i,deprecationMessage:r};this.colorsById[e]=s;const o={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return r&&(o.deprecationMessage=r),i&&(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=h.kg("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:n,oneOf:[o,{type:"string",const:"default",description:h.kg("useDefault","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){const n=this.colorsById[e];if(n?.defaults){return _(null!==(i=n.defaults)&&"object"==typeof i&&"light"in i&&"dark"in i?n.defaults[t.type]:n.defaults,t)}var i}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{const n=-1===e.indexOf(".")?0:1,i=-1===t.indexOf(".")?0:1;return n!==i?n-i:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function u(e,t,n,i,r){return c.registerColor(e,t,n,i,r)}function d(e,t){return{op:0,value:e,factor:t}}function g(e,t){return{op:1,value:e,factor:t}}function f(e,t){return{op:2,value:e,factor:t}}function m(...e){return{op:4,values:e}}function p(e,t,n,i){return{op:5,value:e,background:t,factor:n,transparency:i}}function _(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?s.Q1.fromHex(e):t.getColor(e):e instanceof s.Q1?e:"object"==typeof e?function(e,t){switch(e.op){case 0:return _(e.value,t)?.darken(e.factor);case 1:return _(e.value,t)?.lighten(e.factor);case 2:return _(e.value,t)?.transparent(e.factor);case 3:{const n=_(e.background,t);return n?_(e.value,t)?.makeOpaque(n):_(e.value,t)}case 4:for(const n of e.values){const e=_(n,t);if(e)return e}return;case 6:return _(t.defines(e.if)?e.then:e.else,t);case 5:{const n=_(e.value,t);if(!n)return;const i=_(e.background,t);return i?n.isDarkerThan(i)?s.Q1.getLighterColor(n,i,e.factor).transparent(e.transparency):s.Q1.getDarkerColor(n,i,e.factor).transparent(e.transparency):n.transparent(e.factor*e.transparency)}default:throw(0,i.xb)(e)}}(e,t):void 0}l.O.add("base.contributions.colors",c);const b="vscode://schemas/workbench-colors",k=l.O.as(a.F.JSONContribution);k.registerSchema(b,c.getColorSchema());const v=new r.uC((()=>k.notifySchemaChanged(b)),200);c.onDidChangeSchema((()=>{v.isScheduled()||v.schedule()}));const C=u("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},h.kg("foreground","Overall foreground color. This color is only used if not overridden by a component.")),L=(u("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},h.kg("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),u("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},h.kg("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),u("descriptionForeground",{light:"#717171",dark:f(C,.7),hcDark:f(C,.7),hcLight:f(C,.7)},h.kg("descriptionForeground","Foreground color for description text providing additional information, for example for a label.")),u("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},h.kg("iconForeground","The default color for icons in the workbench."))),w=u("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},h.kg("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),y=u("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},h.kg("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),S=u("contrastActiveBorder",{light:null,dark:null,hcDark:w,hcLight:w},h.kg("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),x=(u("selection.background",null,h.kg("selectionBackground","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.")),u("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},h.kg("textLinkForeground","Foreground color for links in text.")),u("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},h.kg("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),u("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:s.Q1.black,hcLight:"#292929"},h.kg("textSeparatorForeground","Color for text separators.")),u("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},h.kg("textPreformatForeground","Foreground color for preformatted text segments.")),u("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},h.kg("textPreformatBackground","Background color for preformatted text segments.")),u("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},h.kg("textBlockQuoteBackground","Background color for block quotes in text.")),u("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:s.Q1.white,hcLight:"#292929"},h.kg("textBlockQuoteBorder","Border color for block quotes in text.")),u("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:s.Q1.black,hcLight:"#F2F2F2"},h.kg("textCodeBlockBackground","Background color for code blocks in text.")),u("sash.hoverBorder",w,h.kg("sashActiveBorder","Border color of active sashes.")),u("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:s.Q1.black,hcLight:"#0F4A85"},h.kg("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count."))),E=(u("badge.foreground",{dark:s.Q1.white,light:"#333",hcDark:s.Q1.white,hcLight:s.Q1.white},h.kg("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),u("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},h.kg("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled."))),N=u("scrollbarSlider.background",{dark:s.Q1.fromHex("#797979").transparent(.4),light:s.Q1.fromHex("#646464").transparent(.4),hcDark:f(y,.6),hcLight:f(y,.4)},h.kg("scrollbarSliderBackground","Scrollbar slider background color.")),I=u("scrollbarSlider.hoverBackground",{dark:s.Q1.fromHex("#646464").transparent(.7),light:s.Q1.fromHex("#646464").transparent(.7),hcDark:f(y,.8),hcLight:f(y,.8)},h.kg("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),T=u("scrollbarSlider.activeBackground",{dark:s.Q1.fromHex("#BFBFBF").transparent(.4),light:s.Q1.fromHex("#000000").transparent(.6),hcDark:y,hcLight:y},h.kg("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),A=(u("progressBar.background",{dark:s.Q1.fromHex("#0E70C0"),light:s.Q1.fromHex("#0E70C0"),hcDark:y,hcLight:y},h.kg("progressBarBackground","Background color of the progress bar that can show for long running operations.")),u("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("editorBackground","Editor background color."))),D=(u("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:s.Q1.white,hcLight:C},h.kg("editorForeground","Editor default foreground color.")),u("editorStickyScroll.background",A,h.kg("editorStickyScrollBackground","Background color of sticky scroll in the editor")),u("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},h.kg("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),u("editorStickyScroll.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("editorStickyScrollBorder","Border color of sticky scroll in the editor")),u("editorStickyScroll.shadow",E,h.kg("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor")),u("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:s.Q1.white},h.kg("editorWidgetBackground","Background color of editor widgets, such as find/replace."))),M=u("editorWidget.foreground",C,h.kg("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),R=u("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:y,hcLight:y},h.kg("editorWidgetBorder","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.")),O=(u("editorWidget.resizeBorder",null,h.kg("editorWidgetResizeBorder","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.")),u("editorError.background",null,h.kg("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},h.kg("editorError.foreground","Foreground color of error squigglies in the editor."))),B=(u("editorError.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},h.kg("errorBorder","If set, color of double underlines for errors in the editor.")),u("editorWarning.background",null,h.kg("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0)),F=u("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},h.kg("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),P=u("editorWarning.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#FFCC00").transparent(.8),hcLight:s.Q1.fromHex("#FFCC00").transparent(.8)},h.kg("warningBorder","If set, color of double underlines for warnings in the editor.")),z=(u("editorInfo.background",null,h.kg("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},h.kg("editorInfo.foreground","Foreground color of info squigglies in the editor."))),V=u("editorInfo.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},h.kg("infoBorder","If set, color of double underlines for infos in the editor.")),W=(u("editorHint.foreground",{dark:s.Q1.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},h.kg("editorHint.foreground","Foreground color of hint squigglies in the editor.")),u("editorHint.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},h.kg("hintBorder","If set, color of double underlines for hints in the editor.")),u("editorLink.activeForeground",{dark:"#4E94CE",light:s.Q1.blue,hcDark:s.Q1.cyan,hcLight:"#292929"},h.kg("activeLinkForeground","Color of active links.")),u("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},h.kg("editorSelectionBackground","Color of the editor selection."))),q=(u("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:s.Q1.white},h.kg("editorSelectionForeground","Color of the selected text for high contrast.")),u("editor.inactiveSelectionBackground",{light:f(W,.5),dark:f(W,.5),hcDark:f(W,.7),hcLight:f(W,.5)},h.kg("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.selectionHighlightBackground",{light:p(W,A,.3,.6),dark:p(W,A,.3,.6),hcDark:null,hcLight:null},h.kg("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:S,hcLight:S},h.kg("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),u("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},h.kg("editorFindMatch","Color of the current search match.")),u("editor.findMatchForeground",null,h.kg("editorFindMatchForeground","Text color of the current search match.")),u("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},h.kg("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0)),H=(u("editor.findMatchHighlightForeground",null,h.kg("findMatchHighlightForeground","Foreground color of the other search matches."),!0),u("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},h.kg("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.findMatchBorder",{light:null,dark:null,hcDark:S,hcLight:S},h.kg("editorFindMatchBorder","Border color of the current search match.")),u("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:S,hcLight:S},h.kg("findMatchHighlightBorder","Border color of the other search matches."))),U=(u("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:f(S,.4),hcLight:f(S,.4)},h.kg("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},h.kg("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorHoverWidget.background",D,h.kg("hoverBackground","Background color of the editor hover."))),j=(u("editorHoverWidget.foreground",M,h.kg("hoverForeground","Foreground color of the editor hover.")),u("editorHoverWidget.border",R,h.kg("hoverBorder","Border color of the editor hover.")),u("editorHoverWidget.statusBarBackground",{dark:g(U,.2),light:d(U,.05),hcDark:D,hcLight:D},h.kg("statusBarBackground","Background color of the editor hover status bar.")),u("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:s.Q1.white,hcLight:s.Q1.black},h.kg("editorInlayHintForeground","Foreground color of inline hints"))),K=u("editorInlayHint.background",{dark:f(x,.1),light:f(x,.1),hcDark:f(s.Q1.white,.1),hcLight:f(x,.1)},h.kg("editorInlayHintBackground","Background color of inline hints")),$=(u("editorInlayHint.typeForeground",j,h.kg("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),u("editorInlayHint.typeBackground",K,h.kg("editorInlayHintBackgroundTypes","Background color of inline hints for types")),u("editorInlayHint.parameterForeground",j,h.kg("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),u("editorInlayHint.parameterBackground",K,h.kg("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),u("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},h.kg("editorLightBulbForeground","The color used for the lightbulb actions icon."))),G=(u("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},h.kg("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),u("editorLightBulbAi.foreground",$,h.kg("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),u("editor.snippetTabstopHighlightBackground",{dark:new s.Q1(new s.bU(124,124,124,.3)),light:new s.Q1(new s.bU(10,50,100,.2)),hcDark:new s.Q1(new s.bU(124,124,124,.3)),hcLight:new s.Q1(new s.bU(10,50,100,.2))},h.kg("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),u("editor.snippetTabstopHighlightBorder",null,h.kg("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),u("editor.snippetFinalTabstopHighlightBackground",null,h.kg("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),u("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new s.Q1(new s.bU(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},h.kg("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet.")),new s.Q1(new s.bU(155,185,85,.2))),Q=new s.Q1(new s.bU(255,0,0,.2)),Y=(u("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},h.kg("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},h.kg("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.insertedLineBackground",{dark:G,light:G,hcDark:null,hcLight:null},h.kg("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.removedLineBackground",{dark:Q,light:Q,hcDark:null,hcLight:null},h.kg("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditorGutter.insertedLineBackground",null,h.kg("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),u("diffEditorGutter.removedLineBackground",null,h.kg("diffEditorRemovedLineGutter","Background color for the margin where lines got removed.")),u("diffEditorOverview.insertedForeground",null,h.kg("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),u("diffEditorOverview.removedForeground",null,h.kg("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content.")),u("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},h.kg("diffEditorInsertedOutline","Outline color for the text that got inserted.")),u("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},h.kg("diffEditorRemovedOutline","Outline color for text that got removed.")),u("diffEditor.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("diffEditorBorder","Border color between the two text editors.")),u("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},h.kg("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),u("diffEditor.unchangedRegionBackground","sideBar.background",h.kg("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),u("diffEditor.unchangedRegionForeground","foreground",h.kg("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),u("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},h.kg("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor.")),u("widget.shadow",{dark:f(s.Q1.black,.36),light:f(s.Q1.black,.16),hcDark:null,hcLight:null},h.kg("widgetShadow","Shadow color of widgets such as find/replace inside the editor."))),X=(u("widget.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("widgetBorder","Border color of widgets such as find/replace inside the editor.")),u("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},h.kg("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"))),Z=(u("toolbar.hoverOutline",{dark:null,light:null,hcDark:S,hcLight:S},h.kg("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),u("toolbar.activeBackground",{dark:g(X,.1),light:d(X,.1),hcDark:null,hcLight:null},h.kg("toolbarActiveBackground","Toolbar background when holding the mouse over actions")),u("breadcrumb.foreground",f(C,.8),h.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),u("breadcrumb.background",A,h.kg("breadcrumbsBackground","Background color of breadcrumb items.")),u("breadcrumb.focusForeground",{light:d(C,.2),dark:g(C,.1),hcDark:g(C,.1),hcLight:g(C,.1)},h.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),u("breadcrumb.activeSelectionForeground",{light:d(C,.2),dark:g(C,.1),hcDark:g(C,.1),hcLight:g(C,.1)},h.kg("breadcrumbsSelectedForeground","Color of selected breadcrumb items.")),u("breadcrumbPicker.background",D,h.kg("breadcrumbsSelectedBackground","Background color of breadcrumb item picker.")),s.Q1.fromHex("#40C8AE").transparent(.5)),J=s.Q1.fromHex("#40A6FF").transparent(.5),ee=s.Q1.fromHex("#606060").transparent(.4),te=u("merge.currentHeaderBackground",{dark:Z,light:Z,hcDark:null,hcLight:null},h.kg("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),ne=(u("merge.currentContentBackground",f(te,.4),h.kg("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.incomingHeaderBackground",{dark:J,light:J,hcDark:null,hcLight:null},h.kg("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),ie=(u("merge.incomingContentBackground",f(ne,.4),h.kg("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.commonHeaderBackground",{dark:ee,light:ee,hcDark:null,hcLight:null},h.kg("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),re=(u("merge.commonContentBackground",f(ie,.4),h.kg("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},h.kg("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."))),se=(u("editorOverviewRuler.currentContentForeground",{dark:f(te,1),light:f(te,1),hcDark:re,hcLight:re},h.kg("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.incomingContentForeground",{dark:f(ne,1),light:f(ne,1),hcDark:re,hcLight:re},h.kg("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.commonContentForeground",{dark:f(ie,1),light:f(ie,1),hcDark:re,hcLight:re},h.kg("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},h.kg("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",h.kg("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),u("problemsErrorIcon.foreground",O,h.kg("problemsErrorIconForeground","The color used for the problems error icon.")),u("problemsWarningIcon.foreground",F,h.kg("problemsWarningIconForeground","The color used for the problems warning icon.")),u("problemsInfoIcon.foreground",z,h.kg("problemsInfoIconForeground","The color used for the problems info icon.")),u("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},h.kg("minimapFindMatchHighlight","Minimap marker color for find matches."),!0)),oe=(u("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},h.kg("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),u("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},h.kg("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),u("minimap.infoHighlight",{dark:z,light:z,hcDark:V,hcLight:V},h.kg("minimapInfo","Minimap marker color for infos."))),ae=u("minimap.warningHighlight",{dark:F,light:F,hcDark:P,hcLight:P},h.kg("overviewRuleWarning","Minimap marker color for warnings.")),le=u("minimap.errorHighlight",{dark:new s.Q1(new s.bU(255,18,18,.7)),light:new s.Q1(new s.bU(255,18,18,.7)),hcDark:new s.Q1(new s.bU(255,50,50,1)),hcLight:"#B5200D"},h.kg("minimapError","Minimap marker color for errors.")),he=(u("minimap.background",null,h.kg("minimapBackground","Minimap background color.")),u("minimap.foregroundOpacity",s.Q1.fromHex("#000f"),h.kg("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),u("minimapSlider.background",f(N,.5),h.kg("minimapSliderBackground","Minimap slider background color.")),u("minimapSlider.hoverBackground",f(I,.5),h.kg("minimapSliderHoverBackground","Minimap slider background color when hovering.")),u("minimapSlider.activeBackground",f(T,.5),h.kg("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),u("charts.foreground",C,h.kg("chartsForeground","The foreground color used in charts.")),u("charts.lines",f(C,.5),h.kg("chartsLines","The color used for horizontal lines in charts.")),u("charts.red",O,h.kg("chartsRed","The red color used in chart visualizations.")),u("charts.blue",z,h.kg("chartsBlue","The blue color used in chart visualizations.")),u("charts.yellow",F,h.kg("chartsYellow","The yellow color used in chart visualizations.")),u("charts.orange",se,h.kg("chartsOrange","The orange color used in chart visualizations.")),u("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},h.kg("chartsGreen","The green color used in chart visualizations.")),u("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},h.kg("chartsPurple","The purple color used in chart visualizations.")),u("input.background",{dark:"#3C3C3C",light:s.Q1.white,hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("inputBoxBackground","Input box background.")),u("input.foreground",C,h.kg("inputBoxForeground","Input box foreground.")),u("input.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("inputBoxBorder","Input box border.")),u("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:y,hcLight:y},h.kg("inputBoxActiveOptionBorder","Border color of activated options in input fields."))),ce=u("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},h.kg("inputOption.hoverBackground","Background color of activated options in input fields.")),ue=u("inputOption.activeBackground",{dark:f(w,.4),light:f(w,.2),hcDark:s.Q1.transparent,hcLight:s.Q1.transparent},h.kg("inputOption.activeBackground","Background hover color of options in input fields.")),de=u("inputOption.activeForeground",{dark:s.Q1.white,light:s.Q1.black,hcDark:C,hcLight:C},h.kg("inputOption.activeForeground","Foreground color of activated options in input fields.")),ge=(u("input.placeholderForeground",{light:f(C,.5),dark:f(C,.5),hcDark:f(C,.7),hcLight:f(C,.7)},h.kg("inputPlaceholderForeground","Input box foreground color for placeholder text.")),u("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("inputValidationInfoBackground","Input validation background color for information severity.")),u("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:C},h.kg("inputValidationInfoForeground","Input validation foreground color for information severity.")),u("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:y,hcLight:y},h.kg("inputValidationInfoBorder","Input validation border color for information severity.")),u("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("inputValidationWarningBackground","Input validation background color for warning severity.")),u("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:C},h.kg("inputValidationWarningForeground","Input validation foreground color for warning severity.")),u("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:y,hcLight:y},h.kg("inputValidationWarningBorder","Input validation border color for warning severity.")),u("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("inputValidationErrorBackground","Input validation background color for error severity.")),u("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:C},h.kg("inputValidationErrorForeground","Input validation foreground color for error severity.")),u("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:y,hcLight:y},h.kg("inputValidationErrorBorder","Input validation border color for error severity.")),u("dropdown.background",{dark:"#3C3C3C",light:s.Q1.white,hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("dropdownBackground","Dropdown background."))),fe=(u("dropdown.listBackground",{dark:null,light:null,hcDark:s.Q1.black,hcLight:s.Q1.white},h.kg("dropdownListBackground","Dropdown list background.")),u("dropdown.foreground",{dark:"#F0F0F0",light:C,hcDark:s.Q1.white,hcLight:C},h.kg("dropdownForeground","Dropdown foreground."))),me=u("dropdown.border",{dark:ge,light:"#CECECE",hcDark:y,hcLight:y},h.kg("dropdownBorder","Dropdown border.")),pe=u("button.foreground",s.Q1.white,h.kg("buttonForeground","Button foreground color.")),_e=(u("button.separator",f(pe,.4),h.kg("buttonSeparator","Button separator color.")),u("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},h.kg("buttonBackground","Button background color."))),be=(u("button.hoverBackground",{dark:g(_e,.2),light:d(_e,.2),hcDark:_e,hcLight:_e},h.kg("buttonHoverBackground","Button background color when hovering.")),u("button.border",y,h.kg("buttonBorder","Button border color.")),u("button.secondaryForeground",{dark:s.Q1.white,light:s.Q1.white,hcDark:s.Q1.white,hcLight:C},h.kg("buttonSecondaryForeground","Secondary button foreground color.")),u("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:s.Q1.white},h.kg("buttonSecondaryBackground","Secondary button background color."))),ke=(u("button.secondaryHoverBackground",{dark:g(be,.2),light:d(be,.2),hcDark:null,hcLight:null},h.kg("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),u("radio.activeForeground",de,h.kg("radioActiveForeground","Foreground color of active radio option."))),ve=(u("radio.activeBackground",ue,h.kg("radioBackground","Background color of active radio option.")),u("radio.activeBorder",he,h.kg("radioActiveBorder","Border color of the active radio option.")),u("radio.inactiveForeground",null,h.kg("radioInactiveForeground","Foreground color of inactive radio option.")),u("radio.inactiveBackground",null,h.kg("radioInactiveBackground","Background color of inactive radio option.")),u("radio.inactiveBorder",{light:f(ke,.2),dark:f(ke,.2),hcDark:f(ke,.4),hcLight:f(ke,.2)},h.kg("radioInactiveBorder","Border color of the inactive radio option.")),u("radio.inactiveHoverBackground",ce,h.kg("radioHoverBackground","Background color of inactive active radio option when hovering.")),u("checkbox.background",ge,h.kg("checkbox.background","Background color of checkbox widget.")),u("checkbox.selectBackground",D,h.kg("checkbox.select.background","Background color of checkbox widget when the element it's in is selected.")),u("checkbox.foreground",fe,h.kg("checkbox.foreground","Foreground color of checkbox widget.")),u("checkbox.border",me,h.kg("checkbox.border","Border color of checkbox widget.")),u("checkbox.selectBorder",L,h.kg("checkbox.select.border","Border color of checkbox widget when the element it's in is selected.")),u("keybindingLabel.background",{dark:new s.Q1(new s.bU(128,128,128,.17)),light:new s.Q1(new s.bU(221,221,221,.4)),hcDark:s.Q1.transparent,hcLight:s.Q1.transparent},h.kg("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.foreground",{dark:s.Q1.fromHex("#CCCCCC"),light:s.Q1.fromHex("#555555"),hcDark:s.Q1.white,hcLight:C},h.kg("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.border",{dark:new s.Q1(new s.bU(51,51,51,.6)),light:new s.Q1(new s.bU(204,204,204,.4)),hcDark:new s.Q1(new s.bU(111,195,223)),hcLight:y},h.kg("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.bottomBorder",{dark:new s.Q1(new s.bU(68,68,68,.6)),light:new s.Q1(new s.bU(187,187,187,.4)),hcDark:new s.Q1(new s.bU(111,195,223)),hcLight:C},h.kg("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),u("list.focusBackground",null,h.kg("listFocusBackground","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.")),u("list.focusForeground",null,h.kg("listFocusForeground","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.")),u("list.focusOutline",{dark:w,light:w,hcDark:S,hcLight:S},h.kg("listFocusOutline","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.")),u("list.focusAndSelectionOutline",null,h.kg("listFocusAndSelectionOutline","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.")),u("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},h.kg("listActiveSelectionBackground","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."))),Ce=u("list.activeSelectionForeground",{dark:s.Q1.white,light:s.Q1.white,hcDark:null,hcLight:null},h.kg("listActiveSelectionForeground","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.")),Le=u("list.activeSelectionIconForeground",null,h.kg("listActiveSelectionIconForeground","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.")),we=(u("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},h.kg("listInactiveSelectionBackground","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.")),u("list.inactiveSelectionForeground",null,h.kg("listInactiveSelectionForeground","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.")),u("list.inactiveSelectionIconForeground",null,h.kg("listInactiveSelectionIconForeground","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.")),u("list.inactiveFocusBackground",null,h.kg("listInactiveFocusBackground","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.")),u("list.inactiveFocusOutline",null,h.kg("listInactiveFocusOutline","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.")),u("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:s.Q1.white.transparent(.1),hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},h.kg("listHoverBackground","List/Tree background when hovering over items using the mouse.")),u("list.hoverForeground",null,h.kg("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),u("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},h.kg("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),u("list.dropBetweenBackground",{dark:L,light:L,hcDark:null,hcLight:null},h.kg("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),u("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:w,hcLight:w},h.kg("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")));u("list.focusHighlightForeground",{dark:we,light:(ye=ve,Se=we,xe="#BBE7FF",{op:6,if:ye,then:Se,else:xe}),hcDark:we,hcLight:we},h.kg("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var ye,Se,xe;u("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},h.kg("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),u("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},h.kg("listErrorForeground","Foreground color of list items containing errors.")),u("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},h.kg("listWarningForeground","Foreground color of list items containing warnings.")),u("listFilterWidget.background",{light:d(D,0),dark:g(D,0),hcDark:D,hcLight:D},h.kg("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),u("listFilterWidget.outline",{dark:s.Q1.transparent,light:s.Q1.transparent,hcDark:"#f38518",hcLight:"#007ACC"},h.kg("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),u("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:y,hcLight:y},h.kg("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),u("listFilterWidget.shadow",Y,h.kg("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees.")),u("list.filterMatchBackground",{dark:q,light:q,hcDark:null,hcLight:null},h.kg("listFilterMatchHighlight","Background color of the filtered match.")),u("list.filterMatchBorder",{dark:H,light:H,hcDark:y,hcLight:S},h.kg("listFilterMatchHighlightBorder","Border color of the filtered match.")),u("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},h.kg("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const Ee=u("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},h.kg("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),Ne=(u("tree.inactiveIndentGuidesStroke",f(Ee,.4),h.kg("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),u("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},h.kg("tableColumnsBorder","Table border color between columns.")),u("tree.tableOddRowsBackground",{dark:f(C,.04),light:f(C,.04),hcDark:null,hcLight:null},h.kg("tableOddRowsBackgroundColor","Background color for odd table rows.")),u("editorActionList.background",D,h.kg("editorActionListBackground","Action List background color.")),u("editorActionList.foreground",M,h.kg("editorActionListForeground","Action List foreground color.")),u("editorActionList.focusForeground",Ce,h.kg("editorActionListFocusForeground","Action List foreground color for the focused item.")),u("editorActionList.focusBackground",ve,h.kg("editorActionListFocusBackground","Action List background color for the focused item.")),u("menu.border",{dark:null,light:null,hcDark:y,hcLight:y},h.kg("menuBorder","Border color of menus.")),u("menu.foreground",fe,h.kg("menuForeground","Foreground color of menu items.")),u("menu.background",ge,h.kg("menuBackground","Background color of menu items.")),u("menu.selectionForeground",Ce,h.kg("menuSelectionForeground","Foreground color of the selected menu item in menus.")),u("menu.selectionBackground",ve,h.kg("menuSelectionBackground","Background color of the selected menu item in menus.")),u("menu.selectionBorder",{dark:null,light:null,hcDark:S,hcLight:S},h.kg("menuSelectionBorder","Border color of the selected menu item in menus.")),u("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:y,hcLight:y},h.kg("menuSeparatorBackground","Color of a separator menu item in menus.")),u("quickInput.background",D,h.kg("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),u("quickInput.foreground",M,h.kg("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),u("quickInputTitle.background",{dark:new s.Q1(new s.bU(255,255,255,.105)),light:new s.Q1(new s.bU(0,0,0,.06)),hcDark:"#000000",hcLight:s.Q1.white},h.kg("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),u("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:s.Q1.white,hcLight:"#0F4A85"},h.kg("pickerGroupForeground","Quick picker color for grouping labels.")),u("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:s.Q1.white,hcLight:"#0F4A85"},h.kg("pickerGroupBorder","Quick picker color for grouping borders.")),u("quickInput.list.focusBackground",null,"",void 0,h.kg("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")));u("quickInputList.focusForeground",Ce,h.kg("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),u("quickInputList.focusIconForeground",Le,h.kg("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),u("quickInputList.focusBackground",{dark:m(Ne,ve),light:m(Ne,ve),hcDark:null,hcLight:null},h.kg("quickInput.listFocusBackground","Quick picker background color for the focused item.")),u("search.resultsInfoForeground",{light:C,dark:f(C,.65),hcDark:C,hcLight:C},h.kg("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),u("searchEditor.findMatchBackground",{light:f(q,.66),dark:f(q,.66),hcDark:q,hcLight:q},h.kg("searchEditor.queryMatch","Color of the Search Editor query matches.")),u("searchEditor.findMatchBorder",{light:f(H,.66),dark:f(H,.66),hcDark:H,hcLight:H},h.kg("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."))},6001:(e,t,n)=>{"use strict";n.d(t,{Gy:()=>l,zy:()=>u,Yf:()=>h});var i,r=n(2106),s=n(2446),o=n(2399),a=n(7167);!function(e){e.DARK="dark",e.LIGHT="light",e.HIGH_CONTRAST_DARK="hcDark",e.HIGH_CONTRAST_LIGHT="hcLight"}(i||(i={}));const l=(0,o.u1)("themeService");function h(e){return{id:e}}const c=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new r.vl}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),(0,s.s)((()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function u(e){return c.onColorThemeChange(e)}a.O.add("base.contributions.theming",c);s.jG}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.e=()=>Promise.resolve(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e=n(5585),t=n(1684),i=n(6358);let r=!1;globalThis.onmessage=n=>{r||function(n){if(r)return;r=!0;const s=new e.SimpleWorkerServer((e=>{globalThis.postMessage(e)}),(e=>new t.EditorSimpleWorker(i.EditorWorkerHost.getChannel(e),n)));globalThis.onmessage=e=>{s.onmessage(e.data)}}(null)}})()})(); \ No newline at end of file diff --git a/examples/timing.html b/examples/timing.html index 5e26aeaa..71bc1f6e 100644 --- a/examples/timing.html +++ b/examples/timing.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Thanks to<!-- --> <a href="https://build.fhir.org/datatypes.html#Timing">FHIR HL7</a> <!-- -->for the examples</p></div></div><table><thead><th>Summary</th><th></th></thead><tbody><tr><td>Every 8 hours</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">8</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Every 7 days</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">7</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>3 times a day</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>3-4 times a day</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequencyMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Every 4-6 hours</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">6</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Every 21 days for 1 hour</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">21</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Three times a week for 0.5 hour</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0.5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wk"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>With breakfast</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"CM"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>For 5 minutes, 10 minutes before meals</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"AC"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">10</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>1 tablet 3 times daily, 30 minutes before meals</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"tablet"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"AC"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">30</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>BID, 30 mins before meal, for next 10 days</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"AC"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">30</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsDuration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">10</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>TID, for 14 days</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsDuration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">14</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>BID, start on 7/1/2015 at 1:00 PM</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-07-01T13:00:00"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Mon, Wed, Fri Morning</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"dayOfWeek"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mon"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wed"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"fri"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Every day at 10am</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timeOfDay"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"10:00:00"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Take once, at any time</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"count"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Take every second day, in the morning, until 20 have been taken</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"count"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr></tbody></table></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Thanks to<!-- --> <a href="https://build.fhir.org/datatypes.html#Timing">FHIR HL7</a> <!-- -->for the examples</p></div></div><table><thead><th>Summary</th><th></th></thead><tbody><tr><td>Every 8 hours</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">8</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Every 7 days</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">7</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>3 times a day</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>3-4 times a day</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequencyMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Every 4-6 hours</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodMax"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">6</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Every 21 days for 1 hour</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">21</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Three times a week for 0.5 hour</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0.5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"h"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wk"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>With breakfast</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"CM"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>For 5 minutes, 10 minutes before meals</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"duration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">5</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"durationUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"AC"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">10</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>1 tablet 3 times daily, 30 minutes before meals</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseAndRate"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"doseQuantity"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"tablet"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"AC"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">30</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>BID, 30 mins before meal, for next 10 days</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"AC"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"offset"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">30</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsDuration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">10</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>TID, for 14 days</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsDuration"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">14</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"code"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"system"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://hl7.org/fhir/ValueSet/duration-units"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>BID, start on 7/1/2015 at 1:00 PM</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"boundsPeriod"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"start"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2015-07-01T13:00:00"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Mon, Wed, Fri Morning</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"dayOfWeek"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mon"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"wed"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"fri"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Every day at 10am</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timeOfDay"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"10:00:00"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Take once, at any time</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"count"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr><tr><td>Take every second day, in the morning, until 20 have been taken</td><td><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Human readable text</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Dosage</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div><div style="display:flex"><select style="margin-right:10px"><option value="en" selected="">English</option><option value="fr">French</option><option value="nl">Dutch</option><option value="de">German</option></select><button>Confirm</button></div><div style="margin-top:10px"><div class="language-markup codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-markup codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"timing"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"repeat"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"frequency"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"period"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"periodUnit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"d"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"when"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">"MORN"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token property" style="color:#36acaa">"count"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></td></tr></tbody></table></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/index.html b/index.html index d8f00f5c..0fac4d9a 100644 --- a/index.html +++ b/index.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><header class="hero hero--primary heroBanner_UJJx"><div class="container"><h1 class="hero__title">FHIR Dosage Utils</h1><p class="hero__subtitle">From Data to Understandable Text and More</p><div class="buttons_pzbO"><a class="button button--outline button--secondary button--lg" href="/fhir-dosage-utils/docs/quick-start">Get Started</a></div></div></header><main><section class="features_keug"><div class="container"><div class="row"><div class="col col--4"><div class="text--center"><img class="featureImage_yA8i" src="/fhir-dosage-utils/img/undraw_firmware_re_fgdy.svg" alt="User-Centered Approach"></div><h3 class="text--center">User-Centered Approach</h3><p class="text--center">Turn <a href="https://build.fhir.org/dosage.html">FHIR Dosage</a> into human readable text in your wanted language, and much more</p></div><div class="col col--4"><div class="text--center"><img class="featureImage_yA8i" src="/fhir-dosage-utils/img/gear-tools.svg" alt="Configurable"></div><h3 class="text--center">Configurable</h3><p class="text--center"><a href="https://www.i18next.com/">Internationalization</a>, easily adaptable and extendable to accommodate your requirements, ...</p></div><div class="col col--4"><div class="text--center"><img class="featureImage_yA8i" src="/fhir-dosage-utils/img/opensource-icon.svg" alt="Open source"></div><h3 class="text--center">Open source</h3><p class="text--center">Want to improve this plugin ? We welcome your<!-- --> <a href="https://github.com/jy95/fhir-dosage-utils">contributions</a> !</p></div></div></div></section></main></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><header class="hero hero--primary heroBanner_UJJx"><div class="container"><h1 class="hero__title">FHIR Dosage Utils</h1><p class="hero__subtitle">From Data to Understandable Text and More</p><div class="buttons_pzbO"><a class="button button--outline button--secondary button--lg" href="/fhir-dosage-utils/docs/quick-start">Get Started</a></div></div></header><main><section class="features_keug"><div class="container"><div class="row"><div class="col col--4"><div class="text--center"><img class="featureImage_yA8i" src="/fhir-dosage-utils/img/undraw_firmware_re_fgdy.svg" alt="User-Centered Approach"></div><h3 class="text--center">User-Centered Approach</h3><p class="text--center">Turn <a href="https://build.fhir.org/dosage.html">FHIR Dosage</a> into human readable text in your wanted language, and much more</p></div><div class="col col--4"><div class="text--center"><img class="featureImage_yA8i" src="/fhir-dosage-utils/img/gear-tools.svg" alt="Configurable"></div><h3 class="text--center">Configurable</h3><p class="text--center"><a href="https://www.i18next.com/">Internationalization</a>, easily adaptable and extendable to accommodate your requirements, ...</p></div><div class="col col--4"><div class="text--center"><img class="featureImage_yA8i" src="/fhir-dosage-utils/img/opensource-icon.svg" alt="Open source"></div><h3 class="text--center">Open source</h3><p class="text--center">Want to improve this plugin ? We welcome your<!-- --> <a href="https://github.com/jy95/fhir-dosage-utils">contributions</a> !</p></div></div></div></section></main></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/json.worker.js b/json.worker.js index a8054b05..c5d4e112 100644 --- a/json.worker.js +++ b/json.worker.js @@ -1,2 +1,2 @@ /*! For license information please see json.worker.js.LICENSE.txt */ -(()=>{var e={3338:(e,t,n)=>{"use strict";function r(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(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*i(e,t){let n,r;for(const i of e)void 0!==r&&t(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}function s(e,t){for(let n=0;n<=e.length;n++)t(0===n?void 0:e[n-1],n===e.length?void 0:e[n])}function o(e,t){for(let n=0;n<e.length;n++)t(0===n?void 0:e[n-1],e[n],n+1===e.length?void 0:e[n+1])}function a(e,t=e=>e){const n=new Set;return e.filter((e=>{const r=t(e);return!n.has(r)&&(n.add(r),!0)}))}function l(e,t){return e.length>0?e[0]:t}function c(e,t,n){const r=e.slice(0,t),i=e.slice(t);return r.concat(n,i)}function h(e,t){for(const n of t)e.push(n)}var u;function d(e,t){return(n,r)=>t(e(n),e(r))}n.d(t,{E4:()=>h,Fy:()=>l,Hw:()=>f,U9:()=>g,VE:()=>d,aI:()=>r,c1:()=>p,dM:()=>a,j3:()=>m,kj:()=>o,n:()=>i,nK:()=>c,pN:()=>s}),function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(u||(u={}));const g=(e,t)=>e-t;function f(e){return(t,n)=>-e(t,n)}class m{constructor(e){this.items=e,this.firstIdx=0,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++;const n=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,n}takeFromEndWhile(e){let t=this.lastIdx;for(;t>=0&&e(this.items[t]);)t--;const n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class p{static{this.empty=new p((e=>{}))}constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new p((t=>this.iterate((n=>!e(n)||t(n)))))}map(e){return new p((t=>this.iterate((n=>t(e(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||u.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0))),t}}},7393:(e,t,n)=>{"use strict";function r(e,t){const n=function(e,t,n=e.length-1){for(let r=n;r>=0;r--){if(t(e[r]))return r}return-1}(e,t);if(-1!==n)return e[n]}function i(e,t){const n=s(e,t);return-1===n?void 0:e[n]}function s(e,t,n=0,r=e.length){let i=n,s=r;for(;i<s;){const n=Math.floor((i+s)/2);t(e[n])?i=n+1:s=n}return i-1}function o(e,t){const n=a(e,t);return n===e.length?void 0:e[n]}function a(e,t,n=0,r=e.length){let i=n,s=r;for(;i<s;){const n=Math.floor((i+s)/2);t(e[n])?s=n:i=n+1}return i}n.d(t,{Uk:()=>r,XP:()=>o,hw:()=>a,iM:()=>s,lx:()=>i,vJ:()=>l});class l{static{this.assertInvariants=!1}constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(l.assertInvariants){if(this._prevFindLastPredicate)for(const t of this._array)if(this._prevFindLastPredicate(t)&&!e(t))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.");this._prevFindLastPredicate=e}const t=s(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,-1===t?void 0:this._array[t]}}},7110:(e,t,n)=>{"use strict";n.d(t,{Ft:()=>o,Xo:()=>a,ok:()=>i,xb:()=>s});var r=n(4327);function i(e,t){if(!e)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function s(e,t="Unreachable"){throw new Error(t)}function o(e){e()||(e(),(0,r.dz)(new r.D7("Assertion Failed")))}function a(e,t){let n=0;for(;n<e.length-1;){if(!t(e[n],e[n+1]))return!1;n++}return!0}},2866:(e,t,n)=>{"use strict";n.d(t,{vb:()=>l,uC:()=>c,Qg:()=>a,$6:()=>h});n(8903);var r=n(4327),i=n(2106),s=n(2446),o=n(3339);Symbol("MicrotaskDelay");function a(e){return!!e&&"function"==typeof e.then}class l{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new r.D7("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const i=n.setInterval((()=>{e()}),t);this.disposable=(0,s.s)((()=>{n.clearInterval(i),this.disposable=void 0}))}dispose(){this.cancel(),this.isDisposed=!0}}class c{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}let h,u;u="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{(0,o._p)((()=>{if(n)return;const e=Date.now()+15,r={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(r))}));let n=!1;return{dispose(){n||(n=!0)}}}:(e,t,n)=>{const r=e.requestIdleCallback(t,"number"==typeof n?{timeout:n}:void 0);let i=!1;return{dispose(){i||(i=!0,e.cancelIdleCallback(r))}}},h=e=>u(globalThis,e);var d;!function(e){e.settled=async function(e){let t;const n=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return n},e.withAsyncBody=function(e){return new Promise((async(t,n)=>{try{await e(t,n)}catch(r){n(r)}}))}}(d||(d={}));class g{static fromArray(e){return new g((t=>{t.emitMany(e)}))}static fromPromise(e){return new g((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new g((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new g((async t=>{await Promise.all(e.map((async e=>{for await(const n of e)t.emitOne(n)})))}))}static{this.EMPTY=g.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new i.vl,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(n){this.reject(n)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(1===this._state)return{done:!0,value:void 0};await i.Jh.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new g((async n=>{for await(const r of e)n.emitOne(t(r))}))}map(e){return g.map(this,e)}static filter(e,t){return new g((async n=>{for await(const r of e)t(r)&&n.emitOne(r)}))}filter(e){return g.filter(this,e)}static coalesce(e){return g.filter(e,(e=>!!e))}coalesce(){return g.coalesce(this)}static async toPromise(e){const t=[];for await(const n of e)t.push(n);return t}toPromise(){return g.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}},2802:(e,t,n)=>{"use strict";n.d(t,{$l:()=>a,Gs:()=>d,MB:()=>o,Sw:()=>h,bb:()=>c,gN:()=>l,pJ:()=>u});var r=n(3946);const i="undefined"!=typeof Buffer;new r.d((()=>new Uint8Array(256)));let s;class o{static wrap(e){return i&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new o(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return i?this.buffer.toString():(s||(s=new TextDecoder),s.decode(this.buffer))}}function a(e,t){return(e[t+0]|0)>>>0|e[t+1]<<8>>>0}function l(e,t,n){e[n+0]=255&t,t>>>=8,e[n+1]=255&t}function c(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function h(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function u(e,t){return e[t]}function d(e,t,n){e[n]=t}},6260:(e,t,n)=>{"use strict";function r(e){return e}n.d(t,{VV:()=>s,o5:()=>i});class i{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,"function"==typeof e?(this._fn=e,this._computeKey=r):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class s{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,"function"==typeof e?(this._fn=e,this._computeKey=r):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const n=this._fn(e);return this._map.set(e,n),this._map2.set(t,n),n}}},8903:(e,t,n)=>{"use strict";n.d(t,{Qi:()=>a});var r=n(2106);const i=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var s;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof o||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Jh.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i})}(s||(s={}));class o{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.vl),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class a{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token instanceof o&&this._token.cancel():this._token=s.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof o&&this._token.dispose():this._token=s.None}}},8391:(e,t,n)=>{"use strict";n.d(t,{W:()=>o});var r=n(9359);const i=Object.create(null);function s(e,t){if((0,r.Kg)(t)){const n=i[t];if(void 0===n)throw new Error(`${e} references an unknown codicon: ${t}`);t=n}return i[e]=t,{id:e}}const o={...{add:s("add",6e4),plus:s("plus",6e4),gistNew:s("gist-new",6e4),repoCreate:s("repo-create",6e4),lightbulb:s("lightbulb",60001),lightBulb:s("light-bulb",60001),repo:s("repo",60002),repoDelete:s("repo-delete",60002),gistFork:s("gist-fork",60003),repoForked:s("repo-forked",60003),gitPullRequest:s("git-pull-request",60004),gitPullRequestAbandoned:s("git-pull-request-abandoned",60004),recordKeys:s("record-keys",60005),keyboard:s("keyboard",60005),tag:s("tag",60006),gitPullRequestLabel:s("git-pull-request-label",60006),tagAdd:s("tag-add",60006),tagRemove:s("tag-remove",60006),person:s("person",60007),personFollow:s("person-follow",60007),personOutline:s("person-outline",60007),personFilled:s("person-filled",60007),gitBranch:s("git-branch",60008),gitBranchCreate:s("git-branch-create",60008),gitBranchDelete:s("git-branch-delete",60008),sourceControl:s("source-control",60008),mirror:s("mirror",60009),mirrorPublic:s("mirror-public",60009),star:s("star",60010),starAdd:s("star-add",60010),starDelete:s("star-delete",60010),starEmpty:s("star-empty",60010),comment:s("comment",60011),commentAdd:s("comment-add",60011),alert:s("alert",60012),warning:s("warning",60012),search:s("search",60013),searchSave:s("search-save",60013),logOut:s("log-out",60014),signOut:s("sign-out",60014),logIn:s("log-in",60015),signIn:s("sign-in",60015),eye:s("eye",60016),eyeUnwatch:s("eye-unwatch",60016),eyeWatch:s("eye-watch",60016),circleFilled:s("circle-filled",60017),primitiveDot:s("primitive-dot",60017),closeDirty:s("close-dirty",60017),debugBreakpoint:s("debug-breakpoint",60017),debugBreakpointDisabled:s("debug-breakpoint-disabled",60017),debugHint:s("debug-hint",60017),terminalDecorationSuccess:s("terminal-decoration-success",60017),primitiveSquare:s("primitive-square",60018),edit:s("edit",60019),pencil:s("pencil",60019),info:s("info",60020),issueOpened:s("issue-opened",60020),gistPrivate:s("gist-private",60021),gitForkPrivate:s("git-fork-private",60021),lock:s("lock",60021),mirrorPrivate:s("mirror-private",60021),close:s("close",60022),removeClose:s("remove-close",60022),x:s("x",60022),repoSync:s("repo-sync",60023),sync:s("sync",60023),clone:s("clone",60024),desktopDownload:s("desktop-download",60024),beaker:s("beaker",60025),microscope:s("microscope",60025),vm:s("vm",60026),deviceDesktop:s("device-desktop",60026),file:s("file",60027),fileText:s("file-text",60027),more:s("more",60028),ellipsis:s("ellipsis",60028),kebabHorizontal:s("kebab-horizontal",60028),mailReply:s("mail-reply",60029),reply:s("reply",60029),organization:s("organization",60030),organizationFilled:s("organization-filled",60030),organizationOutline:s("organization-outline",60030),newFile:s("new-file",60031),fileAdd:s("file-add",60031),newFolder:s("new-folder",60032),fileDirectoryCreate:s("file-directory-create",60032),trash:s("trash",60033),trashcan:s("trashcan",60033),history:s("history",60034),clock:s("clock",60034),folder:s("folder",60035),fileDirectory:s("file-directory",60035),symbolFolder:s("symbol-folder",60035),logoGithub:s("logo-github",60036),markGithub:s("mark-github",60036),github:s("github",60036),terminal:s("terminal",60037),console:s("console",60037),repl:s("repl",60037),zap:s("zap",60038),symbolEvent:s("symbol-event",60038),error:s("error",60039),stop:s("stop",60039),variable:s("variable",60040),symbolVariable:s("symbol-variable",60040),array:s("array",60042),symbolArray:s("symbol-array",60042),symbolModule:s("symbol-module",60043),symbolPackage:s("symbol-package",60043),symbolNamespace:s("symbol-namespace",60043),symbolObject:s("symbol-object",60043),symbolMethod:s("symbol-method",60044),symbolFunction:s("symbol-function",60044),symbolConstructor:s("symbol-constructor",60044),symbolBoolean:s("symbol-boolean",60047),symbolNull:s("symbol-null",60047),symbolNumeric:s("symbol-numeric",60048),symbolNumber:s("symbol-number",60048),symbolStructure:s("symbol-structure",60049),symbolStruct:s("symbol-struct",60049),symbolParameter:s("symbol-parameter",60050),symbolTypeParameter:s("symbol-type-parameter",60050),symbolKey:s("symbol-key",60051),symbolText:s("symbol-text",60051),symbolReference:s("symbol-reference",60052),goToFile:s("go-to-file",60052),symbolEnum:s("symbol-enum",60053),symbolValue:s("symbol-value",60053),symbolRuler:s("symbol-ruler",60054),symbolUnit:s("symbol-unit",60054),activateBreakpoints:s("activate-breakpoints",60055),archive:s("archive",60056),arrowBoth:s("arrow-both",60057),arrowDown:s("arrow-down",60058),arrowLeft:s("arrow-left",60059),arrowRight:s("arrow-right",60060),arrowSmallDown:s("arrow-small-down",60061),arrowSmallLeft:s("arrow-small-left",60062),arrowSmallRight:s("arrow-small-right",60063),arrowSmallUp:s("arrow-small-up",60064),arrowUp:s("arrow-up",60065),bell:s("bell",60066),bold:s("bold",60067),book:s("book",60068),bookmark:s("bookmark",60069),debugBreakpointConditionalUnverified:s("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:s("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:s("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:s("debug-breakpoint-data-unverified",60072),debugBreakpointData:s("debug-breakpoint-data",60073),debugBreakpointDataDisabled:s("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:s("debug-breakpoint-log-unverified",60074),debugBreakpointLog:s("debug-breakpoint-log",60075),debugBreakpointLogDisabled:s("debug-breakpoint-log-disabled",60075),briefcase:s("briefcase",60076),broadcast:s("broadcast",60077),browser:s("browser",60078),bug:s("bug",60079),calendar:s("calendar",60080),caseSensitive:s("case-sensitive",60081),check:s("check",60082),checklist:s("checklist",60083),chevronDown:s("chevron-down",60084),chevronLeft:s("chevron-left",60085),chevronRight:s("chevron-right",60086),chevronUp:s("chevron-up",60087),chromeClose:s("chrome-close",60088),chromeMaximize:s("chrome-maximize",60089),chromeMinimize:s("chrome-minimize",60090),chromeRestore:s("chrome-restore",60091),circleOutline:s("circle-outline",60092),circle:s("circle",60092),debugBreakpointUnverified:s("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:s("terminal-decoration-incomplete",60092),circleSlash:s("circle-slash",60093),circuitBoard:s("circuit-board",60094),clearAll:s("clear-all",60095),clippy:s("clippy",60096),closeAll:s("close-all",60097),cloudDownload:s("cloud-download",60098),cloudUpload:s("cloud-upload",60099),code:s("code",60100),collapseAll:s("collapse-all",60101),colorMode:s("color-mode",60102),commentDiscussion:s("comment-discussion",60103),creditCard:s("credit-card",60105),dash:s("dash",60108),dashboard:s("dashboard",60109),database:s("database",60110),debugContinue:s("debug-continue",60111),debugDisconnect:s("debug-disconnect",60112),debugPause:s("debug-pause",60113),debugRestart:s("debug-restart",60114),debugStart:s("debug-start",60115),debugStepInto:s("debug-step-into",60116),debugStepOut:s("debug-step-out",60117),debugStepOver:s("debug-step-over",60118),debugStop:s("debug-stop",60119),debug:s("debug",60120),deviceCameraVideo:s("device-camera-video",60121),deviceCamera:s("device-camera",60122),deviceMobile:s("device-mobile",60123),diffAdded:s("diff-added",60124),diffIgnored:s("diff-ignored",60125),diffModified:s("diff-modified",60126),diffRemoved:s("diff-removed",60127),diffRenamed:s("diff-renamed",60128),diff:s("diff",60129),diffSidebyside:s("diff-sidebyside",60129),discard:s("discard",60130),editorLayout:s("editor-layout",60131),emptyWindow:s("empty-window",60132),exclude:s("exclude",60133),extensions:s("extensions",60134),eyeClosed:s("eye-closed",60135),fileBinary:s("file-binary",60136),fileCode:s("file-code",60137),fileMedia:s("file-media",60138),filePdf:s("file-pdf",60139),fileSubmodule:s("file-submodule",60140),fileSymlinkDirectory:s("file-symlink-directory",60141),fileSymlinkFile:s("file-symlink-file",60142),fileZip:s("file-zip",60143),files:s("files",60144),filter:s("filter",60145),flame:s("flame",60146),foldDown:s("fold-down",60147),foldUp:s("fold-up",60148),fold:s("fold",60149),folderActive:s("folder-active",60150),folderOpened:s("folder-opened",60151),gear:s("gear",60152),gift:s("gift",60153),gistSecret:s("gist-secret",60154),gist:s("gist",60155),gitCommit:s("git-commit",60156),gitCompare:s("git-compare",60157),compareChanges:s("compare-changes",60157),gitMerge:s("git-merge",60158),githubAction:s("github-action",60159),githubAlt:s("github-alt",60160),globe:s("globe",60161),grabber:s("grabber",60162),graph:s("graph",60163),gripper:s("gripper",60164),heart:s("heart",60165),home:s("home",60166),horizontalRule:s("horizontal-rule",60167),hubot:s("hubot",60168),inbox:s("inbox",60169),issueReopened:s("issue-reopened",60171),issues:s("issues",60172),italic:s("italic",60173),jersey:s("jersey",60174),json:s("json",60175),kebabVertical:s("kebab-vertical",60176),key:s("key",60177),law:s("law",60178),lightbulbAutofix:s("lightbulb-autofix",60179),linkExternal:s("link-external",60180),link:s("link",60181),listOrdered:s("list-ordered",60182),listUnordered:s("list-unordered",60183),liveShare:s("live-share",60184),loading:s("loading",60185),location:s("location",60186),mailRead:s("mail-read",60187),mail:s("mail",60188),markdown:s("markdown",60189),megaphone:s("megaphone",60190),mention:s("mention",60191),milestone:s("milestone",60192),gitPullRequestMilestone:s("git-pull-request-milestone",60192),mortarBoard:s("mortar-board",60193),move:s("move",60194),multipleWindows:s("multiple-windows",60195),mute:s("mute",60196),noNewline:s("no-newline",60197),note:s("note",60198),octoface:s("octoface",60199),openPreview:s("open-preview",60200),package:s("package",60201),paintcan:s("paintcan",60202),pin:s("pin",60203),play:s("play",60204),run:s("run",60204),plug:s("plug",60205),preserveCase:s("preserve-case",60206),preview:s("preview",60207),project:s("project",60208),pulse:s("pulse",60209),question:s("question",60210),quote:s("quote",60211),radioTower:s("radio-tower",60212),reactions:s("reactions",60213),references:s("references",60214),refresh:s("refresh",60215),regex:s("regex",60216),remoteExplorer:s("remote-explorer",60217),remote:s("remote",60218),remove:s("remove",60219),replaceAll:s("replace-all",60220),replace:s("replace",60221),repoClone:s("repo-clone",60222),repoForcePush:s("repo-force-push",60223),repoPull:s("repo-pull",60224),repoPush:s("repo-push",60225),report:s("report",60226),requestChanges:s("request-changes",60227),rocket:s("rocket",60228),rootFolderOpened:s("root-folder-opened",60229),rootFolder:s("root-folder",60230),rss:s("rss",60231),ruby:s("ruby",60232),saveAll:s("save-all",60233),saveAs:s("save-as",60234),save:s("save",60235),screenFull:s("screen-full",60236),screenNormal:s("screen-normal",60237),searchStop:s("search-stop",60238),server:s("server",60240),settingsGear:s("settings-gear",60241),settings:s("settings",60242),shield:s("shield",60243),smiley:s("smiley",60244),sortPrecedence:s("sort-precedence",60245),splitHorizontal:s("split-horizontal",60246),splitVertical:s("split-vertical",60247),squirrel:s("squirrel",60248),starFull:s("star-full",60249),starHalf:s("star-half",60250),symbolClass:s("symbol-class",60251),symbolColor:s("symbol-color",60252),symbolConstant:s("symbol-constant",60253),symbolEnumMember:s("symbol-enum-member",60254),symbolField:s("symbol-field",60255),symbolFile:s("symbol-file",60256),symbolInterface:s("symbol-interface",60257),symbolKeyword:s("symbol-keyword",60258),symbolMisc:s("symbol-misc",60259),symbolOperator:s("symbol-operator",60260),symbolProperty:s("symbol-property",60261),wrench:s("wrench",60261),wrenchSubaction:s("wrench-subaction",60261),symbolSnippet:s("symbol-snippet",60262),tasklist:s("tasklist",60263),telescope:s("telescope",60264),textSize:s("text-size",60265),threeBars:s("three-bars",60266),thumbsdown:s("thumbsdown",60267),thumbsup:s("thumbsup",60268),tools:s("tools",60269),triangleDown:s("triangle-down",60270),triangleLeft:s("triangle-left",60271),triangleRight:s("triangle-right",60272),triangleUp:s("triangle-up",60273),twitter:s("twitter",60274),unfold:s("unfold",60275),unlock:s("unlock",60276),unmute:s("unmute",60277),unverified:s("unverified",60278),verified:s("verified",60279),versions:s("versions",60280),vmActive:s("vm-active",60281),vmOutline:s("vm-outline",60282),vmRunning:s("vm-running",60283),watch:s("watch",60284),whitespace:s("whitespace",60285),wholeWord:s("whole-word",60286),window:s("window",60287),wordWrap:s("word-wrap",60288),zoomIn:s("zoom-in",60289),zoomOut:s("zoom-out",60290),listFilter:s("list-filter",60291),listFlat:s("list-flat",60292),listSelection:s("list-selection",60293),selection:s("selection",60293),listTree:s("list-tree",60294),debugBreakpointFunctionUnverified:s("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:s("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:s("debug-breakpoint-function-disabled",60296),debugStackframeActive:s("debug-stackframe-active",60297),circleSmallFilled:s("circle-small-filled",60298),debugStackframeDot:s("debug-stackframe-dot",60298),terminalDecorationMark:s("terminal-decoration-mark",60298),debugStackframe:s("debug-stackframe",60299),debugStackframeFocused:s("debug-stackframe-focused",60299),debugBreakpointUnsupported:s("debug-breakpoint-unsupported",60300),symbolString:s("symbol-string",60301),debugReverseContinue:s("debug-reverse-continue",60302),debugStepBack:s("debug-step-back",60303),debugRestartFrame:s("debug-restart-frame",60304),debugAlt:s("debug-alt",60305),callIncoming:s("call-incoming",60306),callOutgoing:s("call-outgoing",60307),menu:s("menu",60308),expandAll:s("expand-all",60309),feedback:s("feedback",60310),gitPullRequestReviewer:s("git-pull-request-reviewer",60310),groupByRefType:s("group-by-ref-type",60311),ungroupByRefType:s("ungroup-by-ref-type",60312),account:s("account",60313),gitPullRequestAssignee:s("git-pull-request-assignee",60313),bellDot:s("bell-dot",60314),debugConsole:s("debug-console",60315),library:s("library",60316),output:s("output",60317),runAll:s("run-all",60318),syncIgnored:s("sync-ignored",60319),pinned:s("pinned",60320),githubInverted:s("github-inverted",60321),serverProcess:s("server-process",60322),serverEnvironment:s("server-environment",60323),pass:s("pass",60324),issueClosed:s("issue-closed",60324),stopCircle:s("stop-circle",60325),playCircle:s("play-circle",60326),record:s("record",60327),debugAltSmall:s("debug-alt-small",60328),vmConnect:s("vm-connect",60329),cloud:s("cloud",60330),merge:s("merge",60331),export:s("export",60332),graphLeft:s("graph-left",60333),magnet:s("magnet",60334),notebook:s("notebook",60335),redo:s("redo",60336),checkAll:s("check-all",60337),pinnedDirty:s("pinned-dirty",60338),passFilled:s("pass-filled",60339),circleLargeFilled:s("circle-large-filled",60340),circleLarge:s("circle-large",60341),circleLargeOutline:s("circle-large-outline",60341),combine:s("combine",60342),gather:s("gather",60342),table:s("table",60343),variableGroup:s("variable-group",60344),typeHierarchy:s("type-hierarchy",60345),typeHierarchySub:s("type-hierarchy-sub",60346),typeHierarchySuper:s("type-hierarchy-super",60347),gitPullRequestCreate:s("git-pull-request-create",60348),runAbove:s("run-above",60349),runBelow:s("run-below",60350),notebookTemplate:s("notebook-template",60351),debugRerun:s("debug-rerun",60352),workspaceTrusted:s("workspace-trusted",60353),workspaceUntrusted:s("workspace-untrusted",60354),workspaceUnknown:s("workspace-unknown",60355),terminalCmd:s("terminal-cmd",60356),terminalDebian:s("terminal-debian",60357),terminalLinux:s("terminal-linux",60358),terminalPowershell:s("terminal-powershell",60359),terminalTmux:s("terminal-tmux",60360),terminalUbuntu:s("terminal-ubuntu",60361),terminalBash:s("terminal-bash",60362),arrowSwap:s("arrow-swap",60363),copy:s("copy",60364),personAdd:s("person-add",60365),filterFilled:s("filter-filled",60366),wand:s("wand",60367),debugLineByLine:s("debug-line-by-line",60368),inspect:s("inspect",60369),layers:s("layers",60370),layersDot:s("layers-dot",60371),layersActive:s("layers-active",60372),compass:s("compass",60373),compassDot:s("compass-dot",60374),compassActive:s("compass-active",60375),azure:s("azure",60376),issueDraft:s("issue-draft",60377),gitPullRequestClosed:s("git-pull-request-closed",60378),gitPullRequestDraft:s("git-pull-request-draft",60379),debugAll:s("debug-all",60380),debugCoverage:s("debug-coverage",60381),runErrors:s("run-errors",60382),folderLibrary:s("folder-library",60383),debugContinueSmall:s("debug-continue-small",60384),beakerStop:s("beaker-stop",60385),graphLine:s("graph-line",60386),graphScatter:s("graph-scatter",60387),pieChart:s("pie-chart",60388),bracket:s("bracket",60175),bracketDot:s("bracket-dot",60389),bracketError:s("bracket-error",60390),lockSmall:s("lock-small",60391),azureDevops:s("azure-devops",60392),verifiedFilled:s("verified-filled",60393),newline:s("newline",60394),layout:s("layout",60395),layoutActivitybarLeft:s("layout-activitybar-left",60396),layoutActivitybarRight:s("layout-activitybar-right",60397),layoutPanelLeft:s("layout-panel-left",60398),layoutPanelCenter:s("layout-panel-center",60399),layoutPanelJustify:s("layout-panel-justify",60400),layoutPanelRight:s("layout-panel-right",60401),layoutPanel:s("layout-panel",60402),layoutSidebarLeft:s("layout-sidebar-left",60403),layoutSidebarRight:s("layout-sidebar-right",60404),layoutStatusbar:s("layout-statusbar",60405),layoutMenubar:s("layout-menubar",60406),layoutCentered:s("layout-centered",60407),target:s("target",60408),indent:s("indent",60409),recordSmall:s("record-small",60410),errorSmall:s("error-small",60411),terminalDecorationError:s("terminal-decoration-error",60411),arrowCircleDown:s("arrow-circle-down",60412),arrowCircleLeft:s("arrow-circle-left",60413),arrowCircleRight:s("arrow-circle-right",60414),arrowCircleUp:s("arrow-circle-up",60415),layoutSidebarRightOff:s("layout-sidebar-right-off",60416),layoutPanelOff:s("layout-panel-off",60417),layoutSidebarLeftOff:s("layout-sidebar-left-off",60418),blank:s("blank",60419),heartFilled:s("heart-filled",60420),map:s("map",60421),mapHorizontal:s("map-horizontal",60421),foldHorizontal:s("fold-horizontal",60421),mapFilled:s("map-filled",60422),mapHorizontalFilled:s("map-horizontal-filled",60422),foldHorizontalFilled:s("fold-horizontal-filled",60422),circleSmall:s("circle-small",60423),bellSlash:s("bell-slash",60424),bellSlashDot:s("bell-slash-dot",60425),commentUnresolved:s("comment-unresolved",60426),gitPullRequestGoToChanges:s("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:s("git-pull-request-new-changes",60428),searchFuzzy:s("search-fuzzy",60429),commentDraft:s("comment-draft",60430),send:s("send",60431),sparkle:s("sparkle",60432),insert:s("insert",60433),mic:s("mic",60434),thumbsdownFilled:s("thumbsdown-filled",60435),thumbsupFilled:s("thumbsup-filled",60436),coffee:s("coffee",60437),snake:s("snake",60438),game:s("game",60439),vr:s("vr",60440),chip:s("chip",60441),piano:s("piano",60442),music:s("music",60443),micFilled:s("mic-filled",60444),repoFetch:s("repo-fetch",60445),copilot:s("copilot",60446),lightbulbSparkle:s("lightbulb-sparkle",60447),robot:s("robot",60448),sparkleFilled:s("sparkle-filled",60449),diffSingle:s("diff-single",60450),diffMultiple:s("diff-multiple",60451),surroundWith:s("surround-with",60452),share:s("share",60453),gitStash:s("git-stash",60454),gitStashApply:s("git-stash-apply",60455),gitStashPop:s("git-stash-pop",60456),vscode:s("vscode",60457),vscodeInsiders:s("vscode-insiders",60458),codeOss:s("code-oss",60459),runCoverage:s("run-coverage",60460),runAllCoverage:s("run-all-coverage",60461),coverage:s("coverage",60462),githubProject:s("github-project",60463),mapVertical:s("map-vertical",60464),foldVertical:s("fold-vertical",60464),mapVerticalFilled:s("map-vertical-filled",60465),foldVerticalFilled:s("fold-vertical-filled",60465),goToSearch:s("go-to-search",60466),percentage:s("percentage",60467),sortPercentage:s("sort-percentage",60467),attach:s("attach",60468)},...{dialogError:s("dialog-error","error"),dialogWarning:s("dialog-warning","warning"),dialogInfo:s("dialog-info","info"),dialogClose:s("dialog-close","close"),treeItemExpanded:s("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:s("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:s("tree-filter-on-type-off","list-selection"),treeFilterClear:s("tree-filter-clear","close"),treeItemLoading:s("tree-item-loading","loading"),menuSelection:s("menu-selection","check"),menuSubmenu:s("menu-submenu","chevron-right"),menuBarMore:s("menubar-more","more"),scrollbarButtonLeft:s("scrollbar-button-left","triangle-left"),scrollbarButtonRight:s("scrollbar-button-right","triangle-right"),scrollbarButtonUp:s("scrollbar-button-up","triangle-up"),scrollbarButtonDown:s("scrollbar-button-down","triangle-down"),toolBarMore:s("toolbar-more","more"),quickInputBack:s("quick-input-back","arrow-left"),dropDownButton:s("drop-down-button",60084),symbolCustomColor:s("symbol-customcolor",60252),exportIcon:s("export",60332),workspaceUnspecified:s("workspace-unspecified",60355),newLine:s("newline",60394),thumbsDownFilled:s("thumbsdown-filled",60435),thumbsUpFilled:s("thumbsup-filled",60436),gitFetch:s("git-fetch",60445),lightbulbSparkleAutofix:s("lightbulb-sparkle-autofix",60447),debugBreakpointPending:s("debug-breakpoint-pending",60377)}}},4901:(e,t,n)=>{"use strict";function r(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}n.d(t,{Q1:()=>a,bU:()=>i,hB:()=>s});class i{constructor(e,t,n,i=1){this._rgbaBrand=void 0,this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,n)),this.a=r(Math.max(Math.min(1,i),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class s{constructor(e,t,n,i){this._hslaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=r(Math.max(Math.min(1,t),0),3),this.l=r(Math.max(Math.min(1,n),0),3),this.a=r(Math.max(Math.min(1,i),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(e){const t=e.r/255,n=e.g/255,r=e.b/255,i=e.a,o=Math.max(t,n,r),a=Math.min(t,n,r);let l=0,c=0;const h=(a+o)/2,u=o-a;if(u>0){switch(c=Math.min(h<=.5?u/(2*h):u/(2-2*h),1),o){case t:l=(n-r)/u+(n<r?6:0);break;case n:l=(r-t)/u+2;break;case r:l=(t-n)/u+4}l*=60,l=Math.round(l)}return new s(l,c,h,i)}static _hue2rgb(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(e){const t=e.h/360,{s:n,l:r,a:o}=e;let a,l,c;if(0===n)a=l=c=r;else{const e=r<.5?r*(1+n):r+n-r*n,i=2*r-e;a=s._hue2rgb(i,e,t+1/3),l=s._hue2rgb(i,e,t),c=s._hue2rgb(i,e,t-1/3)}return new i(Math.round(255*a),Math.round(255*l),Math.round(255*c),o)}}class o{constructor(e,t,n,i){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=r(Math.max(Math.min(1,t),0),3),this.v=r(Math.max(Math.min(1,n),0),3),this.a=r(Math.max(Math.min(1,i),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(e){const t=e.r/255,n=e.g/255,r=e.b/255,i=Math.max(t,n,r),s=i-Math.min(t,n,r),a=0===i?0:s/i;let l;return l=0===s?0:i===t?((n-r)/s%6+6)%6:i===n?(r-t)/s+2:(t-n)/s+4,new o(Math.round(60*l),a,i,e.a)}static toRGBA(e){const{h:t,s:n,v:r,a:s}=e,o=r*n,a=o*(1-Math.abs(t/60%2-1)),l=r-o;let[c,h,u]=[0,0,0];return t<60?(c=o,h=a):t<120?(c=a,h=o):t<180?(h=o,u=a):t<240?(h=a,u=o):t<300?(c=a,u=o):t<=360&&(c=o,u=a),c=Math.round(255*(c+l)),h=Math.round(255*(h+l)),u=Math.round(255*(u+l)),new i(c,h,u,s)}}class a{static fromHex(e){return a.Format.CSS.parseHex(e)||a.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:s.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:o.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof i)this.rgba=e;else if(e instanceof s)this._hsla=e,this.rgba=s.toRGBA(e);else{if(!(e instanceof o))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=o.toRGBA(e)}}equals(e){return!!e&&i.equals(this.rgba,e.rgba)&&s.equals(this.hsla,e.hsla)&&o.equals(this.hsva,e.hsva)}getRelativeLuminance(){return r(.2126*a._relativeLuminanceForComponent(this.rgba.r)+.7152*a._relativeLuminanceForComponent(this.rgba.g)+.0722*a._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()<e.getRelativeLuminance()}lighten(e){return new a(new s(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new a(new s(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:t,g:n,b:r,a:s}=this.rgba;return new a(new i(t,n,r,s*e))}isTransparent(){return 0===this.rgba.a}isOpaque(){return 1===this.rgba.a}opposite(){return new a(new i(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}makeOpaque(e){if(this.isOpaque()||1!==e.rgba.a)return this;const{r:t,g:n,b:r,a:s}=this.rgba;return new a(new i(e.rgba.r-s*(e.rgba.r-t),e.rgba.g-s*(e.rgba.g-n),e.rgba.b-s*(e.rgba.b-r),1))}toString(){return this._toString||(this._toString=a.Format.CSS.format(this)),this._toString}static getLighterColor(e,t,n){if(e.isLighterThan(t))return e;n=n||.5;const 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=n||.5;const r=e.getRelativeLuminance();return n=n*(r-t.getRelativeLuminance())/r,e.darken(n)}static{this.white=new a(new i(255,255,255,1))}static{this.black=new a(new i(0,0,0,1))}static{this.red=new a(new i(255,0,0,1))}static{this.blue=new a(new i(0,0,255,1))}static{this.green=new a(new i(0,255,0,1))}static{this.cyan=new a(new i(0,255,255,1))}static{this.lightgrey=new a(new i(211,211,211,1))}static{this.transparent=new a(new i(0,0,0,0))}}!function(e){let t;!function(t){let n;!function(t){function n(e){const t=e.toString(16);return 2!==t.length?"0"+t:t}function r(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:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}return 0}t.formatRGB=function(t){return 1===t.rgba.a?`rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})`:e.Format.CSS.formatRGBA(t)},t.formatRGBA=function(e){return`rgba(${e.rgba.r}, ${e.rgba.g}, ${e.rgba.b}, ${+e.rgba.a.toFixed(2)})`},t.formatHSL=function(t){return 1===t.hsla.a?`hsl(${t.hsla.h}, ${(100*t.hsla.s).toFixed(2)}%, ${(100*t.hsla.l).toFixed(2)}%)`:e.Format.CSS.formatHSLA(t)},t.formatHSLA=function(e){return`hsla(${e.hsla.h}, ${(100*e.hsla.s).toFixed(2)}%, ${(100*e.hsla.l).toFixed(2)}%, ${e.hsla.a.toFixed(2)})`},t.formatHex=function(e){return`#${n(e.rgba.r)}${n(e.rgba.g)}${n(e.rgba.b)}`},t.formatHexA=function(t,r=!1){return r&&1===t.rgba.a?e.Format.CSS.formatHex(t):`#${n(t.rgba.r)}${n(t.rgba.g)}${n(t.rgba.b)}${n(Math.round(255*t.rgba.a))}`},t.format=function(t){return t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t)},t.parseHex=function(t){const n=t.length;if(0===n)return null;if(35!==t.charCodeAt(0))return null;if(7===n){const n=16*r(t.charCodeAt(1))+r(t.charCodeAt(2)),s=16*r(t.charCodeAt(3))+r(t.charCodeAt(4)),o=16*r(t.charCodeAt(5))+r(t.charCodeAt(6));return new e(new i(n,s,o,1))}if(9===n){const n=16*r(t.charCodeAt(1))+r(t.charCodeAt(2)),s=16*r(t.charCodeAt(3))+r(t.charCodeAt(4)),o=16*r(t.charCodeAt(5))+r(t.charCodeAt(6)),a=16*r(t.charCodeAt(7))+r(t.charCodeAt(8));return new e(new i(n,s,o,a/255))}if(4===n){const n=r(t.charCodeAt(1)),s=r(t.charCodeAt(2)),o=r(t.charCodeAt(3));return new e(new i(16*n+n,16*s+s,16*o+o))}if(5===n){const n=r(t.charCodeAt(1)),s=r(t.charCodeAt(2)),o=r(t.charCodeAt(3)),a=r(t.charCodeAt(4));return new e(new i(16*n+n,16*s+s,16*o+o,(16*a+a)/255))}return null}}(n=t.CSS||(t.CSS={}))}(t=e.Format||(e.Format={}))}(a||(a={}))},4327:(e,t,n)=>{"use strict";n.d(t,{D7:()=>g,EM:()=>u,Qg:()=>c,cU:()=>s,dz:()=>i,iH:()=>h});const r=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(d.isErrorNoTelemetry(e))throw new d(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function i(e){a(e)||r.onUnexpectedError(e)}function s(e){if(e instanceof Error){const{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:d.isErrorNoTelemetry(e)}}return e}const o="Canceled";function a(e){return e instanceof l||e instanceof Error&&e.name===o&&e.message===o}class l extends Error{constructor(){super(o),this.name=this.message}}function c(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function h(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class u extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class d extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof d)return e;const t=new d;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class g extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,g.prototype)}}},2106:(e,t,n)=>{"use strict";n.d(t,{Jh:()=>o,vl:()=>f});var r=n(4327),i=n(2446),s=(n(5525),n(3013));var o;!function(e){function t(e){false}function n(e){return(t,n=null,r)=>{let i,s=!1;return i=e((e=>{if(!s)return i?i.dispose():s=!0,t.call(n,e)}),null,r),s&&i.dispose(),i}}function r(e,t,n){return o(((n,r=null,i)=>e((e=>n.call(r,t(e))),null,i)),n)}function s(e,t,n){return o(((n,r=null,i)=>e((e=>t(e)&&n.call(r,e)),null,i)),n)}function o(e,n){let r;const i={onWillAddFirstListener(){r=e(s.fire,s)},onDidRemoveLastListener(){r?.dispose()}};n||t();const s=new f(i);return n?.add(s),s.event}function a(e,n,r=100,i=!1,s=!1,o,a){let l,c,h,u,d=0;const g={leakWarningThreshold:o,onWillAddFirstListener(){l=e((e=>{d++,c=n(c,e),i&&!h&&(m.fire(c),c=void 0),u=()=>{const e=c;c=void 0,h=void 0,(!i||d>1)&&m.fire(e),d=0},"number"==typeof r?(clearTimeout(h),h=setTimeout(u,r)):void 0===h&&(h=0,queueMicrotask(u))}))},onWillRemoveListener(){s&&d>0&&u?.()},onDidRemoveLastListener(){u=void 0,l.dispose()}};a||t();const m=new f(g);return a?.add(m),m.event}e.None=()=>i.jG.None,e.defer=function(e,t){return a(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=n,e.onceIf=function(t,n){return e.once(e.filter(t,n))},e.map=r,e.forEach=function(e,t,n){return o(((n,r=null,i)=>e((e=>{t(e),n.call(r,e)}),null,i)),n)},e.filter=s,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,r)=>function(e,t){t instanceof Array?t.push(e):t&&t.add(e);return e}((0,i.qE)(...e.map((e=>e((e=>t.call(n,e)))))),r)},e.reduce=function(e,t,n,i){let s=n;return r(e,(e=>(s=t(s,e),s)),i)},e.debounce=a,e.accumulate=function(t,n=0,r){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),n,void 0,!0,void 0,r)},e.latch=function(e,t=(e,t)=>e===t,n){let r,i=!0;return s(e,(e=>{const n=i||!t(e,r);return i=!1,r=e,n}),n)},e.split=function(t,n,r){return[e.filter(t,n,r),e.filter(t,(e=>!n(e)),r)]},e.buffer=function(e,t=!1,n=[],r){let i=n.slice(),s=e((e=>{i?i.push(e):a.fire(e)}));r&&r.add(s);const o=()=>{i?.forEach((e=>a.fire(e))),i=null},a=new f({onWillAddFirstListener(){s||(s=e((e=>a.fire(e))),r&&r.add(s))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){s&&s.dispose(),s=null}});return r&&r.add(a),a.event},e.chain=function(e,t){return(n,r,i)=>{const s=t(new c);return e((function(e){const t=s.evaluate(e);t!==l&&n.call(r,t)}),void 0,i)}};const l=Symbol("HaltChainable");class c{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:l)),this}reduce(e,t){let n=t;return this.steps.push((t=>(n=e(n,t),n))),this}latch(e=(e,t)=>e===t){let t,n=!0;return this.steps.push((r=>{const i=n||!e(r,t);return n=!1,t=r,i?r:l})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===l)break;return e}}e.fromNodeEventEmitter=function(e,t,n=e=>e){const r=(...e)=>i.fire(n(...e)),i=new f({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event},e.fromDOMEventEmitter=function(e,t,n=e=>e){const r=(...e)=>i.fire(n(...e)),i=new f({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event},e.toPromise=function(e){return new Promise((t=>n(e)(t)))},e.fromPromise=function(e){const t=new f;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.forward=function(e,t){return e((e=>t.fire(e)))},e.runAndSubscribe=function(e,t,n){return t(n),e((e=>t(e)))};class h{constructor(e,n){this._observable=e,this._counter=0,this._hasChanged=!1;const r={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};n||t(),this.emitter=new f(r),n&&n.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new h(e,t).emitter.event},e.fromObservableLight=function(e){return(t,n,r)=>{let s=0,o=!1;const a={beginUpdate(){s++},endUpdate(){s--,0===s&&(e.reportChanges(),o&&(o=!1,t.call(n)))},handlePossibleChange(){},handleChange(){o=!0}};e.addObserver(a),e.reportChanges();const l={dispose(){e.removeObserver(a)}};return r instanceof i.Cm?r.add(l):Array.isArray(r)&&r.push(l),l}}}(o||(o={}));class a{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${a._idPool++}`,a.all.add(this)}start(e){this._stopWatch=new s.W,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}class l{static{this._idPool=1}constructor(e,t,n=(l._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=n,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const n=this.threshold;if(n<=0||t<n)return;this._stacks||(this._stacks=new Map);const r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=.5*n;const[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);const s=new h(i,e);this._errorHandler(s)}return()=>{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}}class c{static create(){const e=new Error;return new c(e.stack??"")}constructor(e){this.value=e}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class h extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}}class u extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}}class d{constructor(e){this.value=e}}let g;class f{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new l(e?.onListenerError??r.dz,this._options?.leakWarningThreshold??-1):void 0,this._perfMon=this._options?._profName?new a(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],n=new u(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||r.dz)(n),i.jG.None}if(this._disposed)return i.jG.None;t&&(e=e.bind(t));const s=new d(e);let o;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(s.stack=c.create(),o=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof d?(this._deliveryQueue??=new m,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=(0,i.s)((()=>{g?.unregister(a),o?.(),this._removeListener(s)}));if(n instanceof i.Cm?n.add(a):Array.isArray(n)&&n.push(a),g){const e=(new Error).stack.split("\n").slice(2,3).join("\n").trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);g.register(a,t?.[2]??e,a)}return a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,n=t.indexOf(e);if(-1===n)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[n]=void 0;const r=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;const n=this._options?.onListenerError||r.dz;if(n)try{e.value(t)}catch(i){n(i)}else e.value(t)}_deliverQueue(e){const t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof d)this._deliver(this._listeners,e);else{const t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}else;this._perfMon?.stop()}hasListeners(){return this._size>0}}class m{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}},8518:(e,t,n)=>{"use strict";n.d(t,{TH:()=>o,Zn:()=>l,_1:()=>c,kb:()=>a});var r=n(1570),i=(n(3339),n(6844));function s(e){return 47===e||92===e}function o(e){return e.replace(/[\\/]/g,r.SA.sep)}function a(e){return-1===e.indexOf("/")&&(e=o(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e="/"+e),e}function l(e,t=r.SA.sep){if(!e)return"";const n=e.length,i=e.charCodeAt(0);if(s(i)){if(s(e.charCodeAt(1))&&!s(e.charCodeAt(2))){let r=3;const i=r;for(;r<n&&!s(e.charCodeAt(r));r++);if(i!==r&&!s(e.charCodeAt(r+1)))for(r+=1;r<n;r++)if(s(e.charCodeAt(r)))return e.slice(0,r+1).replace(/[\\/]/g,t)}return t}if(h(i)&&58===e.charCodeAt(1))return s(e.charCodeAt(2))?e.slice(0,2)+t:e.slice(0,2);let o=e.indexOf("://");if(-1!==o)for(o+=3;o<n;o++)if(s(e.charCodeAt(o)))return e.slice(0,o+1);return""}function c(e,t,n,s=r.Vn){if(e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(n){if(!(0,i.ns)(e,t))return!1;if(t.length===e.length)return!0;let n=t.length;return t.charAt(t.length-1)===s&&n--,e.charAt(n)===s}return t.charAt(t.length-1)!==s&&(t+=s),0===e.indexOf(t)}function h(e){return e>=65&&e<=90||e>=97&&e<=122}},3958:(e,t,n)=>{"use strict";n.d(t,{YW:()=>A,qg:()=>I});var r=n(2866),i=n(8518),s=n(7992),o=n(1570),a=n(3339),l=n(6844);const c="**",h="/",u="[/\\\\]",d="[^/\\\\]",g=/\//g;function f(e,t){switch(e){case 0:return"";case 1:return`${d}*?`;default:return`(?:${u}|${d}+${u}${t?`|${u}${d}+`:""})*?`}}function m(e,t){if(!e)return[];const n=[];let r=!1,i=!1,s="";for(const o of e){switch(o){case t:if(!r&&!i){n.push(s),s="";continue}break;case"{":r=!0;break;case"}":r=!1;break;case"[":i=!0;break;case"]":i=!1}s+=o}return s&&n.push(s),n}function p(e){if(!e)return"";let t="";const n=m(e,h);if(n.every((e=>e===c)))t=".*";else{let e=!1;n.forEach(((r,i)=>{if(r===c){if(e)return;t+=f(2,i===n.length-1)}else{let e=!1,s="",o=!1,a="";for(const n of r)if("}"!==n&&e)s+=n;else if(!o||"]"===n&&a)switch(n){case"{":e=!0;continue;case"[":o=!0;continue;case"}":{const n=`(?:${m(s,",").map((e=>p(e))).join("|")})`;t+=n,e=!1,s="";break}case"]":t+="["+a+"]",o=!1,a="";break;case"?":t+=d;continue;case"*":t+=f(1);continue;default:t+=(0,l.bm)(n)}else{let e;e="-"===n?n:"^"!==n&&"!"!==n||a?n===h?"":(0,l.bm)(n):"^",a+=e}i<n.length-1&&(n[i+1]!==c||i+2<n.length)&&(t+=u)}e=r===c}))}return t}const b=/^\*\*\/\*\.[\w\.-]+$/,_=/^\*\*\/([\w\.-]+)\/?$/,k=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,v=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,C=/^\*\*((\/[\w\.-]+)+)\/?$/,y=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,L=new s.qK(1e4),w=function(){return!1},S=function(){return null};function x(e,t){if(!e)return S;let n;n="string"!=typeof e?e.pattern:e,n=n.trim();const r=`${n}_${!!t.trimForExclusions}`;let i,s=L.get(r);return s||(s=b.test(n)?function(e,t){return function(n,r){return"string"==typeof n&&n.endsWith(e)?t:null}}(n.substr(4),n):(i=_.exec(N(n,t)))?function(e,t){const n=`/${e}`,r=`\\${e}`,i=function(i,s){return"string"!=typeof i?null:s?s===e?t:null:i===e||i.endsWith(n)||i.endsWith(r)?t:null},s=[e];return i.basenames=s,i.patterns=[t],i.allBasenames=s,i}(i[1],n):(t.trimForExclusions?v:k).test(n)?function(e,t){const n=O(e.slice(1,-1).split(",").map((e=>x(e,t))).filter((e=>e!==S)),e),r=n.length;if(!r)return S;if(1===r)return n[0];const i=function(t,r){for(let i=0,s=n.length;i<s;i++)if(n[i](t,r))return e;return null},s=n.find((e=>!!e.allBasenames));s&&(i.allBasenames=s.allBasenames);const o=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);o.length&&(i.allPaths=o);return i}(n,t):(i=C.exec(N(n,t)))?T(i[1].substr(1),n,!0):(i=y.exec(N(n,t)))?T(i[1],n,!1):function(e){try{const t=new RegExp(`^${p(e)}$`);return function(n){return t.lastIndex=0,"string"==typeof n&&t.test(n)?e:null}}catch(t){return S}}(n),L.set(r,s)),E(s,e)}function E(e,t){if("string"==typeof t)return e;const n=function(n,r){return(0,i._1)(n,t.base,!a.j9)?e((0,l.NB)(n.substr(t.base.length),o.Vn),r):null};return n.allBasenames=e.allBasenames,n.allPaths=e.allPaths,n.basenames=e.basenames,n.patterns=e.patterns,n}function N(e,t){return t.trimForExclusions&&e.endsWith("/**")?e.substr(0,e.length-2):e}function T(e,t,n){const r=o.Vn===o.SA.sep,i=r?e:e.replace(g,o.Vn),s=o.Vn+i,a=o.SA.sep+e;let l;return l=n?function(n,o){return"string"!=typeof n||n!==i&&!n.endsWith(s)&&(r||n!==e&&!n.endsWith(a))?null:t}:function(n,s){return"string"!=typeof n||n!==i&&(r||n!==e)?null:t},l.allPaths=[(n?"*/":"./")+e],l}function A(e,t,n){return!(!e||"string"!=typeof t)&&I(e)(t,void 0,n)}function I(e,t={}){if(!e)return w;if("string"==typeof e||function(e){const t=e;if(!t)return!1;return"string"==typeof t.base&&"string"==typeof t.pattern}(e)){const n=x(e,t);if(n===S)return w;const r=function(e,t){return!!n(e,t)};return n.allBasenames&&(r.allBasenames=n.allBasenames),n.allPaths&&(r.allPaths=n.allPaths),r}return function(e,t){const n=O(Object.getOwnPropertyNames(e).map((n=>function(e,t,n){if(!1===t)return S;const i=x(e,n);if(i===S)return S;if("boolean"==typeof t)return i;if(t){const n=t.when;if("string"==typeof n){const t=(t,s,o,a)=>{if(!a||!i(t,s))return null;const l=a(n.replace("$(basename)",(()=>o)));return(0,r.Qg)(l)?l.then((t=>t?e:null)):l?e:null};return t.requiresSiblings=!0,t}}return i}(n,e[n],t))).filter((e=>e!==S))),i=n.length;if(!i)return S;if(!n.some((e=>!!e.requiresSiblings))){if(1===i)return n[0];const e=function(e,t){let i;for(let s=0,o=n.length;s<o;s++){const o=n[s](e,t);if("string"==typeof o)return o;(0,r.Qg)(o)&&(i||(i=[]),i.push(o))}return i?(async()=>{for(const e of i){const t=await e;if("string"==typeof t)return t}return null})():null},t=n.find((e=>!!e.allBasenames));t&&(e.allBasenames=t.allBasenames);const s=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return s.length&&(e.allPaths=s),e}const s=function(e,t,i){let s,a;for(let l=0,c=n.length;l<c;l++){const c=n[l];c.requiresSiblings&&i&&(t||(t=(0,o.P8)(e)),s||(s=t.substr(0,t.length-(0,o.LC)(e).length)));const h=c(e,t,s,i);if("string"==typeof h)return h;(0,r.Qg)(h)&&(a||(a=[]),a.push(h))}return a?(async()=>{for(const e of a){const t=await e;if("string"==typeof t)return t}return null})():null},a=n.find((e=>!!e.allBasenames));a&&(s.allBasenames=a.allBasenames);const l=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);l.length&&(s.allPaths=l);return s}(e,t)}function O(e,t){const n=e.filter((e=>!!e.basenames));if(n.length<2)return e;const r=n.reduce(((e,t)=>{const n=t.basenames;return n?e.concat(n):e}),[]);let i;if(t){i=[];for(let e=0,n=r.length;e<n;e++)i.push(t)}else i=n.reduce(((e,t)=>{const n=t.patterns;return n?e.concat(n):e}),[]);const s=function(e,t){if("string"!=typeof e)return null;if(!t){let n;for(n=e.length;n>0;n--){const t=e.charCodeAt(n-1);if(47===t||92===t)break}t=e.substr(n)}const n=r.indexOf(t);return-1!==n?i[n]:null};s.basenames=r,s.patterns=i,s.allBasenames=r;const o=e.filter((e=>!e.basenames));return o.push(s),o}},2344:(e,t,n)=>{"use strict";n.d(t,{e2:()=>o,sN:()=>i,v7:()=>h});var r=n(6844);function i(e,t){switch(typeof e){case"object":return null===e?s(349,t):Array.isArray(e)?(n=e,r=s(104579,r=t),n.reduce(((e,t)=>i(t,e)),r)):function(e,t){return t=s(181387,t),Object.keys(e).sort().reduce(((t,n)=>(t=o(n,t),i(e[n],t))),t)}(e,t);case"string":return o(e,t);case"boolean":return function(e,t){return s(e?433:863,t)}(e,t);case"number":return s(e,t);case"undefined":return s(937,t);default:return s(617,t)}var n,r}function s(e,t){return(t<<5)-t+e|0}function o(e,t){t=s(149417,t);for(let n=0,r=e.length;n<r;n++)t=s(e.charCodeAt(n),t);return t}function a(e,t,n=32){const r=n-t;return(e<<t|(~((1<<r)-1)&e)>>>r)>>>0}function l(e,t=0,n=e.byteLength,r=0){for(let i=0;i<n;i++)e[t+i]=r}function c(e,t=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,"0"))).join(""):function(e,t,n="0"){for(;e.length<t;)e=n+e;return e}((e>>>0).toString(16),t/4)}class h{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let i,s,o=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(i=a,s=-1,a=0):(i=e.charCodeAt(0),s=0);;){let l=i;if(r.pc(i)){if(!(s+1<t)){a=i;break}{const t=e.charCodeAt(s+1);r.LJ(t)?(s++,l=r.z_(i,t)):l=65533}}else r.LJ(i)&&(l=65533);if(o=this._push(n,o,l),s++,!(s<t))break;i=e.charCodeAt(s)}this._buffLen=o,this._leftoverHighSurrogate=a}_push(e,t,n){return n<128?e[t++]=n:n<2048?(e[t++]=192|(1984&n)>>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),c(this._h0)+c(this._h1)+c(this._h2)+c(this._h3)+c(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,l(this._buff,this._buffLen),this._buffLen>56&&(this._step(),l(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=h._bigBlock32,t=this._buffDV;for(let a=0;a<64;a+=4)e.setUint32(a,t.getUint32(a,!1),!1);for(let h=64;h<320;h+=4)e.setUint32(h,a(e.getUint32(h-12,!1)^e.getUint32(h-32,!1)^e.getUint32(h-56,!1)^e.getUint32(h-64,!1),1),!1);let n,r,i,s=this._h0,o=this._h1,l=this._h2,c=this._h3,u=this._h4;for(let h=0;h<80;h++)h<20?(n=o&l|~o&c,r=1518500249):h<40?(n=o^l^c,r=1859775393):h<60?(n=o&l|o&c|l&c,r=2400959708):(n=o^l^c,r=3395469782),i=a(s,5)+n+u+r+e.getUint32(4*h,!1)&4294967295,u=c,c=l,l=a(o,30),o=s,s=i;this._h0=this._h0+s&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+c&4294967295,this._h4=this._h4+u&4294967295}}},7954:(e,t,n)=>{"use strict";var r;n.d(t,{f:()=>r}),function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const n=Object.freeze([]);function*r(e){yield e}e.empty=function(){return n},e.single=r,e.wrap=function(e){return t(e)?e:r(e)},e.from=function(e){return e||n},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let n=0;for(const r of e)if(t(r,n++))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const r of e)yield t(r,n++)},e.flatMap=function*(e,t){let n=0;for(const r of e)yield*t(r,n++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,n){let r=n;for(const i of e)r=t(r,i);return r},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]},e.consume=function(t,n=Number.POSITIVE_INFINITY){const r=[];if(0===n)return[r,t];const i=t[Symbol.iterator]();for(let s=0;s<n;s++){const t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator]:()=>i}]},e.asyncToArray=async function(e){const t=[];for await(const n of e)t.push(n);return Promise.resolve(t)}}(r||(r={}))},3946:(e,t,n)=>{"use strict";n.d(t,{d:()=>r});class r{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},2446:(e,t,n)=>{"use strict";function r(e,t){const n=this;let r,i=!1;return function(){if(i)return r;if(i=!0,t)try{r=e.apply(n,arguments)}finally{t()}else r=e.apply(n,arguments);return r}}n.d(t,{jG:()=>g,$w:()=>m,Cm:()=>d,HE:()=>f,qE:()=>h,AS:()=>c,VD:()=>a,s:()=>u,Ay:()=>o});var i=n(7954);let s=null;function o(e){return s?.trackDisposable(e),e}function a(e){s?.markAsDisposed(e)}function l(e,t){s?.setParent(e,t)}function c(e){if(i.f.is(e)){const n=[];for(const r of e)if(r)try{r.dispose()}catch(t){n.push(t)}if(1===n.length)throw n[0];if(n.length>1)throw new AggregateError(n,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function h(...e){const t=u((()=>c(e)));return function(e,t){if(s)for(const n of e)s.setParent(n,t)}(e,t),t}function u(e){const t=o({dispose:r((()=>{a(t),e()}))});return t}class d{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,o(this)}dispose(){this._isDisposed||(a(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{c(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return l(e,this),this._isDisposed?d.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),l(e,null))}}class g{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new d,o(this),l(this._store,this)}dispose(){a(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}class f{constructor(){this._isDisposed=!1,o(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&l(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,a(this),this._value?.dispose(),this._value=void 0}}class m{constructor(){this._store=new Map,this._isDisposed=!1,o(this)}dispose(){a(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{c(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,n=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},5525:(e,t,n)=>{"use strict";n.d(t,{w:()=>i});class r{static{this.Undefined=new r(void 0)}constructor(e){this.element=e,this.next=r.Undefined,this.prev=r.Undefined}}class i{constructor(){this._first=r.Undefined,this._last=r.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===r.Undefined}clear(){let e=this._first;for(;e!==r.Undefined;){const t=e.next;e.prev=r.Undefined,e.next=r.Undefined,e=t}this._first=r.Undefined,this._last=r.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new r(e);if(this._first===r.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(n))}}shift(){if(this._first!==r.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==r.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==r.Undefined&&e.next!==r.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===r.Undefined&&e.next===r.Undefined?(this._first=r.Undefined,this._last=r.Undefined):e.next===r.Undefined?(this._last=this._last.prev,this._last.next=r.Undefined):e.prev===r.Undefined&&(this._first=this._first.next,this._first.prev=r.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==r.Undefined;)yield e.element,e=e.next}}},7992:(e,t,n)=>{"use strict";var r,i;n.d(t,{cO:()=>h,db:()=>u,fT:()=>o,qK:()=>c});class s{constructor(e,t){this.uri=e,this.value=t}}class o{static{this.defaultToKey=e=>e.toString()}constructor(e,t){if(this[r]="ResourceMap",e instanceof o)this.map=new Map(e.map),this.toKey=t??o.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=t??o.defaultToKey;for(const[t,n]of e)this.set(t,n)}else this.map=new Map,this.toKey=e??o.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new s(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[n,r]of this.map)e(r.value,r.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(r=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}class a{constructor(){this[i]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){const n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value}set(e,t,n=0){let r=this._map.get(e);if(r)r.value=t,0!==n&&this.touch(r,n);else{switch(r={key:e,value:t,next:void 0,previous:void 0},n){case 0:case 2:default:this.addItemLast(r);break;case 1:this.addItemFirst(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this,t=this._state;let n=this._head;const r={[Symbol.iterator]:()=>r,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return r}values(){const e=this,t=this._state;let n=this._head;const r={[Symbol.iterator]:()=>r,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return r}entries(){const e=this,t=this._state;let n=this._head;const r={[Symbol.iterator]:()=>r,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return r}[(i=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}class l extends a{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class c extends l{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class h{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,n]of e)this.set(t,n)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class u{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){const n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))}forEach(e,t){const n=this.map.get(e);n&&n.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}},3720:(e,t,n)=>{"use strict";n.d(t,{K:()=>r});const r=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})},3072:(e,t,n)=>{"use strict";n.d(t,{ny:()=>r,v$:()=>c,zl:()=>d});var r,i=n(4327),s=n(3339),o=n(6844),a=n(7264),l=n(1570);function c(e,t){return a.r.isUri(e)?(0,o.Q_)(e.scheme,t):(0,o.ns)(e,t+":")}!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",e.vscodeNotebookMetadata="vscode-notebook-metadata",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.commentsInput="comment",e.codeSetting="code-setting",e.outputChannel="output"}(r||(r={}));const h=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return l.SA.join(this._serverRootPath,r.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(h){return i.dz(h),e}const t=e.authority;let n=this._hosts[t];n&&-1!==n.indexOf(":")&&-1===n.indexOf("[")&&(n=`[${n}]`);const o=this._ports[t],l=this._connectionTokens[t];let c=`path=${encodeURIComponent(e.path)}`;return"string"==typeof l&&(c+=`&tkn=${encodeURIComponent(l)}`),a.r.from({scheme:s.HZ?this._preferredWebSchema:r.vscodeRemoteResource,authority:`${n}:${o}`,path:this._remoteResourcesPath,query:c})}};class u{static{this.FALLBACK_AUTHORITY="vscode-app"}asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===r.vscodeRemote?h.rewrite(e):e.scheme!==r.file||!s.ib&&s.lg!==`${r.vscodeFileResource}://${u.FALLBACK_AUTHORITY}`?e:e.with({scheme:r.vscodeFileResource,authority:e.authority||u.FALLBACK_AUTHORITY,query:null,fragment:null})}toUri(e,t){if(a.r.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return a.r.joinPath(a.r.parse(t,!0),e);const n=l.fj(t,e);return a.r.file(n)}return a.r.parse(t.toUrl(e))}}const d=new u;var g;!function(e){const t=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const n="vscode-coi";e.getHeadersFromQuery=function(e){let r;"string"==typeof e?r=new URL(e).searchParams:e instanceof URL?r=e.searchParams:a.r.isUri(e)&&(r=new URL(e.toString(!0)).searchParams);const i=r?.get(n);if(i)return t.get(i)},e.addSearchParam=function(e,t,r){if(!globalThis.crossOriginIsolated)return;const i=t&&r?"3":r?"2":"1";e instanceof URLSearchParams?e.set(n,i):e[n]=i}}(g||(g={}))},1386:(e,t,n)=>{"use strict";n.d(t,{V0:()=>i,aI:()=>r,kT:()=>s});Object.prototype.hasOwnProperty;function r(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,i;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else{const s=[];for(i in e)s.push(i);s.sort();const o=[];for(i in t)o.push(i);if(o.sort(),!r(s,o))return!1;for(n=0;n<s.length;n++)if(!r(e[s[n]],t[s[n]]))return!1}return!0}function i(e){const t=[];for(const n of function(e){let t=[];for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}(e))"function"==typeof e[n]&&t.push(n);return t}function s(e,t){const n=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},r={};for(const i of e)r[i]=n(i);return r}},1570:(e,t,n)=>{"use strict";n.d(t,{P8:()=>T,pD:()=>N,LC:()=>A,fj:()=>S,S8:()=>w,SA:()=>L,V8:()=>E,hd:()=>x,Vn:()=>I,IN:()=>C});var r=n(3339);let i;const s=globalThis.vscode;if(void 0!==s&&void 0!==s.process){const e=s.process;i={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else i="undefined"!=typeof process&&"string"==typeof process?.versions?.node?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return r.uF?"win32":r.zx?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const o=i.cwd,a=i.env,l=i.platform,c=46,h=47,u=92,d=58;class g extends Error{constructor(e,t,n){let r;"string"==typeof t&&0===t.indexOf("not ")?(r="must not be",t=t.replace(/^not /,"")):r="must be";const i=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${i} ${r} of type ${t}`;s+=". Received type "+typeof n,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function f(e,t){if("string"!=typeof e)throw new g(t,"string",e)}const m="win32"===l;function p(e){return e===h||e===u}function b(e){return e===h}function _(e){return e>=65&&e<=90||e>=97&&e<=122}function k(e,t,n,r){let i="",s=0,o=-1,a=0,l=0;for(let u=0;u<=e.length;++u){if(u<e.length)l=e.charCodeAt(u);else{if(r(l))break;l=h}if(r(l)){if(o===u-1||1===a);else if(2===a){if(i.length<2||2!==s||i.charCodeAt(i.length-1)!==c||i.charCodeAt(i.length-2)!==c){if(i.length>2){const e=i.lastIndexOf(n);-1===e?(i="",s=0):(i=i.slice(0,e),s=i.length-1-i.lastIndexOf(n)),o=u,a=0;continue}if(0!==i.length){i="",s=0,o=u,a=0;continue}}t&&(i+=i.length>0?`${n}..`:"..",s=2)}else i.length>0?i+=`${n}${e.slice(o+1,u)}`:i=e.slice(o+1,u),s=u-o-1;o=u,a=0}else l===c&&-1!==a?++a:a=-1}return i}function v(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new g(t,"Object",e)}(t,"pathObject");const n=t.dir||t.root,r=t.base||`${t.name||""}${i=t.ext,i?`${"."===i[0]?"":"."}${i}`:""}`;var i;return n?n===t.root?`${n}${r}`:`${n}${e}${r}`:r}const C={resolve(...e){let t="",n="",r=!1;for(let i=e.length-1;i>=-1;i--){let s;if(i>=0){if(s=e[i],f(s,`paths[${i}]`),0===s.length)continue}else 0===t.length?s=o():(s=a[`=${t}`]||o(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===u)&&(s=`${t}\\`));const l=s.length;let c=0,h="",g=!1;const m=s.charCodeAt(0);if(1===l)p(m)&&(c=1,g=!0);else if(p(m))if(g=!0,p(s.charCodeAt(1))){let e=2,t=e;for(;e<l&&!p(s.charCodeAt(e));)e++;if(e<l&&e!==t){const n=s.slice(t,e);for(t=e;e<l&&p(s.charCodeAt(e));)e++;if(e<l&&e!==t){for(t=e;e<l&&!p(s.charCodeAt(e));)e++;e!==l&&e===t||(h=`\\\\${n}\\${s.slice(t,e)}`,c=e)}}}else c=1;else _(m)&&s.charCodeAt(1)===d&&(h=s.slice(0,2),c=2,l>2&&p(s.charCodeAt(2))&&(g=!0,c=3));if(h.length>0)if(t.length>0){if(h.toLowerCase()!==t.toLowerCase())continue}else t=h;if(r){if(t.length>0)break}else if(n=`${s.slice(c)}\\${n}`,r=g,g&&t.length>0)break}return n=k(n,!r,"\\",p),r?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){f(e,"path");const t=e.length;if(0===t)return".";let n,r=0,i=!1;const s=e.charCodeAt(0);if(1===t)return b(s)?"\\":e;if(p(s))if(i=!0,p(e.charCodeAt(1))){let i=2,s=i;for(;i<t&&!p(e.charCodeAt(i));)i++;if(i<t&&i!==s){const o=e.slice(s,i);for(s=i;i<t&&p(e.charCodeAt(i));)i++;if(i<t&&i!==s){for(s=i;i<t&&!p(e.charCodeAt(i));)i++;if(i===t)return`\\\\${o}\\${e.slice(s)}\\`;i!==s&&(n=`\\\\${o}\\${e.slice(s,i)}`,r=i)}}}else r=1;else _(s)&&e.charCodeAt(1)===d&&(n=e.slice(0,2),r=2,t>2&&p(e.charCodeAt(2))&&(i=!0,r=3));let o=r<t?k(e.slice(r),!i,"\\",p):"";return 0!==o.length||i||(o="."),o.length>0&&p(e.charCodeAt(t-1))&&(o+="\\"),void 0===n?i?`\\${o}`:o:i?`${n}\\${o}`:`${n}${o}`},isAbsolute(e){f(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return p(n)||t>2&&_(n)&&e.charCodeAt(1)===d&&p(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let s=0;s<e.length;++s){const r=e[s];f(r,"path"),r.length>0&&(void 0===t?t=n=r:t+=`\\${r}`)}if(void 0===t)return".";let r=!0,i=0;if("string"==typeof n&&p(n.charCodeAt(0))){++i;const e=n.length;e>1&&p(n.charCodeAt(1))&&(++i,e>2&&(p(n.charCodeAt(2))?++i:r=!1))}if(r){for(;i<t.length&&p(t.charCodeAt(i));)i++;i>=2&&(t=`\\${t.slice(i)}`)}return C.normalize(t)},relative(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";const n=C.resolve(e),r=C.resolve(t);if(n===r)return"";if((e=n.toLowerCase())===(t=r.toLowerCase()))return"";let i=0;for(;i<e.length&&e.charCodeAt(i)===u;)i++;let s=e.length;for(;s-1>i&&e.charCodeAt(s-1)===u;)s--;const o=s-i;let a=0;for(;a<t.length&&t.charCodeAt(a)===u;)a++;let l=t.length;for(;l-1>a&&t.charCodeAt(l-1)===u;)l--;const c=l-a,h=o<c?o:c;let d=-1,g=0;for(;g<h;g++){const n=e.charCodeAt(i+g);if(n!==t.charCodeAt(a+g))break;n===u&&(d=g)}if(g!==h){if(-1===d)return r}else{if(c>h){if(t.charCodeAt(a+g)===u)return r.slice(a+g+1);if(2===g)return r.slice(a+g)}o>h&&(e.charCodeAt(i+g)===u?d=g:2===g&&(d=3)),-1===d&&(d=0)}let m="";for(g=i+d+1;g<=s;++g)g!==s&&e.charCodeAt(g)!==u||(m+=0===m.length?"..":"\\..");return a+=d,m.length>0?`${m}${r.slice(a,l)}`:(r.charCodeAt(a)===u&&++a,r.slice(a,l))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=C.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===u){if(t.charCodeAt(1)===u){const e=t.charCodeAt(2);if(63!==e&&e!==c)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(_(t.charCodeAt(0))&&t.charCodeAt(1)===d&&t.charCodeAt(2)===u)return`\\\\?\\${t}`;return e},dirname(e){f(e,"path");const t=e.length;if(0===t)return".";let n=-1,r=0;const i=e.charCodeAt(0);if(1===t)return p(i)?e:".";if(p(i)){if(n=r=1,p(e.charCodeAt(1))){let i=2,s=i;for(;i<t&&!p(e.charCodeAt(i));)i++;if(i<t&&i!==s){for(s=i;i<t&&p(e.charCodeAt(i));)i++;if(i<t&&i!==s){for(s=i;i<t&&!p(e.charCodeAt(i));)i++;if(i===t)return e;i!==s&&(n=r=i+1)}}}}else _(i)&&e.charCodeAt(1)===d&&(n=t>2&&p(e.charCodeAt(2))?3:2,r=n);let s=-1,o=!0;for(let a=t-1;a>=r;--a)if(p(e.charCodeAt(a))){if(!o){s=a;break}}else o=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&f(t,"suffix"),f(e,"path");let n,r=0,i=-1,s=!0;if(e.length>=2&&_(e.charCodeAt(0))&&e.charCodeAt(1)===d&&(r=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=r;--n){const l=e.charCodeAt(n);if(p(l)){if(!s){r=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=r;--n)if(p(e.charCodeAt(n))){if(!s){r=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){f(e,"path");let t=0,n=-1,r=0,i=-1,s=!0,o=0;e.length>=2&&e.charCodeAt(1)===d&&_(e.charCodeAt(0))&&(t=r=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(p(t)){if(!s){r=a+1;break}}else-1===i&&(s=!1,i=a+1),t===c?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1)}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:v.bind(null,"\\"),parse(e){f(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let r=0,i=e.charCodeAt(0);if(1===n)return p(i)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(p(i)){if(r=1,p(e.charCodeAt(1))){let t=2,i=t;for(;t<n&&!p(e.charCodeAt(t));)t++;if(t<n&&t!==i){for(i=t;t<n&&p(e.charCodeAt(t));)t++;if(t<n&&t!==i){for(i=t;t<n&&!p(e.charCodeAt(t));)t++;t===n?r=t:t!==i&&(r=t+1)}}}}else if(_(i)&&e.charCodeAt(1)===d){if(n<=2)return t.root=t.dir=e,t;if(r=2,p(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;r=3}}r>0&&(t.root=e.slice(0,r));let s=-1,o=r,a=-1,l=!0,h=e.length-1,u=0;for(;h>=r;--h)if(i=e.charCodeAt(h),p(i)){if(!l){o=h+1;break}}else-1===a&&(l=!1,a=h+1),i===c?-1===s?s=h:1!==u&&(u=1):-1!==s&&(u=-1);return-1!==a&&(-1===s||0===u||1===u&&s===a-1&&s===o+1?t.base=t.name=e.slice(o,a):(t.name=e.slice(o,s),t.base=e.slice(o,a),t.ext=e.slice(s,a))),t.dir=o>0&&o!==r?e.slice(0,o-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},y=(()=>{if(m){const e=/\\/g;return()=>{const t=o().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>o()})(),L={resolve(...e){let t="",n=!1;for(let r=e.length-1;r>=-1&&!n;r--){const i=r>=0?e[r]:y();f(i,`paths[${r}]`),0!==i.length&&(t=`${i}/${t}`,n=i.charCodeAt(0)===h)}return t=k(t,!n,"/",b),n?`/${t}`:t.length>0?t:"."},normalize(e){if(f(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===h,n=e.charCodeAt(e.length-1)===h;return 0===(e=k(e,!t,"/",b)).length?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(f(e,"path"),e.length>0&&e.charCodeAt(0)===h),join(...e){if(0===e.length)return".";let t;for(let n=0;n<e.length;++n){const r=e[n];f(r,"path"),r.length>0&&(void 0===t?t=r:t+=`/${r}`)}return void 0===t?".":L.normalize(t)},relative(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";if((e=L.resolve(e))===(t=L.resolve(t)))return"";const n=e.length,r=n-1,i=t.length-1,s=r<i?r:i;let o=-1,a=0;for(;a<s;a++){const n=e.charCodeAt(1+a);if(n!==t.charCodeAt(1+a))break;n===h&&(o=a)}if(a===s)if(i>s){if(t.charCodeAt(1+a)===h)return t.slice(1+a+1);if(0===a)return t.slice(1+a)}else r>s&&(e.charCodeAt(1+a)===h?o=a:0===a&&(o=0));let l="";for(a=1+o+1;a<=n;++a)a!==n&&e.charCodeAt(a)!==h||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+o)}`},toNamespacedPath:e=>e,dirname(e){if(f(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===h;let n=-1,r=!0;for(let i=e.length-1;i>=1;--i)if(e.charCodeAt(i)===h){if(!r){n=i;break}}else r=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&f(t,"ext"),f(e,"path");let n,r=0,i=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const l=e.charCodeAt(n);if(l===h){if(!s){r=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===h){if(!s){r=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){f(e,"path");let t=-1,n=0,r=-1,i=!0,s=0;for(let o=e.length-1;o>=0;--o){const a=e.charCodeAt(o);if(a!==h)-1===r&&(i=!1,r=o+1),a===c?-1===t?t=o:1!==s&&(s=1):-1!==t&&(s=-1);else if(!i){n=o+1;break}}return-1===t||-1===r||0===s||1===s&&t===r-1&&t===n+1?"":e.slice(t,r)},format:v.bind(null,"/"),parse(e){f(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===h;let r;n?(t.root="/",r=1):r=0;let i=-1,s=0,o=-1,a=!0,l=e.length-1,u=0;for(;l>=r;--l){const t=e.charCodeAt(l);if(t!==h)-1===o&&(a=!1,o=l+1),t===c?-1===i?i=l:1!==u&&(u=1):-1!==i&&(u=-1);else if(!a){s=l+1;break}}if(-1!==o){const r=0===s&&n?1:s;-1===i||0===u||1===u&&i===o-1&&i===s+1?t.base=t.name=e.slice(r,o):(t.name=e.slice(r,i),t.base=e.slice(r,o),t.ext=e.slice(i,o))}return s>0?t.dir=e.slice(0,s-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};L.win32=C.win32=C,L.posix=C.posix=L;const w=m?C.normalize:L.normalize,S=m?C.join:L.join,x=m?C.resolve:L.resolve,E=m?C.relative:L.relative,N=m?C.dirname:L.dirname,T=m?C.basename:L.basename,A=m?C.extname:L.extname,I=m?C.sep:L.sep},3339:(e,t,n)=>{"use strict";n.d(t,{H8:()=>P,HZ:()=>T,OS:()=>R,UP:()=>j,_p:()=>M,cm:()=>F,gm:()=>V,ib:()=>N,j9:()=>E,lg:()=>A,nr:()=>z,uF:()=>S,zx:()=>x});var r=n(7289);const i="en";let s,o,a=!1,l=!1,c=!1,h=!1,u=!1,d=!1,g=!1,f=!1,m=!1,p=!1,b=null,_=null,k=null;const v=globalThis;let C;void 0!==v.vscode&&void 0!==v.vscode.process?C=v.vscode.process:"undefined"!=typeof process&&"string"==typeof process?.versions?.node&&(C=process);const y="string"==typeof C?.versions?.electron,L=y&&"renderer"===C?.type;if("object"==typeof C){a="win32"===C.platform,l="darwin"===C.platform,c="linux"===C.platform,h=c&&!!C.env.SNAP&&!!C.env.SNAP_REVISION,g=y,m=!!C.env.CI||!!C.env.BUILD_ARTIFACTSTAGINGDIRECTORY,s=i,b=i;const e=C.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e);s=t.userLocale,_=t.osLocale,b=t.resolvedLanguage||i,k=t.languagePack?.translationsConfigFile}catch(q){}u=!0}else"object"!=typeof navigator||L?console.error("Unable to resolve platform."):(o=navigator.userAgent,a=o.indexOf("Windows")>=0,l=o.indexOf("Macintosh")>=0,f=(o.indexOf("Macintosh")>=0||o.indexOf("iPad")>=0||o.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,c=o.indexOf("Linux")>=0,p=o?.indexOf("Mobi")>=0,d=!0,b=r.i8()||i,s=navigator.language.toLowerCase(),_=s);let w=0;l?w=1:a?w=3:c&&(w=2);const S=a,x=l,E=c,N=u,T=d,A=d&&"function"==typeof v.importScripts?v.origin:void 0,I=o,O="function"==typeof v.postMessage&&!v.importScripts,M=(()=>{if(O){const e=[];v.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){const r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork)return e.splice(n,1),void r.callback()}}));let t=0;return n=>{const r=++t;e.push({id:r,callback:n}),v.postMessage({vscodeScheduleAsyncWork:r},"*")}}return e=>setTimeout(e)})(),R=l||f?2:a?1:3;let D=!0,B=!1;function F(){if(!B){B=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);D=513===t[0]}return D}const P=!!(I&&I.indexOf("Chrome")>=0),V=!!(I&&I.indexOf("Firefox")>=0),z=!!(!P&&I&&I.indexOf("Safari")>=0),j=!!(I&&I.indexOf("Edg/")>=0);I&&I.indexOf("Android")},2467:(e,t,n)=>{"use strict";n.d(t,{B6:()=>m,P8:()=>d});var r=n(8518),i=n(3072),s=n(1570),o=n(3339),a=n(6844),l=n(7264);function c(e){return(0,l.I)(e,!0)}class h{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:(0,a.UD)(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===i.ny.file)return r._1(c(e),c(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(g(e.authority,t.authority))return r._1(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return l.r.joinPath(e,...t)}basenameOrAuthority(e){return d(e)||e.authority}basename(e){return s.SA.basename(e.path)}extname(e){return s.SA.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===i.ny.file?t=l.r.file(s.pD(c(e))).path:(t=s.SA.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===i.ny.file?l.r.file(s.S8(c(e))).path:s.SA.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!g(e.authority,t.authority))return;if(e.scheme===i.ny.file){const n=s.V8(c(e),c(t));return o.uF?r.TH(n):n}let n=e.path||"/";const a=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(n.length,a.length);e<t&&(n.charCodeAt(e)===a.charCodeAt(e)||n.charAt(e).toLowerCase()===a.charAt(e).toLowerCase());e++);n=a.substr(0,e)+n.substr(e)}return s.SA.relative(n,a)}resolvePath(e,t){if(e.scheme===i.ny.file){const n=l.r.file(s.hd(c(e),t));return e.with({authority:n.authority,path:n.path})}return t=r.kb(t),e.with({path:s.SA.resolve(e.path,t)})}isAbsolutePath(e){return!!e.path&&"/"===e.path[0]}isEqualAuthority(e,t){return e===t||void 0!==e&&void 0!==t&&(0,a.Q_)(e,t)}hasTrailingPathSeparator(e,t=s.Vn){if(e.scheme===i.ny.file){const n=c(e);return n.length>r.Zn(n).length&&n[n.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=s.Vn){return f(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=s.Vn){let n=!1;if(e.scheme===i.ny.file){const i=c(e);n=void 0!==i&&i.length===r.Zn(i).length&&i[i.length-1]===t}else{t="/";const r=e.path;n=1===r.length&&47===r.charCodeAt(r.length-1)}return n||f(e,t)?e:e.with({path:e.path+"/"})}}const u=new h((()=>!1)),d=(new h((e=>e.scheme!==i.ny.file||!o.j9)),new h((e=>!0)),u.isEqual.bind(u),u.isEqualOrParent.bind(u),u.getComparisonKey.bind(u),u.basenameOrAuthority.bind(u),u.basename.bind(u)),g=(u.extname.bind(u),u.dirname.bind(u),u.joinPath.bind(u),u.normalizePath.bind(u),u.relativePath.bind(u),u.resolvePath.bind(u),u.isAbsolutePath.bind(u),u.isEqualAuthority.bind(u)),f=u.hasTrailingPathSeparator.bind(u);u.removeTrailingPathSeparator.bind(u),u.addTrailingPathSeparator.bind(u);var m;!function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,r]=e.split(":");t&&r&&n.set(t,r)}));const r=t.path.substring(0,t.path.indexOf(";"));return r&&n.set(e.META_DATA_MIME,r),n}}(m||(m={}))},3013:(e,t,n)=>{"use strict";n.d(t,{W:()=>i});const r=globalThis.performance&&"function"==typeof globalThis.performance.now;class i{static create(e){return new i(e)}constructor(e){this._now=r&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},6844:(e,t,n)=>{"use strict";n.d(t,{$X:()=>O,AV:()=>s,E_:()=>N,HG:()=>d,LJ:()=>y,LU:()=>B,NB:()=>l,OS:()=>c,Q_:()=>k,Ss:()=>R,UD:()=>f,Wv:()=>_,Z5:()=>w,_J:()=>I,aC:()=>A,bm:()=>a,eY:()=>h,jy:()=>o,km:()=>x,lT:()=>g,ne:()=>M,ns:()=>v,pc:()=>C,r_:()=>D,tk:()=>F,tl:()=>z,uz:()=>u,y_:()=>j,z_:()=>L});var r=n(6260),i=n(3946);function s(e){return!e||"string"!=typeof e||0===e.trim().length}function o(e){return e.replace(/[<>"'&]/g,(e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e}))}function a(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function l(e,t){if(!e||!t)return e;const n=t.length;if(0===n||0===e.length)return e;let r=0;for(;e.indexOf(t,r)===r;)r+=n;return e.substring(r)}function c(e,t,n={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=a(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let r="";return n.global&&(r+="g"),n.matchCase||(r+="i"),n.multiline&&(r+="m"),n.unicode&&(r+="u"),new RegExp(e,r)}function h(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)}function u(e){return e.split(/\r\n|\r|\n/)}function d(e){for(let t=0,n=e.length;t<n;t++){const n=e.charCodeAt(t);if(32!==n&&9!==n)return t}return-1}function g(e,t=e.length-1){for(let n=t;n>=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}function f(e,t){return e<t?-1:e>t?1:0}function m(e,t,n=0,r=e.length,i=0,s=t.length){for(;n<r&&i<s;n++,i++){const r=e.charCodeAt(n),s=t.charCodeAt(i);if(r<s)return-1;if(r>s)return 1}const o=r-n,a=s-i;return o<a?-1:o>a?1:0}function p(e,t,n=0,r=e.length,i=0,s=t.length){for(;n<r&&i<s;n++,i++){let o=e.charCodeAt(n),a=t.charCodeAt(i);if(o===a)continue;if(o>=128||a>=128)return m(e.toLowerCase(),t.toLowerCase(),n,r,i,s);b(o)&&(o-=32),b(a)&&(a-=32);const l=o-a;if(0!==l)return l}const o=r-n,a=s-i;return o<a?-1:o>a?1:0}function b(e){return e>=97&&e<=122}function _(e){return e>=65&&e<=90}function k(e,t){return e.length===t.length&&0===p(e,t)}function v(e,t){const n=t.length;return!(t.length>e.length)&&0===p(e,t,0,n)}function C(e){return 55296<=e&&e<=56319}function y(e){return 56320<=e&&e<=57343}function L(e,t){return t-56320+(e-55296<<10)+65536}function w(e,t,n){const r=e.charCodeAt(n);if(C(r)&&n+1<t){const t=e.charCodeAt(n+1);if(y(t))return L(r,t)}return r}class S{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=function(e,t){const n=e.charCodeAt(t-1);if(y(n)&&t>1){const r=e.charCodeAt(t-2);if(C(r))return L(r,n)}return n}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=w(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class x{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new S(e,t)}nextGraphemeLength(){const e=V.getInstance(),t=this._iterator,n=t.offset;let r=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const n=t.offset,i=e.getGraphemeBreakType(t.nextCodePoint());if(P(r,i)){t.setOffset(n);break}r=i}return t.offset-n}prevGraphemeLength(){const e=V.getInstance(),t=this._iterator,n=t.offset;let r=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const n=t.offset,i=e.getGraphemeBreakType(t.prevCodePoint());if(P(i,r)){t.setOffset(n);break}r=i}return n-t.offset}eol(){return this._iterator.eol()}}let E;function N(e){return E||(E=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),E.test(e)}const T=/^[\t\n\r\x20-\x7E]*$/;function A(e){return T.test(e)}const I=/[\u2028\u2029]/;function O(e){return I.test(e)}function M(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function R(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const D=String.fromCharCode(65279);function B(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function F(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function P(e,t){return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}class V{static{this._INSTANCE=null}static getInstance(){return V._INSTANCE||(V._INSTANCE=new V),V._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let r=1;for(;r<=n;)if(e<t[3*r])r*=2;else{if(!(e>t[3*r+1]))return t[3*r+2];r=2*r+1}return 0}}class z{static{this.ambiguousCharacterData=new i.d((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')))}static{this.cache=new r.o5({getCacheKey:JSON.stringify},(e=>{function t(e){const t=new Map;for(let n=0;n<e.length;n+=2)t.set(e[n],e[n+1]);return t}function n(e,t){if(!e)return t;const n=new Map;for(const[r,i]of e)t.has(r)&&n.set(r,i);return n}const r=this.ambiguousCharacterData.value;let i,s=e.filter((e=>!e.startsWith("_")&&e in r));0===s.length&&(s=["_default"]);for(const a of s){i=n(i,t(r[a]))}const o=function(e,t){const n=new Map(e);for(const[r,i]of t)n.set(r,i);return n}(t(r._common),i);return new z(o)}))}static getInstance(e){return z.cache.get(Array.from(e))}static{this._locales=new i.d((()=>Object.keys(z.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))))}static getLocales(){return z._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class j{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(j.getRawData())),this._data}static isInvisibleCharacter(e){return j.getData().has(e)}static get codePoints(){return j.getData()}}},9359:(e,t,n)=>{"use strict";function r(e){return"string"==typeof e}function i(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function s(e){return void 0===e}function o(e){return s(e)||null===e}n.d(t,{Gv:()=>i,Kg:()=>r,b0:()=>s,z:()=>o})},7512:(e,t,n)=>{"use strict";function r(e){return e<0?0:e>255?255:0|e}function i(e){return e<0?0:e>4294967295?4294967295:0|e}n.d(t,{W:()=>r,j:()=>i})},7264:(e,t,n)=>{"use strict";n.d(t,{I:()=>b,r:()=>u});var r=n(1570),i=n(3339);const s=/^\w[\w\d+.-]*$/,o=/^\//,a=/^\/\//;const l="",c="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class u{static isUri(e){return e instanceof u||!!e&&("string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString)}constructor(e,t,n,r,i,h=!1){"object"==typeof e?(this.scheme=e.scheme||l,this.authority=e.authority||l,this.path=e.path||l,this.query=e.query||l,this.fragment=e.fragment||l):(this.scheme=function(e,t){return e||t?e:"file"}(e,h),this.authority=t||l,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==c&&(t=c+t):t=c}return t}(this.scheme,n||l),this.query=r||l,this.fragment=i||l,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!s.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!o.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,h))}get fsPath(){return b(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=l),void 0===n?n=this.authority:null===n&&(n=l),void 0===r?r=this.path:null===r&&(r=l),void 0===i?i=this.query:null===i&&(i=l),void 0===s?s=this.fragment:null===s&&(s=l),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new g(t,n,r,i,s)}static parse(e,t=!1){const n=h.exec(e);return n?new g(n[2]||l,C(n[4]||l),C(n[5]||l),C(n[7]||l),C(n[9]||l),t):new g(l,l,l,l,l)}static file(e){let t=l;if(i.uF&&(e=e.replace(/\\/g,c)),e[0]===c&&e[1]===c){const n=e.indexOf(c,2);-1===n?(t=e.substring(2),e=c):(t=e.substring(2,n),e=e.substring(n)||c)}return new g("file",t,e,l,l)}static from(e,t){return new g(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=i.uF&&"file"===e.scheme?u.file(r.IN.join(b(e,!0),...t)).path:r.SA.join(e.path,...t),e.with({path:n})}toString(e=!1){return _(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof u)return e;{const t=new g(e);return t._formatted=e.external??null,t._fsPath=e._sep===d?e.fsPath??null:null,t}}return e}}const d=i.uF?1:void 0;class g extends u{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(e=!1){return e?_(this,!0):(this._formatted||(this._formatted=_(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const f={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function m(e,t,n){let r,i=-1;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==r&&(r+=e.charAt(s));else{void 0===r&&(r=e.substr(0,s));const t=f[o];void 0!==t?(-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),r+=t):-1===i&&(i=s)}}return-1!==i&&(r+=encodeURIComponent(e.substring(i))),void 0!==r?r:e}function p(e){let t;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);35===r||63===r?(void 0===t&&(t=e.substr(0,n)),t+=f[r]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function b(e,t){let n;return n=e.authority&&e.path.length>1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i.uF&&(n=n.replace(/\//g,"\\")),n}function _(e,t){const n=t?p:m;let r="",{scheme:i,authority:s,path:o,query:a,fragment:l}=e;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=c,r+=c),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=":",r+=n(t.substr(e+1),!1,!0)),r+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?r+=n(s,!1,!0):(r+=n(s.substr(0,e),!1,!0),r+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return a&&(r+="?",r+=n(a,!1,!1)),l&&(r+="#",r+=t?l:m(l,!1,!1)),r}function k(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+k(e.substr(3)):e}}const v=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(v)?e.replace(v,(e=>k(e))):e}},5585:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SimpleWorkerClient:()=>k,SimpleWorkerServer:()=>y,create:()=>L,logOnceWebWorkerWarning:()=>d});var r=n(4327),i=n(2106),s=n(2446),o=n(3072),a=n(3339),l=n(6844);const c="default",h="$initialize";let u=!1;function d(e){a.HZ&&(u||(u=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(e.message))}class g{constructor(e,t,n,r,i){this.vsWorker=e,this.req=t,this.channel=n,this.method=r,this.args=i,this.type=0}}class f{constructor(e,t,n,r){this.vsWorker=e,this.seq=t,this.res=n,this.err=r,this.type=1}}class m{constructor(e,t,n,r,i){this.vsWorker=e,this.req=t,this.channel=n,this.eventName=r,this.arg=i,this.type=2}}class p{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}}class b{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class _{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,n){const r=String(++this._lastSentReq);return new Promise(((i,s)=>{this._pendingReplies[r]={resolve:i,reject:s},this._send(new g(this._workerId,r,e,t,n))}))}listen(e,t,n){let r=null;const s=new i.vl({onWillAddFirstListener:()=>{r=String(++this._lastSentReq),this._pendingEmitters.set(r,s),this._send(new m(this._workerId,r,e,t,n))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(r),this._send(new b(this._workerId,r)),r=null}});return s.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}createProxyToRemoteChannel(e,t){const n={get:(n,r)=>("string"!=typeof r||n[r]||(C(r)?n[r]=t=>this.listen(e,r,t):v(r)?n[r]=this.listen(e,r,void 0):36===r.charCodeAt(0)&&(n[r]=async(...n)=>(await(t?.()),this.sendMessage(e,r,n)))),n[r])};return new Proxy(Object.create(null),n)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;return e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),void t.reject(n)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then((e=>{this._send(new f(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=(0,r.cU)(e.detail)),this._send(new f(this._workerId,t,void 0,(0,r.cU)(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,n=this._handler.handleEvent(e.channel,e.eventName,e.arg)((e=>{this._send(new p(this._workerId,t,e))}));this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let n=0;n<e.args.length;n++)e.args[n]instanceof ArrayBuffer&&t.push(e.args[n]);else 1===e.type&&e.res instanceof ArrayBuffer&&t.push(e.res);this._handler.sendMessage(e,t)}}class k extends s.jG{constructor(e,t){super(),this._localChannels=new Map,this._worker=this._register(e.create({amdModuleId:"vs/base/common/worker/simpleWorker",esmModuleLocation:t.esmModuleLocation,label:t.label},(e=>{this._protocol.handleMessage(e)}),(e=>{(0,r.dz)(e)}))),this._protocol=new _({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)}),this._protocol.setWorkerId(this._worker.getId());let n=null;const i=globalThis.require;void 0!==i&&"function"==typeof i.getConfig?n=i.getConfig():void 0!==globalThis.requirejs&&(n=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(c,h,[this._worker.getId(),JSON.parse(JSON.stringify(n)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(c,(async()=>{await this._onModuleLoaded})),this._onModuleLoaded.catch((e=>{this._onError("Worker failed to load "+t.amdModuleId,e)}))}_handleMessage(e,t,n){const r=this._localChannels.get(e);if(!r)return Promise.reject(new Error(`Missing channel ${e} on main thread`));if("function"!=typeof r[t])return Promise.reject(new Error(`Missing method ${t} on main thread channel ${e}`));try{return Promise.resolve(r[t].apply(r,n))}catch(i){return Promise.reject(i)}}_handleEvent(e,t,n){const r=this._localChannels.get(e);if(!r)throw new Error(`Missing channel ${e} on main thread`);if(C(t)){const i=r[t].call(r,n);if("function"!=typeof i)throw new Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return i}if(v(t)){const n=r[t];if("function"!=typeof n)throw new Error(`Missing event ${t} on main thread channel ${e}.`);return n}throw new Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}}function v(e){return"o"===e[0]&&"n"===e[1]&&l.Wv(e.charCodeAt(2))}function C(e){return/^onDynamic/.test(e)&&l.Wv(e.charCodeAt(9))}class y{constructor(e,t){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=t,this._requestHandler=null,this._protocol=new _({sendMessage:(t,n)=>{e(t,n)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t,n){if(e===c&&t===h)return this.initialize(n[0],n[1],n[2]);const r=e===c?this._requestHandler:this._localChannels.get(e);if(!r)return Promise.reject(new Error(`Missing channel ${e} on worker thread`));if("function"!=typeof r[t])return Promise.reject(new Error(`Missing method ${t} on worker thread channel ${e}`));try{return Promise.resolve(r[t].apply(r,n))}catch(i){return Promise.reject(i)}}_handleEvent(e,t,n){const r=e===c?this._requestHandler:this._localChannels.get(e);if(!r)throw new Error(`Missing channel ${e} on worker thread`);if(C(t)){const e=r[t].call(r,n);if("function"!=typeof e)throw new Error(`Missing dynamic event ${t} on request handler.`);return e}if(v(t)){const e=r[t];if("function"!=typeof e)throw new Error(`Missing event ${t} on request handler.`);return e}throw new Error(`Malformed event name ${t}`)}getChannel(e){if(!this._remoteChannels.has(e)){const t=this._protocol.createProxyToRemoteChannel(e);this._remoteChannels.set(e,t)}return this._remoteChannels.get(e)}async initialize(e,t,r){if(this._protocol.setWorkerId(e),!this._requestHandlerFactory){t&&(void 0!==t.baseUrl&&delete t.baseUrl,void 0!==t.paths&&void 0!==t.paths.vs&&delete t.paths.vs,void 0!==t.trustedTypesPolicy&&delete t.trustedTypesPolicy,t.catchError=!0,globalThis.require.config(t));{const e=o.zl.asBrowserUri(`${r}.js`).toString(!0);return n(5890)(`${e}`).then((e=>{if(this._requestHandler=e.create(this),!this._requestHandler)throw new Error("No RequestHandler!")}))}}this._requestHandler=this._requestHandlerFactory(this)}}function L(e){return new y(e,null)}},5890:(e,t,n)=>{var r={"./simpleWorker":5585,"./simpleWorker.js":5585,"monaco-editor/esm/vs/base/common/worker/simpleWorker":5585,"monaco-editor/esm/vs/base/common/worker/simpleWorker.js":5585};function i(e){return Promise.resolve().then((()=>{if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n(r[e])}))}i.keys=()=>Object.keys(r),i.id=5890,e.exports=i},7454:(e,t,n)=>{"use strict";n.d(t,{V:()=>i});var r=n(7512);class i{constructor(e){const t=(0,r.W)(e);this._defaultValue=t,this._asciiMap=i._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const n=(0,r.W)(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}},8295:(e,t,n)=>{"use strict";n.d(t,{AQ:()=>b,aZ:()=>p,l5:()=>C,lQ:()=>k,s7:()=>w,sH:()=>y,sN:()=>_,ss:()=>v,yI:()=>m,zp:()=>L});var r=n(7289),i=n(4901),s=n(9119),o=n(6001);const a=(0,s.x1A)("editor.lineHighlightBackground",null,r.kg("lineHighlight","Background color for the highlight of line at the cursor position.")),l=((0,s.x1A)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:s.b1q},r.kg("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),(0,s.x1A)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},r.kg("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},r.kg("rangeHighlightBorder","Background color of the border around highlighted ranges.")),(0,s.x1A)("editor.symbolHighlightBackground",{dark:s.Ubg,light:s.Ubg,hcDark:null,hcLight:null},r.kg("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},r.kg("symbolHighlightBorder","Background color of the border around highlighted symbols.")),(0,s.x1A)("editorCursor.foreground",{dark:"#AEAFAD",light:i.Q1.black,hcDark:i.Q1.white,hcLight:"#0F4A85"},r.kg("caret","Color of the editor cursor."))),c=(0,s.x1A)("editorCursor.background",null,r.kg("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),h=((0,s.x1A)("editorMultiCursor.primary.foreground",l,r.kg("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),(0,s.x1A)("editorMultiCursor.primary.background",c,r.kg("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),(0,s.x1A)("editorMultiCursor.secondary.foreground",l,r.kg("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),(0,s.x1A)("editorMultiCursor.secondary.background",c,r.kg("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),(0,s.x1A)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},r.kg("editorWhitespaces","Color of whitespace characters in the editor."))),u=((0,s.x1A)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:i.Q1.white,hcLight:"#292929"},r.kg("editorLineNumbers","Color of editor line numbers.")),(0,s.x1A)("editorIndentGuide.background",h,r.kg("editorIndentGuides","Color of the editor indentation guides."),!1,r.kg("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead."))),d=(0,s.x1A)("editorIndentGuide.activeBackground",h,r.kg("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,r.kg("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),g=((0,s.x1A)("editorIndentGuide.background1",u,r.kg("editorIndentGuides1","Color of the editor indentation guides (1).")),(0,s.x1A)("editorIndentGuide.background2","#00000000",r.kg("editorIndentGuides2","Color of the editor indentation guides (2).")),(0,s.x1A)("editorIndentGuide.background3","#00000000",r.kg("editorIndentGuides3","Color of the editor indentation guides (3).")),(0,s.x1A)("editorIndentGuide.background4","#00000000",r.kg("editorIndentGuides4","Color of the editor indentation guides (4).")),(0,s.x1A)("editorIndentGuide.background5","#00000000",r.kg("editorIndentGuides5","Color of the editor indentation guides (5).")),(0,s.x1A)("editorIndentGuide.background6","#00000000",r.kg("editorIndentGuides6","Color of the editor indentation guides (6).")),(0,s.x1A)("editorIndentGuide.activeBackground1",d,r.kg("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),(0,s.x1A)("editorIndentGuide.activeBackground2","#00000000",r.kg("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),(0,s.x1A)("editorIndentGuide.activeBackground3","#00000000",r.kg("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),(0,s.x1A)("editorIndentGuide.activeBackground4","#00000000",r.kg("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),(0,s.x1A)("editorIndentGuide.activeBackground5","#00000000",r.kg("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),(0,s.x1A)("editorIndentGuide.activeBackground6","#00000000",r.kg("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),(0,s.x1A)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:s.buw,hcLight:s.buw},r.kg("editorActiveLineNumber","Color of editor active line number"),!1,r.kg("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."))),f=((0,s.x1A)("editorLineNumber.activeForeground",g,r.kg("editorActiveLineNumber","Color of editor active line number")),(0,s.x1A)("editorLineNumber.dimmedForeground",null,r.kg("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed.")),(0,s.x1A)("editorRuler.foreground",{dark:"#5A5A5A",light:i.Q1.lightgrey,hcDark:i.Q1.white,hcLight:"#292929"},r.kg("editorRuler","Color of the editor rulers.")),(0,s.x1A)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},r.kg("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,s.x1A)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},r.kg("editorBracketMatchBackground","Background color behind matching brackets")),(0,s.x1A)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:s.b1q,hcLight:s.b1q},r.kg("editorBracketMatchBorder","Color for matching brackets boxes")),(0,s.x1A)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},r.kg("editorOverviewRulerBorder","Color of the overview ruler border.")),(0,s.x1A)("editorOverviewRuler.background",null,r.kg("editorOverviewRulerBackground","Background color of the editor overview ruler.")),(0,s.x1A)("editorGutter.background",s.YtV,r.kg("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,s.x1A)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:i.Q1.fromHex("#fff").transparent(.8),hcLight:s.b1q},r.kg("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),(0,s.x1A)("editorUnnecessaryCode.opacity",{dark:i.Q1.fromHex("#000a"),light:i.Q1.fromHex("#0007"),hcDark:null,hcLight:null},r.kg("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.")),(0,s.x1A)("editorGhostText.border",{dark:null,light:null,hcDark:i.Q1.fromHex("#fff").transparent(.8),hcLight:i.Q1.fromHex("#292929").transparent(.8)},r.kg("editorGhostTextBorder","Border color of ghost text in the editor.")),(0,s.x1A)("editorGhostText.foreground",{dark:i.Q1.fromHex("#ffffff56"),light:i.Q1.fromHex("#0007"),hcDark:null,hcLight:null},r.kg("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),(0,s.x1A)("editorGhostText.background",null,r.kg("editorGhostTextBackground","Background color of the ghost text in the editor.")),new i.Q1(new i.bU(0,122,204,.6))),m=((0,s.x1A)("editorOverviewRuler.rangeHighlightForeground",f,r.kg("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editorOverviewRuler.errorForeground",{dark:new i.Q1(new i.bU(255,18,18,.7)),light:new i.Q1(new i.bU(255,18,18,.7)),hcDark:new i.Q1(new i.bU(255,50,50,1)),hcLight:"#B5200D"},r.kg("overviewRuleError","Overview ruler marker color for errors."))),p=(0,s.x1A)("editorOverviewRuler.warningForeground",{dark:s.Hng,light:s.Hng,hcDark:s.Stt,hcLight:s.Stt},r.kg("overviewRuleWarning","Overview ruler marker color for warnings.")),b=(0,s.x1A)("editorOverviewRuler.infoForeground",{dark:s.pOz,light:s.pOz,hcDark:s.IIb,hcLight:s.IIb},r.kg("overviewRuleInfo","Overview ruler marker color for infos.")),_=(0,s.x1A)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},r.kg("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),k=(0,s.x1A)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},r.kg("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),v=(0,s.x1A)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},r.kg("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),C=(0,s.x1A)("editorBracketHighlight.foreground4","#00000000",r.kg("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),y=(0,s.x1A)("editorBracketHighlight.foreground5","#00000000",r.kg("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),L=(0,s.x1A)("editorBracketHighlight.foreground6","#00000000",r.kg("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),w=(0,s.x1A)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new i.Q1(new i.bU(255,18,18,.8)),light:new i.Q1(new i.bU(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},r.kg("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets."));(0,s.x1A)("editorBracketPairGuide.background1","#00000000",r.kg("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background2","#00000000",r.kg("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background3","#00000000",r.kg("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background4","#00000000",r.kg("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background5","#00000000",r.kg("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background6","#00000000",r.kg("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground1","#00000000",r.kg("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground2","#00000000",r.kg("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground3","#00000000",r.kg("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground4","#00000000",r.kg("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground5","#00000000",r.kg("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground6","#00000000",r.kg("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.x1A)("editorUnicodeHighlight.border",s.Hng,r.kg("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,s.x1A)("editorUnicodeHighlight.background",s.whs,r.kg("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));(0,o.zy)(((e,t)=>{const n=e.getColor(s.YtV),r=e.getColor(a),i=r&&!r.isTransparent()?r:n;i&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${i}; }`)}))},3902:(e,t,n)=>{"use strict";function r(e){let t=0,n=0,r=0,i=0;for(let s=0,o=e.length;s<o;s++){const a=e.charCodeAt(s);13===a?(0===t&&(n=s),t++,s+1<o&&10===e.charCodeAt(s+1)?(i|=2,s++):i|=3,r=s+1):10===a&&(i|=1,0===t&&(n=s),t++,r=s+1)}return 0===t&&(n=e.length),[t,n,e.length-r,i]}n.d(t,{W:()=>r})},9955:(e,t,n)=>{"use strict";n.d(t,{M:()=>a,S:()=>l});var r=n(4327),i=n(2532),s=n(8061),o=n(7393);class a{static fromRangeInclusive(e){return new a(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new l(e[0].slice());for(let n=1;n<e.length;n++)t=t.getUnion(new l(e[n].slice()));return t.ranges}static join(e){if(0===e.length)throw new r.D7("lineRanges cannot be empty");let t=e[0].startLineNumber,n=e[0].endLineNumberExclusive;for(let r=1;r<e.length;r++)t=Math.min(t,e[r].startLineNumber),n=Math.max(n,e[r].endLineNumberExclusive);return new a(t,n)}static ofLength(e,t){return new a(e,e+t)}static deserialize(e){return new a(e[0],e[1])}constructor(e,t){if(e>t)throw new r.D7(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&e<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(e){return new a(this.startLineNumber+e,this.endLineNumberExclusive+e)}deltaLength(e){return new a(this.startLineNumber,this.endLineNumberExclusive+e)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(e){return new a(Math.min(this.startLineNumber,e.startLineNumber),Math.max(this.endLineNumberExclusive,e.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(e){const t=Math.max(this.startLineNumber,e.startLineNumber),n=Math.min(this.endLineNumberExclusive,e.endLineNumberExclusive);if(t<=n)return new a(t,n)}intersectsStrict(e){return this.startLineNumber<e.endLineNumberExclusive&&e.startLineNumber<this.endLineNumberExclusive}overlapOrTouch(e){return this.startLineNumber<=e.endLineNumberExclusive&&e.startLineNumber<=this.endLineNumberExclusive}equals(e){return this.startLineNumber===e.startLineNumber&&this.endLineNumberExclusive===e.endLineNumberExclusive}toInclusiveRange(){return this.isEmpty?null:new s.Q(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new s.Q(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(e){const t=[];for(let n=this.startLineNumber;n<this.endLineNumberExclusive;n++)t.push(e(n));return t}forEach(e){for(let t=this.startLineNumber;t<this.endLineNumberExclusive;t++)e(t)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}includes(e){return this.startLineNumber<=e&&e<this.endLineNumberExclusive}toOffsetRange(){return new i.L(this.startLineNumber-1,this.endLineNumberExclusive-1)}}class l{constructor(e=[]){this._normalizedRanges=e}get ranges(){return this._normalizedRanges}addRange(e){if(0===e.length)return;const t=(0,o.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)this._normalizedRanges.splice(t,0,e);else if(t===n-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const r=this._normalizedRanges[t].join(this._normalizedRanges[n-1]).join(e);this._normalizedRanges.splice(t,n-t,r)}}contains(e){const t=(0,o.lx)(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=(0,o.lx)(this._normalizedRanges,(t=>t.startLineNumber<e.endLineNumberExclusive));return!!t&&t.endLineNumberExclusive>e.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let n=0,r=0,i=null;for(;n<this._normalizedRanges.length||r<e._normalizedRanges.length;){let s=null;if(n<this._normalizedRanges.length&&r<e._normalizedRanges.length){const t=this._normalizedRanges[n],i=e._normalizedRanges[r];t.startLineNumber<i.startLineNumber?(s=t,n++):(s=i,r++)}else n<this._normalizedRanges.length?(s=this._normalizedRanges[n],n++):(s=e._normalizedRanges[r],r++);null===i?i=s:i.endLineNumberExclusive>=s.startLineNumber?i=new a(i.startLineNumber,Math.max(i.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(i),i=s)}return null!==i&&t.push(i),new l(t)}subtractFrom(e){const t=(0,o.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)return new l([e]);const r=[];let i=e.startLineNumber;for(let s=t;s<n;s++){const e=this._normalizedRanges[s];e.startLineNumber>i&&r.push(new a(i,e.startLineNumber)),i=e.endLineNumberExclusive}return i<e.endLineNumberExclusive&&r.push(new a(i,e.endLineNumberExclusive)),new l(r)}toString(){return this._normalizedRanges.map((e=>e.toString())).join(", ")}getIntersection(e){const t=[];let n=0,r=0;for(;n<this._normalizedRanges.length&&r<e._normalizedRanges.length;){const i=this._normalizedRanges[n],s=e._normalizedRanges[r],o=i.intersect(s);o&&!o.isEmpty&&t.push(o),i.endLineNumberExclusive<s.endLineNumberExclusive?n++:r++}return new l(t)}getWithDelta(e){return new l(this._normalizedRanges.map((t=>t.delta(e))))}}},2532:(e,t,n)=>{"use strict";n.d(t,{L:()=>i});var r=n(4327);class i{static addRange(e,t){let n=0;for(;n<t.length&&t[n].endExclusive<e.start;)n++;let r=n;for(;r<t.length&&t[r].start<=e.endExclusive;)r++;if(n===r)t.splice(n,0,e);else{const s=Math.min(e.start,t[n].start),o=Math.max(e.endExclusive,t[r-1].endExclusive);t.splice(n,r-n,new i(s,o))}}static tryCreate(e,t){if(!(e>t))return new i(e,t)}static ofLength(e){return new i(0,e)}static ofStartAndLength(e,t){return new i(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new r.D7(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new i(this.start+e,this.endExclusive+e)}deltaStart(e){return new i(this.start+e,this.endExclusive)}deltaEnd(e){return new i(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new i(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const t=Math.max(this.start,e.start),n=Math.min(this.endExclusive,e.endExclusive);if(t<=n)return new i(t,n)}intersects(e){return Math.max(this.start,e.start)<Math.min(this.endExclusive,e.endExclusive)}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new r.D7(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new r.D7(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;t<this.endExclusive;t++)e(t)}}},5365:(e,t,n)=>{"use strict";n.d(t,{y:()=>r});class r{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new r(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return r.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return r.isBefore(this,e)}static isBefore(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<t.column}isBeforeOrEqual(e){return r.isBeforeOrEqual(this,e)}static isBeforeOrEqual(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<=t.column}static compare(e,t){const n=0|e.lineNumber,r=0|t.lineNumber;if(n===r){return(0|e.column)-(0|t.column)}return n-r}clone(){return new r(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(e){return new r(e.lineNumber,e.column)}static isIPosition(e){return e&&"number"==typeof e.lineNumber&&"number"==typeof e.column}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}},8061:(e,t,n)=>{"use strict";n.d(t,{Q:()=>i});var r=n(5365);class i{constructor(e,t,n,r){e>n||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return i.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return i.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>e.endColumn))}static strictContainsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<=e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>=e.endColumn))}containsRange(e){return i.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)))}strictContainsRange(e){return i.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}plusRange(e){return i.plusRange(this,e)}static plusRange(e,t){let n,r,s,o;return t.startLineNumber<e.startLineNumber?(n=t.startLineNumber,r=t.startColumn):t.startLineNumber===e.startLineNumber?(n=t.startLineNumber,r=Math.min(t.startColumn,e.startColumn)):(n=e.startLineNumber,r=e.startColumn),t.endLineNumber>e.endLineNumber?(s=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,o=e.endColumn),new i(n,r,s,o)}intersectRanges(e){return i.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,r=e.startColumn,s=e.endLineNumber,o=e.endColumn;const a=t.startLineNumber,l=t.startColumn,c=t.endLineNumber,h=t.endColumn;return n<a?(n=a,r=l):n===a&&(r=Math.max(r,l)),s>c?(s=c,o=h):s===c&&(o=Math.min(o,h)),n>s||n===s&&r>o?null:new i(n,r,s,o)}equalsRange(e){return i.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return i.getEndPosition(this)}static getEndPosition(e){return new r.y(e.endLineNumber,e.endColumn)}getStartPosition(){return i.getStartPosition(this)}static getStartPosition(e){return new r.y(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new i(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new i(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return i.collapseToStart(this)}static collapseToStart(e){return new i(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return i.collapseToEnd(this)}static collapseToEnd(e){return new i(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new i(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new i(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new i(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)}static areIntersecting(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn)}static compareRangesUsingStarts(e,t){if(e&&t){const n=0|e.startLineNumber,r=0|t.startLineNumber;if(n===r){const n=0|e.startColumn,r=0|t.startColumn;if(n===r){const n=0|e.endLineNumber,r=0|t.endLineNumber;if(n===r){return(0|e.endColumn)-(0|t.endColumn)}return n-r}return n-r}return n-r}return(e?1:0)-(t?1:0)}static compareRangesUsingEnds(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber}static spansMultipleLines(e){return e.endLineNumber>e.startLineNumber}toJSON(){return this}}},3702:(e,t,n)=>{"use strict";n.d(t,{L:()=>s});var r=n(5365),i=n(8061);class s extends i.Q{constructor(e,t,n,r){super(e,t,n,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return s.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new s(this.startLineNumber,this.startColumn,e,t):new s(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new r.y(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new r.y(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new s(e,t,this.endLineNumber,this.endColumn):new s(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new s(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new s(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new s(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new s(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;n++)if(!this.selectionsEqual(e[n],t[n]))return!1;return!0}static isISelection(e){return e&&"number"==typeof e.selectionStartLineNumber&&"number"==typeof e.selectionStartColumn&&"number"==typeof e.positionLineNumber&&"number"==typeof e.positionColumn}static createWithDirection(e,t,n,r,i){return 0===i?new s(e,t,n,r):new s(n,r,e,t)}}},8357:(e,t,n)=>{"use strict";n.d(t,{W:()=>s});var r=n(5365),i=n(8061);class s{static{this.zero=new s(0,0)}static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new s(0,t.column-e.column):new s(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return s.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,n=0;for(const r of e)"\n"===r?(t++,n=0):n++;return new s(t,n)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return 0===this.lineCount?new i.Q(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new i.Q(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new r.y(e.lineNumber,e.column+this.columnCount):new r.y(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}},8782:(e,t,n)=>{"use strict";n.d(t,{Io:()=>o,Ld:()=>s,Th:()=>l});var r=n(7954),i=n(5525);const s=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of"`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?")e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();function o(e){let t=s;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const a=new i.w;function l(e,t,n,i,s){if(t=o(t),s||(s=r.f.first(a)),n.length>s.maxLen){let r=e-s.maxLen/2;return r<0?r=0:i+=r,l(e,t,n=n.substring(r,e+s.maxLen/2),i,s)}const h=Date.now(),u=e-1-i;let d=-1,g=null;for(let r=1;!(Date.now()-h>=s.timeBudget);r++){const e=u-s.windowSize*r;t.lastIndex=Math.max(0,e);const i=c(t,n,u,d);if(!i&&g)break;if(g=i,e<=0)break;d=e}if(g){const e={word:g[0],startColumn:i+1+g.index,endColumn:i+1+g.index+g[0].length};return t.lastIndex=0,e}return null}function c(e,t,n,r){let i;for(;i=e.exec(t);){const t=i.index||0;if(t<=n&&e.lastIndex>=n)return i;if(r>0&&t>r)return null}return null}a.unshift({maxLen:1e3,windowSize:15,timeBudget:150})},5910:(e,t,n)=>{"use strict";n.d(t,{x:()=>r});class r{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),8&n&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const n=this.getForeground(e),r=this.getFontStyle(e);let i=`color: ${t[n]};`;1&r&&(i+="font-style: italic;"),2&r&&(i+="font-weight: bold;");let s="";return 4&r&&(s+=" underline"),8&r&&(s+=" line-through"),s&&(i+=`text-decoration:${s};`),i}static getPresentationFromMetadata(e){const t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&n),bold:Boolean(2&n),underline:Boolean(4&n),strikethrough:Boolean(8&n)}}}},9694:(e,t,n)=>{"use strict";n.d(t,{rY:()=>p,ou:()=>m,dG:()=>L,OB:()=>w});var r=n(8391),i=(n(7264),n(2106)),s=n(2446);class o{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new i.vl,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),(0,s.s)((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){this._factories.get(e)?.dispose();const n=new a(this,e,t);return this._factories.set(e,n),(0,s.s)((()=>{const t=this._factories.get(e);t&&t===n&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const n=this._factories.get(e);return!n||n.isResolved?null:(await n.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}class a extends s.jG{get isResolved(){return this._isResolved}constructor(e,t,n){super(),this._registry=e,this._languageId=t,this._factory=n,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}var l,c,h,u,d,g,f=n(7289);class m{constructor(e,t,n){this.offset=e,this.type=t,this.language=n,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class p{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}!function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(l||(l={})),function(e){const t=new Map;t.set(0,r.W.symbolMethod),t.set(1,r.W.symbolFunction),t.set(2,r.W.symbolConstructor),t.set(3,r.W.symbolField),t.set(4,r.W.symbolVariable),t.set(5,r.W.symbolClass),t.set(6,r.W.symbolStruct),t.set(7,r.W.symbolInterface),t.set(8,r.W.symbolModule),t.set(9,r.W.symbolProperty),t.set(10,r.W.symbolEvent),t.set(11,r.W.symbolOperator),t.set(12,r.W.symbolUnit),t.set(13,r.W.symbolValue),t.set(15,r.W.symbolEnum),t.set(14,r.W.symbolConstant),t.set(15,r.W.symbolEnum),t.set(16,r.W.symbolEnumMember),t.set(17,r.W.symbolKeyword),t.set(27,r.W.symbolSnippet),t.set(18,r.W.symbolText),t.set(19,r.W.symbolColor),t.set(20,r.W.symbolFile),t.set(21,r.W.symbolReference),t.set(22,r.W.symbolCustomColor),t.set(23,r.W.symbolFolder),t.set(24,r.W.symbolTypeParameter),t.set(25,r.W.account),t.set(26,r.W.issues),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for CompletionItemKind "+e),n=r.W.symbolProperty),n};const n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",27),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),e.fromString=function(e,t){let r=n.get(e);return void 0!==r||t||(r=9),r}}(c||(c={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(h||(h={}));!function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(u||(u={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(d||(d={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(g||(g={}));(0,f.kg)("Array","array"),(0,f.kg)("Boolean","boolean"),(0,f.kg)("Class","class"),(0,f.kg)("Constant","constant"),(0,f.kg)("Constructor","constructor"),(0,f.kg)("Enum","enumeration"),(0,f.kg)("EnumMember","enumeration member"),(0,f.kg)("Event","event"),(0,f.kg)("Field","field"),(0,f.kg)("File","file"),(0,f.kg)("Function","function"),(0,f.kg)("Interface","interface"),(0,f.kg)("Key","key"),(0,f.kg)("Method","method"),(0,f.kg)("Module","module"),(0,f.kg)("Namespace","namespace"),(0,f.kg)("Null","null"),(0,f.kg)("Number","number"),(0,f.kg)("Object","object"),(0,f.kg)("Operator","operator"),(0,f.kg)("Package","package"),(0,f.kg)("Property","property"),(0,f.kg)("String","string"),(0,f.kg)("Struct","struct"),(0,f.kg)("TypeParameter","type parameter"),(0,f.kg)("Variable","variable");var b,_,k,v,C;!function(e){const t=new Map;t.set(0,r.W.symbolFile),t.set(1,r.W.symbolModule),t.set(2,r.W.symbolNamespace),t.set(3,r.W.symbolPackage),t.set(4,r.W.symbolClass),t.set(5,r.W.symbolMethod),t.set(6,r.W.symbolProperty),t.set(7,r.W.symbolField),t.set(8,r.W.symbolConstructor),t.set(9,r.W.symbolEnum),t.set(10,r.W.symbolInterface),t.set(11,r.W.symbolFunction),t.set(12,r.W.symbolVariable),t.set(13,r.W.symbolConstant),t.set(14,r.W.symbolString),t.set(15,r.W.symbolNumber),t.set(16,r.W.symbolBoolean),t.set(17,r.W.symbolArray),t.set(18,r.W.symbolObject),t.set(19,r.W.symbolKey),t.set(20,r.W.symbolNull),t.set(21,r.W.symbolEnumMember),t.set(22,r.W.symbolStruct),t.set(23,r.W.symbolEvent),t.set(24,r.W.symbolOperator),t.set(25,r.W.symbolTypeParameter),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for SymbolKind "+e),n=r.W.symbolProperty),n}}(b||(b={}));class y{static{this.Comment=new y("comment")}static{this.Imports=new y("imports")}static{this.Region=new y("region")}static fromValue(e){switch(e){case"comment":return y.Comment;case"imports":return y.Imports;case"region":return y.Region}return new y(e)}constructor(e){this.value=e}}!function(e){e[e.AIGenerated=1]="AIGenerated"}(_||(_={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(k||(k={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&("string"==typeof e.id&&"string"==typeof e.title)}}(v||(v={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(C||(C={}));const L=new o,w=new o;var S;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(S||(S={}))},7922:(e,t,n)=>{"use strict";n.d(t,{L:()=>r});const r=(0,n(2399).u1)("languageService")},4957:(e,t,n)=>{"use strict";n.d(t,{W6:()=>l,vH:()=>c});var r=n(7289),i=n(2106),s=n(7167),o=n(3720),a=n(7142);const l=new class{constructor(){this._onDidChangeLanguages=new i.vl,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t<n;t++)if(this._languages[t]===e)return void this._languages.splice(t,1)}}}getLanguages(){return this._languages}};s.O.add("editor.modesRegistry",l);const c="plaintext";l.registerLanguage({id:c,extensions:[".txt"],aliases:[r.kg("plainText.alias","Plain Text"),"text"],mimetypes:[o.K.text]}),s.O.as(a.Fd.Configuration).registerDefaultConfigurations([{overrides:{"[plaintext]":{"editor.unicodeHighlight.ambiguousCharacters":!1,"editor.unicodeHighlight.invisibleCharacters":!1}}}])},6055:(e,t,n)=>{"use strict";n.d(t,{A5:()=>r,Dg:()=>l,F4:()=>d,L5:()=>u,Wo:()=>h,X2:()=>a,ZS:()=>i,nk:()=>c,vd:()=>g});var r,i,s,o=n(1386);!function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(r||(r={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(i||(i={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(s||(s={}));class a{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|e.tabSize),"tabSize"===e.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|e.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace),this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&(0,o.aI)(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class l{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function c(e){return e&&"function"==typeof e.read}class h{constructor(e,t,n,r,i,s){this.identifier=e,this.range=t,this.text=n,this.forceMoveMarkers=r,this.isAutoWhitespaceEdit=i,this._isTracked=s}}class u{constructor(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}class d{constructor(e,t,n){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=n}}function g(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},2389:(e,t,n)=>{"use strict";n.d(t,{lt:()=>u,W5:()=>p,hB:()=>f,dr:()=>d,wC:()=>m});var r=n(6844),i=n(7992),s=n(7454);class o extends s.V{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let n=0,r=e.length;n<r;n++)this.set(e.charCodeAt(n),2);this.set(32,1),this.set(9,1)}findPrevIntlWordBeforeOrAtOffset(e,t){let n=null;for(const r of this._getIntlSegmenterWordsOnLine(e)){if(r.index>t)break;n=r}return n}findNextIntlWordAtOrAfterOffset(e,t){for(const n of this._getIntlSegmenterWordsOnLine(e))if(!(n.index<t))return n;return null}_getIntlSegmenterWordsOnLine(e){return this._segmenter?(this._cachedLine===e||(this._cachedLine=e,this._cachedSegments=this._filterWordSegments(this._segmenter.segment(e))),this._cachedSegments):[]}_filterWordSegments(e){const t=[];for(const n of e)this._isWordLike(n)&&t.push(n);return t}_isWordLike(e){return!!e.isWordLike}}const a=new i.qK(10);var l=n(5365),c=n(8061),h=n(6055);class u{constructor(e,t,n,r){this.searchString=e,this.isRegex=t,this.matchCase=n,this.wordSeparators=r}parseSearchRequest(){if(""===this.searchString)return null;let e;e=this.isRegex?function(e){if(!e||0===e.length)return!1;for(let t=0,n=e.length;t<n;t++){const r=e.charCodeAt(t);if(10===r)return!0;if(92===r){if(t++,t>=n)break;const r=e.charCodeAt(t);if(110===r||114===r||87===r)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=r.OS(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(i){return null}if(!t)return null;let n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new h.L5(t,this.wordSeparators?function(e,t){const n=`${e}/${t.join(",")}`;let r=a.get(n);return r||(r=new o(e,t),a.set(n,r)),r}(this.wordSeparators,[]):null,n?this.searchString:null)}}function d(e,t,n){if(!n)return new h.Dg(e,null);const r=[];for(let i=0,s=t.length;i<s;i++)r[i]=t[i];return new h.Dg(e,r)}class g{constructor(e){const t=[];let n=0;for(let r=0,i=e.length;r<i;r++)10===e.charCodeAt(r)&&(t[n++]=r);this._lineFeedsOffsets=t}findLineFeedCountBeforeOffset(e){const t=this._lineFeedsOffsets;let n=0,r=t.length-1;if(-1===r)return 0;if(e<=t[0])return 0;for(;n<r;){const i=n+((r-n)/2|0);t[i]>=e?r=i-1:t[i+1]>=e?(n=i,r=i):n=i+1}return n+1}}class f{static findMatches(e,t,n,r,i){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,n,new p(s.wordSeparators,s.regex),r,i):this._doFindMatchesLineByLine(e,n,s,r,i):[]}static _getMultilineMatchRange(e,t,n,r,i,s){let o,a,l=0;if(r?(l=r.findLineFeedCountBeforeOffset(i),o=t+i+l):o=t+i,r){const e=r.findLineFeedCountBeforeOffset(i+s.length)-l;a=o+s.length+e}else a=o+s.length;const h=e.getPositionAt(o),u=e.getPositionAt(a);return new c.Q(h.lineNumber,h.column,u.lineNumber,u.column)}static _doFindMatchesMultiline(e,t,n,r,i){const s=e.getOffsetAt(t.getStartPosition()),o=e.getValueInRange(t,1),a="\r\n"===e.getEOL()?new g(o):null,l=[];let c,h=0;for(n.reset(0);c=n.next(o);)if(l[h++]=d(this._getMultilineMatchRange(e,s,o,a,c.index,c[0]),c,r),h>=i)return l;return l}static _doFindMatchesLineByLine(e,t,n,r,i){const s=[];let o=0;if(t.startLineNumber===t.endLineNumber){const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,r,i),s}const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,r,i);for(let l=t.startLineNumber+1;l<t.endLineNumber&&o<i;l++)o=this._findMatchesInLine(n,e.getLineContent(l),l,0,o,s,r,i);if(o<i){const a=e.getLineContent(t.endLineNumber).substring(0,t.endColumn-1);o=this._findMatchesInLine(n,a,t.endLineNumber,0,o,s,r,i)}return s}static _findMatchesInLine(e,t,n,r,i,s,o,a){const l=e.wordSeparators;if(!o&&e.simpleSearch){const o=e.simpleSearch,u=o.length,d=t.length;let g=-u;for(;-1!==(g=t.indexOf(o,g+u));)if((!l||m(l,t,d,g,u))&&(s[i++]=new h.Dg(new c.Q(n,g+1+r,n,g+1+u+r),null),i>=a))return i;return i}const u=new p(e.wordSeparators,e.regex);let g;u.reset(0);do{if(g=u.next(t),g&&(s[i++]=d(new c.Q(n,g.index+1+r,n,g.index+1+g[0].length+r),g,o),i>=a))return i}while(g);return i}static findNextMatch(e,t,n,r){const i=t.parseSearchRequest();if(!i)return null;const s=new p(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindNextMatchMultiline(e,n,s,r):this._doFindNextMatchLineByLine(e,n,s,r)}static _doFindNextMatchMultiline(e,t,n,r){const i=new l.y(t.lineNumber,1),s=e.getOffsetAt(i),o=e.getLineCount(),a=e.getValueInRange(new c.Q(i.lineNumber,i.column,o,e.getLineMaxColumn(o)),1),h="\r\n"===e.getEOL()?new g(a):null;n.reset(t.column-1);const u=n.next(a);return u?d(this._getMultilineMatchRange(e,s,a,h,u.index,u[0]),u,r):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new l.y(1,1),n,r):null}static _doFindNextMatchLineByLine(e,t,n,r){const i=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s),a=this._findFirstMatchInLine(n,o,s,t.column,r);if(a)return a;for(let l=1;l<=i;l++){const t=(s+l-1)%i,o=e.getLineContent(t+1),a=this._findFirstMatchInLine(n,o,t+1,1,r);if(a)return a}return null}static _findFirstMatchInLine(e,t,n,r,i){e.reset(r-1);const s=e.next(t);return s?d(new c.Q(n,s.index+1,n,s.index+1+s[0].length),s,i):null}static findPreviousMatch(e,t,n,r){const i=t.parseSearchRequest();if(!i)return null;const s=new p(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindPreviousMatchMultiline(e,n,s,r):this._doFindPreviousMatchLineByLine(e,n,s,r)}static _doFindPreviousMatchMultiline(e,t,n,r){const i=this._doFindMatchesMultiline(e,new c.Q(1,1,t.lineNumber,t.column),n,r,9990);if(i.length>0)return i[i.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new l.y(s,e.getLineMaxColumn(s)),n,r):null}static _doFindPreviousMatchLineByLine(e,t,n,r){const i=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s).substring(0,t.column-1),a=this._findLastMatchInLine(n,o,s,r);if(a)return a;for(let l=1;l<=i;l++){const t=(i+s-l-1)%i,o=e.getLineContent(t+1),a=this._findLastMatchInLine(n,o,t+1,r);if(a)return a}return null}static _findLastMatchInLine(e,t,n,r){let i,s=null;for(e.reset(0);i=e.next(t);)s=d(new c.Q(n,i.index+1,n,i.index+1+i[0].length),i,r);return s}}function m(e,t,n,r,i){return function(e,t,n,r,i){if(0===r)return!0;const s=t.charCodeAt(r-1);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(i>0){const n=t.charCodeAt(r);if(0!==e.get(n))return!0}return!1}(e,t,0,r,i)&&function(e,t,n,r,i){if(r+i===n)return!0;const s=t.charCodeAt(r+i);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(i>0){const n=t.charCodeAt(r+i-1);if(0!==e.get(n))return!0}return!1}(e,t,n,r,i)}class p{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(n=this._searchRegex.exec(e),!n)return null;const i=n.index,s=n[0].length;if(i===this._prevMatchStartIndex&&s===this._prevMatchLength){if(0===s){r.Z5(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=i,this._prevMatchLength=s,!this._wordSeparators||m(this._wordSeparators,e,t,i,s))return n}while(n);return null}}},1583:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KeyMod:()=>fe,createMonacoBaseAPI:()=>me});var r=n(8903),i=n(2106);class s{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const o=new s,a=new s,l=new s,c=new Array(230),h={},u=[],d=Object.create(null),g=Object.create(null),f=[],m=[];for(let pe=0;pe<=193;pe++)f[pe]=-1;for(let pe=0;pe<=132;pe++)m[pe]=-1;var p;!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],n=[],r=[];for(const i of t){const[e,t,s,p,b,_,k,v,C]=i;if(r[t]||(r[t]=!0,u[t]=s,d[s]=t,g[s.toLowerCase()]=t,e&&(f[t]=p,0!==p&&3!==p&&5!==p&&4!==p&&6!==p&&57!==p&&(m[p]=t))),!n[p]){if(n[p]=!0,!b)throw new Error(`String representation missing for key code ${p} around scan code ${s}`);o.define(p,b),a.define(p,v||b),l.define(p,C||v||b)}_&&(c[_]=p),k&&(h[k]=p)}m[3]=46}(),function(e){e.toString=function(e){return o.keyCodeToStr(e)},e.fromString=function(e){return o.strToKeyCode(e)},e.toUserSettingsUS=function(e){return a.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return l.keyCodeToStr(e)},e.fromUserSettings=function(e){return a.strToKeyCode(e)||l.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return o.keyCodeToStr(e)}}(p||(p={}));var b,_,k,v,C,y,L,w,S,x,E,N,T,A,I,O,M,R,D,B,F,P,V,z,j,q,W,U,$,H,K,G,Q,J,X,Y,Z,ee,te,ne,re,ie,se,oe,ae,le,ce=n(7264),he=n(5365),ue=n(8061),de=n(3702),ge=n(9694);!function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(b||(b={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(_||(_={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(k||(k={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(v||(v={})),function(e){e[e.Deprecated=1]="Deprecated"}(C||(C={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(y||(y={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(L||(L={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(w||(w={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(S||(S={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(x||(x={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(E||(E={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.placeholder=88]="placeholder",e[e.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",e[e.quickSuggestions=90]="quickSuggestions",e[e.quickSuggestionsDelay=91]="quickSuggestionsDelay",e[e.readOnly=92]="readOnly",e[e.readOnlyMessage=93]="readOnlyMessage",e[e.renameOnType=94]="renameOnType",e[e.renderControlCharacters=95]="renderControlCharacters",e[e.renderFinalNewline=96]="renderFinalNewline",e[e.renderLineHighlight=97]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=99]="renderValidationDecorations",e[e.renderWhitespace=100]="renderWhitespace",e[e.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",e[e.roundedSelection=102]="roundedSelection",e[e.rulers=103]="rulers",e[e.scrollbar=104]="scrollbar",e[e.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=106]="scrollBeyondLastLine",e[e.scrollPredominantAxis=107]="scrollPredominantAxis",e[e.selectionClipboard=108]="selectionClipboard",e[e.selectionHighlight=109]="selectionHighlight",e[e.selectOnLineNumbers=110]="selectOnLineNumbers",e[e.showFoldingControls=111]="showFoldingControls",e[e.showUnused=112]="showUnused",e[e.snippetSuggestions=113]="snippetSuggestions",e[e.smartSelect=114]="smartSelect",e[e.smoothScrolling=115]="smoothScrolling",e[e.stickyScroll=116]="stickyScroll",e[e.stickyTabStops=117]="stickyTabStops",e[e.stopRenderingLineAfter=118]="stopRenderingLineAfter",e[e.suggest=119]="suggest",e[e.suggestFontSize=120]="suggestFontSize",e[e.suggestLineHeight=121]="suggestLineHeight",e[e.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",e[e.suggestSelection=123]="suggestSelection",e[e.tabCompletion=124]="tabCompletion",e[e.tabIndex=125]="tabIndex",e[e.unicodeHighlighting=126]="unicodeHighlighting",e[e.unusualLineTerminators=127]="unusualLineTerminators",e[e.useShadowDOM=128]="useShadowDOM",e[e.useTabStops=129]="useTabStops",e[e.wordBreak=130]="wordBreak",e[e.wordSegmenterLocales=131]="wordSegmenterLocales",e[e.wordSeparators=132]="wordSeparators",e[e.wordWrap=133]="wordWrap",e[e.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=136]="wordWrapColumn",e[e.wordWrapOverride1=137]="wordWrapOverride1",e[e.wordWrapOverride2=138]="wordWrapOverride2",e[e.wrappingIndent=139]="wrappingIndent",e[e.wrappingStrategy=140]="wrappingStrategy",e[e.showDeprecated=141]="showDeprecated",e[e.inlayHints=142]="inlayHints",e[e.editorClassName=143]="editorClassName",e[e.pixelRatio=144]="pixelRatio",e[e.tabFocusMode=145]="tabFocusMode",e[e.layoutInfo=146]="layoutInfo",e[e.wrappingInfo=147]="wrappingInfo",e[e.defaultColorDecorators=148]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"}(N||(N={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(T||(T={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(A||(A={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(I||(I={})),function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(O||(O={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(M||(M={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(R||(R={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(D||(D={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(B||(B={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(F||(F={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(P||(P={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(V||(V={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(z||(z={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(j||(j={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(q||(q={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(W||(W={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(U||(U={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}($||($={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(H||(H={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(K||(K={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(G||(G={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(Q||(Q={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(J||(J={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(X||(X={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(Y||(Y={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(Z||(Z={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(ee||(ee={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(te||(te={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(ne||(ne={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(re||(re={})),function(e){e[e.Deprecated=1]="Deprecated"}(ie||(ie={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(se||(se={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(oe||(oe={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(ae||(ae={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(le||(le={}));class fe{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(e,t){return function(e,t){return(e|(65535&t)<<16>>>0)>>>0}(e,t)}}function me(){return{editor:void 0,languages:void 0,CancellationTokenSource:r.Qi,Emitter:i.vl,KeyCode:P,KeyMod:fe,Position:he.y,Range:ue.Q,Selection:de.L,SelectionDirection:ee,MarkerSeverity:V,MarkerTag:z,Uri:ce.r,Token:ge.ou}}},1684:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BaseEditorSimpleWorker:()=>Pe,EditorSimpleWorker:()=>Ve,create:()=>ze});class r{constructor(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}var i=n(2344);class s{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,r=e.length;n<r;n++)t[n]=e.charCodeAt(n);return t}}function o(e,t,n){return new h(new s(e),new s(t)).ComputeDiff(n).changes}class a{static Assert(e,t){if(!e)throw new Error(t)}}class l{static Copy(e,t,n,r,i){for(let s=0;s<i;s++)n[r+s]=e[t+s]}static Copy2(e,t,n,r,i){for(let s=0;s<i;s++)n[r+s]=e[t+s]}}class c{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new r(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class h{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[r,i,s]=h._getElements(e),[o,a,l]=h._getElements(t);this._hasStrings=s&&l,this._originalStringElements=r,this._originalElementsOrHash=i,this._modifiedStringElements=o,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(h._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,r=t.length;n<r;n++)e[n]=(0,i.e2)(t[n],0);return[t,e,!0]}return t instanceof Int32Array?[[],t,!1]:[[],new Int32Array(t),!1]}ElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._modifiedStringElements[t])}ElementsAreStrictEqual(e,t){if(!this.ElementsAreEqual(e,t))return!1;return h._getStrictElement(this._originalSequence,e)===h._getStrictElement(this._modifiedSequence,t)}static _getStrictElement(e,t){return"function"==typeof e.getStrictElement?e.getStrictElement(t):null}OriginalElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._originalElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._originalStringElements[t])}ModifiedElementsAreEqual(e,t){return this._modifiedElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._modifiedStringElements[e]===this._modifiedStringElements[t])}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,t,n,r,i){const s=[!1];let o=this.ComputeDiffRecursive(e,t,n,r,s);return i&&(o=this.PrettifyChanges(o)),{quitEarly:s[0],changes:o}}ComputeDiffRecursive(e,t,n,i,s){for(s[0]=!1;e<=t&&n<=i&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&i>=n&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||n>i){let s;return n<=i?(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s=[new r(e,0,n,i-n+1)]):e<=t?(a.Assert(n===i+1,"modifiedStart should only be one more than modifiedEnd"),s=[new r(e,t-e+1,n,0)]):(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a.Assert(n===i+1,"modifiedStart should only be one more than modifiedEnd"),s=[]),s}const o=[0],l=[0],c=this.ComputeRecursionPoint(e,t,n,i,o,l,s),h=o[0],u=l[0];if(null!==c)return c;if(!s[0]){const o=this.ComputeDiffRecursive(e,h,n,u,s);let a=[];return a=s[0]?[new r(h+1,t-(h+1)+1,u+1,i-(u+1)+1)]:this.ComputeDiffRecursive(h+1,t,u+1,i,s),this.ConcatenateChanges(o,a)}return[new r(e,t-e+1,n,i-n+1)]}WALKTRACE(e,t,n,i,s,o,a,l,h,u,d,g,f,m,p,b,_,k){let v=null,C=null,y=new c,L=t,w=n,S=f[0]-b[0]-i,x=-1073741824,E=this.m_forwardHistory.length-1;do{const t=S+e;t===L||t<w&&h[t-1]<h[t+1]?(m=(d=h[t+1])-S-i,d<x&&y.MarkNextChange(),x=d,y.AddModifiedElement(d+1,m),S=t+1-e):(m=(d=h[t-1]+1)-S-i,d<x&&y.MarkNextChange(),x=d-1,y.AddOriginalElement(d,m+1),S=t-1-e),E>=0&&(e=(h=this.m_forwardHistory[E])[0],L=1,w=h.length-1)}while(--E>=-1);if(v=y.getReverseChanges(),k[0]){let e=f[0]+1,t=b[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}C=[new r(e,g-e+1,t,p-t+1)]}else{y=new c,L=o,w=a,S=f[0]-b[0]-l,x=1073741824,E=_?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=S+s;e===L||e<w&&u[e-1]>=u[e+1]?(m=(d=u[e+1]-1)-S-l,d>x&&y.MarkNextChange(),x=d+1,y.AddOriginalElement(d+1,m+1),S=e+1-s):(m=(d=u[e-1])-S-l,d>x&&y.MarkNextChange(),x=d,y.AddModifiedElement(d+1,m+1),S=e-1-s),E>=0&&(s=(u=this.m_reverseHistory[E])[0],L=1,w=u.length-1)}while(--E>=-1);C=y.getChanges()}return this.ConcatenateChanges(v,C)}ComputeRecursionPoint(e,t,n,i,s,o,a){let c=0,h=0,u=0,d=0,g=0,f=0;e--,n--,s[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const m=t-e+(i-n),p=m+1,b=new Int32Array(p),_=new Int32Array(p),k=i-n,v=t-e,C=e-n,y=t-i,L=(v-k)%2==0;b[k]=e,_[v]=t,a[0]=!1;for(let w=1;w<=m/2+1;w++){let m=0,S=0;u=this.ClipDiagonalBound(k-w,w,k,p),d=this.ClipDiagonalBound(k+w,w,k,p);for(let e=u;e<=d;e+=2){c=e===u||e<d&&b[e-1]<b[e+1]?b[e+1]:b[e-1]+1,h=c-(e-k)-C;const n=c;for(;c<t&&h<i&&this.ElementsAreEqual(c+1,h+1);)c++,h++;if(b[e]=c,c+h>m+S&&(m=c,S=h),!L&&Math.abs(e-v)<=w-1&&c>=_[e])return s[0]=c,o[0]=h,n<=_[e]&&w<=1448?this.WALKTRACE(k,u,d,C,v,g,f,y,b,_,c,t,s,h,i,o,L,a):null}const x=(m-e+(S-n)-w)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(m,x))return a[0]=!0,s[0]=m,o[0]=S,x>0&&w<=1448?this.WALKTRACE(k,u,d,C,v,g,f,y,b,_,c,t,s,h,i,o,L,a):(e++,n++,[new r(e,t-e+1,n,i-n+1)]);g=this.ClipDiagonalBound(v-w,w,v,p),f=this.ClipDiagonalBound(v+w,w,v,p);for(let r=g;r<=f;r+=2){c=r===g||r<f&&_[r-1]>=_[r+1]?_[r+1]-1:_[r-1],h=c-(r-v)-y;const l=c;for(;c>e&&h>n&&this.ElementsAreEqual(c,h);)c--,h--;if(_[r]=c,L&&Math.abs(r-k)<=w&&c<=b[r])return s[0]=c,o[0]=h,l>=b[r]&&w<=1448?this.WALKTRACE(k,u,d,C,v,g,f,y,b,_,c,t,s,h,i,o,L,a):null}if(w<=1447){let e=new Int32Array(d-u+2);e[0]=k-u+1,l.Copy2(b,u,e,1,d-u+1),this.m_forwardHistory.push(e),e=new Int32Array(f-g+2),e[0]=v-g+1,l.Copy2(_,g,e,1,f-g+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(k,u,d,C,v,g,f,y,b,_,c,t,s,h,i,o,L,a)}PrettifyChanges(e){for(let t=0;t<e.length;t++){const n=e[t],r=t<e.length-1?e[t+1].originalStart:this._originalElementsOrHash.length,i=t<e.length-1?e[t+1].modifiedStart:this._modifiedElementsOrHash.length,s=n.originalLength>0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength<r&&n.modifiedStart+n.modifiedLength<i&&(!s||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!o||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));){const e=this.ElementsAreStrictEqual(n.originalStart,n.modifiedStart);if(this.ElementsAreStrictEqual(n.originalStart+n.originalLength,n.modifiedStart+n.modifiedLength)&&!e)break;n.originalStart++,n.modifiedStart++}const a=[null];t<e.length-1&&this.ChangesOverlap(e[t],e[t+1],a)&&(e[t]=a[0],e.splice(t+1,1),t--)}for(let t=e.length-1;t>=0;t--){const n=e[t];let r=0,i=0;if(t>0){const n=e[t-1];r=n.originalStart+n.originalLength,i=n.modifiedStart+n.modifiedLength}const s=n.originalLength>0,o=n.modifiedLength>0;let a=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,c=n.modifiedStart-e;if(t<r||c<i)break;if(s&&!this.OriginalElementsAreEqual(t,t+n.originalLength))break;if(o&&!this.ModifiedElementsAreEqual(c,c+n.modifiedLength))break;const h=(t===r&&c===i?5:0)+this._boundaryScore(t,n.originalLength,c,n.modifiedLength);h>l&&(l=h,a=e)}n.originalStart-=a,n.modifiedStart-=a;const c=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],c)&&(e[t-1]=c[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t<n;t++){const n=e[t-1],r=e[t],i=r.originalStart-n.originalStart-n.originalLength,s=n.originalStart,o=r.originalStart+r.originalLength,a=o-s,l=n.modifiedStart,c=r.modifiedStart+r.modifiedLength,h=c-l;if(i<5&&a<20&&h<20){const e=this._findBetterContiguousSequence(s,a,l,h,i);if(e){const[t,s]=e;t===n.originalStart+n.originalLength&&s===n.modifiedStart+n.modifiedLength||(n.originalLength=t-n.originalStart,n.modifiedLength=s-n.modifiedStart,r.originalStart=t+i,r.modifiedStart=s+i,r.originalLength=o-r.originalStart,r.modifiedLength=c-r.modifiedStart)}}}return e}_findBetterContiguousSequence(e,t,n,r,i){if(t<i||r<i)return null;const s=e+t-i+1,o=n+r-i+1;let a=0,l=0,c=0;for(let h=e;h<s;h++)for(let e=n;e<o;e++){const t=this._contiguousSequenceScore(h,e,i);t>0&&t>a&&(a=t,l=h,c=e)}return a>0?[l,c]:null}_contiguousSequenceScore(e,t,n){let r=0;for(let i=0;i<n;i++){if(!this.ElementsAreEqual(e+i,t+i))return 0;r+=this._originalStringElements[e+i].length}return r}_OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)}ConcatenateChanges(e,t){const n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const r=new Array(e.length+t.length-1);return l.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],l.Copy(t,1,r,e.length,t.length-1),r}{const n=new Array(e.length+t.length);return l.Copy(e,0,n,0,e.length),l.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(a.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),a.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const i=e.originalStart;let s=e.originalLength;const o=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new r(i,s,o,a),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,r){if(e>=0&&e<r)return e;const i=t%2==0;if(e<0){return i===(n%2==0)?0:1}return i===((r-n-1)%2==0)?r-1:r-2}}var u=n(8061),d=n(7454);class g{constructor(e,t,n){const r=new Uint8Array(e*t);for(let i=0,s=e*t;i<s;i++)r[i]=n;this._data=r,this.rows=e,this.cols=t}get(e,t){return this._data[e*this.cols+t]}set(e,t,n){this._data[e*this.cols+t]=n}}class f{constructor(e){let t=0,n=0;for(let i=0,s=e.length;i<s;i++){const[r,s,o]=e[i];s>t&&(t=s),r>n&&(n=r),o>n&&(n=o)}t++,n++;const r=new g(n,t,0);for(let i=0,s=e.length;i<s;i++){const[t,n,s]=e[i];r.set(t,n,s)}this._states=r,this._maxCharCode=t}nextState(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)}}let m=null;let p=null;class b{static _createLink(e,t,n,r,i){let s=i-1;do{const n=t.charCodeAt(s);if(2!==e.get(n))break;s--}while(s>r);if(r>0){const e=t.charCodeAt(r-1),n=t.charCodeAt(s);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&s--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:s+2},url:t.substring(r,s+1)}}static computeLinks(e,t=function(){return null===m&&(m=new f([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),m}()){const n=function(){if(null===p){p=new d.V(0);const e=" \t<>'\"\u3001\u3002\uff61\uff64\uff0c\uff0e\uff1a\uff1b\u2018\u3008\u300c\u300e\u3014\uff08\uff3b\uff5b\uff62\uff63\uff5d\uff3d\uff09\u3015\u300f\u300d\u3009\u2019\uff40\uff5e\u2026";for(let n=0;n<e.length;n++)p.set(e.charCodeAt(n),1);const t=".,;:";for(let n=0;n<t.length;n++)p.set(t.charCodeAt(n),2)}return p}(),r=[];for(let i=1,s=e.getLineCount();i<=s;i++){const s=e.getLineContent(i),o=s.length;let a=0,l=0,c=0,h=1,u=!1,d=!1,g=!1,f=!1;for(;a<o;){let e=!1;const o=s.charCodeAt(a);if(13===h){let t;switch(o){case 40:u=!0,t=0;break;case 41:t=u?0:1;break;case 91:g=!0,d=!0,t=0;break;case 93:g=!1,t=d?0:1;break;case 123:f=!0,t=0;break;case 125:t=f?0:1;break;case 39:case 34:case 96:t=c===o?1:39===c||34===c||96===c?0:1;break;case 42:t=42===c?1:0;break;case 124:t=124===c?1:0;break;case 32:t=g?0:1;break;default:t=n.get(o)}1===t&&(r.push(b._createLink(n,s,i,l,a)),e=!0)}else if(12===h){let t;91===o?(d=!0,t=0):t=n.get(o),1===t?e=!0:h=13}else h=t.nextState(h,o),0===h&&(e=!0);e&&(h=1,u=!1,d=!1,f=!1,l=a+1,c=o),a++}13===h&&r.push(b._createLink(n,s,i,l,o))}return r}}class _{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}static{this.INSTANCE=new _}navigateValueSet(e,t,n,r,i){if(e&&t){const n=this.doNavigateValueSet(t,i);if(n)return{range:e,value:n}}if(n&&r){const e=this.doNavigateValueSet(r,i);if(e)return{range:n,value:e}}return null}doNavigateValueSet(e,t){const n=this.numberReplace(e,t);return null!==n?n:this.textReplace(e,t)}numberReplace(e,t){const n=Math.pow(10,e.length-(e.lastIndexOf(".")+1));let r=Number(e);const i=parseFloat(e);return isNaN(r)||isNaN(i)||r!==i?null:0!==r||t?(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null}textReplace(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)}valueSetsReplace(e,t,n){let r=null;for(let i=0,s=e.length;null===r&&i<s;i++)r=this.valueSetReplace(e[i],t,n);return r}valueSetReplace(e,t,n){let r=e.indexOf(t);return r>=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}}var k=n(1583),v=n(6358),C=n(3013),y=n(9887);class L{constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}}class w{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}var S=n(4327),x=n(9955),E=n(5365),N=n(7110),T=n(2532);n(8357);class A{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}}class I{static inverse(e,t,n){const r=[];let i=1,s=1;for(const a of e){const e=new I(new x.M(i,a.original.startLineNumber),new x.M(s,a.modified.startLineNumber));e.modified.isEmpty||r.push(e),i=a.original.endLineNumberExclusive,s=a.modified.endLineNumberExclusive}const o=new I(new x.M(i,t+1),new x.M(s,n+1));return o.modified.isEmpty||r.push(o),r}static clip(e,t,n){const r=[];for(const i of e){const e=i.original.intersect(t),s=i.modified.intersect(n);e&&!e.isEmpty&&s&&!s.isEmpty&&r.push(new I(e,s))}return r}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new I(this.modified,this.original)}join(e){return new I(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new D(e,t);if(1===this.original.startLineNumber||1===this.modified.startLineNumber){if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new S.D7("not a valid diff");return new D(new u.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new u.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}return new D(new u.Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new u.Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(M(this.original.endLineNumberExclusive,e)&&M(this.modified.endLineNumberExclusive,t))return new D(new u.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new u.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new D(u.Q.fromPositions(new E.y(this.original.startLineNumber,1),O(new E.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),u.Q.fromPositions(new E.y(this.modified.startLineNumber,1),O(new E.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new D(u.Q.fromPositions(O(new E.y(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),O(new E.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),u.Q.fromPositions(O(new E.y(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),O(new E.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new S.D7}}function O(e,t){if(e.lineNumber<1)return new E.y(1,1);if(e.lineNumber>t.length)return new E.y(t.length,t[t.length-1].length+1);const n=t[e.lineNumber-1];return e.column>n.length+1?new E.y(e.lineNumber,n.length+1):e}function M(e,t){return e>=1&&e<=t.length}class R extends I{static fromRangeMappings(e){const t=x.M.join(e.map((e=>x.M.fromRangeInclusive(e.originalRange)))),n=x.M.join(e.map((e=>x.M.fromRangeInclusive(e.modifiedRange))));return new R(t,n,e)}constructor(e,t,n){super(e,t),this.innerChanges=n}flip(){return new R(this.modified,this.original,this.innerChanges?.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new R(this.original,this.modified,[this.toRangeMapping()])}}class D{static assertSorted(e){for(let t=1;t<e.length;t++){const n=e[t-1],r=e[t];if(!n.originalRange.getEndPosition().isBeforeOrEqual(r.originalRange.getStartPosition())||!n.modifiedRange.getEndPosition().isBeforeOrEqual(r.modifiedRange.getStartPosition()))throw new S.D7("Range mappings must be sorted")}}constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new D(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new A(this.originalRange,t)}}var B=n(6844);class F{computeDiff(e,t,n){const r=new W(e,t,{maxComputationTime:n.maxComputationTimeMs,shouldIgnoreTrimWhitespace:n.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),i=[];let s=null;for(const o of r.changes){let e,t;e=0===o.originalEndLineNumber?new x.M(o.originalStartLineNumber+1,o.originalStartLineNumber+1):new x.M(o.originalStartLineNumber,o.originalEndLineNumber+1),t=0===o.modifiedEndLineNumber?new x.M(o.modifiedStartLineNumber+1,o.modifiedStartLineNumber+1):new x.M(o.modifiedStartLineNumber,o.modifiedEndLineNumber+1);let n=new R(e,t,o.charChanges?.map((e=>new D(new u.Q(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new u.Q(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));s&&(s.modified.endLineNumberExclusive!==n.modified.startLineNumber&&s.original.endLineNumberExclusive!==n.original.startLineNumber||(n=new R(s.original.join(n.original),s.modified.join(n.modified),s.innerChanges&&n.innerChanges?s.innerChanges.concat(n.innerChanges):void 0),i.pop())),i.push(n),s=n}return(0,N.Ft)((()=>(0,N.Xo)(i,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive<t.original.startLineNumber&&e.modified.endLineNumberExclusive<t.modified.startLineNumber)))),new L(i,[],r.quitEarly)}}function P(e,t,n,r){return new h(e,t,n).ComputeDiff(r)}class V{constructor(e){const t=[],n=[];for(let r=0,i=e.length;r<i;r++)t[r]=U(e[r],1),n[r]=$(e[r],1);this.lines=e,this._startColumns=t,this._endColumns=n}getElements(){const e=[];for(let t=0,n=this.lines.length;t<n;t++)e[t]=this.lines[t].substring(this._startColumns[t]-1,this._endColumns[t]-1);return e}getStrictElement(e){return this.lines[e]}getStartLineNumber(e){return e+1}getEndLineNumber(e){return e+1}createCharSequence(e,t,n){const r=[],i=[],s=[];let o=0;for(let a=t;a<=n;a++){const t=this.lines[a],l=e?this._startColumns[a]:1,c=e?this._endColumns[a]:t.length+1;for(let e=l;e<c;e++)r[o]=t.charCodeAt(e-1),i[o]=a+1,s[o]=e,o++;!e&&a<n&&(r[o]=10,i[o]=a+1,s[o]=t.length+1,o++)}return new z(r,i,s)}}class z{constructor(e,t,n){this._charCodes=e,this._lineNumbers=t,this._columns=n}toString(){return"["+this._charCodes.map(((e,t)=>(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class j{constructor(e,t,n,r,i,s,o,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=r,this.modifiedStartLineNumber=i,this.modifiedStartColumn=s,this.modifiedEndLineNumber=o,this.modifiedEndColumn=a}static createFromDiffChange(e,t,n){const r=t.getStartLineNumber(e.originalStart),i=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),o=t.getEndColumn(e.originalStart+e.originalLength-1),a=n.getStartLineNumber(e.modifiedStart),l=n.getStartColumn(e.modifiedStart),c=n.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),h=n.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new j(r,i,s,o,a,l,c,h)}}class q{constructor(e,t,n,r,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=r,this.charChanges=i}static createFromDiffResult(e,t,n,r,i,s,o){let a,l,c,h,u;if(0===t.originalLength?(a=n.getStartLineNumber(t.originalStart)-1,l=0):(a=n.getStartLineNumber(t.originalStart),l=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(c=r.getStartLineNumber(t.modifiedStart)-1,h=0):(c=r.getStartLineNumber(t.modifiedStart),h=r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),s&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&i()){const s=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(s.getElements().length>0&&a.getElements().length>0){let e=P(s,a,i,!0).changes;o&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let n=t[0];for(let r=1,i=e.length;r<i;r++){const i=e[r],s=i.originalStart-(n.originalStart+n.originalLength),o=i.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(s,o)<3?(n.originalLength=i.originalStart+i.originalLength-n.originalStart,n.modifiedLength=i.modifiedStart+i.modifiedLength-n.modifiedStart):(t.push(i),n=i)}return t}(e)),u=[];for(let t=0,n=e.length;t<n;t++)u.push(j.createFromDiffChange(e[t],s,a))}}return new q(a,l,c,h,u)}}class W{constructor(e,t,n){this.shouldComputeCharChanges=n.shouldComputeCharChanges,this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.originalLines=e,this.modifiedLines=t,this.original=new V(e),this.modified=new V(t),this.continueLineDiff=H(n.maxComputationTime),this.continueCharDiff=H(0===n.maxComputationTime?0:Math.min(n.maxComputationTime,5e3))}computeDiff(){if(1===this.original.lines.length&&0===this.original.lines[0].length)return 1===this.modified.lines.length&&0===this.modified.lines[0].length?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]};if(1===this.modified.lines.length&&0===this.modified.lines[0].length)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};const e=P(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),t=e.changes,n=e.quitEarly;if(this.shouldIgnoreTrimWhitespace){const e=[];for(let n=0,r=t.length;n<r;n++)e.push(q.createFromDiffResult(this.shouldIgnoreTrimWhitespace,t[n],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:n,changes:e}}const r=[];let i=0,s=0;for(let o=-1,a=t.length;o<a;o++){const e=o+1<a?t[o+1]:null,n=e?e.originalStart:this.originalLines.length,l=e?e.modifiedStart:this.modifiedLines.length;for(;i<n&&s<l;){const e=this.originalLines[i],t=this.modifiedLines[s];if(e!==t){{let n=U(e,1),o=U(t,1);for(;n>1&&o>1;){if(e.charCodeAt(n-2)!==t.charCodeAt(o-2))break;n--,o--}(n>1||o>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,n,s+1,1,o)}{let n=$(e,1),o=$(t,1);const a=e.length+1,l=t.length+1;for(;n<a&&o<l;){if(e.charCodeAt(n-1)!==e.charCodeAt(o-1))break;n++,o++}(n<a||o<l)&&this._pushTrimWhitespaceCharChange(r,i+1,n,a,s+1,o,l)}}i++,s++}e&&(r.push(q.createFromDiffResult(this.shouldIgnoreTrimWhitespace,e,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),i+=e.originalLength,s+=e.modifiedLength)}return{quitEarly:n,changes:r}}_pushTrimWhitespaceCharChange(e,t,n,r,i,s,o){if(this._mergeTrimWhitespaceCharChange(e,t,n,r,i,s,o))return;let a;this.shouldComputeCharChanges&&(a=[new j(t,n,t,r,i,s,i,o)]),e.push(new q(t,t,i,i,a))}_mergeTrimWhitespaceCharChange(e,t,n,r,i,s,o){const a=e.length;if(0===a)return!1;const l=e[a-1];return 0!==l.originalEndLineNumber&&0!==l.modifiedEndLineNumber&&(l.originalEndLineNumber===t&&l.modifiedEndLineNumber===i?(this.shouldComputeCharChanges&&l.charChanges&&l.charChanges.push(new j(t,n,t,r,i,s,i,o)),!0):l.originalEndLineNumber+1===t&&l.modifiedEndLineNumber+1===i&&(l.originalEndLineNumber=t,l.modifiedEndLineNumber=i,this.shouldComputeCharChanges&&l.charChanges&&l.charChanges.push(new j(t,n,t,r,i,s,i,o)),!0))}}function U(e,t){const n=B.HG(e);return-1===n?t:n+1}function $(e,t){const n=B.lT(e);return-1===n?t:n+2}function H(e){if(0===e)return()=>!0;const t=Date.now();return()=>Date.now()-t<e}var K=n(3338);class G{static trivial(e,t){return new G([new Q(T.L.ofLength(e.length),T.L.ofLength(t.length))],!1)}static trivialTimedOut(e,t){return new G([new Q(T.L.ofLength(e.length),T.L.ofLength(t.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}}class Q{static invert(e,t){const n=[];return(0,K.pN)(e,((e,r)=>{n.push(Q.fromOffsetPairs(e?e.getEndExclusives():J.zero,r?r.getStarts():new J(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),n}static fromOffsetPairs(e,t){return new Q(new T.L(e.offset1,t.offset1),new T.L(e.offset2,t.offset2))}static assertSorted(e){let t;for(const n of e){if(t&&!(t.seq1Range.endExclusive<=n.seq1Range.start&&t.seq2Range.endExclusive<=n.seq2Range.start))throw new S.D7("Sequence diffs must be sorted");t=n}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new Q(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new Q(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new Q(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new Q(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new Q(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),n=this.seq2Range.intersect(e.seq2Range);if(t&&n)return new Q(t,n)}getStarts(){return new J(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new J(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class J{static{this.zero=new J(0,0)}static{this.max=new J(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new J(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}class X{static{this.instance=new X}isValid(){return!0}}class Y{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new S.D7("timeout must be positive")}isValid(){return!(Date.now()-this.startTime<this.timeout)&&this.valid&&(this.valid=!1),this.valid}}class Z{constructor(e,t){this.width=e,this.height=t,this.array=[],this.array=new Array(e*t)}get(e,t){return this.array[e+t*this.width]}set(e,t,n){this.array[e+t*this.width]=n}}function ee(e){return 32===e||9===e}class te{static{this.chrKeys=new Map}static getKey(e){let t=this.chrKeys.get(e);return void 0===t&&(t=this.chrKeys.size,this.chrKeys.set(e,t)),t}constructor(e,t,n){this.range=e,this.lines=t,this.source=n,this.histogram=[];let r=0;for(let i=e.startLineNumber-1;i<e.endLineNumberExclusive-1;i++){const e=t[i];for(let t=0;t<e.length;t++){r++;const n=e[t],i=te.getKey(n);this.histogram[i]=(this.histogram[i]||0)+1}r++;const n=te.getKey("\n");this.histogram[n]=(this.histogram[n]||0)+1}this.totalCount=r}computeSimilarity(e){let t=0;const n=Math.max(this.histogram.length,e.histogram.length);for(let r=0;r<n;r++)t+=Math.abs((this.histogram[r]??0)-(e.histogram[r]??0));return 1-t/(this.totalCount+e.totalCount)}}class ne{compute(e,t,n=X.instance,r){if(0===e.length||0===t.length)return G.trivial(e,t);const i=new Z(e.length,t.length),s=new Z(e.length,t.length),o=new Z(e.length,t.length);for(let g=0;g<e.length;g++)for(let a=0;a<t.length;a++){if(!n.isValid())return G.trivialTimedOut(e,t);const l=0===g?0:i.get(g-1,a),c=0===a?0:i.get(g,a-1);let h;e.getElement(g)===t.getElement(a)?(h=0===g||0===a?0:i.get(g-1,a-1),g>0&&a>0&&3===s.get(g-1,a-1)&&(h+=o.get(g-1,a-1)),h+=r?r(g,a):1):h=-1;const u=Math.max(l,c,h);if(u===h){const e=g>0&&a>0?o.get(g-1,a-1):0;o.set(g,a,e+1),s.set(g,a,3)}else u===l?(o.set(g,a,0),s.set(g,a,1)):u===c&&(o.set(g,a,0),s.set(g,a,2));i.set(g,a,u)}const a=[];let l=e.length,c=t.length;function h(e,t){e+1===l&&t+1===c||a.push(new Q(new T.L(e+1,l),new T.L(t+1,c))),l=e,c=t}let u=e.length-1,d=t.length-1;for(;u>=0&&d>=0;)3===s.get(u,d)?(h(u,d),u--,d--):1===s.get(u,d)?u--:d--;return h(-1,-1),a.reverse(),new G(a,!1)}}class re{compute(e,t,n=X.instance){if(0===e.length||0===t.length)return G.trivial(e,t);const r=e,i=t;function s(e,t){for(;e<r.length&&t<i.length&&r.getElement(e)===i.getElement(t);)e++,t++;return e}let o=0;const a=new se;a.set(0,s(0,0));const l=new oe;l.set(0,0===a.get(0)?null:new ie(null,0,0,a.get(0)));let c=0;e:for(;;){if(o++,!n.isValid())return G.trivialTimedOut(r,i);const e=-Math.min(o,i.length+o%2),t=Math.min(o,r.length+o%2);for(c=e;c<=t;c+=2){let n=0;const o=c===t?-1:a.get(c+1),h=c===e?-1:a.get(c-1)+1;n++;const u=Math.min(Math.max(o,h),r.length),d=u-c;if(n++,u>r.length||d>i.length)continue;const g=s(u,d);a.set(c,g);const f=u===o?l.get(c+1):l.get(c-1);if(l.set(c,g!==u?new ie(f,u,d,g-u):f),a.get(c)===r.length&&a.get(c)-c===i.length)break e}}let h=l.get(c);const u=[];let d=r.length,g=i.length;for(;;){const e=h?h.x+h.length:0,t=h?h.y+h.length:0;if(e===d&&t===g||u.push(new Q(new T.L(e,d),new T.L(t,g))),!h)break;d=h.x,g=h.y,h=h.prev}return u.reverse(),new G(u,!1)}}class ie{constructor(e,t,n,r){this.prev=e,this.x=t,this.y=n,this.length=r}}class se{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class oe{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}var ae=n(7393),le=n(7992);class ce{constructor(e,t,n){this.lines=e,this.range=t,this.considerWhitespaceChanges=n,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let r=this.range.startLineNumber;r<=this.range.endLineNumber;r++){let t=e[r-1],i=0;r===this.range.startLineNumber&&this.range.startColumn>1&&(i=this.range.startColumn-1,t=t.substring(i)),this.lineStartOffsets.push(i);let s=0;if(!n){const e=t.trimStart();s=t.length-e.length,t=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(s);const o=r===this.range.endLineNumber?Math.min(this.range.endColumn-1-i-s,t.length):t.length;for(let e=0;e<o;e++)this.elements.push(t.charCodeAt(e));r<this.range.endLineNumber&&(this.elements.push("\n".charCodeAt(0)),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new T.L(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map((e=>String.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=ge(e>0?this.elements[e-1]:-1),n=ge(e<this.elements.length?this.elements[e]:-1);if(7===t&&8===n)return 0;if(8===t)return 150;let r=0;return t!==n&&(r+=10,0===t&&1===n&&(r+=1)),r+=de(t),r+=de(n),r}translateOffset(e,t="right"){const n=(0,ae.iM)(this.firstElementOffsetByLineIdx,(t=>t<=e)),r=e-this.firstElementOffsetByLineIdx[n];return new E.y(this.range.startLineNumber+n,1+this.lineStartOffsets[n]+r+(0===r&&"left"===t?0:this.trimmedWsLengthsByLineIdx[n]))}translateRange(e){const t=this.translateOffset(e.start,"right"),n=this.translateOffset(e.endExclusive,"left");return n.isBefore(t)?u.Q.fromPositions(n,n):u.Q.fromPositions(t,n)}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!he(this.elements[e]))return;let t=e;for(;t>0&&he(this.elements[t-1]);)t--;let n=e;for(;n<this.elements.length&&he(this.elements[n]);)n++;return new T.L(t,n)}countLinesIn(e){return this.translateOffset(e.endExclusive).lineNumber-this.translateOffset(e.start).lineNumber}isStronglyEqual(e,t){return this.elements[e]===this.elements[t]}extendToFullLines(e){const t=(0,ae.lx)(this.firstElementOffsetByLineIdx,(t=>t<=e.start))??0,n=(0,ae.XP)(this.firstElementOffsetByLineIdx,(t=>e.endExclusive<=t))??this.elements.length;return new T.L(t,n)}}function he(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const ue={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function de(e){return ue[e]}function ge(e){return 10===e?8:13===e?7:ee(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function fe(e,t,n,r,i,s){let{moves:o,excludedChanges:a}=function(e,t,n,r){const i=[],s=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new te(e.original,t,e))),o=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new te(e.modified,n,e)))),a=new Set;for(const l of s){let e,t=-1;for(const n of o){const r=l.computeSimilarity(n);r>t&&(t=r,e=n)}if(t>.9&&e&&(o.delete(e),i.push(new I(l.range,e.range)),a.add(l.source),a.add(e.source)),!r.isValid())return{moves:i,excludedChanges:a}}return{moves:i,excludedChanges:a}}(e,t,n,s);if(!s.isValid())return[];const l=function(e,t,n,r,i,s){const o=[],a=new le.db;for(const d of e)for(let e=d.original.startLineNumber;e<d.original.endLineNumberExclusive-2;e++){const n=`${t[e-1]}:${t[e+1-1]}:${t[e+2-1]}`;a.add(n,{range:new x.M(e,e+3)})}const l=[];e.sort((0,K.VE)((e=>e.modified.startLineNumber),K.U9));for(const d of e){let e=[];for(let t=d.modified.startLineNumber;t<d.modified.endLineNumberExclusive-2;t++){const r=`${n[t-1]}:${n[t+1-1]}:${n[t+2-1]}`,i=new x.M(t,t+3),s=[];a.forEach(r,(({range:t})=>{for(const r of e)if(r.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&r.modifiedLineRange.endLineNumberExclusive+1===i.endLineNumberExclusive)return r.originalLineRange=new x.M(r.originalLineRange.startLineNumber,t.endLineNumberExclusive),r.modifiedLineRange=new x.M(r.modifiedLineRange.startLineNumber,i.endLineNumberExclusive),void s.push(r);const n={modifiedLineRange:i,originalLineRange:t};l.push(n),s.push(n)})),e=s}if(!s.isValid())return[]}l.sort((0,K.Hw)((0,K.VE)((e=>e.modifiedLineRange.length),K.U9)));const c=new x.S,h=new x.S;for(const d of l){const e=d.modifiedLineRange.startLineNumber-d.originalLineRange.startLineNumber,t=c.subtractFrom(d.modifiedLineRange),n=h.subtractFrom(d.originalLineRange).getWithDelta(e),r=t.getIntersection(n);for(const i of r.ranges){if(i.length<3)continue;const t=i,n=i.delta(-e);o.push(new I(n,t)),c.addRange(t),h.addRange(n)}}o.sort((0,K.VE)((e=>e.original.startLineNumber),K.U9));const u=new ae.vJ(e);for(let d=0;d<o.length;d++){const t=o[d],n=u.findLastMonotonous((e=>e.original.startLineNumber<=t.original.startLineNumber)),a=(0,ae.lx)(e,(e=>e.modified.startLineNumber<=t.modified.startLineNumber)),l=Math.max(t.original.startLineNumber-n.original.startLineNumber,t.modified.startLineNumber-a.modified.startLineNumber),g=u.findLastMonotonous((e=>e.original.startLineNumber<t.original.endLineNumberExclusive)),f=(0,ae.lx)(e,(e=>e.modified.startLineNumber<t.modified.endLineNumberExclusive)),m=Math.max(g.original.endLineNumberExclusive-t.original.endLineNumberExclusive,f.modified.endLineNumberExclusive-t.modified.endLineNumberExclusive);let p,b;for(p=0;p<l;p++){const e=t.original.startLineNumber-p-1,n=t.modified.startLineNumber-p-1;if(e>r.length||n>i.length)break;if(c.contains(n)||h.contains(e))break;if(!me(r[e-1],i[n-1],s))break}for(p>0&&(h.addRange(new x.M(t.original.startLineNumber-p,t.original.startLineNumber)),c.addRange(new x.M(t.modified.startLineNumber-p,t.modified.startLineNumber))),b=0;b<m;b++){const e=t.original.endLineNumberExclusive+b,n=t.modified.endLineNumberExclusive+b;if(e>r.length||n>i.length)break;if(c.contains(n)||h.contains(e))break;if(!me(r[e-1],i[n-1],s))break}b>0&&(h.addRange(new x.M(t.original.endLineNumberExclusive,t.original.endLineNumberExclusive+b)),c.addRange(new x.M(t.modified.endLineNumberExclusive,t.modified.endLineNumberExclusive+b))),(p>0||b>0)&&(o[d]=new I(new x.M(t.original.startLineNumber-p,t.original.endLineNumberExclusive+b),new x.M(t.modified.startLineNumber-p,t.modified.endLineNumberExclusive+b)))}return o}(e.filter((e=>!a.has(e))),r,i,t,n,s);return(0,K.E4)(o,l),o=function(e){if(0===e.length)return e;e.sort((0,K.VE)((e=>e.original.startLineNumber),K.U9));const t=[e[0]];for(let n=1;n<e.length;n++){const r=t[t.length-1],i=e[n],s=i.original.startLineNumber-r.original.endLineNumberExclusive,o=i.modified.startLineNumber-r.modified.endLineNumberExclusive;s>=0&&o>=0&&s+o<=2?t[t.length-1]=r.join(i):t.push(i)}return t}(o),o=o.filter((e=>{const n=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return n.join("\n").length>=15&&function(e,t){let n=0;for(const r of e)t(r)&&n++;return n}(n,(e=>e.length>=2))>=2})),o=function(e,t){const n=new ae.vJ(e);return t=t.filter((t=>(n.findLastMonotonous((e=>e.original.startLineNumber<t.original.endLineNumberExclusive))||new I(new x.M(1,1),new x.M(1,1)))!==(0,ae.lx)(e,(e=>e.modified.startLineNumber<t.modified.endLineNumberExclusive)))),t}(e,o),o}function me(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const r=(new re).compute(new ce([e],new u.Q(1,1,1,e.length),!1),new ce([t],new u.Q(1,1,1,t.length),!1),n);let i=0;const s=Q.invert(r.diffs,e.length);for(const a of s)a.seq1Range.forEach((t=>{ee(e.charCodeAt(t))||i++}));const o=function(t){let n=0;for(let r=0;r<e.length;r++)ee(t.charCodeAt(r))||n++;return n}(e.length>t.length?e:t);return i/o>.6&&o>10}function pe(e,t,n){let r=n;return r=be(e,t,r),r=be(e,t,r),r=function(e,t,n){if(!e.getBoundaryScore||!t.getBoundaryScore)return n;for(let r=0;r<n.length;r++){const i=r>0?n[r-1]:void 0,s=n[r],o=r+1<n.length?n[r+1]:void 0,a=new T.L(i?i.seq1Range.endExclusive+1:0,o?o.seq1Range.start-1:e.length),l=new T.L(i?i.seq2Range.endExclusive+1:0,o?o.seq2Range.start-1:t.length);s.seq1Range.isEmpty?n[r]=_e(s,e,t,a,l):s.seq2Range.isEmpty&&(n[r]=_e(s.swap(),t,e,l,a).swap())}return n}(e,t,r),r}function be(e,t,n){if(0===n.length)return n;const r=[];r.push(n[0]);for(let s=1;s<n.length;s++){const i=r[r.length-1];let o=n[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const n=o.seq1Range.start-i.seq1Range.endExclusive;let s;for(s=1;s<=n&&(e.getElement(o.seq1Range.start-s)===e.getElement(o.seq1Range.endExclusive-s)&&t.getElement(o.seq2Range.start-s)===t.getElement(o.seq2Range.endExclusive-s));s++);if(s--,s===n){r[r.length-1]=new Q(new T.L(i.seq1Range.start,o.seq1Range.endExclusive-n),new T.L(i.seq2Range.start,o.seq2Range.endExclusive-n));continue}o=o.delta(-s)}r.push(o)}const i=[];for(let s=0;s<r.length-1;s++){const n=r[s+1];let o=r[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const i=n.seq1Range.start-o.seq1Range.endExclusive;let a;for(a=0;a<i&&(e.isStronglyEqual(o.seq1Range.start+a,o.seq1Range.endExclusive+a)&&t.isStronglyEqual(o.seq2Range.start+a,o.seq2Range.endExclusive+a));a++);if(a===i){r[s+1]=new Q(new T.L(o.seq1Range.start+i,n.seq1Range.endExclusive),new T.L(o.seq2Range.start+i,n.seq2Range.endExclusive));continue}a>0&&(o=o.delta(a))}i.push(o)}return r.length>0&&i.push(r[r.length-1]),i}function _e(e,t,n,r,i){let s=1;for(;e.seq1Range.start-s>=r.start&&e.seq2Range.start-s>=i.start&&n.isStronglyEqual(e.seq2Range.start-s,e.seq2Range.endExclusive-s)&&s<100;)s++;s--;let o=0;for(;e.seq1Range.start+o<r.endExclusive&&e.seq2Range.endExclusive+o<i.endExclusive&&n.isStronglyEqual(e.seq2Range.start+o,e.seq2Range.endExclusive+o)&&o<100;)o++;if(0===s&&0===o)return e;let a=0,l=-1;for(let c=-s;c<=o;c++){const r=e.seq2Range.start+c,i=e.seq2Range.endExclusive+c,s=e.seq1Range.start+c,o=t.getBoundaryScore(s)+n.getBoundaryScore(r)+n.getBoundaryScore(i);o>l&&(l=o,a=c)}return e.delta(a)}class ke{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:ve(this.lines[e-1]))+(e===this.lines.length?0:ve(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function ve(e){let t=0;for(;t<e.length&&(32===e.charCodeAt(t)||9===e.charCodeAt(t));)t++;return t}class Ce{constructor(){this.dynamicProgrammingDiffing=new ne,this.myersDiffingAlgorithm=new re}computeDiff(e,t,n){if(e.length<=1&&(0,K.aI)(e,t,((e,t)=>e===t)))return new L([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new L([new R(new x.M(1,e.length+1),new x.M(1,t.length+1),[new D(new u.Q(1,1,e.length,e[e.length-1].length+1),new u.Q(1,1,t.length,t[t.length-1].length+1))])],[],!1);const r=0===n.maxComputationTimeMs?X.instance:new Y(n.maxComputationTimeMs),i=!n.ignoreTrimWhitespace,s=new Map;function o(e){let t=s.get(e);return void 0===t&&(t=s.size,s.set(e,t)),t}const a=e.map((e=>o(e.trim()))),l=t.map((e=>o(e.trim()))),c=new ke(a,e),h=new ke(l,t),d=(()=>c.length+h.length<1700?this.dynamicProgrammingDiffing.compute(c,h,r,((n,r)=>e[n]===t[r]?0===t[r].length?.1:1+Math.log(1+t[r].length):.99)):this.myersDiffingAlgorithm.compute(c,h,r))();let g=d.diffs,f=d.hitTimeout;g=pe(c,h,g),g=function(e,t,n){let r=n;if(0===r.length)return r;let i,s=0;do{i=!1;const o=[r[0]];for(let a=1;a<r.length;a++){const l=r[a],c=o[o.length-1];function h(t,n){const r=new T.L(c.seq1Range.endExclusive,l.seq1Range.start);return e.getText(r).replace(/\s/g,"").length<=4&&(t.seq1Range.length+t.seq2Range.length>5||n.seq1Range.length+n.seq2Range.length>5)}h(c,l)?(i=!0,o[o.length-1]=o[o.length-1].join(l)):o.push(l)}r=o}while(s++<10&&i);return r}(c,0,g);const m=[],p=n=>{if(i)for(let s=0;s<n;s++){const n=b+s,o=_+s;if(e[n]!==t[o]){const s=this.refineDiff(e,t,new Q(new T.L(n,n+1),new T.L(o,o+1)),r,i);for(const e of s.mappings)m.push(e);s.hitTimeout&&(f=!0)}}};let b=0,_=0;for(const u of g){(0,N.Ft)((()=>u.seq1Range.start-b==u.seq2Range.start-_));p(u.seq1Range.start-b),b=u.seq1Range.endExclusive,_=u.seq2Range.endExclusive;const n=this.refineDiff(e,t,u,r,i);n.hitTimeout&&(f=!0);for(const e of n.mappings)m.push(e)}p(e.length-b);const k=ye(m,e,t);let v=[];return n.computeMoves&&(v=this.computeMoves(k,e,t,a,l,r,i)),(0,N.Ft)((()=>{function n(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const n=t[e.lineNumber-1];return!(e.column<1||e.column>n.length+1)}function r(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1)&&!(e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const i of k){if(!i.innerChanges)return!1;for(const r of i.innerChanges){if(!(n(r.modifiedRange.getStartPosition(),t)&&n(r.modifiedRange.getEndPosition(),t)&&n(r.originalRange.getStartPosition(),e)&&n(r.originalRange.getEndPosition(),e)))return!1}if(!r(i.modified,t)||!r(i.original,e))return!1}return!0})),new L(k,v,f)}computeMoves(e,t,n,r,i,s,o){return fe(e,t,n,r,i,s).map((e=>{const r=ye(this.refineDiff(t,n,new Q(e.original.toOffsetRange(),e.modified.toOffsetRange()),s,o).mappings,t,n,!0);return new w(e,r)}))}refineDiff(e,t,n,r,i){var s;const o=(s=n,new I(new x.M(s.seq1Range.start+1,s.seq1Range.endExclusive+1),new x.M(s.seq2Range.start+1,s.seq2Range.endExclusive+1))).toRangeMapping2(e,t),a=new ce(e,o.originalRange,i),l=new ce(t,o.modifiedRange,i),c=a.length+l.length<500?this.dynamicProgrammingDiffing.compute(a,l,r):this.myersDiffingAlgorithm.compute(a,l,r),h=!1;let u=c.diffs;u=pe(a,l,u),u=function(e,t,n){const r=Q.invert(n,e.length),i=[];let s=new J(0,0);function o(n,o){if(n.offset1<s.offset1||n.offset2<s.offset2)return;const a=e.findWordContaining(n.offset1),l=t.findWordContaining(n.offset2);if(!a||!l)return;let c=new Q(a,l);const h=c.intersect(o);let u=h.seq1Range.length,d=h.seq2Range.length;for(;r.length>0;){const n=r[0];if(!n.seq1Range.intersects(c.seq1Range)&&!n.seq2Range.intersects(c.seq2Range))break;const i=e.findWordContaining(n.seq1Range.start),s=t.findWordContaining(n.seq2Range.start),o=new Q(i,s),a=o.intersect(n);if(u+=a.seq1Range.length,d+=a.seq2Range.length,c=c.join(o),!(c.seq1Range.endExclusive>=n.seq1Range.endExclusive))break;r.shift()}u+d<2*(c.seq1Range.length+c.seq2Range.length)/3&&i.push(c),s=c.getEndExclusives()}for(;r.length>0;){const e=r.shift();e.seq1Range.isEmpty||(o(e.getStarts(),e),o(e.getEndExclusives().delta(-1),e))}return function(e,t){const n=[];for(;e.length>0||t.length>0;){const r=e[0],i=t[0];let s;s=r&&(!i||r.seq1Range.start<i.seq1Range.start)?e.shift():t.shift(),n.length>0&&n[n.length-1].seq1Range.endExclusive>=s.seq1Range.start?n[n.length-1]=n[n.length-1].join(s):n.push(s)}return n}(n,i)}(a,l,u),u=function(e,t,n){const r=[];for(const i of n){const e=r[r.length-1];e&&(i.seq1Range.start-e.seq1Range.endExclusive<=2||i.seq2Range.start-e.seq2Range.endExclusive<=2)?r[r.length-1]=new Q(e.seq1Range.join(i.seq1Range),e.seq2Range.join(i.seq2Range)):r.push(i)}return r}(0,0,u),u=function(e,t,n){let r=n;if(0===r.length)return r;let i,s=0;do{i=!1;const a=[r[0]];for(let l=1;l<r.length;l++){const c=r[l],h=a[a.length-1];function u(n,r){const i=new T.L(h.seq1Range.endExclusive,c.seq1Range.start);if(e.countLinesIn(i)>5||i.length>500)return!1;const s=e.getText(i).trim();if(s.length>20||s.split(/\r\n|\r|\n/).length>1)return!1;const o=e.countLinesIn(n.seq1Range),a=n.seq1Range.length,l=t.countLinesIn(n.seq2Range),u=n.seq2Range.length,d=e.countLinesIn(r.seq1Range),g=r.seq1Range.length,f=t.countLinesIn(r.seq2Range),m=r.seq2Range.length;function p(e){return Math.min(e,130)}return Math.pow(Math.pow(p(40*o+a),1.5)+Math.pow(p(40*l+u),1.5),1.5)+Math.pow(Math.pow(p(40*d+g),1.5)+Math.pow(p(40*f+m),1.5),1.5)>74184.96480721243}u(h,c)?(i=!0,a[a.length-1]=a[a.length-1].join(c)):a.push(c)}r=a}while(s++<10&&i);const o=[];return(0,K.kj)(r,((t,n,r)=>{let i=n;function s(e){return e.length>0&&e.trim().length<=3&&n.seq1Range.length+n.seq2Range.length>100}const a=e.extendToFullLines(n.seq1Range),l=e.getText(new T.L(a.start,n.seq1Range.start));s(l)&&(i=i.deltaStart(-l.length));const c=e.getText(new T.L(n.seq1Range.endExclusive,a.endExclusive));s(c)&&(i=i.deltaEnd(c.length));const h=Q.fromOffsetPairs(t?t.getEndExclusives():J.zero,r?r.getStarts():J.max),u=i.intersect(h);o.length>0&&u.getStarts().equals(o[o.length-1].getEndExclusives())?o[o.length-1]=o[o.length-1].join(u):o.push(u)})),o}(a,l,u);const d=u.map((e=>new D(a.translateRange(e.seq1Range),l.translateRange(e.seq2Range))));return{mappings:d,hitTimeout:c.hitTimeout}}}function ye(e,t,n,r=!1){const i=[];for(const s of(0,K.n)(e.map((e=>function(e,t,n){let r=0,i=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+r<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+r<=e.modifiedRange.endLineNumber&&(i=-1);e.modifiedRange.startColumn-1>=n[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+i&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+i&&(r=1);const s=new x.M(e.originalRange.startLineNumber+r,e.originalRange.endLineNumber+1+i),o=new x.M(e.modifiedRange.startLineNumber+r,e.modifiedRange.endLineNumber+1+i);return new R(s,o,[e])}(e,t,n))),((e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified)))){const e=s[0],t=s[s.length-1];i.push(new R(e.original.join(t.original),e.modified.join(t.modified),s.map((e=>e.innerChanges[0]))))}return(0,N.Ft)((()=>{if(!r&&i.length>0){if(i[0].modified.startLineNumber!==i[0].original.startLineNumber)return!1;if(n.length-i[i.length-1].modified.endLineNumberExclusive!=t.length-i[i.length-1].original.endLineNumberExclusive)return!1}return(0,N.Xo)(i,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive<t.original.startLineNumber&&e.modified.endLineNumberExclusive<t.modified.startLineNumber))})),i}const Le=()=>new F,we=()=>new Ce;var Se=n(1386),xe=n(3072),Ee=n(4901);function Ne(e){const t=[];for(const n of e){const e=Number(n);(e||0===e&&""!==n.replace(/\s/g,""))&&t.push(e)}return t}function Te(e,t,n,r){return{red:e/255,blue:n/255,green:t/255,alpha:r}}function Ae(e,t){const n=t.index,r=t[0].length;if(!n)return;const i=e.positionAt(n);return{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:i.lineNumber,endColumn:i.column+r}}function Ie(e,t){if(!e)return;const n=Ee.Q1.Format.CSS.parseHex(t);return n?{range:e,color:Te(n.rgba.r,n.rgba.g,n.rgba.b,n.rgba.a)}:void 0}function Oe(e,t,n){if(!e||1!==t.length)return;const r=Ne(t[0].values());return{range:e,color:Te(r[0],r[1],r[2],n?r[3]:1)}}function Me(e,t,n){if(!e||1!==t.length)return;const r=Ne(t[0].values()),i=new Ee.Q1(new Ee.hB(r[0],r[1]/100,r[2]/100,n?r[3]:1));return{range:e,color:Te(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}}function Re(e,t){return"string"==typeof e?[...e.matchAll(t)]:e.findMatches(t)}function De(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],n=Re(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/gm);if(n.length>0)for(const r of n){const n=r.filter((e=>void 0!==e)),i=n[1],s=n[2];if(!s)continue;let o;if("rgb"===i){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;o=Oe(Ae(e,r),Re(s,t),!1)}else if("rgba"===i){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Oe(Ae(e,r),Re(s,t),!0)}else if("hsl"===i){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;o=Me(Ae(e,r),Re(s,t),!1)}else if("hsla"===i){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Me(Ae(e,r),Re(s,t),!0)}else"#"===i&&(o=Ie(Ae(e,r),i+s));o&&t.push(o)}return t}(e):[]}var Be=n(9307),Fe=n(1507);class Pe{constructor(){this._workerTextModelSyncServer=new Fe.WorkerTextModelSyncServer}dispose(){}_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){const r=this._getModel(e);return r?y.UnicodeTextModelHighlighter.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){const n=this._getModel(e);return n?(0,Be.findSectionHeaders)(n,t):[]}async $computeDiff(e,t,n,r){const i=this._getModel(e),s=this._getModel(t);if(!i||!s)return null;return Ve.computeDiff(i,s,n,r)}static computeDiff(e,t,n,r){const i="advanced"===r?we():Le(),s=e.getLinesContent(),o=t.getLinesContent(),a=i.computeDiff(s,o,n);function l(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:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:l(a.changes),moves:a.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)]))}}static _modelsAreIdentical(e,t){const 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(e,t,n){const r=this._getModel(e);if(!r)return t;const i=[];let s;t=t.slice(0).sort(((e,t)=>{if(e.range&&t.range)return u.Q.compareRangesUsingStarts(e.range,t.range);return(e.range?0:1)-(t.range?0:1)}));let a=0;for(let o=1;o<t.length;o++)u.Q.getEndPosition(t[a].range).equals(u.Q.getStartPosition(t[o].range))?(t[a].range=u.Q.fromPositions(u.Q.getStartPosition(t[a].range),u.Q.getEndPosition(t[o].range)),t[a].text+=t[o].text):(a++,t[a]=t[o]);t.length=a+1;for(let{range:l,text:c,eol:h}of t){if("number"==typeof h&&(s=h),u.Q.isEmpty(l)&&!c)continue;const e=r.getValueInRange(l);if(c=c.replace(/\r\n|\n|\r/g,r.eol),e===c)continue;if(Math.max(c.length,e.length)>Ve._diffLimit){i.push({range:l,text:c});continue}const t=o(e,c,n),a=r.offsetAt(u.Q.lift(l).getStartPosition());for(const n of t){const e=r.positionAt(a+n.originalStart),t=r.positionAt(a+n.originalStart+n.originalLength),s={text:c.substr(n.modifiedStart,n.modifiedLength),range:{startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:t.lineNumber,endColumn:t.column}};r.getValueInRange(s.range)!==s.text&&i.push(s)}}return"number"==typeof s&&i.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),i}async $computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?b.computeLinks(e):[]}(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?De(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(e,t,n,r){const i=new C.W,s=new RegExp(n,r),o=new Set;e:for(const a of e){const e=this._getModel(a);if(e)for(const n of e.words(s))if(n!==t&&isNaN(Number(n))&&(o.add(n),o.size>Ve._suggestionsLimit))break e}return{words:Array.from(o),duration:i.elapsed()}}async $computeWordRanges(e,t,n,r){const i=this._getModel(e);if(!i)return Object.create(null);const s=new RegExp(n,r),o=Object.create(null);for(let a=t.startLineNumber;a<t.endLineNumber;a++){const e=i.getLineWords(a,s);for(const t of e){if(!isNaN(Number(t.word)))continue;let e=o[t.word];e||(e=[],o[t.word]=e),e.push({startLineNumber:a,startColumn:t.startColumn,endLineNumber:a,endColumn:t.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){const s=this._getModel(e);if(!s)return null;const o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});const a=s.getValueInRange(t),l=s.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!l)return null;const c=s.getValueInRange(l);return _.INSTANCE.navigateValueSet(t,a,l,c,n)}}class Ve extends Pe{constructor(e,t){super(),this._host=e,this._foreignModuleFactory=t,this._foreignModule=null}async $ping(){return"pong"}$loadForeignModule(e,t,r){const i={host:(0,Se.kT)(r,((e,t)=>this._host.$fhr(e,t))),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(i,t),Promise.resolve((0,Se.V0)(this._foreignModule))):new Promise(((r,s)=>{const o=e=>{this._foreignModule=e.create(i,t),r((0,Se.V0)(this._foreignModule))};{const t=xe.zl.asBrowserUri(`${e}.js`).toString(!0);n(9204)(`${t}`).then(o).catch(s)}}))}$fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(n){return Promise.reject(n)}}}function ze(e){return new Ve(v.EditorWorkerHost.getChannel(e),null)}"function"==typeof importScripts&&(globalThis.monaco=(0,k.createMonacoBaseAPI)())},304:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IEditorWorkerService:()=>r});const r=(0,n(2399).u1)("editorWorkerService")},6358:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EditorWorkerHost:()=>r});class r{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(e){return e.getChannel(r.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(r.CHANNEL_NAME,t)}}},9307:(e,t,n)=>{"use strict";n.r(t),n.d(t,{findSectionHeaders:()=>s});const r=new RegExp("\\bMARK:\\s*(.*)$","d"),i=/^-+|-+$/g;function s(e,t){let n=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){const r=function(e,t){const n=[],r=e.getLineCount();for(let i=1;i<=r;i++){const r=e.getLineContent(i),s=r.match(t.foldingRules.markers.start);if(s){const e={startLineNumber:i,startColumn:s[0].length+1,endLineNumber:i,endColumn:r.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(r.substring(s[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);n=n.concat(r)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let r=1;r<=n;r++){o(e.getLineContent(r),r,t)}return t}(e);n=n.concat(t)}return n}function o(e,t,n){r.lastIndex=0;const i=r.exec(e);if(i){const e={startLineNumber:t,startColumn:i.indices[1][0]+1,endLineNumber:t,endColumn:i.indices[1][1]+1};if(e.endColumn>e.startColumn){const t={range:e,...a(i[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&n.push(t)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(i,""),hasSeparatorLine:t}}},1048:(e,t,n)=>{"use strict";n.r(t),n.d(t,{getIconClasses:()=>d});var r,i=n(3072),s=n(2467),o=n(7264),a=n(4957);!function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(r||(r={}));var l,c,h=n(8391);!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(l||(l={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function n(e){const r=t.exec(e.id);if(!r)return n(h.W.error);const[,i,s]=r,o=["codicon","codicon-"+i];return s&&o.push("codicon-modifier-"+s.substring(1)),o}e.asClassNameArray=n,e.asClassName=function(e){return n(e).join(" ")},e.asCSSSelector=function(e){return"."+n(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||l.isThemeColor(e.color))};const r=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=r.exec(e);if(!t)return;const[,n]=t;return{id:n}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let n=e.id;const r=n.lastIndexOf("~");return-1!==r&&(n=n.substring(0,r)),t&&(n=`${n}~${t}`),{id:n}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){return e.id===t.id&&e.color?.id===t.color?.id}}(c||(c={}));const u=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function d(e,t,n,l,h){if(c.isThemeIcon(h))return[`codicon-${h.id}`,"predefined-file-icon"];if(o.r.isUri(h))return[];const d=l===r.ROOT_FOLDER?["rootfolder-icon"]:l===r.FOLDER?["folder-icon"]:["file-icon"];if(n){let o;if(n.scheme===i.ny.data){o=s.B6.parseMetaData(n).get(s.B6.META_DATA_LABEL)}else{const e=n.path.match(u);e?(o=g(e[2].toLowerCase()),e[1]&&d.push(`${g(e[1].toLowerCase())}-name-dir-icon`)):o=g(n.authority.toLowerCase())}if(l===r.ROOT_FOLDER)d.push(`${o}-root-name-folder-icon`);else if(l===r.FOLDER)d.push(`${o}-name-folder-icon`);else{if(o){if(d.push(`${o}-name-file-icon`),d.push("name-file-icon"),o.length<=255){const e=o.split(".");for(let t=1;t<e.length;t++)d.push(`${e.slice(t).join(".")}-ext-file-icon`)}d.push("ext-file-icon")}const r=function(e,t,n){if(!n)return null;let r=null;if(n.scheme===i.ny.data){const e=s.B6.parseMetaData(n).get(s.B6.META_DATA_MIME);e&&(r=t.getLanguageIdByMimeType(e))}else{const t=e.getModel(n);t&&(r=t.getLanguageId())}if(r&&r!==a.vH)return r;return t.guessLanguageIdByFilepathOrFirstLine(n)}(e,t,n);r&&d.push(`${g(r)}-lang-file-icon`)}}return d}function g(e){return e.replace(/[\s]/g,"/")}},3591:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ILanguageFeatureDebounceService:()=>m,LanguageFeatureDebounceService:()=>k});var r=n(2344),i=n(7992);function s(e,t,n){return Math.min(Math.max(e,t),n)}class o{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class a{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}var l=n(2399);const c=(0,l.u1)("environmentService");var h=n(4412),u=n(2321),d=n(3072),g=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},f=function(e,t){return function(n,r){t(n,r,e)}};const m=(0,l.u1)("ILanguageFeatureDebounceService");var p;!function(e){const t=new WeakMap;let n=0;e.of=function(e){let r=t.get(e);return void 0===r&&(r=++n,t.set(e,r)),r}}(p||(p={}));class b{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class _{constructor(e,t,n,r,s,o){this._logService=e,this._name=t,this._registry=n,this._default=r,this._min=s,this._max=o,this._cache=new i.qK(50,.7)}_key(e){return e.id+this._registry.all(e).reduce(((e,t)=>(0,r.sN)(p.of(t),e)),0)}get(e){const t=this._key(e),n=this._cache.get(t);return n?s(n.value,this._min,this._max):this.default()}update(e,t){const n=this._key(e);let r=this._cache.get(n);r||(r=new a(6),this._cache.set(n,r));const i=s(r.update(t),this._min,this._max);return(0,d.v$)(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${i}ms`),i}_overall(){const e=new o;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){return s(0|this._overall()||this._default,this._min,this._max)}}let k=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,n){const r=n?.min??50,i=n?.max??r**2,s=n?.key??void 0,o=`${p.of(e)},${r}${s?","+s:""}`;let a=this._data.get(o);return a||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),a=new b(1.5*r)):a=new _(this._logService,t,e,0|this._overallAverage()||1.5*r,r,i),this._data.set(o,a)),a}_overallAverage(){const e=new o;for(const t of this._data.values())e.update(t.default());return e.value}};k=g([f(0,u.rr),f(1,c)],k),(0,h.v)(m,k,1)},2230:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ILanguageFeaturesService:()=>r});const r=(0,n(2399).u1)("ILanguageFeaturesService")},3704:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageFeaturesService:()=>m});var r=n(2106),i=n(2446),s=n(6055),o=n(3958),a=n(1570);function l(e,t,n,r,i,s){if(Array.isArray(e)){let o=0;for(const a of e){const e=l(a,t,n,r,i,s);if(10===e)return e;e>o&&(o=e)}return o}if("string"==typeof e)return r?"*"===e?5:e===n?10:0:0;if(e){const{language:l,pattern:c,scheme:h,hasAccessToAllModels:u,notebookType:d}=e;if(!r&&!u)return 0;d&&i&&(t=i);let g=0;if(h)if(h===t.scheme)g=10;else{if("*"!==h)return 0;g=5}if(l)if(l===n)g=10;else{if("*"!==l)return 0;g=Math.max(g,5)}if(d)if(d===s)g=10;else{if("*"!==d||void 0===s)return 0;g=Math.max(g,5)}if(c){let e;if(e="string"==typeof c?c:{...c,base:(0,a.S8)(c.base)},e!==t.fsPath&&!(0,o.YW)(e,t.fsPath))return 0;g=10}return g}return 0}function c(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(c):!!e.exclusive)}class h{constructor(e,t,n,r,i){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=r,this.recursive=i}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}}class u{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new r.vl,this.onDidChange=this._onDidChange.event}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,i.s)((()=>{if(n){const e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const n of this._entries)n._score>0&&t.push(n.provider);return t}ordered(e,t=!1){const n=[];return this._orderedForEach(e,t,(e=>n.push(e.provider))),n}orderedGroups(e){const t=[];let n,r;return this._orderedForEach(e,!1,(e=>{n&&r===e._score?n.push(e.provider):(r=e._score,n=[e.provider],t.push(n))})),t}_orderedForEach(e,t,n){this._updateScores(e,t);for(const r of this._entries)r._score>0&&n(r)}_updateScores(e,t){const n=this._notebookInfoResolver?.(e.uri),r=n?new h(e.uri,e.getLanguageId(),n.uri,n.type,t):new h(e.uri,e.getLanguageId(),void 0,void 0,t);if(!this._lastCandidate?.equals(r)){this._lastCandidate=r;for(const n of this._entries)if(n._score=l(n.selector,r.uri,r.languageId,(0,s.vd)(e),r.notebookUri,r.notebookType),c(n.selector)&&n._score>0){if(!t){for(const e of this._entries)e._score=0;n._score=1e3;break}n._score=0}this._entries.sort(u._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._score<t._score?1:e._score>t._score?-1:d(e.selector)&&!d(t.selector)?1:!d(e.selector)&&d(t.selector)?-1:e._time<t._time?1:e._time>t._time?-1:0}}function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(d):Boolean(e.isBuiltin))}var g=n(2230),f=n(4412);class m{constructor(){this.referenceProvider=new u(this._score.bind(this)),this.renameProvider=new u(this._score.bind(this)),this.newSymbolNamesProvider=new u(this._score.bind(this)),this.codeActionProvider=new u(this._score.bind(this)),this.definitionProvider=new u(this._score.bind(this)),this.typeDefinitionProvider=new u(this._score.bind(this)),this.declarationProvider=new u(this._score.bind(this)),this.implementationProvider=new u(this._score.bind(this)),this.documentSymbolProvider=new u(this._score.bind(this)),this.inlayHintsProvider=new u(this._score.bind(this)),this.colorProvider=new u(this._score.bind(this)),this.codeLensProvider=new u(this._score.bind(this)),this.documentFormattingEditProvider=new u(this._score.bind(this)),this.documentRangeFormattingEditProvider=new u(this._score.bind(this)),this.onTypeFormattingEditProvider=new u(this._score.bind(this)),this.signatureHelpProvider=new u(this._score.bind(this)),this.hoverProvider=new u(this._score.bind(this)),this.documentHighlightProvider=new u(this._score.bind(this)),this.multiDocumentHighlightProvider=new u(this._score.bind(this)),this.selectionRangeProvider=new u(this._score.bind(this)),this.foldingRangeProvider=new u(this._score.bind(this)),this.linkProvider=new u(this._score.bind(this)),this.inlineCompletionsProvider=new u(this._score.bind(this)),this.inlineEditProvider=new u(this._score.bind(this)),this.completionProvider=new u(this._score.bind(this)),this.linkedEditingRangeProvider=new u(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new u(this._score.bind(this)),this.documentSemanticTokensProvider=new u(this._score.bind(this)),this.documentDropEditProvider=new u(this._score.bind(this)),this.documentPasteEditProvider=new u(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}}(0,f.v)(g.ILanguageFeaturesService,m,1)},5122:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageService:()=>O});var r=n(2106),i=n(2446),s=n(6995),o=n(3338),a=n(9694),l=n(4957);const c=(e,t)=>e===t;new WeakMap;class h{constructor(e,t,n){this.owner=e,this.debugNameSource=t,this.referenceFn=n}getDebugName(e){return function(e,t){const n=d.get(e);if(n)return n;const r=function(e,t){const n=d.get(e);if(n)return n;const r=t.owner?function(e){const t=f.get(e);if(t)return t;const n=function(e){const t=e.constructor;if(t)return t.name;return"Object"}(e);let r=g.get(n)??0;r++,g.set(n,r);const i=1===r?n:`${n}#${r}`;return f.set(e,i),i}(t.owner)+".":"";let i;const s=t.debugNameSource;if(void 0!==s){if("function"!=typeof s)return r+s;if(i=s(),void 0!==i)return r+i}const o=t.referenceFn;if(void 0!==o&&(i=m(o),void 0!==i))return r+i;if(void 0!==t.owner){const n=function(e,t){for(const n in e)if(e[n]===t)return n;return}(t.owner,e);if(void 0!==n)return r+n}return}(e,t);if(r){let t=u.get(r)??0;t++,u.set(r,t);const n=1===t?r:`${r}#${t}`;return d.set(e,n),n}return}(e,this)}}const u=new Map,d=new WeakMap;const g=new Map,f=new WeakMap;function m(e){const t=e.toString(),n=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t),r=n?n[1]:void 0;return r?.trim()}let p,b,_,k;function v(){return p}class C{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t){const n=void 0===t?void 0:e,r=void 0===t?e:t;return k({owner:n,debugName:()=>{const e=m(r);if(void 0!==e)return e;const t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(r.toString());return t?`${this.debugName}.${t[2]}`:n?void 0:`${this.debugName} (mapped)`},debugReferenceFn:r},(e=>r(this.read(e),e)))}flatten(){return k({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},(e=>this.read(e).read(e)))}recomputeInitiallyAndOnChange(e,t){return e.add(b(this,t)),this}keepObserved(e){return e.add(_(this)),this}}class y extends C{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function L(e,t){const n=new w(e,t);try{e(n)}finally{n.finish()}}class w{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[],v()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():m(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t<e.length;t++){const{observer:n,observable:r}=e[t];n.endUpdate(r)}this.updatingObservers=null,v()?.handleEndTransaction()}}var S=n(7110);!function(e){k=e}((function(e,t){return new x(new h(e.owner,e.debugName,e.debugReferenceFn),t,void 0,void 0,e.onLastObserverRemoved,e.equalsFn??c)}));class x extends y{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,n,r,i=void 0,s){super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=n,this._handleChange=r,this._handleLastObserverRemoved=i,this._equalityComparator=s,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.(),v()?.handleDerivedCreated(this)}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(0===this.observers.size){const e=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),e}do{if(1===this.state)for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e;const t=0!==this.state,n=this.value;this.state=3;const r=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,r)}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}const i=t&&!this._equalityComparator(n,this.value);if(v()?.handleDerivedRecomputed(this,{oldValue:n,newValue:this.value,change:void 0,didChange:i,hadValue:t}),i)for(const s of this.observers)s.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const n of this.observers)n.handlePossibleChange(this);if(t)for(const n of this.observers)n.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}(0,S.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const n=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),r=3===this.state;if(n&&(1===this.state||r)&&(this.state=2,r))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function E(e){return new N(new h(void 0,void 0,e),e,void 0,void 0)}class N{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,n,r){this._debugNameData=e,this._runFn=t,this.createChangeSummary=n,this._handleChange=r,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),v()?.handleAutorunCreated(this),this._runIfNeeded(),(0,i.Ay)(this)}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),(0,i.VD)(this)}_runIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){v()?.handleAutorunTriggered(this);const e=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,e)}}finally{t||v()?.handleAutorunFinished(this);for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,(0,S.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary))&&(this.state=2)}}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}!function(e){e.Observer=N}(E||(E={}));function T(...e){let t,n,r;return 3===e.length?[t,n,r]=e:[n,r]=e,new A(new h(t,void 0,r),n,r,(()=>A.globalTransaction),c)}class A extends y{constructor(e,t,n,r,i){super(),this._debugNameData=e,this.event=t,this._getValue=n,this._getTransaction=r,this._equalityComparator=i,this.hasValue=!1,this.handleEvent=e=>{const t=this._getValue(e),n=this.value,r=!this.hasValue||!this._equalityComparator(n,t);let i=!1;r&&(this.value=t,this.hasValue&&(i=!0,function(e,t,n){e?t(e):L(t,n)}(this._getTransaction(),(e=>{v()?.handleFromEventObservableTriggered(this,{oldValue:n,newValue:t,change:void 0,didChange:r,hadValue:this.hasValue});for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")}))),this.hasValue=!0),i||v()?.handleFromEventObservableTriggered(this,{oldValue:n,newValue:t,change:void 0,didChange:r,hadValue:this.hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){if(this.subscription)return this.hasValue||this.handleEvent(void 0),this.value;return this._getValue(void 0)}}!function(e){e.Observer=A,e.batchEventsGlobally=function(e,t){let n=!1;void 0===A.globalTransaction&&(A.globalTransaction=e,n=!0);try{t()}finally{n&&(A.globalTransaction=void 0)}}}(T||(T={}));!function(e){_=e}((function(e){const t=new I(!1,void 0);return e.addObserver(t),(0,i.s)((()=>{e.removeObserver(t)}))})),function(e){b=e}((function(e,t){const n=new I(!0,t);return e.addObserver(n),t?t(e.get()):e.reportChanges(),(0,i.s)((()=>{e.removeObserver(n)}))}));class I{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}n(4327);class O extends i.jG{static{this.instanceCount=0}constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new r.vl),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new r.vl),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new r.vl({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,O.instanceCount++,this._registry=this._register(new s.LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){O.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const n=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return(0,o.Fy)(n,null)}createById(e){return new M(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new M(this.onDidChange,(()=>{const n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=l.vH),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),a.dG.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}class M{constructor(e,t){this._value=T(this,e,(()=>t())),this.onDidChange=r.Jh.fromObservable(this._value)}get languageId(){return this._value.get()}}},5996:(e,t,n)=>{"use strict";n.r(t),n.d(t,{clearPlatformLanguageAssociations:()=>f,getLanguageIds:()=>m,registerPlatformLanguageAssociation:()=>g});var r=n(3958),i=n(3720),s=n(3072),o=n(1570),a=n(2467),l=n(6844),c=n(4957);let h=[],u=[],d=[];function g(e,t=!1){!function(e,t,n){const i=function(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?(0,r.qg)(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(o.SA.sep)>=0}}(e,t);h.push(i),i.userConfigured?d.push(i):u.push(i);n&&!i.userConfigured&&h.forEach((e=>{e.mime===i.mime||e.userConfigured||(i.extension&&e.extension===i.extension&&console.warn(`Overwriting extension <<${i.extension}>> to now point to mime <<${i.mime}>>`),i.filename&&e.filename===i.filename&&console.warn(`Overwriting filename <<${i.filename}>> to now point to mime <<${i.mime}>>`),i.filepattern&&e.filepattern===i.filepattern&&console.warn(`Overwriting filepattern <<${i.filepattern}>> to now point to mime <<${i.mime}>>`),i.firstline&&e.firstline===i.firstline&&console.warn(`Overwriting firstline <<${i.firstline}>> to now point to mime <<${i.mime}>>`))}))}(e,!1,t)}function f(){h=h.filter((e=>e.userConfigured)),u=[]}function m(e,t){return function(e,t){let n;if(e)switch(e.scheme){case s.ny.file:n=e.fsPath;break;case s.ny.data:n=a.B6.parseMetaData(e).get(a.B6.META_DATA_LABEL);break;case s.ny.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:"unknown",mime:i.K.unknown}];n=n.toLowerCase();const r=(0,o.P8)(n),g=p(n,r,d);if(g)return[g,{id:c.vH,mime:i.K.text}];const f=p(n,r,u);if(f)return[f,{id:c.vH,mime:i.K.text}];if(t){const e=function(e){(0,l.LU)(e)&&(e=e.substr(1));if(e.length>0)for(let t=h.length-1;t>=0;t--){const n=h[t];if(!n.firstline)continue;const r=e.match(n.firstline);if(r&&r.length>0)return n}return}(t);if(e)return[e,{id:c.vH,mime:i.K.text}]}return[{id:"unknown",mime:i.K.unknown}]}(e,t).map((e=>e.id))}function p(e,t,n){let r,i,s;for(let o=n.length-1;o>=0;o--){const a=n[o];if(t===a.filenameLowercase){r=a;break}if(a.filepattern&&(!i||a.filepattern.length>i.filepattern.length)){const n=a.filepatternOnPath?e:t;a.filepatternLowercase?.(n)&&(i=a)}a.extension&&(!s||a.extension.length>s.extension.length)&&t.endsWith(a.extensionLowercase)&&(s=a)}return r||(i||(s||void 0))}},6995:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageIdCodec:()=>d,LanguagesRegistry:()=>g});var r=n(2106),i=n(2446),s=n(6844),o=n(5996),a=n(4957),l=n(7142),c=n(7167);const h=Object.prototype.hasOwnProperty,u="vs.editor.nullLanguage";class d{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(u,0),this._register(a.vH,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||u}}class g extends i.jG{static{this.instanceCount=0}constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new r.vl),this.onDidChange=this._onDidChange.event,g.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new d,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(a.W6.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){g.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,o.clearPlatformLanguageAssociations)();const e=[].concat(a.W6.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),c.O.as(l.Fd.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let n;h.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){const n=t.id;let r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r=`text/x-${n}`,e.mimetypes.push(r)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)(0,o.registerPlatformLanguageAssociation)({id:n,mime:r,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const s of t.filenames)(0,o.registerPlatformLanguageAssociation)({id:n,mime:r,filename:s},this._warnOnOverwrite),e.filenames.push(s);if(Array.isArray(t.filenamePatterns))for(const s of t.filenamePatterns)(0,o.registerPlatformLanguageAssociation)({id:n,mime:r,filepattern:s},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);(0,s.eY)(t)||(0,o.registerPlatformLanguageAssociation)({id:n,mime:r,firstline:t},this._warnOnOverwrite)}catch(l){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,l)}}e.aliases.push(n);let i=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(i=0===t.aliases.length?[null]:t.aliases),null!==i)for(const s of i)s&&0!==s.length&&e.aliases.push(s);const a=null!==i&&i.length>0;if(a&&null===i[0]);else{const t=(a?i[0]:null)||n;!a&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&h.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return h.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&h.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?(0,o.getLanguageIds)(e,t):[]}}},886:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IMarkerDecorationsService:()=>r});const r=(0,n(2399).u1)("markerDecorationsService")},4109:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MarkerDecorationsService:()=>L});var r,i=n(6844);!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(r||(r={})),function(e){const t="error",n="warning",r="info";e.fromValue=function(s){return s?i.Q_(t,s)?e.Error:i.Q_(n,s)||i.Q_("warn",s)?e.Warning:i.Q_(r,s)?e.Info:e.Ignore:e.Ignore},e.toString=function(i){switch(i){case e.Error:return t;case e.Warning:return n;case e.Info:return r;default:return"ignore"}}}(r||(r={}));const s=r;var o,a,l=n(7289),c=n(2399);!function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(o||(o={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=(0,l.kg)("sev.error","Error"),t[e.Warning]=(0,l.kg)("sev.warning","Warning"),t[e.Info]=(0,l.kg)("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case s.Error:return e.Error;case s.Warning:return e.Warning;case s.Info:return e.Info;case s.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return s.Error;case e.Warning:return s.Warning;case e.Info:return s.Info;case e.Hint:return s.Ignore}}}(o||(o={})),function(e){const t="";function n(e,n){const r=[t];return e.source?r.push(e.source.replace("\xa6","\\\xa6")):r.push(t),e.code?"string"==typeof e.code?r.push(e.code.replace("\xa6","\\\xa6")):r.push(e.code.value.replace("\xa6","\\\xa6")):r.push(t),void 0!==e.severity&&null!==e.severity?r.push(o.toString(e.severity)):r.push(t),e.message&&n?r.push(e.message.replace("\xa6","\\\xa6")):r.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?r.push(e.startLineNumber.toString()):r.push(t),void 0!==e.startColumn&&null!==e.startColumn?r.push(e.startColumn.toString()):r.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?r.push(e.endLineNumber.toString()):r.push(t),void 0!==e.endColumn&&null!==e.endColumn?r.push(e.endColumn.toString()):r.push(t),r.push(t),r.join("\xa6")}e.makeKey=function(e){return n(e,!0)},e.makeKeyOptionalMessage=n}(a||(a={}));const h=(0,c.u1)("markerService");var u=n(2446),d=n(6055),g=n(6001),f=n(8295),m=n(4830),p=n(8061),b=n(3072),_=n(2106),k=n(9119),v=n(7992);var C=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},y=function(e,t){return function(n,r){t(n,r,e)}};let L=class extends u.jG{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new _.vl),this._markerDecorations=new v.fT,e.getModels().forEach((e=>this._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new w(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==b.ny.inMemory&&e.uri.scheme!==b.ny.internal&&e.uri.scheme!==b.ny.vscode||this._markerService?.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};L=C([y(0,m.IModelService),y(1,h)],L);class w extends u.jG{constructor(e){super(),this.model=e,this._map=new v.cO,this._register((0,u.s)((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(e){const{added:t,removed:n}=function(e,t){const n=[],r=[];for(const i of e)t.has(i)||n.push(i);for(const i of t)e.has(i)||r.push(i);return{removed:n,added:r}}(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===n.length)return!1;const r=n.map((e=>this._map.get(e))),i=t.map((e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)}))),s=this.model.deltaDecorations(r,i);for(const o of n)this._map.delete(o);for(let o=0;o<s.length;o++)this._map.set(t[o],s[o]);return!0}getMarker(e){return this._map.getKey(e.id)}_createDecorationRange(e,t){let n=p.Q.lift(t);if(t.severity!==o.Hint||this._hasMarkerTag(t,1)||this._hasMarkerTag(t,2)||(n=n.setEndPosition(n.startLineNumber,n.startColumn+2)),n=e.validateRange(n),n.isEmpty()){const t=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);if(1===t||n.endColumn>=t)return n;const r=e.getWordAtPosition(n.getStartPosition());r&&(n=new p.Q(n.startLineNumber,r.startColumn,n.endLineNumber,r.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){const r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r<n.endColumn&&(n=new p.Q(n.startLineNumber,r,n.endLineNumber,n.endColumn),t.startColumn=r)}return n}_createDecorationOption(e){let t,n,r,i,s;switch(e.severity){case o.Hint:t=this._hasMarkerTag(e,2)?void 0:this._hasMarkerTag(e,1)?"squiggly-unnecessary":"squiggly-hint",r=0;break;case o.Info:t="squiggly-info",n=(0,g.Yf)(f.AQ),r=10,s={color:(0,g.Yf)(k.KoI),position:1};break;case o.Warning:t="squiggly-warning",n=(0,g.Yf)(f.aZ),r=20,s={color:(0,g.Yf)(k.uMG),position:1};break;case o.Error:default:t="squiggly-error",n=(0,g.Yf)(f.yI),r=30,s={color:(0,g.Yf)(k.yLC),position:1}}return e.tags&&(-1!==e.tags.indexOf(1)&&(i="squiggly-inline-unnecessary"),-1!==e.tags.indexOf(2)&&(i="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:n,position:d.A5.Right},minimap:s,zIndex:r,inlineClassName:i}}_hasMarkerTag(e,t){return!!e.tags&&e.tags.indexOf(t)>=0}}},4830:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IModelService:()=>r});const r=(0,n(2399).u1)("modelService")},1327:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DefaultModelSHA1Computer:()=>Li,ModelService:()=>yi});var r=n(2106),i=n(2446),s=n(3339),o=n(3338),a=n(4901),l=n(4327),c=n(6844),h=n(7264),u=n(3902);class d{static _nextVisibleColumn(e,t,n){return 9===e?d.nextRenderTabStop(t,n):c.ne(e)||c.Ss(e)?t+2:t+1}static visibleColumnFromColumn(e,t,n){const r=Math.min(t-1,e.length),i=e.substring(0,r),s=new c.km(i);let o=0;for(;!s.eol();){const e=c.Z5(i,r,s.offset);s.nextGraphemeLength(),o=this._nextVisibleColumn(e,o,n)}return o}static columnFromVisibleColumn(e,t,n){if(t<=0)return 1;const r=e.length,i=new c.km(e);let s=0,o=1;for(;!i.eol();){const a=c.Z5(e,r,i.offset);i.nextGraphemeLength();const l=this._nextVisibleColumn(a,s,n),h=i.offset+1;if(l>=t){return l-t<t-s?h:o}s=l,o=h}return r+1}static nextRenderTabStop(e,t){return e+t-e%t}static nextIndentTabStop(e,t){return e+t-e%t}static prevRenderTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}static prevIndentTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}}function g(e,t,n){let r=c.HG(e);return-1===r&&(r=e.length),function(e,t,n){let r=0;for(let s=0;s<e.length;s++)"\t"===e.charAt(s)?r=d.nextIndentTabStop(r,t):r++;let i="";if(!n){const e=Math.floor(r/t);r%=t;for(let t=0;t<e;t++)i+="\t"}for(let s=0;s<r;s++)i+=" ";return i}(e.substring(0,r),t,n)+e.substring(r)}var f=n(5365),m=n(8061),p=n(3702);const b={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var _,k=n(7922),v=n(8782);!function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(_||(_={}));class C{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,n=e.notIn.length;t<n;t++){switch(e.notIn[t]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1}}}isOK(e){switch(e){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(e,t){if(0===e.getTokenCount())return!0;const n=e.findTokenIndexAtOffset(t-2),r=e.getStandardTokenType(n);return this.isOK(r)}_findNeutralCharacterInRange(e,t){for(let n=e;n<=t;n++){const e=String.fromCharCode(n);if(!this.open.includes(e)&&!this.close.includes(e))return e}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}class y{constructor(e){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const t of e)L(this.autoClosingPairsOpenByStart,t.open.charAt(0),t),L(this.autoClosingPairsOpenByEnd,t.open.charAt(t.open.length-1),t),L(this.autoClosingPairsCloseByStart,t.close.charAt(0),t),L(this.autoClosingPairsCloseByEnd,t.close.charAt(t.close.length-1),t),1===t.close.length&&1===t.open.length&&L(this.autoClosingPairsCloseSingleChar,t.close,t)}}function L(e,t,n){e.has(t)?e.get(t).push(n):e.set(t,[n])}class w{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t"}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t"}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new C(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new C({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new C({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:w.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:w.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}function S(e){return!!(3&e)}var x=n(2802);let E,N,T;function A(){return E||(E=new TextDecoder("UTF-16LE")),E}function I(){return T||(T=s.cm()?A():(N||(N=new TextDecoder("UTF-16BE")),N)),T}function O(e,t,n){const r=new Uint16Array(e.buffer,t,n);return n>0&&(65279===r[0]||65534===r[0])?function(e,t,n){const r=[];let i=0;for(let s=0;s<n;s++){const n=x.$l(e,t);t+=2,r[i++]=String.fromCharCode(n)}return r.join("")}(e,t,n):A().decode(r)}class M{constructor(e,t,n,r,i,s){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=n,this.close=r,this.forwardRegex=i,this.reversedRegex=s,this._openSet=M._toSet(this.open),this._closeSet=M._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const n of e)t.add(n);return t}}class R{constructor(e,t){this._richEditBracketsBrand=void 0;const n=function(e){const t=e.length;e=e.map((e=>[e[0].toLowerCase(),e[1].toLowerCase()]));const n=[];for(let o=0;o<t;o++)n[o]=o;const r=(e,t)=>{const[n,r]=e,[i,s]=t;return n===i||n===s||r===i||r===s},i=(e,r)=>{const i=Math.min(e,r),s=Math.max(e,r);for(let o=0;o<t;o++)n[o]===s&&(n[o]=i)};for(let o=0;o<t;o++){const s=e[o];for(let a=o+1;a<t;a++)r(s,e[a])&&i(n[o],n[a])}const s=[];for(let o=0;o<t;o++){const r=[],i=[];for(let s=0;s<t;s++)if(n[s]===o){const[t,n]=e[s];r.push(t),i.push(n)}r.length>0&&s.push({open:r,close:i})}return s}(t);this.brackets=n.map(((t,r)=>new M(e,r,t.open,t.close,function(e,t,n,r){let i=[];i=i.concat(e),i=i.concat(t);for(let s=0,o=i.length;s<o;s++)D(i[s],n,r,i);return i=F(i),i.sort(B),i.reverse(),V(i)}(t.open,t.close,n,r),function(e,t,n,r){let i=[];i=i.concat(e),i=i.concat(t);for(let s=0,o=i.length;s<o;s++)D(i[s],n,r,i);return i=F(i),i.sort(B),i.reverse(),V(i.map(z))}(t.open,t.close,n,r)))),this.forwardRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=F(t),V(t)}(this.brackets),this.reversedRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=F(t),V(t.map(z))}(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const r of this.brackets){for(const e of r.open)this.textIsBracket[e]=r,this.textIsOpenBracket[e]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,e.length);for(const e of r.close)this.textIsBracket[e]=r,this.textIsOpenBracket[e]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,e.length)}}}function D(e,t,n,r){for(let i=0,s=t.length;i<s;i++){if(i===n)continue;const s=t[i];for(const t of s.open)t.indexOf(e)>=0&&r.push(t);for(const t of s.close)t.indexOf(e)>=0&&r.push(t)}}function B(e,t){return e.length-t.length}function F(e){if(e.length<=1)return e;const t=[],n=new Set;for(const r of e)n.has(r)||(t.push(r),n.add(r));return t}function P(e){const t=/^[\w ]+$/.test(e);return e=c.bm(e),t?`\\b${e}\\b`:e}function V(e,t){const n=`(${e.map(P).join(")|(")})`;return c.OS(n,!0,t)}const z=function(){let e=null,t=null;return function(n){return e!==n&&(e=n,t=function(e){const t=new Uint16Array(e.length);let n=0;for(let r=e.length-1;r>=0;r--)t[n++]=e.charCodeAt(r);return I().decode(t)}(e)),t}}();class j{static _findPrevBracketInText(e,t,n,r){const i=n.match(e);if(!i)return null;const s=n.length-(i.index||0),o=i[0].length,a=r+s;return new m.Q(t,a-o+1,t,a+1)}static findPrevBracketInRange(e,t,n,r,i){const s=z(n).substring(n.length-i,n.length-r);return this._findPrevBracketInText(e,t,s,r)}static findNextBracketInText(e,t,n,r){const i=n.match(e);if(!i)return null;const s=i.index||0,o=i[0].length;if(0===o)return null;const a=r+s;return new m.Q(t,a+1,t,a+1+o)}static findNextBracketInRange(e,t,n,r,i){const s=n.substring(r,i);return this.findNextBracketInText(e,t,s,r)}}class q{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const n of t.close){const t=n.charAt(n.length-1);e.push(t)}return(0,o.dM)(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const r=t.findTokenIndexAtOffset(n-1);if(S(t.getStandardTokenType(r)))return null;const i=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,n-1)+e,o=j.findPrevBracketInRange(i,1,s,0,s.length);if(!o)return null;const a=s.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const l=t.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function W(e){return e.global&&(e.lastIndex=0),!0}class U{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&W(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&W(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&W(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&W(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class ${constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=$._createOpenBracketRegExp(e[0]),n=$._createCloseBracketRegExp(e[1]);t&&n&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:n})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,n,r){if(e>=3)for(let i=0,s=this._regExpRules.length;i<s;i++){const e=this._regExpRules[i];if([{reg:e.beforeText,text:n},{reg:e.afterText,text:r},{reg:e.previousLineText,text:t}].every((e=>!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return e.action}if(e>=2&&n.length>0&&r.length>0)for(let i=0,s=this._brackets.length;i<s;i++){const e=this._brackets[i];if(e.openRegExp.test(n)&&e.closeRegExp.test(r))return{indentAction:_.IndentOutdent}}if(e>=2&&n.length>0)for(let i=0,s=this._brackets.length;i<s;i++){if(this._brackets[i].openRegExp.test(n))return{indentAction:_.Indent}}return null}static _createOpenBracketRegExp(e){let t=c.bm(e);return/\B/.test(t.charAt(0))||(t="\\b"+t),t+="\\s*$",$._safeRegExp(t)}static _createCloseBracketRegExp(e){let t=c.bm(e);return/\B/.test(t.charAt(t.length-1))||(t+="\\b"),t="^\\s*"+t,$._safeRegExp(t)}static _safeRegExp(e){try{return new RegExp(e)}catch(t){return(0,l.dz)(t),null}}}var H=n(2399),K=n(5753),G=n(4412),Q=n(4957),J=n(6260);class X{constructor(e,t){this.languageId=e;const n=t.brackets?Y(t.brackets):[],r=new J.VV((e=>{const t=new Set;return{info:new ee(this,e,t),closing:t}})),i=new J.VV((e=>{const t=new Set,n=new Set;return{info:new te(this,e,t,n),opening:t,openingColorized:n}}));for(const[o,a]of n){const e=r.get(o),t=i.get(a);e.closing.add(t.info),t.opening.add(e.info)}const s=t.colorizedBracketPairs?Y(t.colorizedBracketPairs):n.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[o,a]of s){const e=r.get(o),t=i.get(a);e.closing.add(t.info),t.openingColorized.add(e.info),t.opening.add(e.info)}this._openingBrackets=new Map([...r.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...i.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){return V(Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]),e)}}function Y(e){return e.filter((([e,t])=>""!==e&&""!==t))}class Z{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class ee extends Z{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}}class te extends Z{constructor(e,t,n,r){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=r,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var ne=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},re=function(e,t){return function(n,r){t(n,r,e)}};class ie{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const se=(0,H.u1)("languageConfigurationService");let oe=class extends i.jG{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new ge),this.onDidChangeEmitter=this._register(new r.vl),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const n=new Set(Object.values(ae));this._register(this.configurationService.onDidChangeConfiguration((e=>{const t=e.change.keys.some((e=>n.has(e))),r=e.change.overrides.filter((([e,t])=>t.some((e=>n.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new ie(void 0));else for(const n of r)this.languageService.isRegisteredLanguageId(n)&&(this.configurations.delete(n),this.onDidChangeEmitter.fire(new ie(n)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new ie(e.languageId))})))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,n,r){let i=t.getLanguageConfiguration(e);if(!i){if(!r.isRegisteredLanguageId(e))return new fe(e,{});i=new fe(e,{})}const s=function(e,t){const n=t.getValue(ae.brackets,{overrideIdentifier:e}),r=t.getValue(ae.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:le(n),colorizedBracketPairs:le(r)}}(i.languageId,n),o=he([i.underlyingConfig,s]);return new fe(i.languageId,o)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};oe=ne([re(0,K.pG),re(1,k.L)],oe);const ae={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function le(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}class ce{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const n=new ue(e,t,++this._order);return this._entries.push(n),this._resolved=null,(0,i.s)((()=>{for(let e=0;e<this._entries.length;e++)if(this._entries[e]===n){this._entries.splice(e,1),this._resolved=null;break}}))}getResolvedConfiguration(){if(!this._resolved){const e=this._resolve();e&&(this._resolved=new fe(this.languageId,e))}return this._resolved}_resolve(){return 0===this._entries.length?null:(this._entries.sort(ue.cmp),he(this._entries.map((e=>e.configuration))))}}function he(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}class ue{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class de{constructor(e){this.languageId=e}}class ge extends i.jG{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new r.vl),this.onDidChange=this._onDidChange.event,this._register(this.register(Q.vH,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let r=this._entries.get(e);r||(r=new ce(e),this._entries.set(e,r));const s=r.register(t,n);return this._onDidChange.fire(new de(e)),(0,i.s)((()=>{s.dispose(),this._onDidChange.fire(new de(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class fe{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new $(this.underlyingConfig):null,this.comments=fe._handleComments(this.underlyingConfig),this.characterPair=new w(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||v.Ld,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new U(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new X(e,this.underlyingConfig)}getWordDefinition(){return(0,v.Io)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new R(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new q(this.brackets)),this._electricCharacter}onEnter(e,t,n,r){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,r):null}getAutoClosingPairs(){return new y(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){const[e,r]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=r}return n}}(0,G.v)(se,oe,1);var me=n(6055);class pe{constructor(e,t,n,r){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=n,this.isInvalid=r}}class be{constructor(e,t,n,r,i,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=n,this.nestingLevel=r,this.nestingLevelOfEqualBracketType=i,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class _e extends be{constructor(e,t,n,r,i,s,o){super(e,t,n,r,i,s),this.minVisibleColumnIndentation=o}}var ke=n(8357);const ve=0;function Ce(e){return 0===e}const ye=2**26;function Le(e,t){return e*ye+t}function we(e){const t=e,n=Math.floor(t/ye),r=t-n*ye;return new ke.W(n,r)}function Se(e,t){let n=e+t;return t>=ye&&(n-=e%ye),n}function xe(e,t){return e.reduce(((e,n)=>Se(e,t(n))),ve)}function Ee(e,t){return e===t}function Ne(e,t){const n=e,r=t;if(r-n<=0)return ve;const i=Math.floor(n/ye),s=Math.floor(r/ye),o=r-s*ye;if(i===s){return Le(0,o-(n-i*ye))}return Le(s-i,o)}function Te(e,t){return e<t}function Ae(e,t){return e<=t}function Ie(e,t){return e>=t}function Oe(e){return Le(e.lineNumber-1,e.column-1)}function Me(e,t){const n=e,r=Math.floor(n/ye),i=n-r*ye,s=t,o=Math.floor(s/ye),a=s-o*ye;return new m.Q(r+1,i+1,o+1,a+1)}class Re{static fromModelContentChanges(e){return e.map((e=>{const t=m.Q.lift(e.range);return new Re(Oe(t.getStartPosition()),Oe(t.getEndPosition()),function(e){const t=(0,c.uz)(e);return Le(t.length-1,t[t.length-1].length)}(e.text))})).reverse()}constructor(e,t,n){this.startOffset=e,this.endOffset=t,this.newLength=n}toString(){return`[${we(this.startOffset)}...${we(this.endOffset)}) -> ${we(this.newLength)}`}}class De{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>Be.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],n=t?this.translateOldToCur(t.offsetObj):null;return null===n?null:Ne(e,n)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?Le(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):Le(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=we(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?Le(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):Le(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx<this.edits.length;){const t=this.edits[this.nextEditIdx],n=this.translateOldToCur(t.endOffsetAfterObj);if(!Ae(n,e))break;{this.nextEditIdx++;const e=we(n),r=we(this.translateOldToCur(t.endOffsetBeforeObj)),i=e.lineCount-r.lineCount;this.deltaOldToNewLineCount+=i;const s=this.deltaLineIdxInOld===t.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,o=e.columnCount-r.columnCount;this.deltaOldToNewColumnCount=s+o,this.deltaLineIdxInOld=t.endOffsetBeforeObj.lineCount}}}}class Be{static from(e){return new Be(e.startOffset,e.endOffset,e.newLength)}constructor(e,t,n){this.endOffsetBeforeObj=we(t),this.endOffsetAfterObj=we(Se(e,n)),this.offsetObj=we(e)}}const Fe=[];class Pe{static{this.cache=new Array(129)}static create(e,t){if(e<=128&&0===t.length){let n=Pe.cache[e];return n||(n=new Pe(e,t),Pe.cache[e]=n),n}return new Pe(e,t)}static{this.empty=Pe.create(0,Fe)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const n=t.getKey(e);let r=n>>5;if(0===r){const e=1<<n|this.items;return e===this.items?this:Pe.create(e,this.additionalItems)}r--;const i=this.additionalItems.slice(0);for(;i.length<r;)i.push(0);return i[r]|=1<<(31&n),Pe.create(this.items,i)}merge(e){const t=this.items|e.items;if(this.additionalItems===Fe&&e.additionalItems===Fe)return t===this.items?this:t===e.items?e:Pe.create(t,Fe);const n=[];for(let r=0;r<Math.max(this.additionalItems.length,e.additionalItems.length);r++){const t=this.additionalItems[r]||0,i=e.additionalItems[r]||0;n.push(t|i)}return Pe.create(t,n)}intersects(e){if(this.items&e.items)return!0;for(let t=0;t<Math.min(this.additionalItems.length,e.additionalItems.length);t++)if(this.additionalItems[t]&e.additionalItems[t])return!0;return!1}}const Ve={getKey:e=>e};class ze{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}class je{get length(){return this._length}constructor(e){this._length=e}}class qe extends je{static create(e,t,n){let r=e.length;return t&&(r=Se(r,t.length)),n&&(r=Se(r,n.length)),new qe(r,e,t,n,t?t.missingOpeningBracketIds:Pe.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,n,r,i){super(e),this.openingBracket=t,this.child=n,this.closingBracket=r,this.missingOpeningBracketIds=i}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new qe(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(Se(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class We extends je{static create23(e,t,n,r=!1){let i=e.length,s=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(i=Se(i,t.length),s=s.merge(t.missingOpeningBracketIds),n){if(e.listHeight!==n.listHeight)throw new Error("Invalid list heights");i=Se(i,n.length),s=s.merge(n.missingOpeningBracketIds)}return r?new $e(i,e.listHeight+1,e,t,n,s):new Ue(i,e.listHeight+1,e,t,n,s)}static getEmpty(){return new Ke(ve,0,[],Pe.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,n){super(e),this.listHeight=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),n=4===t.kind?t.toMutable():t;return t!==n&&this.setChild(e-1,n),n}makeFirstElementMutable(){this.throwIfImmutable();if(0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new l.D7;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,n=this.getChild(0).missingOpeningBracketIds;for(let r=1;r<e;r++){const e=this.getChild(r);t=Se(t,e.length),n=n.merge(e.missingOpeningBracketIds)}this._length=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}computeMinIndentation(e,t){if(-1!==this.cachedMinIndentation)return this.cachedMinIndentation;let n=Number.MAX_SAFE_INTEGER,r=e;for(let i=0;i<this.childrenLength;i++){const e=this.getChild(i);e&&(n=Math.min(n,e.computeMinIndentation(r,t)),r=Se(r,e.length))}return this.cachedMinIndentation=n,n}}class Ue extends We{get childrenLength(){return null!==this._item3?3:2}getChild(e){switch(e){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(e,t){switch(e){case 0:return void(this._item1=t);case 1:return void(this._item2=t);case 2:return void(this._item3=t)}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(e,t,n,r,i,s){super(e,t,s),this._item1=n,this._item2=r,this._item3=i}deepClone(){return new Ue(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=e,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item3;return this._item3=null,this.handleChildrenChanged(),e}prependChildOfSameHeight(e){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=e,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),e}toMutable(){return this}}class $e extends Ue{toMutable(){return new Ue(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class He extends We{get childrenLength(){return this._children.length}getChild(e){return this._children[e]}setChild(e,t){this._children[e]=t}get children(){return this._children}constructor(e,t,n,r){super(e,t,r),this._children=n}deepClone(){const e=new Array(this._children.length);for(let t=0;t<this._children.length;t++)e[t]=this._children[t].deepClone();return new He(this.length,this.listHeight,e,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){this.throwIfImmutable(),this._children.push(e),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const e=this._children.pop();return this.handleChildrenChanged(),e}prependChildOfSameHeight(e){this.throwIfImmutable(),this._children.unshift(e),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const e=this._children.shift();return this.handleChildrenChanged(),e}toMutable(){return this}}class Ke extends He{toMutable(){return new He(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const Ge=[];class Qe extends je{get listHeight(){return 0}get childrenLength(){return 0}getChild(e){return null}get children(){return Ge}deepClone(){return this}}class Je extends Qe{get kind(){return 0}get missingOpeningBracketIds(){return Pe.getEmpty()}canBeReused(e){return!0}computeMinIndentation(e,t){const n=we(e),r=(0===n.columnCount?n.lineCount:n.lineCount+1)+1,i=(s=Se(e,this.length),Math.floor(s/ye)+1);var s;let o=Number.MAX_SAFE_INTEGER;for(let a=r;a<=i;a++){const e=t.getLineFirstNonWhitespaceColumn(a),n=t.getLineContent(a);if(0===e)continue;const r=d.visibleColumnFromColumn(n,e,t.getOptions().tabSize);o=Math.min(o,r)}return o}}class Xe extends Qe{static create(e,t,n){return new Xe(e,t,n)}get kind(){return 1}get missingOpeningBracketIds(){return Pe.getEmpty()}constructor(e,t,n){super(e),this.bracketInfo=t,this.bracketIds=n}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(e){return!1}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}class Ye extends Qe{get kind(){return 3}constructor(e,t){super(t),this.missingOpeningBracketIds=e}canBeReused(e){return!e.intersects(this.missingOpeningBracketIds)}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}var Ze=n(5910);class et{constructor(e,t,n,r,i){this.length=e,this.kind=t,this.bracketId=n,this.bracketIds=r,this.astNode=i}}class tt{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new nt(this.textModel,this.bracketTokens),this._offset=ve,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return Le(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=Se(this._offset,e);const t=we(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=Se(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class nt{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=e.length,e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let n=0;for(;;){const r=this.lineTokens,i=r.getCount();let s=null;if(this.lineTokenOffset<i){const o=r.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<i&&o===r.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const a=0===Ze.x.getTokenType(o),l=Ze.x.containsBalancedBrackets(o),c=r.getEndOffset(this.lineTokenOffset);if(l&&a&&this.lineCharOffset<c){const e=r.getLanguageId(this.lineTokenOffset),t=this.line.substring(this.lineCharOffset,c),n=this.bracketTokens.getSingleLanguageBracketTokens(e),i=n.regExpGlobal;if(i){i.lastIndex=0;const e=i.exec(t);e&&(s=n.getToken(e[0]),s&&(this.lineCharOffset+=e.index))}}if(n+=c-this.lineCharOffset,s){if(e!==this.lineIdx||t!==this.lineCharOffset){this.peekedToken=s;break}return this.lineCharOffset+=s.length,s}this.lineTokenOffset++,this.lineCharOffset=c}else{if(this.lineIdx===this.textBufferLineCount-1)break;if(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,n+=33,n>1e3)break}if(n>1500)break}const r=(i=e,s=t,o=this.lineIdx,a=this.lineCharOffset,i!==o?Le(o-i,a):Le(0,a-s));var i,s,o,a;return new et(r,0,-1,Pe.getEmpty(),new Je(r))}}class rt{constructor(e,t){this.text=e,this._offset=ve,this.idx=0;const n=t.getRegExpStr(),r=n?new RegExp(n+"|\n","gi"):null,i=[];let s,o=0,a=0,l=0,c=0;const h=[];for(let g=0;g<60;g++)h.push(new et(Le(0,g),0,-1,Pe.getEmpty(),new Je(Le(0,g))));const u=[];for(let g=0;g<60;g++)u.push(new et(Le(1,g),0,-1,Pe.getEmpty(),new Je(Le(1,g))));if(r)for(r.lastIndex=0;null!==(s=r.exec(e));){const e=s.index,n=s[0];if("\n"===n)o++,a=e+1;else{if(l!==e){let t;if(c===o){const n=e-l;if(n<h.length)t=h[n];else{const e=Le(0,n);t=new et(e,0,-1,Pe.getEmpty(),new Je(e))}}else{const n=o-c,r=e-a;if(1===n&&r<u.length)t=u[r];else{const e=Le(n,r);t=new et(e,0,-1,Pe.getEmpty(),new Je(e))}}i.push(t)}i.push(t.getToken(n)),l=e+n.length,c=o}}const d=e.length;if(l!==d){const e=c===o?Le(0,d-l):Le(o-c,d-a);i.push(new et(e,0,-1,Pe.getEmpty(),new Je(e)))}this.length=Le(o,d-a),this.tokens=i}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(e){throw new l.EM}}class it{static createFromLanguage(e,t){function n(e){return t.getKey(`${e.languageId}:::${e.bracketText}`)}const r=new Map;for(const i of e.bracketsNew.openingBrackets){const e=Le(0,i.bracketText.length),t=n(i),s=Pe.getEmpty().add(t,Ve);r.set(i.bracketText,new et(e,1,t,s,Xe.create(e,i,s)))}for(const i of e.bracketsNew.closingBrackets){const e=Le(0,i.bracketText.length);let t=Pe.getEmpty();const s=i.getOpeningBrackets();for(const r of s)t=t.add(n(r),Ve);r.set(i.bracketText,new et(e,2,n(s[0]),t,Xe.create(e,i,t)))}return new it(r)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map((e=>function(e){let t=(0,c.bm)(e);/^[\w ]+/.test(e)&&(t=`\\b${t}`);/[\w ]+$/.test(e)&&(t=`${t}\\b`);return t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,n]of this.map)if(2===n.kind&&n.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class st{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=it.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function ot(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let n=e.length;for(;n>3;){const r=n>>1;for(let i=0;i<r;i++){const r=i<<1;e[i]=We.create23(e[r],e[r+1],r+3===n?e[r+2]:null,t)}n=r}return We.create23(e[0],e[1],n>=3?e[2]:null,t)}function at(e,t){return Math.abs(e.listHeight-t.listHeight)}function lt(e,t){return e.listHeight===t.listHeight?We.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let n=e=e.toMutable();const r=[];let i;for(;;){if(t.listHeight===n.listHeight){i=t;break}if(4!==n.kind)throw new Error("unexpected");r.push(n),n=n.makeLastElementMutable()}for(let s=r.length-1;s>=0;s--){const e=r[s];i?e.childrenLength>=3?i=We.create23(e.unappendChild(),i,null,!1):(e.appendChildOfSameHeight(i),i=void 0):e.handleChildrenChanged()}return i?We.create23(e,i,null,!1):e}(e,t):function(e,t){let n=e=e.toMutable();const r=[];for(;t.listHeight!==n.listHeight;){if(4!==n.kind)throw new Error("unexpected");r.push(n),n=n.makeFirstElementMutable()}let i=t;for(let s=r.length-1;s>=0;s--){const e=r[s];i?e.childrenLength>=3?i=We.create23(i,e.unprependChild(),null,!1):(e.prependChildOfSameHeight(i),i=void 0):e.handleChildrenChanged()}return i?We.create23(i,e,null,!1):e}(t,e)}class ct{constructor(e){this.lastOffset=ve,this.nextNodes=[e],this.offsets=[ve],this.idxs=[]}readLongestNodeAt(e,t){if(Te(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const n=ut(this.nextNodes);if(!n)return;const r=ut(this.offsets);if(Te(e,r))return;if(Te(r,e))if(Se(r,n.length)<=e)this.nextNodeAfterCurrent();else{const e=ht(n);-1!==e?(this.nextNodes.push(n.getChild(e)),this.offsets.push(r),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(n))return this.nextNodeAfterCurrent(),n;{const e=ht(n);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(n.getChild(e)),this.offsets.push(r),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=ut(this.offsets),t=ut(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const n=ut(this.nextNodes),r=ht(n,this.idxs[this.idxs.length-1]);if(-1!==r){this.nextNodes.push(n.getChild(r)),this.offsets.push(Se(e,t.length)),this.idxs[this.idxs.length-1]=r;break}this.idxs.pop()}}}function ht(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function ut(e){return e.length>0?e[e.length-1]:void 0}function dt(e,t,n,r){return new gt(e,t,n,r).parseDocument()}class gt{constructor(e,t,n,r){if(this.tokenizer=e,this.createImmutableLists=r,this._itemsConstructed=0,this._itemsFromCache=0,n&&r)throw new Error("Not supported");this.oldNodeReader=n?new ct(n):void 0,this.positionMapper=new De(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Pe.getEmpty(),0);return e||(e=We.getEmpty()),e}parseList(e,t){const n=[];for(;;){let r=this.tryReadChildFromCache(e);if(!r){const n=this.tokenizer.peek();if(!n||2===n.kind&&n.bracketIds.intersects(e))break;r=this.parseChild(e,t+1)}4===r.kind&&0===r.childrenLength||n.push(r)}const r=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function n(){if(t>=e.length)return null;const n=t,r=e[n].listHeight;for(t++;t<e.length&&e[t].listHeight===r;)t++;return t-n>=2?ot(0===n&&t===e.length?e:e.slice(n,t),!1):e[n]}let r=n(),i=n();if(!i)return r;for(let s=n();s;s=n())at(r,i)<=at(i,s)?(r=lt(r,i),i=s):i=lt(i,s);return lt(r,i)}(n):ot(n,this.createImmutableLists);return r}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!Ce(t)){const n=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(n=>{if(null!==t&&!Te(n.length,t))return!1;return n.canBeReused(e)}));if(n)return this._itemsFromCache++,this.tokenizer.skip(n.length),n}}}parseChild(e,t){this._itemsConstructed++;const n=this.tokenizer.read();switch(n.kind){case 2:return new Ye(n.bracketIds,n.length);case 0:return n.astNode;case 1:{if(t>300)return new Je(n.length);const r=e.merge(n.bracketIds),i=this.parseList(r,t+1),s=this.tokenizer.peek();return s&&2===s.kind&&(s.bracketId===n.bracketId||s.bracketIds.intersects(n.bracketIds))?(this.tokenizer.read(),qe.create(n.astNode,i,s.astNode)):qe.create(n.astNode,i,null)}default:throw new Error("unexpected")}}}function ft(e,t){if(0===e.length)return t;if(0===t.length)return e;const n=new o.j3(pt(e)),r=pt(t);r.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let i=n.dequeue();function s(e){if(void 0===e){const e=n.takeWhile((e=>!0))||[];return i&&e.unshift(i),e}const t=[];for(;i&&!Ce(e);){const[r,s]=i.splitAt(e);t.push(r),e=Ne(r.lengthAfter,e),i=s??n.dequeue()}return Ce(e)||t.push(new mt(!1,e,e)),t}const a=[];function l(e,t,n){if(a.length>0&&Ee(a[a.length-1].endOffset,e)){const e=a[a.length-1];a[a.length-1]=new Re(e.startOffset,t,Se(e.newLength,n))}else a.push({startOffset:e,endOffset:t,newLength:n})}let c=ve;for(const o of r){const e=s(o.lengthBefore);if(o.modified){const t=Se(c,xe(e,(e=>e.lengthBefore)));l(c,t,o.lengthAfter),c=t}else for(const t of e){const e=c;c=Se(c,t.lengthBefore),t.modified&&l(e,c,t.lengthAfter)}}return a}class mt{constructor(e,t,n){this.modified=e,this.lengthBefore=t,this.lengthAfter=n}splitAt(e){const t=Ne(e,this.lengthAfter);return Ee(t,ve)?[this,void 0]:this.modified?[new mt(this.modified,this.lengthBefore,e),new mt(this.modified,ve,t)]:[new mt(this.modified,e,e),new mt(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${we(this.lengthBefore)} -> ${we(this.lengthAfter)}`}}function pt(e){const t=[];let n=ve;for(const r of e){const e=Ne(n,r.startOffset);Ce(e)||t.push(new mt(!1,e,e));const i=Ne(r.startOffset,r.endOffset);t.push(new mt(!0,i,r.newLength)),n=r.endOffset}return t}class bt extends i.jG{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new r.vl,this.denseKeyProvider=new ze,this.brackets=new st(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new rt(this.textModel.getValue(),e);this.initialAstWithoutTokens=dt(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new Re(Le(e.fromLineNumber-1,0),Le(e.toLineNumber,0),Le(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=Re.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const n=ft(this.queuedTextEdits,e);this.queuedTextEdits=n,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=ft(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,n){const r=t;return dt(new tt(this.textModel,this.brackets),e,r,n)}getBracketsInRange(e,t){this.flushQueue();const n=Le(e.startLineNumber-1,e.startColumn-1),r=Le(e.endLineNumber-1,e.endColumn-1);return new o.c1((e=>{const i=this.initialAstWithoutTokens||this.astWithTokens;vt(i,ve,i.length,n,r,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const n=Oe(e.getStartPosition()),r=Oe(e.getEndPosition());return new o.c1((e=>{const i=this.initialAstWithoutTokens||this.astWithTokens,s=new Ct(e,t,this.textModel);yt(i,ve,i.length,n,r,s,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return kt(t,ve,t.length,Oe(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return _t(t,ve,t.length,Oe(e))}}function _t(e,t,n,r){if(4===e.kind||2===e.kind){const i=[];for(const r of e.children)n=Se(t,r.length),i.push({nodeOffsetStart:t,nodeOffsetEnd:n}),t=n;for(let t=i.length-1;t>=0;t--){const{nodeOffsetStart:n,nodeOffsetEnd:s}=i[t];if(Te(n,r)){const i=_t(e.children[t],n,s,r);if(i)return i}}return null}if(3===e.kind)return null;if(1===e.kind){const r=Me(t,n);return{bracketInfo:e.bracketInfo,range:r}}return null}function kt(e,t,n,r){if(4===e.kind||2===e.kind){for(const i of e.children){if(Te(r,n=Se(t,i.length))){const e=kt(i,t,n,r);if(e)return e}t=n}return null}if(3===e.kind)return null;if(1===e.kind){const r=Me(t,n);return{bracketInfo:e.bracketInfo,range:r}}return null}function vt(e,t,n,r,i,s,o,a,l,c,h=!1){if(o>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let h=0;h<a;h++){const a=e.getChild(h);if(a){if(n=Se(t,a.length),Ae(t,i)&&Ie(n,r)){if(Ie(n,i)){e=a;continue e}if(!vt(a,t,n,r,i,s,o,0,l,c))return!1}t=n}}return!0}case 2:{const h=!c||!e.closingBracket||e.closingBracket.bracketInfo.closesColorized(e.openingBracket.bracketInfo);let u=0;if(l){let t=l.get(e.openingBracket.text);void 0===t&&(t=0),u=t,h&&(t++,l.set(e.openingBracket.text,t))}const d=e.childrenLength;for(let g=0;g<d;g++){const d=e.getChild(g);if(d){if(n=Se(t,d.length),Ae(t,i)&&Ie(n,r)){if(Ie(n,i)&&1!==d.kind){e=d,h?(o++,a=u+1):a=u;continue e}if(h||1!==d.kind||!e.closingBracket){if(!vt(d,t,n,r,i,s,h?o+1:o,h?u+1:u,l,c,!e.closingBracket))return!1}}t=n}}return l?.set(e.openingBracket.text,u),!0}case 3:{const e=Me(t,n);return s(new pe(e,o-1,0,!0))}case 1:{const e=Me(t,n);return s(new pe(e,o-1,a-1,h))}case 0:return!0}}class Ct{constructor(e,t,n){this.push=e,this.includeMinIndentation=t,this.textModel=n}}function yt(e,t,n,r,i,s,o,a){if(o>200)return!0;let l=!0;if(2===e.kind){let c=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),c=t,t++,a.set(e.openingBracket.text,t)}const h=Se(t,e.openingBracket.length);let u=-1;if(s.includeMinIndentation&&(u=e.computeMinIndentation(t,s.textModel)),l=s.push(new _e(Me(t,n),Me(t,h),e.closingBracket?Me(Se(h,e.child?.length||ve),n):void 0,o,c,e,u)),t=h,l&&e.child){const c=e.child;if(n=Se(t,c.length),Ae(t,i)&&Ie(n,r)&&(l=yt(c,t,n,r,i,s,o+1,a),!l))return!1}a?.set(e.openingBracket.text,c)}else{let n=t;for(const t of e.children){const e=n;if(n=Se(n,t.length),Ae(e,i)&&Ae(r,n)&&(l=yt(t,e,n,r,i,s,o,a),!l))return!1}}return l}class Lt extends i.jG{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new i.HE),this.onDidChangeEmitter=new r.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){e.languageId&&!this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const n=new i.Cm;this.bracketPairsTree.value=(e=n.add(new bt(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=n,{object:e,dispose:()=>t?.dispose()}),n.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||o.c1.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||o.c1.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||o.c1.empty}findMatchingBracketUp(e,t,n){const r=this.textModel.validatePosition(t),i=this.textModel.getLanguageIdAtPosition(r.lineNumber,r.column);if(this.canBuildAST){const n=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew.getClosingBracketInfo(e);if(!n)return null;const r=this.getBracketPairsInRange(m.Q.fromPositions(t,t)).findLast((e=>n.closes(e.openingBracketInfo)));return r?r.openingBracketRange:null}{const t=e.toLowerCase(),s=this.languageConfigurationService.getLanguageConfiguration(i).brackets;if(!s)return null;const o=s.textIsBracket[t];return o?xt(this._findMatchingBracketUp(o,r,wt(n))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(m.Q.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy((0,o.VE)((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),m.Q.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const n=wt(t);return this._matchBracket(this.textModel.validatePosition(e),n)}}_establishBracketSearchOffsets(e,t,n,r){const i=t.getCount(),s=t.getLanguageId(r);let o=Math.max(0,e.column-1-n.maxBracketLength);for(let l=r-1;l>=0;l--){const e=t.getEndOffset(l);if(e<=o)break;if(S(t.getStandardTokenType(l))||t.getLanguageId(l)!==s){o=e;break}}let a=Math.min(t.getLineContent().length,e.column-1+n.maxBracketLength);for(let l=r+1;l<i;l++){const e=t.getStartOffset(l);if(e>=a)break;if(S(t.getStandardTokenType(l))||t.getLanguageId(l)!==s){a=e;break}}return{searchStartOffset:o,searchEndOffset:a}}_matchBracket(e,t){const n=e.lineNumber,r=this.textModel.tokenization.getLineTokens(n),i=this.textModel.getLineContent(n),s=r.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const o=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(s)).brackets;if(o&&!S(r.getStandardTokenType(s))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,r,o,s),c=null;for(;;){const r=j.findNextBracketInRange(o.forwardRegex,n,i,a,l);if(!r)break;if(r.startColumn<=e.column&&e.column<=r.endColumn){const e=i.substring(r.startColumn-1,r.endColumn-1).toLowerCase(),n=this._matchFoundBracket(r,o.textIsBracket[e],o.textIsOpenBracket[e],t);if(n){if(n instanceof St)return null;c=n}}a=r.endColumn-1}if(c)return c}if(s>0&&r.getStartOffset(s)===e.column-1){const o=s-1,a=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(o)).brackets;if(a&&!S(r.getStandardTokenType(o))){const{searchStartOffset:s,searchEndOffset:l}=this._establishBracketSearchOffsets(e,r,a,o),c=j.findPrevBracketInRange(a.reversedRegex,n,i,s,l);if(c&&c.startColumn<=e.column&&e.column<=c.endColumn){const e=i.substring(c.startColumn-1,c.endColumn-1).toLowerCase(),n=this._matchFoundBracket(c,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(n)return n instanceof St?null:n}}}return null}_matchFoundBracket(e,t,n,r){if(!t)return null;const i=n?this._findMatchingBracketDown(t,e.getEndPosition(),r):this._findMatchingBracketUp(t,e.getStartPosition(),r);return i?i instanceof St?i:[e,i]:null}_findMatchingBracketUp(e,t,n){const r=e.languageId,i=e.reversedRegex;let s=-1,o=0;const a=(t,r,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return St.INSTANCE;const c=j.findPrevBracketInRange(i,t,r,a,l);if(!c)break;const h=r.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(h)?s++:e.isClose(h)&&s--,0===s)return c;l=c.startColumn-1}return null};for(let l=t.lineNumber;l>=1;l--){const e=this.textModel.tokenization.getLineTokens(l),n=e.getCount(),i=this.textModel.getLineContent(l);let s=n-1,o=i.length,c=i.length;l===t.lineNumber&&(s=e.findTokenIndexAtOffset(t.column-1),o=t.column-1,c=t.column-1);let h=!0;for(;s>=0;s--){const t=e.getLanguageId(s)===r&&!S(e.getStandardTokenType(s));if(t)h?o=e.getStartOffset(s):(o=e.getStartOffset(s),c=e.getEndOffset(s));else if(h&&o!==c){const e=a(l,i,o,c);if(e)return e}h=t}if(h&&o!==c){const e=a(l,i,o,c);if(e)return e}}return null}_findMatchingBracketDown(e,t,n){const r=e.languageId,i=e.forwardRegex;let s=1,o=0;const a=(t,r,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return St.INSTANCE;const c=j.findNextBracketInRange(i,t,r,a,l);if(!c)break;const h=r.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(h)?s++:e.isClose(h)&&s--,0===s)return c;a=c.endColumn-1}return null},l=this.textModel.getLineCount();for(let c=t.lineNumber;c<=l;c++){const e=this.textModel.tokenization.getLineTokens(c),n=e.getCount(),i=this.textModel.getLineContent(c);let s=0,o=0,l=0;c===t.lineNumber&&(s=e.findTokenIndexAtOffset(t.column-1),o=t.column-1,l=t.column-1);let h=!0;for(;s<n;s++){const t=e.getLanguageId(s)===r&&!S(e.getStandardTokenType(s));if(t)h||(o=e.getStartOffset(s)),l=e.getEndOffset(s);else if(h&&o!==l){const e=a(c,i,o,l);if(e)return e}h=t}if(h&&o!==l){const e=a(c,i,o,l);if(e)return e}}return null}findPrevBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(t)||null;let n=null,r=null,i=null;for(let s=t.lineNumber;s>=1;s--){const e=this.textModel.tokenization.getLineTokens(s),o=e.getCount(),a=this.textModel.getLineContent(s);let l=o-1,c=a.length,h=a.length;if(s===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),c=t.column-1,h=t.column-1;const s=e.getLanguageId(l);n!==s&&(n=s,r=this.languageConfigurationService.getLanguageConfiguration(n).brackets,i=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let u=!0;for(;l>=0;l--){const t=e.getLanguageId(l);if(n!==t){if(r&&i&&u&&c!==h){const e=j.findPrevBracketInRange(r.reversedRegex,s,a,c,h);if(e)return this._toFoundBracket(i,e);u=!1}n=t,r=this.languageConfigurationService.getLanguageConfiguration(n).brackets,i=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew}const o=!!r&&!S(e.getStandardTokenType(l));if(o)u?c=e.getStartOffset(l):(c=e.getStartOffset(l),h=e.getEndOffset(l));else if(i&&r&&u&&c!==h){const e=j.findPrevBracketInRange(r.reversedRegex,s,a,c,h);if(e)return this._toFoundBracket(i,e)}u=o}if(i&&r&&u&&c!==h){const e=j.findPrevBracketInRange(r.reversedRegex,s,a,c,h);if(e)return this._toFoundBracket(i,e)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const n=this.textModel.getLineCount();let r=null,i=null,s=null;for(let o=t.lineNumber;o<=n;o++){const e=this.textModel.tokenization.getLineTokens(o),n=e.getCount(),a=this.textModel.getLineContent(o);let l=0,c=0,h=0;if(o===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),c=t.column-1,h=t.column-1;const n=e.getLanguageId(l);r!==n&&(r=n,i=this.languageConfigurationService.getLanguageConfiguration(r).brackets,s=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew)}let u=!0;for(;l<n;l++){const t=e.getLanguageId(l);if(r!==t){if(s&&i&&u&&c!==h){const e=j.findNextBracketInRange(i.forwardRegex,o,a,c,h);if(e)return this._toFoundBracket(s,e);u=!1}r=t,i=this.languageConfigurationService.getLanguageConfiguration(r).brackets,s=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew}const n=!!i&&!S(e.getStandardTokenType(l));if(n)u||(c=e.getStartOffset(l)),h=e.getEndOffset(l);else if(s&&i&&u&&c!==h){const e=j.findNextBracketInRange(i.forwardRegex,o,a,c,h);if(e)return this._toFoundBracket(s,e)}u=n}if(s&&i&&u&&c!==h){const e=j.findNextBracketInRange(i.forwardRegex,o,a,c,h);if(e)return this._toFoundBracket(s,e)}}return null}findEnclosingBrackets(e,t){const n=this.textModel.validatePosition(e);if(this.canBuildAST){const e=m.Q.fromPositions(n),t=this.getBracketPairsInRange(m.Q.fromPositions(n,n)).findLast((t=>void 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const r=wt(t),i=this.textModel.getLineCount(),s=new Map;let o=[];const a=(e,t)=>{if(!s.has(e)){const n=[];for(let e=0,r=t?t.brackets.length:0;e<r;e++)n[e]=0;s.set(e,n)}o=s.get(e)};let l=0;const c=(e,t,n,i,s)=>{for(;;){if(r&&++l%100==0&&!r())return St.INSTANCE;const a=j.findNextBracketInRange(e.forwardRegex,t,n,i,s);if(!a)break;const c=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),h=e.textIsBracket[c];if(h&&(h.isOpen(c)?o[h.index]++:h.isClose(c)&&o[h.index]--,-1===o[h.index]))return this._matchFoundBracket(a,h,!1,r);i=a.endColumn-1}return null};let h=null,u=null;for(let d=n.lineNumber;d<=i;d++){const e=this.textModel.tokenization.getLineTokens(d),t=e.getCount(),r=this.textModel.getLineContent(d);let i=0,s=0,o=0;if(d===n.lineNumber){i=e.findTokenIndexAtOffset(n.column-1),s=n.column-1,o=n.column-1;const t=e.getLanguageId(i);h!==t&&(h=t,u=this.languageConfigurationService.getLanguageConfiguration(h).brackets,a(h,u))}let l=!0;for(;i<t;i++){const t=e.getLanguageId(i);if(h!==t){if(u&&l&&s!==o){const e=c(u,d,r,s,o);if(e)return xt(e);l=!1}h=t,u=this.languageConfigurationService.getLanguageConfiguration(h).brackets,a(h,u)}const n=!!u&&!S(e.getStandardTokenType(i));if(n)l||(s=e.getStartOffset(i)),o=e.getEndOffset(i);else if(u&&l&&s!==o){const e=c(u,d,r,s,o);if(e)return xt(e)}l=n}if(u&&l&&s!==o){const e=c(u,d,r,s,o);if(e)return xt(e)}}return null}_toFoundBracket(e,t){if(!t)return null;let n=this.textModel.getValueInRange(t);n=n.toLowerCase();const r=e.getBracketInfo(n);return r?{range:t,bracketInfo:r}:null}}function wt(e){if(void 0===e)return()=>!0;{const t=Date.now();return()=>Date.now()-t<=e}}class St{static{this.INSTANCE=new St}constructor(){this._searchCanceledBrand=void 0}}function xt(e){return e instanceof St?null:e}var Et=n(8295),Nt=n(6001);class Tt extends i.jG{constructor(e){super(),this.textModel=e,this.colorProvider=new At,this.onDidChangeEmitter=new r.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,n,r){if(r)return[];if(void 0===t)return[];if(!this.colorizationOptions.enabled)return[];return this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray()}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new m.Q(1,1,this.textModel.getLineCount(),1),e,t):[]}}class At{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}(0,Nt.zy)(((e,t)=>{const n=[Et.sN,Et.lQ,Et.ss,Et.l5,Et.sH,Et.zp],r=new At;t.addRule(`.monaco-editor .${r.unexpectedClosingBracketClassName} { color: ${e.getColor(Et.s7)}; }`);const i=n.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let s=0;s<30;s++){const e=i[s%i.length];t.addRule(`.monaco-editor .${r.getInlineClassNameOfLevel(s)} { color: ${e}; }`)}}));var It=n(7289);function Ot(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class Mt{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,r){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=r}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${Ot(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${Ot(this.oldText)}")`:`(replace@${this.oldPosition} "${Ot(this.oldText)}" with "${Ot(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,n){const r=t.length;x.Sw(e,r,n),n+=4;for(let i=0;i<r;i++)x.gN(e,t.charCodeAt(i),n),n+=2;return n}static _readString(e,t){const n=x.bb(e,t);return O(e,t+=4,n)}writeSize(){return 8+Mt._writeStringSize(this.oldText)+Mt._writeStringSize(this.newText)}write(e,t){return x.Sw(e,this.oldPosition,t),t+=4,x.Sw(e,this.newPosition,t),t+=4,t=Mt._writeString(e,this.oldText,t),t=Mt._writeString(e,this.newText,t)}static read(e,t,n){const r=x.bb(e,t);t+=4;const i=x.bb(e,t);t+=4;const s=Mt._readString(e,t);t+=Mt._writeStringSize(s);const o=Mt._readString(e,t);return t+=Mt._writeStringSize(o),n.push(new Mt(r,s,i,o)),t}}class Rt{constructor(e,t){this._prevEdits=e,this._currEdits=t,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let e=0,t=0,n=this._getPrev(e),r=this._getCurr(t);for(;e<this._prevLen||t<this._currLen;){if(null===n){this._acceptCurr(r),r=this._getCurr(++t);continue}if(null===r){this._acceptPrev(n),n=this._getPrev(++e);continue}if(r.oldEnd<=n.newPosition){this._acceptCurr(r),r=this._getCurr(++t);continue}if(n.newEnd<=r.oldPosition){this._acceptPrev(n),n=this._getPrev(++e);continue}if(r.oldPosition<n.newPosition){const[e,t]=Rt._splitCurr(r,n.newPosition-r.oldPosition);this._acceptCurr(e),r=t;continue}if(n.newPosition<r.oldPosition){const[e,t]=Rt._splitPrev(n,r.oldPosition-n.newPosition);this._acceptPrev(e),n=t;continue}let i,s;if(r.oldEnd===n.newEnd)i=n,s=r,n=this._getPrev(++e),r=this._getCurr(++t);else if(r.oldEnd<n.newEnd){const[e,o]=Rt._splitPrev(n,r.oldLength);i=e,s=r,n=o,r=this._getCurr(++t)}else{const[t,o]=Rt._splitCurr(r,n.newLength);i=n,s=t,n=this._getPrev(++e),r=o}this._result[this._resultLen++]=new Mt(i.oldPosition,i.oldText,s.newPosition,s.newText),this._prevDeltaOffset+=i.newLength-i.oldLength,this._currDeltaOffset+=s.newLength-s.oldLength}const i=Rt._merge(this._result);return Rt._removeNoOps(i)}_acceptCurr(e){this._result[this._resultLen++]=Rt._rebaseCurr(this._prevDeltaOffset,e),this._currDeltaOffset+=e.newLength-e.oldLength}_getCurr(e){return e<this._currLen?this._currEdits[e]:null}_acceptPrev(e){this._result[this._resultLen++]=Rt._rebasePrev(this._currDeltaOffset,e),this._prevDeltaOffset+=e.newLength-e.oldLength}_getPrev(e){return e<this._prevLen?this._prevEdits[e]:null}static _rebaseCurr(e,t){return new Mt(t.oldPosition-e,t.oldText,t.newPosition,t.newText)}static _rebasePrev(e,t){return new Mt(t.oldPosition,t.oldText,t.newPosition+e,t.newText)}static _splitPrev(e,t){const n=e.newText.substr(0,t),r=e.newText.substr(t);return[new Mt(e.oldPosition,e.oldText,e.newPosition,n),new Mt(e.oldEnd,"",e.newPosition+t,r)]}static _splitCurr(e,t){const n=e.oldText.substr(0,t),r=e.oldText.substr(t);return[new Mt(e.oldPosition,n,e.newPosition,e.newText),new Mt(e.oldPosition+t,r,e.newEnd,"")]}static _merge(e){if(0===e.length)return e;const t=[];let n=0,r=e[0];for(let i=1;i<e.length;i++){const s=e[i];r.oldEnd===s.oldPosition?r=new Mt(r.oldPosition,r.oldText+s.oldText,r.newPosition,r.newText+s.newText):(t[n++]=r,r=s)}return t[n++]=r,t}static _removeNoOps(e){if(0===e.length)return e;const t=[];let n=0;for(let r=0;r<e.length;r++){const i=e[r];i.oldText!==i.newText&&(t[n++]=i)}return t}}var Dt=n(2467);function Bt(e){return e.toString()}class Ft{static create(e,t){const n=e.getAlternativeVersionId(),r=zt(e);return new Ft(n,n,r,r,t,t,[])}constructor(e,t,n,r,i,s,o){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=n,this.afterEOL=r,this.beforeCursorState=i,this.afterCursorState=s,this.changes=o}append(e,t,n,r,i){var s,o;t.length>0&&(this.changes=(s=this.changes,o=t,null===s||0===s.length?o:new Rt(s,o).compress())),this.afterEOL=n,this.afterVersionId=r,this.afterCursorState=i}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,n){if(x.Sw(e,t?t.length:0,n),n+=4,t)for(const r of t)x.Sw(e,r.selectionStartLineNumber,n),n+=4,x.Sw(e,r.selectionStartColumn,n),n+=4,x.Sw(e,r.positionLineNumber,n),n+=4,x.Sw(e,r.positionColumn,n),n+=4;return n}static _readSelections(e,t,n){const r=x.bb(e,t);t+=4;for(let i=0;i<r;i++){const r=x.bb(e,t);t+=4;const i=x.bb(e,t);t+=4;const s=x.bb(e,t);t+=4;const o=x.bb(e,t);t+=4,n.push(new p.L(r,i,s,o))}return t}serialize(){let e=10+Ft._writeSelectionsSize(this.beforeCursorState)+Ft._writeSelectionsSize(this.afterCursorState)+4;for(const r of this.changes)e+=r.writeSize();const t=new Uint8Array(e);let n=0;x.Sw(t,this.beforeVersionId,n),n+=4,x.Sw(t,this.afterVersionId,n),n+=4,x.Gs(t,this.beforeEOL,n),n+=1,x.Gs(t,this.afterEOL,n),n+=1,n=Ft._writeSelections(t,this.beforeCursorState,n),n=Ft._writeSelections(t,this.afterCursorState,n),x.Sw(t,this.changes.length,n),n+=4;for(const r of this.changes)n=r.write(t,n);return t.buffer}static deserialize(e){const t=new Uint8Array(e);let n=0;const r=x.bb(t,n);n+=4;const i=x.bb(t,n);n+=4;const s=x.pJ(t,n);n+=1;const o=x.pJ(t,n);n+=1;const a=[];n=Ft._readSelections(t,n,a);const l=[];n=Ft._readSelections(t,n,l);const c=x.bb(t,n);n+=4;const h=[];for(let u=0;u<c;u++)n=Mt.read(t,n,h);return new Ft(r,i,s,o,a,l,h)}}class Pt{get type(){return 0}get resource(){return h.r.isUri(this.model)?this.model:this.model.uri}constructor(e,t,n,r){this.label=e,this.code=t,this.model=n,this._data=Ft.create(n,r)}toString(){return(this._data instanceof Ft?this._data:Ft.deserialize(this._data)).changes.map((e=>e.toString())).join(", ")}matchesResource(e){return(h.r.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof Ft}append(e,t,n,r,i){this._data instanceof Ft&&this._data.append(e,t,n,r,i)}close(){this._data instanceof Ft&&(this._data=this._data.serialize())}open(){this._data instanceof Ft||(this._data=Ft.deserialize(this._data))}undo(){if(h.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Ft&&(this._data=this._data.serialize());const e=Ft.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(h.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Ft&&(this._data=this._data.serialize());const e=Ft.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof Ft&&(this._data=this._data.serialize()),this._data.byteLength+168}}class Vt{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,n){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=n.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const e=Bt(r.resource);this._editStackElementsMap.set(e,r)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=Bt(e);return this._editStackElementsMap.has(t)}setModel(e){const t=Bt(h.r.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=Bt(e.uri);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).canAppend(e)}return!1}append(e,t,n,r,i){const s=Bt(e.uri);this._editStackElementsMap.get(s).append(e,t,n,r,i)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=Bt(e);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).heapSize()}return 0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${(0,Dt.P8)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function zt(e){return"\n"===e.getEOL()?0:1}function jt(e){return!!e&&(e instanceof Pt||e instanceof Vt)}class qt{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);jt(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);jt(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const n=this._undoRedoService.getLastElement(this._model.uri);if(jt(n)&&n.canAppend(this._model))return n;const r=new Pt(It.kg("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(r,t),r}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],zt(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,n,r){const i=this._getOrCreateEditStackElement(e,r),s=this._model.applyEdits(t,!0),o=qt._computeCursorState(n,s),a=s.map(((e,t)=>({index:t,textChange:e.textChange})));return a.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),i.append(this._model,a.map((e=>e.textChange)),zt(this._model),this._model.getAlternativeVersionId(),o),o}static _computeCursorState(e,t){try{return e?e(t):null}catch(n){return(0,l.dz)(n),null}}}var Wt,Ut=n(7393);class $t extends i.jG{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}!function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(Wt||(Wt={}));class Ht{constructor(e,t,n,r,i,s){if(this.visibleColumn=e,this.column=t,this.className=n,this.horizontalLine=r,this.forWrappedLinesAfterColumn=i,this.forWrappedLinesBeforeOrAtColumn=s,-1!==e==(-1!==t))throw new Error}}class Kt{constructor(e,t){this.top=e,this.endColumn=t}}class Gt extends $t{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return function(e,t){let n=0,r=0;const i=e.length;for(;r<i;){const i=e.charCodeAt(r);if(32===i)n++;else{if(9!==i)break;n=n-n%t+t}r++}return r===i?-1:n}(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,n){this.assertNotDisposed();const r=this.textModel.getLineCount();if(e<1||e>r)throw new l.D7("Illegal value for lineNumber");const i=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(i&&i.offSide);let o=-2,a=-1,c=-2,h=-1;const u=e=>{if(-1!==o&&(-2===o||o>e-1)){o=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){o=t,a=e;break}}}if(-2===c){c=-1,h=-1;for(let t=e;t<r;t++){const e=this._computeIndentLevel(t);if(e>=0){c=t,h=e;break}}}};let d=-2,g=-1,f=-2,m=-1;const p=e=>{if(-2===d){d=-1,g=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){d=t,g=e;break}}}if(-1!==f&&(-2===f||f<e-1)){f=-1,m=-1;for(let t=e;t<r;t++){const e=this._computeIndentLevel(t);if(e>=0){f=t,m=e;break}}}};let b=0,_=!0,k=0,v=!0,C=0,y=0;for(let l=0;_||v;l++){const i=e-l,o=e+l;l>1&&(i<1||i<t)&&(_=!1),l>1&&(o>r||o>n)&&(v=!1),l>5e4&&(_=!1,v=!1);let f=-1;if(_&&i>=1){const e=this._computeIndentLevel(i-1);e>=0?(c=i-1,h=e,f=Math.ceil(e/this.textModel.getOptions().indentSize)):(u(i),f=this._getIndentLevelForWhitespaceLine(s,a,h))}let L=-1;if(v&&o<=r){const e=this._computeIndentLevel(o-1);e>=0?(d=o-1,g=e,L=Math.ceil(e/this.textModel.getOptions().indentSize)):(p(o),L=this._getIndentLevelForWhitespaceLine(s,g,m))}if(0!==l){if(1===l){if(o<=r&&L>=0&&y+1===L){_=!1,b=o,k=o,C=L;continue}if(i>=1&&f>=0&&f-1===y){v=!1,b=i,k=i,C=f;continue}if(b=e,k=e,C=y,0===C)return{startLineNumber:b,endLineNumber:k,indent:C}}_&&(f>=C?b=i:_=!1),v&&(L>=C?k=o:v=!1)}else y=f}return{startLineNumber:b,endLineNumber:k,indent:C}}getLinesBracketGuides(e,t,n,r){const i=[];for(let c=e;c<=t;c++)i.push([]);const s=!0,o=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new m.Q(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let a;if(n&&o.length>0){const r=(e<=n.lineNumber&&n.lineNumber<=t?o:this.textModel.bracketPairs.getBracketPairsInRange(m.Q.fromPositions(n)).toArray()).filter((e=>m.Q.strictContainsPosition(e.range,n)));a=(0,Ut.Uk)(r,(e=>s))?.range}const l=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,h=new Qt;for(const u of o){if(!u.closingBracketRange)continue;const n=a&&u.range.equalsRange(a);if(!n&&!r.includeInactive)continue;const s=h.getInlineClassName(u.nestingLevel,u.nestingLevelOfEqualBracketType,l)+(r.highlightActive&&n?" "+h.activeClassName:""),o=u.openingBracketRange.getStartPosition(),d=u.closingBracketRange.getStartPosition(),g=r.horizontalGuides===Wt.Enabled||r.horizontalGuides===Wt.EnabledForActive&&n;if(u.range.startLineNumber===u.range.endLineNumber){g&&i[u.range.startLineNumber-e].push(new Ht(-1,u.openingBracketRange.getEndPosition().column,s,new Kt(!1,d.column),-1,-1));continue}const f=this.getVisibleColumnFromPosition(d),m=this.getVisibleColumnFromPosition(u.openingBracketRange.getStartPosition()),p=Math.min(m,f,u.minVisibleColumnIndentation+1);let b=!1;c.HG(this.textModel.getLineContent(u.closingBracketRange.startLineNumber))<u.closingBracketRange.startColumn-1&&(b=!0);const _=Math.max(o.lineNumber,e),k=Math.min(d.lineNumber,t),v=b?1:0;for(let t=_;t<k+v;t++)i[t-e].push(new Ht(p,-1,s,null,t===o.lineNumber?o.column:-1,t===d.lineNumber?d.column:-1));g&&(o.lineNumber>=e&&m>p&&i[o.lineNumber-e].push(new Ht(p,-1,s,new Kt(!1,o.column),-1,-1)),d.lineNumber<=t&&f>p&&i[d.lineNumber-e].push(new Ht(p,-1,s,new Kt(!b,d.column),-1,-1)))}for(const c of i)c.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return i}getVisibleColumnFromPosition(e){return d.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");const r=this.textModel.getOptions(),i=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(i&&i.offSide),o=new Array(t-e+1);let a=-2,l=-1,c=-2,h=-1;for(let u=e;u<=t;u++){const t=u-e,i=this._computeIndentLevel(u-1);if(i>=0)a=u-1,l=i,o[t]=Math.ceil(i/r.indentSize);else{if(-2===a){a=-1,l=-1;for(let e=u-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==c&&(-2===c||c<u-1)){c=-1,h=-1;for(let e=u;e<n;e++){const t=this._computeIndentLevel(e);if(t>=0){c=e,h=t;break}}}o[t]=this._getIndentLevelForWhitespaceLine(s,l,h)}}return o}_getIndentLevelForWhitespaceLine(e,t,n){const r=this.textModel.getOptions();return-1===t||-1===n?0:t<n?1+Math.floor(t/r.indentSize):t===n||e?Math.ceil(n/r.indentSize):1+Math.floor(n/r.indentSize)}}class Qt{constructor(){this.activeClassName="indent-active"}getInlineClassName(e,t,n){return this.getInlineClassNameOfLevel(n?t:e)}getInlineClassNameOfLevel(e){return"bracket-indent-guide lvl-"+e%30}}class Jt{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function Xt(e,t,n,r,i){let s;for(i.spacesDiff=0,i.looksLikeAlignment=!1,s=0;s<t&&s<r;s++){if(e.charCodeAt(s)!==n.charCodeAt(s))break}let o=0,a=0;for(let d=s;d<t;d++){32===e.charCodeAt(d)?o++:a++}let l=0,c=0;for(let d=s;d<r;d++){32===n.charCodeAt(d)?l++:c++}if(o>0&&a>0)return;if(l>0&&c>0)return;const h=Math.abs(a-c),u=Math.abs(o-l);if(0===h)return i.spacesDiff=u,void(u>0&&0<=l-1&&l-1<e.length&&l<n.length&&32!==n.charCodeAt(l)&&32===e.charCodeAt(l-1)&&44===e.charCodeAt(e.length-1)&&(i.looksLikeAlignment=!0));u%h!=0||(i.spacesDiff=u/h)}function Yt(e,t,n){const r=Math.min(e.getLineCount(),1e4);let i=0,s=0,o="",a=0;const l=[2,4,6,8,3,5,7],c=[0,0,0,0,0,0,0,0,0],h=new Jt;for(let g=1;g<=r;g++){const r=e.getLineLength(g),l=e.getLineContent(g),u=r<=65536;let d=!1,f=0,m=0,p=0;for(let t=0,n=r;t<n;t++){const n=u?l.charCodeAt(t):e.getLineCharCode(g,t);if(9===n)p++;else{if(32!==n){d=!0,f=t;break}m++}}if(!d)continue;if(p>0?i++:m>1&&s++,Xt(o,a,l,f,h),h.looksLikeAlignment&&(!n||t!==h.spacesDiff))continue;const b=h.spacesDiff;b<=8&&c[b]++,o=l,a=f}let u=n;i!==s&&(u=i<s);let d=t;if(u){let e=u?0:.1*r;l.forEach((t=>{const n=c[t];n>e&&(e=n,d=t)})),4===d&&c[4]>0&&c[2]>0&&c[2]>=c[4]/2&&(d=2)}return{insertSpaces:u,tabSize:d}}function Zt(e){return(1&e.metadata)>>>0}function en(e,t){e.metadata=254&e.metadata|t}function tn(e){return(2&e.metadata)>>>1==1}function nn(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function rn(e){return(4&e.metadata)>>>2==1}function sn(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function on(e){return(64&e.metadata)>>>6==1}function an(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function ln(e,t){e.metadata=231&e.metadata|t<<3}function cn(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class hn{constructor(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,en(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,sn(this,!1),an(this,!1),ln(this,1),cn(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,nn(this,!1)}reset(e,t,n,r){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=r}setOptions(e){this.options=e;const t=this.options.className;sn(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),an(this,null!==this.options.glyphMarginClassName),ln(this,this.options.stickiness),cn(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const un=new hn(null,0,0);un.parent=un,un.left=un,un.right=un,en(un,0);class dn{constructor(){this.root=un,this.requestNormalizeDelta=!1}intervalSearch(e,t,n,r,i,s){return this.root===un?[]:function(e,t,n,r,i,s,o){let a=e.root,l=0,c=0,h=0,u=0;const d=[];let g=0;for(;a!==un;)if(tn(a))nn(a.left,!1),nn(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;else{if(!tn(a.left)){if(c=l+a.maxEnd,c<t){nn(a,!0);continue}if(a.left!==un){a=a.left;continue}}if(h=l+a.start,h>n)nn(a,!0);else{if(u=l+a.end,u>=t){a.setCachedOffsets(h,u,s);let e=!0;r&&a.ownerId&&a.ownerId!==r&&(e=!1),i&&rn(a)&&(e=!1),o&&!on(a)&&(e=!1),e&&(d[g++]=a)}nn(a,!0),a.right===un||tn(a.right)||(l+=a.delta,a=a.right)}}return nn(e.root,!1),d}(this,e,t,n,r,i,s)}search(e,t,n,r){return this.root===un?[]:function(e,t,n,r,i){let s=e.root,o=0,a=0,l=0;const c=[];let h=0;for(;s!==un;){if(tn(s)){nn(s.left,!1),nn(s.right,!1),s===s.parent.right&&(o-=s.parent.delta),s=s.parent;continue}if(s.left!==un&&!tn(s.left)){s=s.left;continue}a=o+s.start,l=o+s.end,s.setCachedOffsets(a,l,r);let e=!0;t&&s.ownerId&&s.ownerId!==t&&(e=!1),n&&rn(s)&&(e=!1),i&&!on(s)&&(e=!1),e&&(c[h++]=s),nn(s,!0),s.right===un||tn(s.right)||(o+=s.delta,s=s.right)}return nn(e.root,!1),c}(this,e,t,n,r)}collectNodesFromOwner(e){return function(e,t){let n=e.root;const r=[];let i=0;for(;n!==un;)tn(n)?(nn(n.left,!1),nn(n.right,!1),n=n.parent):n.left===un||tn(n.left)?(n.ownerId===t&&(r[i++]=n),nn(n,!0),n.right===un||tn(n.right)||(n=n.right)):n=n.left;return nn(e.root,!1),r}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const n=[];let r=0;for(;t!==un;)tn(t)?(nn(t.left,!1),nn(t.right,!1),t=t.parent):t.left===un||tn(t.left)?t.right===un||tn(t.right)?(n[r++]=t,nn(t,!0)):t=t.right:t=t.left;return nn(e.root,!1),n}(this)}insert(e){mn(this,e),this._normalizeDeltaIfNecessary()}delete(e){pn(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const n=e;let r=0;for(;e!==this.root;)e===e.parent.right&&(r+=e.parent.delta),e=e.parent;const i=n.start+r,s=n.end+r;n.setCachedOffsets(i,s,t)}acceptReplace(e,t,n,r){const i=function(e,t,n){let r=e.root,i=0,s=0,o=0,a=0;const l=[];let c=0;for(;r!==un;)if(tn(r))nn(r.left,!1),nn(r.right,!1),r===r.parent.right&&(i-=r.parent.delta),r=r.parent;else{if(!tn(r.left)){if(s=i+r.maxEnd,s<t){nn(r,!0);continue}if(r.left!==un){r=r.left;continue}}o=i+r.start,o>n?nn(r,!0):(a=i+r.end,a>=t&&(r.setCachedOffsets(o,a,0),l[c++]=r),nn(r,!0),r.right===un||tn(r.right)||(i+=r.delta,r=r.right))}return nn(e.root,!1),l}(this,e,e+t);for(let s=0,o=i.length;s<o;s++){pn(this,i[s])}this._normalizeDeltaIfNecessary(),function(e,t,n,r){let i=e.root,s=0,o=0,a=0;const l=r-(n-t);for(;i!==un;)if(tn(i))nn(i.left,!1),nn(i.right,!1),i===i.parent.right&&(s-=i.parent.delta),Cn(i),i=i.parent;else{if(!tn(i.left)){if(o=s+i.maxEnd,o<t){nn(i,!0);continue}if(i.left!==un){i=i.left;continue}}a=s+i.start,a>n?(i.start+=l,i.end+=l,i.delta+=l,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),nn(i,!0)):(nn(i,!0),i.right===un||tn(i.right)||(s+=i.delta,i=i.right))}nn(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(let s=0,o=i.length;s<o;s++){const o=i[s];o.start=o.cachedAbsoluteStart,o.end=o.cachedAbsoluteEnd,fn(o,e,e+t,n,r),o.maxEnd=o.end,mn(this,o)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(e){let t=e.root,n=0;for(;t!==un;)t.left===un||tn(t.left)?t.right===un||tn(t.right)?(t.start=n+t.start,t.end=n+t.end,t.delta=0,Cn(t),nn(t,!0),nn(t.left,!1),nn(t.right,!1),t===t.parent.right&&(n-=t.parent.delta),t=t.parent):(n+=t.delta,t=t.right):t=t.left;nn(e.root,!1)}(this))}}function gn(e,t,n,r){return e<n||!(e>n)&&(1!==r&&(2===r||t))}function fn(e,t,n,r,i){const s=function(e){return(24&e.metadata)>>>3}(e),o=0===s||2===s,a=1===s||2===s,l=n-t,c=r,h=Math.min(l,c),u=e.start;let d=!1;const g=e.end;let f=!1;t<=u&&g<=n&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,d=!0,e.end=t,f=!0);{const e=i?1:l>0?2:0;!d&&gn(u,o,t,e)&&(d=!0),!f&&gn(g,a,t,e)&&(f=!0)}if(h>0&&!i){const e=l>c?2:0;!d&&gn(u,o,t+h,e)&&(d=!0),!f&&gn(g,a,t+h,e)&&(f=!0)}{const r=i?1:0;!d&&gn(u,o,n,r)&&(e.start=t+c,d=!0),!f&&gn(g,a,n,r)&&(e.end=t+c,f=!0)}const m=c-l;d||(e.start=Math.max(0,u+m)),f||(e.end=Math.max(0,g+m)),e.start>e.end&&(e.end=e.start)}function mn(e,t){if(e.root===un)return t.parent=un,t.left=un,t.right=un,en(t,0),e.root=t,e.root;!function(e,t){let n=0,r=e.root;const i=t.start,s=t.end;for(;;){if(Ln(i,s,r.start+n,r.end+n)<0){if(r.left===un){t.start-=n,t.end-=n,t.maxEnd-=n,r.left=t;break}r=r.left}else{if(r.right===un){t.start-=n+r.delta,t.end-=n+r.delta,t.maxEnd-=n+r.delta,r.right=t;break}n+=r.delta,r=r.right}}t.parent=r,t.left=un,t.right=un,en(t,1)}(e,t),yn(t.parent);let n=t;for(;n!==e.root&&1===Zt(n.parent);)if(n.parent===n.parent.parent.left){const t=n.parent.parent.right;1===Zt(t)?(en(n.parent,0),en(t,0),en(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&(n=n.parent,_n(e,n)),en(n.parent,0),en(n.parent.parent,1),kn(e,n.parent.parent))}else{const t=n.parent.parent.left;1===Zt(t)?(en(n.parent,0),en(t,0),en(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&(n=n.parent,kn(e,n)),en(n.parent,0),en(n.parent.parent,1),_n(e,n.parent.parent))}return en(e.root,0),t}function pn(e,t){let n,r;if(t.left===un?(n=t.right,r=t,n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===un?(n=t.left,r=t):(r=function(e){for(;e.left!==un;)e=e.left;return e}(t.right),n=r.right,n.start+=r.delta,n.end+=r.delta,n.delta+=r.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),r.start+=t.delta,r.end+=t.delta,r.delta=t.delta,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0)),r===e.root)return e.root=n,en(n,0),t.detach(),bn(),Cn(n),void(e.root.parent=un);const i=1===Zt(r);if(r===r.parent.left?r.parent.left=n:r.parent.right=n,r===t?n.parent=r.parent:(r.parent===t?n.parent=r:n.parent=r.parent,r.left=t.left,r.right=t.right,r.parent=t.parent,en(r,Zt(t)),t===e.root?e.root=r:t===t.parent.left?t.parent.left=r:t.parent.right=r,r.left!==un&&(r.left.parent=r),r.right!==un&&(r.right.parent=r)),t.detach(),i)return yn(n.parent),r!==t&&(yn(r),yn(r.parent)),void bn();let s;for(yn(n),yn(n.parent),r!==t&&(yn(r),yn(r.parent));n!==e.root&&0===Zt(n);)n===n.parent.left?(s=n.parent.right,1===Zt(s)&&(en(s,0),en(n.parent,1),_n(e,n.parent),s=n.parent.right),0===Zt(s.left)&&0===Zt(s.right)?(en(s,1),n=n.parent):(0===Zt(s.right)&&(en(s.left,0),en(s,1),kn(e,s),s=n.parent.right),en(s,Zt(n.parent)),en(n.parent,0),en(s.right,0),_n(e,n.parent),n=e.root)):(s=n.parent.left,1===Zt(s)&&(en(s,0),en(n.parent,1),kn(e,n.parent),s=n.parent.left),0===Zt(s.left)&&0===Zt(s.right)?(en(s,1),n=n.parent):(0===Zt(s.left)&&(en(s.right,0),en(s,1),_n(e,s),s=n.parent.left),en(s,Zt(n.parent)),en(n.parent,0),en(s.left,0),kn(e,n.parent),n=e.root));en(n,0),bn()}function bn(){un.parent=un,un.delta=0,un.start=0,un.end=0}function _n(e,t){const n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==un&&(n.left.parent=t),n.parent=t.parent,t.parent===un?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,Cn(t),Cn(n)}function kn(e,t){const n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==un&&(n.right.parent=t),n.parent=t.parent,t.parent===un?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,Cn(t),Cn(n)}function vn(e){let t=e.end;if(e.left!==un){const n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==un){const n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function Cn(e){e.maxEnd=vn(e)}function yn(e){for(;e!==un;){const t=vn(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function Ln(e,t,n,r){return e===n?t-r:e-n}class wn{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==Sn)return xn(this.right);let e=this;for(;e.parent!==Sn&&e.parent.left!==e;)e=e.parent;return e.parent===Sn?Sn:e.parent}prev(){if(this.left!==Sn)return En(this.left);let e=this;for(;e.parent!==Sn&&e.parent.right!==e;)e=e.parent;return e.parent===Sn?Sn:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const Sn=new wn(null,0);function xn(e){for(;e.left!==Sn;)e=e.left;return e}function En(e){for(;e.right!==Sn;)e=e.right;return e}function Nn(e){return e===Sn?0:e.size_left+e.piece.length+Nn(e.right)}function Tn(e){return e===Sn?0:e.lf_left+e.piece.lineFeedCnt+Tn(e.right)}function An(){Sn.parent=Sn}function In(e,t){const n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==Sn&&(n.left.parent=t),n.parent=t.parent,t.parent===Sn?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function On(e,t){const n=t.left;t.left=n.right,n.right!==Sn&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===Sn?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function Mn(e,t){let n,r;if(t.left===Sn?(r=t,n=r.right):t.right===Sn?(r=t,n=r.left):(r=xn(t.right),n=r.right),r===e.root)return e.root=n,n.color=0,t.detach(),An(),void(e.root.parent=Sn);const i=1===r.color;if(r===r.parent.left?r.parent.left=n:r.parent.right=n,r===t?(n.parent=r.parent,Bn(e,n)):(r.parent===t?n.parent=r:n.parent=r.parent,Bn(e,n),r.left=t.left,r.right=t.right,r.parent=t.parent,r.color=t.color,t===e.root?e.root=r:t===t.parent.left?t.parent.left=r:t.parent.right=r,r.left!==Sn&&(r.left.parent=r),r.right!==Sn&&(r.right.parent=r),r.size_left=t.size_left,r.lf_left=t.lf_left,Bn(e,r)),t.detach(),n.parent.left===n){const t=Nn(n),r=Tn(n);if(t!==n.parent.size_left||r!==n.parent.lf_left){const i=t-n.parent.size_left,s=r-n.parent.lf_left;n.parent.size_left=t,n.parent.lf_left=r,Dn(e,n.parent,i,s)}}if(Bn(e,n.parent),i)return void An();let s;for(;n!==e.root&&0===n.color;)n===n.parent.left?(s=n.parent.right,1===s.color&&(s.color=0,n.parent.color=1,In(e,n.parent),s=n.parent.right),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.right.color&&(s.left.color=0,s.color=1,On(e,s),s=n.parent.right),s.color=n.parent.color,n.parent.color=0,s.right.color=0,In(e,n.parent),n=e.root)):(s=n.parent.left,1===s.color&&(s.color=0,n.parent.color=1,On(e,n.parent),s=n.parent.left),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.left.color&&(s.right.color=0,s.color=1,In(e,s),s=n.parent.left),s.color=n.parent.color,n.parent.color=0,s.left.color=0,On(e,n.parent),n=e.root));n.color=0,An()}function Rn(e,t){for(Bn(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const n=t.parent.parent.right;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&In(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,On(e,t.parent.parent))}else{const n=t.parent.parent.left;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&On(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,In(e,t.parent.parent))}e.root.color=0}function Dn(e,t,n,r){for(;t!==e.root&&t!==Sn;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=r),t=t.parent}function Bn(e,t){let n=0,r=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(n=Nn((t=t.parent).left)-t.size_left,r=Tn(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=r;t!==e.root&&(0!==n||0!==r);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=r),t=t.parent}}Sn.parent=Sn,Sn.left=Sn,Sn.right=Sn,Sn.color=0;var Fn=n(2389);const Pn=65535;function Vn(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class zn{constructor(e,t,n,r,i){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=r,this.isBasicASCII=i}}function jn(e,t=!0){const n=[0];let r=1;for(let i=0,s=e.length;i<s;i++){const t=e.charCodeAt(i);13===t?i+1<s&&10===e.charCodeAt(i+1)?(n[r++]=i+2,i++):n[r++]=i+1:10===t&&(n[r++]=i+1)}return t?Vn(n):n}class qn{constructor(e,t,n,r,i){this.bufferIndex=e,this.start=t,this.end=n,this.lineFeedCnt=r,this.length=i}}class Wn{constructor(e,t){this.buffer=e,this.lineStarts=t}}class Un{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==Sn&&e.iterate(e.root,(e=>(e!==Sn&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class $n{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber<e&&n.nodeStartLineNumber+n.node.piece.lineFeedCnt>=e)return n}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const n=this._cache;for(let r=0;r<n.length;r++){const i=n[r];(null===i.node.parent||i.nodeStartOffset>=e)&&(n[r]=null,t=!0)}if(t){const e=[];for(const t of n)null!==t&&e.push(t);this._cache=e}}}class Hn{constructor(e,t,n){this.create(e,t,n)}create(e,t,n){this._buffers=[new Wn("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Sn,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=n;let r=null;for(let i=0,s=e.length;i<s;i++)if(e[i].buffer.length>0){e[i].lineStarts||(e[i].lineStarts=jn(e[i].buffer));const t=new qn(i+1,{line:0,column:0},{line:e[i].lineStarts.length-1,column:e[i].buffer.length-e[i].lineStarts[e[i].lineStarts.length-1]},e[i].lineStarts.length-1,e[i].buffer.length);this._buffers.push(e[i]),r=this.rbInsertRight(r,t)}this._searchCache=new $n(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=Pn,n=t-Math.floor(21845),r=2*n;let i="",s=0;const o=[];if(this.iterate(this.root,(t=>{const a=this.getNodeContent(t),l=a.length;if(s<=n||s+l<r)return i+=a,s+=l,!0;const c=i.replace(/\r\n|\r|\n/g,e);return o.push(new Wn(c,jn(c))),i=a,s=l,!0})),s>0){const t=i.replace(/\r\n|\r|\n/g,e);o.push(new Wn(t,jn(t)))}this.create(o,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new Un(this,e)}getOffsetAt(e,t){let n=0,r=this.root;for(;r!==Sn;)if(r.left!==Sn&&r.lf_left+1>=e)r=r.left;else{if(r.lf_left+r.piece.lineFeedCnt+1>=e){n+=r.size_left;return n+(this.getAccumulatedValue(r,e-r.lf_left-2)+t-1)}e-=r.lf_left+r.piece.lineFeedCnt,n+=r.size_left+r.piece.length,r=r.right}return n}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,n=0;const r=e;for(;t!==Sn;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const i=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+i.index,0===i.index){const e=r-this.getOffsetAt(n+1,1);return new f.y(n+1,e+1)}return new f.y(n+1,i.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===Sn){const t=r-e-this.getOffsetAt(n+1,1);return new f.y(n+1,t+1)}t=t.right}return new f.y(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const n=this.nodeAt2(e.startLineNumber,e.startColumn),r=this.nodeAt2(e.endLineNumber,e.endColumn),i=this.getValueInRange2(n,r);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?i:i.replace(/\r\n|\r|\n/g,t):i}getValueInRange2(e,t){if(e.node===t.node){const n=e.node,r=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return r.substring(i+e.remainder,i+t.remainder)}let n=e.node;const r=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);let s=r.substring(i+e.remainder,i+n.piece.length);for(n=n.next();n!==Sn;){const e=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(n===t.node){s+=e.substring(r,r+t.remainder);break}s+=e.substr(r,n.piece.length),n=n.next()}return s}getLinesContent(){const e=[];let t=0,n="",r=!1;return this.iterate(this.root,(i=>{if(i===Sn)return!0;const s=i.piece;let o=s.length;if(0===o)return!0;const a=this._buffers[s.bufferIndex].buffer,l=this._buffers[s.bufferIndex].lineStarts,c=s.start.line,h=s.end.line;let u=l[c]+s.start.column;if(r&&(10===a.charCodeAt(u)&&(u++,o--),e[t++]=n,n="",r=!1,0===o))return!0;if(c===h)return this._EOLNormalized||13!==a.charCodeAt(u+o-1)?n+=a.substr(u,o):(r=!0,n+=a.substr(u,o-1)),!0;n+=this._EOLNormalized?a.substring(u,Math.max(u,l[c+1]-this._EOLLength)):a.substring(u,l[c+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;for(let r=c+1;r<h;r++)n=this._EOLNormalized?a.substring(l[r],l[r+1]-this._EOLLength):a.substring(l[r],l[r+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;return this._EOLNormalized||13!==a.charCodeAt(l[h]+s.end.column-1)?n=a.substr(l[h],s.end.column):(r=!0,0===s.end.column?t--:n=a.substr(l[h],s.end.column-1)),!0})),r&&(e[t++]=n,n=""),e[t++]=n,e}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(e){return this._lastVisitedLine.lineNumber===e||(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,"")),this._lastVisitedLine.value}_getCharCode(e){if(e.remainder===e.node.piece.length){const t=e.node.next();if(!t)return 0;const n=this._buffers[t.piece.bufferIndex],r=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);return n.buffer.charCodeAt(r)}{const t=this._buffers[e.node.piece.bufferIndex],n=this.offsetInBuffer(e.node.piece.bufferIndex,e.node.piece.start)+e.remainder;return t.buffer.charCodeAt(n)}}getLineCharCode(e,t){const n=this.nodeAt2(e,t+1);return this._getCharCode(n)}getLineLength(e){if(e===this.getLineCount()){const t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength}findMatchesInNode(e,t,n,r,i,s,o,a,l,c,h){const u=this._buffers[e.piece.bufferIndex],d=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),g=this.offsetInBuffer(e.piece.bufferIndex,i),f=this.offsetInBuffer(e.piece.bufferIndex,s);let p;const b={line:0,column:0};let _,k;t._wordSeparators?(_=u.buffer.substring(g,f),k=e=>e+g,t.reset(0)):(_=u.buffer,k=e=>e,t.reset(g));do{if(p=t.next(_),p){if(k(p.index)>=f)return c;this.positionInBuffer(e,k(p.index)-d,b);const t=this.getLineFeedCnt(e.piece.bufferIndex,i,b),s=b.line===i.line?b.column-i.column+r:b.column+1,o=s+p[0].length;if(h[c++]=(0,Fn.dr)(new m.Q(n+t,s,n+t,o),p,a),k(p.index)+p[0].length>=f)return c;if(c>=l)return c}}while(p);return c}findMatchesLineByLine(e,t,n,r){const i=[];let s=0;const o=new Fn.W5(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let c=this.positionInBuffer(a.node,a.remainder);const h=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,o,e.startLineNumber,e.startColumn,c,h,t,n,r,s,i),i;let u=e.startLineNumber,d=a.node;for(;d!==l.node;){const l=this.getLineFeedCnt(d.piece.bufferIndex,c,d.piece.end);if(l>=1){const a=this._buffers[d.piece.bufferIndex].lineStarts,h=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start),g=a[c.line+l],f=u===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(d,o,u,f,c,this.positionInBuffer(d,g-h),t,n,r,s,i),s>=r)return i;u+=l}const h=u===e.startLineNumber?e.startColumn-1:0;if(u===e.endLineNumber){const a=this.getLineContent(u).substring(h,e.endColumn-1);return s=this._findMatchesInLine(t,o,a,e.endLineNumber,h,s,i,n,r),i}if(s=this._findMatchesInLine(t,o,this.getLineContent(u).substr(h),u,h,s,i,n,r),s>=r)return i;u++,a=this.nodeAt2(u,1),d=a.node,c=this.positionInBuffer(a.node,a.remainder)}if(u===e.endLineNumber){const a=u===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(u).substring(a,e.endColumn-1);return s=this._findMatchesInLine(t,o,l,e.endLineNumber,a,s,i,n,r),i}const g=u===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(l.node,o,u,g,c,h,t,n,r,s,i),i}_findMatchesInLine(e,t,n,r,i,s,o,a,l){const c=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,h=n.length;let u=-a;for(;-1!==(u=n.indexOf(t,u+a));)if((!c||(0,Fn.wC)(c,n,h,u,a))&&(o[s++]=new me.Dg(new m.Q(r,u+1+i,r,u+1+a+i),null),s>=l))return s;return s}let h;t.reset(0);do{if(h=t.next(n),h&&(o[s++]=(0,Fn.dr)(new m.Q(r,h.index+1+i,r,h.index+1+h[0].length+i),h,a),s>=l))return s}while(h);return s}insert(e,t,n=!1){if(this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==Sn){const{node:n,remainder:r,nodeStartOffset:i}=this.nodeAt(e),s=n.piece,o=s.bufferIndex,a=this.positionInBuffer(n,r);if(0===n.piece.bufferIndex&&s.end.line===this._lastChangeBufferPos.line&&s.end.column===this._lastChangeBufferPos.column&&i+s.length===e&&t.length<Pn)return this.appendToNode(n,t),void this.computeBufferMetadata();if(i===e)this.insertContentToNodeLeft(t,n),this._searchCache.validate(e);else if(i+n.piece.length>e){const e=[];let i=new qn(s.bufferIndex,a,s.end,this.getLineFeedCnt(s.bufferIndex,a,s.end),this.offsetInBuffer(o,s.end)-this.offsetInBuffer(o,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)){if(10===this.nodeCharCodeAt(n,r)){const e={line:i.start.line+1,column:0};i=new qn(i.bufferIndex,e,i.end,this.getLineFeedCnt(i.bufferIndex,e,i.end),i.length-1),t+="\n"}}if(this.shouldCheckCRLF()&&this.startWithLF(t)){if(13===this.nodeCharCodeAt(n,r-1)){const i=this.positionInBuffer(n,r-1);this.deleteNodeTail(n,i),t="\r"+t,0===n.piece.length&&e.push(n)}else this.deleteNodeTail(n,a)}else this.deleteNodeTail(n,a);const l=this.createNewPieces(t);i.length>0&&this.rbInsertRight(n,i);let c=n;for(let t=0;t<l.length;t++)c=this.rbInsertRight(c,l[t]);this.deleteNodes(e)}else this.insertContentToNodeRight(t,n)}else{const e=this.createNewPieces(t);let n=this.rbInsertLeft(null,e[0]);for(let t=1;t<e.length;t++)n=this.rbInsertRight(n,e[t])}this.computeBufferMetadata()}delete(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",t<=0||this.root===Sn)return;const n=this.nodeAt(e),r=this.nodeAt(e+t),i=n.node,s=r.node;if(i===s){const s=this.positionInBuffer(i,n.remainder),o=this.positionInBuffer(i,r.remainder);if(n.nodeStartOffset===e){if(t===i.piece.length){const e=i.next();return Mn(this,i),this.validateCRLFWithPrevNode(e),void this.computeBufferMetadata()}return this.deleteNodeHead(i,o),this._searchCache.validate(e),this.validateCRLFWithPrevNode(i),void this.computeBufferMetadata()}return n.nodeStartOffset+i.piece.length===e+t?(this.deleteNodeTail(i,s),this.validateCRLFWithNextNode(i),void this.computeBufferMetadata()):(this.shrinkNode(i,s,o),void this.computeBufferMetadata())}const o=[],a=this.positionInBuffer(i,n.remainder);this.deleteNodeTail(i,a),this._searchCache.validate(e),0===i.piece.length&&o.push(i);const l=this.positionInBuffer(s,r.remainder);this.deleteNodeHead(s,l),0===s.piece.length&&o.push(s);for(let h=i.next();h!==Sn&&h!==s;h=h.next())o.push(h);const c=0===i.piece.length?i.prev():i;this.deleteNodes(o),this.validateCRLFWithNextNode(c),this.computeBufferMetadata()}insertContentToNodeLeft(e,t){const n=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){const r=t.piece,i={line:r.start.line+1,column:0},s=new qn(r.bufferIndex,i,r.end,this.getLineFeedCnt(r.bufferIndex,i,r.end),r.length-1);t.piece=s,e+="\n",Dn(this,t,-1,-1),0===t.piece.length&&n.push(t)}const r=this.createNewPieces(e);let i=this.rbInsertLeft(t,r[r.length-1]);for(let s=r.length-2;s>=0;s--)i=this.rbInsertLeft(i,r[s]);this.validateCRLFWithPrevNode(i),this.deleteNodes(n)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const n=this.createNewPieces(e),r=this.rbInsertRight(t,n[0]);let i=r;for(let s=1;s<n.length;s++)i=this.rbInsertRight(i,n[s]);this.validateCRLFWithPrevNode(r)}positionInBuffer(e,t,n){const r=e.piece,i=e.piece.bufferIndex,s=this._buffers[i].lineStarts,o=s[r.start.line]+r.start.column+t;let a=r.start.line,l=r.end.line,c=0,h=0,u=0;for(;a<=l&&(c=a+(l-a)/2|0,u=s[c],c!==l);)if(h=s[c+1],o<u)l=c-1;else{if(!(o>=h))break;a=c+1}return n?(n.line=c,n.column=o-u,null):{line:c,column:o-u}}getLineFeedCnt(e,t,n){if(0===n.column)return n.line-t.line;const r=this._buffers[e].lineStarts;if(n.line===r.length-1)return n.line-t.line;const i=r[n.line+1],s=r[n.line]+n.column;if(i>s+1)return n.line-t.line;const o=s-1;return 13===this._buffers[e].buffer.charCodeAt(o)?n.line-t.line+1:n.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;t<e.length;t++)Mn(this,e[t])}createNewPieces(e){if(e.length>Pn){const t=[];for(;e.length>Pn;){const n=e.charCodeAt(65534);let r;13===n||n>=55296&&n<=56319?(r=e.substring(0,65534),e=e.substring(65534)):(r=e.substring(0,Pn),e=e.substring(Pn));const i=jn(r);t.push(new qn(this._buffers.length,{line:0,column:0},{line:i.length-1,column:r.length-i[i.length-1]},i.length-1,r.length)),this._buffers.push(new Wn(r,i))}const n=jn(e);return t.push(new qn(this._buffers.length,{line:0,column:0},{line:n.length-1,column:e.length-n[n.length-1]},n.length-1,e.length)),this._buffers.push(new Wn(e,n)),t}let t=this._buffers[0].buffer.length;const n=jn(e,!1);let r=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},r=this._lastChangeBufferPos;for(let e=0;e<n.length;e++)n[e]+=t+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+="_"+e,t+=1}else{if(0!==t)for(let e=0;e<n.length;e++)n[e]+=t;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+=e}const i=this._buffers[0].buffer.length,s=this._buffers[0].lineStarts.length-1,o={line:s,column:i-this._buffers[0].lineStarts[s]},a=new qn(0,r,o,this.getLineFeedCnt(0,r,o),i-t);return this._lastChangeBufferPos=o,[a]}getLineRawContent(e,t=0){let n=this.root,r="";const i=this._searchCache.get2(e);if(i){n=i.node;const s=this.getAccumulatedValue(n,e-i.nodeStartLineNumber-1),o=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(i.nodeStartLineNumber+n.piece.lineFeedCnt!==e){const r=this.getAccumulatedValue(n,e-i.nodeStartLineNumber);return o.substring(a+s,a+r-t)}r=o.substring(a+s,a+n.piece.length)}else{let i=0;const s=e;for(;n!==Sn;)if(n.left!==Sn&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const r=this.getAccumulatedValue(n,e-n.lf_left-2),o=this.getAccumulatedValue(n,e-n.lf_left-1),a=this._buffers[n.piece.bufferIndex].buffer,l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:i,nodeStartLineNumber:s-(e-1-n.lf_left)}),a.substring(l+r,l+o-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(n,e-n.lf_left-2),i=this._buffers[n.piece.bufferIndex].buffer,s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);r=i.substring(s+t,s+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}}for(n=n.next();n!==Sn;){const e=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){const i=this.getAccumulatedValue(n,0),s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return r+=e.substring(s,s+i-t),r}{const t=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);r+=e.substr(t,n.piece.length)}n=n.next()}return r}computeBufferMetadata(){let e=this.root,t=1,n=0;for(;e!==Sn;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.validate(this._length)}getIndexOf(e,t){const n=e.piece,r=this.positionInBuffer(e,t),i=r.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,n.start,r);if(t!==i)return{index:t,remainder:0}}return{index:i,remainder:r.column}}getAccumulatedValue(e,t){if(t<0)return 0;const n=e.piece,r=this._buffers[n.bufferIndex].lineStarts,i=n.start.line+t+1;return i>n.end.line?r[n.end.line]+n.end.column-r[n.start.line]-n.start.column:r[i]-r[n.start.line]-n.start.column}deleteNodeTail(e,t){const n=e.piece,r=n.lineFeedCnt,i=this.offsetInBuffer(n.bufferIndex,n.end),s=t,o=this.offsetInBuffer(n.bufferIndex,s),a=this.getLineFeedCnt(n.bufferIndex,n.start,s),l=a-r,c=o-i,h=n.length+c;e.piece=new qn(n.bufferIndex,n.start,s,a,h),Dn(this,e,c,l)}deleteNodeHead(e,t){const n=e.piece,r=n.lineFeedCnt,i=this.offsetInBuffer(n.bufferIndex,n.start),s=t,o=this.getLineFeedCnt(n.bufferIndex,s,n.end),a=o-r,l=i-this.offsetInBuffer(n.bufferIndex,s),c=n.length+l;e.piece=new qn(n.bufferIndex,s,n.end,o,c),Dn(this,e,l,a)}shrinkNode(e,t,n){const r=e.piece,i=r.start,s=r.end,o=r.length,a=r.lineFeedCnt,l=t,c=this.getLineFeedCnt(r.bufferIndex,r.start,l),h=this.offsetInBuffer(r.bufferIndex,t)-this.offsetInBuffer(r.bufferIndex,i);e.piece=new qn(r.bufferIndex,r.start,l,c,h),Dn(this,e,h-o,c-a);const u=new qn(r.bufferIndex,n,s,this.getLineFeedCnt(r.bufferIndex,n,s),this.offsetInBuffer(r.bufferIndex,s)-this.offsetInBuffer(r.bufferIndex,n)),d=this.rbInsertRight(e,u);this.validateCRLFWithPrevNode(d)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),r=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const i=jn(t,!1);for(let u=0;u<i.length;u++)i[u]+=r;if(n){const e=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:r-e}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1));const s=this._buffers[0].lineStarts.length-1,o={line:s,column:this._buffers[0].buffer.length-this._buffers[0].lineStarts[s]},a=e.piece.length+t.length,l=e.piece.lineFeedCnt,c=this.getLineFeedCnt(0,e.piece.start,o),h=c-l;e.piece=new qn(e.piece.bufferIndex,e.piece.start,o,c,a),this._lastChangeBufferPos=o,Dn(this,e,t.length,h)}nodeAt(e){let t=this.root;const n=this._searchCache.get(e);if(n)return{node:n.node,nodeStartOffset:n.nodeStartOffset,remainder:e-n.nodeStartOffset};let r=0;for(;t!==Sn;)if(t.size_left>e)t=t.left;else{if(t.size_left+t.piece.length>=e){r+=t.size_left;const n={node:t,remainder:e-t.size_left,nodeStartOffset:r};return this._searchCache.set(n),n}e-=t.size_left+t.piece.length,r+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let n=this.root,r=0;for(;n!==Sn;)if(n.left!==Sn&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2),s=this.getAccumulatedValue(n,e-n.lf_left-1);return r+=n.size_left,{node:n,remainder:Math.min(i+t-1,s),nodeStartOffset:r}}if(n.lf_left+n.piece.lineFeedCnt===e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2);if(i+t-1<=n.piece.length)return{node:n,remainder:i+t-1,nodeStartOffset:r};t-=n.piece.length-i;break}e-=n.lf_left+n.piece.lineFeedCnt,r+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==Sn;){if(n.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(n,0),r=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,e),nodeStartOffset:r}}if(n.piece.length>=t-1){return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)}}t-=n.piece.length,n=n.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const n=this._buffers[e.piece.bufferIndex],r=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(r)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===Sn||0===e.piece.lineFeedCnt)return!1;const t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,r=t.start.line,i=n[r]+t.start.column;if(r===n.length-1)return!1;return!(n[r+1]>i+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(i)}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==Sn&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const n=[],r=this._buffers[e.piece.bufferIndex].lineStarts;let i;i=0===e.piece.end.column?{line:e.piece.end.line-1,column:r[e.piece.end.line]-r[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,o=e.piece.lineFeedCnt-1;e.piece=new qn(e.piece.bufferIndex,e.piece.start,i,o,s),Dn(this,e,-1,-1),0===e.piece.length&&n.push(e);const a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new qn(t.piece.bufferIndex,a,t.piece.end,c,l),Dn(this,t,-1,-1),0===t.piece.length&&n.push(t);const h=this.createNewPieces("\r\n");this.rbInsertRight(e,h[0]);for(let u=0;u<n.length;u++)Mn(this,n[u])}adjustCarriageReturnFromNext(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const n=t.next();if(this.startWithLF(n)){if(e+="\n",1===n.piece.length)Mn(this,n);else{const e=n.piece,t={line:e.start.line+1,column:0},r=e.length-1,i=this.getLineFeedCnt(e.bufferIndex,t,e.end);n.piece=new qn(e.bufferIndex,t,e.end,i,r),Dn(this,n,-1,-1)}return!0}}return!1}iterate(e,t){if(e===Sn)return t(Sn);const n=this.iterate(e.left,t);return n?t(e)&&this.iterate(e.right,t):n}getNodeContent(e){if(e===Sn)return"";const t=this._buffers[e.piece.bufferIndex],n=e.piece,r=this.offsetInBuffer(n.bufferIndex,n.start),i=this.offsetInBuffer(n.bufferIndex,n.end);return t.buffer.substring(r,i)}getPieceContent(e){const t=this._buffers[e.bufferIndex],n=this.offsetInBuffer(e.bufferIndex,e.start),r=this.offsetInBuffer(e.bufferIndex,e.end);return t.buffer.substring(n,r)}rbInsertRight(e,t){const n=new wn(t,1);n.left=Sn,n.right=Sn,n.parent=Sn,n.size_left=0,n.lf_left=0;if(this.root===Sn)this.root=n,n.color=0;else if(e.right===Sn)e.right=n,n.parent=e;else{const t=xn(e.right);t.left=n,n.parent=t}return Rn(this,n),n}rbInsertLeft(e,t){const n=new wn(t,1);if(n.left=Sn,n.right=Sn,n.parent=Sn,n.size_left=0,n.lf_left=0,this.root===Sn)this.root=n,n.color=0;else if(e.left===Sn)e.left=n,n.parent=e;else{const t=En(e.left);t.right=n,n.parent=t}return Rn(this,n),n}}class Kn extends i.jG{constructor(e,t,n,i,s,o,a){super(),this._onDidChangeContent=this._register(new r.vl),this._BOM=t,this._mightContainNonBasicASCII=!o,this._mightContainRTL=i,this._mightContainUnusualLineTerminators=s,this._pieceTree=new Hn(e,n,a)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(e){return this._pieceTree.createSnapshot(e?this._BOM:"")}getOffsetAt(e,t){return this._pieceTree.getOffsetAt(e,t)}getPositionAt(e){return this._pieceTree.getPositionAt(e)}getRangeAt(e,t){const n=e+t,r=this.getPositionAt(e),i=this.getPositionAt(n);return new m.Q(r.lineNumber,r.column,i.lineNumber,i.column)}getValueInRange(e,t=0){if(e.isEmpty())return"";const n=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,n)}getValueLengthInRange(e,t=0){if(e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;const n=this.getOffsetAt(e.startLineNumber,e.startColumn),r=this.getOffsetAt(e.endLineNumber,e.endColumn);let i=0;const s=this._getEndOfLine(t),o=this.getEOL();if(s.length!==o.length){i=(s.length-o.length)*(e.endLineNumber-e.startLineNumber)}return r-n+i}getCharacterCountInRange(e,t=0){if(this._mightContainNonBasicASCII){let n=0;const r=e.startLineNumber,i=e.endLineNumber;for(let t=r;t<=i;t++){const s=this.getLineContent(t),o=t===r?e.startColumn-1:0,a=t===i?e.endColumn-1:s.length;for(let e=o;e<a;e++)c.pc(s.charCodeAt(e))?(n+=1,e+=1):n+=1}return n+=this._getEndOfLine(t).length*(i-r),n}return this.getValueLengthInRange(e,t)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(e){return this._pieceTree.getLineContent(e)}getLineCharCode(e,t){return this._pieceTree.getLineCharCode(e,t)}getLineLength(e){return this._pieceTree.getLineLength(e)}getLineFirstNonWhitespaceColumn(e){const t=c.HG(this.getLineContent(e));return-1===t?0:t+1}getLineLastNonWhitespaceColumn(e){const t=c.lT(this.getLineContent(e));return-1===t?0:t+2}_getEndOfLine(e){switch(e){case 1:return"\n";case 2:return"\r\n";case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,t,n){let r=this._mightContainRTL,i=this._mightContainUnusualLineTerminators,s=this._mightContainNonBasicASCII,o=!0,a=[];for(let p=0;p<e.length;p++){const t=e[p];o&&t._isTracked&&(o=!1);const n=t.range;if(t.text){let e=!0;s||(e=!c.aC(t.text),s=e),!r&&e&&(r=c.E_(t.text)),!i&&e&&(i=c.$X(t.text))}let l="",h=0,d=0,g=0;if(t.text){let e;[h,d,g,e]=(0,u.W)(t.text);const n=this.getEOL();l=0===e||e===("\r\n"===n?2:1)?t.text:t.text.replace(/\r\n|\r|\n/g,n)}a[p]={sortIndex:p,identifier:t.identifier||null,range:n,rangeOffset:this.getOffsetAt(n.startLineNumber,n.startColumn),rangeLength:this.getValueLengthInRange(n),text:l,eolCount:h,firstLineLength:d,lastLineLength:g,forceMoveMarkers:Boolean(t.forceMoveMarkers),isAutoWhitespaceEdit:t.isAutoWhitespaceEdit||!1}}a.sort(Kn._sortOpsAscending);let l=!1;for(let c=0,u=a.length-1;c<u;c++){const e=a[c].range.getEndPosition(),t=a[c+1].range.getStartPosition();if(t.isBeforeOrEqual(e)){if(t.isBefore(e))throw new Error("Overlapping ranges are not allowed!");l=!0}}o&&(a=this._reduceOperations(a));const h=n||t?Kn._getInverseEditRanges(a):[],d=[];if(t)for(let u=0;u<a.length;u++){const e=a[u],t=h[u];if(e.isAutoWhitespaceEdit&&e.range.isEmpty())for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let r="";n===t.startLineNumber&&(r=this.getLineContent(e.range.startLineNumber),-1!==c.HG(r))||d.push({lineNumber:n,oldContent:r})}}let g=null;if(n){let e=0;g=[];for(let t=0;t<a.length;t++){const n=a[t],r=h[t],i=this.getValueInRange(n.range),s=n.rangeOffset+e;e+=n.text.length-i.length,g[t]={sortIndex:n.sortIndex,identifier:n.identifier,range:r,text:i,textChange:new Mt(n.rangeOffset,i,s,n.text)}}l||g.sort(((e,t)=>e.sortIndex-t.sortIndex))}this._mightContainRTL=r,this._mightContainUnusualLineTerminators=i,this._mightContainNonBasicASCII=s;const f=this._doApplyEdits(a);let m=null;if(t&&d.length>0){d.sort(((e,t)=>t.lineNumber-e.lineNumber)),m=[];for(let e=0,t=d.length;e<t;e++){const t=d[e].lineNumber;if(e>0&&d[e-1].lineNumber===t)continue;const n=d[e].oldContent,r=this.getLineContent(t);0!==r.length&&r!==n&&-1===c.HG(r)&&m.push(t)}}return this._onDidChangeContent.fire(),new me.F4(g,f,m)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const n=e[0].range,r=e[e.length-1].range,i=new m.Q(n.startLineNumber,n.startColumn,r.endLineNumber,r.endColumn);let s=n.startLineNumber,o=n.startColumn;const a=[];for(let u=0,g=e.length;u<g;u++){const n=e[u],r=n.range;t=t||n.forceMoveMarkers,a.push(this.getValueInRange(new m.Q(s,o,r.startLineNumber,r.startColumn))),n.text.length>0&&a.push(n.text),s=r.endLineNumber,o=r.endColumn}const l=a.join(""),[c,h,d]=(0,u.W)(l);return{sortIndex:0,identifier:e[0].identifier,range:i,rangeOffset:this.getOffsetAt(i.startLineNumber,i.startColumn),rangeLength:this.getValueLengthInRange(i,0),text:l,eolCount:c,firstLineLength:h,lastLineLength:d,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(Kn._sortOpsDescending);const t=[];for(let n=0;n<e.length;n++){const r=e[n],i=r.range.startLineNumber,s=r.range.startColumn,o=r.range.endLineNumber,a=r.range.endColumn;if(i===o&&s===a&&0===r.text.length)continue;r.text?(this._pieceTree.delete(r.rangeOffset,r.rangeLength),this._pieceTree.insert(r.rangeOffset,r.text,!0)):this._pieceTree.delete(r.rangeOffset,r.rangeLength);const l=new m.Q(i,s,o,a);t.push({range:l,rangeLength:r.rangeLength,text:r.text,rangeOffset:r.rangeOffset,forceMoveMarkers:r.forceMoveMarkers})}return t}findMatchesLineByLine(e,t,n,r){return this._pieceTree.findMatchesLineByLine(e,t,n,r)}static _getInverseEditRanges(e){const t=[];let n=0,r=0,i=null;for(let s=0,o=e.length;s<o;s++){const o=e[s];let a,l,c;if(i?i.range.endLineNumber===o.range.startLineNumber?(a=n,l=r+(o.range.startColumn-i.range.endColumn)):(a=n+(o.range.startLineNumber-i.range.endLineNumber),l=o.range.startColumn):(a=o.range.startLineNumber,l=o.range.startColumn),o.text.length>0){const e=o.eolCount+1;c=1===e?new m.Q(a,l,a,l+o.firstLineLength):new m.Q(a,l,a+e-1,o.lastLineLength+1)}else c=new m.Q(a,l,a,l);n=c.endLineNumber,r=c.endColumn,t.push(c),i=o}return t}static _sortOpsAscending(e,t){const n=m.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n}static _sortOpsDescending(e,t){const n=m.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n}}class Gn{constructor(e,t,n,r,i,s,o,a,l){this._chunks=e,this._bom=t,this._cr=n,this._lf=r,this._crlf=i,this._containsRTL=s,this._containsUnusualLineTerminators=o,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){const t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let i=0,s=n.length;i<s;i++){const e=n[i].buffer.replace(/\r\n|\r|\n/g,t),r=jn(e);n[i]=new Wn(e,r)}const r=new Kn(n,this._bom,t,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:r,disposable:r}}}class Qn{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(e){if(0===e.length)return;0===this.chunks.length&&c.LU(e)&&(this.BOM=c.r_,e=e.substr(1));const t=e.charCodeAt(e.length-1);13===t||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let n=1,r=0,i=0,s=0,o=!0;for(let l=0,c=t.length;l<c;l++){const a=t.charCodeAt(l);13===a?l+1<c&&10===t.charCodeAt(l+1)?(s++,e[n++]=l+2,l++):(r++,e[n++]=l+1):10===a?(i++,e[n++]=l+1):o&&9!==a&&(a<32||a>126)&&(o=!1)}const a=new zn(Vn(e),r,i,s,o);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new Wn(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=c.E_(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=c.$X(e)))}finish(e=!0){return this._finish(),new Gn(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=jn(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var Jn=n(9955),Xn=n(9694),Yn=n(2866),Zn=n(3013),er=n(2532);const tr=new class{clone(){return this}equals(e){return this===e}};class nr{constructor(e){this._default=e,this._store=[]}get(e){return e<this._store.length?this._store[e]:this._default}set(e,t){for(;e>=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,n){if(e>=this._store.length)return;if(0===t)return void this.insert(e,n);if(0===n)return void this.delete(e,t);const r=this._store.slice(0,e),i=this._store.slice(e+t),s=function(e,t){const n=[];for(let r=0;r<e;r++)n[r]=t;return n}(n,this._default);this._store=r.concat(s,i)}delete(e,t){0===t||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const n=[];for(let r=0;r<t;r++)n[r]=this._default;this._store=(0,o.nK)(this._store,e,n)}}class rr{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(e,t){this._startLineNumber=e,this._tokens=t}getLineTokens(e){return this._tokens[e-this._startLineNumber]}appendLineTokens(e){this._tokens.push(e)}}class ir{constructor(){this._tokens=[]}add(e,t){if(this._tokens.length>0){const n=this._tokens[this._tokens.length-1];if(n.endLineNumber+1===e)return void n.appendLineTokens(t)}this._tokens.push(new rr(e,[t]))}finalize(){return this._tokens}}class sr{static{this.defaultTokenMetadata=33587200}static createEmpty(e,t){const n=sr.defaultTokenMetadata,r=new Uint32Array(2);return r[0]=e.length,r[1]=n,new sr(r,e,t)}static createFromTextAndMetadata(e,t){let n=0,r="";const i=new Array;for(const{text:s,metadata:o}of e)i.push(n+s.length,o),n+=s.length,r+=s;return new sr(new Uint32Array(i),r,t)}constructor(e,t,n){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}equals(e){return e instanceof sr&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const r=t<<1,i=r+(n<<1);for(let s=r;s<i;s++)if(this._tokens[s]!==e._tokens[s])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[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],n=Ze.x.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return Ze.x.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return Ze.x.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return Ze.x.getClassNameFromMetadata(t)}getInlineStyle(e,t){const n=this._tokens[1+(e<<1)];return Ze.x.getInlineStyleFromMetadata(n,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return Ze.x.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return sr.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,n){return new or(this,e,t,n)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let r=0;r<n;r++)e[r<<1]=e[r+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;){const i=n+Math.floor((r-n)/2),s=e[i<<1];if(s===t)return i+1;s<t?n=i+1:s>t&&(r=i)}return n}withInserted(e){if(0===e.length)return this;let t=0,n=0,r="";const i=new Array;let s=0;for(;;){const o=t<this._tokensCount?this._tokens[t<<1]:-1,a=n<e.length?e[n]:null;if(-1!==o&&(null===a||o<=a.offset)){r+=this._text.substring(s,o);const e=this._tokens[1+(t<<1)];i.push(r.length,e),t++,s=o}else{if(!a)break;if(a.offset>s){r+=this._text.substring(s,a.offset);const e=this._tokens[1+(t<<1)];i.push(r.length,e),s=a.offset}r+=a.text,i.push(r.length,a.tokenMetadata),n++}}return new sr(new Uint32Array(i),r,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){const t=this.getCount();for(let n=0;n<t;n++)e(n)}}class or{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 i=this._firstTokenIndex,s=e.getCount();i<s;i++){if(e.getStartOffset(i)>=n)break;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(e){return e instanceof or&&(this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._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){const 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){const t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),r=this._source.getEndOffset(t);let 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)}}class ar{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new cr(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class lr extends ar{constructor(e,t,n,r){super(e,t),this._textModel=n,this._languageIdCodec=r}updateTokensUntilLine(e,t){const n=this._textModel.getLanguageId();for(;;){const r=this.getFirstInvalidLine();if(!r||r.lineNumber>t)break;const i=this._textModel.getLineContent(r.lineNumber),s=dr(this._languageIdCodec,n,this.tokenizationSupport,i,!0,r.startState);e.add(r.lineNumber,s.tokens),this.store.setEndState(r.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){const n=this.getStartState(e.lineNumber);if(!n)return 0;const r=this._textModel.getLanguageId(),i=this._textModel.getLineContent(e.lineNumber),s=i.substring(0,e.column-1)+t+i.substring(e.column-1),o=dr(this._languageIdCodec,r,this.tokenizationSupport,s,!0,n),a=new sr(o.tokens,s,this._languageIdCodec);if(0===a.getCount())return 0;const l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,n){const r=e.lineNumber,i=e.column,s=this.getStartState(r);if(!s)return null;const o=this._textModel.getLineContent(r),a=o.substring(0,i-1)+n+o.substring(i-1+t),l=this._textModel.getLanguageIdAtPosition(r,0),c=dr(this._languageIdCodec,l,this.tokenizationSupport,a,!0,s);return new sr(c.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e<this.store.getFirstInvalidEndStateLineNumberOrMax()}isCheapToTokenize(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e<t||e===t&&this._textModel.getLineLength(e)<2048}tokenizeHeuristically(e,t,n){if(n<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(t<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(e,n),{heuristicTokens:!1};let r=this.guessStartState(t);const i=this._textModel.getLanguageId();for(let s=t;s<=n;s++){const t=this._textModel.getLineContent(s),n=dr(this._languageIdCodec,i,this.tokenizationSupport,t,!0,r);e.add(s,n.tokens),r=n.endState}return{heuristicTokens:!0}}guessStartState(e){let t=this._textModel.getLineFirstNonWhitespaceColumn(e);const n=[];let r=null;for(let o=e-1;t>1&&o>=1;o--){const e=this._textModel.getLineFirstNonWhitespaceColumn(o);if(0!==e&&(e<t&&(n.push(this._textModel.getLineContent(o)),t=e,r=this.getStartState(o),r)))break}r||(r=this.tokenizationSupport.getInitialState()),n.reverse();const i=this._textModel.getLanguageId();let s=r;for(const o of n){s=dr(this._languageIdCodec,i,this.tokenizationSupport,o,!1,s).endState}return s}}class cr{constructor(e){this.lineCount=e,this._tokenizationStateStore=new hr,this._invalidEndStatesLineNumbers=new ur,this._invalidEndStatesLineNumbers.addRange(new er.L(1,e+1))}getEndState(e){return this._tokenizationStateStore.getEndState(e)}setEndState(e,t){if(!t)throw new l.D7("Cannot set null/undefined state");this._invalidEndStatesLineNumbers.delete(e);const n=this._tokenizationStateStore.setEndState(e,t);return n&&e<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new er.L(e+1,e+2)),n}acceptChange(e,t){this.lineCount+=t-e.length,this._tokenizationStateStore.acceptChange(e,t),this._invalidEndStatesLineNumbers.addRangeAndResize(new er.L(e.startLineNumber,e.endLineNumberExclusive),t)}acceptChanges(e){for(const t of e){const[e]=(0,u.W)(t.text);this.acceptChange(new Jn.M(t.range.startLineNumber,t.range.endLineNumber+1),e+1)}}invalidateEndStateRange(e){this._invalidEndStatesLineNumbers.addRange(new er.L(e.startLineNumber,e.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return null===this._invalidEndStatesLineNumbers.min}getStartState(e,t){return 1===e?t:this.getEndState(e-1)}getFirstInvalidLine(e){const t=this.getFirstInvalidEndStateLineNumber();if(null===t)return null;const n=this.getStartState(t,e);if(!n)throw new l.D7("Start state must be defined");return{lineNumber:t,startState:n}}}class hr{constructor(){this._lineEndStates=new nr(null)}getEndState(e){return this._lineEndStates.get(e)}setEndState(e,t){const n=this._lineEndStates.get(e);return(!n||!n.equals(t))&&(this._lineEndStates.set(e,t),!0)}acceptChange(e,t){let n=e.length;t>0&&n>0&&(n--,t--),this._lineEndStates.replace(e.startLineNumber,n,t)}}class ur{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex((t=>t.contains(e)));if(-1!==t){const n=this._ranges[t];n.start===e?n.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new er.L(e+1,n.endExclusive):n.endExclusive===e+1?this._ranges[t]=new er.L(n.start,e):this._ranges.splice(t,1,new er.L(n.start,e),new er.L(e+1,n.endExclusive))}}addRange(e){er.L.addRange(e,this._ranges)}addRangeAndResize(e,t){let n=0;for(;!(n>=this._ranges.length||e.start<=this._ranges[n].endExclusive);)n++;let r=n;for(;!(r>=this._ranges.length||e.endExclusive<this._ranges[r].start);)r++;const i=t-e.length;for(let s=r;s<this._ranges.length;s++)this._ranges[s]=this._ranges[s].delta(i);if(n===r){const r=new er.L(e.start,e.start+t);r.isEmpty||this._ranges.splice(n,0,r)}else{const t=Math.min(e.start,this._ranges[n].start),s=Math.max(e.endExclusive,this._ranges[r-1].endExclusive),o=new er.L(t,s+i);o.isEmpty?this._ranges.splice(n,r-n):this._ranges.splice(n,r-n,o)}}toString(){return this._ranges.map((e=>e.toString())).join(" + ")}}function dr(e,t,n,r,i,s){let o=null;if(n)try{o=n.tokenizeEncoded(r,i,s.clone())}catch(a){(0,l.dz)(a)}return o||(o=function(e,t){const n=new Uint32Array(2);return n[0]=0,n[1]=(32768|e|2<<24)>>>0,new Xn.rY(n,null===t?tr:t)}(e.encodeLanguageId(t),s)),sr.convertToEndOffset(o.tokens,r.length),o}class gr{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,Yn.$6)((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),n=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()<t?(0,s._p)(n):this._beginBackgroundTokenization())};n()}_backgroundTokenizeForAtLeast1ms(){const e=this._tokenizerWithStateStore._textModel.getLineCount(),t=new ir,n=Zn.W.create(!1);do{if(n.elapsed()>1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new Jn.M(e,t))}}class fr{constructor(){this._onDidChangeVisibleRanges=new r.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new mr((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class mr{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const n=e.map((e=>new Jn.M(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:n,stabilized:t})}}class pr extends i.jG{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Yn.uC((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,o.aI)(this._computedLineRanges,this._lineRanges,((e,t)=>e.equals(t)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class br extends i.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,n){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=n,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new r.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new r.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class _r extends br{constructor(e,t,n,r){super(t,n,r),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=Xn.OB.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const n=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(n)return new sr(n,t,this._languageIdCodec)}return sr.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,n){return 0}tokenizeLineWithEdit(e,t,n){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}var kr=n(5320);const vr=new Uint32Array(0).buffer;class Cr{static deleteBeginning(e,t){return null===e||e===vr?e:Cr.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===vr)return e;const n=yr(e),r=n[n.length-2];return Cr.delete(e,t,r)}static delete(e,t,n){if(null===e||e===vr||t===n)return e;const r=yr(e),i=r.length>>>1;if(0===t&&r[r.length-2]===n)return vr;const s=sr.findIndexInTokensArray(r,t),o=s>0?r[s-1<<1]:0;if(n<r[s<<1]){const o=n-t;for(let e=s;e<i;e++)r[e<<1]-=o;return e}let a,l;o!==t?(r[s<<1]=t,a=s+1<<1,l=t):(a=s<<1,l=o);const c=n-t;for(let u=s+1;u<i;u++){const e=r[u<<1]-c;e>l&&(r[a++]=e,r[a++]=r[1+(u<<1)],l=e)}if(a===r.length)return e;const h=new Uint32Array(a);return h.set(r.subarray(0,a),0),h.buffer}static append(e,t){if(t===vr)return e;if(e===vr)return t;if(null===e)return e;if(null===t)return null;const n=yr(e),r=yr(t),i=r.length>>>1,s=new Uint32Array(n.length+r.length);s.set(n,0);let o=n.length;const a=n[n.length-2];for(let l=0;l<i;l++)s[o++]=r[l<<1]+a,s[o++]=r[1+(l<<1)];return s.buffer}static insert(e,t,n){if(null===e||e===vr)return e;const r=yr(e),i=r.length>>>1;let s=sr.findIndexInTokensArray(r,t);if(s>0){r[s-1<<1]===t&&s--}for(let o=s;o<i;o++)r[o<<1]+=n;return e}}function yr(e){return e instanceof Uint32Array?e:new Uint32Array(e)}class Lr{constructor(e){this._lineTokens=[],this._len=0,this._languageIdCodec=e}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(e,t,n){let r=null;if(t<this._len&&(r=this._lineTokens[t]),null!==r&&r!==vr)return new sr(yr(r),n,this._languageIdCodec);const i=new Uint32Array(2);return i[0]=n.length,i[1]=wr(this._languageIdCodec.encodeLanguageId(e)),new sr(i,n,this._languageIdCodec)}static _massageTokens(e,t,n){const r=n?yr(n):null;if(0===t){let t=!1;if(r&&r.length>1&&(t=Ze.x.getLanguageId(r[1])!==e),!t)return vr}if(!r||0===r.length){const n=new Uint32Array(2);return n[0]=t,n[1]=wr(e),n.buffer}return r[r.length-2]=t,0===r.byteOffset&&r.byteLength===r.buffer.byteLength?r.buffer:r}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const n=[];for(let r=0;r<t;r++)n[r]=null;this._lineTokens=o.nK(this._lineTokens,e,n),this._len+=t}setTokens(e,t,n,r,i){const s=Lr._massageTokens(this._languageIdCodec.encodeLanguageId(e),n,r);this._ensureLine(t);const o=this._lineTokens[t];return this._lineTokens[t]=s,!!i&&!Lr._equals(o,s)}static _equals(e,t){if(!e||!t)return!e&&!t;const n=yr(e),r=yr(t);if(n.length!==r.length)return!1;for(let i=0,s=n.length;i<s;i++)if(n[i]!==r[i])return!1;return!0}acceptEdit(e,t,n){this._acceptDeleteRange(e),this._acceptInsertText(new f.y(e.startLineNumber,e.startColumn),t,n)}_acceptDeleteRange(e){const t=e.startLineNumber-1;if(t>=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=Cr.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=Cr.deleteEnding(this._lineTokens[t],e.startColumn-1);const n=e.endLineNumber-1;let r=null;n<this._len&&(r=Cr.deleteBeginning(this._lineTokens[n],e.endColumn-1)),this._lineTokens[t]=Cr.append(this._lineTokens[t],r),this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t,n){if(0===t&&0===n)return;const r=e.lineNumber-1;r>=this._len||(0!==t?(this._lineTokens[r]=Cr.deleteEnding(this._lineTokens[r],e.column-1),this._lineTokens[r]=Cr.insert(this._lineTokens[r],e.column-1,n),this._insertLines(e.lineNumber,t)):this._lineTokens[r]=Cr.insert(this._lineTokens[r],e.column-1,n))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const n=[];for(let r=0,i=e.length;r<i;r++){const i=e[r];let s=0,o=0,a=!1;for(let e=i.startLineNumber;e<=i.endLineNumber;e++)if(a)this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),i.getLineTokens(e),!1),o=e;else{this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),i.getLineTokens(e),!0)&&(a=!0,s=e,o=e)}a&&n.push({fromLineNumber:s,toLineNumber:o})}return{changes:n}}}function wr(e){return(32768|e|2<<24|1024)>>>0}class Sr{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let n=e;if(t.length>0){const r=t[0].getRange(),i=t[t.length-1].getRange();if(!r||!i)return e;n=e.plusRange(r).plusRange(i)}let r=null;for(let i=0,s=this._pieces.length;i<s;i++){const e=this._pieces[i];if(e.endLineNumber<n.startLineNumber)continue;if(e.startLineNumber>n.endLineNumber){r=r||{index:i};break}if(e.removeTokens(n),e.isEmpty()){this._pieces.splice(i,1),i--,s--;continue}if(e.endLineNumber<n.startLineNumber)continue;if(e.startLineNumber>n.endLineNumber){r=r||{index:i};continue}const[t,o]=e.split(n);t.isEmpty()?r=r||{index:i}:o.isEmpty()||(this._pieces.splice(i,1,t,o),i++,s++,r=r||{index:i})}return r=r||{index:this._pieces.length},t.length>0&&(this._pieces=o.nK(this._pieces,r.index,t)),n}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const n=this._pieces;if(0===n.length)return t;const r=n[Sr._findFirstPieceWithLine(n,e)].getLineTokens(e);if(!r)return t;const i=t.getCount(),s=r.getCount();let o=0;const a=[];let l=0,c=0;const h=(e,t)=>{e!==c&&(c=e,a[l++]=e,a[l++]=t)};for(let u=0;u<s;u++){const e=r.getStartCharacter(u),n=r.getEndCharacter(u),s=r.getMetadata(u),a=((1&s?2048:0)|(2&s?4096:0)|(4&s?8192:0)|(8&s?16384:0)|(16&s?16744448:0)|(32&s?4278190080:0))>>>0,l=~a>>>0;for(;o<i&&t.getEndOffset(o)<=e;)h(t.getEndOffset(o),t.getMetadata(o)),o++;for(o<i&&t.getStartOffset(o)<e&&h(e,t.getMetadata(o));o<i&&t.getEndOffset(o)<n;)h(t.getEndOffset(o),t.getMetadata(o)&l|s&a),o++;if(o<i)h(n,t.getMetadata(o)&l|s&a),t.getEndOffset(o)===n&&o++;else{const e=Math.min(Math.max(0,o-1),i-1);h(n,t.getMetadata(e)&l|s&a)}}for(;o<i;)h(t.getEndOffset(o),t.getMetadata(o)),o++;return new sr(new Uint32Array(a),t.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(e,t){let n=0,r=e.length-1;for(;n<r;){let i=n+Math.floor((r-n)/2);if(e[i].endLineNumber<t)n=i+1;else{if(!(e[i].startLineNumber>t)){for(;i>n&&e[i-1].startLineNumber<=t&&t<=e[i-1].endLineNumber;)i--;return i}r=i-1}}return n}acceptEdit(e,t,n,r,i){for(const s of this._pieces)s.acceptEdit(e,t,n,r,i)}}var xr,Er=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},Nr=function(e,t){return function(n,r){t(n,r,e)}};let Tr=xr=class extends $t{constructor(e,t,n,s,o,a,l){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=n,this._attachedViews=s,this._languageService=o,this._languageConfigurationService=a,this._treeSitterService=l,this._semanticTokens=new Sr(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new r.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new r.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new r.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new i.Cm),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(r.Jh.filter(Xn.OB.onDidChange,(e=>e.changedLanguages.includes(this._languageId)))((()=>{this.createPreferredTokenProvider()}))),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new Ar(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews))}createTreeSitterTokens(){return this._register(new _r(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,(()=>this._languageId)))}createTokens(e){const t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){Xn.OB.get(this._languageId)?this._tokens instanceof _r||this.createTokens(!0):this._tokens instanceof Ar||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,n,r]=(0,u.W)(t.text);this._semanticTokens.acceptEdit(t.range,e,n,r,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new l.D7("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,n){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,n)}tokenizeLineWithEdit(e,t,n){return this._tokens.tokenizeLineWithEdit(e,t,n)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const n=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:n.startLineNumber,toLineNumber:n.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),n=this._textModel.getLineContent(t.lineNumber),r=this.getLineTokens(t.lineNumber),i=r.findTokenIndexAtOffset(t.column-1),[s,o]=xr._findLanguageBoundaries(r,i),a=(0,v.Th)(t.column,this.getLanguageConfiguration(r.getLanguageId(i)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(i>0&&s===t.column-1){const[s,o]=xr._findLanguageBoundaries(r,i-1),a=(0,v.Th)(t.column,this.getLanguageConfiguration(r.getLanguageId(i-1)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const n=e.getLanguageId(t);let r=0;for(let s=t;s>=0&&e.getLanguageId(s)===n;s--)r=e.getStartOffset(s);let i=e.getLineContent().length;for(let s=t,o=e.getCount();s<o&&e.getLanguageId(s)===n;s++)i=e.getEndOffset(s);return[r,i]}getWordUntilPosition(e){const t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(e,t){const n=this._textModel.validatePosition(new f.y(e,t)),r=this.getLineTokens(n.lineNumber);return r.getLanguageId(r.findTokenIndexAtOffset(n.column-1))}setLanguageId(e,t="api"){if(this._languageId===e)return;const n={oldLanguage:this._languageId,newLanguage:e,source:t};this._languageId=e,this._bracketPairsTextModelPart.handleDidChangeLanguage(n),this._tokens.resetTokenization(),this.createPreferredTokenProvider(),this._onDidChangeLanguage.fire(n),this._onDidChangeLanguageConfiguration.fire({})}};Tr=xr=Er([Nr(4,k.L),Nr(5,se),Nr(6,kr.ITreeSitterParserService)],Tr);class Ar extends br{constructor(e,t,n,r){super(e,t,n),this._tokenizer=null,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new i.HE),this._tokens=new Lr(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new i.HE),this._attachedViewStates=this._register(new i.$w),this._register(Xn.dG.onDidChange((e=>{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(r.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let n=this._attachedViewStates.get(e);n||(n=new pr((()=>this.refreshRanges(n.lineRanges))),this._attachedViewStates.set(e,n)),n.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new cr(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[t,n]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=Xn.dG.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(n){return(0,l.dz)(n),[null,null]}return[e,t]})();if(this._tokenizer=t&&n?new lr(this._textModel.getLineCount(),t,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{if(2===this._backgroundTokenizationState)return;this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(e,t)=>{if(!this._tokenizer)return;const n=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==n&&e>=n&&this._tokenizer?.store.setEndState(e,t)}};t&&t.createBackgroundTokenizer&&!t.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new gr(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),t?.backgroundTokenizerShouldOnlyVerifyTokens&&t.createBackgroundTokenizer?(this._debugBackgroundTokens=new Lr(this._languageIdCodec),this._debugBackgroundStates=new cr(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[e,n]=(0,u.W)(t.text);this._tokens.acceptEdit(t.range,e,n),this._debugBackgroundTokens?.acceptEdit(t.range,e,n)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=Jn.M.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const n=new ir,{heuristicTokens:r}=this._tokenizer.tokenizeHeuristically(n,e,t),i=this.setTokens(n.finalize());if(r)for(const s of i.changes)this._backgroundTokenizer.value?.requestTokens(s.fromLineNumber,s.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new ir;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){const t=this._textModel.getLineContent(e),n=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const r=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!n.equals(r)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return n}getTokenTypeIfInsertingCharacter(e,t,n){if(!this._tokenizer)return 0;const r=this._textModel.validatePosition(new f.y(e,t));return this.forceTokenization(r.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(r,n)}tokenizeLineWithEdit(e,t,n){if(!this._tokenizer)return null;const r=this._textModel.validatePosition(e);return this.forceTokenization(r.lineNumber),this._tokenizer.tokenizeLineWithEdit(r,t,n)}get hasTokens(){return this._tokens.hasTokens}}class Ir{constructor(){this.changeType=1}}class Or{static applyInjectedText(e,t){if(!t||0===t.length)return e;let n="",r=0;for(const i of t)n+=e.substring(r,i.column-1),r=i.column-1,n+=i.options.content;return n+=e.substring(r),n}static fromDecorations(e){const t=[];for(const n of e)n.options.before&&n.options.before.content.length>0&&t.push(new Or(n.ownerId,n.range.startLineNumber,n.range.startColumn,n.options.before,0)),n.options.after&&n.options.after.content.length>0&&t.push(new Or(n.ownerId,n.range.endLineNumber,n.range.endColumn,n.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}constructor(e,t,n,r,i){this.ownerId=e,this.lineNumber=t,this.column=n,this.options=r,this.order=i}}class Mr{constructor(e,t,n){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=n}}class Rr{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class Dr{constructor(e,t,n,r){this.changeType=4,this.injectedTexts=r,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}class Br{constructor(){this.changeType=5}}class Fr{constructor(e,t,n,r){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=r,this.resultingSelection=null}containsEvent(e){for(let t=0,n=this.changes.length;t<n;t++){if(this.changes[t].changeType===e)return!0}return!1}static merge(e,t){const n=[].concat(e.changes).concat(t.changes),r=t.versionId,i=e.isUndoing||t.isUndoing,s=e.isRedoing||t.isRedoing;return new Fr(n,r,i,s)}}class Pr{constructor(e){this.changes=e}}class Vr{constructor(e,t){this.rawContentChangedEvent=e,this.contentChangedEvent=t}merge(e){const t=Fr.merge(this.rawContentChangedEvent,e.rawContentChangedEvent),n=Vr._mergeChangeEvents(this.contentChangedEvent,e.contentChangedEvent);return new Vr(t,n)}static _mergeChangeEvents(e,t){const n=[].concat(e.changes).concat(t.changes),r=t.eol,i=t.versionId,s=e.isUndoing||t.isUndoing,o=e.isRedoing||t.isRedoing,a=e.isFlush||t.isFlush;return{changes:n,eol:r,isEolChange:e.isEolChange&&t.isEolChange,versionId:i,isUndoing:s,isRedoing:o,isFlush:a}}}const zr=(0,H.u1)("undoRedoService");class jr{static{this._ID=0}constructor(){this.id=jr._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new jr}}class qr{static{this._ID=0}constructor(){this.id=qr._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new qr}}var Wr,Ur=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},$r=function(e,t){return function(n,r){t(n,r,e)}};function Hr(e,t){let n;return n="string"==typeof e?function(e){const t=new Qn;return t.acceptChunk(e),t.finish()}(e):me.nk(e)?function(e){const t=new Qn;let n;for(;"string"==typeof(n=e.read());)t.acceptChunk(n);return t.finish()}(e):e,n.create(t)}let Kr=0;class Gr{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,n=0;for(;;){const r=this._source.read();if(null===r)return this._eos=!0,0===t?null:e.join("");if(r.length>0&&(e[t++]=r,n+=r.length),n>=65536)return e.join("")}}}const Qr=()=>{throw new Error("Invalid change accessor")};let Jr=class extends i.jG{static{Wr=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:b.tabSize,indentSize:b.indentSize,insertSpaces:b.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:b.trimAutoWhitespace,largeFileOptimizations:b.largeFileOptimizations,bracketPairColorizationOptions:b.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){const n=Yt(e,t.tabSize,t.insertSpaces);return new me.X2({tabSize:n.tabSize,indentSize:"tabSize",insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new me.X2(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return(0,i.qE)(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,n,s=null,o,a,l,u){super(),this._undoRedoService=o,this._languageService=a,this._languageConfigurationService=l,this.instantiationService=u,this._onWillDispose=this._register(new r.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new ci((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new r.vl),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new r.vl),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new r.vl),this._eventEmitter=this._register(new hi),this._languageSelectionListener=this._register(new i.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new fr,Kr++,this.id="$model"+Kr,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==s?h.r.parse("inmemory://model/"+Kr):s,this._attachedEditorCount=0;const{textBuffer:d,disposable:g}=Hr(e,n.defaultEOL);this._buffer=d,this._bufferDisposable=g,this._options=Wr.resolveOptions(this._buffer,n);const f="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange((()=>this._setLanguage(t.languageId)))),this._bracketPairs=this._register(new Lt(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new Gt(this,this._languageConfigurationService)),this._decorationProvider=this._register(new Tt(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(Tr,this,this._bracketPairs,f,this._attachedViews);const p=this._buffer.getLineCount(),b=this._buffer.getValueLengthInRange(new m.Q(1,1,p,this._buffer.getLineLength(p)+1),0);n.largeFileOptimizations?(this._isTooLargeForTokenization=b>Wr.LARGE_FILE_SIZE_THRESHOLD||p>Wr.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=b>Wr.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=b>Wr._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=c.tk(Kr),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Zr,this._commandManager=new qt(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(f),this._register(this._languageConfigurationService.onDidChange((e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)})))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new Kn([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=i.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new l.D7("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new Vr(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,l.Qg)();const{textBuffer:t,disposable:n}=Hr(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,n)}_createContentChanged2(e,t,n,r,i,s,o,a){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:r}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:i,isRedoing:s,isFlush:o}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const n=this.getFullModelRange(),r=this.getValueLengthInRange(n),i=this.getLineCount(),s=this.getLineMaxColumn(i);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new Zr,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Fr([new Ir],this._versionId,!1,!1),this._createContentChanged2(new m.Q(1,1,i,s),0,r,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const n=this.getFullModelRange(),r=this.getValueLengthInRange(n),i=this.getLineCount(),s=this.getLineMaxColumn(i);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Fr([new Br],this._versionId,!1,!1),this._createContentChanged2(new m.Q(1,1,i,s),0,r,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let n=0,r=t.length;n<r;n++){const r=t[n],i=r.range,s=r.cachedAbsoluteStart-r.start,o=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),a=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);r.cachedAbsoluteStart=o,r.cachedAbsoluteEnd=a,r.cachedVersionId=e,r.start=o-s,r.end=a-s,Cn(r)}}onBeforeAttached(){return this._attachedEditorCount++,1===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(e){this._attachedEditorCount--,0===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(e)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const n=this._buffer.getLineCount();for(let r=1;r<=n;r++){const n=this._buffer.getLineLength(r);n>=1e4?t+=n:e+=n}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,r=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,i=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,o=new me.X2({tabSize:t,indentSize:n,insertSpaces:r,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:i,bracketPairColorizationOptions:s});if(this._options.equals(o))return;const a=this._options.createChangeEvent(o);this._options=o,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const n=Yt(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),g(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(c._J.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map((e=>({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.D7("Operation would exceed heap memory limits");const n=this.getFullModelRange(),r=this.getValueInRange(n,e);return t?this._buffer.getBOM()+r:r}createSnapshot(e=!1){return new Gr(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const n=this.getFullModelRange(),r=this.getValueLengthInRange(n,e);return t?this._buffer.getBOM().length+r:r}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),n=e.startLineNumber,r=e.startColumn;let i=Math.floor("number"!=typeof n||isNaN(n)?1:n),s=Math.floor("number"!=typeof r||isNaN(r)?1:r);if(i<1)i=1,s=1;else if(i>t)i=t,s=this.getLineMaxColumn(i);else if(s<=1)s=1;else{const e=this.getLineMaxColumn(i);s>=e&&(s=e)}const o=e.endLineNumber,a=e.endColumn;let l=Math.floor("number"!=typeof o||isNaN(o)?1:o),c=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,c=1;else if(l>t)l=t,c=this.getLineMaxColumn(l);else if(c<=1)c=1;else{const e=this.getLineMaxColumn(l);c>=e&&(c=e)}return n===i&&r===s&&o===l&&a===c&&e instanceof m.Q&&!(e instanceof p.L)?e:new m.Q(i,s,l,c)}_isValidPosition(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===n){const n=this._buffer.getLineCharCode(e,t-2);if(c.pc(n))return!1}return!0}_validatePosition(e,t,n){const r=Math.floor("number"!=typeof e||isNaN(e)?1:e),i=Math.floor("number"!=typeof t||isNaN(t)?1:t),s=this._buffer.getLineCount();if(r<1)return new f.y(1,1);if(r>s)return new f.y(s,this.getLineMaxColumn(s));if(i<=1)return new f.y(r,1);const o=this.getLineMaxColumn(r);if(i>=o)return new f.y(r,o);if(1===n){const e=this._buffer.getLineCharCode(r,i-2);if(c.pc(e))return new f.y(r,i-1)}return new f.y(r,i)}validatePosition(e){return this._assertNotDisposed(),e instanceof f.y&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(n,r,0))return!1;if(!this._isValidPosition(i,s,0))return!1;if(1===t){const e=r>1?this._buffer.getLineCharCode(n,r-2):0,t=s>1&&s<=this._buffer.getLineLength(i)?this._buffer.getLineCharCode(i,s-2):0,o=c.pc(e),a=c.pc(t);return!o&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof m.Q&&!(e instanceof p.L)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),r=t.lineNumber,i=t.column,s=n.lineNumber,o=n.column;{const e=i>1?this._buffer.getLineCharCode(r,i-2):0,t=o>1&&o<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,o-2):0,n=c.pc(e),a=c.pc(t);return n||a?r===s&&i===o?new m.Q(r,i-1,s,o-1):n&&a?new m.Q(r,i-1,s,o+1):n?new m.Q(r,i-1,s,o):new m.Q(r,i,s,o+1):new m.Q(r,i,s,o)}}modifyPosition(e,t){this._assertNotDisposed();const n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new m.Q(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,n,r){return this._buffer.findMatchesLineByLine(e,t,n,r)}findMatches(e,t,n,r,i,s,o=999){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>m.Q.isIRange(e)))&&(a=t.map((e=>this.validateRange(e))))),null===a&&(a=[this.getFullModelRange()]),a=a.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const l=[];let c;if(l.push(a.reduce(((e,t)=>m.Q.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t)))),!n&&e.indexOf("\n")<0){const t=new Fn.lt(e,n,r,i).parseSearchRequest();if(!t)return[];c=e=>this.findMatchesLineByLine(e,t,s,o)}else c=t=>Fn.hB.findMatches(this,new Fn.lt(e,n,r,i),t,s,o);return l.map(c).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,n,r,i,s){this._assertNotDisposed();const o=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){const t=new Fn.lt(e,n,r,i).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new m.Q(o.lineNumber,o.column,a,this.getLineMaxColumn(a)),c=this.findMatchesLineByLine(l,t,s,1);return Fn.hB.findNextMatch(this,new Fn.lt(e,n,r,i),o,s),c.length>0?c[0]:(l=new m.Q(1,1,o.lineNumber,this.getLineMaxColumn(o.lineNumber)),c=this.findMatchesLineByLine(l,t,s,1),c.length>0?c[0]:null)}return Fn.hB.findNextMatch(this,new Fn.lt(e,n,r,i),o,s)}findPreviousMatch(e,t,n,r,i,s){this._assertNotDisposed();const o=this.validatePosition(t);return Fn.hB.findPreviousMatch(this,new Fn.lt(e,n,r,i),o,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof me.Wo?e:new me.Wo(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let n=0,r=e.length;n<r;n++)t[n]=this._validateEditOperation(e[n]);return t}pushEditOperations(e,t,n,r){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),n,r)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,n,r){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const n=t.map((e=>({range:this.validateRange(e.range),text:e.text})));let r=!0;if(e)for(let t=0,i=e.length;t<i;t++){const i=e[t];let s=!1;for(let e=0,t=n.length;e<t;e++){const t=n[e].range,r=t.startLineNumber>i.endLineNumber,o=i.startLineNumber>t.endLineNumber;if(!r&&!o){s=!0;break}}if(!s){r=!1;break}}if(r)for(let e=0,i=this._trimAutoWhitespaceLines.length;e<i;e++){const r=this._trimAutoWhitespaceLines[e],i=this.getLineMaxColumn(r);let s=!0;for(let e=0,t=n.length;e<t;e++){const 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&&"\n"===o.charAt(0)||r===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(o.length-1))){s=!1;break}}if(s){const e=new m.Q(r,1,r,i);t.push(new me.Wo(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,r)}_applyUndo(e,t,n,r){const i=e.map((e=>{const t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new m.Q(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}}));this._applyUndoRedoEdits(i,t,!0,!1,n,r)}_applyRedo(e,t,n,r){const i=e.map((e=>{const t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new m.Q(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,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=r,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(i)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const n=this._buffer.getLineCount(),r=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),i=this._buffer.getLineCount(),s=r.changes;if(this._trimAutoWhitespaceLines=r.trimAutoWhitespaceLineNumbers,0!==s.length){for(let n=0,r=s.length;n<r;n++){const e=s[n];this._decorationsTree.acceptReplace(e.rangeOffset,e.rangeLength,e.text.length,e.forceMoveMarkers)}const e=[];this._increaseVersionId();let t=n;for(let n=0,r=s.length;n<r;n++){const r=s[n],[a]=(0,u.W)(r.text);this._onDidChangeDecorations.fire();const l=r.range.startLineNumber,c=r.range.endLineNumber,h=c-l,d=a,g=Math.min(h,d),m=d-h,p=i-t-m+l,b=p,_=p+d,k=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new f.y(b,1)),this.getOffsetAt(new f.y(_,this.getLineMaxColumn(_))),0),v=Or.fromDecorations(k),C=new o.j3(v);for(let t=g;t>=0;t--){const n=l+t,r=p+t;C.takeFromEndWhile((e=>e.lineNumber>r));const i=C.takeFromEndWhile((e=>e.lineNumber===r));e.push(new Mr(n,this.getLineContent(r),i))}if(g<h){const t=l+g;e.push(new Rr(t+1,c))}if(g<d){const n=new o.j3(v),r=l+g,s=d-g,a=i-t-s+r+1,c=[],h=[];for(let e=0;e<s;e++){const t=a+e;h[e]=this.getLineContent(t),n.takeWhile((e=>e.lineNumber<t)),c[e]=n.takeWhile((e=>e.lineNumber===t))}e.push(new Dr(r+1,l+d,h,c))}t+=m}this._emitContentChangedEvent(new Fr(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})}return null===r.reverseEdits?void 0:r.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){if(null===e||0===e.size)return;const t=Array.from(e).map((e=>new Mr(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new Pr(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,li(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>0===t.length&&0===n.length?[]:this._deltaDecorationsImpl(e,t,n)};let r=null;try{r=t(n)}catch(i){(0,l.dz)(i)}return n.addDecoration=Qr,n.changeDecoration=Qr,n.changeDecorationOptions=Qr,n.removeDecoration=Qr,n.deltaDecorations=Qr,r}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,l.dz)(new 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){const r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:ai[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;const i=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),s,o,i),r.setOptions(ai[n]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let n=0,r=t.length;n<r;n++){const e=t[n];this._decorationsTree.delete(e),delete this._decorations[e.id]}}getDecorationOptions(e){const t=this._decorations[e];return t?t.options:null}getDecorationRange(e){const t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,n=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)}getLinesDecorations(e,t,n=0,r=!1,i=!1){const s=this.getLineCount(),a=Math.min(s,Math.max(1,e)),l=Math.min(s,Math.max(1,t)),c=this.getLineMaxColumn(l),h=new m.Q(a,1,l,c),u=this._getDecorationsInRange(h,n,r,i);return(0,o.E4)(u,this._decorationProvider.getDecorationsInRange(h,n,r)),u}getDecorationsInRange(e,t=0,n=!1,r=!1,i=!1){const s=this.validateRange(e),a=this._getDecorationsInRange(s,t,n,i);return(0,o.E4)(a,this._decorationProvider.getDecorationsInRange(s,t,n,r)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),n=t+this._buffer.getLineLength(e),r=this._decorationsTree.getInjectedTextInInterval(this,t,n,0);return Or.fromDecorations(r).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let n=this._decorationsTree.getAll(this,e,t,!1,!1);return n=n.concat(this._decorationProvider.getAllDecorations(e,t)),n}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,n,r){const i=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,i,s,t,n,r)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const n=this._decorations[e];if(!n)return;if(n.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(n.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const r=this._validateRangeRelaxedNoAllocations(t),i=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),s=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);this._decorationsTree.delete(n),n.reset(this.getVersionId(),i,s,r),this._decorationsTree.insert(n),this._onDidChangeDecorations.checkAffectedAndFire(n.options),n.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.endLineNumber),n.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.startLineNumber)}_changeDecorationOptionsImpl(e,t){const n=this._decorations[e];if(!n)return;const r=!(!n.options.overviewRuler||!n.options.overviewRuler.color),i=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(n.options),this._onDidChangeDecorations.checkAffectedAndFire(t),n.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(n.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const s=r!==i,o=function(e){return!!e.after||!!e.before}(t)!==Yr(n);s||o?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t)}_deltaDecorationsImpl(e,t,n,r=!1){const i=this.getVersionId(),s=t.length;let o=0;const a=n.length;let l=0;this._onDidChangeDecorations.beginDeferredEmit();try{const c=new Array(a);for(;o<s||l<a;){let h=null;if(o<s){do{h=this._decorations[t[o++]]}while(!h&&o<s);if(h){if(h.options.after){const e=this._decorationsTree.getNodeRange(this,h);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(h.options.before){const e=this._decorationsTree.getNodeRange(this,h);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}this._decorationsTree.delete(h),r||this._onDidChangeDecorations.checkAffectedAndFire(h.options)}}if(l<a){if(!h){const e=++this._lastDecorationId,t=`${this._instanceId};${e}`;h=new hn(t,0,0),this._decorations[t]=h}const t=n[l],s=this._validateRangeRelaxedNoAllocations(t.range),o=li(t.options),a=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),u=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);h.ownerId=e,h.reset(i,a,u,s),h.setOptions(o),h.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.endLineNumber),h.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.startLineNumber),r||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(h),c[l]=h.id,l++}else h&&delete this._decorations[h.id]}return c}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){"string"==typeof e?(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 function(e){let t=0;for(const n of e){if(" "!==n&&"\t"!==n)break;t++}return t}(this.getLineContent(e))+1}};function Xr(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Yr(e){return!!e.options.after||!!e.options.before}Jr=Wr=Ur([$r(4,zr),$r(5,k.L),$r(6,se),$r(7,H._Y)],Jr);class Zr{constructor(){this._decorationsTree0=new dn,this._decorationsTree1=new dn,this._injectedTextDecorationsTree=new dn}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const n of t)null===n.range&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,r,i,s){const o=e.getVersionId(),a=this._intervalSearch(t,n,r,i,o,s);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,n,r,i,s){const o=this._decorationsTree0.intervalSearch(e,t,n,r,i,s),a=this._decorationsTree1.intervalSearch(e,t,n,r,i,s),l=this._injectedTextDecorationsTree.intervalSearch(e,t,n,r,i,s);return o.concat(a).concat(l)}getInjectedTextInInterval(e,t,n,r){const i=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,n,r,!1,i,!1);return this._ensureNodesHaveRanges(e,s).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const n=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,n,r,i){const s=e.getVersionId(),o=this._search(t,n,r,s,i);return this._ensureNodesHaveRanges(e,o)}_search(e,t,n,r,i){if(n)return this._decorationsTree1.search(e,t,r,i);{const n=this._decorationsTree0.search(e,t,r,i),s=this._decorationsTree1.search(e,t,r,i),o=this._injectedTextDecorationsTree.search(e,t,r,i);return n.concat(s).concat(o)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(r)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){Yr(e)?this._injectedTextDecorationsTree.insert(e):Xr(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Yr(e)?this._injectedTextDecorationsTree.delete(e):Xr(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Yr(e)?this._injectedTextDecorationsTree.resolveNode(e,t):Xr(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 ei(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class ti{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class ni extends ti{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:me.A5.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const n=e?t.getColor(e.id):null;return n?n.toString():""}}class ri{constructor(e){this.position=e?.position??me.ZS.Center,this.persistLane=e?.persistLane}}class ii extends ti{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?a.Q1.fromHex(e):t.getColor(e.id)}}class si{static from(e){return e instanceof si?e:new si(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class oi{static register(e){return new oi(e)}static createDynamic(e){return new oi(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?ei(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?ei(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.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new ni(e.overviewRuler):null,this.minimap=e.minimap?new ii(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new ri(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?ei(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?ei(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?ei(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?c.jy(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?ei(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?ei(e.marginClassName):null,this.inlineClassName=e.inlineClassName?ei(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?ei(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?ei(e.afterContentClassName):null,this.after=e.after?si.from(e.after):null,this.before=e.before?si.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}oi.EMPTY=oi.register({description:"empty"});const ai=[oi.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),oi.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),oi.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),oi.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function li(e){return e instanceof oi?e:oi.createDynamic(e)}class ci extends i.jG{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new r.vl),this.event=this._actual.event,this._affectedInjectedTextLines=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--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}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(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const 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)}}class hi extends i.jG{constructor(){super(),this._fastEmitter=this._register(new r.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new r.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}var ui,di=n(1504),gi=n(2344),fi=n(3072),mi=n(1386),pi=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},bi=function(e,t){return function(n,r){t(n,r,e)}};function _i(e){return e.toString()}class ki{constructor(e,t,n){this.model=e,this._modelEventListeners=new i.Cm,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>n(e,t))))}dispose(){this._modelEventListeners.dispose()}}const vi=s.j9||s.zx?1:2;class Ci{constructor(e,t,n,r,i,s,o,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=r,this.heapSize=i,this.sha1=s,this.versionId=o,this.alternativeVersionId=a}}let yi=class extends i.jG{static{ui=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(e,t,n,i){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._instantiationService=i,this._onModelAdded=this._register(new r.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new r.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new r.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let n=b.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(n=t),n<1&&(n=1)}let r="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(r=Math.max(t,1))}let i=b.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(i="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let s=vi;const o=e.eol;"\r\n"===o?s=2:"\n"===o&&(s=1);let a=b.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let l=b.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let c=b.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(c="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let h=b.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(h={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:n,indentSize:r,insertSpaces:i,detectIndentation:l,defaultEOL:s,trimAutoWhitespace:a,largeFileOptimizations:c,bracketPairColorizationOptions:h}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const n=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return n&&"string"==typeof n&&"auto"!==n?n:3===s.OS||2===s.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,n){const r="string"==typeof e?e:e.languageId;let i=this._modelCreationOptionsByLanguageAndResource[r+t];if(!i){const e=this._configurationService.getValue("editor",{overrideIdentifier:r,resource:t}),s=this._getEOL(t,r);i=ui._readModelOptions({editor:e,eol:s},n),this._modelCreationOptionsByLanguageAndResource[r+t]=i}return i}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const n=Object.keys(this._models);for(let r=0,i=n.length;r<i;r++){const i=n[r],s=this._models[i],o=s.model.getLanguageId(),a=s.model.uri;if(e&&!e.affectsConfiguration("editor",{overrideIdentifier:o,resource:a})&&!e.affectsConfiguration("files.eol",{overrideIdentifier:o,resource:a}))continue;const l=t[o+a],c=this.getCreationOptions(o,a,s.model.isForSimpleWidget);ui._setModelOptionsForModel(s.model,c,l)}}static _setModelOptionsForModel(e,t,n){n&&n.defaultEOL!==t.defaultEOL&&1===e.getLineCount()&&e.setEOL(1===t.defaultEOL?0:1),n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.indentSize===t.indentSize&&n.trimAutoWhitespace===t.trimAutoWhitespace&&(0,mi.aI)(n.bracketPairColorizationOptions,t.bracketPairColorizationOptions)||(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(_i(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){const t=this._disposedModels.get(_i(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(_i(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,r){const i=this.getCreationOptions(t,n,r),s=this._instantiationService.createInstance(Jr,e,t,i,n);if(n&&this._disposedModels.has(_i(n))){const e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),r=this._getSHA1Computer(),i=!!r.canComputeSHA1(s)&&r.computeSHA1(s)===e.sha1;if(i||e.sharesUndoRedoStack){for(const e of t.past)jt(e)&&e.matchesResource(n)&&e.setModel(s);for(const e of t.future)jt(e)&&e.matchesResource(n)&&e.setModel(s);this._undoRedoService.setElementsValidFlag(n,!0,(e=>jt(e)&&e.matchesResource(n))),i&&(s._overwriteVersionId(e.versionId),s._overwriteAlternativeVersionId(e.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const o=_i(s.uri);if(this._models[o])throw new Error("ModelService: Cannot add model because it already exists!");const a=new ki(s,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[o]=a,a}createModel(e,t,n,r=!1){let i;return i=t?this._createModelData(e,t,n,r):this._createModelData(e,Q.vH,n,r),this._onModelAdded.fire(i.model),i.model}getModels(){const e=[],t=Object.keys(this._models);for(let n=0,r=t.length;n<r;n++){const r=t[n];e.push(this._models[r].model)}return e}getModel(e){const t=_i(e),n=this._models[t];return n?n.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===fi.ny.file||e.scheme===fi.ny.vscodeRemote||e.scheme===fi.ny.vscodeUserData||e.scheme===fi.ny.vscodeNotebookCell||"fake-fs"===e.scheme}_onWillDispose(e){const t=_i(e.uri),n=this._models[t],r=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString();let i=!1,s=0;if(r||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){const t=this._undoRedoService.getElements(e.uri);if(t.past.length>0||t.future.length>0){for(const n of t.past)jt(n)&&n.matchesResource(e.uri)&&(i=!0,s+=n.heapSize(e.uri),n.setModel(e.uri));for(const n of t.future)jt(n)&&n.matchesResource(e.uri)&&(i=!0,s+=n.heapSize(e.uri),n.setModel(e.uri))}}const o=ui.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,a=this._getSHA1Computer();if(i)if(r||!(s>o)&&a.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(o-s),this._undoRedoService.setElementsValidFlag(e.uri,!1,(t=>jt(t)&&t.matchesResource(e.uri))),this._insertDisposedModel(new Ci(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),r,s,a.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!r){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const n=t.oldLanguage,r=e.getLanguageId(),i=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),s=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);ui._setModelOptionsForModel(e,s,i),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new Li}};yi=ui=pi([bi(0,K.pG),bi(1,di.ITextResourcePropertiesService),bi(2,zr),bi(3,H._Y)],yi);class Li{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(e){return e.getValueLength()<=Li.MAX_MODEL_SIZE}computeSHA1(e){const t=new gi.v7,n=e.createSnapshot();let r;for(;r=n.read();)t.update(r);return t.digest()}}},7042:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextModelService:()=>r});const r=(0,n(2399).u1)("textModelService")},9376:(e,t,n)=>{"use strict";n.r(t),n.d(t,{encodeSemanticTokensDto:()=>s});var r=n(2802),i=n(3339);function s(e){const t=new Uint32Array(function(e){let t=0;if(t+=2,"full"===e.type)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(const n of e.deltas)n.data&&(t+=n.data.length)}return t}(e));let n=0;if(t[n++]=e.id,"full"===e.type)t[n++]=1,t[n++]=e.data.length,t.set(e.data,n),n+=e.data.length;else{t[n++]=2,t[n++]=e.deltas.length;for(const r of e.deltas)t[n++]=r.start,t[n++]=r.deleteCount,r.data?(t[n++]=r.data.length,t.set(r.data,n),n+=r.data.length):t[n++]=0}return function(e){const t=new Uint8Array(e.buffer,e.byteOffset,4*e.length);return i.cm()||function(e){for(let t=0,n=e.length;t<n;t+=4){const n=e[t+0],r=e[t+1],i=e[t+2],s=e[t+3];e[t+0]=s,e[t+1]=i,e[t+2]=r,e[t+3]=n}}(t),r.MB.wrap(t)}(t)}},7642:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemanticTokensProviderStyling:()=>m,toMultilineTokens2:()=>p});n(5910);var r=n(6001),i=n(2321),s=n(5365),o=n(8061),a=n(3902);class l{static create(e,t){return new l(e,new c(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new o.Q(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,n,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber,[r,i,s]=this._tokens.split(t,e.startColumn-1,n,e.endColumn-1);return[new l(this._startLineNumber,r),new l(this._startLineNumber+s,i)]}applyEdit(e,t){const[n,r,i]=(0,a.W)(t);this.acceptEdit(e,n,r,i,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,n,r,i){this._acceptDeleteRange(e),this._acceptInsertText(new s.y(e.startLineNumber,e.startColumn),t,n,r,i),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;if(n<0){const e=n-t;return void(this._startLineNumber-=e)}const r=this._tokens.getMaxDeltaLine();if(!(t>=r+1)){if(t<0&&n>=r+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const r=-t;this._startLineNumber-=r,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,n,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,n,e.endColumn-1)}}_acceptInsertText(e,t,n,r,i){if(0===t&&0===n)return;const s=e.lineNumber-this._startLineNumber;if(s<0)return void(this._startLineNumber+=t);s>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(s,e.column-1,t,n,r,i)}}class c{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let n=0;n<this._tokenCount;n++)t.push(`(${this._getDeltaLine(n)+e},${this._getStartCharacter(n)}-${this._getEndCharacter(n)})`);return`[${t.join(",")}]`}getMaxDeltaLine(){const e=this._getTokenCount();return 0===e?-1:this._getDeltaLine(e-1)}getRange(){const e=this._getTokenCount();if(0===e)return null;const t=this._getStartCharacter(0),n=this._getDeltaLine(e-1),r=this._getEndCharacter(e-1);return new o.Q(0,t+1,n,r+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(e){return this._tokens[4*e]}_getStartCharacter(e){return this._tokens[4*e+1]}_getEndCharacter(e){return this._tokens[4*e+2]}isEmpty(){return 0===this._getTokenCount()}getLineTokens(e){let t=0,n=this._getTokenCount()-1;for(;t<n;){const r=t+Math.floor((n-t)/2),i=this._getDeltaLine(r);if(i<e)t=r+1;else{if(!(i>e)){let i=r;for(;i>t&&this._getDeltaLine(i-1)===e;)i--;let s=r;for(;s<n&&this._getDeltaLine(s+1)===e;)s++;return new h(this._tokens.subarray(4*i,4*s+4))}n=r-1}}return this._getDeltaLine(t)===e?new h(this._tokens.subarray(4*t,4*t+4)):null}clear(){this._tokenCount=0}removeTokens(e,t,n,r){const i=this._tokens,s=this._tokenCount;let o=0,a=!1,l=0;for(let c=0;c<s;c++){const s=4*c,h=i[s],u=i[s+1],d=i[s+2],g=i[s+3];if((h>e||h===e&&d>=t)&&(h<n||h===n&&u<=r))a=!0;else{if(0===o&&(l=h),a){const e=4*o;i[e]=h-l,i[e+1]=u,i[e+2]=d,i[e+3]=g}o++}}return this._tokenCount=o,l}split(e,t,n,r){const i=this._tokens,s=this._tokenCount,o=[],a=[];let l=o,h=0,u=0;for(let c=0;c<s;c++){const s=4*c,o=i[s],d=i[s+1],g=i[s+2],f=i[s+3];if(o>e||o===e&&g>=t){if(o<n||o===n&&d<=r)continue;l!==a&&(l=a,h=0,u=o)}l[h++]=o-u,l[h++]=d,l[h++]=g,l[h++]=f}return[new c(new Uint32Array(o)),new c(new Uint32Array(a)),u]}acceptDeleteRange(e,t,n,r,i){const s=this._tokens,o=this._tokenCount,a=r-t;let l=0,c=!1;for(let h=0;h<o;h++){const u=4*h;let d=s[u],g=s[u+1],f=s[u+2];const m=s[u+3];if(d<t||d===t&&f<=n){l++;continue}if(d===t&&g<n)d===r&&f>i?f-=i-n:f=n;else if(d===t&&g===n){if(!(d===r&&f>i)){c=!0;continue}f-=i-n}else if(d<r||d===r&&g<i){if(!(d===r&&f>i)){c=!0;continue}d=t,g=n,f=g+(f-i)}else if(d>r){if(0===a&&!c){l=o;break}d-=a}else{if(!(d===r&&g>=i))throw new Error("Not possible!");e&&0===d&&(g+=e,f+=e),d-=a,g-=i-n,f-=i-n}const p=4*l;s[p]=d,s[p+1]=g,s[p+2]=f,s[p+3]=m,l++}this._tokenCount=l}acceptInsertText(e,t,n,r,i,s){const o=0===n&&1===r&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),a=this._tokens,l=this._tokenCount;for(let c=0;c<l;c++){const s=4*c;let l=a[s],h=a[s+1],u=a[s+2];if(!(l<e||l===e&&u<t)){if(l===e&&u===t){if(!o)continue;u+=1}else if(l===e&&h<t&&t<u)0===n?u+=r:u=t;else{if(l===e&&h===t&&o)continue;if(l===e)if(l+=n,0===n)h+=r,u+=r;else{const e=u-h;h=i+(h-t),u=h+e}else l+=n}a[s]=l,a[s+1]=h,a[s+2]=u}}}}class h{constructor(e){this._tokens=e}getCount(){return this._tokens.length/4}getStartCharacter(e){return this._tokens[4*e+1]}getEndCharacter(e){return this._tokens[4*e+2]}getMetadata(e){return this._tokens[4*e+3]}}var u=n(7922),d=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},g=function(e,t){return function(n,r){t(n,r,e)}};const f=!1;let m=class{constructor(e,t,n,r){this._legend=e,this._themeService=t,this._languageService=n,this._logService=r,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new _}getMetadata(e,t,n){const r=this._languageService.languageIdCodec.encodeLanguageId(n),i=this._hashTable.get(e,t,r);let s;if(i)s=i.metadata;else{let i=this._legend.tokenTypes[e];const o=[];if(i){let e=t;for(let t=0;e>0&&t<this._legend.tokenModifiers.length;t++)1&e&&o.push(this._legend.tokenModifiers[t]),e>>=1;f;const r=this._themeService.getColorTheme().getTokenStyleMetadata(i,o,n);if(void 0===r)s=2147483647;else{if(s=0,void 0!==r.italic){s|=1|(r.italic?1:0)<<11}if(void 0!==r.bold){s|=2|(r.bold?2:0)<<11}if(void 0!==r.underline){s|=4|(r.underline?4:0)<<11}if(void 0!==r.strikethrough){s|=8|(r.strikethrough?8:0)<<11}if(r.foreground){s|=16|r.foreground<<15}0===s&&(s=2147483647)}}else s=2147483647,i="not-in-legend";this._hashTable.add(e,t,r,s)}return s}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,n,r,i){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${n}: The provided start offset ${r} is outside the previous data (length ${i}).`))}};function p(e,t,n){const r=e.data,i=e.data.length/5|0,s=Math.max(Math.ceil(i/1024),400),o=[];let a=0,c=1,h=0;for(;a<i;){const e=a;let u=Math.min(e+s,i);if(u<i){let t=u;for(;t-1>e&&0===r[5*t];)t--;if(t-1===e){let e=u;for(;e+1<i&&0===r[5*e];)e++;u=e}else u=t}let d=new Uint32Array(4*(u-e)),g=0,f=0,m=0,p=0;for(;a<u;){const e=5*a,i=r[e],s=r[e+1],o=c+i|0,l=0===i?h+s|0:s,u=l+r[e+2]|0,b=r[e+3],_=r[e+4];if(u<=l)t.warnInvalidLengthSemanticTokens(o,l+1);else if(m===o&&p>l)t.warnOverlappingSemanticTokens(o,l+1);else{const e=t.getMetadata(b,_,n);2147483647!==e&&(0===f&&(f=o),d[g]=o-f,d[g+1]=l,d[g+2]=u,d[g+3]=e,g+=4,m=o,p=u)}c=o,h=l,a++}g!==d.length&&(d=d.subarray(0,g));const b=l.create(f,d);o.push(b)}return o}m=d([g(1,r.Gy),g(2,u.L),g(3,i.rr)],m);class b{constructor(e,t,n,r){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=n,this.metadata=r,this.next=null}}class _{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=_._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<_._SIZES.length?2/3*this._currentLength:0),this._elements=[],_._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(e,t){for(let n=0;n<t;n++)e[n]=null}_hash2(e,t){return(e<<5)-e+t|0}_hashFunc(e,t,n){return this._hash2(this._hash2(e,t),n)%this._currentLength}get(e,t,n){const r=this._hashFunc(e,t,n);let i=this._elements[r];for(;i;){if(i.tokenTypeIndex===e&&i.tokenModifierSet===t&&i.languageId===n)return i;i=i.next}return null}add(e,t,n,r){if(this._elementsCount++,0!==this._growCount&&this._elementsCount>=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=_._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<_._SIZES.length?2/3*this._currentLength:0),this._elements=[],_._nullOutEntries(this._elements,this._currentLength);for(const t of e){let e=t;for(;e;){const t=e.next;e.next=null,this._add(e),e=t}}}this._add(new b(e,t,n,r))}_add(e){const t=this._hashFunc(e.tokenTypeIndex,e.tokenModifierSet,e.languageId);e.next=this._elements[t],this._elements[t]=e}}},2891:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ISemanticTokensStylingService:()=>r});const r=(0,n(2399).u1)("semanticTokensStylingService")},8148:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemanticTokensStylingService:()=>d});var r=n(2446),i=n(7922),s=n(6001),o=n(2321),a=n(7642),l=n(2891),c=n(4412),h=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},u=function(e,t){return function(n,r){t(n,r,e)}};let d=class extends r.jG{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new a.SemanticTokensProviderStyling(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};d=h([u(0,s.Gy),u(1,o.rr),u(2,i.L)],d),(0,c.v)(l.ISemanticTokensStylingService,d,1)},1507:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MirrorModel:()=>b,STOP_SYNC_MODEL_DELTA_TIME_MS:()=>f,WorkerTextModelSyncClient:()=>m,WorkerTextModelSyncServer:()=>p});var r=n(2866),i=n(2446),s=n(7264),o=n(5365),a=n(8061),l=n(8782),c=n(6844),h=(n(3338),n(7512));class u{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=(0,h.j)(e);const n=this.values,r=this.prefixSum,i=t.length;return 0!==i&&(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=(0,h.j)(e),t=(0,h.j)(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=(0,h.j)(e),t=(0,h.j)(t);const n=this.values,r=this.prefixSum;if(e>=n.length)return!1;const i=n.length-e;return t>=i&&(t=i),0!==t&&(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 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=(0,h.j)(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(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,s=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],s=i-this.values[r],e<s)n=r-1;else{if(!(e>=i))break;t=r+1}return new d(r,e-s)}}class d{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}}class g{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 null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const n of t)this._acceptDeleteRange(n.range),this._acceptInsertText(new o.y(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const 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 u(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)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);else{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))}}_acceptInsertText(e,t){if(0===t.length)return;const n=(0,c.uz)(t);if(1===n.length)return void 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));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]);const r=new Uint32Array(n.length-1);for(let i=1;i<n.length;i++)this._lines.splice(e.lineNumber+i-1,0,n[i]),r[i-1]=n[i].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}}const f=6e4;class m extends i.jG{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){const e=new r.vb;e.cancelAndSet((()=>this._checkStopModelSync()),Math.round(f/2)),this._register(e)}}dispose(){for(const e in this._syncedModels)(0,i.AS)(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const n of e){const e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const n in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[n]>f&&t.push(n)}for(const n of t)this._stopModelSync(n)}_beginModelSync(e,t){const n=this._modelService.getModel(e);if(!n)return;if(!t&&n.isTooLargeForSyncing())return;const r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});const s=new i.Cm;s.add(n.onDidChangeContent((e=>{this._proxy.$acceptModelChanged(r.toString(),e)}))),s.add(n.onWillDispose((()=>{this._stopModelSync(r)}))),s.add((0,i.s)((()=>{this._proxy.$acceptRemovedModel(r)}))),this._syncedModels[r]=s}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],(0,i.AS)(t)}}class p{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}$acceptNewModel(e){this._models[e.url]=new b(s.r.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class b extends g{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let n=0;n<this._lines.length;n++){const r=this._lines[n],i=this.offsetAt(new o.y(n+1,1)),s=r.matchAll(e);for(const e of s)(e.index||0===e.index)&&(e.index=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){const n=(0,l.Th)(e.column,(0,l.Io)(t),this._lines[e.lineNumber-1],0);return n?new a.Q(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){const t=this._lines,n=this._wordenize.bind(this);let r=0,i="",s=0,o=[];return{*[Symbol.iterator](){for(;;)if(s<o.length){const e=i.substring(o[s].start,o[s].end);s+=1,yield e}else{if(!(r<t.length))break;i=t[r],o=n(i,e),s=0,r+=1}}}}getLineWords(e,t){const n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(const s of r)i.push({word:n.substring(s.start,s.end),startColumn:s.start+1,endColumn:s.end+1});return i}_wordenize(e,t){const n=[];let r;for(t.lastIndex=0;(r=t.exec(e))&&0!==r[0].length;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);const t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let s=n+1;s<r;s++)i.push(this._lines[s]);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();const 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){const 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(!o.y.isIPosition(e))throw new 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{const 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}}},5628:(e,t,n)=>{"use strict";n.r(t)},1504:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextResourceConfigurationService:()=>i,ITextResourcePropertiesService:()=>s});var r=n(2399);const i=(0,r.u1)("textResourceConfigurationService"),s=(0,r.u1)("textResourcePropertiesService")},5320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeSitterParserService:()=>r});const r=(0,n(2399).u1)("treeSitterParserService")},2603:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DraggedTreeItemsIdentifier:()=>i,TreeViewsDnDService:()=>r});class r{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class i{constructor(e){this.identifier=e}}},6756:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeViewsDnDService:()=>o});var r=n(4412),i=n(2399),s=n(2603);const o=(0,i.u1)("treeViewsDndService");(0,r.v)(o,s.TreeViewsDnDService,1)},9887:(e,t,n)=>{"use strict";n.r(t),n.d(t,{UnicodeTextModelHighlighter:()=>l});var r=n(8061),i=n(2389),s=n(6844),o=n(7110),a=n(8782);class l{static computeUnicodeHighlights(e,t,n){const l=n?n.startLineNumber:1,h=n?n.endLineNumber:e.getLineCount(),u=new c(t),d=u.getCandidateCodePoints();let g;var f;g="allNonBasicAscii"===d?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(""+(f=Array.from(d),`[${s.bm(f.map((e=>String.fromCodePoint(e))).join(""))}]`),"g");const m=new i.W5(null,g),p=[];let b,_=!1,k=0,v=0,C=0;e:for(let i=l,c=h;i<=c;i++){const t=e.getLineContent(i),n=t.length;m.reset(0);do{if(b=m.next(t),b){let e=b.index,l=b.index+b[0].length;if(e>0){const n=t.charCodeAt(e-1);s.pc(n)&&e--}if(l+1<n){const e=t.charCodeAt(l-1);s.pc(e)&&l++}const c=t.substring(e,l);let h=(0,a.Th)(e+1,a.Ld,t,0);h&&h.endColumn<=e+1&&(h=null);const d=u.shouldHighlightNonBasicASCII(c,h?h.word:null);if(0!==d){3===d?k++:2===d?v++:1===d?C++:(0,o.xb)(d);const t=1e3;if(p.length>=t){_=!0;break e}p.push(new r.Q(i,e+1,i,l+1))}}}while(b)}return{ranges:p,hasMore:_,ambiguousCharacterCount:k,invisibleCharacterCount:v,nonBasicAsciiCharacterCount:C}}static computeUnicodeHighlightReason(e,t){const n=new c(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const r=e.codePointAt(0),i=n.ambiguousCharacters.getPrimaryConfusable(r),o=s.tl.getLocales().filter((e=>!s.tl.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(r)));return{kind:0,confusableWith:String.fromCodePoint(i),notAmbiguousInLocales:o}}case 1:return{kind:2}}}}class c{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=s.tl.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of s.y_.codePoints)h(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,i=!1;if(t)for(const o of t){const e=o.codePointAt(0),t=s.aC(o);r=r||t,t||this.ambiguousCharacters.isAmbiguous(e)||s.y_.isInvisibleCharacter(e)||(i=!0)}return!r&&i?0:this.options.invisibleCharacters&&!h(e)&&s.y_.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}}function h(e){return" "===e||"\n"===e||"\t"===e}},9204:(e,t,n)=>{var r={"./editorBaseApi":[1583],"./editorBaseApi.js":[1583],"./editorSimpleWorker":[1684],"./editorSimpleWorker.js":[1684],"./editorWorker":[304,792],"./editorWorker.js":[304,792],"./editorWorkerHost":[6358],"./editorWorkerHost.js":[6358],"./findSectionHeaders":[9307],"./findSectionHeaders.js":[9307],"./getIconClasses":[1048,792],"./getIconClasses.js":[1048,792],"./languageFeatureDebounce":[3591,792],"./languageFeatureDebounce.js":[3591,792],"./languageFeatures":[2230,792],"./languageFeatures.js":[2230,792],"./languageFeaturesService":[3704,792],"./languageFeaturesService.js":[3704,792],"./languageService":[5122,792],"./languageService.js":[5122,792],"./languagesAssociations":[5996,792],"./languagesAssociations.js":[5996,792],"./languagesRegistry":[6995,792],"./languagesRegistry.js":[6995,792],"./markerDecorations":[886,792],"./markerDecorations.js":[886,792],"./markerDecorationsService":[4109,792],"./markerDecorationsService.js":[4109,792],"./model":[4830,792],"./model.js":[4830,792],"./modelService":[1327,792],"./modelService.js":[1327,792],"./resolverService":[7042,792],"./resolverService.js":[7042,792],"./semanticTokensDto":[9376,792],"./semanticTokensDto.js":[9376,792],"./semanticTokensProviderStyling":[7642,792],"./semanticTokensProviderStyling.js":[7642,792],"./semanticTokensStyling":[2891,792],"./semanticTokensStyling.js":[2891,792],"./semanticTokensStylingService":[8148,792],"./semanticTokensStylingService.js":[8148,792],"./textModelSync/textModelSync.impl":[1507],"./textModelSync/textModelSync.impl.js":[1507],"./textModelSync/textModelSync.protocol":[5628,792],"./textModelSync/textModelSync.protocol.js":[5628,792],"./textResourceConfiguration":[1504,792],"./textResourceConfiguration.js":[1504,792],"./treeSitterParserService":[5320,792],"./treeSitterParserService.js":[5320,792],"./treeViewsDnd":[2603,792],"./treeViewsDnd.js":[2603,792],"./treeViewsDndService":[6756,792],"./treeViewsDndService.js":[6756,792],"./unicodeTextModelHighlighter":[9887],"./unicodeTextModelHighlighter.js":[9887],"monaco-editor/esm/vs/editor/common/services/editorBaseApi":[1583],"monaco-editor/esm/vs/editor/common/services/editorBaseApi.js":[1583],"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker":[1684],"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js":[1684],"monaco-editor/esm/vs/editor/common/services/editorWorker":[304,792],"monaco-editor/esm/vs/editor/common/services/editorWorker.js":[304,792],"monaco-editor/esm/vs/editor/common/services/editorWorkerHost":[6358],"monaco-editor/esm/vs/editor/common/services/editorWorkerHost.js":[6358],"monaco-editor/esm/vs/editor/common/services/findSectionHeaders":[9307],"monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js":[9307],"monaco-editor/esm/vs/editor/common/services/getIconClasses":[1048,792],"monaco-editor/esm/vs/editor/common/services/getIconClasses.js":[1048,792],"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce":[3591,792],"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js":[3591,792],"monaco-editor/esm/vs/editor/common/services/languageFeatures":[2230,792],"monaco-editor/esm/vs/editor/common/services/languageFeatures.js":[2230,792],"monaco-editor/esm/vs/editor/common/services/languageFeaturesService":[3704,792],"monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js":[3704,792],"monaco-editor/esm/vs/editor/common/services/languageService":[5122,792],"monaco-editor/esm/vs/editor/common/services/languageService.js":[5122,792],"monaco-editor/esm/vs/editor/common/services/languagesAssociations":[5996,792],"monaco-editor/esm/vs/editor/common/services/languagesAssociations.js":[5996,792],"monaco-editor/esm/vs/editor/common/services/languagesRegistry":[6995,792],"monaco-editor/esm/vs/editor/common/services/languagesRegistry.js":[6995,792],"monaco-editor/esm/vs/editor/common/services/markerDecorations":[886,792],"monaco-editor/esm/vs/editor/common/services/markerDecorations.js":[886,792],"monaco-editor/esm/vs/editor/common/services/markerDecorationsService":[4109,792],"monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js":[4109,792],"monaco-editor/esm/vs/editor/common/services/model":[4830,792],"monaco-editor/esm/vs/editor/common/services/model.js":[4830,792],"monaco-editor/esm/vs/editor/common/services/modelService":[1327,792],"monaco-editor/esm/vs/editor/common/services/modelService.js":[1327,792],"monaco-editor/esm/vs/editor/common/services/resolverService":[7042,792],"monaco-editor/esm/vs/editor/common/services/resolverService.js":[7042,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensDto":[9376,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js":[9376,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling":[7642,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js":[7642,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling":[2891,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js":[2891,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService":[8148,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js":[8148,792],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl":[1507],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl.js":[1507],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol":[5628,792],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol.js":[5628,792],"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration":[1504,792],"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js":[1504,792],"monaco-editor/esm/vs/editor/common/services/treeSitterParserService":[5320,792],"monaco-editor/esm/vs/editor/common/services/treeSitterParserService.js":[5320,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDnd":[2603,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js":[2603,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDndService":[6756,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js":[6756,792],"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter":[9887],"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js":[9887]};function i(e){if(!n.o(r,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=r[e],i=t[0];return Promise.all(t.slice(1).map(n.e)).then((()=>n(i)))}i.keys=()=>Object.keys(r),i.id=9204,e.exports=i},7614:(e,t,n)=>{var r={"./editorBaseApi":1583,"./editorBaseApi.js":1583,"./editorSimpleWorker":1684,"./editorSimpleWorker.js":1684,"./editorWorker":304,"./editorWorker.js":304,"./editorWorkerHost":6358,"./editorWorkerHost.js":6358,"./findSectionHeaders":9307,"./findSectionHeaders.js":9307,"./getIconClasses":1048,"./getIconClasses.js":1048,"./languageFeatureDebounce":3591,"./languageFeatureDebounce.js":3591,"./languageFeatures":2230,"./languageFeatures.js":2230,"./languageFeaturesService":3704,"./languageFeaturesService.js":3704,"./languageService":5122,"./languageService.js":5122,"./languagesAssociations":5996,"./languagesAssociations.js":5996,"./languagesRegistry":6995,"./languagesRegistry.js":6995,"./markerDecorations":886,"./markerDecorations.js":886,"./markerDecorationsService":4109,"./markerDecorationsService.js":4109,"./model":4830,"./model.js":4830,"./modelService":1327,"./modelService.js":1327,"./resolverService":7042,"./resolverService.js":7042,"./semanticTokensDto":9376,"./semanticTokensDto.js":9376,"./semanticTokensProviderStyling":7642,"./semanticTokensProviderStyling.js":7642,"./semanticTokensStyling":2891,"./semanticTokensStyling.js":2891,"./semanticTokensStylingService":8148,"./semanticTokensStylingService.js":8148,"./textModelSync/textModelSync.impl":1507,"./textModelSync/textModelSync.impl.js":1507,"./textModelSync/textModelSync.protocol":5628,"./textModelSync/textModelSync.protocol.js":5628,"./textResourceConfiguration":1504,"./textResourceConfiguration.js":1504,"./treeSitterParserService":5320,"./treeSitterParserService.js":5320,"./treeViewsDnd":2603,"./treeViewsDnd.js":2603,"./treeViewsDndService":6756,"./treeViewsDndService.js":6756,"./unicodeTextModelHighlighter":9887,"./unicodeTextModelHighlighter.js":9887,"monaco-editor/esm/vs/editor/common/services/editorBaseApi":1583,"monaco-editor/esm/vs/editor/common/services/editorBaseApi.js":1583,"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker":1684,"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js":1684,"monaco-editor/esm/vs/editor/common/services/editorWorker":304,"monaco-editor/esm/vs/editor/common/services/editorWorker.js":304,"monaco-editor/esm/vs/editor/common/services/editorWorkerHost":6358,"monaco-editor/esm/vs/editor/common/services/editorWorkerHost.js":6358,"monaco-editor/esm/vs/editor/common/services/findSectionHeaders":9307,"monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js":9307,"monaco-editor/esm/vs/editor/common/services/getIconClasses":1048,"monaco-editor/esm/vs/editor/common/services/getIconClasses.js":1048,"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce":3591,"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js":3591,"monaco-editor/esm/vs/editor/common/services/languageFeatures":2230,"monaco-editor/esm/vs/editor/common/services/languageFeatures.js":2230,"monaco-editor/esm/vs/editor/common/services/languageFeaturesService":3704,"monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js":3704,"monaco-editor/esm/vs/editor/common/services/languageService":5122,"monaco-editor/esm/vs/editor/common/services/languageService.js":5122,"monaco-editor/esm/vs/editor/common/services/languagesAssociations":5996,"monaco-editor/esm/vs/editor/common/services/languagesAssociations.js":5996,"monaco-editor/esm/vs/editor/common/services/languagesRegistry":6995,"monaco-editor/esm/vs/editor/common/services/languagesRegistry.js":6995,"monaco-editor/esm/vs/editor/common/services/markerDecorations":886,"monaco-editor/esm/vs/editor/common/services/markerDecorations.js":886,"monaco-editor/esm/vs/editor/common/services/markerDecorationsService":4109,"monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js":4109,"monaco-editor/esm/vs/editor/common/services/model":4830,"monaco-editor/esm/vs/editor/common/services/model.js":4830,"monaco-editor/esm/vs/editor/common/services/modelService":1327,"monaco-editor/esm/vs/editor/common/services/modelService.js":1327,"monaco-editor/esm/vs/editor/common/services/resolverService":7042,"monaco-editor/esm/vs/editor/common/services/resolverService.js":7042,"monaco-editor/esm/vs/editor/common/services/semanticTokensDto":9376,"monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js":9376,"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling":7642,"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js":7642,"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling":2891,"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js":2891,"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService":8148,"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js":8148,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl":1507,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl.js":1507,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol":5628,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol.js":5628,"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration":1504,"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js":1504,"monaco-editor/esm/vs/editor/common/services/treeSitterParserService":5320,"monaco-editor/esm/vs/editor/common/services/treeSitterParserService.js":5320,"monaco-editor/esm/vs/editor/common/services/treeViewsDnd":2603,"monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js":2603,"monaco-editor/esm/vs/editor/common/services/treeViewsDndService":6756,"monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js":6756,"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter":9887,"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js":9887};function i(e){var t=s(e);return n(t)}function s(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=s,e.exports=i,i.id=7614},7289:(e,t,n)=>{"use strict";function r(){return globalThis._VSCODE_NLS_LANGUAGE}n.d(t,{i8:()=>r,kg:()=>o});const i="pseudo"===r()||"undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function s(e,t){let n;return n=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,n)=>{const r=n[0],i=t[r];let s=e;return"string"==typeof i?s=i:"number"!=typeof i&&"boolean"!=typeof i&&null!=i||(s=String(i)),s})),i&&(n="\uff3b"+n.replace(/[aouei]/g,"$&$&")+"\uff3d"),n}function o(e,t,...n){return s("number"==typeof e?a(e,t):t,n)}function a(e,t){const n=globalThis._VSCODE_NLS_MESSAGES?.[e];if("string"!=typeof n){if("string"==typeof t)return t;throw new Error(`!!! NLS MISSING: ${e} !!!`)}return n}},5753:(e,t,n)=>{"use strict";n.d(t,{Mo:()=>i,pG:()=>r});const r=(0,n(2399).u1)("configurationService");function i(e){return e.replace(/[\[\]]/g,"")}},7142:(e,t,n)=>{"use strict";n.d(t,{Fd:()=>h});var r=n(3338),i=n(2106),s=n(9359),o=n(7289),a=n(5753),l=n(1460),c=n(7167);const h={Configuration:"base.contributions.configuration"},u={properties:{},patternProperties:{}},d={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},m={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},b="vscode://schemas/settings/resourceLanguage",_=c.O.as(l.F.JSONContribution);const k="\\[([^\\]]+)\\]",v=new RegExp(k,"g"),C=`^(${k})+$`,y=new RegExp(C);function L(e){const t=[];if(y.test(e)){let n=v.exec(e);for(;n?.length;){const r=n[1].trim();r&&t.push(r),n=v.exec(e)}}return(0,r.dM)(t)}const w=new class{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new i.vl,this._onDidUpdateConfiguration=new i.vl,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:o.kg("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},_.registerSchema(b,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const n=new Set;this.doRegisterConfigurations(e,t,n),_.registerSchema(b,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);const n=[];for(const{overrides:r,source:i}of e)for(const e in r){t.add(e);const s=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),o=r[e];if(s.configurationDefaultOverrides.push({value:o,source:i}),y.test(e)){const t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,o,i,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,i),n.push(...L(e))}else{const t=this.mergeDefaultConfigurationsForConfigurationProperty(e,o,i,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t;const n=this.configurationProperties[e];n&&(this.updatePropertyDefaultValue(e,n),this.updateSchema(e,n))}}this.doRegisterOverrideIdentifiers(n)}updateDefaultOverrideProperty(e,t,n){const r={type:"object",default:t.value,description:o.kg("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",(0,a.Mo)(e)),$ref:b,defaultDefaultValue:t.value,source:n,defaultValueSource:n};this.configurationProperties[e]=r,this.defaultLanguageConfigurationOverridesNode.properties[e]=r}mergeDefaultConfigurationsForOverrideIdentifier(e,t,n,r){const i=r?.value||{},o=r?.source??new Map;if(o instanceof Map){for(const e of Object.keys(t)){const r=t[e];if(s.Gv(r)&&(s.b0(i[e])||s.Gv(i[e]))){if(i[e]={...i[e]??{},...r},n)for(const t in r)o.set(`${e}.${t}`,n)}else i[e]=r,n?o.set(e,n):o.delete(e)}return{value:i,source:o}}console.error("objectConfigurationSources is not a Map")}mergeDefaultConfigurationsForConfigurationProperty(e,t,n,r){const i=this.configurationProperties[e],o=r?.value??i?.defaultDefaultValue;let a=n;if(s.Gv(t)&&(void 0!==i&&"object"===i.type||void 0===i&&(s.b0(o)||s.Gv(o)))){if(a=r?.source??new Map,!(a instanceof Map))return void console.error("defaultValueSource is not a Map");for(const r in t)n&&a.set(`${e}.${r}`,n);t={...s.Gv(o)?o:{},...t}}return{value:t,source:a}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach((e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,n),this.configurationContributors.push(e),this.registerJSONConfiguration(e)}))}validateAndRegisterProperties(e,t=!0,n,r,i=3,o){i=s.z(e.scope)?i:e.scope;const a=e.properties;if(a)for(const c in a){const e=a[c];t&&S(c,e)?delete a[c]:(e.source=n,e.defaultDefaultValue=a[c].default,this.updatePropertyDefaultValue(c,e),y.test(c)?e.scope=void 0:(e.scope=s.z(e.scope)?i:e.scope,e.restricted=s.z(e.restricted)?!!r?.includes(c):e.restricted),!a[c].hasOwnProperty("included")||a[c].included?(this.configurationProperties[c]=a[c],a[c].policy?.name&&this.policyConfigurations.set(a[c].policy.name,c),!a[c].deprecationMessage&&a[c].markdownDeprecationMessage&&(a[c].deprecationMessage=a[c].markdownDeprecationMessage),o.add(c)):(this.excludedConfigurationProperties[c]=a[c],delete a[c]))}const l=e.allOf;if(l)for(const s of l)this.validateAndRegisterProperties(s,t,n,r,i,o)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const n=e.properties;if(n)for(const t in n)this.updateSchema(t,n[t]);const r=e.allOf;r?.forEach(t)};t(e)}updateSchema(e,t){switch(u.properties[e]=t,t.scope){case 1:d.properties[e]=t;break;case 2:g.properties[e]=t;break;case 6:f.properties[e]=t;break;case 3:m.properties[e]=t;break;case 4:p.properties[e]=t;break;case 5:p.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,n={type:"object",description:o.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:b};this.updatePropertyDefaultValue(t,n),u.properties[t]=n,d.properties[t]=n,g.properties[t]=n,f.properties[t]=n,m.properties[t]=n,p.properties[t]=n}}registerOverridePropertyPatternKey(){const e={type:"object",description:o.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:b};u.patternProperties[C]=e,d.patternProperties[C]=e,g.patternProperties[C]=e,f.patternProperties[C]=e,m.patternProperties[C]=e,p.patternProperties[C]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const n=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue;let r,i;!n||t.disallowConfigurationDefault&&n.source||(r=n.value,i=n.source),s.b0(r)&&(r=t.defaultDefaultValue,i=void 0),s.b0(r)&&(r=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=r,t.defaultValueSource=i}};function S(e,t){return e.trim()?y.test(e)?o.kg("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==w.getConfigurationProperties()[e]?o.kg("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):t.policy?.name&&void 0!==w.getPolicyConfigurations().get(t.policy?.name)?o.kg("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,t.policy?.name,w.getPolicyConfigurations().get(t.policy?.name)):null:o.kg("config.property.empty","Cannot register an empty property")}c.O.add(h.Configuration,w)},4412:(e,t,n)=>{"use strict";n.d(t,{v:()=>s});class r{constructor(e,t=[],n=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=n}}const i=[];function s(e,t,n){t instanceof r||(t=new r(t,[],Boolean(n))),i.push([e,t])}},2399:(e,t,n)=>{"use strict";var r;n.d(t,{_Y:()=>i,u1:()=>s}),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(r||(r={}));const i=s("instantiationService");function s(e){if(r.serviceIds.has(e))return r.serviceIds.get(e);const t=function(e,n,i){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,n){t[r.DI_TARGET]===t?t[r.DI_DEPENDENCIES].push({id:e,index:n}):(t[r.DI_DEPENDENCIES]=[{id:e,index:n}],t[r.DI_TARGET]=t)}(t,e,i)};return t.toString=()=>e,r.serviceIds.set(e,t),t}},1460:(e,t,n)=>{"use strict";n.d(t,{F:()=>s});var r=n(2106),i=n(7167);const s={JSONContribution:"base.contributions.json"};const o=new class{constructor(){this._onDidChangeSchema=new r.vl,this.schemasById={}}registerSchema(e,t){var n;this.schemasById[(n=e,n.length>0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};i.O.add(s.JSONContribution,o)},2321:(e,t,n)=>{"use strict";n.d(t,{rr:()=>Q,$b:()=>J});n(2106);var r=n(2446),i=n(3339),s=n(6844),o=n(4327),a=n(7289);function l(...e){switch(e.length){case 1:return(0,a.kg)("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",e[0]);case 2:return(0,a.kg)("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",e[0],e[1]);case 3:return(0,a.kg)("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}const c=(0,a.kg)("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),h=(0,a.kg)("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class u{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw(0,o.iH)(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map((e=>e.charCodeAt(0))))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();){this._start=this._current;switch(this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(l("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(l("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(l("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return!this._isAtEnd()&&(this._input.charCodeAt(this._current)===e&&(this._current++,!0))}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,n=this._input.substring(this._start,this._current),r={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(r)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),n=u._keywords.get(t);n?this._addToken(n):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(c):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let e=this._current,t=!1,n=!1;for(;;){if(e>=this._input.length)return this._current=e,void this._error(h);const r=this._input.charCodeAt(e);if(t)t=!1;else{if(47===r&&!n){e++;break}91===r?n=!0:92===r?t=!0:93===r&&(n=!1)}e++}for(;e<this._input.length&&u._regexFlags.has(this._input.charCodeAt(e));)e++;this._current=e;const r=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:r,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}var d=n(2399);const g=new Map;g.set("false",!1),g.set("true",!0),g.set("isMac",i.zx),g.set("isLinux",i.j9),g.set("isWindows",i.uF),g.set("isWeb",i.HZ),g.set("isMacNative",i.zx&&!i.HZ),g.set("isEdge",i.UP),g.set("isFirefox",i.gm),g.set("isChrome",i.H8),g.set("isSafari",i.nr);const f=Object.prototype.hasOwnProperty,m={regexParsingWithErrorRecovery:!0},p=(0,a.kg)("contextkey.parser.error.emptyString","Empty context key expression"),b=(0,a.kg)("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),_=(0,a.kg)("contextkey.parser.error.noInAfterNot","'in' after 'not'."),k=(0,a.kg)("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),v=(0,a.kg)("contextkey.parser.error.unexpectedToken","Unexpected token"),C=(0,a.kg)("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),y=(0,a.kg)("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),L=(0,a.kg)("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");class w{static{this._parseError=new Error}constructor(e=m){this._config=e,this._scanner=new u,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(""!==e){this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),t=17===e.type?C:void 0;throw this._parsingErrors.push({message:v,offset:e.offset,lexeme:u.getLexeme(e),additionalInfo:t}),w._parseError}return e}catch(t){if(t!==w._parseError)throw t;return}}else this._parsingErrors.push({message:p,offset:0,lexeme:"",additionalInfo:b})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:S.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:S.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),E.INSTANCE;case 12:return this._advance(),N.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,k),e?.negate()}case 17:return this._advance(),R.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),S.true();case 12:return this._advance(),S.false();case 0:{this._advance();const e=this._expr();return this._consume(1,k),e}case 17:{const r=e.lexeme;if(this._advance(),this._matchOne(9)){const e=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==e.type)throw this._errExpectedButGot("REGEX",e);const n=e.lexeme,i=n.lastIndexOf("/"),s=i===n.length-1?void 0:this._removeFlagsGY(n.substring(i+1));let o;try{o=new RegExp(n.substring(1,i),s)}catch(t){throw this._errExpectedButGot("REGEX",e)}return z.create(r,o)}switch(e.type){case 10:case 19:{const n=[e.lexeme];this._advance();let i=this._peek(),s=0;for(let t=0;t<e.lexeme.length;t++)40===e.lexeme.charCodeAt(t)?s++:41===e.lexeme.charCodeAt(t)&&s--;for(;!this._isAtEnd()&&15!==i.type&&16!==i.type;){switch(i.type){case 0:s++;break;case 1:s--;break;case 10:case 18:for(let t=0;t<i.lexeme.length;t++)40===i.lexeme.charCodeAt(t)?s++:41===e.lexeme.charCodeAt(t)&&s--}if(s<0)break;n.push(u.getLexeme(i)),this._advance(),i=this._peek()}const o=n.join(""),a=o.lastIndexOf("/"),l=a===o.length-1?void 0:this._removeFlagsGY(o.substring(a+1));let c;try{c=new RegExp(o.substring(1,a),l)}catch(t){throw this._errExpectedButGot("REGEX",e)}return S.regex(r,c)}case 18:{const t=e.lexeme;this._advance();let i=null;if(!(0,s.AV)(t)){const r=t.indexOf("/"),s=t.lastIndexOf("/");if(r!==s&&r>=0){const o=t.slice(r+1,s),a="i"===t[s+1]?"i":"";try{i=new RegExp(o,a)}catch(n){throw this._errExpectedButGot("REGEX",e)}}}if(null===i)throw this._errExpectedButGot("REGEX",e);return z.create(r,i)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,_);const e=this._value();return S.notIn(r,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return S.equals(r,e);switch(e){case"true":return S.has(r);case"false":return S.not(r);default:return S.equals(r,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return S.notEquals(r,e);switch(e){case"true":return S.not(r);case"false":return S.has(r);default:return S.notEquals(r,e)}}case 5:return this._advance(),P.create(r,this._value());case 6:return this._advance(),V.create(r,this._value());case 7:return this._advance(),B.create(r,this._value());case 8:return this._advance(),F.create(r,this._value());case 13:return this._advance(),S.in(r,this._value());default:return S.has(r)}}case 20:throw this._parsingErrors.push({message:y,offset:e.offset,lexeme:"",additionalInfo:L}),w._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,n){const r=(0,a.kg)("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,u.getLexeme(t)),i=t.offset,s=u.getLexeme(t);return this._parsingErrors.push({message:r,offset:i,lexeme:s,additionalInfo:n}),w._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}class S{static false(){return E.INSTANCE}static true(){return N.INSTANCE}static has(e){return T.create(e)}static equals(e,t){return A.create(e,t)}static notEquals(e,t){return M.create(e,t)}static regex(e,t){return z.create(e,t)}static in(e,t){return I.create(e,t)}static notIn(e,t){return O.create(e,t)}static not(e){return R.create(e)}static and(...e){return W.create(e,null,!0)}static or(...e){return U.create(e,null,!0)}static{this._parser=new w({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(null==e)return;return this._parser.parse(e)}}function x(e,t){return e.cmp(t)}class E{static{this.INSTANCE=new E}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return N.INSTANCE}}class N{static{this.INSTANCE=new N}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return E.INSTANCE}}class T{static create(e,t=null){const n=g.get(e);return"boolean"==typeof n?n?N.INSTANCE:E.INSTANCE:new T(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:H(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=g.get(this.key);return"boolean"==typeof e?e?N.INSTANCE:E.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=R.create(this.key,this)),this.negated}}class A{static create(e,t,n=null){if("boolean"==typeof t)return t?T.create(e,n):R.create(e,n);const r=g.get(e);if("boolean"==typeof r){return t===(r?"true":"false")?N.INSTANCE:E.INSTANCE}return new A(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=g.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?N.INSTANCE:E.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=M.create(this.key,this.value,this)),this.negated}}class I{static create(e,t){return new I(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&(this.key===e.key&&this.valueKey===e.valueKey)}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),n=e.getValue(this.key);return Array.isArray(t)?t.includes(n):"string"==typeof n&&"object"==typeof t&&null!==t&&f.call(t,n)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=O.create(this.key,this.valueKey)),this.negated}}class O{static create(e,t){return new O(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=I.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class M{static create(e,t,n=null){if("boolean"==typeof t)return t?R.create(e,n):T.create(e,n);const r=g.get(e);if("boolean"==typeof r){return t===(r?"true":"false")?E.INSTANCE:N.INSTANCE}return new M(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=g.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?E.INSTANCE:N.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=A.create(this.key,this.value,this)),this.negated}}class R{static create(e,t=null){const n=g.get(e);return"boolean"==typeof n?n?E.INSTANCE:N.INSTANCE:new R(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:H(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=g.get(this.key);return"boolean"==typeof e?e?E.INSTANCE:N.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=T.create(this.key,this)),this.negated}}function D(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):E.INSTANCE}class B{static create(e,t,n=null){return D(t,(t=>new B(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=V.create(this.key,this.value,this)),this.negated}}class F{static create(e,t,n=null){return D(t,(t=>new F(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=P.create(this.key,this.value,this)),this.negated}}class P{static create(e,t,n=null){return D(t,(t=>new P(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=F.create(this.key,this.value,this)),this.negated}}class V{static create(e,t,n=null){return D(t,(t=>new V(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=B.create(this.key,this.value,this)),this.negated}}class z{static create(e,t){return new z(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.key<e.key)return-1;if(this.key>e.key)return 1;const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return t<n?-1:t>n?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=j.create(this)),this.negated}}class j{static create(e){return new j(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function q(e){let t=null;for(let n=0,r=e.length;n<r;n++){const r=e[n].substituteConstants();if(e[n]!==r&&null===t){t=[];for(let r=0;r<n;r++)t[r]=e[r]}null!==t&&(t[n]=r)}return null===t?e:t}class W{static create(e,t,n){return W._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=6}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){const n=x(this.expr[t],e.expr[t]);if(0!==n)return n}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){const e=q(this.expr);return e===this.expr?this:W.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].evaluate(e))return!1;return!0}static _normalizeArr(e,t,n){const r=[];let i=!1;for(const s of e)if(s)if(1!==s.type){if(0===s.type)return E.INSTANCE;6!==s.type?r.push(s):r.push(...s.expr)}else i=!0;if(0===r.length&&i)return N.INSTANCE;if(0!==r.length){if(1===r.length)return r[0];r.sort(x);for(let e=1;e<r.length;e++)r[e-1].equals(r[e])&&(r.splice(e,1),e--);if(1===r.length)return r[0];for(;r.length>1;){const e=r[r.length-1];if(9!==e.type)break;r.pop();const t=r.pop(),i=0===r.length,s=U.create(e.expr.map((e=>W.create([e,t],null,n))),null,i);s&&(r.push(s),r.sort(x))}if(1===r.length)return r[0];if(n){for(let e=0;e<r.length;e++)for(let t=e+1;t<r.length;t++)if(r[e].negate().equals(r[t]))return E.INSTANCE;if(1===r.length)return r[0]}return new W(r,t)}}serialize(){return this.expr.map((e=>e.serialize())).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=U.create(e,this,!0)}return this.negated}}class U{static create(e,t,n){return U._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){const n=x(this.expr[t],e.expr[t]);if(0!==n)return n}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){const e=q(this.expr);return e===this.expr?this:U.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(this.expr[t].evaluate(e))return!0;return!1}static _normalizeArr(e,t,n){let r=[],i=!1;if(e){for(let t=0,n=e.length;t<n;t++){const n=e[t];if(n)if(0!==n.type){if(1===n.type)return N.INSTANCE;9!==n.type?r.push(n):r=r.concat(n.expr)}else i=!0}if(0===r.length&&i)return E.INSTANCE;r.sort(x)}if(0!==r.length){if(1===r.length)return r[0];for(let e=1;e<r.length;e++)r[e-1].equals(r[e])&&(r.splice(e,1),e--);if(1===r.length)return r[0];if(n){for(let e=0;e<r.length;e++)for(let t=e+1;t<r.length;t++)if(r[e].negate().equals(r[t]))return N.INSTANCE;if(1===r.length)return r[0]}return new U(r,t)}}serialize(){return this.expr.map((e=>e.serialize())).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),n=e.shift(),r=[];for(const e of G(t))for(const t of G(n))r.push(W.create([e,t],null,!1));e.unshift(U.create(r,null,!1))}this.negated=U.create(e,this,!0)}return this.negated}}class $ extends T{static{this._info=[]}static all(){return $._info.values()}constructor(e,t,n){super(e,null),this._defaultValue=t,"object"==typeof n?$._info.push({...n,key:e}):!0!==n&&$._info.push({key:e,description:n,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return A.create(this.key,e)}}(0,d.u1)("contextKeyService");function H(e,t){return e<t?-1:e>t?1:0}function K(e,t,n,r){return e<n?-1:e>n?1:t<r?-1:t>r?1:0}function G(e){return 9===e.type?e.expr:[e]}const Q=(0,d.u1)("logService");var J;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(J||(J={}));J.Info;r.jG;new $("logLevel",function(e){switch(e){case J.Trace:return"trace";case J.Debug:return"debug";case J.Info:return"info";case J.Warning:return"warn";case J.Error:return"error";case J.Off:return"off"}}(J.Info))},7167:(e,t,n)=>{"use strict";n.d(t,{O:()=>s});var r=n(7110),i=n(9359);const s=new class{constructor(){this.data=new Map}add(e,t){r.ok(i.Kg(e)),r.ok(i.Gv(t)),r.ok(!this.data.has(e),"There is already an extension with this id"),this.data.set(e,t)}as(e){return this.data.get(e)||null}}},9119:(e,t,n)=>{"use strict";n.d(t,{buw:()=>S,b1q:()=>w,YtV:()=>I,Ubg:()=>q,IIb:()=>z,pOz:()=>V,whs:()=>B,Stt:()=>P,Hng:()=>F,yLC:()=>le,KoI:()=>oe,uMG:()=>ae,x1A:()=>u});var r=n(7110),i=n(2866),s=n(4901),o=n(2106),a=n(1460),l=n(7167),c=n(7289);const h=new class{constructor(){this._onDidChangeSchema=new o.vl,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){const s={id:e,description:n,defaults:t,needsTransparency:r,deprecationMessage:i};this.colorsById[e]=s;const 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=c.kg("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:n,oneOf:[o,{type:"string",const:"default",description:c.kg("useDefault","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){const n=this.colorsById[e];if(n?.defaults){return b(null!==(r=n.defaults)&&"object"==typeof r&&"light"in r&&"dark"in r?n.defaults[t.type]:n.defaults,t)}var r}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{const n=-1===e.indexOf(".")?0:1,r=-1===t.indexOf(".")?0:1;return n!==r?n-r:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function u(e,t,n,r,i){return h.registerColor(e,t,n,r,i)}function d(e,t){return{op:0,value:e,factor:t}}function g(e,t){return{op:1,value:e,factor:t}}function f(e,t){return{op:2,value:e,factor:t}}function m(...e){return{op:4,values:e}}function p(e,t,n,r){return{op:5,value:e,background:t,factor:n,transparency:r}}function b(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?s.Q1.fromHex(e):t.getColor(e):e instanceof s.Q1?e:"object"==typeof e?function(e,t){switch(e.op){case 0:return b(e.value,t)?.darken(e.factor);case 1:return b(e.value,t)?.lighten(e.factor);case 2:return b(e.value,t)?.transparent(e.factor);case 3:{const n=b(e.background,t);return n?b(e.value,t)?.makeOpaque(n):b(e.value,t)}case 4:for(const n of e.values){const e=b(n,t);if(e)return e}return;case 6:return b(t.defines(e.if)?e.then:e.else,t);case 5:{const n=b(e.value,t);if(!n)return;const r=b(e.background,t);return r?n.isDarkerThan(r)?s.Q1.getLighterColor(n,r,e.factor).transparent(e.transparency):s.Q1.getDarkerColor(n,r,e.factor).transparent(e.transparency):n.transparent(e.factor*e.transparency)}default:throw(0,r.xb)(e)}}(e,t):void 0}l.O.add("base.contributions.colors",h);const _="vscode://schemas/workbench-colors",k=l.O.as(a.F.JSONContribution);k.registerSchema(_,h.getColorSchema());const v=new i.uC((()=>k.notifySchemaChanged(_)),200);h.onDidChangeSchema((()=>{v.isScheduled()||v.schedule()}));const C=u("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},c.kg("foreground","Overall foreground color. This color is only used if not overridden by a component.")),y=(u("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},c.kg("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),u("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},c.kg("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),u("descriptionForeground",{light:"#717171",dark:f(C,.7),hcDark:f(C,.7),hcLight:f(C,.7)},c.kg("descriptionForeground","Foreground color for description text providing additional information, for example for a label.")),u("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},c.kg("iconForeground","The default color for icons in the workbench."))),L=u("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},c.kg("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),w=u("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},c.kg("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),S=u("contrastActiveBorder",{light:null,dark:null,hcDark:L,hcLight:L},c.kg("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),x=(u("selection.background",null,c.kg("selectionBackground","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.")),u("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},c.kg("textLinkForeground","Foreground color for links in text.")),u("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},c.kg("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),u("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:s.Q1.black,hcLight:"#292929"},c.kg("textSeparatorForeground","Color for text separators.")),u("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},c.kg("textPreformatForeground","Foreground color for preformatted text segments.")),u("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},c.kg("textPreformatBackground","Background color for preformatted text segments.")),u("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},c.kg("textBlockQuoteBackground","Background color for block quotes in text.")),u("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:s.Q1.white,hcLight:"#292929"},c.kg("textBlockQuoteBorder","Border color for block quotes in text.")),u("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:s.Q1.black,hcLight:"#F2F2F2"},c.kg("textCodeBlockBackground","Background color for code blocks in text.")),u("sash.hoverBorder",L,c.kg("sashActiveBorder","Border color of active sashes.")),u("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:s.Q1.black,hcLight:"#0F4A85"},c.kg("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count."))),E=(u("badge.foreground",{dark:s.Q1.white,light:"#333",hcDark:s.Q1.white,hcLight:s.Q1.white},c.kg("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),u("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},c.kg("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled."))),N=u("scrollbarSlider.background",{dark:s.Q1.fromHex("#797979").transparent(.4),light:s.Q1.fromHex("#646464").transparent(.4),hcDark:f(w,.6),hcLight:f(w,.4)},c.kg("scrollbarSliderBackground","Scrollbar slider background color.")),T=u("scrollbarSlider.hoverBackground",{dark:s.Q1.fromHex("#646464").transparent(.7),light:s.Q1.fromHex("#646464").transparent(.7),hcDark:f(w,.8),hcLight:f(w,.8)},c.kg("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),A=u("scrollbarSlider.activeBackground",{dark:s.Q1.fromHex("#BFBFBF").transparent(.4),light:s.Q1.fromHex("#000000").transparent(.6),hcDark:w,hcLight:w},c.kg("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),I=(u("progressBar.background",{dark:s.Q1.fromHex("#0E70C0"),light:s.Q1.fromHex("#0E70C0"),hcDark:w,hcLight:w},c.kg("progressBarBackground","Background color of the progress bar that can show for long running operations.")),u("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("editorBackground","Editor background color."))),O=(u("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:s.Q1.white,hcLight:C},c.kg("editorForeground","Editor default foreground color.")),u("editorStickyScroll.background",I,c.kg("editorStickyScrollBackground","Background color of sticky scroll in the editor")),u("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},c.kg("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),u("editorStickyScroll.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("editorStickyScrollBorder","Border color of sticky scroll in the editor")),u("editorStickyScroll.shadow",E,c.kg("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor")),u("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:s.Q1.white},c.kg("editorWidgetBackground","Background color of editor widgets, such as find/replace."))),M=u("editorWidget.foreground",C,c.kg("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),R=u("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:w,hcLight:w},c.kg("editorWidgetBorder","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.")),D=(u("editorWidget.resizeBorder",null,c.kg("editorWidgetResizeBorder","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.")),u("editorError.background",null,c.kg("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},c.kg("editorError.foreground","Foreground color of error squigglies in the editor."))),B=(u("editorError.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},c.kg("errorBorder","If set, color of double underlines for errors in the editor.")),u("editorWarning.background",null,c.kg("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0)),F=u("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},c.kg("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),P=u("editorWarning.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#FFCC00").transparent(.8),hcLight:s.Q1.fromHex("#FFCC00").transparent(.8)},c.kg("warningBorder","If set, color of double underlines for warnings in the editor.")),V=(u("editorInfo.background",null,c.kg("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},c.kg("editorInfo.foreground","Foreground color of info squigglies in the editor."))),z=u("editorInfo.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},c.kg("infoBorder","If set, color of double underlines for infos in the editor.")),j=(u("editorHint.foreground",{dark:s.Q1.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},c.kg("editorHint.foreground","Foreground color of hint squigglies in the editor.")),u("editorHint.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},c.kg("hintBorder","If set, color of double underlines for hints in the editor.")),u("editorLink.activeForeground",{dark:"#4E94CE",light:s.Q1.blue,hcDark:s.Q1.cyan,hcLight:"#292929"},c.kg("activeLinkForeground","Color of active links.")),u("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},c.kg("editorSelectionBackground","Color of the editor selection."))),q=(u("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:s.Q1.white},c.kg("editorSelectionForeground","Color of the selected text for high contrast.")),u("editor.inactiveSelectionBackground",{light:f(j,.5),dark:f(j,.5),hcDark:f(j,.7),hcLight:f(j,.5)},c.kg("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.selectionHighlightBackground",{light:p(j,I,.3,.6),dark:p(j,I,.3,.6),hcDark:null,hcLight:null},c.kg("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:S,hcLight:S},c.kg("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),u("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},c.kg("editorFindMatch","Color of the current search match.")),u("editor.findMatchForeground",null,c.kg("editorFindMatchForeground","Text color of the current search match.")),u("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},c.kg("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0)),W=(u("editor.findMatchHighlightForeground",null,c.kg("findMatchHighlightForeground","Foreground color of the other search matches."),!0),u("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},c.kg("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.findMatchBorder",{light:null,dark:null,hcDark:S,hcLight:S},c.kg("editorFindMatchBorder","Border color of the current search match.")),u("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:S,hcLight:S},c.kg("findMatchHighlightBorder","Border color of the other search matches."))),U=(u("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:f(S,.4),hcLight:f(S,.4)},c.kg("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},c.kg("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorHoverWidget.background",O,c.kg("hoverBackground","Background color of the editor hover."))),$=(u("editorHoverWidget.foreground",M,c.kg("hoverForeground","Foreground color of the editor hover.")),u("editorHoverWidget.border",R,c.kg("hoverBorder","Border color of the editor hover.")),u("editorHoverWidget.statusBarBackground",{dark:g(U,.2),light:d(U,.05),hcDark:O,hcLight:O},c.kg("statusBarBackground","Background color of the editor hover status bar.")),u("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:s.Q1.white,hcLight:s.Q1.black},c.kg("editorInlayHintForeground","Foreground color of inline hints"))),H=u("editorInlayHint.background",{dark:f(x,.1),light:f(x,.1),hcDark:f(s.Q1.white,.1),hcLight:f(x,.1)},c.kg("editorInlayHintBackground","Background color of inline hints")),K=(u("editorInlayHint.typeForeground",$,c.kg("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),u("editorInlayHint.typeBackground",H,c.kg("editorInlayHintBackgroundTypes","Background color of inline hints for types")),u("editorInlayHint.parameterForeground",$,c.kg("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),u("editorInlayHint.parameterBackground",H,c.kg("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),u("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},c.kg("editorLightBulbForeground","The color used for the lightbulb actions icon."))),G=(u("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},c.kg("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),u("editorLightBulbAi.foreground",K,c.kg("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),u("editor.snippetTabstopHighlightBackground",{dark:new s.Q1(new s.bU(124,124,124,.3)),light:new s.Q1(new s.bU(10,50,100,.2)),hcDark:new s.Q1(new s.bU(124,124,124,.3)),hcLight:new s.Q1(new s.bU(10,50,100,.2))},c.kg("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),u("editor.snippetTabstopHighlightBorder",null,c.kg("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),u("editor.snippetFinalTabstopHighlightBackground",null,c.kg("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),u("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new s.Q1(new s.bU(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},c.kg("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet.")),new s.Q1(new s.bU(155,185,85,.2))),Q=new s.Q1(new s.bU(255,0,0,.2)),J=(u("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},c.kg("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},c.kg("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.insertedLineBackground",{dark:G,light:G,hcDark:null,hcLight:null},c.kg("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.removedLineBackground",{dark:Q,light:Q,hcDark:null,hcLight:null},c.kg("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditorGutter.insertedLineBackground",null,c.kg("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),u("diffEditorGutter.removedLineBackground",null,c.kg("diffEditorRemovedLineGutter","Background color for the margin where lines got removed.")),u("diffEditorOverview.insertedForeground",null,c.kg("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),u("diffEditorOverview.removedForeground",null,c.kg("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content.")),u("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},c.kg("diffEditorInsertedOutline","Outline color for the text that got inserted.")),u("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},c.kg("diffEditorRemovedOutline","Outline color for text that got removed.")),u("diffEditor.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("diffEditorBorder","Border color between the two text editors.")),u("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},c.kg("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),u("diffEditor.unchangedRegionBackground","sideBar.background",c.kg("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),u("diffEditor.unchangedRegionForeground","foreground",c.kg("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),u("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},c.kg("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor.")),u("widget.shadow",{dark:f(s.Q1.black,.36),light:f(s.Q1.black,.16),hcDark:null,hcLight:null},c.kg("widgetShadow","Shadow color of widgets such as find/replace inside the editor."))),X=(u("widget.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("widgetBorder","Border color of widgets such as find/replace inside the editor.")),u("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},c.kg("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"))),Y=(u("toolbar.hoverOutline",{dark:null,light:null,hcDark:S,hcLight:S},c.kg("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),u("toolbar.activeBackground",{dark:g(X,.1),light:d(X,.1),hcDark:null,hcLight:null},c.kg("toolbarActiveBackground","Toolbar background when holding the mouse over actions")),u("breadcrumb.foreground",f(C,.8),c.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),u("breadcrumb.background",I,c.kg("breadcrumbsBackground","Background color of breadcrumb items.")),u("breadcrumb.focusForeground",{light:d(C,.2),dark:g(C,.1),hcDark:g(C,.1),hcLight:g(C,.1)},c.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),u("breadcrumb.activeSelectionForeground",{light:d(C,.2),dark:g(C,.1),hcDark:g(C,.1),hcLight:g(C,.1)},c.kg("breadcrumbsSelectedForeground","Color of selected breadcrumb items.")),u("breadcrumbPicker.background",O,c.kg("breadcrumbsSelectedBackground","Background color of breadcrumb item picker.")),s.Q1.fromHex("#40C8AE").transparent(.5)),Z=s.Q1.fromHex("#40A6FF").transparent(.5),ee=s.Q1.fromHex("#606060").transparent(.4),te=u("merge.currentHeaderBackground",{dark:Y,light:Y,hcDark:null,hcLight:null},c.kg("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),ne=(u("merge.currentContentBackground",f(te,.4),c.kg("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.incomingHeaderBackground",{dark:Z,light:Z,hcDark:null,hcLight:null},c.kg("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),re=(u("merge.incomingContentBackground",f(ne,.4),c.kg("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.commonHeaderBackground",{dark:ee,light:ee,hcDark:null,hcLight:null},c.kg("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),ie=(u("merge.commonContentBackground",f(re,.4),c.kg("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},c.kg("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."))),se=(u("editorOverviewRuler.currentContentForeground",{dark:f(te,1),light:f(te,1),hcDark:ie,hcLight:ie},c.kg("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.incomingContentForeground",{dark:f(ne,1),light:f(ne,1),hcDark:ie,hcLight:ie},c.kg("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.commonContentForeground",{dark:f(re,1),light:f(re,1),hcDark:ie,hcLight:ie},c.kg("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},c.kg("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",c.kg("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),u("problemsErrorIcon.foreground",D,c.kg("problemsErrorIconForeground","The color used for the problems error icon.")),u("problemsWarningIcon.foreground",F,c.kg("problemsWarningIconForeground","The color used for the problems warning icon.")),u("problemsInfoIcon.foreground",V,c.kg("problemsInfoIconForeground","The color used for the problems info icon.")),u("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},c.kg("minimapFindMatchHighlight","Minimap marker color for find matches."),!0)),oe=(u("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},c.kg("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),u("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},c.kg("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),u("minimap.infoHighlight",{dark:V,light:V,hcDark:z,hcLight:z},c.kg("minimapInfo","Minimap marker color for infos."))),ae=u("minimap.warningHighlight",{dark:F,light:F,hcDark:P,hcLight:P},c.kg("overviewRuleWarning","Minimap marker color for warnings.")),le=u("minimap.errorHighlight",{dark:new s.Q1(new s.bU(255,18,18,.7)),light:new s.Q1(new s.bU(255,18,18,.7)),hcDark:new s.Q1(new s.bU(255,50,50,1)),hcLight:"#B5200D"},c.kg("minimapError","Minimap marker color for errors.")),ce=(u("minimap.background",null,c.kg("minimapBackground","Minimap background color.")),u("minimap.foregroundOpacity",s.Q1.fromHex("#000f"),c.kg("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),u("minimapSlider.background",f(N,.5),c.kg("minimapSliderBackground","Minimap slider background color.")),u("minimapSlider.hoverBackground",f(T,.5),c.kg("minimapSliderHoverBackground","Minimap slider background color when hovering.")),u("minimapSlider.activeBackground",f(A,.5),c.kg("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),u("charts.foreground",C,c.kg("chartsForeground","The foreground color used in charts.")),u("charts.lines",f(C,.5),c.kg("chartsLines","The color used for horizontal lines in charts.")),u("charts.red",D,c.kg("chartsRed","The red color used in chart visualizations.")),u("charts.blue",V,c.kg("chartsBlue","The blue color used in chart visualizations.")),u("charts.yellow",F,c.kg("chartsYellow","The yellow color used in chart visualizations.")),u("charts.orange",se,c.kg("chartsOrange","The orange color used in chart visualizations.")),u("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},c.kg("chartsGreen","The green color used in chart visualizations.")),u("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},c.kg("chartsPurple","The purple color used in chart visualizations.")),u("input.background",{dark:"#3C3C3C",light:s.Q1.white,hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("inputBoxBackground","Input box background.")),u("input.foreground",C,c.kg("inputBoxForeground","Input box foreground.")),u("input.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("inputBoxBorder","Input box border.")),u("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:w,hcLight:w},c.kg("inputBoxActiveOptionBorder","Border color of activated options in input fields."))),he=u("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},c.kg("inputOption.hoverBackground","Background color of activated options in input fields.")),ue=u("inputOption.activeBackground",{dark:f(L,.4),light:f(L,.2),hcDark:s.Q1.transparent,hcLight:s.Q1.transparent},c.kg("inputOption.activeBackground","Background hover color of options in input fields.")),de=u("inputOption.activeForeground",{dark:s.Q1.white,light:s.Q1.black,hcDark:C,hcLight:C},c.kg("inputOption.activeForeground","Foreground color of activated options in input fields.")),ge=(u("input.placeholderForeground",{light:f(C,.5),dark:f(C,.5),hcDark:f(C,.7),hcLight:f(C,.7)},c.kg("inputPlaceholderForeground","Input box foreground color for placeholder text.")),u("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("inputValidationInfoBackground","Input validation background color for information severity.")),u("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:C},c.kg("inputValidationInfoForeground","Input validation foreground color for information severity.")),u("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:w,hcLight:w},c.kg("inputValidationInfoBorder","Input validation border color for information severity.")),u("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("inputValidationWarningBackground","Input validation background color for warning severity.")),u("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:C},c.kg("inputValidationWarningForeground","Input validation foreground color for warning severity.")),u("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:w,hcLight:w},c.kg("inputValidationWarningBorder","Input validation border color for warning severity.")),u("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("inputValidationErrorBackground","Input validation background color for error severity.")),u("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:C},c.kg("inputValidationErrorForeground","Input validation foreground color for error severity.")),u("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:w,hcLight:w},c.kg("inputValidationErrorBorder","Input validation border color for error severity.")),u("dropdown.background",{dark:"#3C3C3C",light:s.Q1.white,hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("dropdownBackground","Dropdown background."))),fe=(u("dropdown.listBackground",{dark:null,light:null,hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("dropdownListBackground","Dropdown list background.")),u("dropdown.foreground",{dark:"#F0F0F0",light:C,hcDark:s.Q1.white,hcLight:C},c.kg("dropdownForeground","Dropdown foreground."))),me=u("dropdown.border",{dark:ge,light:"#CECECE",hcDark:w,hcLight:w},c.kg("dropdownBorder","Dropdown border.")),pe=u("button.foreground",s.Q1.white,c.kg("buttonForeground","Button foreground color.")),be=(u("button.separator",f(pe,.4),c.kg("buttonSeparator","Button separator color.")),u("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},c.kg("buttonBackground","Button background color."))),_e=(u("button.hoverBackground",{dark:g(be,.2),light:d(be,.2),hcDark:be,hcLight:be},c.kg("buttonHoverBackground","Button background color when hovering.")),u("button.border",w,c.kg("buttonBorder","Button border color.")),u("button.secondaryForeground",{dark:s.Q1.white,light:s.Q1.white,hcDark:s.Q1.white,hcLight:C},c.kg("buttonSecondaryForeground","Secondary button foreground color.")),u("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:s.Q1.white},c.kg("buttonSecondaryBackground","Secondary button background color."))),ke=(u("button.secondaryHoverBackground",{dark:g(_e,.2),light:d(_e,.2),hcDark:null,hcLight:null},c.kg("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),u("radio.activeForeground",de,c.kg("radioActiveForeground","Foreground color of active radio option."))),ve=(u("radio.activeBackground",ue,c.kg("radioBackground","Background color of active radio option.")),u("radio.activeBorder",ce,c.kg("radioActiveBorder","Border color of the active radio option.")),u("radio.inactiveForeground",null,c.kg("radioInactiveForeground","Foreground color of inactive radio option.")),u("radio.inactiveBackground",null,c.kg("radioInactiveBackground","Background color of inactive radio option.")),u("radio.inactiveBorder",{light:f(ke,.2),dark:f(ke,.2),hcDark:f(ke,.4),hcLight:f(ke,.2)},c.kg("radioInactiveBorder","Border color of the inactive radio option.")),u("radio.inactiveHoverBackground",he,c.kg("radioHoverBackground","Background color of inactive active radio option when hovering.")),u("checkbox.background",ge,c.kg("checkbox.background","Background color of checkbox widget.")),u("checkbox.selectBackground",O,c.kg("checkbox.select.background","Background color of checkbox widget when the element it's in is selected.")),u("checkbox.foreground",fe,c.kg("checkbox.foreground","Foreground color of checkbox widget.")),u("checkbox.border",me,c.kg("checkbox.border","Border color of checkbox widget.")),u("checkbox.selectBorder",y,c.kg("checkbox.select.border","Border color of checkbox widget when the element it's in is selected.")),u("keybindingLabel.background",{dark:new s.Q1(new s.bU(128,128,128,.17)),light:new s.Q1(new s.bU(221,221,221,.4)),hcDark:s.Q1.transparent,hcLight:s.Q1.transparent},c.kg("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.foreground",{dark:s.Q1.fromHex("#CCCCCC"),light:s.Q1.fromHex("#555555"),hcDark:s.Q1.white,hcLight:C},c.kg("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.border",{dark:new s.Q1(new s.bU(51,51,51,.6)),light:new s.Q1(new s.bU(204,204,204,.4)),hcDark:new s.Q1(new s.bU(111,195,223)),hcLight:w},c.kg("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.bottomBorder",{dark:new s.Q1(new s.bU(68,68,68,.6)),light:new s.Q1(new s.bU(187,187,187,.4)),hcDark:new s.Q1(new s.bU(111,195,223)),hcLight:C},c.kg("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),u("list.focusBackground",null,c.kg("listFocusBackground","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.")),u("list.focusForeground",null,c.kg("listFocusForeground","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.")),u("list.focusOutline",{dark:L,light:L,hcDark:S,hcLight:S},c.kg("listFocusOutline","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.")),u("list.focusAndSelectionOutline",null,c.kg("listFocusAndSelectionOutline","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.")),u("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},c.kg("listActiveSelectionBackground","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."))),Ce=u("list.activeSelectionForeground",{dark:s.Q1.white,light:s.Q1.white,hcDark:null,hcLight:null},c.kg("listActiveSelectionForeground","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.")),ye=u("list.activeSelectionIconForeground",null,c.kg("listActiveSelectionIconForeground","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.")),Le=(u("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},c.kg("listInactiveSelectionBackground","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.")),u("list.inactiveSelectionForeground",null,c.kg("listInactiveSelectionForeground","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.")),u("list.inactiveSelectionIconForeground",null,c.kg("listInactiveSelectionIconForeground","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.")),u("list.inactiveFocusBackground",null,c.kg("listInactiveFocusBackground","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.")),u("list.inactiveFocusOutline",null,c.kg("listInactiveFocusOutline","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.")),u("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:s.Q1.white.transparent(.1),hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},c.kg("listHoverBackground","List/Tree background when hovering over items using the mouse.")),u("list.hoverForeground",null,c.kg("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),u("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},c.kg("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),u("list.dropBetweenBackground",{dark:y,light:y,hcDark:null,hcLight:null},c.kg("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),u("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:L,hcLight:L},c.kg("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")));u("list.focusHighlightForeground",{dark:Le,light:(we=ve,Se=Le,xe="#BBE7FF",{op:6,if:we,then:Se,else:xe}),hcDark:Le,hcLight:Le},c.kg("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var we,Se,xe;u("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},c.kg("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),u("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},c.kg("listErrorForeground","Foreground color of list items containing errors.")),u("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},c.kg("listWarningForeground","Foreground color of list items containing warnings.")),u("listFilterWidget.background",{light:d(O,0),dark:g(O,0),hcDark:O,hcLight:O},c.kg("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),u("listFilterWidget.outline",{dark:s.Q1.transparent,light:s.Q1.transparent,hcDark:"#f38518",hcLight:"#007ACC"},c.kg("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),u("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:w,hcLight:w},c.kg("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),u("listFilterWidget.shadow",J,c.kg("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees.")),u("list.filterMatchBackground",{dark:q,light:q,hcDark:null,hcLight:null},c.kg("listFilterMatchHighlight","Background color of the filtered match.")),u("list.filterMatchBorder",{dark:W,light:W,hcDark:w,hcLight:S},c.kg("listFilterMatchHighlightBorder","Border color of the filtered match.")),u("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},c.kg("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const Ee=u("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},c.kg("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),Ne=(u("tree.inactiveIndentGuidesStroke",f(Ee,.4),c.kg("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),u("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},c.kg("tableColumnsBorder","Table border color between columns.")),u("tree.tableOddRowsBackground",{dark:f(C,.04),light:f(C,.04),hcDark:null,hcLight:null},c.kg("tableOddRowsBackgroundColor","Background color for odd table rows.")),u("editorActionList.background",O,c.kg("editorActionListBackground","Action List background color.")),u("editorActionList.foreground",M,c.kg("editorActionListForeground","Action List foreground color.")),u("editorActionList.focusForeground",Ce,c.kg("editorActionListFocusForeground","Action List foreground color for the focused item.")),u("editorActionList.focusBackground",ve,c.kg("editorActionListFocusBackground","Action List background color for the focused item.")),u("menu.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("menuBorder","Border color of menus.")),u("menu.foreground",fe,c.kg("menuForeground","Foreground color of menu items.")),u("menu.background",ge,c.kg("menuBackground","Background color of menu items.")),u("menu.selectionForeground",Ce,c.kg("menuSelectionForeground","Foreground color of the selected menu item in menus.")),u("menu.selectionBackground",ve,c.kg("menuSelectionBackground","Background color of the selected menu item in menus.")),u("menu.selectionBorder",{dark:null,light:null,hcDark:S,hcLight:S},c.kg("menuSelectionBorder","Border color of the selected menu item in menus.")),u("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:w,hcLight:w},c.kg("menuSeparatorBackground","Color of a separator menu item in menus.")),u("quickInput.background",O,c.kg("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),u("quickInput.foreground",M,c.kg("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),u("quickInputTitle.background",{dark:new s.Q1(new s.bU(255,255,255,.105)),light:new s.Q1(new s.bU(0,0,0,.06)),hcDark:"#000000",hcLight:s.Q1.white},c.kg("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),u("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:s.Q1.white,hcLight:"#0F4A85"},c.kg("pickerGroupForeground","Quick picker color for grouping labels.")),u("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:s.Q1.white,hcLight:"#0F4A85"},c.kg("pickerGroupBorder","Quick picker color for grouping borders.")),u("quickInput.list.focusBackground",null,"",void 0,c.kg("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")));u("quickInputList.focusForeground",Ce,c.kg("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),u("quickInputList.focusIconForeground",ye,c.kg("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),u("quickInputList.focusBackground",{dark:m(Ne,ve),light:m(Ne,ve),hcDark:null,hcLight:null},c.kg("quickInput.listFocusBackground","Quick picker background color for the focused item.")),u("search.resultsInfoForeground",{light:C,dark:f(C,.65),hcDark:C,hcLight:C},c.kg("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),u("searchEditor.findMatchBackground",{light:f(q,.66),dark:f(q,.66),hcDark:q,hcLight:q},c.kg("searchEditor.queryMatch","Color of the Search Editor query matches.")),u("searchEditor.findMatchBorder",{light:f(W,.66),dark:f(W,.66),hcDark:W,hcLight:W},c.kg("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."))},6001:(e,t,n)=>{"use strict";n.d(t,{Gy:()=>l,zy:()=>u,Yf:()=>c});var r,i=n(2106),s=n(2446),o=n(2399),a=n(7167);!function(e){e.DARK="dark",e.LIGHT="light",e.HIGH_CONTRAST_DARK="hcDark",e.HIGH_CONTRAST_LIGHT="hcLight"}(r||(r={}));const l=(0,o.u1)("themeService");function c(e){return{id:e}}const h=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new i.vl}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),(0,s.s)((()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function u(e){return h.onColorThemeChange(e)}a.O.add("base.contributions.theming",h);s.jG}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.e=()=>Promise.resolve(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e=n(5585),t=n(1684),r=n(6358);let i=!1;function s(n){if(i)return;i=!0;const s=new e.SimpleWorkerServer((e=>{globalThis.postMessage(e)}),(e=>new t.EditorSimpleWorker(r.EditorWorkerHost.getChannel(e),n)));globalThis.onmessage=e=>{s.onmessage(e.data)}}function o(e,t=!1){const n=e.length;let r=0,i="",s=0,o=16,h=0,u=0,d=0,g=0,f=0;function m(t,n){let i=0,s=0;for(;i<t||!n;){let t=e.charCodeAt(r);if(t>=48&&t<=57)s=16*s+t-48;else if(t>=65&&t<=70)s=16*s+t-65+10;else{if(!(t>=97&&t<=102))break;s=16*s+t-97+10}r++,i++}return i<t&&(s=-1),s}function p(){if(i="",f=0,s=r,u=h,g=d,r>=n)return s=n,o=17;let t=e.charCodeAt(r);if(a(t)){do{r++,i+=String.fromCharCode(t),t=e.charCodeAt(r)}while(a(t));return o=15}if(l(t))return r++,i+=String.fromCharCode(t),13===t&&10===e.charCodeAt(r)&&(r++,i+="\n"),h++,d=r,o=14;switch(t){case 123:return r++,o=1;case 125:return r++,o=2;case 91:return r++,o=3;case 93:return r++,o=4;case 58:return r++,o=6;case 44:return r++,o=5;case 34:return r++,i=function(){let t="",i=r;for(;;){if(r>=n){t+=e.substring(i,r),f=2;break}const s=e.charCodeAt(r);if(34===s){t+=e.substring(i,r),r++;break}if(92!==s){if(s>=0&&s<=31){if(l(s)){t+=e.substring(i,r),f=2;break}f=6}r++}else{if(t+=e.substring(i,r),r++,r>=n){f=2;break}switch(e.charCodeAt(r++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:const e=m(4,!0);e>=0?t+=String.fromCharCode(e):f=4;break;default:f=5}i=r}}return t}(),o=10;case 47:const a=r-1;if(47===e.charCodeAt(r+1)){for(r+=2;r<n&&!l(e.charCodeAt(r));)r++;return i=e.substring(a,r),o=12}if(42===e.charCodeAt(r+1)){r+=2;const t=n-1;let s=!1;for(;r<t;){const t=e.charCodeAt(r);if(42===t&&47===e.charCodeAt(r+1)){r+=2,s=!0;break}r++,l(t)&&(13===t&&10===e.charCodeAt(r)&&r++,h++,d=r)}return s||(r++,f=1),i=e.substring(a,r),o=13}return i+=String.fromCharCode(t),r++,o=16;case 45:if(i+=String.fromCharCode(t),r++,r===n||!c(e.charCodeAt(r)))return o=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=function(){let t=r;if(48===e.charCodeAt(r))r++;else for(r++;r<e.length&&c(e.charCodeAt(r));)r++;if(r<e.length&&46===e.charCodeAt(r)){if(r++,!(r<e.length&&c(e.charCodeAt(r))))return f=3,e.substring(t,r);for(r++;r<e.length&&c(e.charCodeAt(r));)r++}let n=r;if(r<e.length&&(69===e.charCodeAt(r)||101===e.charCodeAt(r)))if(r++,(r<e.length&&43===e.charCodeAt(r)||45===e.charCodeAt(r))&&r++,r<e.length&&c(e.charCodeAt(r))){for(r++;r<e.length&&c(e.charCodeAt(r));)r++;n=r}else f=3;return e.substring(t,n)}(),o=11;default:for(;r<n&&b(t);)r++,t=e.charCodeAt(r);if(s!==r){switch(i=e.substring(s,r),i){case"true":return o=8;case"false":return o=9;case"null":return o=7}return o=16}return i+=String.fromCharCode(t),r++,o=16}}function b(e){if(a(e)||l(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}return{setPosition:function(e){r=e,i="",s=0,o=16,f=0},getPosition:()=>r,scan:t?function(){let e;do{e=p()}while(e>=12&&e<=15);return e}:p,getToken:()=>o,getTokenValue:()=>i,getTokenOffset:()=>s,getTokenLength:()=>r-s,getTokenStartLine:()=>u,getTokenStartCharacter:()=>s-g,getTokenError:()=>f}}function a(e){return 32===e||9===e}function l(e){return 10===e||13===e}function c(e){return e>=48&&e<=57}var h,u;globalThis.onmessage=e=>{i||s(null)},(u=h||(h={}))[u.lineFeed=10]="lineFeed",u[u.carriageReturn=13]="carriageReturn",u[u.space=32]="space",u[u._0=48]="_0",u[u._1=49]="_1",u[u._2=50]="_2",u[u._3=51]="_3",u[u._4=52]="_4",u[u._5=53]="_5",u[u._6=54]="_6",u[u._7=55]="_7",u[u._8=56]="_8",u[u._9=57]="_9",u[u.a=97]="a",u[u.b=98]="b",u[u.c=99]="c",u[u.d=100]="d",u[u.e=101]="e",u[u.f=102]="f",u[u.g=103]="g",u[u.h=104]="h",u[u.i=105]="i",u[u.j=106]="j",u[u.k=107]="k",u[u.l=108]="l",u[u.m=109]="m",u[u.n=110]="n",u[u.o=111]="o",u[u.p=112]="p",u[u.q=113]="q",u[u.r=114]="r",u[u.s=115]="s",u[u.t=116]="t",u[u.u=117]="u",u[u.v=118]="v",u[u.w=119]="w",u[u.x=120]="x",u[u.y=121]="y",u[u.z=122]="z",u[u.A=65]="A",u[u.B=66]="B",u[u.C=67]="C",u[u.D=68]="D",u[u.E=69]="E",u[u.F=70]="F",u[u.G=71]="G",u[u.H=72]="H",u[u.I=73]="I",u[u.J=74]="J",u[u.K=75]="K",u[u.L=76]="L",u[u.M=77]="M",u[u.N=78]="N",u[u.O=79]="O",u[u.P=80]="P",u[u.Q=81]="Q",u[u.R=82]="R",u[u.S=83]="S",u[u.T=84]="T",u[u.U=85]="U",u[u.V=86]="V",u[u.W=87]="W",u[u.X=88]="X",u[u.Y=89]="Y",u[u.Z=90]="Z",u[u.asterisk=42]="asterisk",u[u.backslash=92]="backslash",u[u.closeBrace=125]="closeBrace",u[u.closeBracket=93]="closeBracket",u[u.colon=58]="colon",u[u.comma=44]="comma",u[u.dot=46]="dot",u[u.doubleQuote=34]="doubleQuote",u[u.minus=45]="minus",u[u.openBrace=123]="openBrace",u[u.openBracket=91]="openBracket",u[u.plus=43]="plus",u[u.slash=47]="slash",u[u.formFeed=12]="formFeed",u[u.tab=9]="tab";var d,g=new Array(20).fill(0).map(((e,t)=>" ".repeat(t))),f=200,m={" ":{"\n":new Array(f).fill(0).map(((e,t)=>"\n"+" ".repeat(t))),"\r":new Array(f).fill(0).map(((e,t)=>"\r"+" ".repeat(t))),"\r\n":new Array(f).fill(0).map(((e,t)=>"\r\n"+" ".repeat(t)))},"\t":{"\n":new Array(f).fill(0).map(((e,t)=>"\n"+"\t".repeat(t))),"\r":new Array(f).fill(0).map(((e,t)=>"\r"+"\t".repeat(t))),"\r\n":new Array(f).fill(0).map(((e,t)=>"\r\n"+"\t".repeat(t)))}},p=["\n","\r","\r\n"];function b(e,t,n){let r,i,s,a,l;if(t){for(a=t.offset,l=a+t.length,s=a;s>0&&!k(e,s-1);)s--;let o=l;for(;o<e.length&&!k(e,o);)o++;i=e.substring(s,o),r=function(e,t){let n=0,r=0;const i=t.tabSize||4;for(;n<e.length;){let t=e.charAt(n);if(t===g[1])r++;else{if("\t"!==t)break;r+=i}n++}return Math.floor(r/i)}(i,n)}else i=e,r=0,s=0,a=0,l=e.length;const c=function(e,t){for(let n=0;n<t.length;n++){const e=t.charAt(n);if("\r"===e)return n+1<t.length&&"\n"===t.charAt(n+1)?"\r\n":"\r";if("\n"===e)return"\n"}return e&&e.eol||"\n"}(n,e),h=p.includes(c);let u,d=0,f=0;u=n.insertSpaces?g[n.tabSize||4]??_(g[1],n.tabSize||4):"\t";const b="\t"===u?"\t":" ";let v=o(i,!1),C=!1;function y(){if(d>1)return _(c,d)+_(u,r+f);const e=u.length*(r+f);return!h||e>m[b][c].length?c+_(u,r+f):e<=0?c:m[b][c][e]}function L(){let e=v.scan();for(d=0;15===e||14===e;)14===e&&n.keepLines?d+=1:14===e&&(d=1),e=v.scan();return C=16===e||0!==v.getTokenError(),e}const w=[];function S(n,r,i){C||t&&!(r<l&&i>a)||e.substring(r,i)===n||w.push({offset:r,length:i-r,content:n})}let x=L();if(n.keepLines&&d>0&&S(_(c,d),0,0),17!==x){let e=v.getTokenOffset()+s;S(u.length*r<20&&n.insertSpaces?g[u.length*r]:_(u,r),s,e)}for(;17!==x;){let e=v.getTokenOffset()+v.getTokenLength()+s,t=L(),r="",i=!1;for(;0===d&&(12===t||13===t);){let n=v.getTokenOffset()+s;S(g[1],e,n),e=v.getTokenOffset()+v.getTokenLength()+s,i=12===t,r=i?y():"",t=L()}if(2===t)1!==x&&f--,n.keepLines&&d>0||!n.keepLines&&1!==x?r=y():n.keepLines&&(r=g[1]);else if(4===t)3!==x&&f--,n.keepLines&&d>0||!n.keepLines&&3!==x?r=y():n.keepLines&&(r=g[1]);else{switch(x){case 3:case 1:f++,r=n.keepLines&&d>0||!n.keepLines?y():g[1];break;case 5:r=n.keepLines&&d>0||!n.keepLines?y():g[1];break;case 12:r=y();break;case 13:d>0?r=y():i||(r=g[1]);break;case 6:n.keepLines&&d>0?r=y():i||(r=g[1]);break;case 10:n.keepLines&&d>0?r=y():6!==t||i||(r="");break;case 7:case 8:case 9:case 11:case 2:case 4:n.keepLines&&d>0?r=y():12!==t&&13!==t||i?5!==t&&17!==t&&(C=!0):r=g[1];break;case 16:C=!0}d>0&&(12===t||13===t)&&(r=y())}17===t&&(r=n.keepLines&&d>0?y():n.insertFinalNewline?c:"");S(r,e,v.getTokenOffset()+s),x=t}return w}function _(e,t){let n="";for(let r=0;r<t;r++)n+=e;return n}function k(e,t){return-1!=="\r\n".indexOf(e.charAt(t))}(d||(d={})).DEFAULT={allowTrailingComma:!1};var v,C,y,L,w=o;(C=v||(v={}))[C.None=0]="None",C[C.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",C[C.UnexpectedEndOfString=2]="UnexpectedEndOfString",C[C.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",C[C.InvalidUnicode=4]="InvalidUnicode",C[C.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",C[C.InvalidCharacter=6]="InvalidCharacter",(L=y||(y={}))[L.OpenBraceToken=1]="OpenBraceToken",L[L.CloseBraceToken=2]="CloseBraceToken",L[L.OpenBracketToken=3]="OpenBracketToken",L[L.CloseBracketToken=4]="CloseBracketToken",L[L.CommaToken=5]="CommaToken",L[L.ColonToken=6]="ColonToken",L[L.NullKeyword=7]="NullKeyword",L[L.TrueKeyword=8]="TrueKeyword",L[L.FalseKeyword=9]="FalseKeyword",L[L.StringLiteral=10]="StringLiteral",L[L.NumericLiteral=11]="NumericLiteral",L[L.LineCommentTrivia=12]="LineCommentTrivia",L[L.BlockCommentTrivia=13]="BlockCommentTrivia",L[L.LineBreakTrivia=14]="LineBreakTrivia",L[L.Trivia=15]="Trivia",L[L.Unknown=16]="Unknown",L[L.EOF=17]="EOF";var S,x,E,N,T,A,I,O,M,R,D,B,F,P,V,z,j,q,W,U,$,H,K,G,Q,J,X,Y,Z,ee,te,ne,re,ie,se,oe,ae,le,ce,he,ue,de,ge,fe,me,pe,be,_e,ke,ve,Ce,ye,Le,we,Se,xe,Ee,Ne,Te,Ae,Ie,Oe,Me,Re,De,Be,Fe,Pe,Ve,ze,je,qe,We,Ue,$e,He,Ke,Ge,Qe,Je,Xe,Ye,Ze,et,tt,nt,rt,it,st,ot,at,lt,ct,ht,ut,dt,gt,ft,mt,pt,bt,_t,kt,vt,Ct,yt,Lt,wt,St,xt,Et,Nt,Tt,At,It,Ot,Mt,Rt,Dt,Bt,Ft,Pt,Vt,zt,jt,qt,Wt,Ut,$t,Ht,Kt,Gt,Qt,Jt,Xt,Yt=function(e,t=[],n=d.DEFAULT){let r=null,i=[];const s=[];function a(e){Array.isArray(i)?i.push(e):null!==r&&(i[r]=e)}return function(e,t,n=d.DEFAULT){const r=o(e,!1),i=[];function s(e){return e?()=>e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function a(e){return e?()=>e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),(()=>i.slice())):()=>!0}function l(e){return e?t=>e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function c(e){return e?t=>e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),(()=>i.slice())):()=>!0}const h=a(t.onObjectBegin),u=c(t.onObjectProperty),g=s(t.onObjectEnd),f=a(t.onArrayBegin),m=s(t.onArrayEnd),p=c(t.onLiteralValue),b=l(t.onSeparator),_=s(t.onComment),k=l(t.onError),v=n&&n.disallowComments,C=n&&n.allowTrailingComma;function y(){for(;;){const e=r.scan();switch(r.getTokenError()){case 4:L(14);break;case 5:L(15);break;case 3:L(13);break;case 1:v||L(11);break;case 2:L(12);break;case 6:L(16)}switch(e){case 12:case 13:v?L(10):_();break;case 16:L(1);break;case 15:case 14:break;default:return e}}}function L(e,t=[],n=[]){if(k(e),t.length+n.length>0){let e=r.getToken();for(;17!==e;){if(-1!==t.indexOf(e)){y();break}if(-1!==n.indexOf(e))break;e=y()}}}function w(e){const t=r.getTokenValue();return e?p(t):(u(t),i.push(t)),y(),!0}function S(){switch(r.getToken()){case 11:const e=r.getTokenValue();let t=Number(e);isNaN(t)&&(L(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}function x(){return 10!==r.getToken()?(L(3,[],[2,5]),!1):(w(!1),6===r.getToken()?(b(":"),y(),T()||L(4,[],[2,5])):L(5,[],[2,5]),i.pop(),!0)}function E(){h(),y();let e=!1;for(;2!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(e||L(4,[],[]),b(","),y(),2===r.getToken()&&C)break}else e&&L(6,[],[]);x()||L(4,[],[2,5]),e=!0}return g(),2!==r.getToken()?L(7,[2],[]):y(),!0}function N(){f(),y();let e=!0,t=!1;for(;4!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(t||L(4,[],[]),b(","),y(),4===r.getToken()&&C)break}else t&&L(6,[],[]);e?(i.push(0),e=!1):i[i.length-1]++,T()||L(4,[],[4,5]),t=!0}return m(),e||i.pop(),4!==r.getToken()?L(8,[4],[]):y(),!0}function T(){switch(r.getToken()){case 3:return N();case 1:return E();case 10:return w(!0);default:return S()}}if(y(),17===r.getToken())return!!n.allowEmptyContent||(L(4,[],[]),!1);if(!T())return L(4,[],[]),!1;17!==r.getToken()&&L(9,[],[])}(e,{onObjectBegin:()=>{const e={};a(e),s.push(i),i=e,r=null},onObjectProperty:e=>{r=e},onObjectEnd:()=>{i=s.pop()},onArrayBegin:()=>{const e=[];a(e),s.push(i),i=e,r=null},onArrayEnd:()=>{i=s.pop()},onLiteralValue:a,onError:(e,n,r)=>{t.push({error:e,offset:n,length:r})}},n),i[0]},Zt=function e(t,n,r=!1){if(function(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}(t,n,r)){const i=t.children;if(Array.isArray(i))for(let t=0;t<i.length&&i[t].offset<=n;t++){const s=e(i[t],n,r);if(s)return s}return t}},en=function e(t){if(!t.parent||!t.parent.children)return[];const n=e(t.parent);if("property"===t.parent.type){const e=t.parent.children[0].value;n.push(e)}else if("array"===t.parent.type){const e=t.parent.children.indexOf(t);-1!==e&&n.push(e)}return n},tn=function e(t){switch(t.type){case"array":return t.children.map(e);case"object":const n=Object.create(null);for(let r of t.children){const t=r.children[1];t&&(n[r.children[0].value]=e(t))}return n;case"null":case"string":case"number":case"boolean":return t.value;default:return}};function nn(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,r;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(!nn(e[n],t[n]))return!1}else{const i=[];for(r in e)i.push(r);i.sort();const s=[];for(r in t)s.push(r);if(s.sort(),!nn(i,s))return!1;for(n=0;n<i.length;n++)if(!nn(e[i[n]],t[i[n]]))return!1}return!0}function rn(e){return"number"==typeof e}function sn(e){return void 0!==e}function on(e){return"boolean"==typeof e}function an(e){return"string"==typeof e}function ln(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function cn(e,t){const n=e.length-t.length;return n>0?e.lastIndexOf(t)===n:0===n&&e===t}function hn(e){let t="";(function(e,t){if(e.length<t.length)return!1;for(let n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0})(e,"(?i)")&&(e=e.substring(4),t="i");try{return new RegExp(e,t+"u")}catch(n){try{return new RegExp(e,t)}catch(r){return}}}function un(e){let t=0;for(let n=0;n<e.length;n++){t++;const r=e.charCodeAt(n);55296<=r&&r<=56319&&n++}return t}(x=S||(S={}))[x.InvalidSymbol=1]="InvalidSymbol",x[x.InvalidNumberFormat=2]="InvalidNumberFormat",x[x.PropertyNameExpected=3]="PropertyNameExpected",x[x.ValueExpected=4]="ValueExpected",x[x.ColonExpected=5]="ColonExpected",x[x.CommaExpected=6]="CommaExpected",x[x.CloseBraceExpected=7]="CloseBraceExpected",x[x.CloseBracketExpected=8]="CloseBracketExpected",x[x.EndOfFileExpected=9]="EndOfFileExpected",x[x.InvalidCommentToken=10]="InvalidCommentToken",x[x.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",x[x.UnexpectedEndOfString=12]="UnexpectedEndOfString",x[x.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",x[x.InvalidUnicode=14]="InvalidUnicode",x[x.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",x[x.InvalidCharacter=16]="InvalidCharacter",(E||(E={})).is=function(e){return"string"==typeof e},(N||(N={})).is=function(e){return"string"==typeof e},(A=T||(T={})).MIN_VALUE=-2147483648,A.MAX_VALUE=2147483647,A.is=function(e){return"number"==typeof e&&A.MIN_VALUE<=e&&e<=A.MAX_VALUE},(O=I||(I={})).MIN_VALUE=0,O.MAX_VALUE=2147483647,O.is=function(e){return"number"==typeof e&&O.MIN_VALUE<=e&&e<=O.MAX_VALUE},(R=M||(M={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=I.MAX_VALUE),t===Number.MAX_VALUE&&(t=I.MAX_VALUE),{line:e,character:t}},R.is=function(e){let t=e;return dn.objectLiteral(t)&&dn.uinteger(t.line)&&dn.uinteger(t.character)},(B=D||(D={})).create=function(e,t,n,r){if(dn.uinteger(e)&&dn.uinteger(t)&&dn.uinteger(n)&&dn.uinteger(r))return{start:M.create(e,t),end:M.create(n,r)};if(M.is(e)&&M.is(t))return{start:e,end:t};throw new Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)},B.is=function(e){let t=e;return dn.objectLiteral(t)&&M.is(t.start)&&M.is(t.end)},(P=F||(F={})).create=function(e,t){return{uri:e,range:t}},P.is=function(e){let t=e;return dn.objectLiteral(t)&&D.is(t.range)&&(dn.string(t.uri)||dn.undefined(t.uri))},(z=V||(V={})).create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},z.is=function(e){let t=e;return dn.objectLiteral(t)&&D.is(t.targetRange)&&dn.string(t.targetUri)&&D.is(t.targetSelectionRange)&&(D.is(t.originSelectionRange)||dn.undefined(t.originSelectionRange))},(q=j||(j={})).create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},q.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.numberRange(t.red,0,1)&&dn.numberRange(t.green,0,1)&&dn.numberRange(t.blue,0,1)&&dn.numberRange(t.alpha,0,1)},(U=W||(W={})).create=function(e,t){return{range:e,color:t}},U.is=function(e){const t=e;return dn.objectLiteral(t)&&D.is(t.range)&&j.is(t.color)},(H=$||($={})).create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},H.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.string(t.label)&&(dn.undefined(t.textEdit)||le.is(t))&&(dn.undefined(t.additionalTextEdits)||dn.typedArray(t.additionalTextEdits,le.is))},(G=K||(K={})).Comment="comment",G.Imports="imports",G.Region="region",(J=Q||(Q={})).create=function(e,t,n,r,i,s){const o={startLine:e,endLine:t};return dn.defined(n)&&(o.startCharacter=n),dn.defined(r)&&(o.endCharacter=r),dn.defined(i)&&(o.kind=i),dn.defined(s)&&(o.collapsedText=s),o},J.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.uinteger(t.startLine)&&dn.uinteger(t.startLine)&&(dn.undefined(t.startCharacter)||dn.uinteger(t.startCharacter))&&(dn.undefined(t.endCharacter)||dn.uinteger(t.endCharacter))&&(dn.undefined(t.kind)||dn.string(t.kind))},(Y=X||(X={})).create=function(e,t){return{location:e,message:t}},Y.is=function(e){let t=e;return dn.defined(t)&&F.is(t.location)&&dn.string(t.message)},(ee=Z||(Z={})).Error=1,ee.Warning=2,ee.Information=3,ee.Hint=4,(ne=te||(te={})).Unnecessary=1,ne.Deprecated=2,(re||(re={})).is=function(e){const t=e;return dn.objectLiteral(t)&&dn.string(t.href)},(se=ie||(ie={})).create=function(e,t,n,r,i,s){let o={range:e,message:t};return dn.defined(n)&&(o.severity=n),dn.defined(r)&&(o.code=r),dn.defined(i)&&(o.source=i),dn.defined(s)&&(o.relatedInformation=s),o},se.is=function(e){var t;let n=e;return dn.defined(n)&&D.is(n.range)&&dn.string(n.message)&&(dn.number(n.severity)||dn.undefined(n.severity))&&(dn.integer(n.code)||dn.string(n.code)||dn.undefined(n.code))&&(dn.undefined(n.codeDescription)||dn.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(dn.string(n.source)||dn.undefined(n.source))&&(dn.undefined(n.relatedInformation)||dn.typedArray(n.relatedInformation,X.is))},(ae=oe||(oe={})).create=function(e,t,...n){let r={title:e,command:t};return dn.defined(n)&&n.length>0&&(r.arguments=n),r},ae.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.title)&&dn.string(t.command)},(ce=le||(le={})).replace=function(e,t){return{range:e,newText:t}},ce.insert=function(e,t){return{range:{start:e,end:e},newText:t}},ce.del=function(e){return{range:e,newText:""}},ce.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.string(t.newText)&&D.is(t.range)},(ue=he||(he={})).create=function(e,t,n){const r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},ue.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.string(t.label)&&(dn.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(dn.string(t.description)||void 0===t.description)},(de||(de={})).is=function(e){const t=e;return dn.string(t)},(fe=ge||(ge={})).replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},fe.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},fe.del=function(e,t){return{range:e,newText:"",annotationId:t}},fe.is=function(e){const t=e;return le.is(t)&&(he.is(t.annotationId)||de.is(t.annotationId))},(pe=me||(me={})).create=function(e,t){return{textDocument:e,edits:t}},pe.is=function(e){let t=e;return dn.defined(t)&&Ne.is(t.textDocument)&&Array.isArray(t.edits)},(_e=be||(be={})).create=function(e,t,n){let r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},_e.is=function(e){let t=e;return t&&"create"===t.kind&&dn.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||dn.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||dn.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||de.is(t.annotationId))},(ve=ke||(ke={})).create=function(e,t,n,r){let i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},ve.is=function(e){let t=e;return t&&"rename"===t.kind&&dn.string(t.oldUri)&&dn.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||dn.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||dn.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||de.is(t.annotationId))},(ye=Ce||(Ce={})).create=function(e,t,n){let r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},ye.is=function(e){let t=e;return t&&"delete"===t.kind&&dn.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||dn.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||dn.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||de.is(t.annotationId))},(Le||(Le={})).is=function(e){let t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((e=>dn.string(e.kind)?be.is(e)||ke.is(e)||Ce.is(e):me.is(e))))},(Se=we||(we={})).create=function(e){return{uri:e}},Se.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.uri)},(Ee=xe||(xe={})).create=function(e,t){return{uri:e,version:t}},Ee.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.uri)&&dn.integer(t.version)},(Te=Ne||(Ne={})).create=function(e,t){return{uri:e,version:t}},Te.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.uri)&&(null===t.version||dn.integer(t.version))},(Ie=Ae||(Ae={})).create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},Ie.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.uri)&&dn.string(t.languageId)&&dn.integer(t.version)&&dn.string(t.text)},(Me=Oe||(Oe={})).PlainText="plaintext",Me.Markdown="markdown",Me.is=function(e){const t=e;return t===Me.PlainText||t===Me.Markdown},(Re||(Re={})).is=function(e){const t=e;return dn.objectLiteral(e)&&Oe.is(t.kind)&&dn.string(t.value)},(Be=De||(De={})).Text=1,Be.Method=2,Be.Function=3,Be.Constructor=4,Be.Field=5,Be.Variable=6,Be.Class=7,Be.Interface=8,Be.Module=9,Be.Property=10,Be.Unit=11,Be.Value=12,Be.Enum=13,Be.Keyword=14,Be.Snippet=15,Be.Color=16,Be.File=17,Be.Reference=18,Be.Folder=19,Be.EnumMember=20,Be.Constant=21,Be.Struct=22,Be.Event=23,Be.Operator=24,Be.TypeParameter=25,(Pe=Fe||(Fe={})).PlainText=1,Pe.Snippet=2,(Ve||(Ve={})).Deprecated=1,(je=ze||(ze={})).create=function(e,t,n){return{newText:e,insert:t,replace:n}},je.is=function(e){const t=e;return t&&dn.string(t.newText)&&D.is(t.insert)&&D.is(t.replace)},(We=qe||(qe={})).asIs=1,We.adjustIndentation=2,(Ue||(Ue={})).is=function(e){const t=e;return t&&(dn.string(t.detail)||void 0===t.detail)&&(dn.string(t.description)||void 0===t.description)},($e||($e={})).create=function(e){return{label:e}},(He||(He={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(Ge=Ke||(Ke={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Ge.is=function(e){const t=e;return dn.string(t)||dn.objectLiteral(t)&&dn.string(t.language)&&dn.string(t.value)},(Qe||(Qe={})).is=function(e){let t=e;return!!t&&dn.objectLiteral(t)&&(Re.is(t.contents)||Ke.is(t.contents)||dn.typedArray(t.contents,Ke.is))&&(void 0===e.range||D.is(e.range))},(Je||(Je={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(Xe||(Xe={})).create=function(e,t,...n){let r={label:e};return dn.defined(t)&&(r.documentation=t),dn.defined(n)?r.parameters=n:r.parameters=[],r},(Ze=Ye||(Ye={})).Text=1,Ze.Read=2,Ze.Write=3,(et||(et={})).create=function(e,t){let n={range:e};return dn.number(t)&&(n.kind=t),n},(nt=tt||(tt={})).File=1,nt.Module=2,nt.Namespace=3,nt.Package=4,nt.Class=5,nt.Method=6,nt.Property=7,nt.Field=8,nt.Constructor=9,nt.Enum=10,nt.Interface=11,nt.Function=12,nt.Variable=13,nt.Constant=14,nt.String=15,nt.Number=16,nt.Boolean=17,nt.Array=18,nt.Object=19,nt.Key=20,nt.Null=21,nt.EnumMember=22,nt.Struct=23,nt.Event=24,nt.Operator=25,nt.TypeParameter=26,(rt||(rt={})).Deprecated=1,(it||(it={})).create=function(e,t,n,r,i){let s={name:e,kind:t,location:{uri:r,range:n}};return i&&(s.containerName=i),s},(st||(st={})).create=function(e,t,n,r){return void 0!==r?{name:e,kind:t,location:{uri:n,range:r}}:{name:e,kind:t,location:{uri:n}}},(at=ot||(ot={})).create=function(e,t,n,r,i,s){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return void 0!==s&&(o.children=s),o},at.is=function(e){let t=e;return t&&dn.string(t.name)&&dn.number(t.kind)&&D.is(t.range)&&D.is(t.selectionRange)&&(void 0===t.detail||dn.string(t.detail))&&(void 0===t.deprecated||dn.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))},(ct=lt||(lt={})).Empty="",ct.QuickFix="quickfix",ct.Refactor="refactor",ct.RefactorExtract="refactor.extract",ct.RefactorInline="refactor.inline",ct.RefactorRewrite="refactor.rewrite",ct.Source="source",ct.SourceOrganizeImports="source.organizeImports",ct.SourceFixAll="source.fixAll",(ut=ht||(ht={})).Invoked=1,ut.Automatic=2,(gt=dt||(dt={})).create=function(e,t,n){let r={diagnostics:e};return null!=t&&(r.only=t),null!=n&&(r.triggerKind=n),r},gt.is=function(e){let t=e;return dn.defined(t)&&dn.typedArray(t.diagnostics,ie.is)&&(void 0===t.only||dn.typedArray(t.only,dn.string))&&(void 0===t.triggerKind||t.triggerKind===ht.Invoked||t.triggerKind===ht.Automatic)},(mt=ft||(ft={})).create=function(e,t,n){let r={title:e},i=!0;return"string"==typeof t?(i=!1,r.kind=t):oe.is(t)?r.command=t:r.edit=t,i&&void 0!==n&&(r.kind=n),r},mt.is=function(e){let t=e;return t&&dn.string(t.title)&&(void 0===t.diagnostics||dn.typedArray(t.diagnostics,ie.is))&&(void 0===t.kind||dn.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||oe.is(t.command))&&(void 0===t.isPreferred||dn.boolean(t.isPreferred))&&(void 0===t.edit||Le.is(t.edit))},(bt=pt||(pt={})).create=function(e,t){let n={range:e};return dn.defined(t)&&(n.data=t),n},bt.is=function(e){let t=e;return dn.defined(t)&&D.is(t.range)&&(dn.undefined(t.command)||oe.is(t.command))},(kt=_t||(_t={})).create=function(e,t){return{tabSize:e,insertSpaces:t}},kt.is=function(e){let t=e;return dn.defined(t)&&dn.uinteger(t.tabSize)&&dn.boolean(t.insertSpaces)},(Ct=vt||(vt={})).create=function(e,t,n){return{range:e,target:t,data:n}},Ct.is=function(e){let t=e;return dn.defined(t)&&D.is(t.range)&&(dn.undefined(t.target)||dn.string(t.target))},(Lt=yt||(yt={})).create=function(e,t){return{range:e,parent:t}},Lt.is=function(e){let t=e;return dn.objectLiteral(t)&&D.is(t.range)&&(void 0===t.parent||Lt.is(t.parent))},(St=wt||(wt={})).namespace="namespace",St.type="type",St.class="class",St.enum="enum",St.interface="interface",St.struct="struct",St.typeParameter="typeParameter",St.parameter="parameter",St.variable="variable",St.property="property",St.enumMember="enumMember",St.event="event",St.function="function",St.method="method",St.macro="macro",St.keyword="keyword",St.modifier="modifier",St.comment="comment",St.string="string",St.number="number",St.regexp="regexp",St.operator="operator",St.decorator="decorator",(Et=xt||(xt={})).declaration="declaration",Et.definition="definition",Et.readonly="readonly",Et.static="static",Et.deprecated="deprecated",Et.abstract="abstract",Et.async="async",Et.modification="modification",Et.documentation="documentation",Et.defaultLibrary="defaultLibrary",(Nt||(Nt={})).is=function(e){const t=e;return dn.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(At=Tt||(Tt={})).create=function(e,t){return{range:e,text:t}},At.is=function(e){const t=e;return null!=t&&D.is(t.range)&&dn.string(t.text)},(Ot=It||(It={})).create=function(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}},Ot.is=function(e){const t=e;return null!=t&&D.is(t.range)&&dn.boolean(t.caseSensitiveLookup)&&(dn.string(t.variableName)||void 0===t.variableName)},(Rt=Mt||(Mt={})).create=function(e,t){return{range:e,expression:t}},Rt.is=function(e){const t=e;return null!=t&&D.is(t.range)&&(dn.string(t.expression)||void 0===t.expression)},(Bt=Dt||(Dt={})).create=function(e,t){return{frameId:e,stoppedLocation:t}},Bt.is=function(e){const t=e;return dn.defined(t)&&D.is(e.stoppedLocation)},(Pt=Ft||(Ft={})).Type=1,Pt.Parameter=2,Pt.is=function(e){return 1===e||2===e},(zt=Vt||(Vt={})).create=function(e){return{value:e}},zt.is=function(e){const t=e;return dn.objectLiteral(t)&&(void 0===t.tooltip||dn.string(t.tooltip)||Re.is(t.tooltip))&&(void 0===t.location||F.is(t.location))&&(void 0===t.command||oe.is(t.command))},(qt=jt||(jt={})).create=function(e,t,n){const r={position:e,label:t};return void 0!==n&&(r.kind=n),r},qt.is=function(e){const t=e;return dn.objectLiteral(t)&&M.is(t.position)&&(dn.string(t.label)||dn.typedArray(t.label,Vt.is))&&(void 0===t.kind||Ft.is(t.kind))&&void 0===t.textEdits||dn.typedArray(t.textEdits,le.is)&&(void 0===t.tooltip||dn.string(t.tooltip)||Re.is(t.tooltip))&&(void 0===t.paddingLeft||dn.boolean(t.paddingLeft))&&(void 0===t.paddingRight||dn.boolean(t.paddingRight))},(Wt||(Wt={})).createSnippet=function(e){return{kind:"snippet",value:e}},(Ut||(Ut={})).create=function(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}},($t||($t={})).create=function(e){return{items:e}},(Kt=Ht||(Ht={})).Invoked=0,Kt.Automatic=1,(Gt||(Gt={})).create=function(e,t){return{range:e,text:t}},(Qt||(Qt={})).create=function(e,t){return{triggerKind:e,selectedCompletionInfo:t}},(Jt||(Jt={})).is=function(e){const t=e;return dn.objectLiteral(t)&&N.is(t.uri)&&dn.string(t.name)},function(e){function t(e,n){if(e.length<=1)return e;const r=e.length/2|0,i=e.slice(0,r),s=e.slice(r);t(i,n),t(s,n);let o=0,a=0,l=0;for(;o<i.length&&a<s.length;){let t=n(i[o],s[a]);e[l++]=t<=0?i[o++]:s[a++]}for(;o<i.length;)e[l++]=i[o++];for(;a<s.length;)e[l++]=s[a++];return e}e.create=function(e,t,n,r){return new gn(e,t,n,r)},e.is=function(e){let t=e;return!!(dn.defined(t)&&dn.string(t.uri)&&(dn.undefined(t.languageId)||dn.string(t.languageId))&&dn.uinteger(t.lineCount)&&dn.func(t.getText)&&dn.func(t.positionAt)&&dn.func(t.offsetAt))},e.applyEdits=function(e,n){let r=e.getText(),i=t(n,((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),s=r.length;for(let t=i.length-1;t>=0;t--){let n=i[t],o=e.offsetAt(n.range.start),a=e.offsetAt(n.range.end);if(!(a<=s))throw new Error("Overlapping edit");r=r.substring(0,o)+n.newText+r.substring(a,r.length),s=o}return r}}(Xt||(Xt={}));var dn,gn=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&(e.push(r),n=!1);let i=t.charAt(r);n="\r"===i||"\n"===i,"\r"===i&&r+1<t.length&&"\n"===t.charAt(r+1)&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return M.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return M.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}};!function(e){const t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.numberRange=function(e,n,r){return"[object Number]"===t.call(e)&&n<=e&&e<=r},e.integer=function(e){return"[object Number]"===t.call(e)&&-2147483648<=e&&e<=2147483647},e.uinteger=function(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(dn||(dn={}));var fn,mn,pn,bn,_n,kn,vn,Cn,yn=class e{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(t,n){for(let r of t)if(e.isIncremental(r)){const e=Sn(r.range),t=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,t)+r.text+this._content.substring(n,this._content.length);const i=Math.max(e.start.line,0),s=Math.max(e.end.line,0);let o=this._lineOffsets;const a=wn(r.text,!1,t);if(s-i===a.length)for(let r=0,c=a.length;r<c;r++)o[r+i+1]=a[r];else a.length<1e4?o.splice(i+1,s-i,...a):this._lineOffsets=o=o.slice(0,i+1).concat(a,o.slice(s+1));const l=r.text.length-(n-t);if(0!==l)for(let r=i+1+a.length,c=o.length;r<c;r++)o[r]=o[r]+l}else{if(!e.isFull(r))throw new Error("Unknown change event received");this._content=r.text,this._lineOffsets=void 0}this._version=n}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=wn(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return{line:0,character:e};for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)}static isFull(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength}};function Ln(e,t){if(e.length<=1)return e;const n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);Ln(r,t),Ln(i,t);let s=0,o=0,a=0;for(;s<r.length&&o<i.length;){let n=t(r[s],i[o]);e[a++]=n<=0?r[s++]:i[o++]}for(;s<r.length;)e[a++]=r[s++];for(;o<i.length;)e[a++]=i[o++];return e}function wn(e,t,n=0){const r=t?[n]:[];for(let i=0;i<e.length;i++){let t=e.charCodeAt(i);13!==t&&10!==t||(13===t&&i+1<e.length&&10===e.charCodeAt(i+1)&&i++,r.push(n+i+1))}return r}function Sn(e){const t=e.start,n=e.end;return t.line>n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function xn(e){const t=Sn(e.range);return t!==e.range?{newText:e.newText,range:t}:e}function En(...e){const t=e[0];let n,r,i;if("string"==typeof t)n=t,r=t,e.splice(0,1),i=e&&"object"==typeof e[0]?e[0]:e;else{if(t instanceof Array){const n=e.slice(1);if(t.length!==n.length+1)throw new Error("expected a string as the first argument to l10n.t");let r=t[0];for(let e=1;e<t.length;e++)r+=`{${e-1}}`+t[e];return En(r,...n)}r=t.message,n=r,t.comment&&t.comment.length>0&&(n+=`/${Array.isArray(t.comment)?t.comment.join(""):t.comment}`),i=t.args??{}}const s=Cn?.[n];return s?"string"==typeof s?Tn(s,i):s.comment?Tn(s.message,i):Tn(r,i):Tn(r,i)}(mn=fn||(fn={})).create=function(e,t,n,r){return new yn(e,t,n,r)},mn.update=function(e,t,n){if(e instanceof yn)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},mn.applyEdits=function(e,t){let n=e.getText(),r=Ln(t.map(xn),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),i=0;const s=[];for(const o of r){let t=e.offsetAt(o.range.start);if(t<i)throw new Error("Overlapping edit");t>i&&s.push(n.substring(i,t)),o.newText.length&&s.push(o.newText),i=e.offsetAt(o.range.end)}return s.push(n.substr(i)),s.join("")},(bn=pn||(pn={}))[bn.Undefined=0]="Undefined",bn[bn.EnumValueMismatch=1]="EnumValueMismatch",bn[bn.Deprecated=2]="Deprecated",bn[bn.UnexpectedEndOfComment=257]="UnexpectedEndOfComment",bn[bn.UnexpectedEndOfString=258]="UnexpectedEndOfString",bn[bn.UnexpectedEndOfNumber=259]="UnexpectedEndOfNumber",bn[bn.InvalidUnicode=260]="InvalidUnicode",bn[bn.InvalidEscapeCharacter=261]="InvalidEscapeCharacter",bn[bn.InvalidCharacter=262]="InvalidCharacter",bn[bn.PropertyExpected=513]="PropertyExpected",bn[bn.CommaExpected=514]="CommaExpected",bn[bn.ColonExpected=515]="ColonExpected",bn[bn.ValueExpected=516]="ValueExpected",bn[bn.CommaOrCloseBacketExpected=517]="CommaOrCloseBacketExpected",bn[bn.CommaOrCloseBraceExpected=518]="CommaOrCloseBraceExpected",bn[bn.TrailingComma=519]="TrailingComma",bn[bn.DuplicateKey=520]="DuplicateKey",bn[bn.CommentNotPermitted=521]="CommentNotPermitted",bn[bn.PropertyKeysMustBeDoublequoted=528]="PropertyKeysMustBeDoublequoted",bn[bn.SchemaResolveError=768]="SchemaResolveError",bn[bn.SchemaUnsupportedFeature=769]="SchemaUnsupportedFeature",(kn=_n||(_n={}))[kn.v3=3]="v3",kn[kn.v4=4]="v4",kn[kn.v6=6]="v6",kn[kn.v7=7]="v7",kn[kn.v2019_09=19]="v2019_09",kn[kn.v2020_12=20]="v2020_12",(vn||(vn={})).LATEST={textDocument:{completion:{completionItem:{documentationFormat:[Oe.Markdown,Oe.PlainText],commitCharactersSupport:!0,labelDetailsSupport:!0}}}};var Nn=/{([^}]+)}/g;function Tn(e,t){return 0===Object.keys(t).length?e:e.replace(Nn,((e,n)=>t[n]??e))}var An,In,On={"color-hex":{errorMessage:En("Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA."),pattern:/^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/},"date-time":{errorMessage:En("String is not a RFC3339 date-time."),pattern:/^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},date:{errorMessage:En("String is not a RFC3339 date."),pattern:/^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/i},time:{errorMessage:En("String is not a RFC3339 time."),pattern:/^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},email:{errorMessage:En("String is not an e-mail address."),pattern:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}))$/},hostname:{errorMessage:En("String is not a hostname."),pattern:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i},ipv4:{errorMessage:En("String is not an IPv4 address."),pattern:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/},ipv6:{errorMessage:En("String is not an IPv6 address."),pattern:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i}},Mn=class{constructor(e,t,n=0){this.offset=t,this.length=n,this.parent=e}get children(){return[]}toString(){return"type: "+this.type+" ("+this.offset+"/"+this.length+")"+(this.parent?" parent: {"+this.parent.toString()+"}":"")}},Rn=class extends Mn{constructor(e,t){super(e,t),this.type="null",this.value=null}},Dn=class extends Mn{constructor(e,t,n){super(e,n),this.type="boolean",this.value=t}},Bn=class extends Mn{constructor(e,t){super(e,t),this.type="array",this.items=[]}get children(){return this.items}},Fn=class extends Mn{constructor(e,t){super(e,t),this.type="number",this.isInteger=!0,this.value=Number.NaN}},Pn=class extends Mn{constructor(e,t,n){super(e,t,n),this.type="string",this.value=""}},Vn=class extends Mn{constructor(e,t,n){super(e,t),this.type="property",this.colonOffset=-1,this.keyNode=n}get children(){return this.valueNode?[this.keyNode,this.valueNode]:[this.keyNode]}},zn=class extends Mn{constructor(e,t){super(e,t),this.type="object",this.properties=[]}get children(){return this.properties}};function jn(e){return on(e)?e?{}:{not:{}}:e}(In=An||(An={}))[In.Key=0]="Key",In[In.Enum=1]="Enum";var qn={"http://json-schema.org/draft-03/schema#":_n.v3,"http://json-schema.org/draft-04/schema#":_n.v4,"http://json-schema.org/draft-06/schema#":_n.v6,"http://json-schema.org/draft-07/schema#":_n.v7,"https://json-schema.org/draft/2019-09/schema":_n.v2019_09,"https://json-schema.org/draft/2020-12/schema":_n.v2020_12},Wn=class{constructor(e){this.schemaDraft=e}},Un=class e{constructor(e=-1,t){this.focusOffset=e,this.exclude=t,this.schemas=[]}add(e){this.schemas.push(e)}merge(e){Array.prototype.push.apply(this.schemas,e.schemas)}include(e){return(-1===this.focusOffset||Qn(e,this.focusOffset))&&e!==this.exclude}newSub(){return new e(-1,this.exclude)}},$n=class{constructor(){}get schemas(){return[]}add(e){}merge(e){}include(e){return!0}newSub(){return this}};$n.instance=new $n;var Hn=class{constructor(){this.problems=[],this.propertiesMatches=0,this.processedProperties=new Set,this.propertiesValueMatches=0,this.primaryValueMatches=0,this.enumValueMatch=!1,this.enumValues=void 0}hasProblems(){return!!this.problems.length}merge(e){this.problems=this.problems.concat(e.problems),this.propertiesMatches+=e.propertiesMatches,this.propertiesValueMatches+=e.propertiesValueMatches,this.mergeProcessedProperties(e)}mergeEnumValues(e){if(!this.enumValueMatch&&!e.enumValueMatch&&this.enumValues&&e.enumValues){this.enumValues=this.enumValues.concat(e.enumValues);for(const e of this.problems)e.code===pn.EnumValueMismatch&&(e.message=En("Value is not accepted. Valid values: {0}.",this.enumValues.map((e=>JSON.stringify(e))).join(", ")))}}mergePropertyMatch(e){this.problems=this.problems.concat(e.problems),this.propertiesMatches++,(e.enumValueMatch||!e.hasProblems()&&e.propertiesMatches)&&this.propertiesValueMatches++,e.enumValueMatch&&e.enumValues&&1===e.enumValues.length&&this.primaryValueMatches++}mergeProcessedProperties(e){e.processedProperties.forEach((e=>this.processedProperties.add(e)))}compare(e){const t=this.hasProblems();return t!==e.hasProblems()?t?-1:1:this.enumValueMatch!==e.enumValueMatch?e.enumValueMatch?-1:1:this.primaryValueMatches!==e.primaryValueMatches?this.primaryValueMatches-e.primaryValueMatches:this.propertiesValueMatches!==e.propertiesValueMatches?this.propertiesValueMatches-e.propertiesValueMatches:this.propertiesMatches-e.propertiesMatches}};function Kn(e){return tn(e)}function Gn(e){return en(e)}function Qn(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}var Jn=class{constructor(e,t=[],n=[]){this.root=e,this.syntaxErrors=t,this.comments=n}getNodeFromOffset(e,t=!1){if(this.root)return Zt(this.root,e,t)}visit(e){if(this.root){const t=n=>{let r=e(n);const i=n.children;if(Array.isArray(i))for(let e=0;e<i.length&&r;e++)r=t(i[e]);return r};t(this.root)}}validate(e,t,n=Z.Warning,r){if(this.root&&t){const i=new Hn;return Yn(this.root,t,i,$n.instance,new Wn(r??Xn(t))),i.problems.map((t=>{const r=D.create(e.positionAt(t.location.offset),e.positionAt(t.location.offset+t.location.length));return ie.create(r,t.message,t.severity??n,t.code)}))}}getMatchingSchemas(e,t=-1,n){if(this.root&&e){const r=new Un(t,n),i=Xn(e),s=new Wn(i);return Yn(this.root,e,new Hn,r,s),r.schemas}return[]}};function Xn(e,t=_n.v2020_12){let n=e.$schema;return n?qn[n]??t:t}function Yn(e,t,n,r,i){if(!e||!r.include(e))return;if("property"===e.type)return Yn(e.valueNode,t,n,r,i);const s=e;switch(function(){function e(e){return s.type===e||"integer"===e&&"number"===s.type&&s.isInteger}Array.isArray(t.type)?t.type.some(e)||n.problems.push({location:{offset:s.offset,length:s.length},message:t.errorMessage||En("Incorrect type. Expected one of {0}.",t.type.join(", "))}):t.type&&(e(t.type)||n.problems.push({location:{offset:s.offset,length:s.length},message:t.errorMessage||En('Incorrect type. Expected "{0}".',t.type)}));if(Array.isArray(t.allOf))for(const u of t.allOf){const e=new Hn,t=r.newSub();Yn(s,jn(u),e,t,i),n.merge(e),r.merge(t)}const o=jn(t.not);if(o){const e=new Hn,a=r.newSub();Yn(s,o,e,a,i),e.hasProblems()||n.problems.push({location:{offset:s.offset,length:s.length},message:t.errorMessage||En("Matches a schema that is not allowed.")});for(const t of a.schemas)t.inverted=!t.inverted,r.add(t)}const a=(e,t)=>{const o=[];let a;for(const n of e){const e=jn(n),l=new Hn,c=r.newSub();if(Yn(s,e,l,c,i),l.hasProblems()||o.push(e),a)if(t||l.hasProblems()||a.validationResult.hasProblems()){const t=l.compare(a.validationResult);t>0?a={schema:e,validationResult:l,matchingSchemas:c}:0===t&&(a.matchingSchemas.merge(c),a.validationResult.mergeEnumValues(l))}else a.matchingSchemas.merge(c),a.validationResult.propertiesMatches+=l.propertiesMatches,a.validationResult.propertiesValueMatches+=l.propertiesValueMatches,a.validationResult.mergeProcessedProperties(l);else a={schema:e,validationResult:l,matchingSchemas:c}}return o.length>1&&t&&n.problems.push({location:{offset:s.offset,length:1},message:En("Matches multiple schemas when only one must validate.")}),a&&(n.merge(a.validationResult),r.merge(a.matchingSchemas)),o.length};Array.isArray(t.anyOf)&&a(t.anyOf,!1);Array.isArray(t.oneOf)&&a(t.oneOf,!0);const l=e=>{const t=new Hn,o=r.newSub();Yn(s,jn(e),t,o,i),n.merge(t),r.merge(o)},c=jn(t.if);c&&((e,t,o)=>{const a=jn(e),c=new Hn,h=r.newSub();Yn(s,a,c,h,i),r.merge(h),n.mergeProcessedProperties(c),c.hasProblems()?o&&l(o):t&&l(t)})(c,jn(t.then),jn(t.else));if(Array.isArray(t.enum)){const e=Kn(s);let r=!1;for(const n of t.enum)if(nn(e,n)){r=!0;break}n.enumValues=t.enum,n.enumValueMatch=r,r||n.problems.push({location:{offset:s.offset,length:s.length},code:pn.EnumValueMismatch,message:t.errorMessage||En("Value is not accepted. Valid values: {0}.",t.enum.map((e=>JSON.stringify(e))).join(", "))})}if(sn(t.const)){nn(Kn(s),t.const)?n.enumValueMatch=!0:(n.problems.push({location:{offset:s.offset,length:s.length},code:pn.EnumValueMismatch,message:t.errorMessage||En("Value must be {0}.",JSON.stringify(t.const))}),n.enumValueMatch=!1),n.enumValues=[t.const]}let h=t.deprecationMessage;if(h||t.deprecated){h=h||En("Value is deprecated");let e="property"===s.parent?.type?s.parent:s;n.problems.push({location:{offset:e.offset,length:e.length},severity:Z.Warning,message:h,code:pn.Deprecated})}}(),s.type){case"object":!function(e){const s=Object.create(null),o=new Set;for(const t of e.properties){const e=t.keyNode.value;s[e]=t.valueNode,o.add(e)}if(Array.isArray(t.required))for(const r of t.required)if(!s[r]){const t=e.parent&&"property"===e.parent.type&&e.parent.keyNode,i=t?{offset:t.offset,length:t.length}:{offset:e.offset,length:1};n.problems.push({location:i,message:En('Missing property "{0}".',r)})}const a=e=>{o.delete(e),n.processedProperties.add(e)};if(t.properties)for(const d of Object.keys(t.properties)){a(d);const e=t.properties[d],o=s[d];if(o)if(on(e))if(e)n.propertiesMatches++,n.propertiesValueMatches++;else{const e=o.parent;n.problems.push({location:{offset:e.keyNode.offset,length:e.keyNode.length},message:t.errorMessage||En("Property {0} is not allowed.",d)})}else{const t=new Hn;Yn(o,e,t,r,i),n.mergePropertyMatch(t)}}if(t.patternProperties)for(const d of Object.keys(t.patternProperties)){const e=hn(d);if(e){const l=[];for(const a of o)if(e.test(a)){l.push(a);const e=s[a];if(e){const s=t.patternProperties[d];if(on(s))if(s)n.propertiesMatches++,n.propertiesValueMatches++;else{const r=e.parent;n.problems.push({location:{offset:r.keyNode.offset,length:r.keyNode.length},message:t.errorMessage||En("Property {0} is not allowed.",a)})}else{const t=new Hn;Yn(e,s,t,r,i),n.mergePropertyMatch(t)}}}l.forEach(a)}}const l=t.additionalProperties;if(void 0!==l)for(const d of o){a(d);const e=s[d];if(e)if(!1===l){const r=e.parent;n.problems.push({location:{offset:r.keyNode.offset,length:r.keyNode.length},message:t.errorMessage||En("Property {0} is not allowed.",d)})}else if(!0!==l){const t=new Hn;Yn(e,l,t,r,i),n.mergePropertyMatch(t)}}const c=t.unevaluatedProperties;if(void 0!==c){const e=[];for(const a of o)if(!n.processedProperties.has(a)){e.push(a);const o=s[a];if(o)if(!1===c){const e=o.parent;n.problems.push({location:{offset:e.keyNode.offset,length:e.keyNode.length},message:t.errorMessage||En("Property {0} is not allowed.",a)})}else if(!0!==c){const e=new Hn;Yn(o,c,e,r,i),n.mergePropertyMatch(e)}}e.forEach(a)}rn(t.maxProperties)&&e.properties.length>t.maxProperties&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Object has more properties than limit of {0}.",t.maxProperties)});rn(t.minProperties)&&e.properties.length<t.minProperties&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Object has fewer properties than the required number of {0}",t.minProperties)});if(t.dependentRequired)for(const n in t.dependentRequired){const e=s[n],r=t.dependentRequired[n];e&&Array.isArray(r)&&u(n,r)}if(t.dependentSchemas)for(const n in t.dependentSchemas){const e=s[n],r=t.dependentSchemas[n];e&&ln(r)&&u(n,r)}if(t.dependencies)for(const n in t.dependencies){s[n]&&u(n,t.dependencies[n])}const h=jn(t.propertyNames);if(h)for(const t of e.properties){const e=t.keyNode;e&&Yn(e,h,n,$n.instance,i)}function u(t,o){if(Array.isArray(o))for(const r of o)s[r]?n.propertiesValueMatches++:n.problems.push({location:{offset:e.offset,length:e.length},message:En("Object is missing property {0} required by property {1}.",r,t)});else{const t=jn(o);if(t){const s=new Hn;Yn(e,t,s,r,i),n.mergePropertyMatch(s)}}}}(s);break;case"array":!function(e){let s,o;i.schemaDraft>=_n.v2020_12?(s=t.prefixItems,o=Array.isArray(t.items)?void 0:t.items):(s=Array.isArray(t.items)?t.items:void 0,o=Array.isArray(t.items)?t.additionalItems:t.items);let a=0;if(void 0!==s){const t=Math.min(s.length,e.items.length);for(;a<t;a++){const t=jn(s[a]),o=new Hn,l=e.items[a];l&&(Yn(l,t,o,r,i),n.mergePropertyMatch(o)),n.processedProperties.add(String(a))}}if(void 0!==o&&a<e.items.length)if("boolean"==typeof o)for(!1===o&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Array has too many items according to schema. Expected {0} or fewer.",a)});a<e.items.length;a++)n.processedProperties.add(String(a)),n.propertiesValueMatches++;else for(;a<e.items.length;a++){const t=new Hn;Yn(e.items[a],o,t,r,i),n.mergePropertyMatch(t),n.processedProperties.add(String(a))}const l=jn(t.contains);if(l){let r=0;for(let t=0;t<e.items.length;t++){const s=e.items[t],o=new Hn;Yn(s,l,o,$n.instance,i),o.hasProblems()||(r++,i.schemaDraft>=_n.v2020_12&&n.processedProperties.add(String(t)))}0!==r||rn(t.minContains)||n.problems.push({location:{offset:e.offset,length:e.length},message:t.errorMessage||En("Array does not contain required item.")}),rn(t.minContains)&&r<t.minContains&&n.problems.push({location:{offset:e.offset,length:e.length},message:t.errorMessage||En("Array has too few items that match the contains contraint. Expected {0} or more.",t.minContains)}),rn(t.maxContains)&&r>t.maxContains&&n.problems.push({location:{offset:e.offset,length:e.length},message:t.errorMessage||En("Array has too many items that match the contains contraint. Expected {0} or less.",t.maxContains)})}const c=t.unevaluatedItems;if(void 0!==c)for(let h=0;h<e.items.length;h++){if(!n.processedProperties.has(String(h)))if(!1===c)n.problems.push({location:{offset:e.offset,length:e.length},message:En("Item does not match any validation rule from the array.")});else{const s=new Hn;Yn(e.items[h],t.unevaluatedItems,s,r,i),n.mergePropertyMatch(s)}n.processedProperties.add(String(h)),n.propertiesValueMatches++}rn(t.minItems)&&e.items.length<t.minItems&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Array has too few items. Expected {0} or more.",t.minItems)});rn(t.maxItems)&&e.items.length>t.maxItems&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Array has too many items. Expected {0} or fewer.",t.maxItems)});if(!0===t.uniqueItems){let t=function(){for(let e=0;e<r.length-1;e++){const t=r[e];for(let n=e+1;n<r.length;n++)if(nn(t,r[n]))return!0}return!1};const r=Kn(e);t()&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Array has duplicate items.")})}}(s);break;case"string":!function(e){rn(t.minLength)&&un(e.value)<t.minLength&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("String is shorter than the minimum length of {0}.",t.minLength)});rn(t.maxLength)&&un(e.value)>t.maxLength&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("String is longer than the maximum length of {0}.",t.maxLength)});if(an(t.pattern)){const r=hn(t.pattern);r?.test(e.value)||n.problems.push({location:{offset:e.offset,length:e.length},message:t.patternErrorMessage||t.errorMessage||En('String does not match the pattern of "{0}".',t.pattern)})}if(t.format)switch(t.format){case"uri":case"uri-reference":{let r;if(e.value){const n=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/.exec(e.value);n?n[2]||"uri"!==t.format||(r=En("URI with a scheme is expected.")):r=En("URI is expected.")}else r=En("URI expected.");r&&n.problems.push({location:{offset:e.offset,length:e.length},message:t.patternErrorMessage||t.errorMessage||En("String is not a URI: {0}",r)})}break;case"color-hex":case"date-time":case"date":case"time":case"email":case"hostname":case"ipv4":case"ipv6":const r=On[t.format];e.value&&r.pattern.exec(e.value)||n.problems.push({location:{offset:e.offset,length:e.length},message:t.patternErrorMessage||t.errorMessage||r.errorMessage})}}(s);break;case"number":!function(e){const r=e.value;function i(e){const t=/^(-?\d+)(?:\.(\d+))?(?:e([-+]\d+))?$/.exec(e.toString());return t&&{value:Number(t[1]+(t[2]||"")),multiplier:(t[2]?.length||0)-(parseInt(t[3])||0)}}if(rn(t.multipleOf)){let s=-1;if(Number.isInteger(t.multipleOf))s=r%t.multipleOf;else{let e=i(t.multipleOf),n=i(r);if(e&&n){const t=10**Math.abs(n.multiplier-e.multiplier);n.multiplier<e.multiplier?n.value*=t:e.value*=t,s=n.value%e.value}}0!==s&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Value is not divisible by {0}.",t.multipleOf)})}function s(e,t){return rn(t)?t:on(t)&&t?e:void 0}function o(e,t){if(!on(t)||!t)return e}const a=s(t.minimum,t.exclusiveMinimum);rn(a)&&r<=a&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Value is below the exclusive minimum of {0}.",a)});const l=s(t.maximum,t.exclusiveMaximum);rn(l)&&r>=l&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Value is above the exclusive maximum of {0}.",l)});const c=o(t.minimum,t.exclusiveMinimum);rn(c)&&r<c&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Value is below the minimum of {0}.",c)});const h=o(t.maximum,t.exclusiveMaximum);rn(h)&&r>h&&n.problems.push({location:{offset:e.offset,length:e.length},message:En("Value is above the maximum of {0}.",h)})}(s)}r.add({node:s,schema:t})}function Zn(e,t){const n=[];let r=-1;const i=e.getText(),s=w(i,!1),o=t&&t.collectComments?[]:void 0;function a(){for(;;){const t=s.scan();switch(h(),t){case 12:case 13:Array.isArray(o)&&o.push(D.create(e.positionAt(s.getTokenOffset()),e.positionAt(s.getTokenOffset()+s.getTokenLength())));break;case 15:case 14:break;default:return t}}}function l(t,i,s,o,a=Z.Error){if(0===n.length||s!==r){const l=D.create(e.positionAt(s),e.positionAt(o));n.push(ie.create(l,t,a,i,e.languageId)),r=s}}function c(e,t,n=void 0,r=[],o=[]){let c=s.getTokenOffset(),h=s.getTokenOffset()+s.getTokenLength();if(c===h&&c>0){for(c--;c>0&&/\s/.test(i.charAt(c));)c--;h=c+1}if(l(e,t,c,h),n&&u(n,!1),r.length+o.length>0){let e=s.getToken();for(;17!==e;){if(-1!==r.indexOf(e)){a();break}if(-1!==o.indexOf(e))break;e=a()}}return n}function h(){switch(s.getTokenError()){case 4:return c(En("Invalid unicode sequence in string."),pn.InvalidUnicode),!0;case 5:return c(En("Invalid escape character in string."),pn.InvalidEscapeCharacter),!0;case 3:return c(En("Unexpected end of number."),pn.UnexpectedEndOfNumber),!0;case 1:return c(En("Unexpected end of comment."),pn.UnexpectedEndOfComment),!0;case 2:return c(En("Unexpected end of string."),pn.UnexpectedEndOfString),!0;case 6:return c(En("Invalid characters in string. Control characters must be escaped."),pn.InvalidCharacter),!0}return!1}function u(e,t){return e.length=s.getTokenOffset()+s.getTokenLength()-e.offset,t&&a(),e}const d=new Pn(void 0,0,0);function g(t,n){const r=new Vn(t,s.getTokenOffset(),d);let i=f(r);if(!i){if(16!==s.getToken())return;{c(En("Property keys must be doublequoted"),pn.PropertyKeysMustBeDoublequoted);const e=new Pn(r,s.getTokenOffset(),s.getTokenLength());e.value=s.getTokenValue(),i=e,a()}}if(r.keyNode=i,"//"!==i.value){const e=n[i.value];e?(l(En("Duplicate object key"),pn.DuplicateKey,r.keyNode.offset,r.keyNode.offset+r.keyNode.length,Z.Warning),ln(e)&&l(En("Duplicate object key"),pn.DuplicateKey,e.keyNode.offset,e.keyNode.offset+e.keyNode.length,Z.Warning),n[i.value]=!0):n[i.value]=r}if(6===s.getToken())r.colonOffset=s.getTokenOffset(),a();else if(c(En("Colon expected"),pn.ColonExpected),10===s.getToken()&&e.positionAt(i.offset+i.length).line<e.positionAt(s.getTokenOffset()).line)return r.length=i.length,r;const o=m(r);return o?(r.valueNode=o,r.length=o.offset+o.length-r.offset,r):c(En("Value expected"),pn.ValueExpected,r,[],[2,5])}function f(e){if(10!==s.getToken())return;const t=new Pn(e,s.getTokenOffset());return t.value=s.getTokenValue(),u(t,!0)}function m(e){return function(e){if(3!==s.getToken())return;const t=new Bn(e,s.getTokenOffset());a();let n=!1;for(;4!==s.getToken()&&17!==s.getToken();){if(5===s.getToken()){n||c(En("Value expected"),pn.ValueExpected);const e=s.getTokenOffset();if(a(),4===s.getToken()){n&&l(En("Trailing comma"),pn.TrailingComma,e,e+1);continue}}else n&&c(En("Expected comma"),pn.CommaExpected);const e=m(t);e?t.items.push(e):c(En("Value expected"),pn.ValueExpected,void 0,[],[4,5]),n=!0}return 4!==s.getToken()?c(En("Expected comma or closing bracket"),pn.CommaOrCloseBacketExpected,t):u(t,!0)}(e)||function(e){if(1!==s.getToken())return;const t=new zn(e,s.getTokenOffset()),n=Object.create(null);a();let r=!1;for(;2!==s.getToken()&&17!==s.getToken();){if(5===s.getToken()){r||c(En("Property expected"),pn.PropertyExpected);const e=s.getTokenOffset();if(a(),2===s.getToken()){r&&l(En("Trailing comma"),pn.TrailingComma,e,e+1);continue}}else r&&c(En("Expected comma"),pn.CommaExpected);const e=g(t,n);e?t.properties.push(e):c(En("Property expected"),pn.PropertyExpected,void 0,[],[2,5]),r=!0}return 2!==s.getToken()?c(En("Expected comma or closing brace"),pn.CommaOrCloseBraceExpected,t):u(t,!0)}(e)||f(e)||function(e){if(11!==s.getToken())return;const t=new Fn(e,s.getTokenOffset());if(0===s.getTokenError()){const e=s.getTokenValue();try{const n=JSON.parse(e);if(!rn(n))return c(En("Invalid number format."),pn.Undefined,t);t.value=n}catch(n){return c(En("Invalid number format."),pn.Undefined,t)}t.isInteger=-1===e.indexOf(".")}return u(t,!0)}(e)||function(e){switch(s.getToken()){case 7:return u(new Rn(e,s.getTokenOffset()),!0);case 8:return u(new Dn(e,!0,s.getTokenOffset()),!0);case 9:return u(new Dn(e,!1,s.getTokenOffset()),!0);default:return}}(e)}let p;return 17!==a()&&(p=m(p),p?17!==s.getToken()&&c(En("End of file expected."),pn.Undefined):c(En("Expected a JSON object, array or literal."),pn.Undefined)),new Jn(p,n,o)}function er(e,t,n){if(null!==e&&"object"==typeof e){const r=t+"\t";if(Array.isArray(e)){if(0===e.length)return"[]";let i="[\n";for(let t=0;t<e.length;t++)i+=r+er(e[t],r,n),t<e.length-1&&(i+=","),i+="\n";return i+=t+"]",i}{const i=Object.keys(e);if(0===i.length)return"{}";let s="{\n";for(let t=0;t<i.length;t++){const o=i[t];s+=r+JSON.stringify(o)+": "+er(e[o],r,n),t<i.length-1&&(s+=","),s+="\n"}return s+=t+"}",s}}return n(e)}var tr=class{constructor(e,t=[],n=Promise,r={}){this.schemaService=e,this.contributions=t,this.promiseConstructor=n,this.clientCapabilities=r}doResolve(e){for(let t=this.contributions.length-1;t>=0;t--){const n=this.contributions[t].resolveCompletion;if(n){const t=n(e);if(t)return t}}return this.promiseConstructor.resolve(e)}doComplete(e,t,n){const r={items:[],isIncomplete:!1},i=e.getText(),s=e.offsetAt(t);let o=n.getNodeFromOffset(s,!0);if(this.isInComment(e,o?o.offset:0,s))return Promise.resolve(r);if(o&&s===o.offset+o.length&&s>0){const e=i[s-1];("object"===o.type&&"}"===e||"array"===o.type&&"]"===e)&&(o=o.parent)}const a=this.getCurrentWord(e,s);let l;if(!o||"string"!==o.type&&"number"!==o.type&&"boolean"!==o.type&&"null"!==o.type){let n=s-a.length;n>0&&'"'===i[n-1]&&n--,l=D.create(e.positionAt(n),t)}else l=D.create(e.positionAt(o.offset),e.positionAt(o.offset+o.length));const c=new Map,h={add:e=>{let t=e.label;const n=c.get(t);if(n)n.documentation||(n.documentation=e.documentation),n.detail||(n.detail=e.detail),n.labelDetails||(n.labelDetails=e.labelDetails);else{if(t=t.replace(/[\n]/g,"\u21b5"),t.length>60){const e=t.substr(0,57).trim()+"...";c.has(e)||(t=e)}e.textEdit=le.replace(l,e.insertText),e.label=t,c.set(t,e),r.items.push(e)}},setAsIncomplete:()=>{r.isIncomplete=!0},error:e=>{console.error(e)},getNumberOfProposals:()=>r.items.length};return this.schemaService.getSchemaForResource(e.uri,n).then((t=>{const u=[];let d,g=!0,f="";if(o&&"string"===o.type){const e=o.parent;e&&"property"===e.type&&e.keyNode===o&&(g=!e.valueNode,d=e,f=i.substr(o.offset+1,o.length-2),e&&(o=e.parent))}if(o&&"object"===o.type){if(o.offset===s)return r;o.properties.forEach((e=>{d&&d===e||c.set(e.keyNode.value,$e.create("__"))}));let m="";g&&(m=this.evaluateSeparatorAfter(e,e.offsetAt(l.end))),t?this.getPropertyCompletions(t,n,o,g,m,h):this.getSchemaLessPropertyCompletions(n,o,f,h);const p=Gn(o);this.contributions.forEach((t=>{const n=t.collectPropertyCompletions(e.uri,p,a,g,""===m,h);n&&u.push(n)})),!t&&a.length>0&&'"'!==i.charAt(s-a.length-1)&&(h.add({kind:De.Property,label:this.getLabelForValue(a),insertText:this.getInsertTextForProperty(a,void 0,!1,m),insertTextFormat:Fe.Snippet,documentation:""}),h.setAsIncomplete())}const m={};return t?this.getValueCompletions(t,n,o,s,e,h,m):this.getSchemaLessValueCompletions(n,o,s,e,h),this.contributions.length>0&&this.getContributedValueCompletions(n,o,s,e,h,u),this.promiseConstructor.all(u).then((()=>{if(0===h.getNumberOfProposals()){let t=s;!o||"string"!==o.type&&"number"!==o.type&&"boolean"!==o.type&&"null"!==o.type||(t=o.offset+o.length);const n=this.evaluateSeparatorAfter(e,t);this.addFillerValueCompletions(m,n,h)}return r}))}))}getPropertyCompletions(e,t,n,r,i,s){t.getMatchingSchemas(e.schema,n.offset).forEach((e=>{if(e.node===n&&!e.inverted){const t=e.schema.properties;t&&Object.keys(t).forEach((e=>{const n=t[e];if("object"==typeof n&&!n.deprecationMessage&&!n.doNotSuggest){const t={kind:De.Property,label:e,insertText:this.getInsertTextForProperty(e,n,r,i),insertTextFormat:Fe.Snippet,filterText:this.getFilterTextForValue(e),documentation:this.fromMarkup(n.markdownDescription)||n.description||""};void 0!==n.suggestSortText&&(t.sortText=n.suggestSortText),t.insertText&&cn(t.insertText,`$1${i}`)&&(t.command={title:"Suggest",command:"editor.action.triggerSuggest"}),s.add(t)}}));const n=e.schema.propertyNames;if("object"==typeof n&&!n.deprecationMessage&&!n.doNotSuggest){const e=(e,t=void 0)=>{const o={kind:De.Property,label:e,insertText:this.getInsertTextForProperty(e,void 0,r,i),insertTextFormat:Fe.Snippet,filterText:this.getFilterTextForValue(e),documentation:t||this.fromMarkup(n.markdownDescription)||n.description||""};void 0!==n.suggestSortText&&(o.sortText=n.suggestSortText),o.insertText&&cn(o.insertText,`$1${i}`)&&(o.command={title:"Suggest",command:"editor.action.triggerSuggest"}),s.add(o)};if(n.enum)for(let t=0;t<n.enum.length;t++){let r;n.markdownEnumDescriptions&&t<n.markdownEnumDescriptions.length?r=this.fromMarkup(n.markdownEnumDescriptions[t]):n.enumDescriptions&&t<n.enumDescriptions.length&&(r=n.enumDescriptions[t]),e(n.enum[t],r)}n.const&&e(n.const)}}}))}getSchemaLessPropertyCompletions(e,t,n,r){const i=e=>{e.properties.forEach((e=>{const t=e.keyNode.value;r.add({kind:De.Property,label:t,insertText:this.getInsertTextForValue(t,""),insertTextFormat:Fe.Snippet,filterText:this.getFilterTextForValue(t),documentation:""})}))};if(t.parent)if("property"===t.parent.type){const n=t.parent.keyNode.value;e.visit((e=>("property"===e.type&&e!==t.parent&&e.keyNode.value===n&&e.valueNode&&"object"===e.valueNode.type&&i(e.valueNode),!0)))}else"array"===t.parent.type&&t.parent.items.forEach((e=>{"object"===e.type&&e!==t&&i(e)}));else"object"===t.type&&r.add({kind:De.Property,label:"$schema",insertText:this.getInsertTextForProperty("$schema",void 0,!0,""),insertTextFormat:Fe.Snippet,documentation:"",filterText:this.getFilterTextForValue("$schema")})}getSchemaLessValueCompletions(e,t,n,r,i){let s=n;if(!t||"string"!==t.type&&"number"!==t.type&&"boolean"!==t.type&&"null"!==t.type||(s=t.offset+t.length,t=t.parent),!t)return i.add({kind:this.getSuggestionKind("object"),label:"Empty object",insertText:this.getInsertTextForValue({},""),insertTextFormat:Fe.Snippet,documentation:""}),void i.add({kind:this.getSuggestionKind("array"),label:"Empty array",insertText:this.getInsertTextForValue([],""),insertTextFormat:Fe.Snippet,documentation:""});const o=this.evaluateSeparatorAfter(r,s),a=e=>{e.parent&&!Qn(e.parent,n,!0)&&i.add({kind:this.getSuggestionKind(e.type),label:this.getLabelTextForMatchingNode(e,r),insertText:this.getInsertTextForMatchingNode(e,r,o),insertTextFormat:Fe.Snippet,documentation:""}),"boolean"===e.type&&this.addBooleanValueCompletion(!e.value,o,i)};if("property"===t.type&&n>(t.colonOffset||0)){const r=t.valueNode;if(r&&(n>r.offset+r.length||"object"===r.type||"array"===r.type))return;const s=t.keyNode.value;e.visit((e=>("property"===e.type&&e.keyNode.value===s&&e.valueNode&&a(e.valueNode),!0))),"$schema"===s&&t.parent&&!t.parent.parent&&this.addDollarSchemaCompletions(o,i)}if("array"===t.type)if(t.parent&&"property"===t.parent.type){const n=t.parent.keyNode.value;e.visit((e=>("property"===e.type&&e.keyNode.value===n&&e.valueNode&&"array"===e.valueNode.type&&e.valueNode.items.forEach(a),!0)))}else t.items.forEach(a)}getValueCompletions(e,t,n,r,i,s,o){let a,l,c=r;if(!n||"string"!==n.type&&"number"!==n.type&&"boolean"!==n.type&&"null"!==n.type||(c=n.offset+n.length,l=n,n=n.parent),n){if("property"===n.type&&r>(n.colonOffset||0)){const e=n.valueNode;if(e&&r>e.offset+e.length)return;a=n.keyNode.value,n=n.parent}if(n&&(void 0!==a||"array"===n.type)){const h=this.evaluateSeparatorAfter(i,c),u=t.getMatchingSchemas(e.schema,n.offset,l);for(const e of u)if(e.node===n&&!e.inverted&&e.schema){if("array"===n.type&&e.schema.items){let t=s;if(e.schema.uniqueItems){const e=new Set;n.children.forEach((t=>{"array"!==t.type&&"object"!==t.type&&e.add(this.getLabelForValue(Kn(t)))})),t={...s,add(t){e.has(t.label)||s.add(t)}}}if(Array.isArray(e.schema.items)){const s=this.findItemAtOffset(n,i,r);s<e.schema.items.length&&this.addSchemaValueCompletions(e.schema.items[s],h,t,o)}else this.addSchemaValueCompletions(e.schema.items,h,t,o)}if(void 0!==a){let t=!1;if(e.schema.properties){const n=e.schema.properties[a];n&&(t=!0,this.addSchemaValueCompletions(n,h,s,o))}if(e.schema.patternProperties&&!t)for(const n of Object.keys(e.schema.patternProperties)){const r=hn(n);if(r?.test(a)){t=!0;const r=e.schema.patternProperties[n];this.addSchemaValueCompletions(r,h,s,o)}}if(e.schema.additionalProperties&&!t){const t=e.schema.additionalProperties;this.addSchemaValueCompletions(t,h,s,o)}}}"$schema"!==a||n.parent||this.addDollarSchemaCompletions(h,s),o.boolean&&(this.addBooleanValueCompletion(!0,h,s),this.addBooleanValueCompletion(!1,h,s)),o.null&&this.addNullValueCompletion(h,s)}}else this.addSchemaValueCompletions(e.schema,"",s,o)}getContributedValueCompletions(e,t,n,r,i,s){if(t){if("string"!==t.type&&"number"!==t.type&&"boolean"!==t.type&&"null"!==t.type||(t=t.parent),t&&"property"===t.type&&n>(t.colonOffset||0)){const e=t.keyNode.value,o=t.valueNode;if((!o||n<=o.offset+o.length)&&t.parent){const n=Gn(t.parent);this.contributions.forEach((t=>{const o=t.collectValueCompletions(r.uri,n,e,i);o&&s.push(o)}))}}}else this.contributions.forEach((e=>{const t=e.collectDefaultCompletions(r.uri,i);t&&s.push(t)}))}addSchemaValueCompletions(e,t,n,r){"object"==typeof e&&(this.addEnumValueCompletions(e,t,n),this.addDefaultValueCompletions(e,t,n),this.collectTypes(e,r),Array.isArray(e.allOf)&&e.allOf.forEach((e=>this.addSchemaValueCompletions(e,t,n,r))),Array.isArray(e.anyOf)&&e.anyOf.forEach((e=>this.addSchemaValueCompletions(e,t,n,r))),Array.isArray(e.oneOf)&&e.oneOf.forEach((e=>this.addSchemaValueCompletions(e,t,n,r))))}addDefaultValueCompletions(e,t,n,r=0){let i=!1;if(sn(e.default)){let s=e.type,o=e.default;for(let e=r;e>0;e--)o=[o],s="array";const a={kind:this.getSuggestionKind(s),label:this.getLabelForValue(o),insertText:this.getInsertTextForValue(o,t),insertTextFormat:Fe.Snippet};this.doesSupportsLabelDetails()?a.labelDetails={description:En("Default value")}:a.detail=En("Default value"),n.add(a),i=!0}Array.isArray(e.examples)&&e.examples.forEach((s=>{let o=e.type,a=s;for(let e=r;e>0;e--)a=[a],o="array";n.add({kind:this.getSuggestionKind(o),label:this.getLabelForValue(a),insertText:this.getInsertTextForValue(a,t),insertTextFormat:Fe.Snippet}),i=!0})),Array.isArray(e.defaultSnippets)&&e.defaultSnippets.forEach((s=>{let o,a,l=e.type,c=s.body,h=s.label;if(sn(c)){let n=e.type;for(let e=r;e>0;e--)c=[c],n="array";o=this.getInsertTextForSnippetValue(c,t),a=this.getFilterTextForSnippetValue(c),h=h||this.getLabelForSnippetValue(c)}else{if("string"!=typeof s.bodyText)return;{let e="",n="",i="";for(let t=r;t>0;t--)e=e+i+"[\n",n=n+"\n"+i+"]",i+="\t",l="array";o=e+i+s.bodyText.split("\n").join("\n"+i)+n+t,h=h||o,a=o.replace(/[\n]/g,"")}}n.add({kind:this.getSuggestionKind(l),label:h,documentation:this.fromMarkup(s.markdownDescription)||s.description,insertText:o,insertTextFormat:Fe.Snippet,filterText:a}),i=!0})),!i&&"object"==typeof e.items&&!Array.isArray(e.items)&&r<5&&this.addDefaultValueCompletions(e.items,t,n,r+1)}addEnumValueCompletions(e,t,n){if(sn(e.const)&&n.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(e.const),insertText:this.getInsertTextForValue(e.const,t),insertTextFormat:Fe.Snippet,documentation:this.fromMarkup(e.markdownDescription)||e.description}),Array.isArray(e.enum))for(let r=0,i=e.enum.length;r<i;r++){const i=e.enum[r];let s=this.fromMarkup(e.markdownDescription)||e.description;e.markdownEnumDescriptions&&r<e.markdownEnumDescriptions.length&&this.doesSupportMarkdown()?s=this.fromMarkup(e.markdownEnumDescriptions[r]):e.enumDescriptions&&r<e.enumDescriptions.length&&(s=e.enumDescriptions[r]),n.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(i),insertText:this.getInsertTextForValue(i,t),insertTextFormat:Fe.Snippet,documentation:s})}}collectTypes(e,t){if(Array.isArray(e.enum)||sn(e.const))return;const n=e.type;Array.isArray(n)?n.forEach((e=>t[e]=!0)):n&&(t[n]=!0)}addFillerValueCompletions(e,t,n){e.object&&n.add({kind:this.getSuggestionKind("object"),label:"{}",insertText:this.getInsertTextForGuessedValue({},t),insertTextFormat:Fe.Snippet,detail:En("New object"),documentation:""}),e.array&&n.add({kind:this.getSuggestionKind("array"),label:"[]",insertText:this.getInsertTextForGuessedValue([],t),insertTextFormat:Fe.Snippet,detail:En("New array"),documentation:""})}addBooleanValueCompletion(e,t,n){n.add({kind:this.getSuggestionKind("boolean"),label:e?"true":"false",insertText:this.getInsertTextForValue(e,t),insertTextFormat:Fe.Snippet,documentation:""})}addNullValueCompletion(e,t){t.add({kind:this.getSuggestionKind("null"),label:"null",insertText:"null"+e,insertTextFormat:Fe.Snippet,documentation:""})}addDollarSchemaCompletions(e,t){this.schemaService.getRegisteredSchemaIds((e=>"http"===e||"https"===e)).forEach((n=>{n.startsWith("http://json-schema.org/draft-")&&(n+="#"),t.add({kind:De.Module,label:this.getLabelForValue(n),filterText:this.getFilterTextForValue(n),insertText:this.getInsertTextForValue(n,e),insertTextFormat:Fe.Snippet,documentation:""})}))}getLabelForValue(e){return JSON.stringify(e)}getValueFromLabel(e){return JSON.parse(e)}getFilterTextForValue(e){return JSON.stringify(e)}getFilterTextForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getLabelForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getInsertTextForPlainText(e){return e.replace(/[\\\$\}]/g,"\\$&")}getInsertTextForValue(e,t){const n=JSON.stringify(e,null,"\t");return"{}"===n?"{$1}"+t:"[]"===n?"[$1]"+t:this.getInsertTextForPlainText(n+t)}getInsertTextForSnippetValue(e,t){return er(e,"",(e=>"string"==typeof e&&"^"===e[0]?e.substr(1):JSON.stringify(e)))+t}getInsertTextForGuessedValue(e,t){switch(typeof e){case"object":return null===e?"${1:null}"+t:this.getInsertTextForValue(e,t);case"string":let n=JSON.stringify(e);return n=n.substr(1,n.length-2),n=this.getInsertTextForPlainText(n),'"${1:'+n+'}"'+t;case"number":case"boolean":return"${1:"+JSON.stringify(e)+"}"+t}return this.getInsertTextForValue(e,t)}getSuggestionKind(e){if(Array.isArray(e)){const t=e;e=t.length>0?t[0]:void 0}if(!e)return De.Value;switch(e){case"string":default:return De.Value;case"object":return De.Module;case"property":return De.Property}}getLabelTextForMatchingNode(e,t){switch(e.type){case"array":return"[]";case"object":return"{}";default:return t.getText().substr(e.offset,e.length)}}getInsertTextForMatchingNode(e,t,n){switch(e.type){case"array":return this.getInsertTextForValue([],n);case"object":return this.getInsertTextForValue({},n);default:const r=t.getText().substr(e.offset,e.length)+n;return this.getInsertTextForPlainText(r)}}getInsertTextForProperty(e,t,n,r){const i=this.getInsertTextForValue(e,"");if(!n)return i;const s=i+": ";let o,a=0;if(t){if(Array.isArray(t.defaultSnippets)){if(1===t.defaultSnippets.length){const e=t.defaultSnippets[0].body;sn(e)&&(o=this.getInsertTextForSnippetValue(e,""))}a+=t.defaultSnippets.length}if(t.enum&&(o||1!==t.enum.length||(o=this.getInsertTextForGuessedValue(t.enum[0],"")),a+=t.enum.length),sn(t.const)&&(o||(o=this.getInsertTextForGuessedValue(t.const,"")),a++),sn(t.default)&&(o||(o=this.getInsertTextForGuessedValue(t.default,"")),a++),Array.isArray(t.examples)&&t.examples.length&&(o||(o=this.getInsertTextForGuessedValue(t.examples[0],"")),a+=t.examples.length),0===a){let e=Array.isArray(t.type)?t.type[0]:t.type;switch(e||(t.properties?e="object":t.items&&(e="array")),e){case"boolean":o="$1";break;case"string":o='"$1"';break;case"object":o="{$1}";break;case"array":o="[$1]";break;case"number":case"integer":o="${1:0}";break;case"null":o="${1:null}";break;default:return i}}}return(!o||a>1)&&(o="$1"),s+o+r}getCurrentWord(e,t){let n=t-1;const r=e.getText();for(;n>=0&&-1===' \t\n\r\v":{[,]}'.indexOf(r.charAt(n));)n--;return r.substring(n+1,t)}evaluateSeparatorAfter(e,t){const n=w(e.getText(),!0);n.setPosition(t);switch(n.scan()){case 5:case 2:case 4:case 17:return"";default:return","}}findItemAtOffset(e,t,n){const r=w(t.getText(),!0),i=e.items;for(let s=i.length-1;s>=0;s--){const e=i[s];if(n>e.offset+e.length){r.setPosition(e.offset+e.length);return 5===r.scan()&&n>=r.getTokenOffset()+r.getTokenLength()?s+1:s}if(n>=e.offset)return s}return 0}isInComment(e,t,n){const r=w(e.getText(),!1);r.setPosition(t);let i=r.scan();for(;17!==i&&r.getTokenOffset()+r.getTokenLength()<n;)i=r.scan();return(12===i||13===i)&&r.getTokenOffset()<=n}fromMarkup(e){if(e&&this.doesSupportMarkdown())return{kind:Oe.Markdown,value:e}}doesSupportMarkdown(){if(!sn(this.supportsMarkdown)){const e=this.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(e)&&-1!==e.indexOf(Oe.Markdown)}return this.supportsMarkdown}doesSupportsCommitCharacters(){return sn(this.supportsCommitCharacters)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.commitCharactersSupport),this.supportsCommitCharacters}doesSupportsLabelDetails(){return sn(this.labelDetailsSupport)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.labelDetailsSupport),this.labelDetailsSupport}},nr=class{constructor(e,t=[],n){this.schemaService=e,this.contributions=t,this.promise=n||Promise}doHover(e,t,n){const r=e.offsetAt(t);let i=n.getNodeFromOffset(r);if(!i||("object"===i.type||"array"===i.type)&&r>i.offset+1&&r<i.offset+i.length-1)return this.promise.resolve(null);const s=i;if("string"===i.type){const e=i.parent;if(e&&"property"===e.type&&e.keyNode===i&&(i=e.valueNode,!i))return this.promise.resolve(null)}const o=D.create(e.positionAt(s.offset),e.positionAt(s.offset+s.length)),a=e=>({contents:e,range:o}),l=Gn(i);for(let c=this.contributions.length-1;c>=0;c--){const t=this.contributions[c].getInfoContribution(e.uri,l);if(t)return t.then((e=>a(e)))}return this.schemaService.getSchemaForResource(e.uri,n).then((e=>{if(e&&i){let t,r,s,o;n.getMatchingSchemas(e.schema,i.offset).every((e=>{if(e.node===i&&!e.inverted&&e.schema&&(t=t||e.schema.title,r=r||e.schema.markdownDescription||rr(e.schema.description),e.schema.enum)){const t=e.schema.enum.indexOf(Kn(i));e.schema.markdownEnumDescriptions?s=e.schema.markdownEnumDescriptions[t]:e.schema.enumDescriptions&&(s=rr(e.schema.enumDescriptions[t])),s&&(o=e.schema.enum[t],"string"!=typeof o&&(o=JSON.stringify(o)))}return!0}));let l="";return t&&(l=rr(t)),r&&(l.length>0&&(l+="\n\n"),l+=r),s&&(l.length>0&&(l+="\n\n"),l+=`\`${function(e){if(-1!==e.indexOf("`"))return"`` "+e+" ``";return e}(o)}\`: ${s}`),a([l])}return null}))}};function rr(e){if(e){return e.replace(/([^\n\r])(\r?\n)([^\n\r])/gm,"$1\n\n$3").replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}}var ir=class{constructor(e,t){this.jsonSchemaService=e,this.promise=t,this.validationEnabled=!0}configure(e){e&&(this.validationEnabled=!1!==e.validate,this.commentSeverity=e.allowComments?void 0:Z.Error)}doValidation(e,t,n,r){if(!this.validationEnabled)return this.promise.resolve([]);const i=[],s={},o=e=>{const t=e.range.start.line+" "+e.range.start.character+" "+e.message;s[t]||(s[t]=!0,i.push(e))},a=r=>{let s=n?.trailingCommas?lr(n.trailingCommas):Z.Error,a=n?.comments?lr(n.comments):this.commentSeverity,l=n?.schemaValidation?lr(n.schemaValidation):Z.Warning,c=n?.schemaRequest?lr(n.schemaRequest):Z.Warning;if(r){const i=(n,r)=>{if(t.root&&c){const i=t.root,s="object"===i.type?i.properties[0]:void 0;if(s&&"$schema"===s.keyNode.value){const t=s.valueNode||s,i=D.create(e.positionAt(t.offset),e.positionAt(t.offset+t.length));o(ie.create(i,n,c,r))}else{const t=D.create(e.positionAt(i.offset),e.positionAt(i.offset+1));o(ie.create(t,n,c,r))}}};if(r.errors.length)i(r.errors[0],pn.SchemaResolveError);else if(l){for(const e of r.warnings)i(e,pn.SchemaUnsupportedFeature);const s=t.validate(e,r.schema,l,n?.schemaDraft);s&&s.forEach(o)}or(r.schema)&&(a=void 0),ar(r.schema)&&(s=void 0)}for(const e of t.syntaxErrors){if(e.code===pn.TrailingComma){if("number"!=typeof s)continue;e.severity=s}o(e)}if("number"==typeof a){const e=En("Comments are not permitted in JSON.");t.comments.forEach((t=>{o(ie.create(t,e,a,pn.CommentNotPermitted))}))}return i};if(r){const e=r.id||"schemaservice://untitled/"+sr++;return this.jsonSchemaService.registerExternalSchema({uri:e,schema:r}).getResolvedSchema().then((e=>a(e)))}return this.jsonSchemaService.getSchemaForResource(e.uri,t).then((e=>a(e)))}getLanguageStatus(e,t){return{schemas:this.jsonSchemaService.getSchemaURIsForResource(e.uri,t)}}},sr=0;function or(e){if(e&&"object"==typeof e){if(on(e.allowComments))return e.allowComments;if(e.allOf)for(const t of e.allOf){const e=or(t);if(on(e))return e}}}function ar(e){if(e&&"object"==typeof e){if(on(e.allowTrailingCommas))return e.allowTrailingCommas;const t=e;if(on(t.allowsTrailingCommas))return t.allowsTrailingCommas;if(e.allOf)for(const n of e.allOf){const e=ar(n);if(on(e))return e}}}function lr(e){switch(e){case"error":return Z.Error;case"warning":return Z.Warning;case"ignore":return}}var cr=48,hr=57,ur=65,dr=97,gr=102;function fr(e){return e<cr?0:e<=hr?e-cr:(e<dr&&(e+=dr-ur),e>=dr&&e<=gr?e-dr+10:0)}function mr(e){if("#"===e[0])switch(e.length){case 4:return{red:17*fr(e.charCodeAt(1))/255,green:17*fr(e.charCodeAt(2))/255,blue:17*fr(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*fr(e.charCodeAt(1))/255,green:17*fr(e.charCodeAt(2))/255,blue:17*fr(e.charCodeAt(3))/255,alpha:17*fr(e.charCodeAt(4))/255};case 7:return{red:(16*fr(e.charCodeAt(1))+fr(e.charCodeAt(2)))/255,green:(16*fr(e.charCodeAt(3))+fr(e.charCodeAt(4)))/255,blue:(16*fr(e.charCodeAt(5))+fr(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*fr(e.charCodeAt(1))+fr(e.charCodeAt(2)))/255,green:(16*fr(e.charCodeAt(3))+fr(e.charCodeAt(4)))/255,blue:(16*fr(e.charCodeAt(5))+fr(e.charCodeAt(6)))/255,alpha:(16*fr(e.charCodeAt(7))+fr(e.charCodeAt(8)))/255}}}var pr=class{constructor(e){this.schemaService=e}findDocumentSymbols(e,t,n={resultLimit:Number.MAX_VALUE}){const r=t.root;if(!r)return[];let i=n.resultLimit||Number.MAX_VALUE;const s=e.uri;if(("vscode://defaultsettings/keybindings.json"===s||cn(s.toLowerCase(),"/user/keybindings.json"))&&"array"===r.type){const t=[];for(const o of r.items)if("object"===o.type)for(const r of o.properties)if("key"===r.keyNode.value&&r.valueNode){const a=F.create(e.uri,br(e,o));if(t.push({name:_r(r.valueNode),kind:tt.Function,location:a}),i--,i<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(s),t}return t}const o=[{node:r,containerName:""}];let a=0,l=!1;const c=[],h=(t,n)=>{"array"===t.type?t.items.forEach((e=>{e&&o.push({node:e,containerName:n})})):"object"===t.type&&t.properties.forEach((t=>{const r=t.valueNode;if(r)if(i>0){i--;const s=F.create(e.uri,br(e,t)),a=n?n+"."+t.keyNode.value:t.keyNode.value;c.push({name:this.getKeyLabel(t),kind:this.getSymbolKind(r.type),location:s,containerName:n}),o.push({node:r,containerName:a})}else l=!0}))};for(;a<o.length;){const e=o[a++];h(e.node,e.containerName)}return l&&n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(s),c}findDocumentSymbols2(e,t,n={resultLimit:Number.MAX_VALUE}){const r=t.root;if(!r)return[];let i=n.resultLimit||Number.MAX_VALUE;const s=e.uri;if(("vscode://defaultsettings/keybindings.json"===s||cn(s.toLowerCase(),"/user/keybindings.json"))&&"array"===r.type){const t=[];for(const o of r.items)if("object"===o.type)for(const r of o.properties)if("key"===r.keyNode.value&&r.valueNode){const a=br(e,o),l=br(e,r.keyNode);if(t.push({name:_r(r.valueNode),kind:tt.Function,range:a,selectionRange:l}),i--,i<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(s),t}return t}const o=[],a=[{node:r,result:o}];let l=0,c=!1;const h=(t,n)=>{"array"===t.type?t.items.forEach(((t,r)=>{if(t)if(i>0){i--;const s=br(e,t),o=s,l={name:String(r),kind:this.getSymbolKind(t.type),range:s,selectionRange:o,children:[]};n.push(l),a.push({result:l.children,node:t})}else c=!0})):"object"===t.type&&t.properties.forEach((t=>{const r=t.valueNode;if(r)if(i>0){i--;const s=br(e,t),o=br(e,t.keyNode),l=[],c={name:this.getKeyLabel(t),kind:this.getSymbolKind(r.type),range:s,selectionRange:o,children:l,detail:this.getDetail(r)};n.push(c),a.push({result:l,node:r})}else c=!0}))};for(;l<a.length;){const e=a[l++];h(e.node,e.result)}return c&&n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(s),o}getSymbolKind(e){switch(e){case"object":return tt.Module;case"string":return tt.String;case"number":return tt.Number;case"array":return tt.Array;case"boolean":return tt.Boolean;default:return tt.Variable}}getKeyLabel(e){let t=e.keyNode.value;return t&&(t=t.replace(/[\n]/g,"\u21b5")),t&&t.trim()?t:`"${t}"`}getDetail(e){if(e)return"boolean"===e.type||"number"===e.type||"null"===e.type||"string"===e.type?String(e.value):"array"===e.type?e.children.length?void 0:"[]":"object"===e.type?e.children.length?void 0:"{}":void 0}findDocumentColors(e,t,n){return this.schemaService.getSchemaForResource(e.uri,t).then((r=>{const i=[];if(r){let s=n&&"number"==typeof n.resultLimit?n.resultLimit:Number.MAX_VALUE;const o=t.getMatchingSchemas(r.schema),a={};for(const t of o)if(!t.inverted&&t.schema&&("color"===t.schema.format||"color-hex"===t.schema.format)&&t.node&&"string"===t.node.type){const r=String(t.node.offset);if(!a[r]){const o=mr(Kn(t.node));if(o){const n=br(e,t.node);i.push({color:o,range:n})}if(a[r]=!0,s--,s<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(e.uri),i}}}return i}))}getColorPresentations(e,t,n,r){const i=[],s=Math.round(255*n.red),o=Math.round(255*n.green),a=Math.round(255*n.blue);function l(e){const t=e.toString(16);return 2!==t.length?"0"+t:t}let c;return c=1===n.alpha?`#${l(s)}${l(o)}${l(a)}`:`#${l(s)}${l(o)}${l(a)}${l(Math.round(255*n.alpha))}`,i.push({label:c,textEdit:le.replace(r,JSON.stringify(c))}),i}};function br(e,t){return D.create(e.positionAt(t.offset),e.positionAt(t.offset+t.length))}function _r(e){return Kn(e)||En("<empty>")}var kr,vr={schemaAssociations:[],schemas:{"http://json-schema.org/draft-04/schema#":{$schema:"http://json-schema.org/draft-04/schema#",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},positiveInteger:{type:"integer",minimum:0},positiveIntegerDefault0:{allOf:[{$ref:"#/definitions/positiveInteger"},{default:0}]},simpleTypes:{type:"string",enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},minItems:1,uniqueItems:!0}},type:"object",properties:{id:{type:"string",format:"uri"},$schema:{type:"string",format:"uri"},title:{type:"string"},description:{type:"string"},default:{},multipleOf:{type:"number",minimum:0,exclusiveMinimum:!0},maximum:{type:"number"},exclusiveMaximum:{type:"boolean",default:!1},minimum:{type:"number"},exclusiveMinimum:{type:"boolean",default:!1},maxLength:{allOf:[{$ref:"#/definitions/positiveInteger"}]},minLength:{allOf:[{$ref:"#/definitions/positiveIntegerDefault0"}]},pattern:{type:"string",format:"regex"},additionalItems:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:{}},maxItems:{allOf:[{$ref:"#/definitions/positiveInteger"}]},minItems:{allOf:[{$ref:"#/definitions/positiveIntegerDefault0"}]},uniqueItems:{type:"boolean",default:!1},maxProperties:{allOf:[{$ref:"#/definitions/positiveInteger"}]},minProperties:{allOf:[{$ref:"#/definitions/positiveIntegerDefault0"}]},required:{allOf:[{$ref:"#/definitions/stringArray"}]},additionalProperties:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},enum:{type:"array",minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{anyOf:[{type:"string",enum:["date-time","uri","email","hostname","ipv4","ipv6","regex"]},{type:"string"}]},allOf:{allOf:[{$ref:"#/definitions/schemaArray"}]},anyOf:{allOf:[{$ref:"#/definitions/schemaArray"}]},oneOf:{allOf:[{$ref:"#/definitions/schemaArray"}]},not:{allOf:[{$ref:"#"}]}},dependencies:{exclusiveMaximum:["maximum"],exclusiveMinimum:["minimum"]},default:{}},"http://json-schema.org/draft-07/schema#":{definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}}},Cr={id:En("A unique identifier for the schema."),$schema:En("The schema to verify this document against."),title:En("A descriptive title of the element."),description:En("A long description of the element. Used in hover menus and suggestions."),default:En("A default value. Used by suggestions."),multipleOf:En("A number that should cleanly divide the current value (i.e. have no remainder)."),maximum:En("The maximum numerical value, inclusive by default."),exclusiveMaximum:En("Makes the maximum property exclusive."),minimum:En("The minimum numerical value, inclusive by default."),exclusiveMinimum:En("Makes the minimum property exclusive."),maxLength:En("The maximum length of a string."),minLength:En("The minimum length of a string."),pattern:En("A regular expression to match the string against. It is not implicitly anchored."),additionalItems:En("For arrays, only when items is set as an array. If it is a schema, then this schema validates items after the ones specified by the items array. If it is false, then additional items will cause validation to fail."),items:En("For arrays. Can either be a schema to validate every element against or an array of schemas to validate each item against in order (the first schema will validate the first element, the second schema will validate the second element, and so on."),maxItems:En("The maximum number of items that can be inside an array. Inclusive."),minItems:En("The minimum number of items that can be inside an array. Inclusive."),uniqueItems:En("If all of the items in the array must be unique. Defaults to false."),maxProperties:En("The maximum number of properties an object can have. Inclusive."),minProperties:En("The minimum number of properties an object can have. Inclusive."),required:En("An array of strings that lists the names of all properties required on this object."),additionalProperties:En("Either a schema or a boolean. If a schema, then used to validate all properties not matched by 'properties' or 'patternProperties'. If false, then any properties not matched by either will cause this schema to fail."),definitions:En("Not used for validation. Place subschemas here that you wish to reference inline with $ref."),properties:En("A map of property names to schemas for each property."),patternProperties:En("A map of regular expressions on property names to schemas for matching properties."),dependencies:En("A map of property names to either an array of property names or a schema. An array of property names means the property named in the key depends on the properties in the array being present in the object in order to be valid. If the value is a schema, then the schema is only applied to the object if the property in the key exists on the object."),enum:En("The set of literal values that are valid."),type:En("Either a string of one of the basic schema types (number, integer, null, array, object, boolean, string) or an array of strings specifying a subset of those types."),format:En("Describes the format expected for the value."),allOf:En("An array of schemas, all of which must match."),anyOf:En("An array of schemas, where at least one must match."),oneOf:En("An array of schemas, exactly one of which must match."),not:En("A schema which must not match."),$id:En("A unique identifier for the schema."),$ref:En("Reference a definition hosted on any location."),$comment:En("Comments from schema authors to readers or maintainers of the schema."),readOnly:En("Indicates that the value of the instance is managed exclusively by the owning authority."),examples:En("Sample JSON values associated with a particular schema, for the purpose of illustrating usage."),contains:En('An array instance is valid against "contains" if at least one of its elements is valid against the given schema.'),propertyNames:En("If the instance is an object, this keyword validates if every property name in the instance validates against the provided schema."),const:En("An instance validates successfully against this keyword if its value is equal to the value of the keyword."),contentMediaType:En("Describes the media type of a string property."),contentEncoding:En("Describes the content encoding of a string property."),if:En('The validation outcome of the "if" subschema controls which of the "then" or "else" keywords are evaluated.'),then:En('The "if" subschema is used for validation when the "if" subschema succeeds.'),else:En('The "else" subschema is used for validation when the "if" subschema fails.')};for(const n in vr.schemas){const e=vr.schemas[n];for(const t in e.properties){let n=e.properties[t];"boolean"==typeof n&&(n=e.properties[t]={});const r=Cr[t];r&&(n.description=r)}}(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,s=-1,o=0,a=0;a<=e.length;++a){if(a<e.length)n=e.charCodeAt(a);else{if(47===n)break;n=47}if(47===n){if(s===a-1||1===o);else if(s!==a-1&&2===o){if(r.length<2||2!==i||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),s=a,o=0;continue}}else if(2===r.length||1===r.length){r="",i=0,s=a,o=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(s+1,a):r=e.slice(s+1,a),i=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,s=arguments.length-1;s>=-1&&!i;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e=process.cwd()),o=e),t(o),0!==o.length&&(r=o+"/"+r,i=47===o.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n<arguments.length;++n){var i=arguments[n];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var s=e.length,o=s-i,a=1;a<n.length&&47===n.charCodeAt(a);++a);for(var l=n.length-a,c=o<l?o:l,h=-1,u=0;u<=c;++u){if(u===c){if(l>c){if(47===n.charCodeAt(a+u))return n.slice(a+u+1);if(0===u)return n.slice(a+u)}else o>c&&(47===e.charCodeAt(i+u)?h=u:0===u&&(h=0));break}var d=e.charCodeAt(i+u);if(d!==n.charCodeAt(a+u))break;47===d&&(h=u)}var g="";for(u=i+h+1;u<=s;++u)u!==s&&47!==e.charCodeAt(u)||(0===g.length?g+="..":g+="/..");return g.length>0?g+n.slice(a+h):(a+=h,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){i=o;break}}else s=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!o){i=r+1;break}}else-1===l&&(o=!1,l=r+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=r):(a=-1,s=l))}return i===s?s=l:-1===s&&(s=e.length),e.slice(i,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!o){i=r+1;break}}else-1===s&&(o=!1,s=r+1);return-1===s?"":e.slice(i,s)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===i&&(s=!1,i=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){r=a+1;break}}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return n=(t=e).dir||t.root,r=t.base||(t.name||"")+(t.ext||""),n?n===t.root?n+r:n+"/"+r:r;var t,n,r},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),s=47===i;s?(n.root="/",r=1):r=0;for(var o=-1,a=0,l=-1,c=!0,h=e.length-1,u=0;h>=r;--h)if(47!==(i=e.charCodeAt(h)))-1===l&&(c=!1,l=h+1),46===i?-1===o?o=h:1!==u&&(u=1):-1!==o&&(u=-1);else if(!c){a=h+1;break}return-1===o||-1===l||0===u||1===u&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{let e;if(n.r(r),n.d(r,{URI:()=>h,Utils:()=>w}),"object"==typeof process)e="win32"===process.platform;else if("object"==typeof navigator){let t=navigator.userAgent;e=t.indexOf("Windows")>=0}const t=/^\w[\w\d+.-]*$/,i=/^\//,s=/^\/\//;function o(e,n){if(!e.scheme&&n)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!i.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(s.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}const a="",l="/",c=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static isUri(e){return e instanceof h||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,n,r,i,s=!1){"object"==typeof e?(this.scheme=e.scheme||a,this.authority=e.authority||a,this.path=e.path||a,this.query=e.query||a,this.fragment=e.fragment||a):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||a,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==l&&(t=l+t):t=l}return t}(this.scheme,n||a),this.query=r||a,this.fragment=i||a,o(this,s))}get fsPath(){return p(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=a),void 0===n?n=this.authority:null===n&&(n=a),void 0===r?r=this.path:null===r&&(r=a),void 0===i?i=this.query:null===i&&(i=a),void 0===s?s=this.fragment:null===s&&(s=a),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new d(t,n,r,i,s)}static parse(e,t=!1){const n=c.exec(e);return n?new d(n[2]||a,v(n[4]||a),v(n[5]||a),v(n[7]||a),v(n[9]||a),t):new d(a,a,a,a,a)}static file(t){let n=a;if(e&&(t=t.replace(/\\/g,l)),t[0]===l&&t[1]===l){const e=t.indexOf(l,2);-1===e?(n=t.substring(2),t=l):(n=t.substring(2,e),t=t.substring(e)||l)}return new d("file",n,t,a,a)}static from(e){const t=new d(e.scheme,e.authority,e.path,e.query,e.fragment);return o(t,!0),t}toString(e=!1){return b(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof h)return e;{const t=new d(e);return t._formatted=e.external,t._fsPath=e._sep===u?e.fsPath:null,t}}return e}}const u=e?1:void 0;class d extends h{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=p(this,!1)),this._fsPath}toString(e=!1){return e?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=u),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const g={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function f(e,t,n){let r,i=-1;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==r&&(r+=e.charAt(s));else{void 0===r&&(r=e.substr(0,s));const t=g[o];void 0!==t?(-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),r+=t):-1===i&&(i=s)}}return-1!==i&&(r+=encodeURIComponent(e.substring(i))),void 0!==r?r:e}function m(e){let t;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);35===r||63===r?(void 0===t&&(t=e.substr(0,n)),t+=g[r]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function p(t,n){let r;return r=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&58===t.path.charCodeAt(2)?n?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(r=r.replace(/\//g,"\\")),r}function b(e,t){const n=t?m:f;let r="",{scheme:i,authority:s,path:o,query:a,fragment:c}=e;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=l,r+=l),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=":",r+=n(t.substr(e+1),!1,!0)),r+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?r+=n(s,!1,!0):(r+=n(s.substr(0,e),!1,!0),r+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return a&&(r+="?",r+=n(a,!1,!1)),c&&(r+="#",r+=t?c:f(c,!1,!1)),r}function _(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+_(e.substr(3)):e}}const k=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function v(e){return e.match(k)?e.replace(k,(e=>_(e))):e}var C=n(470);const y=C.posix||C,L="/";var w,S;(S=w||(w={})).joinPath=function(e,...t){return e.with({path:y.join(e.path,...t)})},S.resolvePath=function(e,...t){let n=e.path,r=!1;n[0]!==L&&(n=L+n,r=!0);let i=y.resolve(n,...t);return r&&i[0]===L&&!e.authority&&(i=i.substring(1)),e.with({path:i})},S.dirname=function(e){if(0===e.path.length||e.path===L)return e;let t=y.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},S.basename=function(e){return y.basename(e.path)},S.extname=function(e){return y.extname(e.path)}})(),kr=r})();var{URI:yr,Utils:Lr}=kr;function wr(e,t){if("string"!=typeof e)throw new TypeError("Expected a string");const n=String(e);let r="";const i=!!t&&!!t.extended,s=!!t&&!!t.globstar;let o=!1;const a=t&&"string"==typeof t.flags?t.flags:"";let l;for(let c=0,h=n.length;c<h;c++)switch(l=n[c],l){case"/":case"$":case"^":case"+":case".":case"(":case")":case"=":case"!":case"|":r+="\\"+l;break;case"?":if(i){r+=".";break}case"[":case"]":if(i){r+=l;break}case"{":if(i){o=!0,r+="(";break}case"}":if(i){o=!1,r+=")";break}case",":if(o){r+="|";break}r+="\\"+l;break;case"*":const e=n[c-1];let t=1;for(;"*"===n[c+1];)t++,c++;const a=n[c+1];if(s){t>1&&("/"===e||void 0===e||"{"===e||","===e)&&("/"===a||void 0===a||","===a||"}"===a)?("/"===a?c++:"/"===e&&r.endsWith("\\/")&&(r=r.substr(0,r.length-2)),r+="((?:[^/]*(?:/|$))*)"):r+="([^/]*)"}else r+=".*";break;default:r+=l}return a&&~a.indexOf("g")||(r="^"+r+"$"),new RegExp(r,a)}var Sr,xr,Er=class{constructor(e,t,n){this.folderUri=t,this.uris=n,this.globWrappers=[];try{for(let t of e){const e="!"!==t[0];e||(t=t.substring(1)),t.length>0&&("/"===t[0]&&(t=t.substring(1)),this.globWrappers.push({regexp:wr("**/"+t,{extended:!0,globstar:!0}),include:e}))}t&&((t=Rr(t)).endsWith("/")||(t+="/"),this.folderUri=t)}catch(r){this.globWrappers.length=0,this.uris=[]}}matchesPattern(e){if(this.folderUri&&!e.startsWith(this.folderUri))return!1;let t=!1;for(const{regexp:n,include:r}of this.globWrappers)n.test(e)&&(t=r);return t}getURIs(){return this.uris}},Nr=class{constructor(e,t,n){this.service=e,this.uri=t,this.dependencies=new Set,this.anchors=void 0,n&&(this.unresolvedSchema=this.service.promise.resolve(new Tr(n)))}getUnresolvedSchema(){return this.unresolvedSchema||(this.unresolvedSchema=this.service.loadSchema(this.uri)),this.unresolvedSchema}getResolvedSchema(){return this.resolvedSchema||(this.resolvedSchema=this.getUnresolvedSchema().then((e=>this.service.resolveSchemaContent(e,this)))),this.resolvedSchema}clearSchema(){const e=!!this.unresolvedSchema;return this.resolvedSchema=void 0,this.unresolvedSchema=void 0,this.dependencies.clear(),this.anchors=void 0,e}},Tr=class{constructor(e,t=[]){this.schema=e,this.errors=t}},Ar=class{constructor(e,t=[],n=[],r){this.schema=e,this.errors=t,this.warnings=n,this.schemaDraft=r}getSection(e){const t=this.getSectionRecursive(e,this.schema);if(t)return jn(t)}getSectionRecursive(e,t){if(!t||"boolean"==typeof t||0===e.length)return t;const n=e.shift();if(t.properties&&(t.properties[n],1))return this.getSectionRecursive(e,t.properties[n]);if(t.patternProperties)for(const r of Object.keys(t.patternProperties)){const i=hn(r);if(i?.test(n))return this.getSectionRecursive(e,t.patternProperties[r])}else{if("object"==typeof t.additionalProperties)return this.getSectionRecursive(e,t.additionalProperties);if(n.match("[0-9]+"))if(Array.isArray(t.items)){const r=parseInt(n,10);if(!isNaN(r)&&t.items[r])return this.getSectionRecursive(e,t.items[r])}else if(t.items)return this.getSectionRecursive(e,t.items)}}},Ir=class{constructor(e,t,n){this.contextService=t,this.requestService=e,this.promiseConstructor=n||Promise,this.callOnDispose=[],this.contributionSchemas={},this.contributionAssociations=[],this.schemasById={},this.filePatternAssociations=[],this.registeredSchemasIds={}}getRegisteredSchemaIds(e){return Object.keys(this.registeredSchemasIds).filter((t=>{const n=yr.parse(t).scheme;return"schemaservice"!==n&&(!e||e(n))}))}get promise(){return this.promiseConstructor}dispose(){for(;this.callOnDispose.length>0;)this.callOnDispose.pop()()}onResourceChange(e){this.cachedSchemaForResource=void 0;let t=!1;const n=[e=Mr(e)],r=Object.keys(this.schemasById).map((e=>this.schemasById[e]));for(;n.length;){const e=n.pop();for(let i=0;i<r.length;i++){const s=r[i];s&&(s.uri===e||s.dependencies.has(e))&&(s.uri!==e&&n.push(s.uri),s.clearSchema()&&(t=!0),r[i]=void 0)}}return t}setSchemaContributions(e){if(e.schemas){const t=e.schemas;for(const e in t){const n=Mr(e);this.contributionSchemas[n]=this.addSchemaHandle(n,t[e])}}if(Array.isArray(e.schemaAssociations)){const t=e.schemaAssociations;for(let e of t){const t=e.uris.map(Mr),n=this.addFilePatternAssociation(e.pattern,e.folderUri,t);this.contributionAssociations.push(n)}}}addSchemaHandle(e,t){const n=new Nr(this,e,t);return this.schemasById[e]=n,n}getOrAddSchemaHandle(e,t){return this.schemasById[e]||this.addSchemaHandle(e,t)}addFilePatternAssociation(e,t,n){const r=new Er(e,t,n);return this.filePatternAssociations.push(r),r}registerExternalSchema(e){const t=Mr(e.uri);return this.registeredSchemasIds[t]=!0,this.cachedSchemaForResource=void 0,e.fileMatch&&e.fileMatch.length&&this.addFilePatternAssociation(e.fileMatch,e.folderUri,[t]),e.schema?this.addSchemaHandle(t,e.schema):this.getOrAddSchemaHandle(t)}clearExternalSchemas(){this.schemasById={},this.filePatternAssociations=[],this.registeredSchemasIds={},this.cachedSchemaForResource=void 0;for(const e in this.contributionSchemas)this.schemasById[e]=this.contributionSchemas[e],this.registeredSchemasIds[e]=!0;for(const e of this.contributionAssociations)this.filePatternAssociations.push(e)}getResolvedSchema(e){const t=Mr(e),n=this.schemasById[t];return n?n.getResolvedSchema():this.promise.resolve(void 0)}loadSchema(e){if(!this.requestService){const t=En("Unable to load schema from '{0}'. No schema request service available",Dr(e));return this.promise.resolve(new Tr({},[t]))}return e.startsWith("http://json-schema.org/")&&(e="https"+e.substring(4)),this.requestService(e).then((t=>{if(!t){const t=En("Unable to load schema from '{0}': No content.",Dr(e));return new Tr({},[t])}const n=[];65279===t.charCodeAt(0)&&(n.push(En("Problem reading content from '{0}': UTF-8 with BOM detected, only UTF 8 is allowed.",Dr(e))),t=t.trimStart());let r={};const i=[];return r=Yt(t,i),i.length&&n.push(En("Unable to parse content from '{0}': Parse error at offset {1}.",Dr(e),i[0].offset)),new Tr(r,n)}),(t=>{let n=t.toString();const r=t.toString().split("Error: ");return r.length>1&&(n=r[1]),cn(n,".")&&(n=n.substr(0,n.length-1)),new Tr({},[En("Unable to load schema from '{0}': {1}.",Dr(e),n)])}))}resolveSchemaContent(e,t){const n=e.errors.slice(0),r=e.schema;let i=r.$schema?Mr(r.$schema):void 0;if("http://json-schema.org/draft-03/schema"===i)return this.promise.resolve(new Ar({},[En("Draft-03 schemas are not supported.")],[],i));let s=new Set;const o=this.contextService,a=(e,t,r,i)=>{let s;var o,a,l;void 0===i||0===i.length?s=t:"/"===i.charAt(0)?s=((e,t)=>{t=decodeURIComponent(t);let n=e;return"/"===t[0]&&(t=t.substring(1)),t.split("/").some((e=>(e=e.replace(/~1/g,"/").replace(/~0/g,"~"),n=n[e],!n))),n})(t,i):(o=t,l=i,(a=r).anchors||(a.anchors=h(o)),s=a.anchors.get(l)),s?((e,t)=>{for(const n in t)t.hasOwnProperty(n)&&"id"!==n&&"$id"!==n&&(e[n]=t[n])})(e,s):n.push(En("$ref '{0}' in '{1}' can not be resolved.",i||"",r.uri))},l=(e,t,r,i)=>{o&&!/^[A-Za-z][A-Za-z0-9+\-.+]*:\/\/.*/.test(t)&&(t=o.resolveRelativePath(t,i.uri)),t=Mr(t);const s=this.getOrAddSchemaHandle(t);return s.getUnresolvedSchema().then((o=>{if(i.dependencies.add(t),o.errors.length){const e=r?t+"#"+r:t;n.push(En("Problems loading reference '{0}': {1}",e,o.errors[0]))}return a(e,o.schema,s,r),c(e,o.schema,s)}))},c=(e,t,n)=>{const r=[];return this.traverseNodes(e,(e=>{const i=new Set;for(;e.$ref;){const s=e.$ref,o=s.split("#",2);if(delete e.$ref,o[0].length>0)return void r.push(l(e,o[0],o[1],n));if(!i.has(s)){const r=o[1];a(e,t,n,r),i.add(s)}}e.$recursiveRef&&s.add("$recursiveRef"),e.$dynamicRef&&s.add("$dynamicRef")})),this.promise.all(r)},h=e=>{const t=new Map;return this.traverseNodes(e,(e=>{const r=e.$id||e.id,i=an(r)&&"#"===r.charAt(0)?r.substring(1):e.$anchor;i&&(t.has(i)?n.push(En("Duplicate anchor declaration: '{0}'",i)):t.set(i,e)),e.$recursiveAnchor&&s.add("$recursiveAnchor"),e.$dynamicAnchor&&s.add("$dynamicAnchor")})),t};return c(r,r,t).then((e=>{let t=[];return s.size&&t.push(En("The schema uses meta-schema features ({0}) that are not yet supported by the validator.",Array.from(s.keys()).join(", "))),new Ar(r,n,t,i)}))}traverseNodes(e,t){if(!e||"object"!=typeof e)return Promise.resolve(null);const n=new Set,r=(...e)=>{for(const t of e)ln(t)&&a.push(t)},i=(...e)=>{for(const t of e)if(ln(t))for(const e in t){const n=t[e];ln(n)&&a.push(n)}},s=(...e)=>{for(const t of e)if(Array.isArray(t))for(const e of t)ln(e)&&a.push(e)},o=e=>{if(Array.isArray(e))for(const t of e)ln(t)&&a.push(t);else ln(e)&&a.push(e)},a=[e];let l=a.pop();for(;l;)n.has(l)||(n.add(l),t(l),r(l.additionalItems,l.additionalProperties,l.not,l.contains,l.propertyNames,l.if,l.then,l.else,l.unevaluatedItems,l.unevaluatedProperties),i(l.definitions,l.$defs,l.properties,l.patternProperties,l.dependencies,l.dependentSchemas),s(l.anyOf,l.allOf,l.oneOf,l.prefixItems),o(l.items)),l=a.pop()}getSchemaFromProperty(e,t){if("object"===t.root?.type)for(const n of t.root.properties)if("$schema"===n.keyNode.value&&"string"===n.valueNode?.type){let t=n.valueNode.value;return this.contextService&&!/^\w[\w\d+.-]*:/.test(t)&&(t=this.contextService.resolveRelativePath(t,e)),t}}getAssociatedSchemas(e){const t=Object.create(null),n=[],r=Rr(e);for(const i of this.filePatternAssociations)if(i.matchesPattern(r))for(const e of i.getURIs())t[e]||(n.push(e),t[e]=!0);return n}getSchemaURIsForResource(e,t){let n=t&&this.getSchemaFromProperty(e,t);return n?[n]:this.getAssociatedSchemas(e)}getSchemaForResource(e,t){if(t){let n=this.getSchemaFromProperty(e,t);if(n){const e=Mr(n);return this.getOrAddSchemaHandle(e).getResolvedSchema()}}if(this.cachedSchemaForResource&&this.cachedSchemaForResource.resource===e)return this.cachedSchemaForResource.resolvedSchema;const n=this.getAssociatedSchemas(e),r=n.length>0?this.createCombinedSchema(e,n).getResolvedSchema():this.promise.resolve(void 0);return this.cachedSchemaForResource={resource:e,resolvedSchema:r},r}createCombinedSchema(e,t){if(1===t.length)return this.getOrAddSchemaHandle(t[0]);{const n="schemaservice://combinedSchema/"+encodeURIComponent(e),r={allOf:t.map((e=>({$ref:e})))};return this.addSchemaHandle(n,r)}}getMatchingSchemas(e,t,n){if(n){const e=n.id||"schemaservice://untitled/matchingSchemas/"+Or++;return this.addSchemaHandle(e,n).getResolvedSchema().then((e=>t.getMatchingSchemas(e.schema).filter((e=>!e.inverted))))}return this.getSchemaForResource(e.uri,t).then((e=>e?t.getMatchingSchemas(e.schema).filter((e=>!e.inverted)):[]))}},Or=0;function Mr(e){try{return yr.parse(e).toString(!0)}catch(t){return e}}function Rr(e){try{return yr.parse(e).with({fragment:null,query:null}).toString(!0)}catch(t){return e}}function Dr(e){try{const t=yr.parse(e);if("file"===t.scheme)return t.fsPath}catch(t){}return e}function Br(e,t){const n=[],r=[],i=[];let s=-1;const o=w(e.getText(),!1);let a=o.scan();function l(e){n.push(e),r.push(i.length)}for(;17!==a;){switch(a){case 1:case 3:{const t=e.positionAt(o.getTokenOffset()).line,n={startLine:t,endLine:t,kind:1===a?"object":"array"};i.push(n);break}case 2:case 4:{const t=2===a?"object":"array";if(i.length>0&&i[i.length-1].kind===t){const t=i.pop(),n=e.positionAt(o.getTokenOffset()).line;t&&n>t.startLine+1&&s!==t.startLine&&(t.endLine=n-1,l(t),s=t.startLine)}break}case 13:{const t=e.positionAt(o.getTokenOffset()).line,n=e.positionAt(o.getTokenOffset()+o.getTokenLength()).line;1===o.getTokenError()&&t+1<e.lineCount?o.setPosition(e.offsetAt(M.create(t+1,0))):t<n&&(l({startLine:t,endLine:n,kind:K.Comment}),s=t);break}case 12:{const t=e.getText().substr(o.getTokenOffset(),o.getTokenLength()).match(/^\/\/\s*#(region\b)|(endregion\b)/);if(t){const n=e.positionAt(o.getTokenOffset()).line;if(t[1]){const e={startLine:n,endLine:n,kind:K.Region};i.push(e)}else{let e=i.length-1;for(;e>=0&&i[e].kind!==K.Region;)e--;if(e>=0){const t=i[e];i.length=e,n>t.startLine&&s!==t.startLine&&(t.endLine=n,l(t),s=t.startLine)}}}break}}a=o.scan()}const c=t&&t.rangeLimit;if("number"!=typeof c||n.length<=c)return n;t&&t.onRangeLimitExceeded&&t.onRangeLimitExceeded(e.uri);const h=[];for(let f of r)f<30&&(h[f]=(h[f]||0)+1);let u=0,d=0;for(let f=0;f<h.length;f++){const e=h[f];if(e){if(e+u>c){d=f;break}u+=e}}const g=[];for(let f=0;f<n.length;f++){const e=r[f];"number"==typeof e&&(e<d||e===d&&u++<c)&&g.push(n[f])}return g}function Fr(e,t,n){function r(t,n){return D.create(e.positionAt(t),e.positionAt(n))}const i=w(e.getText(),!0);function s(e,t){return i.setPosition(e),i.scan()===t?i.getTokenOffset()+i.getTokenLength():-1}return t.map((function(t){let i=e.offsetAt(t),o=n.getNodeFromOffset(i,!0);const a=[];for(;o;){switch(o.type){case"string":case"object":case"array":const e=o.offset+1,t=o.offset+o.length-1;e<t&&i>=e&&i<=t&&a.push(r(e,t)),a.push(r(o.offset,o.offset+o.length));break;case"number":case"boolean":case"null":case"property":a.push(r(o.offset,o.offset+o.length))}if("property"===o.type||o.parent&&"array"===o.parent.type){const e=s(o.offset+o.length,5);-1!==e&&a.push(r(o.offset,e))}o=o.parent}let l;for(let e=a.length-1;e>=0;e--)l=yt.create(a[e],l);return l||(l=yt.create(D.create(t,t))),l}))}function Pr(e,t,n){let r;if(n){const t=e.offsetAt(n.start);r={offset:t,length:e.offsetAt(n.end)-t}}const i={tabSize:t?t.tabSize:4,insertSpaces:!0===t?.insertSpaces,insertFinalNewline:!0===t?.insertFinalNewline,eol:"\n",keepLines:!0===t?.keepLines};return function(e,t,n){return b(e,t,n)}(e.getText(),r,i).map((t=>le.replace(D.create(e.positionAt(t.offset),e.positionAt(t.offset+t.length)),t.content)))}(xr=Sr||(Sr={}))[xr.Object=0]="Object",xr[xr.Array=1]="Array";var Vr=class{constructor(e,t){this.propertyName=e??"",this.beginningLineNumber=t,this.childrenProperties=[],this.lastProperty=!1,this.noKeyName=!1}addChildProperty(e){if(e.parent=this,this.childrenProperties.length>0){let t=0;t=e.noKeyName?this.childrenProperties.length:function(e,t,n){const r=t.propertyName.toLowerCase(),i=e[0].propertyName.toLowerCase(),s=e[e.length-1].propertyName.toLowerCase();if(r<i)return 0;if(r>s)return e.length;let o=0,a=e.length-1;for(;o<=a;){let r=a+o>>1,i=n(t,e[r]);if(i>0)o=r+1;else{if(!(i<0))return r;a=r-1}}return-o-1}(this.childrenProperties,e,zr),t<0&&(t=-1*t-1),this.childrenProperties.splice(t,0,e)}else this.childrenProperties.push(e);return e}};function zr(e,t){const n=e.propertyName.toLowerCase(),r=t.propertyName.toLowerCase();return n<r?-1:n>r?1:0}function jr(e,t){const n={...t,keepLines:!1},r=fn.applyEdits(e,Pr(e,n,void 0)),i=fn.create("test://test.json","json",0,r),s=function(e,t){if(0===t.childrenProperties.length)return e;const n=fn.create("test://test.json","json",0,e.getText()),r=[];qr(r,t,t.beginningLineNumber);for(;r.length>0;){const t=r.shift(),i=t.propertyTreeArray;let s=t.beginningLineNumber;for(let o=0;o<i.length;o++){const t=i[o],a=D.create(M.create(t.beginningLineNumber,0),M.create(t.endLineNumber+1,0)),l=e.getText(a),c=fn.create("test://test.json","json",0,l);if(!0===t.lastProperty&&o!==i.length-1){const e=t.lineWhereToAddComma-t.beginningLineNumber,n=t.indexWhereToAddComa,r={range:D.create(M.create(e,n),M.create(e,n)),text:","};fn.update(c,[r],1)}else if(!1===t.lastProperty&&o===i.length-1){const e=t.commaIndex,n=t.commaLine-t.beginningLineNumber,r={range:D.create(M.create(n,e),M.create(n,e+1)),text:""};fn.update(c,[r],1)}const h=t.endLineNumber-t.beginningLineNumber+1,u={range:D.create(M.create(s,0),M.create(s+h,0)),text:c.getText()};fn.update(n,[u],1),qr(r,t,s),s+=h}}return n}(i,function(e){const t=e.getText(),n=w(t,!1);let r,i,s,o=new Vr,a=o,l=o,c=o,h=0,u=0,d=-1,g=-1,f=0,m=0,p=[],b=!1,_=!1;for(;17!==(r=n.scan());){if(!0===b&&14!==r&&15!==r&&12!==r&&13!==r&&void 0===l.endLineNumber){let e=n.getTokenStartLine();2===s||4===s?c.endLineNumber=e-1:l.endLineNumber=e-1,f=e,b=!1}if(!0===_&&14!==r&&15!==r&&12!==r&&13!==r&&(f=n.getTokenStartLine(),_=!1),n.getTokenStartLine()!==h){for(let t=h;t<n.getTokenStartLine();t++){u+=e.getText(D.create(M.create(t,0),M.create(t+1,0))).length}h=n.getTokenStartLine()}switch(r){case 10:if(void 0===i||1===i||5===i&&p[p.length-1]===Sr.Object){const e=new Vr(n.getTokenValue(),f);c=l,l=a.addChildProperty(e)}break;case 3:if(void 0===o.beginningLineNumber&&(o.beginningLineNumber=n.getTokenStartLine()),p[p.length-1]===Sr.Object)a=l;else if(p[p.length-1]===Sr.Array){const e=new Vr(n.getTokenValue(),f);e.noKeyName=!0,c=l,l=a.addChildProperty(e),a=l}p.push(Sr.Array),l.type=Sr.Array,f=n.getTokenStartLine(),f++;break;case 1:if(void 0===o.beginningLineNumber)o.beginningLineNumber=n.getTokenStartLine();else if(p[p.length-1]===Sr.Array){const e=new Vr(n.getTokenValue(),f);e.noKeyName=!0,c=l,l=a.addChildProperty(e)}l.type=Sr.Object,p.push(Sr.Object),a=l,f=n.getTokenStartLine(),f++;break;case 4:m=n.getTokenStartLine(),p.pop(),void 0!==l.endLineNumber||2!==i&&4!==i||(l.endLineNumber=m-1,l.lastProperty=!0,l.lineWhereToAddComma=d,l.indexWhereToAddComa=g,c=l,l=l?l.parent:void 0,a=l),o.endLineNumber=m,f=m+1;break;case 2:m=n.getTokenStartLine(),p.pop(),1!==i&&(void 0===l.endLineNumber&&(l.endLineNumber=m-1,l.lastProperty=!0,l.lineWhereToAddComma=d,l.indexWhereToAddComa=g),c=l,l=l?l.parent:void 0,a=l),o.endLineNumber=n.getTokenStartLine(),f=m+1;break;case 5:m=n.getTokenStartLine(),void 0!==l.endLineNumber||p[p.length-1]!==Sr.Object&&(p[p.length-1]!==Sr.Array||2!==i&&4!==i)||(l.endLineNumber=m,l.commaIndex=n.getTokenOffset()-u,l.commaLine=m),2!==i&&4!==i||(c=l,l=l?l.parent:void 0,a=l),f=m+1;break;case 13:5!==i||d!==n.getTokenStartLine()||(p[p.length-1]!==Sr.Array||2!==s&&4!==s)&&p[p.length-1]!==Sr.Object||(p[p.length-1]!==Sr.Array||2!==s&&4!==s)&&p[p.length-1]!==Sr.Object||(l.endLineNumber=void 0,b=!0),1!==i&&3!==i||d!==n.getTokenStartLine()||(_=!0)}14!==r&&13!==r&&12!==r&&15!==r&&(s=i,i=r,d=n.getTokenStartLine(),g=n.getTokenOffset()+n.getTokenLength()-u)}return o}(i)),o=Pr(s,n,void 0),a=fn.applyEdits(s,o);return[le.replace(D.create(M.create(0,0),e.positionAt(e.getText().length)),a)]}function qr(e,t,n){if(0!==t.childrenProperties.length)if(t.type===Sr.Object){let r=1/0;for(const e of t.childrenProperties)e.beginningLineNumber<r&&(r=e.beginningLineNumber);n+=r-t.beginningLineNumber,e.push(new $r(n,t.childrenProperties))}else t.type===Sr.Array&&Wr(e,t,n)}function Wr(e,t,n){for(const r of t.childrenProperties){if(r.type===Sr.Object){let i=1/0;for(const e of r.childrenProperties)e.beginningLineNumber<i&&(i=e.beginningLineNumber);const s=i-r.beginningLineNumber;e.push(new $r(n+r.beginningLineNumber-t.beginningLineNumber+s,r.childrenProperties))}r.type===Sr.Array&&Wr(e,r,n+r.beginningLineNumber-t.beginningLineNumber)}}var Ur,$r=class{constructor(e,t){this.beginningLineNumber=e,this.propertyTreeArray=t}};function Hr(e,t){const n=[];return t.visit((r=>{if("property"===r.type&&"$ref"===r.keyNode.value&&"string"===r.valueNode?.type){const i=r.valueNode.value,s=function(e,t){const n=function(e){if("#"===e)return[];if("#"!==e[0]||"/"!==e[1])return null;return e.substring(2).split(/\//).map(Qr)}(t);if(!n)return null;return Gr(n,e.root)}(t,i);if(s){const t=e.positionAt(s.offset);n.push({target:`${e.uri}#${t.line+1},${t.character+1}`,range:Kr(e,r.valueNode)})}}return!0})),Promise.resolve(n)}function Kr(e,t){return D.create(e.positionAt(t.offset+1),e.positionAt(t.offset+t.length-1))}function Gr(e,t){if(!t)return null;if(0===e.length)return t;const n=e.shift();if(t&&"object"===t.type){const r=t.properties.find((e=>e.keyNode.value===n));return r?Gr(e,r.valueNode):null}if(t&&"array"===t.type&&n.match(/^(0|[1-9][0-9]*)$/)){const r=Number.parseInt(n),i=t.items[r];return i?Gr(e,i):null}return null}function Qr(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Jr(e){const t=e.promiseConstructor||Promise,n=new Ir(e.schemaRequestService,e.workspaceContext,t);n.setSchemaContributions(vr);const r=new tr(n,e.contributions,t,e.clientCapabilities),i=new nr(n,e.contributions,t),s=new pr(n),o=new ir(n,t);return{configure:e=>{n.clearExternalSchemas(),e.schemas?.forEach(n.registerExternalSchema.bind(n)),o.configure(e)},resetSchema:e=>n.onResourceChange(e),doValidation:o.doValidation.bind(o),getLanguageStatus:o.getLanguageStatus.bind(o),parseJSONDocument:e=>Zn(e,{collectComments:!0}),newJSONDocument:(e,t)=>function(e,t=[]){return new Jn(e,t,[])}(e,t),getMatchingSchemas:n.getMatchingSchemas.bind(n),doResolve:r.doResolve.bind(r),doComplete:r.doComplete.bind(r),findDocumentSymbols:s.findDocumentSymbols.bind(s),findDocumentSymbols2:s.findDocumentSymbols2.bind(s),findDocumentColors:s.findDocumentColors.bind(s),getColorPresentations:s.getColorPresentations.bind(s),doHover:i.doHover.bind(i),getFoldingRanges:Br,getSelectionRanges:Fr,findDefinition:()=>Promise.resolve([]),findLinks:Hr,format:(e,t,n)=>Pr(e,n,t),sort:(e,t)=>jr(e,t)}}"undefined"!=typeof fetch&&(Ur=function(e){return fetch(e).then((e=>e.text()))});var Xr=class{constructor(e,t){this._ctx=e,this._languageSettings=t.languageSettings,this._languageId=t.languageId,this._languageService=Jr({workspaceContext:{resolveRelativePath:(e,t)=>function(e,t){if(function(e){return e.charCodeAt(0)===Yr}(t)){const n=yr.parse(e),r=t.split("/");return n.with({path:ei(r)}).toString()}return function(e,...t){const n=yr.parse(e),r=n.path.split("/");for(let i of t)r.push(...i.split("/"));return n.with({path:ei(r)}).toString()}(e,t)}(t.substr(0,t.lastIndexOf("/")+1),e)},schemaRequestService:t.enableSchemaRequest?Ur:void 0,clientCapabilities:vn.LATEST}),this._languageService.configure(this._languageSettings)}async doValidation(e){let t=this._getTextDocument(e);if(t){let e=this._languageService.parseJSONDocument(t);return this._languageService.doValidation(t,e,this._languageSettings)}return Promise.resolve([])}async doComplete(e,t){let n=this._getTextDocument(e);if(!n)return null;let r=this._languageService.parseJSONDocument(n);return this._languageService.doComplete(n,t,r)}async doResolve(e){return this._languageService.doResolve(e)}async doHover(e,t){let n=this._getTextDocument(e);if(!n)return null;let r=this._languageService.parseJSONDocument(n);return this._languageService.doHover(n,t,r)}async format(e,t,n){let r=this._getTextDocument(e);if(!r)return[];let i=this._languageService.format(r,t,n);return Promise.resolve(i)}async resetSchema(e){return Promise.resolve(this._languageService.resetSchema(e))}async findDocumentSymbols(e){let t=this._getTextDocument(e);if(!t)return[];let n=this._languageService.parseJSONDocument(t),r=this._languageService.findDocumentSymbols2(t,n);return Promise.resolve(r)}async findDocumentColors(e){let t=this._getTextDocument(e);if(!t)return[];let n=this._languageService.parseJSONDocument(t),r=this._languageService.findDocumentColors(t,n);return Promise.resolve(r)}async getColorPresentations(e,t,n){let r=this._getTextDocument(e);if(!r)return[];let i=this._languageService.parseJSONDocument(r),s=this._languageService.getColorPresentations(r,i,t,n);return Promise.resolve(s)}async getFoldingRanges(e,t){let n=this._getTextDocument(e);if(!n)return[];let r=this._languageService.getFoldingRanges(n,t);return Promise.resolve(r)}async getSelectionRanges(e,t){let n=this._getTextDocument(e);if(!n)return[];let r=this._languageService.parseJSONDocument(n),i=this._languageService.getSelectionRanges(n,t,r);return Promise.resolve(i)}async parseJSONDocument(e){let t=this._getTextDocument(e);if(!t)return null;let n=this._languageService.parseJSONDocument(t);return Promise.resolve(n)}async getMatchingSchemas(e){let t=this._getTextDocument(e);if(!t)return[];let n=this._languageService.parseJSONDocument(t);return Promise.resolve(this._languageService.getMatchingSchemas(t,n))}_getTextDocument(e){let t=this._ctx.getMirrorModels();for(let n of t)if(n.uri.toString()===e)return fn.create(e,this._languageId,n.version,n.getValue());return null}},Yr="/".charCodeAt(0),Zr=".".charCodeAt(0);function ei(e){const t=[];for(const r of e)0===r.length||1===r.length&&r.charCodeAt(0)===Zr||(2===r.length&&r.charCodeAt(0)===Zr&&r.charCodeAt(1)===Zr?t.pop():t.push(r));e.length>1&&0===e[e.length-1].length&&t.push("");let n=t.join("/");return 0===e[0].length&&(n="/"+n),n}self.onmessage=()=>{s(((e,t)=>new Xr(e,t)))}})()})(); \ No newline at end of file +(()=>{var e={3338:(e,t,n)=>{"use strict";function r(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(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*i(e,t){let n,r;for(const i of e)void 0!==r&&t(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}function s(e,t){for(let n=0;n<=e.length;n++)t(0===n?void 0:e[n-1],n===e.length?void 0:e[n])}function o(e,t){for(let n=0;n<e.length;n++)t(0===n?void 0:e[n-1],e[n],n+1===e.length?void 0:e[n+1])}function a(e,t=e=>e){const n=new Set;return e.filter((e=>{const r=t(e);return!n.has(r)&&(n.add(r),!0)}))}function l(e,t){return e.length>0?e[0]:t}function c(e,t,n){const r=e.slice(0,t),i=e.slice(t);return r.concat(n,i)}function h(e,t){for(const n of t)e.push(n)}var u;function d(e,t){return(n,r)=>t(e(n),e(r))}n.d(t,{E4:()=>h,Fy:()=>l,Hw:()=>f,U9:()=>g,VE:()=>d,aI:()=>r,c1:()=>p,dM:()=>a,j3:()=>m,kj:()=>o,n:()=>i,nK:()=>c,pN:()=>s}),function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(u||(u={}));const g=(e,t)=>e-t;function f(e){return(t,n)=>-e(t,n)}class m{constructor(e){this.items=e,this.firstIdx=0,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++;const n=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,n}takeFromEndWhile(e){let t=this.lastIdx;for(;t>=0&&e(this.items[t]);)t--;const n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class p{static{this.empty=new p((e=>{}))}constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new p((t=>this.iterate((n=>!e(n)||t(n)))))}map(e){return new p((t=>this.iterate((n=>t(e(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||u.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0))),t}}},7393:(e,t,n)=>{"use strict";function r(e,t){const n=function(e,t,n=e.length-1){for(let r=n;r>=0;r--){if(t(e[r]))return r}return-1}(e,t);if(-1!==n)return e[n]}function i(e,t){const n=s(e,t);return-1===n?void 0:e[n]}function s(e,t,n=0,r=e.length){let i=n,s=r;for(;i<s;){const n=Math.floor((i+s)/2);t(e[n])?i=n+1:s=n}return i-1}function o(e,t){const n=a(e,t);return n===e.length?void 0:e[n]}function a(e,t,n=0,r=e.length){let i=n,s=r;for(;i<s;){const n=Math.floor((i+s)/2);t(e[n])?s=n:i=n+1}return i}n.d(t,{Uk:()=>r,XP:()=>o,hw:()=>a,iM:()=>s,lx:()=>i,vJ:()=>l});class l{static{this.assertInvariants=!1}constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(l.assertInvariants){if(this._prevFindLastPredicate)for(const t of this._array)if(this._prevFindLastPredicate(t)&&!e(t))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.");this._prevFindLastPredicate=e}const t=s(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,-1===t?void 0:this._array[t]}}},7110:(e,t,n)=>{"use strict";n.d(t,{Ft:()=>o,Xo:()=>a,ok:()=>i,xb:()=>s});var r=n(4327);function i(e,t){if(!e)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function s(e,t="Unreachable"){throw new Error(t)}function o(e){e()||(e(),(0,r.dz)(new r.D7("Assertion Failed")))}function a(e,t){let n=0;for(;n<e.length-1;){if(!t(e[n],e[n+1]))return!1;n++}return!0}},2866:(e,t,n)=>{"use strict";n.d(t,{vb:()=>l,uC:()=>c,Qg:()=>a,$6:()=>h});n(8903);var r=n(4327),i=n(2106),s=n(2446),o=n(3339);Symbol("MicrotaskDelay");function a(e){return!!e&&"function"==typeof e.then}class l{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new r.D7("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const i=n.setInterval((()=>{e()}),t);this.disposable=(0,s.s)((()=>{n.clearInterval(i),this.disposable=void 0}))}dispose(){this.cancel(),this.isDisposed=!0}}class c{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}let h,u;u="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{(0,o._p)((()=>{if(n)return;const e=Date.now()+15,r={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(r))}));let n=!1;return{dispose(){n||(n=!0)}}}:(e,t,n)=>{const r=e.requestIdleCallback(t,"number"==typeof n?{timeout:n}:void 0);let i=!1;return{dispose(){i||(i=!0,e.cancelIdleCallback(r))}}},h=e=>u(globalThis,e);var d;!function(e){e.settled=async function(e){let t;const n=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return n},e.withAsyncBody=function(e){return new Promise((async(t,n)=>{try{await e(t,n)}catch(r){n(r)}}))}}(d||(d={}));class g{static fromArray(e){return new g((t=>{t.emitMany(e)}))}static fromPromise(e){return new g((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new g((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new g((async t=>{await Promise.all(e.map((async e=>{for await(const n of e)t.emitOne(n)})))}))}static{this.EMPTY=g.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new i.vl,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(n){this.reject(n)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(1===this._state)return{done:!0,value:void 0};await i.Jh.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new g((async n=>{for await(const r of e)n.emitOne(t(r))}))}map(e){return g.map(this,e)}static filter(e,t){return new g((async n=>{for await(const r of e)t(r)&&n.emitOne(r)}))}filter(e){return g.filter(this,e)}static coalesce(e){return g.filter(e,(e=>!!e))}coalesce(){return g.coalesce(this)}static async toPromise(e){const t=[];for await(const n of e)t.push(n);return t}toPromise(){return g.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}},2802:(e,t,n)=>{"use strict";n.d(t,{$l:()=>a,Gs:()=>d,MB:()=>o,Sw:()=>h,bb:()=>c,gN:()=>l,pJ:()=>u});var r=n(3946);const i="undefined"!=typeof Buffer;new r.d((()=>new Uint8Array(256)));let s;class o{static wrap(e){return i&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new o(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return i?this.buffer.toString():(s||(s=new TextDecoder),s.decode(this.buffer))}}function a(e,t){return(e[t+0]|0)>>>0|e[t+1]<<8>>>0}function l(e,t,n){e[n+0]=255&t,t>>>=8,e[n+1]=255&t}function c(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function h(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function u(e,t){return e[t]}function d(e,t,n){e[n]=t}},6260:(e,t,n)=>{"use strict";function r(e){return e}n.d(t,{VV:()=>s,o5:()=>i});class i{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,"function"==typeof e?(this._fn=e,this._computeKey=r):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class s{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,"function"==typeof e?(this._fn=e,this._computeKey=r):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const n=this._fn(e);return this._map.set(e,n),this._map2.set(t,n),n}}},8903:(e,t,n)=>{"use strict";n.d(t,{Qi:()=>a});var r=n(2106);const i=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var s;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof o||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Jh.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i})}(s||(s={}));class o{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.vl),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class a{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token instanceof o&&this._token.cancel():this._token=s.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof o&&this._token.dispose():this._token=s.None}}},8391:(e,t,n)=>{"use strict";n.d(t,{W:()=>o});var r=n(9359);const i=Object.create(null);function s(e,t){if((0,r.Kg)(t)){const n=i[t];if(void 0===n)throw new Error(`${e} references an unknown codicon: ${t}`);t=n}return i[e]=t,{id:e}}const o={...{add:s("add",6e4),plus:s("plus",6e4),gistNew:s("gist-new",6e4),repoCreate:s("repo-create",6e4),lightbulb:s("lightbulb",60001),lightBulb:s("light-bulb",60001),repo:s("repo",60002),repoDelete:s("repo-delete",60002),gistFork:s("gist-fork",60003),repoForked:s("repo-forked",60003),gitPullRequest:s("git-pull-request",60004),gitPullRequestAbandoned:s("git-pull-request-abandoned",60004),recordKeys:s("record-keys",60005),keyboard:s("keyboard",60005),tag:s("tag",60006),gitPullRequestLabel:s("git-pull-request-label",60006),tagAdd:s("tag-add",60006),tagRemove:s("tag-remove",60006),person:s("person",60007),personFollow:s("person-follow",60007),personOutline:s("person-outline",60007),personFilled:s("person-filled",60007),gitBranch:s("git-branch",60008),gitBranchCreate:s("git-branch-create",60008),gitBranchDelete:s("git-branch-delete",60008),sourceControl:s("source-control",60008),mirror:s("mirror",60009),mirrorPublic:s("mirror-public",60009),star:s("star",60010),starAdd:s("star-add",60010),starDelete:s("star-delete",60010),starEmpty:s("star-empty",60010),comment:s("comment",60011),commentAdd:s("comment-add",60011),alert:s("alert",60012),warning:s("warning",60012),search:s("search",60013),searchSave:s("search-save",60013),logOut:s("log-out",60014),signOut:s("sign-out",60014),logIn:s("log-in",60015),signIn:s("sign-in",60015),eye:s("eye",60016),eyeUnwatch:s("eye-unwatch",60016),eyeWatch:s("eye-watch",60016),circleFilled:s("circle-filled",60017),primitiveDot:s("primitive-dot",60017),closeDirty:s("close-dirty",60017),debugBreakpoint:s("debug-breakpoint",60017),debugBreakpointDisabled:s("debug-breakpoint-disabled",60017),debugHint:s("debug-hint",60017),terminalDecorationSuccess:s("terminal-decoration-success",60017),primitiveSquare:s("primitive-square",60018),edit:s("edit",60019),pencil:s("pencil",60019),info:s("info",60020),issueOpened:s("issue-opened",60020),gistPrivate:s("gist-private",60021),gitForkPrivate:s("git-fork-private",60021),lock:s("lock",60021),mirrorPrivate:s("mirror-private",60021),close:s("close",60022),removeClose:s("remove-close",60022),x:s("x",60022),repoSync:s("repo-sync",60023),sync:s("sync",60023),clone:s("clone",60024),desktopDownload:s("desktop-download",60024),beaker:s("beaker",60025),microscope:s("microscope",60025),vm:s("vm",60026),deviceDesktop:s("device-desktop",60026),file:s("file",60027),fileText:s("file-text",60027),more:s("more",60028),ellipsis:s("ellipsis",60028),kebabHorizontal:s("kebab-horizontal",60028),mailReply:s("mail-reply",60029),reply:s("reply",60029),organization:s("organization",60030),organizationFilled:s("organization-filled",60030),organizationOutline:s("organization-outline",60030),newFile:s("new-file",60031),fileAdd:s("file-add",60031),newFolder:s("new-folder",60032),fileDirectoryCreate:s("file-directory-create",60032),trash:s("trash",60033),trashcan:s("trashcan",60033),history:s("history",60034),clock:s("clock",60034),folder:s("folder",60035),fileDirectory:s("file-directory",60035),symbolFolder:s("symbol-folder",60035),logoGithub:s("logo-github",60036),markGithub:s("mark-github",60036),github:s("github",60036),terminal:s("terminal",60037),console:s("console",60037),repl:s("repl",60037),zap:s("zap",60038),symbolEvent:s("symbol-event",60038),error:s("error",60039),stop:s("stop",60039),variable:s("variable",60040),symbolVariable:s("symbol-variable",60040),array:s("array",60042),symbolArray:s("symbol-array",60042),symbolModule:s("symbol-module",60043),symbolPackage:s("symbol-package",60043),symbolNamespace:s("symbol-namespace",60043),symbolObject:s("symbol-object",60043),symbolMethod:s("symbol-method",60044),symbolFunction:s("symbol-function",60044),symbolConstructor:s("symbol-constructor",60044),symbolBoolean:s("symbol-boolean",60047),symbolNull:s("symbol-null",60047),symbolNumeric:s("symbol-numeric",60048),symbolNumber:s("symbol-number",60048),symbolStructure:s("symbol-structure",60049),symbolStruct:s("symbol-struct",60049),symbolParameter:s("symbol-parameter",60050),symbolTypeParameter:s("symbol-type-parameter",60050),symbolKey:s("symbol-key",60051),symbolText:s("symbol-text",60051),symbolReference:s("symbol-reference",60052),goToFile:s("go-to-file",60052),symbolEnum:s("symbol-enum",60053),symbolValue:s("symbol-value",60053),symbolRuler:s("symbol-ruler",60054),symbolUnit:s("symbol-unit",60054),activateBreakpoints:s("activate-breakpoints",60055),archive:s("archive",60056),arrowBoth:s("arrow-both",60057),arrowDown:s("arrow-down",60058),arrowLeft:s("arrow-left",60059),arrowRight:s("arrow-right",60060),arrowSmallDown:s("arrow-small-down",60061),arrowSmallLeft:s("arrow-small-left",60062),arrowSmallRight:s("arrow-small-right",60063),arrowSmallUp:s("arrow-small-up",60064),arrowUp:s("arrow-up",60065),bell:s("bell",60066),bold:s("bold",60067),book:s("book",60068),bookmark:s("bookmark",60069),debugBreakpointConditionalUnverified:s("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:s("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:s("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:s("debug-breakpoint-data-unverified",60072),debugBreakpointData:s("debug-breakpoint-data",60073),debugBreakpointDataDisabled:s("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:s("debug-breakpoint-log-unverified",60074),debugBreakpointLog:s("debug-breakpoint-log",60075),debugBreakpointLogDisabled:s("debug-breakpoint-log-disabled",60075),briefcase:s("briefcase",60076),broadcast:s("broadcast",60077),browser:s("browser",60078),bug:s("bug",60079),calendar:s("calendar",60080),caseSensitive:s("case-sensitive",60081),check:s("check",60082),checklist:s("checklist",60083),chevronDown:s("chevron-down",60084),chevronLeft:s("chevron-left",60085),chevronRight:s("chevron-right",60086),chevronUp:s("chevron-up",60087),chromeClose:s("chrome-close",60088),chromeMaximize:s("chrome-maximize",60089),chromeMinimize:s("chrome-minimize",60090),chromeRestore:s("chrome-restore",60091),circleOutline:s("circle-outline",60092),circle:s("circle",60092),debugBreakpointUnverified:s("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:s("terminal-decoration-incomplete",60092),circleSlash:s("circle-slash",60093),circuitBoard:s("circuit-board",60094),clearAll:s("clear-all",60095),clippy:s("clippy",60096),closeAll:s("close-all",60097),cloudDownload:s("cloud-download",60098),cloudUpload:s("cloud-upload",60099),code:s("code",60100),collapseAll:s("collapse-all",60101),colorMode:s("color-mode",60102),commentDiscussion:s("comment-discussion",60103),creditCard:s("credit-card",60105),dash:s("dash",60108),dashboard:s("dashboard",60109),database:s("database",60110),debugContinue:s("debug-continue",60111),debugDisconnect:s("debug-disconnect",60112),debugPause:s("debug-pause",60113),debugRestart:s("debug-restart",60114),debugStart:s("debug-start",60115),debugStepInto:s("debug-step-into",60116),debugStepOut:s("debug-step-out",60117),debugStepOver:s("debug-step-over",60118),debugStop:s("debug-stop",60119),debug:s("debug",60120),deviceCameraVideo:s("device-camera-video",60121),deviceCamera:s("device-camera",60122),deviceMobile:s("device-mobile",60123),diffAdded:s("diff-added",60124),diffIgnored:s("diff-ignored",60125),diffModified:s("diff-modified",60126),diffRemoved:s("diff-removed",60127),diffRenamed:s("diff-renamed",60128),diff:s("diff",60129),diffSidebyside:s("diff-sidebyside",60129),discard:s("discard",60130),editorLayout:s("editor-layout",60131),emptyWindow:s("empty-window",60132),exclude:s("exclude",60133),extensions:s("extensions",60134),eyeClosed:s("eye-closed",60135),fileBinary:s("file-binary",60136),fileCode:s("file-code",60137),fileMedia:s("file-media",60138),filePdf:s("file-pdf",60139),fileSubmodule:s("file-submodule",60140),fileSymlinkDirectory:s("file-symlink-directory",60141),fileSymlinkFile:s("file-symlink-file",60142),fileZip:s("file-zip",60143),files:s("files",60144),filter:s("filter",60145),flame:s("flame",60146),foldDown:s("fold-down",60147),foldUp:s("fold-up",60148),fold:s("fold",60149),folderActive:s("folder-active",60150),folderOpened:s("folder-opened",60151),gear:s("gear",60152),gift:s("gift",60153),gistSecret:s("gist-secret",60154),gist:s("gist",60155),gitCommit:s("git-commit",60156),gitCompare:s("git-compare",60157),compareChanges:s("compare-changes",60157),gitMerge:s("git-merge",60158),githubAction:s("github-action",60159),githubAlt:s("github-alt",60160),globe:s("globe",60161),grabber:s("grabber",60162),graph:s("graph",60163),gripper:s("gripper",60164),heart:s("heart",60165),home:s("home",60166),horizontalRule:s("horizontal-rule",60167),hubot:s("hubot",60168),inbox:s("inbox",60169),issueReopened:s("issue-reopened",60171),issues:s("issues",60172),italic:s("italic",60173),jersey:s("jersey",60174),json:s("json",60175),kebabVertical:s("kebab-vertical",60176),key:s("key",60177),law:s("law",60178),lightbulbAutofix:s("lightbulb-autofix",60179),linkExternal:s("link-external",60180),link:s("link",60181),listOrdered:s("list-ordered",60182),listUnordered:s("list-unordered",60183),liveShare:s("live-share",60184),loading:s("loading",60185),location:s("location",60186),mailRead:s("mail-read",60187),mail:s("mail",60188),markdown:s("markdown",60189),megaphone:s("megaphone",60190),mention:s("mention",60191),milestone:s("milestone",60192),gitPullRequestMilestone:s("git-pull-request-milestone",60192),mortarBoard:s("mortar-board",60193),move:s("move",60194),multipleWindows:s("multiple-windows",60195),mute:s("mute",60196),noNewline:s("no-newline",60197),note:s("note",60198),octoface:s("octoface",60199),openPreview:s("open-preview",60200),package:s("package",60201),paintcan:s("paintcan",60202),pin:s("pin",60203),play:s("play",60204),run:s("run",60204),plug:s("plug",60205),preserveCase:s("preserve-case",60206),preview:s("preview",60207),project:s("project",60208),pulse:s("pulse",60209),question:s("question",60210),quote:s("quote",60211),radioTower:s("radio-tower",60212),reactions:s("reactions",60213),references:s("references",60214),refresh:s("refresh",60215),regex:s("regex",60216),remoteExplorer:s("remote-explorer",60217),remote:s("remote",60218),remove:s("remove",60219),replaceAll:s("replace-all",60220),replace:s("replace",60221),repoClone:s("repo-clone",60222),repoForcePush:s("repo-force-push",60223),repoPull:s("repo-pull",60224),repoPush:s("repo-push",60225),report:s("report",60226),requestChanges:s("request-changes",60227),rocket:s("rocket",60228),rootFolderOpened:s("root-folder-opened",60229),rootFolder:s("root-folder",60230),rss:s("rss",60231),ruby:s("ruby",60232),saveAll:s("save-all",60233),saveAs:s("save-as",60234),save:s("save",60235),screenFull:s("screen-full",60236),screenNormal:s("screen-normal",60237),searchStop:s("search-stop",60238),server:s("server",60240),settingsGear:s("settings-gear",60241),settings:s("settings",60242),shield:s("shield",60243),smiley:s("smiley",60244),sortPrecedence:s("sort-precedence",60245),splitHorizontal:s("split-horizontal",60246),splitVertical:s("split-vertical",60247),squirrel:s("squirrel",60248),starFull:s("star-full",60249),starHalf:s("star-half",60250),symbolClass:s("symbol-class",60251),symbolColor:s("symbol-color",60252),symbolConstant:s("symbol-constant",60253),symbolEnumMember:s("symbol-enum-member",60254),symbolField:s("symbol-field",60255),symbolFile:s("symbol-file",60256),symbolInterface:s("symbol-interface",60257),symbolKeyword:s("symbol-keyword",60258),symbolMisc:s("symbol-misc",60259),symbolOperator:s("symbol-operator",60260),symbolProperty:s("symbol-property",60261),wrench:s("wrench",60261),wrenchSubaction:s("wrench-subaction",60261),symbolSnippet:s("symbol-snippet",60262),tasklist:s("tasklist",60263),telescope:s("telescope",60264),textSize:s("text-size",60265),threeBars:s("three-bars",60266),thumbsdown:s("thumbsdown",60267),thumbsup:s("thumbsup",60268),tools:s("tools",60269),triangleDown:s("triangle-down",60270),triangleLeft:s("triangle-left",60271),triangleRight:s("triangle-right",60272),triangleUp:s("triangle-up",60273),twitter:s("twitter",60274),unfold:s("unfold",60275),unlock:s("unlock",60276),unmute:s("unmute",60277),unverified:s("unverified",60278),verified:s("verified",60279),versions:s("versions",60280),vmActive:s("vm-active",60281),vmOutline:s("vm-outline",60282),vmRunning:s("vm-running",60283),watch:s("watch",60284),whitespace:s("whitespace",60285),wholeWord:s("whole-word",60286),window:s("window",60287),wordWrap:s("word-wrap",60288),zoomIn:s("zoom-in",60289),zoomOut:s("zoom-out",60290),listFilter:s("list-filter",60291),listFlat:s("list-flat",60292),listSelection:s("list-selection",60293),selection:s("selection",60293),listTree:s("list-tree",60294),debugBreakpointFunctionUnverified:s("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:s("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:s("debug-breakpoint-function-disabled",60296),debugStackframeActive:s("debug-stackframe-active",60297),circleSmallFilled:s("circle-small-filled",60298),debugStackframeDot:s("debug-stackframe-dot",60298),terminalDecorationMark:s("terminal-decoration-mark",60298),debugStackframe:s("debug-stackframe",60299),debugStackframeFocused:s("debug-stackframe-focused",60299),debugBreakpointUnsupported:s("debug-breakpoint-unsupported",60300),symbolString:s("symbol-string",60301),debugReverseContinue:s("debug-reverse-continue",60302),debugStepBack:s("debug-step-back",60303),debugRestartFrame:s("debug-restart-frame",60304),debugAlt:s("debug-alt",60305),callIncoming:s("call-incoming",60306),callOutgoing:s("call-outgoing",60307),menu:s("menu",60308),expandAll:s("expand-all",60309),feedback:s("feedback",60310),gitPullRequestReviewer:s("git-pull-request-reviewer",60310),groupByRefType:s("group-by-ref-type",60311),ungroupByRefType:s("ungroup-by-ref-type",60312),account:s("account",60313),gitPullRequestAssignee:s("git-pull-request-assignee",60313),bellDot:s("bell-dot",60314),debugConsole:s("debug-console",60315),library:s("library",60316),output:s("output",60317),runAll:s("run-all",60318),syncIgnored:s("sync-ignored",60319),pinned:s("pinned",60320),githubInverted:s("github-inverted",60321),serverProcess:s("server-process",60322),serverEnvironment:s("server-environment",60323),pass:s("pass",60324),issueClosed:s("issue-closed",60324),stopCircle:s("stop-circle",60325),playCircle:s("play-circle",60326),record:s("record",60327),debugAltSmall:s("debug-alt-small",60328),vmConnect:s("vm-connect",60329),cloud:s("cloud",60330),merge:s("merge",60331),export:s("export",60332),graphLeft:s("graph-left",60333),magnet:s("magnet",60334),notebook:s("notebook",60335),redo:s("redo",60336),checkAll:s("check-all",60337),pinnedDirty:s("pinned-dirty",60338),passFilled:s("pass-filled",60339),circleLargeFilled:s("circle-large-filled",60340),circleLarge:s("circle-large",60341),circleLargeOutline:s("circle-large-outline",60341),combine:s("combine",60342),gather:s("gather",60342),table:s("table",60343),variableGroup:s("variable-group",60344),typeHierarchy:s("type-hierarchy",60345),typeHierarchySub:s("type-hierarchy-sub",60346),typeHierarchySuper:s("type-hierarchy-super",60347),gitPullRequestCreate:s("git-pull-request-create",60348),runAbove:s("run-above",60349),runBelow:s("run-below",60350),notebookTemplate:s("notebook-template",60351),debugRerun:s("debug-rerun",60352),workspaceTrusted:s("workspace-trusted",60353),workspaceUntrusted:s("workspace-untrusted",60354),workspaceUnknown:s("workspace-unknown",60355),terminalCmd:s("terminal-cmd",60356),terminalDebian:s("terminal-debian",60357),terminalLinux:s("terminal-linux",60358),terminalPowershell:s("terminal-powershell",60359),terminalTmux:s("terminal-tmux",60360),terminalUbuntu:s("terminal-ubuntu",60361),terminalBash:s("terminal-bash",60362),arrowSwap:s("arrow-swap",60363),copy:s("copy",60364),personAdd:s("person-add",60365),filterFilled:s("filter-filled",60366),wand:s("wand",60367),debugLineByLine:s("debug-line-by-line",60368),inspect:s("inspect",60369),layers:s("layers",60370),layersDot:s("layers-dot",60371),layersActive:s("layers-active",60372),compass:s("compass",60373),compassDot:s("compass-dot",60374),compassActive:s("compass-active",60375),azure:s("azure",60376),issueDraft:s("issue-draft",60377),gitPullRequestClosed:s("git-pull-request-closed",60378),gitPullRequestDraft:s("git-pull-request-draft",60379),debugAll:s("debug-all",60380),debugCoverage:s("debug-coverage",60381),runErrors:s("run-errors",60382),folderLibrary:s("folder-library",60383),debugContinueSmall:s("debug-continue-small",60384),beakerStop:s("beaker-stop",60385),graphLine:s("graph-line",60386),graphScatter:s("graph-scatter",60387),pieChart:s("pie-chart",60388),bracket:s("bracket",60175),bracketDot:s("bracket-dot",60389),bracketError:s("bracket-error",60390),lockSmall:s("lock-small",60391),azureDevops:s("azure-devops",60392),verifiedFilled:s("verified-filled",60393),newline:s("newline",60394),layout:s("layout",60395),layoutActivitybarLeft:s("layout-activitybar-left",60396),layoutActivitybarRight:s("layout-activitybar-right",60397),layoutPanelLeft:s("layout-panel-left",60398),layoutPanelCenter:s("layout-panel-center",60399),layoutPanelJustify:s("layout-panel-justify",60400),layoutPanelRight:s("layout-panel-right",60401),layoutPanel:s("layout-panel",60402),layoutSidebarLeft:s("layout-sidebar-left",60403),layoutSidebarRight:s("layout-sidebar-right",60404),layoutStatusbar:s("layout-statusbar",60405),layoutMenubar:s("layout-menubar",60406),layoutCentered:s("layout-centered",60407),target:s("target",60408),indent:s("indent",60409),recordSmall:s("record-small",60410),errorSmall:s("error-small",60411),terminalDecorationError:s("terminal-decoration-error",60411),arrowCircleDown:s("arrow-circle-down",60412),arrowCircleLeft:s("arrow-circle-left",60413),arrowCircleRight:s("arrow-circle-right",60414),arrowCircleUp:s("arrow-circle-up",60415),layoutSidebarRightOff:s("layout-sidebar-right-off",60416),layoutPanelOff:s("layout-panel-off",60417),layoutSidebarLeftOff:s("layout-sidebar-left-off",60418),blank:s("blank",60419),heartFilled:s("heart-filled",60420),map:s("map",60421),mapHorizontal:s("map-horizontal",60421),foldHorizontal:s("fold-horizontal",60421),mapFilled:s("map-filled",60422),mapHorizontalFilled:s("map-horizontal-filled",60422),foldHorizontalFilled:s("fold-horizontal-filled",60422),circleSmall:s("circle-small",60423),bellSlash:s("bell-slash",60424),bellSlashDot:s("bell-slash-dot",60425),commentUnresolved:s("comment-unresolved",60426),gitPullRequestGoToChanges:s("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:s("git-pull-request-new-changes",60428),searchFuzzy:s("search-fuzzy",60429),commentDraft:s("comment-draft",60430),send:s("send",60431),sparkle:s("sparkle",60432),insert:s("insert",60433),mic:s("mic",60434),thumbsdownFilled:s("thumbsdown-filled",60435),thumbsupFilled:s("thumbsup-filled",60436),coffee:s("coffee",60437),snake:s("snake",60438),game:s("game",60439),vr:s("vr",60440),chip:s("chip",60441),piano:s("piano",60442),music:s("music",60443),micFilled:s("mic-filled",60444),repoFetch:s("repo-fetch",60445),copilot:s("copilot",60446),lightbulbSparkle:s("lightbulb-sparkle",60447),robot:s("robot",60448),sparkleFilled:s("sparkle-filled",60449),diffSingle:s("diff-single",60450),diffMultiple:s("diff-multiple",60451),surroundWith:s("surround-with",60452),share:s("share",60453),gitStash:s("git-stash",60454),gitStashApply:s("git-stash-apply",60455),gitStashPop:s("git-stash-pop",60456),vscode:s("vscode",60457),vscodeInsiders:s("vscode-insiders",60458),codeOss:s("code-oss",60459),runCoverage:s("run-coverage",60460),runAllCoverage:s("run-all-coverage",60461),coverage:s("coverage",60462),githubProject:s("github-project",60463),mapVertical:s("map-vertical",60464),foldVertical:s("fold-vertical",60464),mapVerticalFilled:s("map-vertical-filled",60465),foldVerticalFilled:s("fold-vertical-filled",60465),goToSearch:s("go-to-search",60466),percentage:s("percentage",60467),sortPercentage:s("sort-percentage",60467),attach:s("attach",60468)},...{dialogError:s("dialog-error","error"),dialogWarning:s("dialog-warning","warning"),dialogInfo:s("dialog-info","info"),dialogClose:s("dialog-close","close"),treeItemExpanded:s("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:s("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:s("tree-filter-on-type-off","list-selection"),treeFilterClear:s("tree-filter-clear","close"),treeItemLoading:s("tree-item-loading","loading"),menuSelection:s("menu-selection","check"),menuSubmenu:s("menu-submenu","chevron-right"),menuBarMore:s("menubar-more","more"),scrollbarButtonLeft:s("scrollbar-button-left","triangle-left"),scrollbarButtonRight:s("scrollbar-button-right","triangle-right"),scrollbarButtonUp:s("scrollbar-button-up","triangle-up"),scrollbarButtonDown:s("scrollbar-button-down","triangle-down"),toolBarMore:s("toolbar-more","more"),quickInputBack:s("quick-input-back","arrow-left"),dropDownButton:s("drop-down-button",60084),symbolCustomColor:s("symbol-customcolor",60252),exportIcon:s("export",60332),workspaceUnspecified:s("workspace-unspecified",60355),newLine:s("newline",60394),thumbsDownFilled:s("thumbsdown-filled",60435),thumbsUpFilled:s("thumbsup-filled",60436),gitFetch:s("git-fetch",60445),lightbulbSparkleAutofix:s("lightbulb-sparkle-autofix",60447),debugBreakpointPending:s("debug-breakpoint-pending",60377)}}},4901:(e,t,n)=>{"use strict";function r(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}n.d(t,{Q1:()=>a,bU:()=>i,hB:()=>s});class i{constructor(e,t,n,i=1){this._rgbaBrand=void 0,this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,n)),this.a=r(Math.max(Math.min(1,i),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class s{constructor(e,t,n,i){this._hslaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=r(Math.max(Math.min(1,t),0),3),this.l=r(Math.max(Math.min(1,n),0),3),this.a=r(Math.max(Math.min(1,i),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(e){const t=e.r/255,n=e.g/255,r=e.b/255,i=e.a,o=Math.max(t,n,r),a=Math.min(t,n,r);let l=0,c=0;const h=(a+o)/2,u=o-a;if(u>0){switch(c=Math.min(h<=.5?u/(2*h):u/(2-2*h),1),o){case t:l=(n-r)/u+(n<r?6:0);break;case n:l=(r-t)/u+2;break;case r:l=(t-n)/u+4}l*=60,l=Math.round(l)}return new s(l,c,h,i)}static _hue2rgb(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(e){const t=e.h/360,{s:n,l:r,a:o}=e;let a,l,c;if(0===n)a=l=c=r;else{const e=r<.5?r*(1+n):r+n-r*n,i=2*r-e;a=s._hue2rgb(i,e,t+1/3),l=s._hue2rgb(i,e,t),c=s._hue2rgb(i,e,t-1/3)}return new i(Math.round(255*a),Math.round(255*l),Math.round(255*c),o)}}class o{constructor(e,t,n,i){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=r(Math.max(Math.min(1,t),0),3),this.v=r(Math.max(Math.min(1,n),0),3),this.a=r(Math.max(Math.min(1,i),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(e){const t=e.r/255,n=e.g/255,r=e.b/255,i=Math.max(t,n,r),s=i-Math.min(t,n,r),a=0===i?0:s/i;let l;return l=0===s?0:i===t?((n-r)/s%6+6)%6:i===n?(r-t)/s+2:(t-n)/s+4,new o(Math.round(60*l),a,i,e.a)}static toRGBA(e){const{h:t,s:n,v:r,a:s}=e,o=r*n,a=o*(1-Math.abs(t/60%2-1)),l=r-o;let[c,h,u]=[0,0,0];return t<60?(c=o,h=a):t<120?(c=a,h=o):t<180?(h=o,u=a):t<240?(h=a,u=o):t<300?(c=a,u=o):t<=360&&(c=o,u=a),c=Math.round(255*(c+l)),h=Math.round(255*(h+l)),u=Math.round(255*(u+l)),new i(c,h,u,s)}}class a{static fromHex(e){return a.Format.CSS.parseHex(e)||a.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:s.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:o.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof i)this.rgba=e;else if(e instanceof s)this._hsla=e,this.rgba=s.toRGBA(e);else{if(!(e instanceof o))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=o.toRGBA(e)}}equals(e){return!!e&&i.equals(this.rgba,e.rgba)&&s.equals(this.hsla,e.hsla)&&o.equals(this.hsva,e.hsva)}getRelativeLuminance(){return r(.2126*a._relativeLuminanceForComponent(this.rgba.r)+.7152*a._relativeLuminanceForComponent(this.rgba.g)+.0722*a._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()<e.getRelativeLuminance()}lighten(e){return new a(new s(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new a(new s(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:t,g:n,b:r,a:s}=this.rgba;return new a(new i(t,n,r,s*e))}isTransparent(){return 0===this.rgba.a}isOpaque(){return 1===this.rgba.a}opposite(){return new a(new i(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}makeOpaque(e){if(this.isOpaque()||1!==e.rgba.a)return this;const{r:t,g:n,b:r,a:s}=this.rgba;return new a(new i(e.rgba.r-s*(e.rgba.r-t),e.rgba.g-s*(e.rgba.g-n),e.rgba.b-s*(e.rgba.b-r),1))}toString(){return this._toString||(this._toString=a.Format.CSS.format(this)),this._toString}static getLighterColor(e,t,n){if(e.isLighterThan(t))return e;n=n||.5;const 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=n||.5;const r=e.getRelativeLuminance();return n=n*(r-t.getRelativeLuminance())/r,e.darken(n)}static{this.white=new a(new i(255,255,255,1))}static{this.black=new a(new i(0,0,0,1))}static{this.red=new a(new i(255,0,0,1))}static{this.blue=new a(new i(0,0,255,1))}static{this.green=new a(new i(0,255,0,1))}static{this.cyan=new a(new i(0,255,255,1))}static{this.lightgrey=new a(new i(211,211,211,1))}static{this.transparent=new a(new i(0,0,0,0))}}!function(e){let t;!function(t){let n;!function(t){function n(e){const t=e.toString(16);return 2!==t.length?"0"+t:t}function r(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:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}return 0}t.formatRGB=function(t){return 1===t.rgba.a?`rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})`:e.Format.CSS.formatRGBA(t)},t.formatRGBA=function(e){return`rgba(${e.rgba.r}, ${e.rgba.g}, ${e.rgba.b}, ${+e.rgba.a.toFixed(2)})`},t.formatHSL=function(t){return 1===t.hsla.a?`hsl(${t.hsla.h}, ${(100*t.hsla.s).toFixed(2)}%, ${(100*t.hsla.l).toFixed(2)}%)`:e.Format.CSS.formatHSLA(t)},t.formatHSLA=function(e){return`hsla(${e.hsla.h}, ${(100*e.hsla.s).toFixed(2)}%, ${(100*e.hsla.l).toFixed(2)}%, ${e.hsla.a.toFixed(2)})`},t.formatHex=function(e){return`#${n(e.rgba.r)}${n(e.rgba.g)}${n(e.rgba.b)}`},t.formatHexA=function(t,r=!1){return r&&1===t.rgba.a?e.Format.CSS.formatHex(t):`#${n(t.rgba.r)}${n(t.rgba.g)}${n(t.rgba.b)}${n(Math.round(255*t.rgba.a))}`},t.format=function(t){return t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t)},t.parseHex=function(t){const n=t.length;if(0===n)return null;if(35!==t.charCodeAt(0))return null;if(7===n){const n=16*r(t.charCodeAt(1))+r(t.charCodeAt(2)),s=16*r(t.charCodeAt(3))+r(t.charCodeAt(4)),o=16*r(t.charCodeAt(5))+r(t.charCodeAt(6));return new e(new i(n,s,o,1))}if(9===n){const n=16*r(t.charCodeAt(1))+r(t.charCodeAt(2)),s=16*r(t.charCodeAt(3))+r(t.charCodeAt(4)),o=16*r(t.charCodeAt(5))+r(t.charCodeAt(6)),a=16*r(t.charCodeAt(7))+r(t.charCodeAt(8));return new e(new i(n,s,o,a/255))}if(4===n){const n=r(t.charCodeAt(1)),s=r(t.charCodeAt(2)),o=r(t.charCodeAt(3));return new e(new i(16*n+n,16*s+s,16*o+o))}if(5===n){const n=r(t.charCodeAt(1)),s=r(t.charCodeAt(2)),o=r(t.charCodeAt(3)),a=r(t.charCodeAt(4));return new e(new i(16*n+n,16*s+s,16*o+o,(16*a+a)/255))}return null}}(n=t.CSS||(t.CSS={}))}(t=e.Format||(e.Format={}))}(a||(a={}))},4327:(e,t,n)=>{"use strict";n.d(t,{D7:()=>g,EM:()=>u,Qg:()=>c,cU:()=>s,dz:()=>i,iH:()=>h});const r=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(d.isErrorNoTelemetry(e))throw new d(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function i(e){a(e)||r.onUnexpectedError(e)}function s(e){if(e instanceof Error){const{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:d.isErrorNoTelemetry(e)}}return e}const o="Canceled";function a(e){return e instanceof l||e instanceof Error&&e.name===o&&e.message===o}class l extends Error{constructor(){super(o),this.name=this.message}}function c(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function h(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class u extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class d extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof d)return e;const t=new d;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class g extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,g.prototype)}}},2106:(e,t,n)=>{"use strict";n.d(t,{Jh:()=>o,vl:()=>f});var r=n(4327),i=n(2446),s=(n(5525),n(3013));var o;!function(e){function t(e){false}function n(e){return(t,n=null,r)=>{let i,s=!1;return i=e((e=>{if(!s)return i?i.dispose():s=!0,t.call(n,e)}),null,r),s&&i.dispose(),i}}function r(e,t,n){return o(((n,r=null,i)=>e((e=>n.call(r,t(e))),null,i)),n)}function s(e,t,n){return o(((n,r=null,i)=>e((e=>t(e)&&n.call(r,e)),null,i)),n)}function o(e,n){let r;const i={onWillAddFirstListener(){r=e(s.fire,s)},onDidRemoveLastListener(){r?.dispose()}};n||t();const s=new f(i);return n?.add(s),s.event}function a(e,n,r=100,i=!1,s=!1,o,a){let l,c,h,u,d=0;const g={leakWarningThreshold:o,onWillAddFirstListener(){l=e((e=>{d++,c=n(c,e),i&&!h&&(m.fire(c),c=void 0),u=()=>{const e=c;c=void 0,h=void 0,(!i||d>1)&&m.fire(e),d=0},"number"==typeof r?(clearTimeout(h),h=setTimeout(u,r)):void 0===h&&(h=0,queueMicrotask(u))}))},onWillRemoveListener(){s&&d>0&&u?.()},onDidRemoveLastListener(){u=void 0,l.dispose()}};a||t();const m=new f(g);return a?.add(m),m.event}e.None=()=>i.jG.None,e.defer=function(e,t){return a(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=n,e.onceIf=function(t,n){return e.once(e.filter(t,n))},e.map=r,e.forEach=function(e,t,n){return o(((n,r=null,i)=>e((e=>{t(e),n.call(r,e)}),null,i)),n)},e.filter=s,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,r)=>function(e,t){t instanceof Array?t.push(e):t&&t.add(e);return e}((0,i.qE)(...e.map((e=>e((e=>t.call(n,e)))))),r)},e.reduce=function(e,t,n,i){let s=n;return r(e,(e=>(s=t(s,e),s)),i)},e.debounce=a,e.accumulate=function(t,n=0,r){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),n,void 0,!0,void 0,r)},e.latch=function(e,t=(e,t)=>e===t,n){let r,i=!0;return s(e,(e=>{const n=i||!t(e,r);return i=!1,r=e,n}),n)},e.split=function(t,n,r){return[e.filter(t,n,r),e.filter(t,(e=>!n(e)),r)]},e.buffer=function(e,t=!1,n=[],r){let i=n.slice(),s=e((e=>{i?i.push(e):a.fire(e)}));r&&r.add(s);const o=()=>{i?.forEach((e=>a.fire(e))),i=null},a=new f({onWillAddFirstListener(){s||(s=e((e=>a.fire(e))),r&&r.add(s))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){s&&s.dispose(),s=null}});return r&&r.add(a),a.event},e.chain=function(e,t){return(n,r,i)=>{const s=t(new c);return e((function(e){const t=s.evaluate(e);t!==l&&n.call(r,t)}),void 0,i)}};const l=Symbol("HaltChainable");class c{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:l)),this}reduce(e,t){let n=t;return this.steps.push((t=>(n=e(n,t),n))),this}latch(e=(e,t)=>e===t){let t,n=!0;return this.steps.push((r=>{const i=n||!e(r,t);return n=!1,t=r,i?r:l})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===l)break;return e}}e.fromNodeEventEmitter=function(e,t,n=e=>e){const r=(...e)=>i.fire(n(...e)),i=new f({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event},e.fromDOMEventEmitter=function(e,t,n=e=>e){const r=(...e)=>i.fire(n(...e)),i=new f({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event},e.toPromise=function(e){return new Promise((t=>n(e)(t)))},e.fromPromise=function(e){const t=new f;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.forward=function(e,t){return e((e=>t.fire(e)))},e.runAndSubscribe=function(e,t,n){return t(n),e((e=>t(e)))};class h{constructor(e,n){this._observable=e,this._counter=0,this._hasChanged=!1;const r={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};n||t(),this.emitter=new f(r),n&&n.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new h(e,t).emitter.event},e.fromObservableLight=function(e){return(t,n,r)=>{let s=0,o=!1;const a={beginUpdate(){s++},endUpdate(){s--,0===s&&(e.reportChanges(),o&&(o=!1,t.call(n)))},handlePossibleChange(){},handleChange(){o=!0}};e.addObserver(a),e.reportChanges();const l={dispose(){e.removeObserver(a)}};return r instanceof i.Cm?r.add(l):Array.isArray(r)&&r.push(l),l}}}(o||(o={}));class a{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${a._idPool++}`,a.all.add(this)}start(e){this._stopWatch=new s.W,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}class l{static{this._idPool=1}constructor(e,t,n=(l._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=n,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const n=this.threshold;if(n<=0||t<n)return;this._stacks||(this._stacks=new Map);const r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=.5*n;const[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);const s=new h(i,e);this._errorHandler(s)}return()=>{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}}class c{static create(){const e=new Error;return new c(e.stack??"")}constructor(e){this.value=e}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class h extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}}class u extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}}class d{constructor(e){this.value=e}}let g;class f{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new l(e?.onListenerError??r.dz,this._options?.leakWarningThreshold??-1):void 0,this._perfMon=this._options?._profName?new a(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],n=new u(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||r.dz)(n),i.jG.None}if(this._disposed)return i.jG.None;t&&(e=e.bind(t));const s=new d(e);let o;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(s.stack=c.create(),o=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof d?(this._deliveryQueue??=new m,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=(0,i.s)((()=>{g?.unregister(a),o?.(),this._removeListener(s)}));if(n instanceof i.Cm?n.add(a):Array.isArray(n)&&n.push(a),g){const e=(new Error).stack.split("\n").slice(2,3).join("\n").trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);g.register(a,t?.[2]??e,a)}return a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,n=t.indexOf(e);if(-1===n)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[n]=void 0;const r=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;const n=this._options?.onListenerError||r.dz;if(n)try{e.value(t)}catch(i){n(i)}else e.value(t)}_deliverQueue(e){const t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof d)this._deliver(this._listeners,e);else{const t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}else;this._perfMon?.stop()}hasListeners(){return this._size>0}}class m{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}},8518:(e,t,n)=>{"use strict";n.d(t,{TH:()=>o,Zn:()=>l,_1:()=>c,kb:()=>a});var r=n(1570),i=(n(3339),n(6844));function s(e){return 47===e||92===e}function o(e){return e.replace(/[\\/]/g,r.SA.sep)}function a(e){return-1===e.indexOf("/")&&(e=o(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e="/"+e),e}function l(e,t=r.SA.sep){if(!e)return"";const n=e.length,i=e.charCodeAt(0);if(s(i)){if(s(e.charCodeAt(1))&&!s(e.charCodeAt(2))){let r=3;const i=r;for(;r<n&&!s(e.charCodeAt(r));r++);if(i!==r&&!s(e.charCodeAt(r+1)))for(r+=1;r<n;r++)if(s(e.charCodeAt(r)))return e.slice(0,r+1).replace(/[\\/]/g,t)}return t}if(h(i)&&58===e.charCodeAt(1))return s(e.charCodeAt(2))?e.slice(0,2)+t:e.slice(0,2);let o=e.indexOf("://");if(-1!==o)for(o+=3;o<n;o++)if(s(e.charCodeAt(o)))return e.slice(0,o+1);return""}function c(e,t,n,s=r.Vn){if(e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(n){if(!(0,i.ns)(e,t))return!1;if(t.length===e.length)return!0;let n=t.length;return t.charAt(t.length-1)===s&&n--,e.charAt(n)===s}return t.charAt(t.length-1)!==s&&(t+=s),0===e.indexOf(t)}function h(e){return e>=65&&e<=90||e>=97&&e<=122}},3958:(e,t,n)=>{"use strict";n.d(t,{YW:()=>A,qg:()=>I});var r=n(2866),i=n(8518),s=n(7992),o=n(1570),a=n(3339),l=n(6844);const c="**",h="/",u="[/\\\\]",d="[^/\\\\]",g=/\//g;function f(e,t){switch(e){case 0:return"";case 1:return`${d}*?`;default:return`(?:${u}|${d}+${u}${t?`|${u}${d}+`:""})*?`}}function m(e,t){if(!e)return[];const n=[];let r=!1,i=!1,s="";for(const o of e){switch(o){case t:if(!r&&!i){n.push(s),s="";continue}break;case"{":r=!0;break;case"}":r=!1;break;case"[":i=!0;break;case"]":i=!1}s+=o}return s&&n.push(s),n}function p(e){if(!e)return"";let t="";const n=m(e,h);if(n.every((e=>e===c)))t=".*";else{let e=!1;n.forEach(((r,i)=>{if(r===c){if(e)return;t+=f(2,i===n.length-1)}else{let e=!1,s="",o=!1,a="";for(const n of r)if("}"!==n&&e)s+=n;else if(!o||"]"===n&&a)switch(n){case"{":e=!0;continue;case"[":o=!0;continue;case"}":{const n=`(?:${m(s,",").map((e=>p(e))).join("|")})`;t+=n,e=!1,s="";break}case"]":t+="["+a+"]",o=!1,a="";break;case"?":t+=d;continue;case"*":t+=f(1);continue;default:t+=(0,l.bm)(n)}else{let e;e="-"===n?n:"^"!==n&&"!"!==n||a?n===h?"":(0,l.bm)(n):"^",a+=e}i<n.length-1&&(n[i+1]!==c||i+2<n.length)&&(t+=u)}e=r===c}))}return t}const b=/^\*\*\/\*\.[\w\.-]+$/,_=/^\*\*\/([\w\.-]+)\/?$/,k=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,v=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,C=/^\*\*((\/[\w\.-]+)+)\/?$/,y=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,L=new s.qK(1e4),w=function(){return!1},S=function(){return null};function x(e,t){if(!e)return S;let n;n="string"!=typeof e?e.pattern:e,n=n.trim();const r=`${n}_${!!t.trimForExclusions}`;let i,s=L.get(r);return s||(s=b.test(n)?function(e,t){return function(n,r){return"string"==typeof n&&n.endsWith(e)?t:null}}(n.substr(4),n):(i=_.exec(N(n,t)))?function(e,t){const n=`/${e}`,r=`\\${e}`,i=function(i,s){return"string"!=typeof i?null:s?s===e?t:null:i===e||i.endsWith(n)||i.endsWith(r)?t:null},s=[e];return i.basenames=s,i.patterns=[t],i.allBasenames=s,i}(i[1],n):(t.trimForExclusions?v:k).test(n)?function(e,t){const n=O(e.slice(1,-1).split(",").map((e=>x(e,t))).filter((e=>e!==S)),e),r=n.length;if(!r)return S;if(1===r)return n[0];const i=function(t,r){for(let i=0,s=n.length;i<s;i++)if(n[i](t,r))return e;return null},s=n.find((e=>!!e.allBasenames));s&&(i.allBasenames=s.allBasenames);const o=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);o.length&&(i.allPaths=o);return i}(n,t):(i=C.exec(N(n,t)))?T(i[1].substr(1),n,!0):(i=y.exec(N(n,t)))?T(i[1],n,!1):function(e){try{const t=new RegExp(`^${p(e)}$`);return function(n){return t.lastIndex=0,"string"==typeof n&&t.test(n)?e:null}}catch(t){return S}}(n),L.set(r,s)),E(s,e)}function E(e,t){if("string"==typeof t)return e;const n=function(n,r){return(0,i._1)(n,t.base,!a.j9)?e((0,l.NB)(n.substr(t.base.length),o.Vn),r):null};return n.allBasenames=e.allBasenames,n.allPaths=e.allPaths,n.basenames=e.basenames,n.patterns=e.patterns,n}function N(e,t){return t.trimForExclusions&&e.endsWith("/**")?e.substr(0,e.length-2):e}function T(e,t,n){const r=o.Vn===o.SA.sep,i=r?e:e.replace(g,o.Vn),s=o.Vn+i,a=o.SA.sep+e;let l;return l=n?function(n,o){return"string"!=typeof n||n!==i&&!n.endsWith(s)&&(r||n!==e&&!n.endsWith(a))?null:t}:function(n,s){return"string"!=typeof n||n!==i&&(r||n!==e)?null:t},l.allPaths=[(n?"*/":"./")+e],l}function A(e,t,n){return!(!e||"string"!=typeof t)&&I(e)(t,void 0,n)}function I(e,t={}){if(!e)return w;if("string"==typeof e||function(e){const t=e;if(!t)return!1;return"string"==typeof t.base&&"string"==typeof t.pattern}(e)){const n=x(e,t);if(n===S)return w;const r=function(e,t){return!!n(e,t)};return n.allBasenames&&(r.allBasenames=n.allBasenames),n.allPaths&&(r.allPaths=n.allPaths),r}return function(e,t){const n=O(Object.getOwnPropertyNames(e).map((n=>function(e,t,n){if(!1===t)return S;const i=x(e,n);if(i===S)return S;if("boolean"==typeof t)return i;if(t){const n=t.when;if("string"==typeof n){const t=(t,s,o,a)=>{if(!a||!i(t,s))return null;const l=a(n.replace("$(basename)",(()=>o)));return(0,r.Qg)(l)?l.then((t=>t?e:null)):l?e:null};return t.requiresSiblings=!0,t}}return i}(n,e[n],t))).filter((e=>e!==S))),i=n.length;if(!i)return S;if(!n.some((e=>!!e.requiresSiblings))){if(1===i)return n[0];const e=function(e,t){let i;for(let s=0,o=n.length;s<o;s++){const o=n[s](e,t);if("string"==typeof o)return o;(0,r.Qg)(o)&&(i||(i=[]),i.push(o))}return i?(async()=>{for(const e of i){const t=await e;if("string"==typeof t)return t}return null})():null},t=n.find((e=>!!e.allBasenames));t&&(e.allBasenames=t.allBasenames);const s=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return s.length&&(e.allPaths=s),e}const s=function(e,t,i){let s,a;for(let l=0,c=n.length;l<c;l++){const c=n[l];c.requiresSiblings&&i&&(t||(t=(0,o.P8)(e)),s||(s=t.substr(0,t.length-(0,o.LC)(e).length)));const h=c(e,t,s,i);if("string"==typeof h)return h;(0,r.Qg)(h)&&(a||(a=[]),a.push(h))}return a?(async()=>{for(const e of a){const t=await e;if("string"==typeof t)return t}return null})():null},a=n.find((e=>!!e.allBasenames));a&&(s.allBasenames=a.allBasenames);const l=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);l.length&&(s.allPaths=l);return s}(e,t)}function O(e,t){const n=e.filter((e=>!!e.basenames));if(n.length<2)return e;const r=n.reduce(((e,t)=>{const n=t.basenames;return n?e.concat(n):e}),[]);let i;if(t){i=[];for(let e=0,n=r.length;e<n;e++)i.push(t)}else i=n.reduce(((e,t)=>{const n=t.patterns;return n?e.concat(n):e}),[]);const s=function(e,t){if("string"!=typeof e)return null;if(!t){let n;for(n=e.length;n>0;n--){const t=e.charCodeAt(n-1);if(47===t||92===t)break}t=e.substr(n)}const n=r.indexOf(t);return-1!==n?i[n]:null};s.basenames=r,s.patterns=i,s.allBasenames=r;const o=e.filter((e=>!e.basenames));return o.push(s),o}},2344:(e,t,n)=>{"use strict";n.d(t,{e2:()=>o,sN:()=>i,v7:()=>h});var r=n(6844);function i(e,t){switch(typeof e){case"object":return null===e?s(349,t):Array.isArray(e)?(n=e,r=s(104579,r=t),n.reduce(((e,t)=>i(t,e)),r)):function(e,t){return t=s(181387,t),Object.keys(e).sort().reduce(((t,n)=>(t=o(n,t),i(e[n],t))),t)}(e,t);case"string":return o(e,t);case"boolean":return function(e,t){return s(e?433:863,t)}(e,t);case"number":return s(e,t);case"undefined":return s(937,t);default:return s(617,t)}var n,r}function s(e,t){return(t<<5)-t+e|0}function o(e,t){t=s(149417,t);for(let n=0,r=e.length;n<r;n++)t=s(e.charCodeAt(n),t);return t}function a(e,t,n=32){const r=n-t;return(e<<t|(~((1<<r)-1)&e)>>>r)>>>0}function l(e,t=0,n=e.byteLength,r=0){for(let i=0;i<n;i++)e[t+i]=r}function c(e,t=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,"0"))).join(""):function(e,t,n="0"){for(;e.length<t;)e=n+e;return e}((e>>>0).toString(16),t/4)}class h{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let i,s,o=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(i=a,s=-1,a=0):(i=e.charCodeAt(0),s=0);;){let l=i;if(r.pc(i)){if(!(s+1<t)){a=i;break}{const t=e.charCodeAt(s+1);r.LJ(t)?(s++,l=r.z_(i,t)):l=65533}}else r.LJ(i)&&(l=65533);if(o=this._push(n,o,l),s++,!(s<t))break;i=e.charCodeAt(s)}this._buffLen=o,this._leftoverHighSurrogate=a}_push(e,t,n){return n<128?e[t++]=n:n<2048?(e[t++]=192|(1984&n)>>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),c(this._h0)+c(this._h1)+c(this._h2)+c(this._h3)+c(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,l(this._buff,this._buffLen),this._buffLen>56&&(this._step(),l(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=h._bigBlock32,t=this._buffDV;for(let a=0;a<64;a+=4)e.setUint32(a,t.getUint32(a,!1),!1);for(let h=64;h<320;h+=4)e.setUint32(h,a(e.getUint32(h-12,!1)^e.getUint32(h-32,!1)^e.getUint32(h-56,!1)^e.getUint32(h-64,!1),1),!1);let n,r,i,s=this._h0,o=this._h1,l=this._h2,c=this._h3,u=this._h4;for(let h=0;h<80;h++)h<20?(n=o&l|~o&c,r=1518500249):h<40?(n=o^l^c,r=1859775393):h<60?(n=o&l|o&c|l&c,r=2400959708):(n=o^l^c,r=3395469782),i=a(s,5)+n+u+r+e.getUint32(4*h,!1)&4294967295,u=c,c=l,l=a(o,30),o=s,s=i;this._h0=this._h0+s&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+c&4294967295,this._h4=this._h4+u&4294967295}}},7954:(e,t,n)=>{"use strict";var r;n.d(t,{f:()=>r}),function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const n=Object.freeze([]);function*r(e){yield e}e.empty=function(){return n},e.single=r,e.wrap=function(e){return t(e)?e:r(e)},e.from=function(e){return e||n},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let n=0;for(const r of e)if(t(r,n++))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const r of e)yield t(r,n++)},e.flatMap=function*(e,t){let n=0;for(const r of e)yield*t(r,n++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,n){let r=n;for(const i of e)r=t(r,i);return r},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]},e.consume=function(t,n=Number.POSITIVE_INFINITY){const r=[];if(0===n)return[r,t];const i=t[Symbol.iterator]();for(let s=0;s<n;s++){const t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator]:()=>i}]},e.asyncToArray=async function(e){const t=[];for await(const n of e)t.push(n);return Promise.resolve(t)}}(r||(r={}))},3946:(e,t,n)=>{"use strict";n.d(t,{d:()=>r});class r{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},2446:(e,t,n)=>{"use strict";function r(e,t){const n=this;let r,i=!1;return function(){if(i)return r;if(i=!0,t)try{r=e.apply(n,arguments)}finally{t()}else r=e.apply(n,arguments);return r}}n.d(t,{jG:()=>g,$w:()=>m,Cm:()=>d,HE:()=>f,qE:()=>h,AS:()=>c,VD:()=>a,s:()=>u,Ay:()=>o});var i=n(7954);let s=null;function o(e){return s?.trackDisposable(e),e}function a(e){s?.markAsDisposed(e)}function l(e,t){s?.setParent(e,t)}function c(e){if(i.f.is(e)){const n=[];for(const r of e)if(r)try{r.dispose()}catch(t){n.push(t)}if(1===n.length)throw n[0];if(n.length>1)throw new AggregateError(n,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function h(...e){const t=u((()=>c(e)));return function(e,t){if(s)for(const n of e)s.setParent(n,t)}(e,t),t}function u(e){const t=o({dispose:r((()=>{a(t),e()}))});return t}class d{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,o(this)}dispose(){this._isDisposed||(a(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{c(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return l(e,this),this._isDisposed?d.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),l(e,null))}}class g{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new d,o(this),l(this._store,this)}dispose(){a(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}class f{constructor(){this._isDisposed=!1,o(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&l(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,a(this),this._value?.dispose(),this._value=void 0}}class m{constructor(){this._store=new Map,this._isDisposed=!1,o(this)}dispose(){a(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{c(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,n=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},5525:(e,t,n)=>{"use strict";n.d(t,{w:()=>i});class r{static{this.Undefined=new r(void 0)}constructor(e){this.element=e,this.next=r.Undefined,this.prev=r.Undefined}}class i{constructor(){this._first=r.Undefined,this._last=r.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===r.Undefined}clear(){let e=this._first;for(;e!==r.Undefined;){const t=e.next;e.prev=r.Undefined,e.next=r.Undefined,e=t}this._first=r.Undefined,this._last=r.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new r(e);if(this._first===r.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(n))}}shift(){if(this._first!==r.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==r.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==r.Undefined&&e.next!==r.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===r.Undefined&&e.next===r.Undefined?(this._first=r.Undefined,this._last=r.Undefined):e.next===r.Undefined?(this._last=this._last.prev,this._last.next=r.Undefined):e.prev===r.Undefined&&(this._first=this._first.next,this._first.prev=r.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==r.Undefined;)yield e.element,e=e.next}}},7992:(e,t,n)=>{"use strict";var r,i;n.d(t,{cO:()=>h,db:()=>u,fT:()=>o,qK:()=>c});class s{constructor(e,t){this.uri=e,this.value=t}}class o{static{this.defaultToKey=e=>e.toString()}constructor(e,t){if(this[r]="ResourceMap",e instanceof o)this.map=new Map(e.map),this.toKey=t??o.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=t??o.defaultToKey;for(const[t,n]of e)this.set(t,n)}else this.map=new Map,this.toKey=e??o.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new s(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[n,r]of this.map)e(r.value,r.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(r=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}class a{constructor(){this[i]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){const n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value}set(e,t,n=0){let r=this._map.get(e);if(r)r.value=t,0!==n&&this.touch(r,n);else{switch(r={key:e,value:t,next:void 0,previous:void 0},n){case 0:case 2:default:this.addItemLast(r);break;case 1:this.addItemFirst(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this,t=this._state;let n=this._head;const r={[Symbol.iterator]:()=>r,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return r}values(){const e=this,t=this._state;let n=this._head;const r={[Symbol.iterator]:()=>r,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return r}entries(){const e=this,t=this._state;let n=this._head;const r={[Symbol.iterator]:()=>r,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return r}[(i=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}class l extends a{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class c extends l{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class h{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,n]of e)this.set(t,n)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class u{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){const n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))}forEach(e,t){const n=this.map.get(e);n&&n.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}},3720:(e,t,n)=>{"use strict";n.d(t,{K:()=>r});const r=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})},3072:(e,t,n)=>{"use strict";n.d(t,{ny:()=>r,v$:()=>c,zl:()=>d});var r,i=n(4327),s=n(3339),o=n(6844),a=n(7264),l=n(1570);function c(e,t){return a.r.isUri(e)?(0,o.Q_)(e.scheme,t):(0,o.ns)(e,t+":")}!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",e.vscodeNotebookMetadata="vscode-notebook-metadata",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.commentsInput="comment",e.codeSetting="code-setting",e.outputChannel="output"}(r||(r={}));const h=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return l.SA.join(this._serverRootPath,r.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(h){return i.dz(h),e}const t=e.authority;let n=this._hosts[t];n&&-1!==n.indexOf(":")&&-1===n.indexOf("[")&&(n=`[${n}]`);const o=this._ports[t],l=this._connectionTokens[t];let c=`path=${encodeURIComponent(e.path)}`;return"string"==typeof l&&(c+=`&tkn=${encodeURIComponent(l)}`),a.r.from({scheme:s.HZ?this._preferredWebSchema:r.vscodeRemoteResource,authority:`${n}:${o}`,path:this._remoteResourcesPath,query:c})}};class u{static{this.FALLBACK_AUTHORITY="vscode-app"}asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===r.vscodeRemote?h.rewrite(e):e.scheme!==r.file||!s.ib&&s.lg!==`${r.vscodeFileResource}://${u.FALLBACK_AUTHORITY}`?e:e.with({scheme:r.vscodeFileResource,authority:e.authority||u.FALLBACK_AUTHORITY,query:null,fragment:null})}toUri(e,t){if(a.r.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return a.r.joinPath(a.r.parse(t,!0),e);const n=l.fj(t,e);return a.r.file(n)}return a.r.parse(t.toUrl(e))}}const d=new u;var g;!function(e){const t=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const n="vscode-coi";e.getHeadersFromQuery=function(e){let r;"string"==typeof e?r=new URL(e).searchParams:e instanceof URL?r=e.searchParams:a.r.isUri(e)&&(r=new URL(e.toString(!0)).searchParams);const i=r?.get(n);if(i)return t.get(i)},e.addSearchParam=function(e,t,r){if(!globalThis.crossOriginIsolated)return;const i=t&&r?"3":r?"2":"1";e instanceof URLSearchParams?e.set(n,i):e[n]=i}}(g||(g={}))},1386:(e,t,n)=>{"use strict";n.d(t,{V0:()=>i,aI:()=>r,kT:()=>s});Object.prototype.hasOwnProperty;function r(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,i;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else{const s=[];for(i in e)s.push(i);s.sort();const o=[];for(i in t)o.push(i);if(o.sort(),!r(s,o))return!1;for(n=0;n<s.length;n++)if(!r(e[s[n]],t[s[n]]))return!1}return!0}function i(e){const t=[];for(const n of function(e){let t=[];for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}(e))"function"==typeof e[n]&&t.push(n);return t}function s(e,t){const n=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},r={};for(const i of e)r[i]=n(i);return r}},1570:(e,t,n)=>{"use strict";n.d(t,{P8:()=>T,pD:()=>N,LC:()=>A,fj:()=>S,S8:()=>w,SA:()=>L,V8:()=>E,hd:()=>x,Vn:()=>I,IN:()=>C});var r=n(3339);let i;const s=globalThis.vscode;if(void 0!==s&&void 0!==s.process){const e=s.process;i={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else i="undefined"!=typeof process&&"string"==typeof process?.versions?.node?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return r.uF?"win32":r.zx?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const o=i.cwd,a=i.env,l=i.platform,c=46,h=47,u=92,d=58;class g extends Error{constructor(e,t,n){let r;"string"==typeof t&&0===t.indexOf("not ")?(r="must not be",t=t.replace(/^not /,"")):r="must be";const i=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${i} ${r} of type ${t}`;s+=". Received type "+typeof n,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function f(e,t){if("string"!=typeof e)throw new g(t,"string",e)}const m="win32"===l;function p(e){return e===h||e===u}function b(e){return e===h}function _(e){return e>=65&&e<=90||e>=97&&e<=122}function k(e,t,n,r){let i="",s=0,o=-1,a=0,l=0;for(let u=0;u<=e.length;++u){if(u<e.length)l=e.charCodeAt(u);else{if(r(l))break;l=h}if(r(l)){if(o===u-1||1===a);else if(2===a){if(i.length<2||2!==s||i.charCodeAt(i.length-1)!==c||i.charCodeAt(i.length-2)!==c){if(i.length>2){const e=i.lastIndexOf(n);-1===e?(i="",s=0):(i=i.slice(0,e),s=i.length-1-i.lastIndexOf(n)),o=u,a=0;continue}if(0!==i.length){i="",s=0,o=u,a=0;continue}}t&&(i+=i.length>0?`${n}..`:"..",s=2)}else i.length>0?i+=`${n}${e.slice(o+1,u)}`:i=e.slice(o+1,u),s=u-o-1;o=u,a=0}else l===c&&-1!==a?++a:a=-1}return i}function v(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new g(t,"Object",e)}(t,"pathObject");const n=t.dir||t.root,r=t.base||`${t.name||""}${i=t.ext,i?`${"."===i[0]?"":"."}${i}`:""}`;var i;return n?n===t.root?`${n}${r}`:`${n}${e}${r}`:r}const C={resolve(...e){let t="",n="",r=!1;for(let i=e.length-1;i>=-1;i--){let s;if(i>=0){if(s=e[i],f(s,`paths[${i}]`),0===s.length)continue}else 0===t.length?s=o():(s=a[`=${t}`]||o(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===u)&&(s=`${t}\\`));const l=s.length;let c=0,h="",g=!1;const m=s.charCodeAt(0);if(1===l)p(m)&&(c=1,g=!0);else if(p(m))if(g=!0,p(s.charCodeAt(1))){let e=2,t=e;for(;e<l&&!p(s.charCodeAt(e));)e++;if(e<l&&e!==t){const n=s.slice(t,e);for(t=e;e<l&&p(s.charCodeAt(e));)e++;if(e<l&&e!==t){for(t=e;e<l&&!p(s.charCodeAt(e));)e++;e!==l&&e===t||(h=`\\\\${n}\\${s.slice(t,e)}`,c=e)}}}else c=1;else _(m)&&s.charCodeAt(1)===d&&(h=s.slice(0,2),c=2,l>2&&p(s.charCodeAt(2))&&(g=!0,c=3));if(h.length>0)if(t.length>0){if(h.toLowerCase()!==t.toLowerCase())continue}else t=h;if(r){if(t.length>0)break}else if(n=`${s.slice(c)}\\${n}`,r=g,g&&t.length>0)break}return n=k(n,!r,"\\",p),r?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){f(e,"path");const t=e.length;if(0===t)return".";let n,r=0,i=!1;const s=e.charCodeAt(0);if(1===t)return b(s)?"\\":e;if(p(s))if(i=!0,p(e.charCodeAt(1))){let i=2,s=i;for(;i<t&&!p(e.charCodeAt(i));)i++;if(i<t&&i!==s){const o=e.slice(s,i);for(s=i;i<t&&p(e.charCodeAt(i));)i++;if(i<t&&i!==s){for(s=i;i<t&&!p(e.charCodeAt(i));)i++;if(i===t)return`\\\\${o}\\${e.slice(s)}\\`;i!==s&&(n=`\\\\${o}\\${e.slice(s,i)}`,r=i)}}}else r=1;else _(s)&&e.charCodeAt(1)===d&&(n=e.slice(0,2),r=2,t>2&&p(e.charCodeAt(2))&&(i=!0,r=3));let o=r<t?k(e.slice(r),!i,"\\",p):"";return 0!==o.length||i||(o="."),o.length>0&&p(e.charCodeAt(t-1))&&(o+="\\"),void 0===n?i?`\\${o}`:o:i?`${n}\\${o}`:`${n}${o}`},isAbsolute(e){f(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return p(n)||t>2&&_(n)&&e.charCodeAt(1)===d&&p(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let s=0;s<e.length;++s){const r=e[s];f(r,"path"),r.length>0&&(void 0===t?t=n=r:t+=`\\${r}`)}if(void 0===t)return".";let r=!0,i=0;if("string"==typeof n&&p(n.charCodeAt(0))){++i;const e=n.length;e>1&&p(n.charCodeAt(1))&&(++i,e>2&&(p(n.charCodeAt(2))?++i:r=!1))}if(r){for(;i<t.length&&p(t.charCodeAt(i));)i++;i>=2&&(t=`\\${t.slice(i)}`)}return C.normalize(t)},relative(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";const n=C.resolve(e),r=C.resolve(t);if(n===r)return"";if((e=n.toLowerCase())===(t=r.toLowerCase()))return"";let i=0;for(;i<e.length&&e.charCodeAt(i)===u;)i++;let s=e.length;for(;s-1>i&&e.charCodeAt(s-1)===u;)s--;const o=s-i;let a=0;for(;a<t.length&&t.charCodeAt(a)===u;)a++;let l=t.length;for(;l-1>a&&t.charCodeAt(l-1)===u;)l--;const c=l-a,h=o<c?o:c;let d=-1,g=0;for(;g<h;g++){const n=e.charCodeAt(i+g);if(n!==t.charCodeAt(a+g))break;n===u&&(d=g)}if(g!==h){if(-1===d)return r}else{if(c>h){if(t.charCodeAt(a+g)===u)return r.slice(a+g+1);if(2===g)return r.slice(a+g)}o>h&&(e.charCodeAt(i+g)===u?d=g:2===g&&(d=3)),-1===d&&(d=0)}let m="";for(g=i+d+1;g<=s;++g)g!==s&&e.charCodeAt(g)!==u||(m+=0===m.length?"..":"\\..");return a+=d,m.length>0?`${m}${r.slice(a,l)}`:(r.charCodeAt(a)===u&&++a,r.slice(a,l))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=C.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===u){if(t.charCodeAt(1)===u){const e=t.charCodeAt(2);if(63!==e&&e!==c)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(_(t.charCodeAt(0))&&t.charCodeAt(1)===d&&t.charCodeAt(2)===u)return`\\\\?\\${t}`;return e},dirname(e){f(e,"path");const t=e.length;if(0===t)return".";let n=-1,r=0;const i=e.charCodeAt(0);if(1===t)return p(i)?e:".";if(p(i)){if(n=r=1,p(e.charCodeAt(1))){let i=2,s=i;for(;i<t&&!p(e.charCodeAt(i));)i++;if(i<t&&i!==s){for(s=i;i<t&&p(e.charCodeAt(i));)i++;if(i<t&&i!==s){for(s=i;i<t&&!p(e.charCodeAt(i));)i++;if(i===t)return e;i!==s&&(n=r=i+1)}}}}else _(i)&&e.charCodeAt(1)===d&&(n=t>2&&p(e.charCodeAt(2))?3:2,r=n);let s=-1,o=!0;for(let a=t-1;a>=r;--a)if(p(e.charCodeAt(a))){if(!o){s=a;break}}else o=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&f(t,"suffix"),f(e,"path");let n,r=0,i=-1,s=!0;if(e.length>=2&&_(e.charCodeAt(0))&&e.charCodeAt(1)===d&&(r=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=r;--n){const l=e.charCodeAt(n);if(p(l)){if(!s){r=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=r;--n)if(p(e.charCodeAt(n))){if(!s){r=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){f(e,"path");let t=0,n=-1,r=0,i=-1,s=!0,o=0;e.length>=2&&e.charCodeAt(1)===d&&_(e.charCodeAt(0))&&(t=r=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(p(t)){if(!s){r=a+1;break}}else-1===i&&(s=!1,i=a+1),t===c?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1)}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:v.bind(null,"\\"),parse(e){f(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let r=0,i=e.charCodeAt(0);if(1===n)return p(i)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(p(i)){if(r=1,p(e.charCodeAt(1))){let t=2,i=t;for(;t<n&&!p(e.charCodeAt(t));)t++;if(t<n&&t!==i){for(i=t;t<n&&p(e.charCodeAt(t));)t++;if(t<n&&t!==i){for(i=t;t<n&&!p(e.charCodeAt(t));)t++;t===n?r=t:t!==i&&(r=t+1)}}}}else if(_(i)&&e.charCodeAt(1)===d){if(n<=2)return t.root=t.dir=e,t;if(r=2,p(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;r=3}}r>0&&(t.root=e.slice(0,r));let s=-1,o=r,a=-1,l=!0,h=e.length-1,u=0;for(;h>=r;--h)if(i=e.charCodeAt(h),p(i)){if(!l){o=h+1;break}}else-1===a&&(l=!1,a=h+1),i===c?-1===s?s=h:1!==u&&(u=1):-1!==s&&(u=-1);return-1!==a&&(-1===s||0===u||1===u&&s===a-1&&s===o+1?t.base=t.name=e.slice(o,a):(t.name=e.slice(o,s),t.base=e.slice(o,a),t.ext=e.slice(s,a))),t.dir=o>0&&o!==r?e.slice(0,o-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},y=(()=>{if(m){const e=/\\/g;return()=>{const t=o().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>o()})(),L={resolve(...e){let t="",n=!1;for(let r=e.length-1;r>=-1&&!n;r--){const i=r>=0?e[r]:y();f(i,`paths[${r}]`),0!==i.length&&(t=`${i}/${t}`,n=i.charCodeAt(0)===h)}return t=k(t,!n,"/",b),n?`/${t}`:t.length>0?t:"."},normalize(e){if(f(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===h,n=e.charCodeAt(e.length-1)===h;return 0===(e=k(e,!t,"/",b)).length?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(f(e,"path"),e.length>0&&e.charCodeAt(0)===h),join(...e){if(0===e.length)return".";let t;for(let n=0;n<e.length;++n){const r=e[n];f(r,"path"),r.length>0&&(void 0===t?t=r:t+=`/${r}`)}return void 0===t?".":L.normalize(t)},relative(e,t){if(f(e,"from"),f(t,"to"),e===t)return"";if((e=L.resolve(e))===(t=L.resolve(t)))return"";const n=e.length,r=n-1,i=t.length-1,s=r<i?r:i;let o=-1,a=0;for(;a<s;a++){const n=e.charCodeAt(1+a);if(n!==t.charCodeAt(1+a))break;n===h&&(o=a)}if(a===s)if(i>s){if(t.charCodeAt(1+a)===h)return t.slice(1+a+1);if(0===a)return t.slice(1+a)}else r>s&&(e.charCodeAt(1+a)===h?o=a:0===a&&(o=0));let l="";for(a=1+o+1;a<=n;++a)a!==n&&e.charCodeAt(a)!==h||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+o)}`},toNamespacedPath:e=>e,dirname(e){if(f(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===h;let n=-1,r=!0;for(let i=e.length-1;i>=1;--i)if(e.charCodeAt(i)===h){if(!r){n=i;break}}else r=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&f(t,"ext"),f(e,"path");let n,r=0,i=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const l=e.charCodeAt(n);if(l===h){if(!s){r=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===h){if(!s){r=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){f(e,"path");let t=-1,n=0,r=-1,i=!0,s=0;for(let o=e.length-1;o>=0;--o){const a=e.charCodeAt(o);if(a!==h)-1===r&&(i=!1,r=o+1),a===c?-1===t?t=o:1!==s&&(s=1):-1!==t&&(s=-1);else if(!i){n=o+1;break}}return-1===t||-1===r||0===s||1===s&&t===r-1&&t===n+1?"":e.slice(t,r)},format:v.bind(null,"/"),parse(e){f(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===h;let r;n?(t.root="/",r=1):r=0;let i=-1,s=0,o=-1,a=!0,l=e.length-1,u=0;for(;l>=r;--l){const t=e.charCodeAt(l);if(t!==h)-1===o&&(a=!1,o=l+1),t===c?-1===i?i=l:1!==u&&(u=1):-1!==i&&(u=-1);else if(!a){s=l+1;break}}if(-1!==o){const r=0===s&&n?1:s;-1===i||0===u||1===u&&i===o-1&&i===s+1?t.base=t.name=e.slice(r,o):(t.name=e.slice(r,i),t.base=e.slice(r,o),t.ext=e.slice(i,o))}return s>0?t.dir=e.slice(0,s-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};L.win32=C.win32=C,L.posix=C.posix=L;const w=m?C.normalize:L.normalize,S=m?C.join:L.join,x=m?C.resolve:L.resolve,E=m?C.relative:L.relative,N=m?C.dirname:L.dirname,T=m?C.basename:L.basename,A=m?C.extname:L.extname,I=m?C.sep:L.sep},3339:(e,t,n)=>{"use strict";n.d(t,{H8:()=>P,HZ:()=>T,OS:()=>R,UP:()=>j,_p:()=>M,cm:()=>F,gm:()=>V,ib:()=>N,j9:()=>E,lg:()=>A,nr:()=>z,uF:()=>S,zx:()=>x});var r=n(7289);const i="en";let s,o,a=!1,l=!1,c=!1,h=!1,u=!1,d=!1,g=!1,f=!1,m=!1,p=!1,b=null,_=null,k=null;const v=globalThis;let C;void 0!==v.vscode&&void 0!==v.vscode.process?C=v.vscode.process:"undefined"!=typeof process&&"string"==typeof process?.versions?.node&&(C=process);const y="string"==typeof C?.versions?.electron,L=y&&"renderer"===C?.type;if("object"==typeof C){a="win32"===C.platform,l="darwin"===C.platform,c="linux"===C.platform,h=c&&!!C.env.SNAP&&!!C.env.SNAP_REVISION,g=y,m=!!C.env.CI||!!C.env.BUILD_ARTIFACTSTAGINGDIRECTORY,s=i,b=i;const e=C.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e);s=t.userLocale,_=t.osLocale,b=t.resolvedLanguage||i,k=t.languagePack?.translationsConfigFile}catch(q){}u=!0}else"object"!=typeof navigator||L?console.error("Unable to resolve platform."):(o=navigator.userAgent,a=o.indexOf("Windows")>=0,l=o.indexOf("Macintosh")>=0,f=(o.indexOf("Macintosh")>=0||o.indexOf("iPad")>=0||o.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,c=o.indexOf("Linux")>=0,p=o?.indexOf("Mobi")>=0,d=!0,b=r.i8()||i,s=navigator.language.toLowerCase(),_=s);let w=0;l?w=1:a?w=3:c&&(w=2);const S=a,x=l,E=c,N=u,T=d,A=d&&"function"==typeof v.importScripts?v.origin:void 0,I=o,O="function"==typeof v.postMessage&&!v.importScripts,M=(()=>{if(O){const e=[];v.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){const r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork)return e.splice(n,1),void r.callback()}}));let t=0;return n=>{const r=++t;e.push({id:r,callback:n}),v.postMessage({vscodeScheduleAsyncWork:r},"*")}}return e=>setTimeout(e)})(),R=l||f?2:a?1:3;let D=!0,B=!1;function F(){if(!B){B=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);D=513===t[0]}return D}const P=!!(I&&I.indexOf("Chrome")>=0),V=!!(I&&I.indexOf("Firefox")>=0),z=!!(!P&&I&&I.indexOf("Safari")>=0),j=!!(I&&I.indexOf("Edg/")>=0);I&&I.indexOf("Android")},2467:(e,t,n)=>{"use strict";n.d(t,{B6:()=>m,P8:()=>d});var r=n(8518),i=n(3072),s=n(1570),o=n(3339),a=n(6844),l=n(7264);function c(e){return(0,l.I)(e,!0)}class h{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:(0,a.UD)(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===i.ny.file)return r._1(c(e),c(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(g(e.authority,t.authority))return r._1(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return l.r.joinPath(e,...t)}basenameOrAuthority(e){return d(e)||e.authority}basename(e){return s.SA.basename(e.path)}extname(e){return s.SA.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===i.ny.file?t=l.r.file(s.pD(c(e))).path:(t=s.SA.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===i.ny.file?l.r.file(s.S8(c(e))).path:s.SA.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!g(e.authority,t.authority))return;if(e.scheme===i.ny.file){const n=s.V8(c(e),c(t));return o.uF?r.TH(n):n}let n=e.path||"/";const a=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(n.length,a.length);e<t&&(n.charCodeAt(e)===a.charCodeAt(e)||n.charAt(e).toLowerCase()===a.charAt(e).toLowerCase());e++);n=a.substr(0,e)+n.substr(e)}return s.SA.relative(n,a)}resolvePath(e,t){if(e.scheme===i.ny.file){const n=l.r.file(s.hd(c(e),t));return e.with({authority:n.authority,path:n.path})}return t=r.kb(t),e.with({path:s.SA.resolve(e.path,t)})}isAbsolutePath(e){return!!e.path&&"/"===e.path[0]}isEqualAuthority(e,t){return e===t||void 0!==e&&void 0!==t&&(0,a.Q_)(e,t)}hasTrailingPathSeparator(e,t=s.Vn){if(e.scheme===i.ny.file){const n=c(e);return n.length>r.Zn(n).length&&n[n.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=s.Vn){return f(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=s.Vn){let n=!1;if(e.scheme===i.ny.file){const i=c(e);n=void 0!==i&&i.length===r.Zn(i).length&&i[i.length-1]===t}else{t="/";const r=e.path;n=1===r.length&&47===r.charCodeAt(r.length-1)}return n||f(e,t)?e:e.with({path:e.path+"/"})}}const u=new h((()=>!1)),d=(new h((e=>e.scheme!==i.ny.file||!o.j9)),new h((e=>!0)),u.isEqual.bind(u),u.isEqualOrParent.bind(u),u.getComparisonKey.bind(u),u.basenameOrAuthority.bind(u),u.basename.bind(u)),g=(u.extname.bind(u),u.dirname.bind(u),u.joinPath.bind(u),u.normalizePath.bind(u),u.relativePath.bind(u),u.resolvePath.bind(u),u.isAbsolutePath.bind(u),u.isEqualAuthority.bind(u)),f=u.hasTrailingPathSeparator.bind(u);u.removeTrailingPathSeparator.bind(u),u.addTrailingPathSeparator.bind(u);var m;!function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,r]=e.split(":");t&&r&&n.set(t,r)}));const r=t.path.substring(0,t.path.indexOf(";"));return r&&n.set(e.META_DATA_MIME,r),n}}(m||(m={}))},3013:(e,t,n)=>{"use strict";n.d(t,{W:()=>i});const r=globalThis.performance&&"function"==typeof globalThis.performance.now;class i{static create(e){return new i(e)}constructor(e){this._now=r&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},6844:(e,t,n)=>{"use strict";n.d(t,{$X:()=>O,AV:()=>s,E_:()=>N,HG:()=>d,LJ:()=>y,LU:()=>B,NB:()=>l,OS:()=>c,Q_:()=>k,Ss:()=>R,UD:()=>f,Wv:()=>_,Z5:()=>w,_J:()=>I,aC:()=>A,bm:()=>a,eY:()=>h,jy:()=>o,km:()=>x,lT:()=>g,ne:()=>M,ns:()=>v,pc:()=>C,r_:()=>D,tk:()=>F,tl:()=>z,uz:()=>u,y_:()=>j,z_:()=>L});var r=n(6260),i=n(3946);function s(e){return!e||"string"!=typeof e||0===e.trim().length}function o(e){return e.replace(/[<>"'&]/g,(e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e}))}function a(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function l(e,t){if(!e||!t)return e;const n=t.length;if(0===n||0===e.length)return e;let r=0;for(;e.indexOf(t,r)===r;)r+=n;return e.substring(r)}function c(e,t,n={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=a(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let r="";return n.global&&(r+="g"),n.matchCase||(r+="i"),n.multiline&&(r+="m"),n.unicode&&(r+="u"),new RegExp(e,r)}function h(e){if("^"===e.source||"^$"===e.source||"$"===e.source||"^\\s*$"===e.source)return!1;return!(!e.exec("")||0!==e.lastIndex)}function u(e){return e.split(/\r\n|\r|\n/)}function d(e){for(let t=0,n=e.length;t<n;t++){const n=e.charCodeAt(t);if(32!==n&&9!==n)return t}return-1}function g(e,t=e.length-1){for(let n=t;n>=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}function f(e,t){return e<t?-1:e>t?1:0}function m(e,t,n=0,r=e.length,i=0,s=t.length){for(;n<r&&i<s;n++,i++){const r=e.charCodeAt(n),s=t.charCodeAt(i);if(r<s)return-1;if(r>s)return 1}const o=r-n,a=s-i;return o<a?-1:o>a?1:0}function p(e,t,n=0,r=e.length,i=0,s=t.length){for(;n<r&&i<s;n++,i++){let o=e.charCodeAt(n),a=t.charCodeAt(i);if(o===a)continue;if(o>=128||a>=128)return m(e.toLowerCase(),t.toLowerCase(),n,r,i,s);b(o)&&(o-=32),b(a)&&(a-=32);const l=o-a;if(0!==l)return l}const o=r-n,a=s-i;return o<a?-1:o>a?1:0}function b(e){return e>=97&&e<=122}function _(e){return e>=65&&e<=90}function k(e,t){return e.length===t.length&&0===p(e,t)}function v(e,t){const n=t.length;return!(t.length>e.length)&&0===p(e,t,0,n)}function C(e){return 55296<=e&&e<=56319}function y(e){return 56320<=e&&e<=57343}function L(e,t){return t-56320+(e-55296<<10)+65536}function w(e,t,n){const r=e.charCodeAt(n);if(C(r)&&n+1<t){const t=e.charCodeAt(n+1);if(y(t))return L(r,t)}return r}class S{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=function(e,t){const n=e.charCodeAt(t-1);if(y(n)&&t>1){const r=e.charCodeAt(t-2);if(C(r))return L(r,n)}return n}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=w(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class x{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new S(e,t)}nextGraphemeLength(){const e=V.getInstance(),t=this._iterator,n=t.offset;let r=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const n=t.offset,i=e.getGraphemeBreakType(t.nextCodePoint());if(P(r,i)){t.setOffset(n);break}r=i}return t.offset-n}prevGraphemeLength(){const e=V.getInstance(),t=this._iterator,n=t.offset;let r=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const n=t.offset,i=e.getGraphemeBreakType(t.prevCodePoint());if(P(i,r)){t.setOffset(n);break}r=i}return n-t.offset}eol(){return this._iterator.eol()}}let E;function N(e){return E||(E=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),E.test(e)}const T=/^[\t\n\r\x20-\x7E]*$/;function A(e){return T.test(e)}const I=/[\u2028\u2029]/;function O(e){return I.test(e)}function M(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function R(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const D=String.fromCharCode(65279);function B(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function F(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function P(e,t){return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}class V{static{this._INSTANCE=null}static getInstance(){return V._INSTANCE||(V._INSTANCE=new V),V._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let r=1;for(;r<=n;)if(e<t[3*r])r*=2;else{if(!(e>t[3*r+1]))return t[3*r+2];r=2*r+1}return 0}}class z{static{this.ambiguousCharacterData=new i.d((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}')))}static{this.cache=new r.o5({getCacheKey:JSON.stringify},(e=>{function t(e){const t=new Map;for(let n=0;n<e.length;n+=2)t.set(e[n],e[n+1]);return t}function n(e,t){if(!e)return t;const n=new Map;for(const[r,i]of e)t.has(r)&&n.set(r,i);return n}const r=this.ambiguousCharacterData.value;let i,s=e.filter((e=>!e.startsWith("_")&&e in r));0===s.length&&(s=["_default"]);for(const a of s){i=n(i,t(r[a]))}const o=function(e,t){const n=new Map(e);for(const[r,i]of t)n.set(r,i);return n}(t(r._common),i);return new z(o)}))}static getInstance(e){return z.cache.get(Array.from(e))}static{this._locales=new i.d((()=>Object.keys(z.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))))}static getLocales(){return z._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class j{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(j.getRawData())),this._data}static isInvisibleCharacter(e){return j.getData().has(e)}static get codePoints(){return j.getData()}}},9359:(e,t,n)=>{"use strict";function r(e){return"string"==typeof e}function i(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function s(e){return void 0===e}function o(e){return s(e)||null===e}n.d(t,{Gv:()=>i,Kg:()=>r,b0:()=>s,z:()=>o})},7512:(e,t,n)=>{"use strict";function r(e){return e<0?0:e>255?255:0|e}function i(e){return e<0?0:e>4294967295?4294967295:0|e}n.d(t,{W:()=>r,j:()=>i})},7264:(e,t,n)=>{"use strict";n.d(t,{I:()=>b,r:()=>u});var r=n(1570),i=n(3339);const s=/^\w[\w\d+.-]*$/,o=/^\//,a=/^\/\//;const l="",c="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class u{static isUri(e){return e instanceof u||!!e&&("string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString)}constructor(e,t,n,r,i,h=!1){"object"==typeof e?(this.scheme=e.scheme||l,this.authority=e.authority||l,this.path=e.path||l,this.query=e.query||l,this.fragment=e.fragment||l):(this.scheme=function(e,t){return e||t?e:"file"}(e,h),this.authority=t||l,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==c&&(t=c+t):t=c}return t}(this.scheme,n||l),this.query=r||l,this.fragment=i||l,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!s.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!o.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,h))}get fsPath(){return b(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=l),void 0===n?n=this.authority:null===n&&(n=l),void 0===r?r=this.path:null===r&&(r=l),void 0===i?i=this.query:null===i&&(i=l),void 0===s?s=this.fragment:null===s&&(s=l),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new g(t,n,r,i,s)}static parse(e,t=!1){const n=h.exec(e);return n?new g(n[2]||l,C(n[4]||l),C(n[5]||l),C(n[7]||l),C(n[9]||l),t):new g(l,l,l,l,l)}static file(e){let t=l;if(i.uF&&(e=e.replace(/\\/g,c)),e[0]===c&&e[1]===c){const n=e.indexOf(c,2);-1===n?(t=e.substring(2),e=c):(t=e.substring(2,n),e=e.substring(n)||c)}return new g("file",t,e,l,l)}static from(e,t){return new g(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=i.uF&&"file"===e.scheme?u.file(r.IN.join(b(e,!0),...t)).path:r.SA.join(e.path,...t),e.with({path:n})}toString(e=!1){return _(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof u)return e;{const t=new g(e);return t._formatted=e.external??null,t._fsPath=e._sep===d?e.fsPath??null:null,t}}return e}}const d=i.uF?1:void 0;class g extends u{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(e=!1){return e?_(this,!0):(this._formatted||(this._formatted=_(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const f={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function m(e,t,n){let r,i=-1;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==r&&(r+=e.charAt(s));else{void 0===r&&(r=e.substr(0,s));const t=f[o];void 0!==t?(-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),r+=t):-1===i&&(i=s)}}return-1!==i&&(r+=encodeURIComponent(e.substring(i))),void 0!==r?r:e}function p(e){let t;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);35===r||63===r?(void 0===t&&(t=e.substr(0,n)),t+=f[r]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function b(e,t){let n;return n=e.authority&&e.path.length>1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i.uF&&(n=n.replace(/\//g,"\\")),n}function _(e,t){const n=t?p:m;let r="",{scheme:i,authority:s,path:o,query:a,fragment:l}=e;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=c,r+=c),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=":",r+=n(t.substr(e+1),!1,!0)),r+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?r+=n(s,!1,!0):(r+=n(s.substr(0,e),!1,!0),r+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return a&&(r+="?",r+=n(a,!1,!1)),l&&(r+="#",r+=t?l:m(l,!1,!1)),r}function k(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+k(e.substr(3)):e}}const v=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(v)?e.replace(v,(e=>k(e))):e}},5585:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SimpleWorkerClient:()=>k,SimpleWorkerServer:()=>y,create:()=>L,logOnceWebWorkerWarning:()=>d});var r=n(4327),i=n(2106),s=n(2446),o=n(3072),a=n(3339),l=n(6844);const c="default",h="$initialize";let u=!1;function d(e){a.HZ&&(u||(u=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(e.message))}class g{constructor(e,t,n,r,i){this.vsWorker=e,this.req=t,this.channel=n,this.method=r,this.args=i,this.type=0}}class f{constructor(e,t,n,r){this.vsWorker=e,this.seq=t,this.res=n,this.err=r,this.type=1}}class m{constructor(e,t,n,r,i){this.vsWorker=e,this.req=t,this.channel=n,this.eventName=r,this.arg=i,this.type=2}}class p{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}}class b{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class _{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,n){const r=String(++this._lastSentReq);return new Promise(((i,s)=>{this._pendingReplies[r]={resolve:i,reject:s},this._send(new g(this._workerId,r,e,t,n))}))}listen(e,t,n){let r=null;const s=new i.vl({onWillAddFirstListener:()=>{r=String(++this._lastSentReq),this._pendingEmitters.set(r,s),this._send(new m(this._workerId,r,e,t,n))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(r),this._send(new b(this._workerId,r)),r=null}});return s.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}createProxyToRemoteChannel(e,t){const n={get:(n,r)=>("string"!=typeof r||n[r]||(C(r)?n[r]=t=>this.listen(e,r,t):v(r)?n[r]=this.listen(e,r,void 0):36===r.charCodeAt(0)&&(n[r]=async(...n)=>(await(t?.()),this.sendMessage(e,r,n)))),n[r])};return new Proxy(Object.create(null),n)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;return e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),void t.reject(n)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then((e=>{this._send(new f(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=(0,r.cU)(e.detail)),this._send(new f(this._workerId,t,void 0,(0,r.cU)(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,n=this._handler.handleEvent(e.channel,e.eventName,e.arg)((e=>{this._send(new p(this._workerId,t,e))}));this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let n=0;n<e.args.length;n++)e.args[n]instanceof ArrayBuffer&&t.push(e.args[n]);else 1===e.type&&e.res instanceof ArrayBuffer&&t.push(e.res);this._handler.sendMessage(e,t)}}class k extends s.jG{constructor(e,t){super(),this._localChannels=new Map,this._worker=this._register(e.create({amdModuleId:"vs/base/common/worker/simpleWorker",esmModuleLocation:t.esmModuleLocation,label:t.label},(e=>{this._protocol.handleMessage(e)}),(e=>{(0,r.dz)(e)}))),this._protocol=new _({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)}),this._protocol.setWorkerId(this._worker.getId());let n=null;const i=globalThis.require;void 0!==i&&"function"==typeof i.getConfig?n=i.getConfig():void 0!==globalThis.requirejs&&(n=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(c,h,[this._worker.getId(),JSON.parse(JSON.stringify(n)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(c,(async()=>{await this._onModuleLoaded})),this._onModuleLoaded.catch((e=>{this._onError("Worker failed to load "+t.amdModuleId,e)}))}_handleMessage(e,t,n){const r=this._localChannels.get(e);if(!r)return Promise.reject(new Error(`Missing channel ${e} on main thread`));if("function"!=typeof r[t])return Promise.reject(new Error(`Missing method ${t} on main thread channel ${e}`));try{return Promise.resolve(r[t].apply(r,n))}catch(i){return Promise.reject(i)}}_handleEvent(e,t,n){const r=this._localChannels.get(e);if(!r)throw new Error(`Missing channel ${e} on main thread`);if(C(t)){const i=r[t].call(r,n);if("function"!=typeof i)throw new Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return i}if(v(t)){const n=r[t];if("function"!=typeof n)throw new Error(`Missing event ${t} on main thread channel ${e}.`);return n}throw new Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}}function v(e){return"o"===e[0]&&"n"===e[1]&&l.Wv(e.charCodeAt(2))}function C(e){return/^onDynamic/.test(e)&&l.Wv(e.charCodeAt(9))}class y{constructor(e,t){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=t,this._requestHandler=null,this._protocol=new _({sendMessage:(t,n)=>{e(t,n)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t,n){if(e===c&&t===h)return this.initialize(n[0],n[1],n[2]);const r=e===c?this._requestHandler:this._localChannels.get(e);if(!r)return Promise.reject(new Error(`Missing channel ${e} on worker thread`));if("function"!=typeof r[t])return Promise.reject(new Error(`Missing method ${t} on worker thread channel ${e}`));try{return Promise.resolve(r[t].apply(r,n))}catch(i){return Promise.reject(i)}}_handleEvent(e,t,n){const r=e===c?this._requestHandler:this._localChannels.get(e);if(!r)throw new Error(`Missing channel ${e} on worker thread`);if(C(t)){const e=r[t].call(r,n);if("function"!=typeof e)throw new Error(`Missing dynamic event ${t} on request handler.`);return e}if(v(t)){const e=r[t];if("function"!=typeof e)throw new Error(`Missing event ${t} on request handler.`);return e}throw new Error(`Malformed event name ${t}`)}getChannel(e){if(!this._remoteChannels.has(e)){const t=this._protocol.createProxyToRemoteChannel(e);this._remoteChannels.set(e,t)}return this._remoteChannels.get(e)}async initialize(e,t,r){if(this._protocol.setWorkerId(e),!this._requestHandlerFactory){t&&(void 0!==t.baseUrl&&delete t.baseUrl,void 0!==t.paths&&void 0!==t.paths.vs&&delete t.paths.vs,void 0!==t.trustedTypesPolicy&&delete t.trustedTypesPolicy,t.catchError=!0,globalThis.require.config(t));{const e=o.zl.asBrowserUri(`${r}.js`).toString(!0);return n(5890)(`${e}`).then((e=>{if(this._requestHandler=e.create(this),!this._requestHandler)throw new Error("No RequestHandler!")}))}}this._requestHandler=this._requestHandlerFactory(this)}}function L(e){return new y(e,null)}},5890:(e,t,n)=>{var r={"./simpleWorker":5585,"./simpleWorker.js":5585,"monaco-editor/esm/vs/base/common/worker/simpleWorker":5585,"monaco-editor/esm/vs/base/common/worker/simpleWorker.js":5585};function i(e){return Promise.resolve().then((()=>{if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n(r[e])}))}i.keys=()=>Object.keys(r),i.id=5890,e.exports=i},7454:(e,t,n)=>{"use strict";n.d(t,{V:()=>i});var r=n(7512);class i{constructor(e){const t=(0,r.W)(e);this._defaultValue=t,this._asciiMap=i._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const n=(0,r.W)(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}},8295:(e,t,n)=>{"use strict";n.d(t,{AQ:()=>b,aZ:()=>p,l5:()=>C,lQ:()=>k,s7:()=>w,sH:()=>y,sN:()=>_,ss:()=>v,yI:()=>m,zp:()=>L});var r=n(7289),i=n(4901),s=n(9119),o=n(6001);const a=(0,s.x1A)("editor.lineHighlightBackground",null,r.kg("lineHighlight","Background color for the highlight of line at the cursor position.")),l=((0,s.x1A)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:s.b1q},r.kg("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),(0,s.x1A)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},r.kg("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},r.kg("rangeHighlightBorder","Background color of the border around highlighted ranges.")),(0,s.x1A)("editor.symbolHighlightBackground",{dark:s.Ubg,light:s.Ubg,hcDark:null,hcLight:null},r.kg("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},r.kg("symbolHighlightBorder","Background color of the border around highlighted symbols.")),(0,s.x1A)("editorCursor.foreground",{dark:"#AEAFAD",light:i.Q1.black,hcDark:i.Q1.white,hcLight:"#0F4A85"},r.kg("caret","Color of the editor cursor."))),c=(0,s.x1A)("editorCursor.background",null,r.kg("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),h=((0,s.x1A)("editorMultiCursor.primary.foreground",l,r.kg("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),(0,s.x1A)("editorMultiCursor.primary.background",c,r.kg("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),(0,s.x1A)("editorMultiCursor.secondary.foreground",l,r.kg("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),(0,s.x1A)("editorMultiCursor.secondary.background",c,r.kg("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),(0,s.x1A)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},r.kg("editorWhitespaces","Color of whitespace characters in the editor."))),u=((0,s.x1A)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:i.Q1.white,hcLight:"#292929"},r.kg("editorLineNumbers","Color of editor line numbers.")),(0,s.x1A)("editorIndentGuide.background",h,r.kg("editorIndentGuides","Color of the editor indentation guides."),!1,r.kg("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead."))),d=(0,s.x1A)("editorIndentGuide.activeBackground",h,r.kg("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,r.kg("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),g=((0,s.x1A)("editorIndentGuide.background1",u,r.kg("editorIndentGuides1","Color of the editor indentation guides (1).")),(0,s.x1A)("editorIndentGuide.background2","#00000000",r.kg("editorIndentGuides2","Color of the editor indentation guides (2).")),(0,s.x1A)("editorIndentGuide.background3","#00000000",r.kg("editorIndentGuides3","Color of the editor indentation guides (3).")),(0,s.x1A)("editorIndentGuide.background4","#00000000",r.kg("editorIndentGuides4","Color of the editor indentation guides (4).")),(0,s.x1A)("editorIndentGuide.background5","#00000000",r.kg("editorIndentGuides5","Color of the editor indentation guides (5).")),(0,s.x1A)("editorIndentGuide.background6","#00000000",r.kg("editorIndentGuides6","Color of the editor indentation guides (6).")),(0,s.x1A)("editorIndentGuide.activeBackground1",d,r.kg("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),(0,s.x1A)("editorIndentGuide.activeBackground2","#00000000",r.kg("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),(0,s.x1A)("editorIndentGuide.activeBackground3","#00000000",r.kg("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),(0,s.x1A)("editorIndentGuide.activeBackground4","#00000000",r.kg("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),(0,s.x1A)("editorIndentGuide.activeBackground5","#00000000",r.kg("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),(0,s.x1A)("editorIndentGuide.activeBackground6","#00000000",r.kg("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),(0,s.x1A)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:s.buw,hcLight:s.buw},r.kg("editorActiveLineNumber","Color of editor active line number"),!1,r.kg("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."))),f=((0,s.x1A)("editorLineNumber.activeForeground",g,r.kg("editorActiveLineNumber","Color of editor active line number")),(0,s.x1A)("editorLineNumber.dimmedForeground",null,r.kg("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed.")),(0,s.x1A)("editorRuler.foreground",{dark:"#5A5A5A",light:i.Q1.lightgrey,hcDark:i.Q1.white,hcLight:"#292929"},r.kg("editorRuler","Color of the editor rulers.")),(0,s.x1A)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},r.kg("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,s.x1A)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},r.kg("editorBracketMatchBackground","Background color behind matching brackets")),(0,s.x1A)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:s.b1q,hcLight:s.b1q},r.kg("editorBracketMatchBorder","Color for matching brackets boxes")),(0,s.x1A)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},r.kg("editorOverviewRulerBorder","Color of the overview ruler border.")),(0,s.x1A)("editorOverviewRuler.background",null,r.kg("editorOverviewRulerBackground","Background color of the editor overview ruler.")),(0,s.x1A)("editorGutter.background",s.YtV,r.kg("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,s.x1A)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:i.Q1.fromHex("#fff").transparent(.8),hcLight:s.b1q},r.kg("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),(0,s.x1A)("editorUnnecessaryCode.opacity",{dark:i.Q1.fromHex("#000a"),light:i.Q1.fromHex("#0007"),hcDark:null,hcLight:null},r.kg("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.")),(0,s.x1A)("editorGhostText.border",{dark:null,light:null,hcDark:i.Q1.fromHex("#fff").transparent(.8),hcLight:i.Q1.fromHex("#292929").transparent(.8)},r.kg("editorGhostTextBorder","Border color of ghost text in the editor.")),(0,s.x1A)("editorGhostText.foreground",{dark:i.Q1.fromHex("#ffffff56"),light:i.Q1.fromHex("#0007"),hcDark:null,hcLight:null},r.kg("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),(0,s.x1A)("editorGhostText.background",null,r.kg("editorGhostTextBackground","Background color of the ghost text in the editor.")),new i.Q1(new i.bU(0,122,204,.6))),m=((0,s.x1A)("editorOverviewRuler.rangeHighlightForeground",f,r.kg("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editorOverviewRuler.errorForeground",{dark:new i.Q1(new i.bU(255,18,18,.7)),light:new i.Q1(new i.bU(255,18,18,.7)),hcDark:new i.Q1(new i.bU(255,50,50,1)),hcLight:"#B5200D"},r.kg("overviewRuleError","Overview ruler marker color for errors."))),p=(0,s.x1A)("editorOverviewRuler.warningForeground",{dark:s.Hng,light:s.Hng,hcDark:s.Stt,hcLight:s.Stt},r.kg("overviewRuleWarning","Overview ruler marker color for warnings.")),b=(0,s.x1A)("editorOverviewRuler.infoForeground",{dark:s.pOz,light:s.pOz,hcDark:s.IIb,hcLight:s.IIb},r.kg("overviewRuleInfo","Overview ruler marker color for infos.")),_=(0,s.x1A)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},r.kg("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),k=(0,s.x1A)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},r.kg("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),v=(0,s.x1A)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},r.kg("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),C=(0,s.x1A)("editorBracketHighlight.foreground4","#00000000",r.kg("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),y=(0,s.x1A)("editorBracketHighlight.foreground5","#00000000",r.kg("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),L=(0,s.x1A)("editorBracketHighlight.foreground6","#00000000",r.kg("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),w=(0,s.x1A)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new i.Q1(new i.bU(255,18,18,.8)),light:new i.Q1(new i.bU(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},r.kg("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets."));(0,s.x1A)("editorBracketPairGuide.background1","#00000000",r.kg("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background2","#00000000",r.kg("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background3","#00000000",r.kg("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background4","#00000000",r.kg("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background5","#00000000",r.kg("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.background6","#00000000",r.kg("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground1","#00000000",r.kg("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground2","#00000000",r.kg("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground3","#00000000",r.kg("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground4","#00000000",r.kg("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground5","#00000000",r.kg("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.x1A)("editorBracketPairGuide.activeBackground6","#00000000",r.kg("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.x1A)("editorUnicodeHighlight.border",s.Hng,r.kg("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,s.x1A)("editorUnicodeHighlight.background",s.whs,r.kg("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));(0,o.zy)(((e,t)=>{const n=e.getColor(s.YtV),r=e.getColor(a),i=r&&!r.isTransparent()?r:n;i&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${i}; }`)}))},3902:(e,t,n)=>{"use strict";function r(e){let t=0,n=0,r=0,i=0;for(let s=0,o=e.length;s<o;s++){const a=e.charCodeAt(s);13===a?(0===t&&(n=s),t++,s+1<o&&10===e.charCodeAt(s+1)?(i|=2,s++):i|=3,r=s+1):10===a&&(i|=1,0===t&&(n=s),t++,r=s+1)}return 0===t&&(n=e.length),[t,n,e.length-r,i]}n.d(t,{W:()=>r})},9955:(e,t,n)=>{"use strict";n.d(t,{M:()=>a,S:()=>l});var r=n(4327),i=n(2532),s=n(8061),o=n(7393);class a{static fromRangeInclusive(e){return new a(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new l(e[0].slice());for(let n=1;n<e.length;n++)t=t.getUnion(new l(e[n].slice()));return t.ranges}static join(e){if(0===e.length)throw new r.D7("lineRanges cannot be empty");let t=e[0].startLineNumber,n=e[0].endLineNumberExclusive;for(let r=1;r<e.length;r++)t=Math.min(t,e[r].startLineNumber),n=Math.max(n,e[r].endLineNumberExclusive);return new a(t,n)}static ofLength(e,t){return new a(e,e+t)}static deserialize(e){return new a(e[0],e[1])}constructor(e,t){if(e>t)throw new r.D7(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&e<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(e){return new a(this.startLineNumber+e,this.endLineNumberExclusive+e)}deltaLength(e){return new a(this.startLineNumber,this.endLineNumberExclusive+e)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(e){return new a(Math.min(this.startLineNumber,e.startLineNumber),Math.max(this.endLineNumberExclusive,e.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(e){const t=Math.max(this.startLineNumber,e.startLineNumber),n=Math.min(this.endLineNumberExclusive,e.endLineNumberExclusive);if(t<=n)return new a(t,n)}intersectsStrict(e){return this.startLineNumber<e.endLineNumberExclusive&&e.startLineNumber<this.endLineNumberExclusive}overlapOrTouch(e){return this.startLineNumber<=e.endLineNumberExclusive&&e.startLineNumber<=this.endLineNumberExclusive}equals(e){return this.startLineNumber===e.startLineNumber&&this.endLineNumberExclusive===e.endLineNumberExclusive}toInclusiveRange(){return this.isEmpty?null:new s.Q(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new s.Q(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(e){const t=[];for(let n=this.startLineNumber;n<this.endLineNumberExclusive;n++)t.push(e(n));return t}forEach(e){for(let t=this.startLineNumber;t<this.endLineNumberExclusive;t++)e(t)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}includes(e){return this.startLineNumber<=e&&e<this.endLineNumberExclusive}toOffsetRange(){return new i.L(this.startLineNumber-1,this.endLineNumberExclusive-1)}}class l{constructor(e=[]){this._normalizedRanges=e}get ranges(){return this._normalizedRanges}addRange(e){if(0===e.length)return;const t=(0,o.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)this._normalizedRanges.splice(t,0,e);else if(t===n-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const r=this._normalizedRanges[t].join(this._normalizedRanges[n-1]).join(e);this._normalizedRanges.splice(t,n-t,r)}}contains(e){const t=(0,o.lx)(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=(0,o.lx)(this._normalizedRanges,(t=>t.startLineNumber<e.endLineNumberExclusive));return!!t&&t.endLineNumberExclusive>e.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let n=0,r=0,i=null;for(;n<this._normalizedRanges.length||r<e._normalizedRanges.length;){let s=null;if(n<this._normalizedRanges.length&&r<e._normalizedRanges.length){const t=this._normalizedRanges[n],i=e._normalizedRanges[r];t.startLineNumber<i.startLineNumber?(s=t,n++):(s=i,r++)}else n<this._normalizedRanges.length?(s=this._normalizedRanges[n],n++):(s=e._normalizedRanges[r],r++);null===i?i=s:i.endLineNumberExclusive>=s.startLineNumber?i=new a(i.startLineNumber,Math.max(i.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(i),i=s)}return null!==i&&t.push(i),new l(t)}subtractFrom(e){const t=(0,o.hw)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.iM)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)return new l([e]);const r=[];let i=e.startLineNumber;for(let s=t;s<n;s++){const e=this._normalizedRanges[s];e.startLineNumber>i&&r.push(new a(i,e.startLineNumber)),i=e.endLineNumberExclusive}return i<e.endLineNumberExclusive&&r.push(new a(i,e.endLineNumberExclusive)),new l(r)}toString(){return this._normalizedRanges.map((e=>e.toString())).join(", ")}getIntersection(e){const t=[];let n=0,r=0;for(;n<this._normalizedRanges.length&&r<e._normalizedRanges.length;){const i=this._normalizedRanges[n],s=e._normalizedRanges[r],o=i.intersect(s);o&&!o.isEmpty&&t.push(o),i.endLineNumberExclusive<s.endLineNumberExclusive?n++:r++}return new l(t)}getWithDelta(e){return new l(this._normalizedRanges.map((t=>t.delta(e))))}}},2532:(e,t,n)=>{"use strict";n.d(t,{L:()=>i});var r=n(4327);class i{static addRange(e,t){let n=0;for(;n<t.length&&t[n].endExclusive<e.start;)n++;let r=n;for(;r<t.length&&t[r].start<=e.endExclusive;)r++;if(n===r)t.splice(n,0,e);else{const s=Math.min(e.start,t[n].start),o=Math.max(e.endExclusive,t[r-1].endExclusive);t.splice(n,r-n,new i(s,o))}}static tryCreate(e,t){if(!(e>t))return new i(e,t)}static ofLength(e){return new i(0,e)}static ofStartAndLength(e,t){return new i(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new r.D7(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new i(this.start+e,this.endExclusive+e)}deltaStart(e){return new i(this.start+e,this.endExclusive)}deltaEnd(e){return new i(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new i(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const t=Math.max(this.start,e.start),n=Math.min(this.endExclusive,e.endExclusive);if(t<=n)return new i(t,n)}intersects(e){return Math.max(this.start,e.start)<Math.min(this.endExclusive,e.endExclusive)}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new r.D7(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new r.D7(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;t<this.endExclusive;t++)e(t)}}},5365:(e,t,n)=>{"use strict";n.d(t,{y:()=>r});class r{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new r(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return r.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return r.isBefore(this,e)}static isBefore(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<t.column}isBeforeOrEqual(e){return r.isBeforeOrEqual(this,e)}static isBeforeOrEqual(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<=t.column}static compare(e,t){const n=0|e.lineNumber,r=0|t.lineNumber;if(n===r){return(0|e.column)-(0|t.column)}return n-r}clone(){return new r(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(e){return new r(e.lineNumber,e.column)}static isIPosition(e){return e&&"number"==typeof e.lineNumber&&"number"==typeof e.column}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}},8061:(e,t,n)=>{"use strict";n.d(t,{Q:()=>i});var r=n(5365);class i{constructor(e,t,n,r){e>n||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return i.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return i.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>e.endColumn))}static strictContainsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<=e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>=e.endColumn))}containsRange(e){return i.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)))}strictContainsRange(e){return i.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}plusRange(e){return i.plusRange(this,e)}static plusRange(e,t){let n,r,s,o;return t.startLineNumber<e.startLineNumber?(n=t.startLineNumber,r=t.startColumn):t.startLineNumber===e.startLineNumber?(n=t.startLineNumber,r=Math.min(t.startColumn,e.startColumn)):(n=e.startLineNumber,r=e.startColumn),t.endLineNumber>e.endLineNumber?(s=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,o=e.endColumn),new i(n,r,s,o)}intersectRanges(e){return i.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,r=e.startColumn,s=e.endLineNumber,o=e.endColumn;const a=t.startLineNumber,l=t.startColumn,c=t.endLineNumber,h=t.endColumn;return n<a?(n=a,r=l):n===a&&(r=Math.max(r,l)),s>c?(s=c,o=h):s===c&&(o=Math.min(o,h)),n>s||n===s&&r>o?null:new i(n,r,s,o)}equalsRange(e){return i.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return i.getEndPosition(this)}static getEndPosition(e){return new r.y(e.endLineNumber,e.endColumn)}getStartPosition(){return i.getStartPosition(this)}static getStartPosition(e){return new r.y(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new i(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new i(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return i.collapseToStart(this)}static collapseToStart(e){return new i(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return i.collapseToEnd(this)}static collapseToEnd(e){return new i(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new i(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new i(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new i(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)}static areIntersecting(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn)}static compareRangesUsingStarts(e,t){if(e&&t){const n=0|e.startLineNumber,r=0|t.startLineNumber;if(n===r){const n=0|e.startColumn,r=0|t.startColumn;if(n===r){const n=0|e.endLineNumber,r=0|t.endLineNumber;if(n===r){return(0|e.endColumn)-(0|t.endColumn)}return n-r}return n-r}return n-r}return(e?1:0)-(t?1:0)}static compareRangesUsingEnds(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber}static spansMultipleLines(e){return e.endLineNumber>e.startLineNumber}toJSON(){return this}}},3702:(e,t,n)=>{"use strict";n.d(t,{L:()=>s});var r=n(5365),i=n(8061);class s extends i.Q{constructor(e,t,n,r){super(e,t,n,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return s.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new s(this.startLineNumber,this.startColumn,e,t):new s(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new r.y(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new r.y(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new s(e,t,this.endLineNumber,this.endColumn):new s(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new s(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new s(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new s(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new s(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;n++)if(!this.selectionsEqual(e[n],t[n]))return!1;return!0}static isISelection(e){return e&&"number"==typeof e.selectionStartLineNumber&&"number"==typeof e.selectionStartColumn&&"number"==typeof e.positionLineNumber&&"number"==typeof e.positionColumn}static createWithDirection(e,t,n,r,i){return 0===i?new s(e,t,n,r):new s(n,r,e,t)}}},8357:(e,t,n)=>{"use strict";n.d(t,{W:()=>s});var r=n(5365),i=n(8061);class s{static{this.zero=new s(0,0)}static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new s(0,t.column-e.column):new s(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return s.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,n=0;for(const r of e)"\n"===r?(t++,n=0):n++;return new s(t,n)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return 0===this.lineCount?new i.Q(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new i.Q(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new r.y(e.lineNumber,e.column+this.columnCount):new r.y(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}},8782:(e,t,n)=>{"use strict";n.d(t,{Io:()=>o,Ld:()=>s,Th:()=>l});var r=n(7954),i=n(5525);const s=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of"`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?")e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();function o(e){let t=s;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const a=new i.w;function l(e,t,n,i,s){if(t=o(t),s||(s=r.f.first(a)),n.length>s.maxLen){let r=e-s.maxLen/2;return r<0?r=0:i+=r,l(e,t,n=n.substring(r,e+s.maxLen/2),i,s)}const h=Date.now(),u=e-1-i;let d=-1,g=null;for(let r=1;!(Date.now()-h>=s.timeBudget);r++){const e=u-s.windowSize*r;t.lastIndex=Math.max(0,e);const i=c(t,n,u,d);if(!i&&g)break;if(g=i,e<=0)break;d=e}if(g){const e={word:g[0],startColumn:i+1+g.index,endColumn:i+1+g.index+g[0].length};return t.lastIndex=0,e}return null}function c(e,t,n,r){let i;for(;i=e.exec(t);){const t=i.index||0;if(t<=n&&e.lastIndex>=n)return i;if(r>0&&t>r)return null}return null}a.unshift({maxLen:1e3,windowSize:15,timeBudget:150})},5910:(e,t,n)=>{"use strict";n.d(t,{x:()=>r});class r{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),8&n&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const n=this.getForeground(e),r=this.getFontStyle(e);let i=`color: ${t[n]};`;1&r&&(i+="font-style: italic;"),2&r&&(i+="font-weight: bold;");let s="";return 4&r&&(s+=" underline"),8&r&&(s+=" line-through"),s&&(i+=`text-decoration:${s};`),i}static getPresentationFromMetadata(e){const t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&n),bold:Boolean(2&n),underline:Boolean(4&n),strikethrough:Boolean(8&n)}}}},9694:(e,t,n)=>{"use strict";n.d(t,{rY:()=>p,ou:()=>m,dG:()=>L,OB:()=>w});var r=n(8391),i=(n(7264),n(2106)),s=n(2446);class o{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new i.vl,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),(0,s.s)((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){this._factories.get(e)?.dispose();const n=new a(this,e,t);return this._factories.set(e,n),(0,s.s)((()=>{const t=this._factories.get(e);t&&t===n&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const n=this._factories.get(e);return!n||n.isResolved?null:(await n.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}class a extends s.jG{get isResolved(){return this._isResolved}constructor(e,t,n){super(),this._registry=e,this._languageId=t,this._factory=n,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}var l,c,h,u,d,g,f=n(7289);class m{constructor(e,t,n){this.offset=e,this.type=t,this.language=n,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class p{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}!function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(l||(l={})),function(e){const t=new Map;t.set(0,r.W.symbolMethod),t.set(1,r.W.symbolFunction),t.set(2,r.W.symbolConstructor),t.set(3,r.W.symbolField),t.set(4,r.W.symbolVariable),t.set(5,r.W.symbolClass),t.set(6,r.W.symbolStruct),t.set(7,r.W.symbolInterface),t.set(8,r.W.symbolModule),t.set(9,r.W.symbolProperty),t.set(10,r.W.symbolEvent),t.set(11,r.W.symbolOperator),t.set(12,r.W.symbolUnit),t.set(13,r.W.symbolValue),t.set(15,r.W.symbolEnum),t.set(14,r.W.symbolConstant),t.set(15,r.W.symbolEnum),t.set(16,r.W.symbolEnumMember),t.set(17,r.W.symbolKeyword),t.set(27,r.W.symbolSnippet),t.set(18,r.W.symbolText),t.set(19,r.W.symbolColor),t.set(20,r.W.symbolFile),t.set(21,r.W.symbolReference),t.set(22,r.W.symbolCustomColor),t.set(23,r.W.symbolFolder),t.set(24,r.W.symbolTypeParameter),t.set(25,r.W.account),t.set(26,r.W.issues),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for CompletionItemKind "+e),n=r.W.symbolProperty),n};const n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",27),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),e.fromString=function(e,t){let r=n.get(e);return void 0!==r||t||(r=9),r}}(c||(c={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(h||(h={}));!function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(u||(u={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(d||(d={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(g||(g={}));(0,f.kg)("Array","array"),(0,f.kg)("Boolean","boolean"),(0,f.kg)("Class","class"),(0,f.kg)("Constant","constant"),(0,f.kg)("Constructor","constructor"),(0,f.kg)("Enum","enumeration"),(0,f.kg)("EnumMember","enumeration member"),(0,f.kg)("Event","event"),(0,f.kg)("Field","field"),(0,f.kg)("File","file"),(0,f.kg)("Function","function"),(0,f.kg)("Interface","interface"),(0,f.kg)("Key","key"),(0,f.kg)("Method","method"),(0,f.kg)("Module","module"),(0,f.kg)("Namespace","namespace"),(0,f.kg)("Null","null"),(0,f.kg)("Number","number"),(0,f.kg)("Object","object"),(0,f.kg)("Operator","operator"),(0,f.kg)("Package","package"),(0,f.kg)("Property","property"),(0,f.kg)("String","string"),(0,f.kg)("Struct","struct"),(0,f.kg)("TypeParameter","type parameter"),(0,f.kg)("Variable","variable");var b,_,k,v,C;!function(e){const t=new Map;t.set(0,r.W.symbolFile),t.set(1,r.W.symbolModule),t.set(2,r.W.symbolNamespace),t.set(3,r.W.symbolPackage),t.set(4,r.W.symbolClass),t.set(5,r.W.symbolMethod),t.set(6,r.W.symbolProperty),t.set(7,r.W.symbolField),t.set(8,r.W.symbolConstructor),t.set(9,r.W.symbolEnum),t.set(10,r.W.symbolInterface),t.set(11,r.W.symbolFunction),t.set(12,r.W.symbolVariable),t.set(13,r.W.symbolConstant),t.set(14,r.W.symbolString),t.set(15,r.W.symbolNumber),t.set(16,r.W.symbolBoolean),t.set(17,r.W.symbolArray),t.set(18,r.W.symbolObject),t.set(19,r.W.symbolKey),t.set(20,r.W.symbolNull),t.set(21,r.W.symbolEnumMember),t.set(22,r.W.symbolStruct),t.set(23,r.W.symbolEvent),t.set(24,r.W.symbolOperator),t.set(25,r.W.symbolTypeParameter),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for SymbolKind "+e),n=r.W.symbolProperty),n}}(b||(b={}));class y{static{this.Comment=new y("comment")}static{this.Imports=new y("imports")}static{this.Region=new y("region")}static fromValue(e){switch(e){case"comment":return y.Comment;case"imports":return y.Imports;case"region":return y.Region}return new y(e)}constructor(e){this.value=e}}!function(e){e[e.AIGenerated=1]="AIGenerated"}(_||(_={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(k||(k={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&("string"==typeof e.id&&"string"==typeof e.title)}}(v||(v={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(C||(C={}));const L=new o,w=new o;var S;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(S||(S={}))},7922:(e,t,n)=>{"use strict";n.d(t,{L:()=>r});const r=(0,n(2399).u1)("languageService")},4957:(e,t,n)=>{"use strict";n.d(t,{W6:()=>l,vH:()=>c});var r=n(7289),i=n(2106),s=n(7167),o=n(3720),a=n(7142);const l=new class{constructor(){this._onDidChangeLanguages=new i.vl,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t<n;t++)if(this._languages[t]===e)return void this._languages.splice(t,1)}}}getLanguages(){return this._languages}};s.O.add("editor.modesRegistry",l);const c="plaintext";l.registerLanguage({id:c,extensions:[".txt"],aliases:[r.kg("plainText.alias","Plain Text"),"text"],mimetypes:[o.K.text]}),s.O.as(a.Fd.Configuration).registerDefaultConfigurations([{overrides:{"[plaintext]":{"editor.unicodeHighlight.ambiguousCharacters":!1,"editor.unicodeHighlight.invisibleCharacters":!1}}}])},6055:(e,t,n)=>{"use strict";n.d(t,{A5:()=>r,Dg:()=>l,F4:()=>d,L5:()=>u,Wo:()=>h,X2:()=>a,ZS:()=>i,nk:()=>c,vd:()=>g});var r,i,s,o=n(1386);!function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(r||(r={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(i||(i={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(s||(s={}));class a{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|e.tabSize),"tabSize"===e.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|e.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace),this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&(0,o.aI)(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class l{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function c(e){return e&&"function"==typeof e.read}class h{constructor(e,t,n,r,i,s){this.identifier=e,this.range=t,this.text=n,this.forceMoveMarkers=r,this.isAutoWhitespaceEdit=i,this._isTracked=s}}class u{constructor(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}class d{constructor(e,t,n){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=n}}function g(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},2389:(e,t,n)=>{"use strict";n.d(t,{lt:()=>u,W5:()=>p,hB:()=>f,dr:()=>d,wC:()=>m});var r=n(6844),i=n(7992),s=n(7454);class o extends s.V{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let n=0,r=e.length;n<r;n++)this.set(e.charCodeAt(n),2);this.set(32,1),this.set(9,1)}findPrevIntlWordBeforeOrAtOffset(e,t){let n=null;for(const r of this._getIntlSegmenterWordsOnLine(e)){if(r.index>t)break;n=r}return n}findNextIntlWordAtOrAfterOffset(e,t){for(const n of this._getIntlSegmenterWordsOnLine(e))if(!(n.index<t))return n;return null}_getIntlSegmenterWordsOnLine(e){return this._segmenter?(this._cachedLine===e||(this._cachedLine=e,this._cachedSegments=this._filterWordSegments(this._segmenter.segment(e))),this._cachedSegments):[]}_filterWordSegments(e){const t=[];for(const n of e)this._isWordLike(n)&&t.push(n);return t}_isWordLike(e){return!!e.isWordLike}}const a=new i.qK(10);var l=n(5365),c=n(8061),h=n(6055);class u{constructor(e,t,n,r){this.searchString=e,this.isRegex=t,this.matchCase=n,this.wordSeparators=r}parseSearchRequest(){if(""===this.searchString)return null;let e;e=this.isRegex?function(e){if(!e||0===e.length)return!1;for(let t=0,n=e.length;t<n;t++){const r=e.charCodeAt(t);if(10===r)return!0;if(92===r){if(t++,t>=n)break;const r=e.charCodeAt(t);if(110===r||114===r||87===r)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=r.OS(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(i){return null}if(!t)return null;let n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new h.L5(t,this.wordSeparators?function(e,t){const n=`${e}/${t.join(",")}`;let r=a.get(n);return r||(r=new o(e,t),a.set(n,r)),r}(this.wordSeparators,[]):null,n?this.searchString:null)}}function d(e,t,n){if(!n)return new h.Dg(e,null);const r=[];for(let i=0,s=t.length;i<s;i++)r[i]=t[i];return new h.Dg(e,r)}class g{constructor(e){const t=[];let n=0;for(let r=0,i=e.length;r<i;r++)10===e.charCodeAt(r)&&(t[n++]=r);this._lineFeedsOffsets=t}findLineFeedCountBeforeOffset(e){const t=this._lineFeedsOffsets;let n=0,r=t.length-1;if(-1===r)return 0;if(e<=t[0])return 0;for(;n<r;){const i=n+((r-n)/2|0);t[i]>=e?r=i-1:t[i+1]>=e?(n=i,r=i):n=i+1}return n+1}}class f{static findMatches(e,t,n,r,i){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,n,new p(s.wordSeparators,s.regex),r,i):this._doFindMatchesLineByLine(e,n,s,r,i):[]}static _getMultilineMatchRange(e,t,n,r,i,s){let o,a,l=0;if(r?(l=r.findLineFeedCountBeforeOffset(i),o=t+i+l):o=t+i,r){const e=r.findLineFeedCountBeforeOffset(i+s.length)-l;a=o+s.length+e}else a=o+s.length;const h=e.getPositionAt(o),u=e.getPositionAt(a);return new c.Q(h.lineNumber,h.column,u.lineNumber,u.column)}static _doFindMatchesMultiline(e,t,n,r,i){const s=e.getOffsetAt(t.getStartPosition()),o=e.getValueInRange(t,1),a="\r\n"===e.getEOL()?new g(o):null,l=[];let c,h=0;for(n.reset(0);c=n.next(o);)if(l[h++]=d(this._getMultilineMatchRange(e,s,o,a,c.index,c[0]),c,r),h>=i)return l;return l}static _doFindMatchesLineByLine(e,t,n,r,i){const s=[];let o=0;if(t.startLineNumber===t.endLineNumber){const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,r,i),s}const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,r,i);for(let l=t.startLineNumber+1;l<t.endLineNumber&&o<i;l++)o=this._findMatchesInLine(n,e.getLineContent(l),l,0,o,s,r,i);if(o<i){const a=e.getLineContent(t.endLineNumber).substring(0,t.endColumn-1);o=this._findMatchesInLine(n,a,t.endLineNumber,0,o,s,r,i)}return s}static _findMatchesInLine(e,t,n,r,i,s,o,a){const l=e.wordSeparators;if(!o&&e.simpleSearch){const o=e.simpleSearch,u=o.length,d=t.length;let g=-u;for(;-1!==(g=t.indexOf(o,g+u));)if((!l||m(l,t,d,g,u))&&(s[i++]=new h.Dg(new c.Q(n,g+1+r,n,g+1+u+r),null),i>=a))return i;return i}const u=new p(e.wordSeparators,e.regex);let g;u.reset(0);do{if(g=u.next(t),g&&(s[i++]=d(new c.Q(n,g.index+1+r,n,g.index+1+g[0].length+r),g,o),i>=a))return i}while(g);return i}static findNextMatch(e,t,n,r){const i=t.parseSearchRequest();if(!i)return null;const s=new p(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindNextMatchMultiline(e,n,s,r):this._doFindNextMatchLineByLine(e,n,s,r)}static _doFindNextMatchMultiline(e,t,n,r){const i=new l.y(t.lineNumber,1),s=e.getOffsetAt(i),o=e.getLineCount(),a=e.getValueInRange(new c.Q(i.lineNumber,i.column,o,e.getLineMaxColumn(o)),1),h="\r\n"===e.getEOL()?new g(a):null;n.reset(t.column-1);const u=n.next(a);return u?d(this._getMultilineMatchRange(e,s,a,h,u.index,u[0]),u,r):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new l.y(1,1),n,r):null}static _doFindNextMatchLineByLine(e,t,n,r){const i=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s),a=this._findFirstMatchInLine(n,o,s,t.column,r);if(a)return a;for(let l=1;l<=i;l++){const t=(s+l-1)%i,o=e.getLineContent(t+1),a=this._findFirstMatchInLine(n,o,t+1,1,r);if(a)return a}return null}static _findFirstMatchInLine(e,t,n,r,i){e.reset(r-1);const s=e.next(t);return s?d(new c.Q(n,s.index+1,n,s.index+1+s[0].length),s,i):null}static findPreviousMatch(e,t,n,r){const i=t.parseSearchRequest();if(!i)return null;const s=new p(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindPreviousMatchMultiline(e,n,s,r):this._doFindPreviousMatchLineByLine(e,n,s,r)}static _doFindPreviousMatchMultiline(e,t,n,r){const i=this._doFindMatchesMultiline(e,new c.Q(1,1,t.lineNumber,t.column),n,r,9990);if(i.length>0)return i[i.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new l.y(s,e.getLineMaxColumn(s)),n,r):null}static _doFindPreviousMatchLineByLine(e,t,n,r){const i=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s).substring(0,t.column-1),a=this._findLastMatchInLine(n,o,s,r);if(a)return a;for(let l=1;l<=i;l++){const t=(i+s-l-1)%i,o=e.getLineContent(t+1),a=this._findLastMatchInLine(n,o,t+1,r);if(a)return a}return null}static _findLastMatchInLine(e,t,n,r){let i,s=null;for(e.reset(0);i=e.next(t);)s=d(new c.Q(n,i.index+1,n,i.index+1+i[0].length),i,r);return s}}function m(e,t,n,r,i){return function(e,t,n,r,i){if(0===r)return!0;const s=t.charCodeAt(r-1);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(i>0){const n=t.charCodeAt(r);if(0!==e.get(n))return!0}return!1}(e,t,0,r,i)&&function(e,t,n,r,i){if(r+i===n)return!0;const s=t.charCodeAt(r+i);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(i>0){const n=t.charCodeAt(r+i-1);if(0!==e.get(n))return!0}return!1}(e,t,n,r,i)}class p{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(n=this._searchRegex.exec(e),!n)return null;const i=n.index,s=n[0].length;if(i===this._prevMatchStartIndex&&s===this._prevMatchLength){if(0===s){r.Z5(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=i,this._prevMatchLength=s,!this._wordSeparators||m(this._wordSeparators,e,t,i,s))return n}while(n);return null}}},1583:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KeyMod:()=>fe,createMonacoBaseAPI:()=>me});var r=n(8903),i=n(2106);class s{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const o=new s,a=new s,l=new s,c=new Array(230),h={},u=[],d=Object.create(null),g=Object.create(null),f=[],m=[];for(let pe=0;pe<=193;pe++)f[pe]=-1;for(let pe=0;pe<=132;pe++)m[pe]=-1;var p;!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],n=[],r=[];for(const i of t){const[e,t,s,p,b,_,k,v,C]=i;if(r[t]||(r[t]=!0,u[t]=s,d[s]=t,g[s.toLowerCase()]=t,e&&(f[t]=p,0!==p&&3!==p&&5!==p&&4!==p&&6!==p&&57!==p&&(m[p]=t))),!n[p]){if(n[p]=!0,!b)throw new Error(`String representation missing for key code ${p} around scan code ${s}`);o.define(p,b),a.define(p,v||b),l.define(p,C||v||b)}_&&(c[_]=p),k&&(h[k]=p)}m[3]=46}(),function(e){e.toString=function(e){return o.keyCodeToStr(e)},e.fromString=function(e){return o.strToKeyCode(e)},e.toUserSettingsUS=function(e){return a.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return l.keyCodeToStr(e)},e.fromUserSettings=function(e){return a.strToKeyCode(e)||l.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return o.keyCodeToStr(e)}}(p||(p={}));var b,_,k,v,C,y,L,w,S,x,E,N,T,A,I,O,M,R,D,B,F,P,V,z,j,q,W,U,$,H,K,G,Q,J,X,Y,Z,ee,te,ne,re,ie,se,oe,ae,le,ce=n(7264),he=n(5365),ue=n(8061),de=n(3702),ge=n(9694);!function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(b||(b={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(_||(_={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(k||(k={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(v||(v={})),function(e){e[e.Deprecated=1]="Deprecated"}(C||(C={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(y||(y={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(L||(L={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(w||(w={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(S||(S={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(x||(x={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(E||(E={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.placeholder=88]="placeholder",e[e.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",e[e.quickSuggestions=90]="quickSuggestions",e[e.quickSuggestionsDelay=91]="quickSuggestionsDelay",e[e.readOnly=92]="readOnly",e[e.readOnlyMessage=93]="readOnlyMessage",e[e.renameOnType=94]="renameOnType",e[e.renderControlCharacters=95]="renderControlCharacters",e[e.renderFinalNewline=96]="renderFinalNewline",e[e.renderLineHighlight=97]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=99]="renderValidationDecorations",e[e.renderWhitespace=100]="renderWhitespace",e[e.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",e[e.roundedSelection=102]="roundedSelection",e[e.rulers=103]="rulers",e[e.scrollbar=104]="scrollbar",e[e.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=106]="scrollBeyondLastLine",e[e.scrollPredominantAxis=107]="scrollPredominantAxis",e[e.selectionClipboard=108]="selectionClipboard",e[e.selectionHighlight=109]="selectionHighlight",e[e.selectOnLineNumbers=110]="selectOnLineNumbers",e[e.showFoldingControls=111]="showFoldingControls",e[e.showUnused=112]="showUnused",e[e.snippetSuggestions=113]="snippetSuggestions",e[e.smartSelect=114]="smartSelect",e[e.smoothScrolling=115]="smoothScrolling",e[e.stickyScroll=116]="stickyScroll",e[e.stickyTabStops=117]="stickyTabStops",e[e.stopRenderingLineAfter=118]="stopRenderingLineAfter",e[e.suggest=119]="suggest",e[e.suggestFontSize=120]="suggestFontSize",e[e.suggestLineHeight=121]="suggestLineHeight",e[e.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",e[e.suggestSelection=123]="suggestSelection",e[e.tabCompletion=124]="tabCompletion",e[e.tabIndex=125]="tabIndex",e[e.unicodeHighlighting=126]="unicodeHighlighting",e[e.unusualLineTerminators=127]="unusualLineTerminators",e[e.useShadowDOM=128]="useShadowDOM",e[e.useTabStops=129]="useTabStops",e[e.wordBreak=130]="wordBreak",e[e.wordSegmenterLocales=131]="wordSegmenterLocales",e[e.wordSeparators=132]="wordSeparators",e[e.wordWrap=133]="wordWrap",e[e.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=136]="wordWrapColumn",e[e.wordWrapOverride1=137]="wordWrapOverride1",e[e.wordWrapOverride2=138]="wordWrapOverride2",e[e.wrappingIndent=139]="wrappingIndent",e[e.wrappingStrategy=140]="wrappingStrategy",e[e.showDeprecated=141]="showDeprecated",e[e.inlayHints=142]="inlayHints",e[e.editorClassName=143]="editorClassName",e[e.pixelRatio=144]="pixelRatio",e[e.tabFocusMode=145]="tabFocusMode",e[e.layoutInfo=146]="layoutInfo",e[e.wrappingInfo=147]="wrappingInfo",e[e.defaultColorDecorators=148]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"}(N||(N={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(T||(T={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(A||(A={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(I||(I={})),function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(O||(O={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(M||(M={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(R||(R={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(D||(D={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(B||(B={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(F||(F={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(P||(P={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(V||(V={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(z||(z={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(j||(j={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(q||(q={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(W||(W={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(U||(U={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}($||($={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(H||(H={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(K||(K={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(G||(G={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(Q||(Q={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(J||(J={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(X||(X={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(Y||(Y={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(Z||(Z={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(ee||(ee={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(te||(te={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(ne||(ne={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(re||(re={})),function(e){e[e.Deprecated=1]="Deprecated"}(ie||(ie={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(se||(se={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(oe||(oe={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(ae||(ae={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(le||(le={}));class fe{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(e,t){return function(e,t){return(e|(65535&t)<<16>>>0)>>>0}(e,t)}}function me(){return{editor:void 0,languages:void 0,CancellationTokenSource:r.Qi,Emitter:i.vl,KeyCode:P,KeyMod:fe,Position:he.y,Range:ue.Q,Selection:de.L,SelectionDirection:ee,MarkerSeverity:V,MarkerTag:z,Uri:ce.r,Token:ge.ou}}},1684:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BaseEditorSimpleWorker:()=>Pe,EditorSimpleWorker:()=>Ve,create:()=>ze});class r{constructor(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}var i=n(2344);class s{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,r=e.length;n<r;n++)t[n]=e.charCodeAt(n);return t}}function o(e,t,n){return new h(new s(e),new s(t)).ComputeDiff(n).changes}class a{static Assert(e,t){if(!e)throw new Error(t)}}class l{static Copy(e,t,n,r,i){for(let s=0;s<i;s++)n[r+s]=e[t+s]}static Copy2(e,t,n,r,i){for(let s=0;s<i;s++)n[r+s]=e[t+s]}}class c{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new r(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class h{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[r,i,s]=h._getElements(e),[o,a,l]=h._getElements(t);this._hasStrings=s&&l,this._originalStringElements=r,this._originalElementsOrHash=i,this._modifiedStringElements=o,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(h._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,r=t.length;n<r;n++)e[n]=(0,i.e2)(t[n],0);return[t,e,!0]}return t instanceof Int32Array?[[],t,!1]:[[],new Int32Array(t),!1]}ElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._modifiedStringElements[t])}ElementsAreStrictEqual(e,t){if(!this.ElementsAreEqual(e,t))return!1;return h._getStrictElement(this._originalSequence,e)===h._getStrictElement(this._modifiedSequence,t)}static _getStrictElement(e,t){return"function"==typeof e.getStrictElement?e.getStrictElement(t):null}OriginalElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._originalElementsOrHash[t]&&(!this._hasStrings||this._originalStringElements[e]===this._originalStringElements[t])}ModifiedElementsAreEqual(e,t){return this._modifiedElementsOrHash[e]===this._modifiedElementsOrHash[t]&&(!this._hasStrings||this._modifiedStringElements[e]===this._modifiedStringElements[t])}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,t,n,r,i){const s=[!1];let o=this.ComputeDiffRecursive(e,t,n,r,s);return i&&(o=this.PrettifyChanges(o)),{quitEarly:s[0],changes:o}}ComputeDiffRecursive(e,t,n,i,s){for(s[0]=!1;e<=t&&n<=i&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&i>=n&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||n>i){let s;return n<=i?(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s=[new r(e,0,n,i-n+1)]):e<=t?(a.Assert(n===i+1,"modifiedStart should only be one more than modifiedEnd"),s=[new r(e,t-e+1,n,0)]):(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a.Assert(n===i+1,"modifiedStart should only be one more than modifiedEnd"),s=[]),s}const o=[0],l=[0],c=this.ComputeRecursionPoint(e,t,n,i,o,l,s),h=o[0],u=l[0];if(null!==c)return c;if(!s[0]){const o=this.ComputeDiffRecursive(e,h,n,u,s);let a=[];return a=s[0]?[new r(h+1,t-(h+1)+1,u+1,i-(u+1)+1)]:this.ComputeDiffRecursive(h+1,t,u+1,i,s),this.ConcatenateChanges(o,a)}return[new r(e,t-e+1,n,i-n+1)]}WALKTRACE(e,t,n,i,s,o,a,l,h,u,d,g,f,m,p,b,_,k){let v=null,C=null,y=new c,L=t,w=n,S=f[0]-b[0]-i,x=-1073741824,E=this.m_forwardHistory.length-1;do{const t=S+e;t===L||t<w&&h[t-1]<h[t+1]?(m=(d=h[t+1])-S-i,d<x&&y.MarkNextChange(),x=d,y.AddModifiedElement(d+1,m),S=t+1-e):(m=(d=h[t-1]+1)-S-i,d<x&&y.MarkNextChange(),x=d-1,y.AddOriginalElement(d,m+1),S=t-1-e),E>=0&&(e=(h=this.m_forwardHistory[E])[0],L=1,w=h.length-1)}while(--E>=-1);if(v=y.getReverseChanges(),k[0]){let e=f[0]+1,t=b[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}C=[new r(e,g-e+1,t,p-t+1)]}else{y=new c,L=o,w=a,S=f[0]-b[0]-l,x=1073741824,E=_?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=S+s;e===L||e<w&&u[e-1]>=u[e+1]?(m=(d=u[e+1]-1)-S-l,d>x&&y.MarkNextChange(),x=d+1,y.AddOriginalElement(d+1,m+1),S=e+1-s):(m=(d=u[e-1])-S-l,d>x&&y.MarkNextChange(),x=d,y.AddModifiedElement(d+1,m+1),S=e-1-s),E>=0&&(s=(u=this.m_reverseHistory[E])[0],L=1,w=u.length-1)}while(--E>=-1);C=y.getChanges()}return this.ConcatenateChanges(v,C)}ComputeRecursionPoint(e,t,n,i,s,o,a){let c=0,h=0,u=0,d=0,g=0,f=0;e--,n--,s[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const m=t-e+(i-n),p=m+1,b=new Int32Array(p),_=new Int32Array(p),k=i-n,v=t-e,C=e-n,y=t-i,L=(v-k)%2==0;b[k]=e,_[v]=t,a[0]=!1;for(let w=1;w<=m/2+1;w++){let m=0,S=0;u=this.ClipDiagonalBound(k-w,w,k,p),d=this.ClipDiagonalBound(k+w,w,k,p);for(let e=u;e<=d;e+=2){c=e===u||e<d&&b[e-1]<b[e+1]?b[e+1]:b[e-1]+1,h=c-(e-k)-C;const n=c;for(;c<t&&h<i&&this.ElementsAreEqual(c+1,h+1);)c++,h++;if(b[e]=c,c+h>m+S&&(m=c,S=h),!L&&Math.abs(e-v)<=w-1&&c>=_[e])return s[0]=c,o[0]=h,n<=_[e]&&w<=1448?this.WALKTRACE(k,u,d,C,v,g,f,y,b,_,c,t,s,h,i,o,L,a):null}const x=(m-e+(S-n)-w)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(m,x))return a[0]=!0,s[0]=m,o[0]=S,x>0&&w<=1448?this.WALKTRACE(k,u,d,C,v,g,f,y,b,_,c,t,s,h,i,o,L,a):(e++,n++,[new r(e,t-e+1,n,i-n+1)]);g=this.ClipDiagonalBound(v-w,w,v,p),f=this.ClipDiagonalBound(v+w,w,v,p);for(let r=g;r<=f;r+=2){c=r===g||r<f&&_[r-1]>=_[r+1]?_[r+1]-1:_[r-1],h=c-(r-v)-y;const l=c;for(;c>e&&h>n&&this.ElementsAreEqual(c,h);)c--,h--;if(_[r]=c,L&&Math.abs(r-k)<=w&&c<=b[r])return s[0]=c,o[0]=h,l>=b[r]&&w<=1448?this.WALKTRACE(k,u,d,C,v,g,f,y,b,_,c,t,s,h,i,o,L,a):null}if(w<=1447){let e=new Int32Array(d-u+2);e[0]=k-u+1,l.Copy2(b,u,e,1,d-u+1),this.m_forwardHistory.push(e),e=new Int32Array(f-g+2),e[0]=v-g+1,l.Copy2(_,g,e,1,f-g+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(k,u,d,C,v,g,f,y,b,_,c,t,s,h,i,o,L,a)}PrettifyChanges(e){for(let t=0;t<e.length;t++){const n=e[t],r=t<e.length-1?e[t+1].originalStart:this._originalElementsOrHash.length,i=t<e.length-1?e[t+1].modifiedStart:this._modifiedElementsOrHash.length,s=n.originalLength>0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength<r&&n.modifiedStart+n.modifiedLength<i&&(!s||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!o||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));){const e=this.ElementsAreStrictEqual(n.originalStart,n.modifiedStart);if(this.ElementsAreStrictEqual(n.originalStart+n.originalLength,n.modifiedStart+n.modifiedLength)&&!e)break;n.originalStart++,n.modifiedStart++}const a=[null];t<e.length-1&&this.ChangesOverlap(e[t],e[t+1],a)&&(e[t]=a[0],e.splice(t+1,1),t--)}for(let t=e.length-1;t>=0;t--){const n=e[t];let r=0,i=0;if(t>0){const n=e[t-1];r=n.originalStart+n.originalLength,i=n.modifiedStart+n.modifiedLength}const s=n.originalLength>0,o=n.modifiedLength>0;let a=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,c=n.modifiedStart-e;if(t<r||c<i)break;if(s&&!this.OriginalElementsAreEqual(t,t+n.originalLength))break;if(o&&!this.ModifiedElementsAreEqual(c,c+n.modifiedLength))break;const h=(t===r&&c===i?5:0)+this._boundaryScore(t,n.originalLength,c,n.modifiedLength);h>l&&(l=h,a=e)}n.originalStart-=a,n.modifiedStart-=a;const c=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],c)&&(e[t-1]=c[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t<n;t++){const n=e[t-1],r=e[t],i=r.originalStart-n.originalStart-n.originalLength,s=n.originalStart,o=r.originalStart+r.originalLength,a=o-s,l=n.modifiedStart,c=r.modifiedStart+r.modifiedLength,h=c-l;if(i<5&&a<20&&h<20){const e=this._findBetterContiguousSequence(s,a,l,h,i);if(e){const[t,s]=e;t===n.originalStart+n.originalLength&&s===n.modifiedStart+n.modifiedLength||(n.originalLength=t-n.originalStart,n.modifiedLength=s-n.modifiedStart,r.originalStart=t+i,r.modifiedStart=s+i,r.originalLength=o-r.originalStart,r.modifiedLength=c-r.modifiedStart)}}}return e}_findBetterContiguousSequence(e,t,n,r,i){if(t<i||r<i)return null;const s=e+t-i+1,o=n+r-i+1;let a=0,l=0,c=0;for(let h=e;h<s;h++)for(let e=n;e<o;e++){const t=this._contiguousSequenceScore(h,e,i);t>0&&t>a&&(a=t,l=h,c=e)}return a>0?[l,c]:null}_contiguousSequenceScore(e,t,n){let r=0;for(let i=0;i<n;i++){if(!this.ElementsAreEqual(e+i,t+i))return 0;r+=this._originalStringElements[e+i].length}return r}_OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)}ConcatenateChanges(e,t){const n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const r=new Array(e.length+t.length-1);return l.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],l.Copy(t,1,r,e.length,t.length-1),r}{const n=new Array(e.length+t.length);return l.Copy(e,0,n,0,e.length),l.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(a.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),a.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const i=e.originalStart;let s=e.originalLength;const o=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new r(i,s,o,a),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,r){if(e>=0&&e<r)return e;const i=t%2==0;if(e<0){return i===(n%2==0)?0:1}return i===((r-n-1)%2==0)?r-1:r-2}}var u=n(8061),d=n(7454);class g{constructor(e,t,n){const r=new Uint8Array(e*t);for(let i=0,s=e*t;i<s;i++)r[i]=n;this._data=r,this.rows=e,this.cols=t}get(e,t){return this._data[e*this.cols+t]}set(e,t,n){this._data[e*this.cols+t]=n}}class f{constructor(e){let t=0,n=0;for(let i=0,s=e.length;i<s;i++){const[r,s,o]=e[i];s>t&&(t=s),r>n&&(n=r),o>n&&(n=o)}t++,n++;const r=new g(n,t,0);for(let i=0,s=e.length;i<s;i++){const[t,n,s]=e[i];r.set(t,n,s)}this._states=r,this._maxCharCode=t}nextState(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)}}let m=null;let p=null;class b{static _createLink(e,t,n,r,i){let s=i-1;do{const n=t.charCodeAt(s);if(2!==e.get(n))break;s--}while(s>r);if(r>0){const e=t.charCodeAt(r-1),n=t.charCodeAt(s);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&s--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:s+2},url:t.substring(r,s+1)}}static computeLinks(e,t=function(){return null===m&&(m=new f([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),m}()){const n=function(){if(null===p){p=new d.V(0);const e=" \t<>'\"\u3001\u3002\uff61\uff64\uff0c\uff0e\uff1a\uff1b\u2018\u3008\u300c\u300e\u3014\uff08\uff3b\uff5b\uff62\uff63\uff5d\uff3d\uff09\u3015\u300f\u300d\u3009\u2019\uff40\uff5e\u2026";for(let n=0;n<e.length;n++)p.set(e.charCodeAt(n),1);const t=".,;:";for(let n=0;n<t.length;n++)p.set(t.charCodeAt(n),2)}return p}(),r=[];for(let i=1,s=e.getLineCount();i<=s;i++){const s=e.getLineContent(i),o=s.length;let a=0,l=0,c=0,h=1,u=!1,d=!1,g=!1,f=!1;for(;a<o;){let e=!1;const o=s.charCodeAt(a);if(13===h){let t;switch(o){case 40:u=!0,t=0;break;case 41:t=u?0:1;break;case 91:g=!0,d=!0,t=0;break;case 93:g=!1,t=d?0:1;break;case 123:f=!0,t=0;break;case 125:t=f?0:1;break;case 39:case 34:case 96:t=c===o?1:39===c||34===c||96===c?0:1;break;case 42:t=42===c?1:0;break;case 124:t=124===c?1:0;break;case 32:t=g?0:1;break;default:t=n.get(o)}1===t&&(r.push(b._createLink(n,s,i,l,a)),e=!0)}else if(12===h){let t;91===o?(d=!0,t=0):t=n.get(o),1===t?e=!0:h=13}else h=t.nextState(h,o),0===h&&(e=!0);e&&(h=1,u=!1,d=!1,f=!1,l=a+1,c=o),a++}13===h&&r.push(b._createLink(n,s,i,l,o))}return r}}class _{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}static{this.INSTANCE=new _}navigateValueSet(e,t,n,r,i){if(e&&t){const n=this.doNavigateValueSet(t,i);if(n)return{range:e,value:n}}if(n&&r){const e=this.doNavigateValueSet(r,i);if(e)return{range:n,value:e}}return null}doNavigateValueSet(e,t){const n=this.numberReplace(e,t);return null!==n?n:this.textReplace(e,t)}numberReplace(e,t){const n=Math.pow(10,e.length-(e.lastIndexOf(".")+1));let r=Number(e);const i=parseFloat(e);return isNaN(r)||isNaN(i)||r!==i?null:0!==r||t?(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null}textReplace(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)}valueSetsReplace(e,t,n){let r=null;for(let i=0,s=e.length;null===r&&i<s;i++)r=this.valueSetReplace(e[i],t,n);return r}valueSetReplace(e,t,n){let r=e.indexOf(t);return r>=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}}var k=n(1583),v=n(6358),C=n(3013),y=n(9887);class L{constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}}class w{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}var S=n(4327),x=n(9955),E=n(5365),N=n(7110),T=n(2532);n(8357);class A{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}}class I{static inverse(e,t,n){const r=[];let i=1,s=1;for(const a of e){const e=new I(new x.M(i,a.original.startLineNumber),new x.M(s,a.modified.startLineNumber));e.modified.isEmpty||r.push(e),i=a.original.endLineNumberExclusive,s=a.modified.endLineNumberExclusive}const o=new I(new x.M(i,t+1),new x.M(s,n+1));return o.modified.isEmpty||r.push(o),r}static clip(e,t,n){const r=[];for(const i of e){const e=i.original.intersect(t),s=i.modified.intersect(n);e&&!e.isEmpty&&s&&!s.isEmpty&&r.push(new I(e,s))}return r}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new I(this.modified,this.original)}join(e){return new I(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new D(e,t);if(1===this.original.startLineNumber||1===this.modified.startLineNumber){if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new S.D7("not a valid diff");return new D(new u.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new u.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}return new D(new u.Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new u.Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(M(this.original.endLineNumberExclusive,e)&&M(this.modified.endLineNumberExclusive,t))return new D(new u.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new u.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new D(u.Q.fromPositions(new E.y(this.original.startLineNumber,1),O(new E.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),u.Q.fromPositions(new E.y(this.modified.startLineNumber,1),O(new E.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new D(u.Q.fromPositions(O(new E.y(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),O(new E.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),u.Q.fromPositions(O(new E.y(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),O(new E.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new S.D7}}function O(e,t){if(e.lineNumber<1)return new E.y(1,1);if(e.lineNumber>t.length)return new E.y(t.length,t[t.length-1].length+1);const n=t[e.lineNumber-1];return e.column>n.length+1?new E.y(e.lineNumber,n.length+1):e}function M(e,t){return e>=1&&e<=t.length}class R extends I{static fromRangeMappings(e){const t=x.M.join(e.map((e=>x.M.fromRangeInclusive(e.originalRange)))),n=x.M.join(e.map((e=>x.M.fromRangeInclusive(e.modifiedRange))));return new R(t,n,e)}constructor(e,t,n){super(e,t),this.innerChanges=n}flip(){return new R(this.modified,this.original,this.innerChanges?.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new R(this.original,this.modified,[this.toRangeMapping()])}}class D{static assertSorted(e){for(let t=1;t<e.length;t++){const n=e[t-1],r=e[t];if(!n.originalRange.getEndPosition().isBeforeOrEqual(r.originalRange.getStartPosition())||!n.modifiedRange.getEndPosition().isBeforeOrEqual(r.modifiedRange.getStartPosition()))throw new S.D7("Range mappings must be sorted")}}constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new D(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new A(this.originalRange,t)}}var B=n(6844);class F{computeDiff(e,t,n){const r=new W(e,t,{maxComputationTime:n.maxComputationTimeMs,shouldIgnoreTrimWhitespace:n.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),i=[];let s=null;for(const o of r.changes){let e,t;e=0===o.originalEndLineNumber?new x.M(o.originalStartLineNumber+1,o.originalStartLineNumber+1):new x.M(o.originalStartLineNumber,o.originalEndLineNumber+1),t=0===o.modifiedEndLineNumber?new x.M(o.modifiedStartLineNumber+1,o.modifiedStartLineNumber+1):new x.M(o.modifiedStartLineNumber,o.modifiedEndLineNumber+1);let n=new R(e,t,o.charChanges?.map((e=>new D(new u.Q(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new u.Q(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));s&&(s.modified.endLineNumberExclusive!==n.modified.startLineNumber&&s.original.endLineNumberExclusive!==n.original.startLineNumber||(n=new R(s.original.join(n.original),s.modified.join(n.modified),s.innerChanges&&n.innerChanges?s.innerChanges.concat(n.innerChanges):void 0),i.pop())),i.push(n),s=n}return(0,N.Ft)((()=>(0,N.Xo)(i,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive<t.original.startLineNumber&&e.modified.endLineNumberExclusive<t.modified.startLineNumber)))),new L(i,[],r.quitEarly)}}function P(e,t,n,r){return new h(e,t,n).ComputeDiff(r)}class V{constructor(e){const t=[],n=[];for(let r=0,i=e.length;r<i;r++)t[r]=U(e[r],1),n[r]=$(e[r],1);this.lines=e,this._startColumns=t,this._endColumns=n}getElements(){const e=[];for(let t=0,n=this.lines.length;t<n;t++)e[t]=this.lines[t].substring(this._startColumns[t]-1,this._endColumns[t]-1);return e}getStrictElement(e){return this.lines[e]}getStartLineNumber(e){return e+1}getEndLineNumber(e){return e+1}createCharSequence(e,t,n){const r=[],i=[],s=[];let o=0;for(let a=t;a<=n;a++){const t=this.lines[a],l=e?this._startColumns[a]:1,c=e?this._endColumns[a]:t.length+1;for(let e=l;e<c;e++)r[o]=t.charCodeAt(e-1),i[o]=a+1,s[o]=e,o++;!e&&a<n&&(r[o]=10,i[o]=a+1,s[o]=t.length+1,o++)}return new z(r,i,s)}}class z{constructor(e,t,n){this._charCodes=e,this._lineNumbers=t,this._columns=n}toString(){return"["+this._charCodes.map(((e,t)=>(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class j{constructor(e,t,n,r,i,s,o,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=r,this.modifiedStartLineNumber=i,this.modifiedStartColumn=s,this.modifiedEndLineNumber=o,this.modifiedEndColumn=a}static createFromDiffChange(e,t,n){const r=t.getStartLineNumber(e.originalStart),i=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),o=t.getEndColumn(e.originalStart+e.originalLength-1),a=n.getStartLineNumber(e.modifiedStart),l=n.getStartColumn(e.modifiedStart),c=n.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),h=n.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new j(r,i,s,o,a,l,c,h)}}class q{constructor(e,t,n,r,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=r,this.charChanges=i}static createFromDiffResult(e,t,n,r,i,s,o){let a,l,c,h,u;if(0===t.originalLength?(a=n.getStartLineNumber(t.originalStart)-1,l=0):(a=n.getStartLineNumber(t.originalStart),l=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(c=r.getStartLineNumber(t.modifiedStart)-1,h=0):(c=r.getStartLineNumber(t.modifiedStart),h=r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),s&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&i()){const s=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(s.getElements().length>0&&a.getElements().length>0){let e=P(s,a,i,!0).changes;o&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let n=t[0];for(let r=1,i=e.length;r<i;r++){const i=e[r],s=i.originalStart-(n.originalStart+n.originalLength),o=i.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(s,o)<3?(n.originalLength=i.originalStart+i.originalLength-n.originalStart,n.modifiedLength=i.modifiedStart+i.modifiedLength-n.modifiedStart):(t.push(i),n=i)}return t}(e)),u=[];for(let t=0,n=e.length;t<n;t++)u.push(j.createFromDiffChange(e[t],s,a))}}return new q(a,l,c,h,u)}}class W{constructor(e,t,n){this.shouldComputeCharChanges=n.shouldComputeCharChanges,this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.originalLines=e,this.modifiedLines=t,this.original=new V(e),this.modified=new V(t),this.continueLineDiff=H(n.maxComputationTime),this.continueCharDiff=H(0===n.maxComputationTime?0:Math.min(n.maxComputationTime,5e3))}computeDiff(){if(1===this.original.lines.length&&0===this.original.lines[0].length)return 1===this.modified.lines.length&&0===this.modified.lines[0].length?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]};if(1===this.modified.lines.length&&0===this.modified.lines[0].length)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};const e=P(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),t=e.changes,n=e.quitEarly;if(this.shouldIgnoreTrimWhitespace){const e=[];for(let n=0,r=t.length;n<r;n++)e.push(q.createFromDiffResult(this.shouldIgnoreTrimWhitespace,t[n],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:n,changes:e}}const r=[];let i=0,s=0;for(let o=-1,a=t.length;o<a;o++){const e=o+1<a?t[o+1]:null,n=e?e.originalStart:this.originalLines.length,l=e?e.modifiedStart:this.modifiedLines.length;for(;i<n&&s<l;){const e=this.originalLines[i],t=this.modifiedLines[s];if(e!==t){{let n=U(e,1),o=U(t,1);for(;n>1&&o>1;){if(e.charCodeAt(n-2)!==t.charCodeAt(o-2))break;n--,o--}(n>1||o>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,n,s+1,1,o)}{let n=$(e,1),o=$(t,1);const a=e.length+1,l=t.length+1;for(;n<a&&o<l;){if(e.charCodeAt(n-1)!==e.charCodeAt(o-1))break;n++,o++}(n<a||o<l)&&this._pushTrimWhitespaceCharChange(r,i+1,n,a,s+1,o,l)}}i++,s++}e&&(r.push(q.createFromDiffResult(this.shouldIgnoreTrimWhitespace,e,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),i+=e.originalLength,s+=e.modifiedLength)}return{quitEarly:n,changes:r}}_pushTrimWhitespaceCharChange(e,t,n,r,i,s,o){if(this._mergeTrimWhitespaceCharChange(e,t,n,r,i,s,o))return;let a;this.shouldComputeCharChanges&&(a=[new j(t,n,t,r,i,s,i,o)]),e.push(new q(t,t,i,i,a))}_mergeTrimWhitespaceCharChange(e,t,n,r,i,s,o){const a=e.length;if(0===a)return!1;const l=e[a-1];return 0!==l.originalEndLineNumber&&0!==l.modifiedEndLineNumber&&(l.originalEndLineNumber===t&&l.modifiedEndLineNumber===i?(this.shouldComputeCharChanges&&l.charChanges&&l.charChanges.push(new j(t,n,t,r,i,s,i,o)),!0):l.originalEndLineNumber+1===t&&l.modifiedEndLineNumber+1===i&&(l.originalEndLineNumber=t,l.modifiedEndLineNumber=i,this.shouldComputeCharChanges&&l.charChanges&&l.charChanges.push(new j(t,n,t,r,i,s,i,o)),!0))}}function U(e,t){const n=B.HG(e);return-1===n?t:n+1}function $(e,t){const n=B.lT(e);return-1===n?t:n+2}function H(e){if(0===e)return()=>!0;const t=Date.now();return()=>Date.now()-t<e}var K=n(3338);class G{static trivial(e,t){return new G([new Q(T.L.ofLength(e.length),T.L.ofLength(t.length))],!1)}static trivialTimedOut(e,t){return new G([new Q(T.L.ofLength(e.length),T.L.ofLength(t.length))],!0)}constructor(e,t){this.diffs=e,this.hitTimeout=t}}class Q{static invert(e,t){const n=[];return(0,K.pN)(e,((e,r)=>{n.push(Q.fromOffsetPairs(e?e.getEndExclusives():J.zero,r?r.getStarts():new J(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),n}static fromOffsetPairs(e,t){return new Q(new T.L(e.offset1,t.offset1),new T.L(e.offset2,t.offset2))}static assertSorted(e){let t;for(const n of e){if(t&&!(t.seq1Range.endExclusive<=n.seq1Range.start&&t.seq2Range.endExclusive<=n.seq2Range.start))throw new S.D7("Sequence diffs must be sorted");t=n}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new Q(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new Q(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new Q(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new Q(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new Q(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),n=this.seq2Range.intersect(e.seq2Range);if(t&&n)return new Q(t,n)}getStarts(){return new J(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new J(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class J{static{this.zero=new J(0,0)}static{this.max=new J(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new J(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}class X{static{this.instance=new X}isValid(){return!0}}class Y{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new S.D7("timeout must be positive")}isValid(){return!(Date.now()-this.startTime<this.timeout)&&this.valid&&(this.valid=!1),this.valid}}class Z{constructor(e,t){this.width=e,this.height=t,this.array=[],this.array=new Array(e*t)}get(e,t){return this.array[e+t*this.width]}set(e,t,n){this.array[e+t*this.width]=n}}function ee(e){return 32===e||9===e}class te{static{this.chrKeys=new Map}static getKey(e){let t=this.chrKeys.get(e);return void 0===t&&(t=this.chrKeys.size,this.chrKeys.set(e,t)),t}constructor(e,t,n){this.range=e,this.lines=t,this.source=n,this.histogram=[];let r=0;for(let i=e.startLineNumber-1;i<e.endLineNumberExclusive-1;i++){const e=t[i];for(let t=0;t<e.length;t++){r++;const n=e[t],i=te.getKey(n);this.histogram[i]=(this.histogram[i]||0)+1}r++;const n=te.getKey("\n");this.histogram[n]=(this.histogram[n]||0)+1}this.totalCount=r}computeSimilarity(e){let t=0;const n=Math.max(this.histogram.length,e.histogram.length);for(let r=0;r<n;r++)t+=Math.abs((this.histogram[r]??0)-(e.histogram[r]??0));return 1-t/(this.totalCount+e.totalCount)}}class ne{compute(e,t,n=X.instance,r){if(0===e.length||0===t.length)return G.trivial(e,t);const i=new Z(e.length,t.length),s=new Z(e.length,t.length),o=new Z(e.length,t.length);for(let g=0;g<e.length;g++)for(let a=0;a<t.length;a++){if(!n.isValid())return G.trivialTimedOut(e,t);const l=0===g?0:i.get(g-1,a),c=0===a?0:i.get(g,a-1);let h;e.getElement(g)===t.getElement(a)?(h=0===g||0===a?0:i.get(g-1,a-1),g>0&&a>0&&3===s.get(g-1,a-1)&&(h+=o.get(g-1,a-1)),h+=r?r(g,a):1):h=-1;const u=Math.max(l,c,h);if(u===h){const e=g>0&&a>0?o.get(g-1,a-1):0;o.set(g,a,e+1),s.set(g,a,3)}else u===l?(o.set(g,a,0),s.set(g,a,1)):u===c&&(o.set(g,a,0),s.set(g,a,2));i.set(g,a,u)}const a=[];let l=e.length,c=t.length;function h(e,t){e+1===l&&t+1===c||a.push(new Q(new T.L(e+1,l),new T.L(t+1,c))),l=e,c=t}let u=e.length-1,d=t.length-1;for(;u>=0&&d>=0;)3===s.get(u,d)?(h(u,d),u--,d--):1===s.get(u,d)?u--:d--;return h(-1,-1),a.reverse(),new G(a,!1)}}class re{compute(e,t,n=X.instance){if(0===e.length||0===t.length)return G.trivial(e,t);const r=e,i=t;function s(e,t){for(;e<r.length&&t<i.length&&r.getElement(e)===i.getElement(t);)e++,t++;return e}let o=0;const a=new se;a.set(0,s(0,0));const l=new oe;l.set(0,0===a.get(0)?null:new ie(null,0,0,a.get(0)));let c=0;e:for(;;){if(o++,!n.isValid())return G.trivialTimedOut(r,i);const e=-Math.min(o,i.length+o%2),t=Math.min(o,r.length+o%2);for(c=e;c<=t;c+=2){let n=0;const o=c===t?-1:a.get(c+1),h=c===e?-1:a.get(c-1)+1;n++;const u=Math.min(Math.max(o,h),r.length),d=u-c;if(n++,u>r.length||d>i.length)continue;const g=s(u,d);a.set(c,g);const f=u===o?l.get(c+1):l.get(c-1);if(l.set(c,g!==u?new ie(f,u,d,g-u):f),a.get(c)===r.length&&a.get(c)-c===i.length)break e}}let h=l.get(c);const u=[];let d=r.length,g=i.length;for(;;){const e=h?h.x+h.length:0,t=h?h.y+h.length:0;if(e===d&&t===g||u.push(new Q(new T.L(e,d),new T.L(t,g))),!h)break;d=h.x,g=h.y,h=h.prev}return u.reverse(),new G(u,!1)}}class ie{constructor(e,t,n,r){this.prev=e,this.x=t,this.y=n,this.length=r}}class se{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class oe{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}var ae=n(7393),le=n(7992);class ce{constructor(e,t,n){this.lines=e,this.range=t,this.considerWhitespaceChanges=n,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let r=this.range.startLineNumber;r<=this.range.endLineNumber;r++){let t=e[r-1],i=0;r===this.range.startLineNumber&&this.range.startColumn>1&&(i=this.range.startColumn-1,t=t.substring(i)),this.lineStartOffsets.push(i);let s=0;if(!n){const e=t.trimStart();s=t.length-e.length,t=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(s);const o=r===this.range.endLineNumber?Math.min(this.range.endColumn-1-i-s,t.length):t.length;for(let e=0;e<o;e++)this.elements.push(t.charCodeAt(e));r<this.range.endLineNumber&&(this.elements.push("\n".charCodeAt(0)),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new T.L(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map((e=>String.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=ge(e>0?this.elements[e-1]:-1),n=ge(e<this.elements.length?this.elements[e]:-1);if(7===t&&8===n)return 0;if(8===t)return 150;let r=0;return t!==n&&(r+=10,0===t&&1===n&&(r+=1)),r+=de(t),r+=de(n),r}translateOffset(e,t="right"){const n=(0,ae.iM)(this.firstElementOffsetByLineIdx,(t=>t<=e)),r=e-this.firstElementOffsetByLineIdx[n];return new E.y(this.range.startLineNumber+n,1+this.lineStartOffsets[n]+r+(0===r&&"left"===t?0:this.trimmedWsLengthsByLineIdx[n]))}translateRange(e){const t=this.translateOffset(e.start,"right"),n=this.translateOffset(e.endExclusive,"left");return n.isBefore(t)?u.Q.fromPositions(n,n):u.Q.fromPositions(t,n)}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!he(this.elements[e]))return;let t=e;for(;t>0&&he(this.elements[t-1]);)t--;let n=e;for(;n<this.elements.length&&he(this.elements[n]);)n++;return new T.L(t,n)}countLinesIn(e){return this.translateOffset(e.endExclusive).lineNumber-this.translateOffset(e.start).lineNumber}isStronglyEqual(e,t){return this.elements[e]===this.elements[t]}extendToFullLines(e){const t=(0,ae.lx)(this.firstElementOffsetByLineIdx,(t=>t<=e.start))??0,n=(0,ae.XP)(this.firstElementOffsetByLineIdx,(t=>e.endExclusive<=t))??this.elements.length;return new T.L(t,n)}}function he(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const ue={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function de(e){return ue[e]}function ge(e){return 10===e?8:13===e?7:ee(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function fe(e,t,n,r,i,s){let{moves:o,excludedChanges:a}=function(e,t,n,r){const i=[],s=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new te(e.original,t,e))),o=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new te(e.modified,n,e)))),a=new Set;for(const l of s){let e,t=-1;for(const n of o){const r=l.computeSimilarity(n);r>t&&(t=r,e=n)}if(t>.9&&e&&(o.delete(e),i.push(new I(l.range,e.range)),a.add(l.source),a.add(e.source)),!r.isValid())return{moves:i,excludedChanges:a}}return{moves:i,excludedChanges:a}}(e,t,n,s);if(!s.isValid())return[];const l=function(e,t,n,r,i,s){const o=[],a=new le.db;for(const d of e)for(let e=d.original.startLineNumber;e<d.original.endLineNumberExclusive-2;e++){const n=`${t[e-1]}:${t[e+1-1]}:${t[e+2-1]}`;a.add(n,{range:new x.M(e,e+3)})}const l=[];e.sort((0,K.VE)((e=>e.modified.startLineNumber),K.U9));for(const d of e){let e=[];for(let t=d.modified.startLineNumber;t<d.modified.endLineNumberExclusive-2;t++){const r=`${n[t-1]}:${n[t+1-1]}:${n[t+2-1]}`,i=new x.M(t,t+3),s=[];a.forEach(r,(({range:t})=>{for(const r of e)if(r.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&r.modifiedLineRange.endLineNumberExclusive+1===i.endLineNumberExclusive)return r.originalLineRange=new x.M(r.originalLineRange.startLineNumber,t.endLineNumberExclusive),r.modifiedLineRange=new x.M(r.modifiedLineRange.startLineNumber,i.endLineNumberExclusive),void s.push(r);const n={modifiedLineRange:i,originalLineRange:t};l.push(n),s.push(n)})),e=s}if(!s.isValid())return[]}l.sort((0,K.Hw)((0,K.VE)((e=>e.modifiedLineRange.length),K.U9)));const c=new x.S,h=new x.S;for(const d of l){const e=d.modifiedLineRange.startLineNumber-d.originalLineRange.startLineNumber,t=c.subtractFrom(d.modifiedLineRange),n=h.subtractFrom(d.originalLineRange).getWithDelta(e),r=t.getIntersection(n);for(const i of r.ranges){if(i.length<3)continue;const t=i,n=i.delta(-e);o.push(new I(n,t)),c.addRange(t),h.addRange(n)}}o.sort((0,K.VE)((e=>e.original.startLineNumber),K.U9));const u=new ae.vJ(e);for(let d=0;d<o.length;d++){const t=o[d],n=u.findLastMonotonous((e=>e.original.startLineNumber<=t.original.startLineNumber)),a=(0,ae.lx)(e,(e=>e.modified.startLineNumber<=t.modified.startLineNumber)),l=Math.max(t.original.startLineNumber-n.original.startLineNumber,t.modified.startLineNumber-a.modified.startLineNumber),g=u.findLastMonotonous((e=>e.original.startLineNumber<t.original.endLineNumberExclusive)),f=(0,ae.lx)(e,(e=>e.modified.startLineNumber<t.modified.endLineNumberExclusive)),m=Math.max(g.original.endLineNumberExclusive-t.original.endLineNumberExclusive,f.modified.endLineNumberExclusive-t.modified.endLineNumberExclusive);let p,b;for(p=0;p<l;p++){const e=t.original.startLineNumber-p-1,n=t.modified.startLineNumber-p-1;if(e>r.length||n>i.length)break;if(c.contains(n)||h.contains(e))break;if(!me(r[e-1],i[n-1],s))break}for(p>0&&(h.addRange(new x.M(t.original.startLineNumber-p,t.original.startLineNumber)),c.addRange(new x.M(t.modified.startLineNumber-p,t.modified.startLineNumber))),b=0;b<m;b++){const e=t.original.endLineNumberExclusive+b,n=t.modified.endLineNumberExclusive+b;if(e>r.length||n>i.length)break;if(c.contains(n)||h.contains(e))break;if(!me(r[e-1],i[n-1],s))break}b>0&&(h.addRange(new x.M(t.original.endLineNumberExclusive,t.original.endLineNumberExclusive+b)),c.addRange(new x.M(t.modified.endLineNumberExclusive,t.modified.endLineNumberExclusive+b))),(p>0||b>0)&&(o[d]=new I(new x.M(t.original.startLineNumber-p,t.original.endLineNumberExclusive+b),new x.M(t.modified.startLineNumber-p,t.modified.endLineNumberExclusive+b)))}return o}(e.filter((e=>!a.has(e))),r,i,t,n,s);return(0,K.E4)(o,l),o=function(e){if(0===e.length)return e;e.sort((0,K.VE)((e=>e.original.startLineNumber),K.U9));const t=[e[0]];for(let n=1;n<e.length;n++){const r=t[t.length-1],i=e[n],s=i.original.startLineNumber-r.original.endLineNumberExclusive,o=i.modified.startLineNumber-r.modified.endLineNumberExclusive;s>=0&&o>=0&&s+o<=2?t[t.length-1]=r.join(i):t.push(i)}return t}(o),o=o.filter((e=>{const n=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return n.join("\n").length>=15&&function(e,t){let n=0;for(const r of e)t(r)&&n++;return n}(n,(e=>e.length>=2))>=2})),o=function(e,t){const n=new ae.vJ(e);return t=t.filter((t=>(n.findLastMonotonous((e=>e.original.startLineNumber<t.original.endLineNumberExclusive))||new I(new x.M(1,1),new x.M(1,1)))!==(0,ae.lx)(e,(e=>e.modified.startLineNumber<t.modified.endLineNumberExclusive)))),t}(e,o),o}function me(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const r=(new re).compute(new ce([e],new u.Q(1,1,1,e.length),!1),new ce([t],new u.Q(1,1,1,t.length),!1),n);let i=0;const s=Q.invert(r.diffs,e.length);for(const a of s)a.seq1Range.forEach((t=>{ee(e.charCodeAt(t))||i++}));const o=function(t){let n=0;for(let r=0;r<e.length;r++)ee(t.charCodeAt(r))||n++;return n}(e.length>t.length?e:t);return i/o>.6&&o>10}function pe(e,t,n){let r=n;return r=be(e,t,r),r=be(e,t,r),r=function(e,t,n){if(!e.getBoundaryScore||!t.getBoundaryScore)return n;for(let r=0;r<n.length;r++){const i=r>0?n[r-1]:void 0,s=n[r],o=r+1<n.length?n[r+1]:void 0,a=new T.L(i?i.seq1Range.endExclusive+1:0,o?o.seq1Range.start-1:e.length),l=new T.L(i?i.seq2Range.endExclusive+1:0,o?o.seq2Range.start-1:t.length);s.seq1Range.isEmpty?n[r]=_e(s,e,t,a,l):s.seq2Range.isEmpty&&(n[r]=_e(s.swap(),t,e,l,a).swap())}return n}(e,t,r),r}function be(e,t,n){if(0===n.length)return n;const r=[];r.push(n[0]);for(let s=1;s<n.length;s++){const i=r[r.length-1];let o=n[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const n=o.seq1Range.start-i.seq1Range.endExclusive;let s;for(s=1;s<=n&&(e.getElement(o.seq1Range.start-s)===e.getElement(o.seq1Range.endExclusive-s)&&t.getElement(o.seq2Range.start-s)===t.getElement(o.seq2Range.endExclusive-s));s++);if(s--,s===n){r[r.length-1]=new Q(new T.L(i.seq1Range.start,o.seq1Range.endExclusive-n),new T.L(i.seq2Range.start,o.seq2Range.endExclusive-n));continue}o=o.delta(-s)}r.push(o)}const i=[];for(let s=0;s<r.length-1;s++){const n=r[s+1];let o=r[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const i=n.seq1Range.start-o.seq1Range.endExclusive;let a;for(a=0;a<i&&(e.isStronglyEqual(o.seq1Range.start+a,o.seq1Range.endExclusive+a)&&t.isStronglyEqual(o.seq2Range.start+a,o.seq2Range.endExclusive+a));a++);if(a===i){r[s+1]=new Q(new T.L(o.seq1Range.start+i,n.seq1Range.endExclusive),new T.L(o.seq2Range.start+i,n.seq2Range.endExclusive));continue}a>0&&(o=o.delta(a))}i.push(o)}return r.length>0&&i.push(r[r.length-1]),i}function _e(e,t,n,r,i){let s=1;for(;e.seq1Range.start-s>=r.start&&e.seq2Range.start-s>=i.start&&n.isStronglyEqual(e.seq2Range.start-s,e.seq2Range.endExclusive-s)&&s<100;)s++;s--;let o=0;for(;e.seq1Range.start+o<r.endExclusive&&e.seq2Range.endExclusive+o<i.endExclusive&&n.isStronglyEqual(e.seq2Range.start+o,e.seq2Range.endExclusive+o)&&o<100;)o++;if(0===s&&0===o)return e;let a=0,l=-1;for(let c=-s;c<=o;c++){const r=e.seq2Range.start+c,i=e.seq2Range.endExclusive+c,s=e.seq1Range.start+c,o=t.getBoundaryScore(s)+n.getBoundaryScore(r)+n.getBoundaryScore(i);o>l&&(l=o,a=c)}return e.delta(a)}class ke{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:ve(this.lines[e-1]))+(e===this.lines.length?0:ve(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function ve(e){let t=0;for(;t<e.length&&(32===e.charCodeAt(t)||9===e.charCodeAt(t));)t++;return t}class Ce{constructor(){this.dynamicProgrammingDiffing=new ne,this.myersDiffingAlgorithm=new re}computeDiff(e,t,n){if(e.length<=1&&(0,K.aI)(e,t,((e,t)=>e===t)))return new L([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new L([new R(new x.M(1,e.length+1),new x.M(1,t.length+1),[new D(new u.Q(1,1,e.length,e[e.length-1].length+1),new u.Q(1,1,t.length,t[t.length-1].length+1))])],[],!1);const r=0===n.maxComputationTimeMs?X.instance:new Y(n.maxComputationTimeMs),i=!n.ignoreTrimWhitespace,s=new Map;function o(e){let t=s.get(e);return void 0===t&&(t=s.size,s.set(e,t)),t}const a=e.map((e=>o(e.trim()))),l=t.map((e=>o(e.trim()))),c=new ke(a,e),h=new ke(l,t),d=(()=>c.length+h.length<1700?this.dynamicProgrammingDiffing.compute(c,h,r,((n,r)=>e[n]===t[r]?0===t[r].length?.1:1+Math.log(1+t[r].length):.99)):this.myersDiffingAlgorithm.compute(c,h,r))();let g=d.diffs,f=d.hitTimeout;g=pe(c,h,g),g=function(e,t,n){let r=n;if(0===r.length)return r;let i,s=0;do{i=!1;const o=[r[0]];for(let a=1;a<r.length;a++){const l=r[a],c=o[o.length-1];function h(t,n){const r=new T.L(c.seq1Range.endExclusive,l.seq1Range.start);return e.getText(r).replace(/\s/g,"").length<=4&&(t.seq1Range.length+t.seq2Range.length>5||n.seq1Range.length+n.seq2Range.length>5)}h(c,l)?(i=!0,o[o.length-1]=o[o.length-1].join(l)):o.push(l)}r=o}while(s++<10&&i);return r}(c,0,g);const m=[],p=n=>{if(i)for(let s=0;s<n;s++){const n=b+s,o=_+s;if(e[n]!==t[o]){const s=this.refineDiff(e,t,new Q(new T.L(n,n+1),new T.L(o,o+1)),r,i);for(const e of s.mappings)m.push(e);s.hitTimeout&&(f=!0)}}};let b=0,_=0;for(const u of g){(0,N.Ft)((()=>u.seq1Range.start-b==u.seq2Range.start-_));p(u.seq1Range.start-b),b=u.seq1Range.endExclusive,_=u.seq2Range.endExclusive;const n=this.refineDiff(e,t,u,r,i);n.hitTimeout&&(f=!0);for(const e of n.mappings)m.push(e)}p(e.length-b);const k=ye(m,e,t);let v=[];return n.computeMoves&&(v=this.computeMoves(k,e,t,a,l,r,i)),(0,N.Ft)((()=>{function n(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const n=t[e.lineNumber-1];return!(e.column<1||e.column>n.length+1)}function r(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1)&&!(e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const i of k){if(!i.innerChanges)return!1;for(const r of i.innerChanges){if(!(n(r.modifiedRange.getStartPosition(),t)&&n(r.modifiedRange.getEndPosition(),t)&&n(r.originalRange.getStartPosition(),e)&&n(r.originalRange.getEndPosition(),e)))return!1}if(!r(i.modified,t)||!r(i.original,e))return!1}return!0})),new L(k,v,f)}computeMoves(e,t,n,r,i,s,o){return fe(e,t,n,r,i,s).map((e=>{const r=ye(this.refineDiff(t,n,new Q(e.original.toOffsetRange(),e.modified.toOffsetRange()),s,o).mappings,t,n,!0);return new w(e,r)}))}refineDiff(e,t,n,r,i){var s;const o=(s=n,new I(new x.M(s.seq1Range.start+1,s.seq1Range.endExclusive+1),new x.M(s.seq2Range.start+1,s.seq2Range.endExclusive+1))).toRangeMapping2(e,t),a=new ce(e,o.originalRange,i),l=new ce(t,o.modifiedRange,i),c=a.length+l.length<500?this.dynamicProgrammingDiffing.compute(a,l,r):this.myersDiffingAlgorithm.compute(a,l,r),h=!1;let u=c.diffs;u=pe(a,l,u),u=function(e,t,n){const r=Q.invert(n,e.length),i=[];let s=new J(0,0);function o(n,o){if(n.offset1<s.offset1||n.offset2<s.offset2)return;const a=e.findWordContaining(n.offset1),l=t.findWordContaining(n.offset2);if(!a||!l)return;let c=new Q(a,l);const h=c.intersect(o);let u=h.seq1Range.length,d=h.seq2Range.length;for(;r.length>0;){const n=r[0];if(!n.seq1Range.intersects(c.seq1Range)&&!n.seq2Range.intersects(c.seq2Range))break;const i=e.findWordContaining(n.seq1Range.start),s=t.findWordContaining(n.seq2Range.start),o=new Q(i,s),a=o.intersect(n);if(u+=a.seq1Range.length,d+=a.seq2Range.length,c=c.join(o),!(c.seq1Range.endExclusive>=n.seq1Range.endExclusive))break;r.shift()}u+d<2*(c.seq1Range.length+c.seq2Range.length)/3&&i.push(c),s=c.getEndExclusives()}for(;r.length>0;){const e=r.shift();e.seq1Range.isEmpty||(o(e.getStarts(),e),o(e.getEndExclusives().delta(-1),e))}return function(e,t){const n=[];for(;e.length>0||t.length>0;){const r=e[0],i=t[0];let s;s=r&&(!i||r.seq1Range.start<i.seq1Range.start)?e.shift():t.shift(),n.length>0&&n[n.length-1].seq1Range.endExclusive>=s.seq1Range.start?n[n.length-1]=n[n.length-1].join(s):n.push(s)}return n}(n,i)}(a,l,u),u=function(e,t,n){const r=[];for(const i of n){const e=r[r.length-1];e&&(i.seq1Range.start-e.seq1Range.endExclusive<=2||i.seq2Range.start-e.seq2Range.endExclusive<=2)?r[r.length-1]=new Q(e.seq1Range.join(i.seq1Range),e.seq2Range.join(i.seq2Range)):r.push(i)}return r}(0,0,u),u=function(e,t,n){let r=n;if(0===r.length)return r;let i,s=0;do{i=!1;const a=[r[0]];for(let l=1;l<r.length;l++){const c=r[l],h=a[a.length-1];function u(n,r){const i=new T.L(h.seq1Range.endExclusive,c.seq1Range.start);if(e.countLinesIn(i)>5||i.length>500)return!1;const s=e.getText(i).trim();if(s.length>20||s.split(/\r\n|\r|\n/).length>1)return!1;const o=e.countLinesIn(n.seq1Range),a=n.seq1Range.length,l=t.countLinesIn(n.seq2Range),u=n.seq2Range.length,d=e.countLinesIn(r.seq1Range),g=r.seq1Range.length,f=t.countLinesIn(r.seq2Range),m=r.seq2Range.length;function p(e){return Math.min(e,130)}return Math.pow(Math.pow(p(40*o+a),1.5)+Math.pow(p(40*l+u),1.5),1.5)+Math.pow(Math.pow(p(40*d+g),1.5)+Math.pow(p(40*f+m),1.5),1.5)>74184.96480721243}u(h,c)?(i=!0,a[a.length-1]=a[a.length-1].join(c)):a.push(c)}r=a}while(s++<10&&i);const o=[];return(0,K.kj)(r,((t,n,r)=>{let i=n;function s(e){return e.length>0&&e.trim().length<=3&&n.seq1Range.length+n.seq2Range.length>100}const a=e.extendToFullLines(n.seq1Range),l=e.getText(new T.L(a.start,n.seq1Range.start));s(l)&&(i=i.deltaStart(-l.length));const c=e.getText(new T.L(n.seq1Range.endExclusive,a.endExclusive));s(c)&&(i=i.deltaEnd(c.length));const h=Q.fromOffsetPairs(t?t.getEndExclusives():J.zero,r?r.getStarts():J.max),u=i.intersect(h);o.length>0&&u.getStarts().equals(o[o.length-1].getEndExclusives())?o[o.length-1]=o[o.length-1].join(u):o.push(u)})),o}(a,l,u);const d=u.map((e=>new D(a.translateRange(e.seq1Range),l.translateRange(e.seq2Range))));return{mappings:d,hitTimeout:c.hitTimeout}}}function ye(e,t,n,r=!1){const i=[];for(const s of(0,K.n)(e.map((e=>function(e,t,n){let r=0,i=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+r<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+r<=e.modifiedRange.endLineNumber&&(i=-1);e.modifiedRange.startColumn-1>=n[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+i&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+i&&(r=1);const s=new x.M(e.originalRange.startLineNumber+r,e.originalRange.endLineNumber+1+i),o=new x.M(e.modifiedRange.startLineNumber+r,e.modifiedRange.endLineNumber+1+i);return new R(s,o,[e])}(e,t,n))),((e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified)))){const e=s[0],t=s[s.length-1];i.push(new R(e.original.join(t.original),e.modified.join(t.modified),s.map((e=>e.innerChanges[0]))))}return(0,N.Ft)((()=>{if(!r&&i.length>0){if(i[0].modified.startLineNumber!==i[0].original.startLineNumber)return!1;if(n.length-i[i.length-1].modified.endLineNumberExclusive!=t.length-i[i.length-1].original.endLineNumberExclusive)return!1}return(0,N.Xo)(i,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive<t.original.startLineNumber&&e.modified.endLineNumberExclusive<t.modified.startLineNumber))})),i}const Le=()=>new F,we=()=>new Ce;var Se=n(1386),xe=n(3072),Ee=n(4901);function Ne(e){const t=[];for(const n of e){const e=Number(n);(e||0===e&&""!==n.replace(/\s/g,""))&&t.push(e)}return t}function Te(e,t,n,r){return{red:e/255,blue:n/255,green:t/255,alpha:r}}function Ae(e,t){const n=t.index,r=t[0].length;if(!n)return;const i=e.positionAt(n);return{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:i.lineNumber,endColumn:i.column+r}}function Ie(e,t){if(!e)return;const n=Ee.Q1.Format.CSS.parseHex(t);return n?{range:e,color:Te(n.rgba.r,n.rgba.g,n.rgba.b,n.rgba.a)}:void 0}function Oe(e,t,n){if(!e||1!==t.length)return;const r=Ne(t[0].values());return{range:e,color:Te(r[0],r[1],r[2],n?r[3]:1)}}function Me(e,t,n){if(!e||1!==t.length)return;const r=Ne(t[0].values()),i=new Ee.Q1(new Ee.hB(r[0],r[1]/100,r[2]/100,n?r[3]:1));return{range:e,color:Te(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}}function Re(e,t){return"string"==typeof e?[...e.matchAll(t)]:e.findMatches(t)}function De(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],n=Re(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/gm);if(n.length>0)for(const r of n){const n=r.filter((e=>void 0!==e)),i=n[1],s=n[2];if(!s)continue;let o;if("rgb"===i){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;o=Oe(Ae(e,r),Re(s,t),!1)}else if("rgba"===i){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Oe(Ae(e,r),Re(s,t),!0)}else if("hsl"===i){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;o=Me(Ae(e,r),Re(s,t),!1)}else if("hsla"===i){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Me(Ae(e,r),Re(s,t),!0)}else"#"===i&&(o=Ie(Ae(e,r),i+s));o&&t.push(o)}return t}(e):[]}var Be=n(9307),Fe=n(1507);class Pe{constructor(){this._workerTextModelSyncServer=new Fe.WorkerTextModelSyncServer}dispose(){}_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){const r=this._getModel(e);return r?y.UnicodeTextModelHighlighter.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){const n=this._getModel(e);return n?(0,Be.findSectionHeaders)(n,t):[]}async $computeDiff(e,t,n,r){const i=this._getModel(e),s=this._getModel(t);if(!i||!s)return null;return Ve.computeDiff(i,s,n,r)}static computeDiff(e,t,n,r){const i="advanced"===r?we():Le(),s=e.getLinesContent(),o=t.getLinesContent(),a=i.computeDiff(s,o,n);function l(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:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:l(a.changes),moves:a.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)]))}}static _modelsAreIdentical(e,t){const 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(e,t,n){const r=this._getModel(e);if(!r)return t;const i=[];let s;t=t.slice(0).sort(((e,t)=>{if(e.range&&t.range)return u.Q.compareRangesUsingStarts(e.range,t.range);return(e.range?0:1)-(t.range?0:1)}));let a=0;for(let o=1;o<t.length;o++)u.Q.getEndPosition(t[a].range).equals(u.Q.getStartPosition(t[o].range))?(t[a].range=u.Q.fromPositions(u.Q.getStartPosition(t[a].range),u.Q.getEndPosition(t[o].range)),t[a].text+=t[o].text):(a++,t[a]=t[o]);t.length=a+1;for(let{range:l,text:c,eol:h}of t){if("number"==typeof h&&(s=h),u.Q.isEmpty(l)&&!c)continue;const e=r.getValueInRange(l);if(c=c.replace(/\r\n|\n|\r/g,r.eol),e===c)continue;if(Math.max(c.length,e.length)>Ve._diffLimit){i.push({range:l,text:c});continue}const t=o(e,c,n),a=r.offsetAt(u.Q.lift(l).getStartPosition());for(const n of t){const e=r.positionAt(a+n.originalStart),t=r.positionAt(a+n.originalStart+n.originalLength),s={text:c.substr(n.modifiedStart,n.modifiedLength),range:{startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:t.lineNumber,endColumn:t.column}};r.getValueInRange(s.range)!==s.text&&i.push(s)}}return"number"==typeof s&&i.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),i}async $computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?b.computeLinks(e):[]}(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?De(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(e,t,n,r){const i=new C.W,s=new RegExp(n,r),o=new Set;e:for(const a of e){const e=this._getModel(a);if(e)for(const n of e.words(s))if(n!==t&&isNaN(Number(n))&&(o.add(n),o.size>Ve._suggestionsLimit))break e}return{words:Array.from(o),duration:i.elapsed()}}async $computeWordRanges(e,t,n,r){const i=this._getModel(e);if(!i)return Object.create(null);const s=new RegExp(n,r),o=Object.create(null);for(let a=t.startLineNumber;a<t.endLineNumber;a++){const e=i.getLineWords(a,s);for(const t of e){if(!isNaN(Number(t.word)))continue;let e=o[t.word];e||(e=[],o[t.word]=e),e.push({startLineNumber:a,startColumn:t.startColumn,endLineNumber:a,endColumn:t.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){const s=this._getModel(e);if(!s)return null;const o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});const a=s.getValueInRange(t),l=s.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!l)return null;const c=s.getValueInRange(l);return _.INSTANCE.navigateValueSet(t,a,l,c,n)}}class Ve extends Pe{constructor(e,t){super(),this._host=e,this._foreignModuleFactory=t,this._foreignModule=null}async $ping(){return"pong"}$loadForeignModule(e,t,r){const i={host:(0,Se.kT)(r,((e,t)=>this._host.$fhr(e,t))),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(i,t),Promise.resolve((0,Se.V0)(this._foreignModule))):new Promise(((r,s)=>{const o=e=>{this._foreignModule=e.create(i,t),r((0,Se.V0)(this._foreignModule))};{const t=xe.zl.asBrowserUri(`${e}.js`).toString(!0);n(9204)(`${t}`).then(o).catch(s)}}))}$fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(n){return Promise.reject(n)}}}function ze(e){return new Ve(v.EditorWorkerHost.getChannel(e),null)}"function"==typeof importScripts&&(globalThis.monaco=(0,k.createMonacoBaseAPI)())},304:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IEditorWorkerService:()=>r});const r=(0,n(2399).u1)("editorWorkerService")},6358:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EditorWorkerHost:()=>r});class r{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(e){return e.getChannel(r.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(r.CHANNEL_NAME,t)}}},9307:(e,t,n)=>{"use strict";n.r(t),n.d(t,{findSectionHeaders:()=>s});const r=new RegExp("\\bMARK:\\s*(.*)$","d"),i=/^-+|-+$/g;function s(e,t){let n=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){const r=function(e,t){const n=[],r=e.getLineCount();for(let i=1;i<=r;i++){const r=e.getLineContent(i),s=r.match(t.foldingRules.markers.start);if(s){const e={startLineNumber:i,startColumn:s[0].length+1,endLineNumber:i,endColumn:r.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(r.substring(s[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);n=n.concat(r)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let r=1;r<=n;r++){o(e.getLineContent(r),r,t)}return t}(e);n=n.concat(t)}return n}function o(e,t,n){r.lastIndex=0;const i=r.exec(e);if(i){const e={startLineNumber:t,startColumn:i.indices[1][0]+1,endLineNumber:t,endColumn:i.indices[1][1]+1};if(e.endColumn>e.startColumn){const t={range:e,...a(i[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&n.push(t)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(i,""),hasSeparatorLine:t}}},1048:(e,t,n)=>{"use strict";n.r(t),n.d(t,{getIconClasses:()=>d});var r,i=n(3072),s=n(2467),o=n(7264),a=n(4957);!function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(r||(r={}));var l,c,h=n(8391);!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(l||(l={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function n(e){const r=t.exec(e.id);if(!r)return n(h.W.error);const[,i,s]=r,o=["codicon","codicon-"+i];return s&&o.push("codicon-modifier-"+s.substring(1)),o}e.asClassNameArray=n,e.asClassName=function(e){return n(e).join(" ")},e.asCSSSelector=function(e){return"."+n(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||l.isThemeColor(e.color))};const r=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=r.exec(e);if(!t)return;const[,n]=t;return{id:n}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let n=e.id;const r=n.lastIndexOf("~");return-1!==r&&(n=n.substring(0,r)),t&&(n=`${n}~${t}`),{id:n}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){return e.id===t.id&&e.color?.id===t.color?.id}}(c||(c={}));const u=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function d(e,t,n,l,h){if(c.isThemeIcon(h))return[`codicon-${h.id}`,"predefined-file-icon"];if(o.r.isUri(h))return[];const d=l===r.ROOT_FOLDER?["rootfolder-icon"]:l===r.FOLDER?["folder-icon"]:["file-icon"];if(n){let o;if(n.scheme===i.ny.data){o=s.B6.parseMetaData(n).get(s.B6.META_DATA_LABEL)}else{const e=n.path.match(u);e?(o=g(e[2].toLowerCase()),e[1]&&d.push(`${g(e[1].toLowerCase())}-name-dir-icon`)):o=g(n.authority.toLowerCase())}if(l===r.ROOT_FOLDER)d.push(`${o}-root-name-folder-icon`);else if(l===r.FOLDER)d.push(`${o}-name-folder-icon`);else{if(o){if(d.push(`${o}-name-file-icon`),d.push("name-file-icon"),o.length<=255){const e=o.split(".");for(let t=1;t<e.length;t++)d.push(`${e.slice(t).join(".")}-ext-file-icon`)}d.push("ext-file-icon")}const r=function(e,t,n){if(!n)return null;let r=null;if(n.scheme===i.ny.data){const e=s.B6.parseMetaData(n).get(s.B6.META_DATA_MIME);e&&(r=t.getLanguageIdByMimeType(e))}else{const t=e.getModel(n);t&&(r=t.getLanguageId())}if(r&&r!==a.vH)return r;return t.guessLanguageIdByFilepathOrFirstLine(n)}(e,t,n);r&&d.push(`${g(r)}-lang-file-icon`)}}return d}function g(e){return e.replace(/[\s]/g,"/")}},3591:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ILanguageFeatureDebounceService:()=>m,LanguageFeatureDebounceService:()=>k});var r=n(2344),i=n(7992);function s(e,t,n){return Math.min(Math.max(e,t),n)}class o{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class a{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}var l=n(2399);const c=(0,l.u1)("environmentService");var h=n(4412),u=n(2321),d=n(3072),g=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},f=function(e,t){return function(n,r){t(n,r,e)}};const m=(0,l.u1)("ILanguageFeatureDebounceService");var p;!function(e){const t=new WeakMap;let n=0;e.of=function(e){let r=t.get(e);return void 0===r&&(r=++n,t.set(e,r)),r}}(p||(p={}));class b{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class _{constructor(e,t,n,r,s,o){this._logService=e,this._name=t,this._registry=n,this._default=r,this._min=s,this._max=o,this._cache=new i.qK(50,.7)}_key(e){return e.id+this._registry.all(e).reduce(((e,t)=>(0,r.sN)(p.of(t),e)),0)}get(e){const t=this._key(e),n=this._cache.get(t);return n?s(n.value,this._min,this._max):this.default()}update(e,t){const n=this._key(e);let r=this._cache.get(n);r||(r=new a(6),this._cache.set(n,r));const i=s(r.update(t),this._min,this._max);return(0,d.v$)(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${i}ms`),i}_overall(){const e=new o;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){return s(0|this._overall()||this._default,this._min,this._max)}}let k=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,n){const r=n?.min??50,i=n?.max??r**2,s=n?.key??void 0,o=`${p.of(e)},${r}${s?","+s:""}`;let a=this._data.get(o);return a||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),a=new b(1.5*r)):a=new _(this._logService,t,e,0|this._overallAverage()||1.5*r,r,i),this._data.set(o,a)),a}_overallAverage(){const e=new o;for(const t of this._data.values())e.update(t.default());return e.value}};k=g([f(0,u.rr),f(1,c)],k),(0,h.v)(m,k,1)},2230:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ILanguageFeaturesService:()=>r});const r=(0,n(2399).u1)("ILanguageFeaturesService")},3704:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageFeaturesService:()=>m});var r=n(2106),i=n(2446),s=n(6055),o=n(3958),a=n(1570);function l(e,t,n,r,i,s){if(Array.isArray(e)){let o=0;for(const a of e){const e=l(a,t,n,r,i,s);if(10===e)return e;e>o&&(o=e)}return o}if("string"==typeof e)return r?"*"===e?5:e===n?10:0:0;if(e){const{language:l,pattern:c,scheme:h,hasAccessToAllModels:u,notebookType:d}=e;if(!r&&!u)return 0;d&&i&&(t=i);let g=0;if(h)if(h===t.scheme)g=10;else{if("*"!==h)return 0;g=5}if(l)if(l===n)g=10;else{if("*"!==l)return 0;g=Math.max(g,5)}if(d)if(d===s)g=10;else{if("*"!==d||void 0===s)return 0;g=Math.max(g,5)}if(c){let e;if(e="string"==typeof c?c:{...c,base:(0,a.S8)(c.base)},e!==t.fsPath&&!(0,o.YW)(e,t.fsPath))return 0;g=10}return g}return 0}function c(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(c):!!e.exclusive)}class h{constructor(e,t,n,r,i){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=r,this.recursive=i}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}}class u{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new r.vl,this.onDidChange=this._onDidChange.event}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,i.s)((()=>{if(n){const e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const n of this._entries)n._score>0&&t.push(n.provider);return t}ordered(e,t=!1){const n=[];return this._orderedForEach(e,t,(e=>n.push(e.provider))),n}orderedGroups(e){const t=[];let n,r;return this._orderedForEach(e,!1,(e=>{n&&r===e._score?n.push(e.provider):(r=e._score,n=[e.provider],t.push(n))})),t}_orderedForEach(e,t,n){this._updateScores(e,t);for(const r of this._entries)r._score>0&&n(r)}_updateScores(e,t){const n=this._notebookInfoResolver?.(e.uri),r=n?new h(e.uri,e.getLanguageId(),n.uri,n.type,t):new h(e.uri,e.getLanguageId(),void 0,void 0,t);if(!this._lastCandidate?.equals(r)){this._lastCandidate=r;for(const n of this._entries)if(n._score=l(n.selector,r.uri,r.languageId,(0,s.vd)(e),r.notebookUri,r.notebookType),c(n.selector)&&n._score>0){if(!t){for(const e of this._entries)e._score=0;n._score=1e3;break}n._score=0}this._entries.sort(u._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._score<t._score?1:e._score>t._score?-1:d(e.selector)&&!d(t.selector)?1:!d(e.selector)&&d(t.selector)?-1:e._time<t._time?1:e._time>t._time?-1:0}}function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(d):Boolean(e.isBuiltin))}var g=n(2230),f=n(4412);class m{constructor(){this.referenceProvider=new u(this._score.bind(this)),this.renameProvider=new u(this._score.bind(this)),this.newSymbolNamesProvider=new u(this._score.bind(this)),this.codeActionProvider=new u(this._score.bind(this)),this.definitionProvider=new u(this._score.bind(this)),this.typeDefinitionProvider=new u(this._score.bind(this)),this.declarationProvider=new u(this._score.bind(this)),this.implementationProvider=new u(this._score.bind(this)),this.documentSymbolProvider=new u(this._score.bind(this)),this.inlayHintsProvider=new u(this._score.bind(this)),this.colorProvider=new u(this._score.bind(this)),this.codeLensProvider=new u(this._score.bind(this)),this.documentFormattingEditProvider=new u(this._score.bind(this)),this.documentRangeFormattingEditProvider=new u(this._score.bind(this)),this.onTypeFormattingEditProvider=new u(this._score.bind(this)),this.signatureHelpProvider=new u(this._score.bind(this)),this.hoverProvider=new u(this._score.bind(this)),this.documentHighlightProvider=new u(this._score.bind(this)),this.multiDocumentHighlightProvider=new u(this._score.bind(this)),this.selectionRangeProvider=new u(this._score.bind(this)),this.foldingRangeProvider=new u(this._score.bind(this)),this.linkProvider=new u(this._score.bind(this)),this.inlineCompletionsProvider=new u(this._score.bind(this)),this.inlineEditProvider=new u(this._score.bind(this)),this.completionProvider=new u(this._score.bind(this)),this.linkedEditingRangeProvider=new u(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new u(this._score.bind(this)),this.documentSemanticTokensProvider=new u(this._score.bind(this)),this.documentDropEditProvider=new u(this._score.bind(this)),this.documentPasteEditProvider=new u(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}}(0,f.v)(g.ILanguageFeaturesService,m,1)},5122:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageService:()=>O});var r=n(2106),i=n(2446),s=n(6995),o=n(3338),a=n(9694),l=n(4957);const c=(e,t)=>e===t;new WeakMap;class h{constructor(e,t,n){this.owner=e,this.debugNameSource=t,this.referenceFn=n}getDebugName(e){return function(e,t){const n=d.get(e);if(n)return n;const r=function(e,t){const n=d.get(e);if(n)return n;const r=t.owner?function(e){const t=f.get(e);if(t)return t;const n=function(e){const t=e.constructor;if(t)return t.name;return"Object"}(e);let r=g.get(n)??0;r++,g.set(n,r);const i=1===r?n:`${n}#${r}`;return f.set(e,i),i}(t.owner)+".":"";let i;const s=t.debugNameSource;if(void 0!==s){if("function"!=typeof s)return r+s;if(i=s(),void 0!==i)return r+i}const o=t.referenceFn;if(void 0!==o&&(i=m(o),void 0!==i))return r+i;if(void 0!==t.owner){const n=function(e,t){for(const n in e)if(e[n]===t)return n;return}(t.owner,e);if(void 0!==n)return r+n}return}(e,t);if(r){let t=u.get(r)??0;t++,u.set(r,t);const n=1===t?r:`${r}#${t}`;return d.set(e,n),n}return}(e,this)}}const u=new Map,d=new WeakMap;const g=new Map,f=new WeakMap;function m(e){const t=e.toString(),n=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t),r=n?n[1]:void 0;return r?.trim()}let p,b,_,k;function v(){return p}class C{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t){const n=void 0===t?void 0:e,r=void 0===t?e:t;return k({owner:n,debugName:()=>{const e=m(r);if(void 0!==e)return e;const t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(r.toString());return t?`${this.debugName}.${t[2]}`:n?void 0:`${this.debugName} (mapped)`},debugReferenceFn:r},(e=>r(this.read(e),e)))}flatten(){return k({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},(e=>this.read(e).read(e)))}recomputeInitiallyAndOnChange(e,t){return e.add(b(this,t)),this}keepObserved(e){return e.add(_(this)),this}}class y extends C{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function L(e,t){const n=new w(e,t);try{e(n)}finally{n.finish()}}class w{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[],v()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():m(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t<e.length;t++){const{observer:n,observable:r}=e[t];n.endUpdate(r)}this.updatingObservers=null,v()?.handleEndTransaction()}}var S=n(7110);!function(e){k=e}((function(e,t){return new x(new h(e.owner,e.debugName,e.debugReferenceFn),t,void 0,void 0,e.onLastObserverRemoved,e.equalsFn??c)}));class x extends y{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,n,r,i=void 0,s){super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=n,this._handleChange=r,this._handleLastObserverRemoved=i,this._equalityComparator=s,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=this.createChangeSummary?.(),v()?.handleDerivedCreated(this)}onLastObserverRemoved(){this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),this._handleLastObserverRemoved?.()}get(){if(0===this.observers.size){const e=this._computeFn(this,this.createChangeSummary?.());return this.onLastObserverRemoved(),e}do{if(1===this.state)for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e;const t=0!==this.state,n=this.value;this.state=3;const r=this.changeSummary;this.changeSummary=this.createChangeSummary?.();try{this.value=this._computeFn(this,r)}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}const i=t&&!this._equalityComparator(n,this.value);if(v()?.handleDerivedRecomputed(this,{oldValue:n,newValue:this.value,change:void 0,didChange:i,hadValue:t}),i)for(const s of this.observers)s.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const n of this.observers)n.handlePossibleChange(this);if(t)for(const n of this.observers)n.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}(0,S.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const n=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),r=3===this.state;if(n&&(1===this.state||r)&&(this.state=2,r))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function E(e){return new N(new h(void 0,void 0,e),e,void 0,void 0)}class N{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,n,r){this._debugNameData=e,this._runFn=t,this.createChangeSummary=n,this._handleChange=r,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),v()?.handleAutorunCreated(this),this._runIfNeeded(),(0,i.Ay)(this)}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),(0,i.VD)(this)}_runIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){v()?.handleAutorunTriggered(this);const e=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,e)}}finally{t||v()?.handleAutorunFinished(this);for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,(0,S.Ft)((()=>this.updateCount>=0))}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary))&&(this.state=2)}}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}!function(e){e.Observer=N}(E||(E={}));function T(...e){let t,n,r;return 3===e.length?[t,n,r]=e:[n,r]=e,new A(new h(t,void 0,r),n,r,(()=>A.globalTransaction),c)}class A extends y{constructor(e,t,n,r,i){super(),this._debugNameData=e,this.event=t,this._getValue=n,this._getTransaction=r,this._equalityComparator=i,this.hasValue=!1,this.handleEvent=e=>{const t=this._getValue(e),n=this.value,r=!this.hasValue||!this._equalityComparator(n,t);let i=!1;r&&(this.value=t,this.hasValue&&(i=!0,function(e,t,n){e?t(e):L(t,n)}(this._getTransaction(),(e=>{v()?.handleFromEventObservableTriggered(this,{oldValue:n,newValue:t,change:void 0,didChange:r,hadValue:this.hasValue});for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")}))),this.hasValue=!0),i||v()?.handleFromEventObservableTriggered(this,{oldValue:n,newValue:t,change:void 0,didChange:r,hadValue:this.hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){if(this.subscription)return this.hasValue||this.handleEvent(void 0),this.value;return this._getValue(void 0)}}!function(e){e.Observer=A,e.batchEventsGlobally=function(e,t){let n=!1;void 0===A.globalTransaction&&(A.globalTransaction=e,n=!0);try{t()}finally{n&&(A.globalTransaction=void 0)}}}(T||(T={}));!function(e){_=e}((function(e){const t=new I(!1,void 0);return e.addObserver(t),(0,i.s)((()=>{e.removeObserver(t)}))})),function(e){b=e}((function(e,t){const n=new I(!0,t);return e.addObserver(n),t?t(e.get()):e.reportChanges(),(0,i.s)((()=>{e.removeObserver(n)}))}));class I{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}n(4327);class O extends i.jG{static{this.instanceCount=0}constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new r.vl),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new r.vl),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new r.vl({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,O.instanceCount++,this._registry=this._register(new s.LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){O.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const n=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return(0,o.Fy)(n,null)}createById(e){return new M(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new M(this.onDidChange,(()=>{const n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=l.vH),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),a.dG.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}class M{constructor(e,t){this._value=T(this,e,(()=>t())),this.onDidChange=r.Jh.fromObservable(this._value)}get languageId(){return this._value.get()}}},5996:(e,t,n)=>{"use strict";n.r(t),n.d(t,{clearPlatformLanguageAssociations:()=>f,getLanguageIds:()=>m,registerPlatformLanguageAssociation:()=>g});var r=n(3958),i=n(3720),s=n(3072),o=n(1570),a=n(2467),l=n(6844),c=n(4957);let h=[],u=[],d=[];function g(e,t=!1){!function(e,t,n){const i=function(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?(0,r.qg)(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(o.SA.sep)>=0}}(e,t);h.push(i),i.userConfigured?d.push(i):u.push(i);n&&!i.userConfigured&&h.forEach((e=>{e.mime===i.mime||e.userConfigured||(i.extension&&e.extension===i.extension&&console.warn(`Overwriting extension <<${i.extension}>> to now point to mime <<${i.mime}>>`),i.filename&&e.filename===i.filename&&console.warn(`Overwriting filename <<${i.filename}>> to now point to mime <<${i.mime}>>`),i.filepattern&&e.filepattern===i.filepattern&&console.warn(`Overwriting filepattern <<${i.filepattern}>> to now point to mime <<${i.mime}>>`),i.firstline&&e.firstline===i.firstline&&console.warn(`Overwriting firstline <<${i.firstline}>> to now point to mime <<${i.mime}>>`))}))}(e,!1,t)}function f(){h=h.filter((e=>e.userConfigured)),u=[]}function m(e,t){return function(e,t){let n;if(e)switch(e.scheme){case s.ny.file:n=e.fsPath;break;case s.ny.data:n=a.B6.parseMetaData(e).get(a.B6.META_DATA_LABEL);break;case s.ny.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:"unknown",mime:i.K.unknown}];n=n.toLowerCase();const r=(0,o.P8)(n),g=p(n,r,d);if(g)return[g,{id:c.vH,mime:i.K.text}];const f=p(n,r,u);if(f)return[f,{id:c.vH,mime:i.K.text}];if(t){const e=function(e){(0,l.LU)(e)&&(e=e.substr(1));if(e.length>0)for(let t=h.length-1;t>=0;t--){const n=h[t];if(!n.firstline)continue;const r=e.match(n.firstline);if(r&&r.length>0)return n}return}(t);if(e)return[e,{id:c.vH,mime:i.K.text}]}return[{id:"unknown",mime:i.K.unknown}]}(e,t).map((e=>e.id))}function p(e,t,n){let r,i,s;for(let o=n.length-1;o>=0;o--){const a=n[o];if(t===a.filenameLowercase){r=a;break}if(a.filepattern&&(!i||a.filepattern.length>i.filepattern.length)){const n=a.filepatternOnPath?e:t;a.filepatternLowercase?.(n)&&(i=a)}a.extension&&(!s||a.extension.length>s.extension.length)&&t.endsWith(a.extensionLowercase)&&(s=a)}return r||(i||(s||void 0))}},6995:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageIdCodec:()=>d,LanguagesRegistry:()=>g});var r=n(2106),i=n(2446),s=n(6844),o=n(5996),a=n(4957),l=n(7142),c=n(7167);const h=Object.prototype.hasOwnProperty,u="vs.editor.nullLanguage";class d{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(u,0),this._register(a.vH,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||u}}class g extends i.jG{static{this.instanceCount=0}constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new r.vl),this.onDidChange=this._onDidChange.event,g.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new d,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(a.W6.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){g.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,o.clearPlatformLanguageAssociations)();const e=[].concat(a.W6.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),c.O.as(l.Fd.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let n;h.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){const n=t.id;let r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r=`text/x-${n}`,e.mimetypes.push(r)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)(0,o.registerPlatformLanguageAssociation)({id:n,mime:r,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const s of t.filenames)(0,o.registerPlatformLanguageAssociation)({id:n,mime:r,filename:s},this._warnOnOverwrite),e.filenames.push(s);if(Array.isArray(t.filenamePatterns))for(const s of t.filenamePatterns)(0,o.registerPlatformLanguageAssociation)({id:n,mime:r,filepattern:s},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);(0,s.eY)(t)||(0,o.registerPlatformLanguageAssociation)({id:n,mime:r,firstline:t},this._warnOnOverwrite)}catch(l){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,l)}}e.aliases.push(n);let i=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(i=0===t.aliases.length?[null]:t.aliases),null!==i)for(const s of i)s&&0!==s.length&&e.aliases.push(s);const a=null!==i&&i.length>0;if(a&&null===i[0]);else{const t=(a?i[0]:null)||n;!a&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&h.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return h.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&h.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?(0,o.getLanguageIds)(e,t):[]}}},886:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IMarkerDecorationsService:()=>r});const r=(0,n(2399).u1)("markerDecorationsService")},4109:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MarkerDecorationsService:()=>L});var r,i=n(6844);!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(r||(r={})),function(e){const t="error",n="warning",r="info";e.fromValue=function(s){return s?i.Q_(t,s)?e.Error:i.Q_(n,s)||i.Q_("warn",s)?e.Warning:i.Q_(r,s)?e.Info:e.Ignore:e.Ignore},e.toString=function(i){switch(i){case e.Error:return t;case e.Warning:return n;case e.Info:return r;default:return"ignore"}}}(r||(r={}));const s=r;var o,a,l=n(7289),c=n(2399);!function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(o||(o={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=(0,l.kg)("sev.error","Error"),t[e.Warning]=(0,l.kg)("sev.warning","Warning"),t[e.Info]=(0,l.kg)("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case s.Error:return e.Error;case s.Warning:return e.Warning;case s.Info:return e.Info;case s.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return s.Error;case e.Warning:return s.Warning;case e.Info:return s.Info;case e.Hint:return s.Ignore}}}(o||(o={})),function(e){const t="";function n(e,n){const r=[t];return e.source?r.push(e.source.replace("\xa6","\\\xa6")):r.push(t),e.code?"string"==typeof e.code?r.push(e.code.replace("\xa6","\\\xa6")):r.push(e.code.value.replace("\xa6","\\\xa6")):r.push(t),void 0!==e.severity&&null!==e.severity?r.push(o.toString(e.severity)):r.push(t),e.message&&n?r.push(e.message.replace("\xa6","\\\xa6")):r.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?r.push(e.startLineNumber.toString()):r.push(t),void 0!==e.startColumn&&null!==e.startColumn?r.push(e.startColumn.toString()):r.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?r.push(e.endLineNumber.toString()):r.push(t),void 0!==e.endColumn&&null!==e.endColumn?r.push(e.endColumn.toString()):r.push(t),r.push(t),r.join("\xa6")}e.makeKey=function(e){return n(e,!0)},e.makeKeyOptionalMessage=n}(a||(a={}));const h=(0,c.u1)("markerService");var u=n(2446),d=n(6055),g=n(6001),f=n(8295),m=n(4830),p=n(8061),b=n(3072),_=n(2106),k=n(9119),v=n(7992);var C=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},y=function(e,t){return function(n,r){t(n,r,e)}};let L=class extends u.jG{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new _.vl),this._markerDecorations=new v.fT,e.getModels().forEach((e=>this._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new w(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==b.ny.inMemory&&e.uri.scheme!==b.ny.internal&&e.uri.scheme!==b.ny.vscode||this._markerService?.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};L=C([y(0,m.IModelService),y(1,h)],L);class w extends u.jG{constructor(e){super(),this.model=e,this._map=new v.cO,this._register((0,u.s)((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(e){const{added:t,removed:n}=function(e,t){const n=[],r=[];for(const i of e)t.has(i)||n.push(i);for(const i of t)e.has(i)||r.push(i);return{removed:n,added:r}}(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===n.length)return!1;const r=n.map((e=>this._map.get(e))),i=t.map((e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)}))),s=this.model.deltaDecorations(r,i);for(const o of n)this._map.delete(o);for(let o=0;o<s.length;o++)this._map.set(t[o],s[o]);return!0}getMarker(e){return this._map.getKey(e.id)}_createDecorationRange(e,t){let n=p.Q.lift(t);if(t.severity!==o.Hint||this._hasMarkerTag(t,1)||this._hasMarkerTag(t,2)||(n=n.setEndPosition(n.startLineNumber,n.startColumn+2)),n=e.validateRange(n),n.isEmpty()){const t=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);if(1===t||n.endColumn>=t)return n;const r=e.getWordAtPosition(n.getStartPosition());r&&(n=new p.Q(n.startLineNumber,r.startColumn,n.endLineNumber,r.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){const r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r<n.endColumn&&(n=new p.Q(n.startLineNumber,r,n.endLineNumber,n.endColumn),t.startColumn=r)}return n}_createDecorationOption(e){let t,n,r,i,s;switch(e.severity){case o.Hint:t=this._hasMarkerTag(e,2)?void 0:this._hasMarkerTag(e,1)?"squiggly-unnecessary":"squiggly-hint",r=0;break;case o.Info:t="squiggly-info",n=(0,g.Yf)(f.AQ),r=10,s={color:(0,g.Yf)(k.KoI),position:1};break;case o.Warning:t="squiggly-warning",n=(0,g.Yf)(f.aZ),r=20,s={color:(0,g.Yf)(k.uMG),position:1};break;case o.Error:default:t="squiggly-error",n=(0,g.Yf)(f.yI),r=30,s={color:(0,g.Yf)(k.yLC),position:1}}return e.tags&&(-1!==e.tags.indexOf(1)&&(i="squiggly-inline-unnecessary"),-1!==e.tags.indexOf(2)&&(i="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:n,position:d.A5.Right},minimap:s,zIndex:r,inlineClassName:i}}_hasMarkerTag(e,t){return!!e.tags&&e.tags.indexOf(t)>=0}}},4830:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IModelService:()=>r});const r=(0,n(2399).u1)("modelService")},1327:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DefaultModelSHA1Computer:()=>yi,ModelService:()=>Ci});var r=n(2106),i=n(2446),s=n(3339),o=n(3338),a=n(4901),l=n(4327),c=n(6844),h=n(7264),u=n(3902);class d{static _nextVisibleColumn(e,t,n){return 9===e?d.nextRenderTabStop(t,n):c.ne(e)||c.Ss(e)?t+2:t+1}static visibleColumnFromColumn(e,t,n){const r=Math.min(t-1,e.length),i=e.substring(0,r),s=new c.km(i);let o=0;for(;!s.eol();){const e=c.Z5(i,r,s.offset);s.nextGraphemeLength(),o=this._nextVisibleColumn(e,o,n)}return o}static columnFromVisibleColumn(e,t,n){if(t<=0)return 1;const r=e.length,i=new c.km(e);let s=0,o=1;for(;!i.eol();){const a=c.Z5(e,r,i.offset);i.nextGraphemeLength();const l=this._nextVisibleColumn(a,s,n),h=i.offset+1;if(l>=t){return l-t<t-s?h:o}s=l,o=h}return r+1}static nextRenderTabStop(e,t){return e+t-e%t}static nextIndentTabStop(e,t){return e+t-e%t}static prevRenderTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}static prevIndentTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}}function g(e,t,n){let r=c.HG(e);return-1===r&&(r=e.length),function(e,t,n){let r=0;for(let s=0;s<e.length;s++)"\t"===e.charAt(s)?r=d.nextIndentTabStop(r,t):r++;let i="";if(!n){const e=Math.floor(r/t);r%=t;for(let t=0;t<e;t++)i+="\t"}for(let s=0;s<r;s++)i+=" ";return i}(e.substring(0,r),t,n)+e.substring(r)}var f=n(5365),m=n(8061),p=n(3702);const b={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var _,k=n(7922),v=n(8782);!function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(_||(_={}));class C{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,n=e.notIn.length;t<n;t++){switch(e.notIn[t]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1}}}isOK(e){switch(e){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(e,t){if(0===e.getTokenCount())return!0;const n=e.findTokenIndexAtOffset(t-2),r=e.getStandardTokenType(n);return this.isOK(r)}_findNeutralCharacterInRange(e,t){for(let n=e;n<=t;n++){const e=String.fromCharCode(n);if(!this.open.includes(e)&&!this.close.includes(e))return e}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}class y{constructor(e){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const t of e)L(this.autoClosingPairsOpenByStart,t.open.charAt(0),t),L(this.autoClosingPairsOpenByEnd,t.open.charAt(t.open.length-1),t),L(this.autoClosingPairsCloseByStart,t.close.charAt(0),t),L(this.autoClosingPairsCloseByEnd,t.close.charAt(t.close.length-1),t),1===t.close.length&&1===t.open.length&&L(this.autoClosingPairsCloseSingleChar,t.close,t)}}function L(e,t,n){e.has(t)?e.get(t).push(n):e.set(t,[n])}class w{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t"}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t"}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new C(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new C({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new C({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:w.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:w.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}function S(e){return!!(3&e)}var x=n(2802);let E,N,T;function A(){return E||(E=new TextDecoder("UTF-16LE")),E}function I(){return T||(T=s.cm()?A():(N||(N=new TextDecoder("UTF-16BE")),N)),T}function O(e,t,n){const r=new Uint16Array(e.buffer,t,n);return n>0&&(65279===r[0]||65534===r[0])?function(e,t,n){const r=[];let i=0;for(let s=0;s<n;s++){const n=x.$l(e,t);t+=2,r[i++]=String.fromCharCode(n)}return r.join("")}(e,t,n):A().decode(r)}class M{constructor(e,t,n,r,i,s){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=n,this.close=r,this.forwardRegex=i,this.reversedRegex=s,this._openSet=M._toSet(this.open),this._closeSet=M._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const n of e)t.add(n);return t}}class R{constructor(e,t){this._richEditBracketsBrand=void 0;const n=function(e){const t=e.length;e=e.map((e=>[e[0].toLowerCase(),e[1].toLowerCase()]));const n=[];for(let o=0;o<t;o++)n[o]=o;const r=(e,t)=>{const[n,r]=e,[i,s]=t;return n===i||n===s||r===i||r===s},i=(e,r)=>{const i=Math.min(e,r),s=Math.max(e,r);for(let o=0;o<t;o++)n[o]===s&&(n[o]=i)};for(let o=0;o<t;o++){const s=e[o];for(let a=o+1;a<t;a++)r(s,e[a])&&i(n[o],n[a])}const s=[];for(let o=0;o<t;o++){const r=[],i=[];for(let s=0;s<t;s++)if(n[s]===o){const[t,n]=e[s];r.push(t),i.push(n)}r.length>0&&s.push({open:r,close:i})}return s}(t);this.brackets=n.map(((t,r)=>new M(e,r,t.open,t.close,function(e,t,n,r){let i=[];i=i.concat(e),i=i.concat(t);for(let s=0,o=i.length;s<o;s++)D(i[s],n,r,i);return i=F(i),i.sort(B),i.reverse(),V(i)}(t.open,t.close,n,r),function(e,t,n,r){let i=[];i=i.concat(e),i=i.concat(t);for(let s=0,o=i.length;s<o;s++)D(i[s],n,r,i);return i=F(i),i.sort(B),i.reverse(),V(i.map(z))}(t.open,t.close,n,r)))),this.forwardRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=F(t),V(t)}(this.brackets),this.reversedRegex=function(e){let t=[];for(const n of e){for(const e of n.open)t.push(e);for(const e of n.close)t.push(e)}return t=F(t),V(t.map(z))}(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const r of this.brackets){for(const e of r.open)this.textIsBracket[e]=r,this.textIsOpenBracket[e]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,e.length);for(const e of r.close)this.textIsBracket[e]=r,this.textIsOpenBracket[e]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,e.length)}}}function D(e,t,n,r){for(let i=0,s=t.length;i<s;i++){if(i===n)continue;const s=t[i];for(const t of s.open)t.indexOf(e)>=0&&r.push(t);for(const t of s.close)t.indexOf(e)>=0&&r.push(t)}}function B(e,t){return e.length-t.length}function F(e){if(e.length<=1)return e;const t=[],n=new Set;for(const r of e)n.has(r)||(t.push(r),n.add(r));return t}function P(e){const t=/^[\w ]+$/.test(e);return e=c.bm(e),t?`\\b${e}\\b`:e}function V(e,t){const n=`(${e.map(P).join(")|(")})`;return c.OS(n,!0,t)}const z=function(){let e=null,t=null;return function(n){return e!==n&&(e=n,t=function(e){const t=new Uint16Array(e.length);let n=0;for(let r=e.length-1;r>=0;r--)t[n++]=e.charCodeAt(r);return I().decode(t)}(e)),t}}();class j{static _findPrevBracketInText(e,t,n,r){const i=n.match(e);if(!i)return null;const s=n.length-(i.index||0),o=i[0].length,a=r+s;return new m.Q(t,a-o+1,t,a+1)}static findPrevBracketInRange(e,t,n,r,i){const s=z(n).substring(n.length-i,n.length-r);return this._findPrevBracketInText(e,t,s,r)}static findNextBracketInText(e,t,n,r){const i=n.match(e);if(!i)return null;const s=i.index||0,o=i[0].length;if(0===o)return null;const a=r+s;return new m.Q(t,a+1,t,a+1+o)}static findNextBracketInRange(e,t,n,r,i){const s=n.substring(r,i);return this.findNextBracketInText(e,t,s,r)}}class q{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const n of t.close){const t=n.charAt(n.length-1);e.push(t)}return(0,o.dM)(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const r=t.findTokenIndexAtOffset(n-1);if(S(t.getStandardTokenType(r)))return null;const i=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,n-1)+e,o=j.findPrevBracketInRange(i,1,s,0,s.length);if(!o)return null;const a=s.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const l=t.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function W(e){return e.global&&(e.lastIndex=0),!0}class U{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&W(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&W(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&W(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&W(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class ${constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=$._createOpenBracketRegExp(e[0]),n=$._createCloseBracketRegExp(e[1]);t&&n&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:n})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,n,r){if(e>=3)for(let i=0,s=this._regExpRules.length;i<s;i++){const e=this._regExpRules[i];if([{reg:e.beforeText,text:n},{reg:e.afterText,text:r},{reg:e.previousLineText,text:t}].every((e=>!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return e.action}if(e>=2&&n.length>0&&r.length>0)for(let i=0,s=this._brackets.length;i<s;i++){const e=this._brackets[i];if(e.openRegExp.test(n)&&e.closeRegExp.test(r))return{indentAction:_.IndentOutdent}}if(e>=2&&n.length>0)for(let i=0,s=this._brackets.length;i<s;i++){if(this._brackets[i].openRegExp.test(n))return{indentAction:_.Indent}}return null}static _createOpenBracketRegExp(e){let t=c.bm(e);return/\B/.test(t.charAt(0))||(t="\\b"+t),t+="\\s*$",$._safeRegExp(t)}static _createCloseBracketRegExp(e){let t=c.bm(e);return/\B/.test(t.charAt(t.length-1))||(t+="\\b"),t="^\\s*"+t,$._safeRegExp(t)}static _safeRegExp(e){try{return new RegExp(e)}catch(t){return(0,l.dz)(t),null}}}var H=n(2399),K=n(5753),G=n(4412),Q=n(4957),J=n(6260);class X{constructor(e,t){this.languageId=e;const n=t.brackets?Y(t.brackets):[],r=new J.VV((e=>{const t=new Set;return{info:new ee(this,e,t),closing:t}})),i=new J.VV((e=>{const t=new Set,n=new Set;return{info:new te(this,e,t,n),opening:t,openingColorized:n}}));for(const[o,a]of n){const e=r.get(o),t=i.get(a);e.closing.add(t.info),t.opening.add(e.info)}const s=t.colorizedBracketPairs?Y(t.colorizedBracketPairs):n.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[o,a]of s){const e=r.get(o),t=i.get(a);e.closing.add(t.info),t.openingColorized.add(e.info),t.opening.add(e.info)}this._openingBrackets=new Map([...r.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...i.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){return V(Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]),e)}}function Y(e){return e.filter((([e,t])=>""!==e&&""!==t))}class Z{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class ee extends Z{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}}class te extends Z{constructor(e,t,n,r){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=r,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var ne=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},re=function(e,t){return function(n,r){t(n,r,e)}};class ie{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const se=(0,H.u1)("languageConfigurationService");let oe=class extends i.jG{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new ge),this.onDidChangeEmitter=this._register(new r.vl),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const n=new Set(Object.values(ae));this._register(this.configurationService.onDidChangeConfiguration((e=>{const t=e.change.keys.some((e=>n.has(e))),r=e.change.overrides.filter((([e,t])=>t.some((e=>n.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new ie(void 0));else for(const n of r)this.languageService.isRegisteredLanguageId(n)&&(this.configurations.delete(n),this.onDidChangeEmitter.fire(new ie(n)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new ie(e.languageId))})))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,n,r){let i=t.getLanguageConfiguration(e);if(!i){if(!r.isRegisteredLanguageId(e))return new fe(e,{});i=new fe(e,{})}const s=function(e,t){const n=t.getValue(ae.brackets,{overrideIdentifier:e}),r=t.getValue(ae.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:le(n),colorizedBracketPairs:le(r)}}(i.languageId,n),o=he([i.underlyingConfig,s]);return new fe(i.languageId,o)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};oe=ne([re(0,K.pG),re(1,k.L)],oe);const ae={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function le(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}class ce{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const n=new ue(e,t,++this._order);return this._entries.push(n),this._resolved=null,(0,i.s)((()=>{for(let e=0;e<this._entries.length;e++)if(this._entries[e]===n){this._entries.splice(e,1),this._resolved=null;break}}))}getResolvedConfiguration(){if(!this._resolved){const e=this._resolve();e&&(this._resolved=new fe(this.languageId,e))}return this._resolved}_resolve(){return 0===this._entries.length?null:(this._entries.sort(ue.cmp),he(this._entries.map((e=>e.configuration))))}}function he(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}class ue{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class de{constructor(e){this.languageId=e}}class ge extends i.jG{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new r.vl),this.onDidChange=this._onDidChange.event,this._register(this.register(Q.vH,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let r=this._entries.get(e);r||(r=new ce(e),this._entries.set(e,r));const s=r.register(t,n);return this._onDidChange.fire(new de(e)),(0,i.s)((()=>{s.dispose(),this._onDidChange.fire(new de(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class fe{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new $(this.underlyingConfig):null,this.comments=fe._handleComments(this.underlyingConfig),this.characterPair=new w(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||v.Ld,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new U(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new X(e,this.underlyingConfig)}getWordDefinition(){return(0,v.Io)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new R(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new q(this.brackets)),this._electricCharacter}onEnter(e,t,n,r){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,r):null}getAutoClosingPairs(){return new y(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){const[e,r]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=r}return n}}(0,G.v)(se,oe,1);var me=n(6055);class pe{constructor(e,t,n,r){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=n,this.isInvalid=r}}class be{constructor(e,t,n,r,i,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=n,this.nestingLevel=r,this.nestingLevelOfEqualBracketType=i,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class _e extends be{constructor(e,t,n,r,i,s,o){super(e,t,n,r,i,s),this.minVisibleColumnIndentation=o}}var ke=n(8357);function ve(e){return 0===e}const Ce=2**26;function ye(e,t){return e*Ce+t}function Le(e){const t=e,n=Math.floor(t/Ce),r=t-n*Ce;return new ke.W(n,r)}function we(e,t){let n=e+t;return t>=Ce&&(n-=e%Ce),n}function Se(e,t){return e.reduce(((e,n)=>we(e,t(n))),0)}function xe(e,t){return e===t}function Ee(e,t){const n=e,r=t;if(r-n<=0)return 0;const i=Math.floor(n/Ce),s=Math.floor(r/Ce),o=r-s*Ce;if(i===s){return ye(0,o-(n-i*Ce))}return ye(s-i,o)}function Ne(e,t){return e<t}function Te(e,t){return e<=t}function Ae(e,t){return e>=t}function Ie(e){return ye(e.lineNumber-1,e.column-1)}function Oe(e,t){const n=e,r=Math.floor(n/Ce),i=n-r*Ce,s=t,o=Math.floor(s/Ce),a=s-o*Ce;return new m.Q(r+1,i+1,o+1,a+1)}class Me{static fromModelContentChanges(e){return e.map((e=>{const t=m.Q.lift(e.range);return new Me(Ie(t.getStartPosition()),Ie(t.getEndPosition()),function(e){const t=(0,c.uz)(e);return ye(t.length-1,t[t.length-1].length)}(e.text))})).reverse()}constructor(e,t,n){this.startOffset=e,this.endOffset=t,this.newLength=n}toString(){return`[${Le(this.startOffset)}...${Le(this.endOffset)}) -> ${Le(this.newLength)}`}}class Re{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>De.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],n=t?this.translateOldToCur(t.offsetObj):null;return null===n?null:Ee(e,n)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?ye(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):ye(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=Le(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?ye(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):ye(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx<this.edits.length;){const t=this.edits[this.nextEditIdx],n=this.translateOldToCur(t.endOffsetAfterObj);if(!Te(n,e))break;{this.nextEditIdx++;const e=Le(n),r=Le(this.translateOldToCur(t.endOffsetBeforeObj)),i=e.lineCount-r.lineCount;this.deltaOldToNewLineCount+=i;const s=this.deltaLineIdxInOld===t.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,o=e.columnCount-r.columnCount;this.deltaOldToNewColumnCount=s+o,this.deltaLineIdxInOld=t.endOffsetBeforeObj.lineCount}}}}class De{static from(e){return new De(e.startOffset,e.endOffset,e.newLength)}constructor(e,t,n){this.endOffsetBeforeObj=Le(t),this.endOffsetAfterObj=Le(we(e,n)),this.offsetObj=Le(e)}}const Be=[];class Fe{static{this.cache=new Array(129)}static create(e,t){if(e<=128&&0===t.length){let n=Fe.cache[e];return n||(n=new Fe(e,t),Fe.cache[e]=n),n}return new Fe(e,t)}static{this.empty=Fe.create(0,Be)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const n=t.getKey(e);let r=n>>5;if(0===r){const e=1<<n|this.items;return e===this.items?this:Fe.create(e,this.additionalItems)}r--;const i=this.additionalItems.slice(0);for(;i.length<r;)i.push(0);return i[r]|=1<<(31&n),Fe.create(this.items,i)}merge(e){const t=this.items|e.items;if(this.additionalItems===Be&&e.additionalItems===Be)return t===this.items?this:t===e.items?e:Fe.create(t,Be);const n=[];for(let r=0;r<Math.max(this.additionalItems.length,e.additionalItems.length);r++){const t=this.additionalItems[r]||0,i=e.additionalItems[r]||0;n.push(t|i)}return Fe.create(t,n)}intersects(e){if(this.items&e.items)return!0;for(let t=0;t<Math.min(this.additionalItems.length,e.additionalItems.length);t++)if(this.additionalItems[t]&e.additionalItems[t])return!0;return!1}}const Pe={getKey:e=>e};class Ve{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}class ze{get length(){return this._length}constructor(e){this._length=e}}class je extends ze{static create(e,t,n){let r=e.length;return t&&(r=we(r,t.length)),n&&(r=we(r,n.length)),new je(r,e,t,n,t?t.missingOpeningBracketIds:Fe.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,n,r,i){super(e),this.openingBracket=t,this.child=n,this.closingBracket=r,this.missingOpeningBracketIds=i}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new je(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(we(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class qe extends ze{static create23(e,t,n,r=!1){let i=e.length,s=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(i=we(i,t.length),s=s.merge(t.missingOpeningBracketIds),n){if(e.listHeight!==n.listHeight)throw new Error("Invalid list heights");i=we(i,n.length),s=s.merge(n.missingOpeningBracketIds)}return r?new Ue(i,e.listHeight+1,e,t,n,s):new We(i,e.listHeight+1,e,t,n,s)}static getEmpty(){return new He(0,0,[],Fe.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,n){super(e),this.listHeight=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),n=4===t.kind?t.toMutable():t;return t!==n&&this.setChild(e-1,n),n}makeFirstElementMutable(){this.throwIfImmutable();if(0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new l.D7;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,n=this.getChild(0).missingOpeningBracketIds;for(let r=1;r<e;r++){const e=this.getChild(r);t=we(t,e.length),n=n.merge(e.missingOpeningBracketIds)}this._length=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}computeMinIndentation(e,t){if(-1!==this.cachedMinIndentation)return this.cachedMinIndentation;let n=Number.MAX_SAFE_INTEGER,r=e;for(let i=0;i<this.childrenLength;i++){const e=this.getChild(i);e&&(n=Math.min(n,e.computeMinIndentation(r,t)),r=we(r,e.length))}return this.cachedMinIndentation=n,n}}class We extends qe{get childrenLength(){return null!==this._item3?3:2}getChild(e){switch(e){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(e,t){switch(e){case 0:return void(this._item1=t);case 1:return void(this._item2=t);case 2:return void(this._item3=t)}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(e,t,n,r,i,s){super(e,t,s),this._item1=n,this._item2=r,this._item3=i}deepClone(){return new We(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=e,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item3;return this._item3=null,this.handleChildrenChanged(),e}prependChildOfSameHeight(e){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=e,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),e}toMutable(){return this}}class Ue extends We{toMutable(){return new We(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class $e extends qe{get childrenLength(){return this._children.length}getChild(e){return this._children[e]}setChild(e,t){this._children[e]=t}get children(){return this._children}constructor(e,t,n,r){super(e,t,r),this._children=n}deepClone(){const e=new Array(this._children.length);for(let t=0;t<this._children.length;t++)e[t]=this._children[t].deepClone();return new $e(this.length,this.listHeight,e,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){this.throwIfImmutable(),this._children.push(e),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const e=this._children.pop();return this.handleChildrenChanged(),e}prependChildOfSameHeight(e){this.throwIfImmutable(),this._children.unshift(e),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const e=this._children.shift();return this.handleChildrenChanged(),e}toMutable(){return this}}class He extends $e{toMutable(){return new $e(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const Ke=[];class Ge extends ze{get listHeight(){return 0}get childrenLength(){return 0}getChild(e){return null}get children(){return Ke}deepClone(){return this}}class Qe extends Ge{get kind(){return 0}get missingOpeningBracketIds(){return Fe.getEmpty()}canBeReused(e){return!0}computeMinIndentation(e,t){const n=Le(e),r=(0===n.columnCount?n.lineCount:n.lineCount+1)+1,i=(s=we(e,this.length),Math.floor(s/Ce)+1);var s;let o=Number.MAX_SAFE_INTEGER;for(let a=r;a<=i;a++){const e=t.getLineFirstNonWhitespaceColumn(a),n=t.getLineContent(a);if(0===e)continue;const r=d.visibleColumnFromColumn(n,e,t.getOptions().tabSize);o=Math.min(o,r)}return o}}class Je extends Ge{static create(e,t,n){return new Je(e,t,n)}get kind(){return 1}get missingOpeningBracketIds(){return Fe.getEmpty()}constructor(e,t,n){super(e),this.bracketInfo=t,this.bracketIds=n}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(e){return!1}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}class Xe extends Ge{get kind(){return 3}constructor(e,t){super(t),this.missingOpeningBracketIds=e}canBeReused(e){return!e.intersects(this.missingOpeningBracketIds)}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}var Ye=n(5910);class Ze{constructor(e,t,n,r,i){this.length=e,this.kind=t,this.bracketId=n,this.bracketIds=r,this.astNode=i}}class et{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new tt(this.textModel,this.bracketTokens),this._offset=0,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return ye(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=we(this._offset,e);const t=Le(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=we(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class tt{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=e.length,e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let n=0;for(;;){const r=this.lineTokens,i=r.getCount();let s=null;if(this.lineTokenOffset<i){const o=r.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<i&&o===r.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const a=0===Ye.x.getTokenType(o),l=Ye.x.containsBalancedBrackets(o),c=r.getEndOffset(this.lineTokenOffset);if(l&&a&&this.lineCharOffset<c){const e=r.getLanguageId(this.lineTokenOffset),t=this.line.substring(this.lineCharOffset,c),n=this.bracketTokens.getSingleLanguageBracketTokens(e),i=n.regExpGlobal;if(i){i.lastIndex=0;const e=i.exec(t);e&&(s=n.getToken(e[0]),s&&(this.lineCharOffset+=e.index))}}if(n+=c-this.lineCharOffset,s){if(e!==this.lineIdx||t!==this.lineCharOffset){this.peekedToken=s;break}return this.lineCharOffset+=s.length,s}this.lineTokenOffset++,this.lineCharOffset=c}else{if(this.lineIdx===this.textBufferLineCount-1)break;if(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,n+=33,n>1e3)break}if(n>1500)break}const r=(i=e,s=t,o=this.lineIdx,a=this.lineCharOffset,i!==o?ye(o-i,a):ye(0,a-s));var i,s,o,a;return new Ze(r,0,-1,Fe.getEmpty(),new Qe(r))}}class nt{constructor(e,t){this.text=e,this._offset=0,this.idx=0;const n=t.getRegExpStr(),r=n?new RegExp(n+"|\n","gi"):null,i=[];let s,o=0,a=0,l=0,c=0;const h=[];for(let g=0;g<60;g++)h.push(new Ze(ye(0,g),0,-1,Fe.getEmpty(),new Qe(ye(0,g))));const u=[];for(let g=0;g<60;g++)u.push(new Ze(ye(1,g),0,-1,Fe.getEmpty(),new Qe(ye(1,g))));if(r)for(r.lastIndex=0;null!==(s=r.exec(e));){const e=s.index,n=s[0];if("\n"===n)o++,a=e+1;else{if(l!==e){let t;if(c===o){const n=e-l;if(n<h.length)t=h[n];else{const e=ye(0,n);t=new Ze(e,0,-1,Fe.getEmpty(),new Qe(e))}}else{const n=o-c,r=e-a;if(1===n&&r<u.length)t=u[r];else{const e=ye(n,r);t=new Ze(e,0,-1,Fe.getEmpty(),new Qe(e))}}i.push(t)}i.push(t.getToken(n)),l=e+n.length,c=o}}const d=e.length;if(l!==d){const e=c===o?ye(0,d-l):ye(o-c,d-a);i.push(new Ze(e,0,-1,Fe.getEmpty(),new Qe(e)))}this.length=ye(o,d-a),this.tokens=i}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(e){throw new l.EM}}class rt{static createFromLanguage(e,t){function n(e){return t.getKey(`${e.languageId}:::${e.bracketText}`)}const r=new Map;for(const i of e.bracketsNew.openingBrackets){const e=ye(0,i.bracketText.length),t=n(i),s=Fe.getEmpty().add(t,Pe);r.set(i.bracketText,new Ze(e,1,t,s,Je.create(e,i,s)))}for(const i of e.bracketsNew.closingBrackets){const e=ye(0,i.bracketText.length);let t=Fe.getEmpty();const s=i.getOpeningBrackets();for(const r of s)t=t.add(n(r),Pe);r.set(i.bracketText,new Ze(e,2,n(s[0]),t,Je.create(e,i,t)))}return new rt(r)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map((e=>function(e){let t=(0,c.bm)(e);/^[\w ]+/.test(e)&&(t=`\\b${t}`);/[\w ]+$/.test(e)&&(t=`${t}\\b`);return t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,n]of this.map)if(2===n.kind&&n.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class it{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=rt.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function st(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let n=e.length;for(;n>3;){const r=n>>1;for(let i=0;i<r;i++){const r=i<<1;e[i]=qe.create23(e[r],e[r+1],r+3===n?e[r+2]:null,t)}n=r}return qe.create23(e[0],e[1],n>=3?e[2]:null,t)}function ot(e,t){return Math.abs(e.listHeight-t.listHeight)}function at(e,t){return e.listHeight===t.listHeight?qe.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let n=e=e.toMutable();const r=[];let i;for(;;){if(t.listHeight===n.listHeight){i=t;break}if(4!==n.kind)throw new Error("unexpected");r.push(n),n=n.makeLastElementMutable()}for(let s=r.length-1;s>=0;s--){const e=r[s];i?e.childrenLength>=3?i=qe.create23(e.unappendChild(),i,null,!1):(e.appendChildOfSameHeight(i),i=void 0):e.handleChildrenChanged()}return i?qe.create23(e,i,null,!1):e}(e,t):function(e,t){let n=e=e.toMutable();const r=[];for(;t.listHeight!==n.listHeight;){if(4!==n.kind)throw new Error("unexpected");r.push(n),n=n.makeFirstElementMutable()}let i=t;for(let s=r.length-1;s>=0;s--){const e=r[s];i?e.childrenLength>=3?i=qe.create23(i,e.unprependChild(),null,!1):(e.prependChildOfSameHeight(i),i=void 0):e.handleChildrenChanged()}return i?qe.create23(i,e,null,!1):e}(t,e)}class lt{constructor(e){this.lastOffset=0,this.nextNodes=[e],this.offsets=[0],this.idxs=[]}readLongestNodeAt(e,t){if(Ne(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const n=ht(this.nextNodes);if(!n)return;const r=ht(this.offsets);if(Ne(e,r))return;if(Ne(r,e))if(we(r,n.length)<=e)this.nextNodeAfterCurrent();else{const e=ct(n);-1!==e?(this.nextNodes.push(n.getChild(e)),this.offsets.push(r),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(n))return this.nextNodeAfterCurrent(),n;{const e=ct(n);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(n.getChild(e)),this.offsets.push(r),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=ht(this.offsets),t=ht(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const n=ht(this.nextNodes),r=ct(n,this.idxs[this.idxs.length-1]);if(-1!==r){this.nextNodes.push(n.getChild(r)),this.offsets.push(we(e,t.length)),this.idxs[this.idxs.length-1]=r;break}this.idxs.pop()}}}function ct(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function ht(e){return e.length>0?e[e.length-1]:void 0}function ut(e,t,n,r){return new dt(e,t,n,r).parseDocument()}class dt{constructor(e,t,n,r){if(this.tokenizer=e,this.createImmutableLists=r,this._itemsConstructed=0,this._itemsFromCache=0,n&&r)throw new Error("Not supported");this.oldNodeReader=n?new lt(n):void 0,this.positionMapper=new Re(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Fe.getEmpty(),0);return e||(e=qe.getEmpty()),e}parseList(e,t){const n=[];for(;;){let r=this.tryReadChildFromCache(e);if(!r){const n=this.tokenizer.peek();if(!n||2===n.kind&&n.bracketIds.intersects(e))break;r=this.parseChild(e,t+1)}4===r.kind&&0===r.childrenLength||n.push(r)}const r=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function n(){if(t>=e.length)return null;const n=t,r=e[n].listHeight;for(t++;t<e.length&&e[t].listHeight===r;)t++;return t-n>=2?st(0===n&&t===e.length?e:e.slice(n,t),!1):e[n]}let r=n(),i=n();if(!i)return r;for(let s=n();s;s=n())ot(r,i)<=ot(i,s)?(r=at(r,i),i=s):i=at(i,s);return at(r,i)}(n):st(n,this.createImmutableLists);return r}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!ve(t)){const n=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(n=>{if(null!==t&&!Ne(n.length,t))return!1;return n.canBeReused(e)}));if(n)return this._itemsFromCache++,this.tokenizer.skip(n.length),n}}}parseChild(e,t){this._itemsConstructed++;const n=this.tokenizer.read();switch(n.kind){case 2:return new Xe(n.bracketIds,n.length);case 0:return n.astNode;case 1:{if(t>300)return new Qe(n.length);const r=e.merge(n.bracketIds),i=this.parseList(r,t+1),s=this.tokenizer.peek();return s&&2===s.kind&&(s.bracketId===n.bracketId||s.bracketIds.intersects(n.bracketIds))?(this.tokenizer.read(),je.create(n.astNode,i,s.astNode)):je.create(n.astNode,i,null)}default:throw new Error("unexpected")}}}function gt(e,t){if(0===e.length)return t;if(0===t.length)return e;const n=new o.j3(mt(e)),r=mt(t);r.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let i=n.dequeue();function s(e){if(void 0===e){const e=n.takeWhile((e=>!0))||[];return i&&e.unshift(i),e}const t=[];for(;i&&!ve(e);){const[r,s]=i.splitAt(e);t.push(r),e=Ee(r.lengthAfter,e),i=s??n.dequeue()}return ve(e)||t.push(new ft(!1,e,e)),t}const a=[];function l(e,t,n){if(a.length>0&&xe(a[a.length-1].endOffset,e)){const e=a[a.length-1];a[a.length-1]=new Me(e.startOffset,t,we(e.newLength,n))}else a.push({startOffset:e,endOffset:t,newLength:n})}let c=0;for(const o of r){const e=s(o.lengthBefore);if(o.modified){const t=we(c,Se(e,(e=>e.lengthBefore)));l(c,t,o.lengthAfter),c=t}else for(const t of e){const e=c;c=we(c,t.lengthBefore),t.modified&&l(e,c,t.lengthAfter)}}return a}class ft{constructor(e,t,n){this.modified=e,this.lengthBefore=t,this.lengthAfter=n}splitAt(e){const t=Ee(e,this.lengthAfter);return xe(t,0)?[this,void 0]:this.modified?[new ft(this.modified,this.lengthBefore,e),new ft(this.modified,0,t)]:[new ft(this.modified,e,e),new ft(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${Le(this.lengthBefore)} -> ${Le(this.lengthAfter)}`}}function mt(e){const t=[];let n=0;for(const r of e){const e=Ee(n,r.startOffset);ve(e)||t.push(new ft(!1,e,e));const i=Ee(r.startOffset,r.endOffset);t.push(new ft(!0,i,r.newLength)),n=r.endOffset}return t}class pt extends i.jG{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new r.vl,this.denseKeyProvider=new Ve,this.brackets=new it(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new nt(this.textModel.getValue(),e);this.initialAstWithoutTokens=ut(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new Me(ye(e.fromLineNumber-1,0),ye(e.toLineNumber,0),ye(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=Me.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const n=gt(this.queuedTextEdits,e);this.queuedTextEdits=n,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=gt(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,n){const r=t;return ut(new et(this.textModel,this.brackets),e,r,n)}getBracketsInRange(e,t){this.flushQueue();const n=ye(e.startLineNumber-1,e.startColumn-1),r=ye(e.endLineNumber-1,e.endColumn-1);return new o.c1((e=>{const i=this.initialAstWithoutTokens||this.astWithTokens;kt(i,0,i.length,n,r,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const n=Ie(e.getStartPosition()),r=Ie(e.getEndPosition());return new o.c1((e=>{const i=this.initialAstWithoutTokens||this.astWithTokens,s=new vt(e,t,this.textModel);Ct(i,0,i.length,n,r,s,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return _t(t,0,t.length,Ie(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return bt(t,0,t.length,Ie(e))}}function bt(e,t,n,r){if(4===e.kind||2===e.kind){const i=[];for(const r of e.children)n=we(t,r.length),i.push({nodeOffsetStart:t,nodeOffsetEnd:n}),t=n;for(let t=i.length-1;t>=0;t--){const{nodeOffsetStart:n,nodeOffsetEnd:s}=i[t];if(Ne(n,r)){const i=bt(e.children[t],n,s,r);if(i)return i}}return null}if(3===e.kind)return null;if(1===e.kind){const r=Oe(t,n);return{bracketInfo:e.bracketInfo,range:r}}return null}function _t(e,t,n,r){if(4===e.kind||2===e.kind){for(const i of e.children){if(Ne(r,n=we(t,i.length))){const e=_t(i,t,n,r);if(e)return e}t=n}return null}if(3===e.kind)return null;if(1===e.kind){const r=Oe(t,n);return{bracketInfo:e.bracketInfo,range:r}}return null}function kt(e,t,n,r,i,s,o,a,l,c,h=!1){if(o>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let h=0;h<a;h++){const a=e.getChild(h);if(a){if(n=we(t,a.length),Te(t,i)&&Ae(n,r)){if(Ae(n,i)){e=a;continue e}if(!kt(a,t,n,r,i,s,o,0,l,c))return!1}t=n}}return!0}case 2:{const h=!c||!e.closingBracket||e.closingBracket.bracketInfo.closesColorized(e.openingBracket.bracketInfo);let u=0;if(l){let t=l.get(e.openingBracket.text);void 0===t&&(t=0),u=t,h&&(t++,l.set(e.openingBracket.text,t))}const d=e.childrenLength;for(let g=0;g<d;g++){const d=e.getChild(g);if(d){if(n=we(t,d.length),Te(t,i)&&Ae(n,r)){if(Ae(n,i)&&1!==d.kind){e=d,h?(o++,a=u+1):a=u;continue e}if(h||1!==d.kind||!e.closingBracket){if(!kt(d,t,n,r,i,s,h?o+1:o,h?u+1:u,l,c,!e.closingBracket))return!1}}t=n}}return l?.set(e.openingBracket.text,u),!0}case 3:{const e=Oe(t,n);return s(new pe(e,o-1,0,!0))}case 1:{const e=Oe(t,n);return s(new pe(e,o-1,a-1,h))}case 0:return!0}}class vt{constructor(e,t,n){this.push=e,this.includeMinIndentation=t,this.textModel=n}}function Ct(e,t,n,r,i,s,o,a){if(o>200)return!0;let l=!0;if(2===e.kind){let c=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),c=t,t++,a.set(e.openingBracket.text,t)}const h=we(t,e.openingBracket.length);let u=-1;if(s.includeMinIndentation&&(u=e.computeMinIndentation(t,s.textModel)),l=s.push(new _e(Oe(t,n),Oe(t,h),e.closingBracket?Oe(we(h,e.child?.length||0),n):void 0,o,c,e,u)),t=h,l&&e.child){const c=e.child;if(n=we(t,c.length),Te(t,i)&&Ae(n,r)&&(l=Ct(c,t,n,r,i,s,o+1,a),!l))return!1}a?.set(e.openingBracket.text,c)}else{let n=t;for(const t of e.children){const e=n;if(n=we(n,t.length),Te(e,i)&&Te(r,n)&&(l=Ct(t,e,n,r,i,s,o,a),!l))return!1}}return l}class yt extends i.jG{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new i.HE),this.onDidChangeEmitter=new r.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){e.languageId&&!this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const n=new i.Cm;this.bracketPairsTree.value=(e=n.add(new pt(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=n,{object:e,dispose:()=>t?.dispose()}),n.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||o.c1.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||o.c1.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||o.c1.empty}findMatchingBracketUp(e,t,n){const r=this.textModel.validatePosition(t),i=this.textModel.getLanguageIdAtPosition(r.lineNumber,r.column);if(this.canBuildAST){const n=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew.getClosingBracketInfo(e);if(!n)return null;const r=this.getBracketPairsInRange(m.Q.fromPositions(t,t)).findLast((e=>n.closes(e.openingBracketInfo)));return r?r.openingBracketRange:null}{const t=e.toLowerCase(),s=this.languageConfigurationService.getLanguageConfiguration(i).brackets;if(!s)return null;const o=s.textIsBracket[t];return o?St(this._findMatchingBracketUp(o,r,Lt(n))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(m.Q.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy((0,o.VE)((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),m.Q.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const n=Lt(t);return this._matchBracket(this.textModel.validatePosition(e),n)}}_establishBracketSearchOffsets(e,t,n,r){const i=t.getCount(),s=t.getLanguageId(r);let o=Math.max(0,e.column-1-n.maxBracketLength);for(let l=r-1;l>=0;l--){const e=t.getEndOffset(l);if(e<=o)break;if(S(t.getStandardTokenType(l))||t.getLanguageId(l)!==s){o=e;break}}let a=Math.min(t.getLineContent().length,e.column-1+n.maxBracketLength);for(let l=r+1;l<i;l++){const e=t.getStartOffset(l);if(e>=a)break;if(S(t.getStandardTokenType(l))||t.getLanguageId(l)!==s){a=e;break}}return{searchStartOffset:o,searchEndOffset:a}}_matchBracket(e,t){const n=e.lineNumber,r=this.textModel.tokenization.getLineTokens(n),i=this.textModel.getLineContent(n),s=r.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const o=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(s)).brackets;if(o&&!S(r.getStandardTokenType(s))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,r,o,s),c=null;for(;;){const r=j.findNextBracketInRange(o.forwardRegex,n,i,a,l);if(!r)break;if(r.startColumn<=e.column&&e.column<=r.endColumn){const e=i.substring(r.startColumn-1,r.endColumn-1).toLowerCase(),n=this._matchFoundBracket(r,o.textIsBracket[e],o.textIsOpenBracket[e],t);if(n){if(n instanceof wt)return null;c=n}}a=r.endColumn-1}if(c)return c}if(s>0&&r.getStartOffset(s)===e.column-1){const o=s-1,a=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(o)).brackets;if(a&&!S(r.getStandardTokenType(o))){const{searchStartOffset:s,searchEndOffset:l}=this._establishBracketSearchOffsets(e,r,a,o),c=j.findPrevBracketInRange(a.reversedRegex,n,i,s,l);if(c&&c.startColumn<=e.column&&e.column<=c.endColumn){const e=i.substring(c.startColumn-1,c.endColumn-1).toLowerCase(),n=this._matchFoundBracket(c,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(n)return n instanceof wt?null:n}}}return null}_matchFoundBracket(e,t,n,r){if(!t)return null;const i=n?this._findMatchingBracketDown(t,e.getEndPosition(),r):this._findMatchingBracketUp(t,e.getStartPosition(),r);return i?i instanceof wt?i:[e,i]:null}_findMatchingBracketUp(e,t,n){const r=e.languageId,i=e.reversedRegex;let s=-1,o=0;const a=(t,r,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return wt.INSTANCE;const c=j.findPrevBracketInRange(i,t,r,a,l);if(!c)break;const h=r.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(h)?s++:e.isClose(h)&&s--,0===s)return c;l=c.startColumn-1}return null};for(let l=t.lineNumber;l>=1;l--){const e=this.textModel.tokenization.getLineTokens(l),n=e.getCount(),i=this.textModel.getLineContent(l);let s=n-1,o=i.length,c=i.length;l===t.lineNumber&&(s=e.findTokenIndexAtOffset(t.column-1),o=t.column-1,c=t.column-1);let h=!0;for(;s>=0;s--){const t=e.getLanguageId(s)===r&&!S(e.getStandardTokenType(s));if(t)h?o=e.getStartOffset(s):(o=e.getStartOffset(s),c=e.getEndOffset(s));else if(h&&o!==c){const e=a(l,i,o,c);if(e)return e}h=t}if(h&&o!==c){const e=a(l,i,o,c);if(e)return e}}return null}_findMatchingBracketDown(e,t,n){const r=e.languageId,i=e.forwardRegex;let s=1,o=0;const a=(t,r,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return wt.INSTANCE;const c=j.findNextBracketInRange(i,t,r,a,l);if(!c)break;const h=r.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(h)?s++:e.isClose(h)&&s--,0===s)return c;a=c.endColumn-1}return null},l=this.textModel.getLineCount();for(let c=t.lineNumber;c<=l;c++){const e=this.textModel.tokenization.getLineTokens(c),n=e.getCount(),i=this.textModel.getLineContent(c);let s=0,o=0,l=0;c===t.lineNumber&&(s=e.findTokenIndexAtOffset(t.column-1),o=t.column-1,l=t.column-1);let h=!0;for(;s<n;s++){const t=e.getLanguageId(s)===r&&!S(e.getStandardTokenType(s));if(t)h||(o=e.getStartOffset(s)),l=e.getEndOffset(s);else if(h&&o!==l){const e=a(c,i,o,l);if(e)return e}h=t}if(h&&o!==l){const e=a(c,i,o,l);if(e)return e}}return null}findPrevBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(t)||null;let n=null,r=null,i=null;for(let s=t.lineNumber;s>=1;s--){const e=this.textModel.tokenization.getLineTokens(s),o=e.getCount(),a=this.textModel.getLineContent(s);let l=o-1,c=a.length,h=a.length;if(s===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),c=t.column-1,h=t.column-1;const s=e.getLanguageId(l);n!==s&&(n=s,r=this.languageConfigurationService.getLanguageConfiguration(n).brackets,i=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let u=!0;for(;l>=0;l--){const t=e.getLanguageId(l);if(n!==t){if(r&&i&&u&&c!==h){const e=j.findPrevBracketInRange(r.reversedRegex,s,a,c,h);if(e)return this._toFoundBracket(i,e);u=!1}n=t,r=this.languageConfigurationService.getLanguageConfiguration(n).brackets,i=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew}const o=!!r&&!S(e.getStandardTokenType(l));if(o)u?c=e.getStartOffset(l):(c=e.getStartOffset(l),h=e.getEndOffset(l));else if(i&&r&&u&&c!==h){const e=j.findPrevBracketInRange(r.reversedRegex,s,a,c,h);if(e)return this._toFoundBracket(i,e)}u=o}if(i&&r&&u&&c!==h){const e=j.findPrevBracketInRange(r.reversedRegex,s,a,c,h);if(e)return this._toFoundBracket(i,e)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const n=this.textModel.getLineCount();let r=null,i=null,s=null;for(let o=t.lineNumber;o<=n;o++){const e=this.textModel.tokenization.getLineTokens(o),n=e.getCount(),a=this.textModel.getLineContent(o);let l=0,c=0,h=0;if(o===t.lineNumber){l=e.findTokenIndexAtOffset(t.column-1),c=t.column-1,h=t.column-1;const n=e.getLanguageId(l);r!==n&&(r=n,i=this.languageConfigurationService.getLanguageConfiguration(r).brackets,s=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew)}let u=!0;for(;l<n;l++){const t=e.getLanguageId(l);if(r!==t){if(s&&i&&u&&c!==h){const e=j.findNextBracketInRange(i.forwardRegex,o,a,c,h);if(e)return this._toFoundBracket(s,e);u=!1}r=t,i=this.languageConfigurationService.getLanguageConfiguration(r).brackets,s=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew}const n=!!i&&!S(e.getStandardTokenType(l));if(n)u||(c=e.getStartOffset(l)),h=e.getEndOffset(l);else if(s&&i&&u&&c!==h){const e=j.findNextBracketInRange(i.forwardRegex,o,a,c,h);if(e)return this._toFoundBracket(s,e)}u=n}if(s&&i&&u&&c!==h){const e=j.findNextBracketInRange(i.forwardRegex,o,a,c,h);if(e)return this._toFoundBracket(s,e)}}return null}findEnclosingBrackets(e,t){const n=this.textModel.validatePosition(e);if(this.canBuildAST){const e=m.Q.fromPositions(n),t=this.getBracketPairsInRange(m.Q.fromPositions(n,n)).findLast((t=>void 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const r=Lt(t),i=this.textModel.getLineCount(),s=new Map;let o=[];const a=(e,t)=>{if(!s.has(e)){const n=[];for(let e=0,r=t?t.brackets.length:0;e<r;e++)n[e]=0;s.set(e,n)}o=s.get(e)};let l=0;const c=(e,t,n,i,s)=>{for(;;){if(r&&++l%100==0&&!r())return wt.INSTANCE;const a=j.findNextBracketInRange(e.forwardRegex,t,n,i,s);if(!a)break;const c=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),h=e.textIsBracket[c];if(h&&(h.isOpen(c)?o[h.index]++:h.isClose(c)&&o[h.index]--,-1===o[h.index]))return this._matchFoundBracket(a,h,!1,r);i=a.endColumn-1}return null};let h=null,u=null;for(let d=n.lineNumber;d<=i;d++){const e=this.textModel.tokenization.getLineTokens(d),t=e.getCount(),r=this.textModel.getLineContent(d);let i=0,s=0,o=0;if(d===n.lineNumber){i=e.findTokenIndexAtOffset(n.column-1),s=n.column-1,o=n.column-1;const t=e.getLanguageId(i);h!==t&&(h=t,u=this.languageConfigurationService.getLanguageConfiguration(h).brackets,a(h,u))}let l=!0;for(;i<t;i++){const t=e.getLanguageId(i);if(h!==t){if(u&&l&&s!==o){const e=c(u,d,r,s,o);if(e)return St(e);l=!1}h=t,u=this.languageConfigurationService.getLanguageConfiguration(h).brackets,a(h,u)}const n=!!u&&!S(e.getStandardTokenType(i));if(n)l||(s=e.getStartOffset(i)),o=e.getEndOffset(i);else if(u&&l&&s!==o){const e=c(u,d,r,s,o);if(e)return St(e)}l=n}if(u&&l&&s!==o){const e=c(u,d,r,s,o);if(e)return St(e)}}return null}_toFoundBracket(e,t){if(!t)return null;let n=this.textModel.getValueInRange(t);n=n.toLowerCase();const r=e.getBracketInfo(n);return r?{range:t,bracketInfo:r}:null}}function Lt(e){if(void 0===e)return()=>!0;{const t=Date.now();return()=>Date.now()-t<=e}}class wt{static{this.INSTANCE=new wt}constructor(){this._searchCanceledBrand=void 0}}function St(e){return e instanceof wt?null:e}var xt=n(8295),Et=n(6001);class Nt extends i.jG{constructor(e){super(),this.textModel=e,this.colorProvider=new Tt,this.onDidChangeEmitter=new r.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,n,r){if(r)return[];if(void 0===t)return[];if(!this.colorizationOptions.enabled)return[];return this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray()}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new m.Q(1,1,this.textModel.getLineCount(),1),e,t):[]}}class Tt{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}(0,Et.zy)(((e,t)=>{const n=[xt.sN,xt.lQ,xt.ss,xt.l5,xt.sH,xt.zp],r=new Tt;t.addRule(`.monaco-editor .${r.unexpectedClosingBracketClassName} { color: ${e.getColor(xt.s7)}; }`);const i=n.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let s=0;s<30;s++){const e=i[s%i.length];t.addRule(`.monaco-editor .${r.getInlineClassNameOfLevel(s)} { color: ${e}; }`)}}));var At=n(7289);function It(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class Ot{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,r){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=r}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${It(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${It(this.oldText)}")`:`(replace@${this.oldPosition} "${It(this.oldText)}" with "${It(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,n){const r=t.length;x.Sw(e,r,n),n+=4;for(let i=0;i<r;i++)x.gN(e,t.charCodeAt(i),n),n+=2;return n}static _readString(e,t){const n=x.bb(e,t);return O(e,t+=4,n)}writeSize(){return 8+Ot._writeStringSize(this.oldText)+Ot._writeStringSize(this.newText)}write(e,t){return x.Sw(e,this.oldPosition,t),t+=4,x.Sw(e,this.newPosition,t),t+=4,t=Ot._writeString(e,this.oldText,t),t=Ot._writeString(e,this.newText,t)}static read(e,t,n){const r=x.bb(e,t);t+=4;const i=x.bb(e,t);t+=4;const s=Ot._readString(e,t);t+=Ot._writeStringSize(s);const o=Ot._readString(e,t);return t+=Ot._writeStringSize(o),n.push(new Ot(r,s,i,o)),t}}class Mt{constructor(e,t){this._prevEdits=e,this._currEdits=t,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let e=0,t=0,n=this._getPrev(e),r=this._getCurr(t);for(;e<this._prevLen||t<this._currLen;){if(null===n){this._acceptCurr(r),r=this._getCurr(++t);continue}if(null===r){this._acceptPrev(n),n=this._getPrev(++e);continue}if(r.oldEnd<=n.newPosition){this._acceptCurr(r),r=this._getCurr(++t);continue}if(n.newEnd<=r.oldPosition){this._acceptPrev(n),n=this._getPrev(++e);continue}if(r.oldPosition<n.newPosition){const[e,t]=Mt._splitCurr(r,n.newPosition-r.oldPosition);this._acceptCurr(e),r=t;continue}if(n.newPosition<r.oldPosition){const[e,t]=Mt._splitPrev(n,r.oldPosition-n.newPosition);this._acceptPrev(e),n=t;continue}let i,s;if(r.oldEnd===n.newEnd)i=n,s=r,n=this._getPrev(++e),r=this._getCurr(++t);else if(r.oldEnd<n.newEnd){const[e,o]=Mt._splitPrev(n,r.oldLength);i=e,s=r,n=o,r=this._getCurr(++t)}else{const[t,o]=Mt._splitCurr(r,n.newLength);i=n,s=t,n=this._getPrev(++e),r=o}this._result[this._resultLen++]=new Ot(i.oldPosition,i.oldText,s.newPosition,s.newText),this._prevDeltaOffset+=i.newLength-i.oldLength,this._currDeltaOffset+=s.newLength-s.oldLength}const i=Mt._merge(this._result);return Mt._removeNoOps(i)}_acceptCurr(e){this._result[this._resultLen++]=Mt._rebaseCurr(this._prevDeltaOffset,e),this._currDeltaOffset+=e.newLength-e.oldLength}_getCurr(e){return e<this._currLen?this._currEdits[e]:null}_acceptPrev(e){this._result[this._resultLen++]=Mt._rebasePrev(this._currDeltaOffset,e),this._prevDeltaOffset+=e.newLength-e.oldLength}_getPrev(e){return e<this._prevLen?this._prevEdits[e]:null}static _rebaseCurr(e,t){return new Ot(t.oldPosition-e,t.oldText,t.newPosition,t.newText)}static _rebasePrev(e,t){return new Ot(t.oldPosition,t.oldText,t.newPosition+e,t.newText)}static _splitPrev(e,t){const n=e.newText.substr(0,t),r=e.newText.substr(t);return[new Ot(e.oldPosition,e.oldText,e.newPosition,n),new Ot(e.oldEnd,"",e.newPosition+t,r)]}static _splitCurr(e,t){const n=e.oldText.substr(0,t),r=e.oldText.substr(t);return[new Ot(e.oldPosition,n,e.newPosition,e.newText),new Ot(e.oldPosition+t,r,e.newEnd,"")]}static _merge(e){if(0===e.length)return e;const t=[];let n=0,r=e[0];for(let i=1;i<e.length;i++){const s=e[i];r.oldEnd===s.oldPosition?r=new Ot(r.oldPosition,r.oldText+s.oldText,r.newPosition,r.newText+s.newText):(t[n++]=r,r=s)}return t[n++]=r,t}static _removeNoOps(e){if(0===e.length)return e;const t=[];let n=0;for(let r=0;r<e.length;r++){const i=e[r];i.oldText!==i.newText&&(t[n++]=i)}return t}}var Rt=n(2467);function Dt(e){return e.toString()}class Bt{static create(e,t){const n=e.getAlternativeVersionId(),r=Vt(e);return new Bt(n,n,r,r,t,t,[])}constructor(e,t,n,r,i,s,o){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=n,this.afterEOL=r,this.beforeCursorState=i,this.afterCursorState=s,this.changes=o}append(e,t,n,r,i){var s,o;t.length>0&&(this.changes=(s=this.changes,o=t,null===s||0===s.length?o:new Mt(s,o).compress())),this.afterEOL=n,this.afterVersionId=r,this.afterCursorState=i}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,n){if(x.Sw(e,t?t.length:0,n),n+=4,t)for(const r of t)x.Sw(e,r.selectionStartLineNumber,n),n+=4,x.Sw(e,r.selectionStartColumn,n),n+=4,x.Sw(e,r.positionLineNumber,n),n+=4,x.Sw(e,r.positionColumn,n),n+=4;return n}static _readSelections(e,t,n){const r=x.bb(e,t);t+=4;for(let i=0;i<r;i++){const r=x.bb(e,t);t+=4;const i=x.bb(e,t);t+=4;const s=x.bb(e,t);t+=4;const o=x.bb(e,t);t+=4,n.push(new p.L(r,i,s,o))}return t}serialize(){let e=10+Bt._writeSelectionsSize(this.beforeCursorState)+Bt._writeSelectionsSize(this.afterCursorState)+4;for(const r of this.changes)e+=r.writeSize();const t=new Uint8Array(e);let n=0;x.Sw(t,this.beforeVersionId,n),n+=4,x.Sw(t,this.afterVersionId,n),n+=4,x.Gs(t,this.beforeEOL,n),n+=1,x.Gs(t,this.afterEOL,n),n+=1,n=Bt._writeSelections(t,this.beforeCursorState,n),n=Bt._writeSelections(t,this.afterCursorState,n),x.Sw(t,this.changes.length,n),n+=4;for(const r of this.changes)n=r.write(t,n);return t.buffer}static deserialize(e){const t=new Uint8Array(e);let n=0;const r=x.bb(t,n);n+=4;const i=x.bb(t,n);n+=4;const s=x.pJ(t,n);n+=1;const o=x.pJ(t,n);n+=1;const a=[];n=Bt._readSelections(t,n,a);const l=[];n=Bt._readSelections(t,n,l);const c=x.bb(t,n);n+=4;const h=[];for(let u=0;u<c;u++)n=Ot.read(t,n,h);return new Bt(r,i,s,o,a,l,h)}}class Ft{get type(){return 0}get resource(){return h.r.isUri(this.model)?this.model:this.model.uri}constructor(e,t,n,r){this.label=e,this.code=t,this.model=n,this._data=Bt.create(n,r)}toString(){return(this._data instanceof Bt?this._data:Bt.deserialize(this._data)).changes.map((e=>e.toString())).join(", ")}matchesResource(e){return(h.r.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof Bt}append(e,t,n,r,i){this._data instanceof Bt&&this._data.append(e,t,n,r,i)}close(){this._data instanceof Bt&&(this._data=this._data.serialize())}open(){this._data instanceof Bt||(this._data=Bt.deserialize(this._data))}undo(){if(h.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Bt&&(this._data=this._data.serialize());const e=Bt.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(h.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Bt&&(this._data=this._data.serialize());const e=Bt.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof Bt&&(this._data=this._data.serialize()),this._data.byteLength+168}}class Pt{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,n){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=n.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const e=Dt(r.resource);this._editStackElementsMap.set(e,r)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=Dt(e);return this._editStackElementsMap.has(t)}setModel(e){const t=Dt(h.r.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=Dt(e.uri);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).canAppend(e)}return!1}append(e,t,n,r,i){const s=Dt(e.uri);this._editStackElementsMap.get(s).append(e,t,n,r,i)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=Dt(e);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).heapSize()}return 0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${(0,Rt.P8)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function Vt(e){return"\n"===e.getEOL()?0:1}function zt(e){return!!e&&(e instanceof Ft||e instanceof Pt)}class jt{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);zt(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);zt(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const n=this._undoRedoService.getLastElement(this._model.uri);if(zt(n)&&n.canAppend(this._model))return n;const r=new Ft(At.kg("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(r,t),r}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],Vt(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,n,r){const i=this._getOrCreateEditStackElement(e,r),s=this._model.applyEdits(t,!0),o=jt._computeCursorState(n,s),a=s.map(((e,t)=>({index:t,textChange:e.textChange})));return a.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),i.append(this._model,a.map((e=>e.textChange)),Vt(this._model),this._model.getAlternativeVersionId(),o),o}static _computeCursorState(e,t){try{return e?e(t):null}catch(n){return(0,l.dz)(n),null}}}var qt,Wt=n(7393);class Ut extends i.jG{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}!function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(qt||(qt={}));class $t{constructor(e,t,n,r,i,s){if(this.visibleColumn=e,this.column=t,this.className=n,this.horizontalLine=r,this.forWrappedLinesAfterColumn=i,this.forWrappedLinesBeforeOrAtColumn=s,-1!==e==(-1!==t))throw new Error}}class Ht{constructor(e,t){this.top=e,this.endColumn=t}}class Kt extends Ut{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return function(e,t){let n=0,r=0;const i=e.length;for(;r<i;){const i=e.charCodeAt(r);if(32===i)n++;else{if(9!==i)break;n=n-n%t+t}r++}return r===i?-1:n}(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,n){this.assertNotDisposed();const r=this.textModel.getLineCount();if(e<1||e>r)throw new l.D7("Illegal value for lineNumber");const i=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(i&&i.offSide);let o=-2,a=-1,c=-2,h=-1;const u=e=>{if(-1!==o&&(-2===o||o>e-1)){o=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){o=t,a=e;break}}}if(-2===c){c=-1,h=-1;for(let t=e;t<r;t++){const e=this._computeIndentLevel(t);if(e>=0){c=t,h=e;break}}}};let d=-2,g=-1,f=-2,m=-1;const p=e=>{if(-2===d){d=-1,g=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){d=t,g=e;break}}}if(-1!==f&&(-2===f||f<e-1)){f=-1,m=-1;for(let t=e;t<r;t++){const e=this._computeIndentLevel(t);if(e>=0){f=t,m=e;break}}}};let b=0,_=!0,k=0,v=!0,C=0,y=0;for(let l=0;_||v;l++){const i=e-l,o=e+l;l>1&&(i<1||i<t)&&(_=!1),l>1&&(o>r||o>n)&&(v=!1),l>5e4&&(_=!1,v=!1);let f=-1;if(_&&i>=1){const e=this._computeIndentLevel(i-1);e>=0?(c=i-1,h=e,f=Math.ceil(e/this.textModel.getOptions().indentSize)):(u(i),f=this._getIndentLevelForWhitespaceLine(s,a,h))}let L=-1;if(v&&o<=r){const e=this._computeIndentLevel(o-1);e>=0?(d=o-1,g=e,L=Math.ceil(e/this.textModel.getOptions().indentSize)):(p(o),L=this._getIndentLevelForWhitespaceLine(s,g,m))}if(0!==l){if(1===l){if(o<=r&&L>=0&&y+1===L){_=!1,b=o,k=o,C=L;continue}if(i>=1&&f>=0&&f-1===y){v=!1,b=i,k=i,C=f;continue}if(b=e,k=e,C=y,0===C)return{startLineNumber:b,endLineNumber:k,indent:C}}_&&(f>=C?b=i:_=!1),v&&(L>=C?k=o:v=!1)}else y=f}return{startLineNumber:b,endLineNumber:k,indent:C}}getLinesBracketGuides(e,t,n,r){const i=[];for(let c=e;c<=t;c++)i.push([]);const s=!0,o=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new m.Q(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let a;if(n&&o.length>0){const r=(e<=n.lineNumber&&n.lineNumber<=t?o:this.textModel.bracketPairs.getBracketPairsInRange(m.Q.fromPositions(n)).toArray()).filter((e=>m.Q.strictContainsPosition(e.range,n)));a=(0,Wt.Uk)(r,(e=>s))?.range}const l=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,h=new Gt;for(const u of o){if(!u.closingBracketRange)continue;const n=a&&u.range.equalsRange(a);if(!n&&!r.includeInactive)continue;const s=h.getInlineClassName(u.nestingLevel,u.nestingLevelOfEqualBracketType,l)+(r.highlightActive&&n?" "+h.activeClassName:""),o=u.openingBracketRange.getStartPosition(),d=u.closingBracketRange.getStartPosition(),g=r.horizontalGuides===qt.Enabled||r.horizontalGuides===qt.EnabledForActive&&n;if(u.range.startLineNumber===u.range.endLineNumber){g&&i[u.range.startLineNumber-e].push(new $t(-1,u.openingBracketRange.getEndPosition().column,s,new Ht(!1,d.column),-1,-1));continue}const f=this.getVisibleColumnFromPosition(d),m=this.getVisibleColumnFromPosition(u.openingBracketRange.getStartPosition()),p=Math.min(m,f,u.minVisibleColumnIndentation+1);let b=!1;c.HG(this.textModel.getLineContent(u.closingBracketRange.startLineNumber))<u.closingBracketRange.startColumn-1&&(b=!0);const _=Math.max(o.lineNumber,e),k=Math.min(d.lineNumber,t),v=b?1:0;for(let t=_;t<k+v;t++)i[t-e].push(new $t(p,-1,s,null,t===o.lineNumber?o.column:-1,t===d.lineNumber?d.column:-1));g&&(o.lineNumber>=e&&m>p&&i[o.lineNumber-e].push(new $t(p,-1,s,new Ht(!1,o.column),-1,-1)),d.lineNumber<=t&&f>p&&i[d.lineNumber-e].push(new $t(p,-1,s,new Ht(!b,d.column),-1,-1)))}for(const c of i)c.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return i}getVisibleColumnFromPosition(e){return d.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");const r=this.textModel.getOptions(),i=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(i&&i.offSide),o=new Array(t-e+1);let a=-2,l=-1,c=-2,h=-1;for(let u=e;u<=t;u++){const t=u-e,i=this._computeIndentLevel(u-1);if(i>=0)a=u-1,l=i,o[t]=Math.ceil(i/r.indentSize);else{if(-2===a){a=-1,l=-1;for(let e=u-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==c&&(-2===c||c<u-1)){c=-1,h=-1;for(let e=u;e<n;e++){const t=this._computeIndentLevel(e);if(t>=0){c=e,h=t;break}}}o[t]=this._getIndentLevelForWhitespaceLine(s,l,h)}}return o}_getIndentLevelForWhitespaceLine(e,t,n){const r=this.textModel.getOptions();return-1===t||-1===n?0:t<n?1+Math.floor(t/r.indentSize):t===n||e?Math.ceil(n/r.indentSize):1+Math.floor(n/r.indentSize)}}class Gt{constructor(){this.activeClassName="indent-active"}getInlineClassName(e,t,n){return this.getInlineClassNameOfLevel(n?t:e)}getInlineClassNameOfLevel(e){return"bracket-indent-guide lvl-"+e%30}}class Qt{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function Jt(e,t,n,r,i){let s;for(i.spacesDiff=0,i.looksLikeAlignment=!1,s=0;s<t&&s<r;s++){if(e.charCodeAt(s)!==n.charCodeAt(s))break}let o=0,a=0;for(let d=s;d<t;d++){32===e.charCodeAt(d)?o++:a++}let l=0,c=0;for(let d=s;d<r;d++){32===n.charCodeAt(d)?l++:c++}if(o>0&&a>0)return;if(l>0&&c>0)return;const h=Math.abs(a-c),u=Math.abs(o-l);if(0===h)return i.spacesDiff=u,void(u>0&&0<=l-1&&l-1<e.length&&l<n.length&&32!==n.charCodeAt(l)&&32===e.charCodeAt(l-1)&&44===e.charCodeAt(e.length-1)&&(i.looksLikeAlignment=!0));u%h!=0||(i.spacesDiff=u/h)}function Xt(e,t,n){const r=Math.min(e.getLineCount(),1e4);let i=0,s=0,o="",a=0;const l=[2,4,6,8,3,5,7],c=[0,0,0,0,0,0,0,0,0],h=new Qt;for(let g=1;g<=r;g++){const r=e.getLineLength(g),l=e.getLineContent(g),u=r<=65536;let d=!1,f=0,m=0,p=0;for(let t=0,n=r;t<n;t++){const n=u?l.charCodeAt(t):e.getLineCharCode(g,t);if(9===n)p++;else{if(32!==n){d=!0,f=t;break}m++}}if(!d)continue;if(p>0?i++:m>1&&s++,Jt(o,a,l,f,h),h.looksLikeAlignment&&(!n||t!==h.spacesDiff))continue;const b=h.spacesDiff;b<=8&&c[b]++,o=l,a=f}let u=n;i!==s&&(u=i<s);let d=t;if(u){let e=u?0:.1*r;l.forEach((t=>{const n=c[t];n>e&&(e=n,d=t)})),4===d&&c[4]>0&&c[2]>0&&c[2]>=c[4]/2&&(d=2)}return{insertSpaces:u,tabSize:d}}function Yt(e){return(1&e.metadata)>>>0}function Zt(e,t){e.metadata=254&e.metadata|t}function en(e){return(2&e.metadata)>>>1==1}function tn(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function nn(e){return(4&e.metadata)>>>2==1}function rn(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function sn(e){return(64&e.metadata)>>>6==1}function on(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function an(e,t){e.metadata=231&e.metadata|t<<3}function ln(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class cn{constructor(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,Zt(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,rn(this,!1),on(this,!1),an(this,1),ln(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,tn(this,!1)}reset(e,t,n,r){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=r}setOptions(e){this.options=e;const t=this.options.className;rn(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),on(this,null!==this.options.glyphMarginClassName),an(this,this.options.stickiness),ln(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const hn=new cn(null,0,0);hn.parent=hn,hn.left=hn,hn.right=hn,Zt(hn,0);class un{constructor(){this.root=hn,this.requestNormalizeDelta=!1}intervalSearch(e,t,n,r,i,s){return this.root===hn?[]:function(e,t,n,r,i,s,o){let a=e.root,l=0,c=0,h=0,u=0;const d=[];let g=0;for(;a!==hn;)if(en(a))tn(a.left,!1),tn(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;else{if(!en(a.left)){if(c=l+a.maxEnd,c<t){tn(a,!0);continue}if(a.left!==hn){a=a.left;continue}}if(h=l+a.start,h>n)tn(a,!0);else{if(u=l+a.end,u>=t){a.setCachedOffsets(h,u,s);let e=!0;r&&a.ownerId&&a.ownerId!==r&&(e=!1),i&&nn(a)&&(e=!1),o&&!sn(a)&&(e=!1),e&&(d[g++]=a)}tn(a,!0),a.right===hn||en(a.right)||(l+=a.delta,a=a.right)}}return tn(e.root,!1),d}(this,e,t,n,r,i,s)}search(e,t,n,r){return this.root===hn?[]:function(e,t,n,r,i){let s=e.root,o=0,a=0,l=0;const c=[];let h=0;for(;s!==hn;){if(en(s)){tn(s.left,!1),tn(s.right,!1),s===s.parent.right&&(o-=s.parent.delta),s=s.parent;continue}if(s.left!==hn&&!en(s.left)){s=s.left;continue}a=o+s.start,l=o+s.end,s.setCachedOffsets(a,l,r);let e=!0;t&&s.ownerId&&s.ownerId!==t&&(e=!1),n&&nn(s)&&(e=!1),i&&!sn(s)&&(e=!1),e&&(c[h++]=s),tn(s,!0),s.right===hn||en(s.right)||(o+=s.delta,s=s.right)}return tn(e.root,!1),c}(this,e,t,n,r)}collectNodesFromOwner(e){return function(e,t){let n=e.root;const r=[];let i=0;for(;n!==hn;)en(n)?(tn(n.left,!1),tn(n.right,!1),n=n.parent):n.left===hn||en(n.left)?(n.ownerId===t&&(r[i++]=n),tn(n,!0),n.right===hn||en(n.right)||(n=n.right)):n=n.left;return tn(e.root,!1),r}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const n=[];let r=0;for(;t!==hn;)en(t)?(tn(t.left,!1),tn(t.right,!1),t=t.parent):t.left===hn||en(t.left)?t.right===hn||en(t.right)?(n[r++]=t,tn(t,!0)):t=t.right:t=t.left;return tn(e.root,!1),n}(this)}insert(e){fn(this,e),this._normalizeDeltaIfNecessary()}delete(e){mn(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const n=e;let r=0;for(;e!==this.root;)e===e.parent.right&&(r+=e.parent.delta),e=e.parent;const i=n.start+r,s=n.end+r;n.setCachedOffsets(i,s,t)}acceptReplace(e,t,n,r){const i=function(e,t,n){let r=e.root,i=0,s=0,o=0,a=0;const l=[];let c=0;for(;r!==hn;)if(en(r))tn(r.left,!1),tn(r.right,!1),r===r.parent.right&&(i-=r.parent.delta),r=r.parent;else{if(!en(r.left)){if(s=i+r.maxEnd,s<t){tn(r,!0);continue}if(r.left!==hn){r=r.left;continue}}o=i+r.start,o>n?tn(r,!0):(a=i+r.end,a>=t&&(r.setCachedOffsets(o,a,0),l[c++]=r),tn(r,!0),r.right===hn||en(r.right)||(i+=r.delta,r=r.right))}return tn(e.root,!1),l}(this,e,e+t);for(let s=0,o=i.length;s<o;s++){mn(this,i[s])}this._normalizeDeltaIfNecessary(),function(e,t,n,r){let i=e.root,s=0,o=0,a=0;const l=r-(n-t);for(;i!==hn;)if(en(i))tn(i.left,!1),tn(i.right,!1),i===i.parent.right&&(s-=i.parent.delta),vn(i),i=i.parent;else{if(!en(i.left)){if(o=s+i.maxEnd,o<t){tn(i,!0);continue}if(i.left!==hn){i=i.left;continue}}a=s+i.start,a>n?(i.start+=l,i.end+=l,i.delta+=l,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),tn(i,!0)):(tn(i,!0),i.right===hn||en(i.right)||(s+=i.delta,i=i.right))}tn(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(let s=0,o=i.length;s<o;s++){const o=i[s];o.start=o.cachedAbsoluteStart,o.end=o.cachedAbsoluteEnd,gn(o,e,e+t,n,r),o.maxEnd=o.end,fn(this,o)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(e){let t=e.root,n=0;for(;t!==hn;)t.left===hn||en(t.left)?t.right===hn||en(t.right)?(t.start=n+t.start,t.end=n+t.end,t.delta=0,vn(t),tn(t,!0),tn(t.left,!1),tn(t.right,!1),t===t.parent.right&&(n-=t.parent.delta),t=t.parent):(n+=t.delta,t=t.right):t=t.left;tn(e.root,!1)}(this))}}function dn(e,t,n,r){return e<n||!(e>n)&&(1!==r&&(2===r||t))}function gn(e,t,n,r,i){const s=function(e){return(24&e.metadata)>>>3}(e),o=0===s||2===s,a=1===s||2===s,l=n-t,c=r,h=Math.min(l,c),u=e.start;let d=!1;const g=e.end;let f=!1;t<=u&&g<=n&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,d=!0,e.end=t,f=!0);{const e=i?1:l>0?2:0;!d&&dn(u,o,t,e)&&(d=!0),!f&&dn(g,a,t,e)&&(f=!0)}if(h>0&&!i){const e=l>c?2:0;!d&&dn(u,o,t+h,e)&&(d=!0),!f&&dn(g,a,t+h,e)&&(f=!0)}{const r=i?1:0;!d&&dn(u,o,n,r)&&(e.start=t+c,d=!0),!f&&dn(g,a,n,r)&&(e.end=t+c,f=!0)}const m=c-l;d||(e.start=Math.max(0,u+m)),f||(e.end=Math.max(0,g+m)),e.start>e.end&&(e.end=e.start)}function fn(e,t){if(e.root===hn)return t.parent=hn,t.left=hn,t.right=hn,Zt(t,0),e.root=t,e.root;!function(e,t){let n=0,r=e.root;const i=t.start,s=t.end;for(;;){if(yn(i,s,r.start+n,r.end+n)<0){if(r.left===hn){t.start-=n,t.end-=n,t.maxEnd-=n,r.left=t;break}r=r.left}else{if(r.right===hn){t.start-=n+r.delta,t.end-=n+r.delta,t.maxEnd-=n+r.delta,r.right=t;break}n+=r.delta,r=r.right}}t.parent=r,t.left=hn,t.right=hn,Zt(t,1)}(e,t),Cn(t.parent);let n=t;for(;n!==e.root&&1===Yt(n.parent);)if(n.parent===n.parent.parent.left){const t=n.parent.parent.right;1===Yt(t)?(Zt(n.parent,0),Zt(t,0),Zt(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&(n=n.parent,bn(e,n)),Zt(n.parent,0),Zt(n.parent.parent,1),_n(e,n.parent.parent))}else{const t=n.parent.parent.left;1===Yt(t)?(Zt(n.parent,0),Zt(t,0),Zt(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&(n=n.parent,_n(e,n)),Zt(n.parent,0),Zt(n.parent.parent,1),bn(e,n.parent.parent))}return Zt(e.root,0),t}function mn(e,t){let n,r;if(t.left===hn?(n=t.right,r=t,n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===hn?(n=t.left,r=t):(r=function(e){for(;e.left!==hn;)e=e.left;return e}(t.right),n=r.right,n.start+=r.delta,n.end+=r.delta,n.delta+=r.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),r.start+=t.delta,r.end+=t.delta,r.delta=t.delta,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0)),r===e.root)return e.root=n,Zt(n,0),t.detach(),pn(),vn(n),void(e.root.parent=hn);const i=1===Yt(r);if(r===r.parent.left?r.parent.left=n:r.parent.right=n,r===t?n.parent=r.parent:(r.parent===t?n.parent=r:n.parent=r.parent,r.left=t.left,r.right=t.right,r.parent=t.parent,Zt(r,Yt(t)),t===e.root?e.root=r:t===t.parent.left?t.parent.left=r:t.parent.right=r,r.left!==hn&&(r.left.parent=r),r.right!==hn&&(r.right.parent=r)),t.detach(),i)return Cn(n.parent),r!==t&&(Cn(r),Cn(r.parent)),void pn();let s;for(Cn(n),Cn(n.parent),r!==t&&(Cn(r),Cn(r.parent));n!==e.root&&0===Yt(n);)n===n.parent.left?(s=n.parent.right,1===Yt(s)&&(Zt(s,0),Zt(n.parent,1),bn(e,n.parent),s=n.parent.right),0===Yt(s.left)&&0===Yt(s.right)?(Zt(s,1),n=n.parent):(0===Yt(s.right)&&(Zt(s.left,0),Zt(s,1),_n(e,s),s=n.parent.right),Zt(s,Yt(n.parent)),Zt(n.parent,0),Zt(s.right,0),bn(e,n.parent),n=e.root)):(s=n.parent.left,1===Yt(s)&&(Zt(s,0),Zt(n.parent,1),_n(e,n.parent),s=n.parent.left),0===Yt(s.left)&&0===Yt(s.right)?(Zt(s,1),n=n.parent):(0===Yt(s.left)&&(Zt(s.right,0),Zt(s,1),bn(e,s),s=n.parent.left),Zt(s,Yt(n.parent)),Zt(n.parent,0),Zt(s.left,0),_n(e,n.parent),n=e.root));Zt(n,0),pn()}function pn(){hn.parent=hn,hn.delta=0,hn.start=0,hn.end=0}function bn(e,t){const n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==hn&&(n.left.parent=t),n.parent=t.parent,t.parent===hn?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,vn(t),vn(n)}function _n(e,t){const n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==hn&&(n.right.parent=t),n.parent=t.parent,t.parent===hn?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,vn(t),vn(n)}function kn(e){let t=e.end;if(e.left!==hn){const n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==hn){const n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function vn(e){e.maxEnd=kn(e)}function Cn(e){for(;e!==hn;){const t=kn(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function yn(e,t,n,r){return e===n?t-r:e-n}class Ln{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==wn)return Sn(this.right);let e=this;for(;e.parent!==wn&&e.parent.left!==e;)e=e.parent;return e.parent===wn?wn:e.parent}prev(){if(this.left!==wn)return xn(this.left);let e=this;for(;e.parent!==wn&&e.parent.right!==e;)e=e.parent;return e.parent===wn?wn:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const wn=new Ln(null,0);function Sn(e){for(;e.left!==wn;)e=e.left;return e}function xn(e){for(;e.right!==wn;)e=e.right;return e}function En(e){return e===wn?0:e.size_left+e.piece.length+En(e.right)}function Nn(e){return e===wn?0:e.lf_left+e.piece.lineFeedCnt+Nn(e.right)}function Tn(){wn.parent=wn}function An(e,t){const n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==wn&&(n.left.parent=t),n.parent=t.parent,t.parent===wn?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function In(e,t){const n=t.left;t.left=n.right,n.right!==wn&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===wn?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function On(e,t){let n,r;if(t.left===wn?(r=t,n=r.right):t.right===wn?(r=t,n=r.left):(r=Sn(t.right),n=r.right),r===e.root)return e.root=n,n.color=0,t.detach(),Tn(),void(e.root.parent=wn);const i=1===r.color;if(r===r.parent.left?r.parent.left=n:r.parent.right=n,r===t?(n.parent=r.parent,Dn(e,n)):(r.parent===t?n.parent=r:n.parent=r.parent,Dn(e,n),r.left=t.left,r.right=t.right,r.parent=t.parent,r.color=t.color,t===e.root?e.root=r:t===t.parent.left?t.parent.left=r:t.parent.right=r,r.left!==wn&&(r.left.parent=r),r.right!==wn&&(r.right.parent=r),r.size_left=t.size_left,r.lf_left=t.lf_left,Dn(e,r)),t.detach(),n.parent.left===n){const t=En(n),r=Nn(n);if(t!==n.parent.size_left||r!==n.parent.lf_left){const i=t-n.parent.size_left,s=r-n.parent.lf_left;n.parent.size_left=t,n.parent.lf_left=r,Rn(e,n.parent,i,s)}}if(Dn(e,n.parent),i)return void Tn();let s;for(;n!==e.root&&0===n.color;)n===n.parent.left?(s=n.parent.right,1===s.color&&(s.color=0,n.parent.color=1,An(e,n.parent),s=n.parent.right),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.right.color&&(s.left.color=0,s.color=1,In(e,s),s=n.parent.right),s.color=n.parent.color,n.parent.color=0,s.right.color=0,An(e,n.parent),n=e.root)):(s=n.parent.left,1===s.color&&(s.color=0,n.parent.color=1,In(e,n.parent),s=n.parent.left),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.left.color&&(s.right.color=0,s.color=1,An(e,s),s=n.parent.left),s.color=n.parent.color,n.parent.color=0,s.left.color=0,In(e,n.parent),n=e.root));n.color=0,Tn()}function Mn(e,t){for(Dn(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const n=t.parent.parent.right;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&An(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,In(e,t.parent.parent))}else{const n=t.parent.parent.left;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&In(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,An(e,t.parent.parent))}e.root.color=0}function Rn(e,t,n,r){for(;t!==e.root&&t!==wn;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=r),t=t.parent}function Dn(e,t){let n=0,r=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(n=En((t=t.parent).left)-t.size_left,r=Nn(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=r;t!==e.root&&(0!==n||0!==r);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=r),t=t.parent}}wn.parent=wn,wn.left=wn,wn.right=wn,wn.color=0;var Bn=n(2389);const Fn=65535;function Pn(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class Vn{constructor(e,t,n,r,i){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=r,this.isBasicASCII=i}}function zn(e,t=!0){const n=[0];let r=1;for(let i=0,s=e.length;i<s;i++){const t=e.charCodeAt(i);13===t?i+1<s&&10===e.charCodeAt(i+1)?(n[r++]=i+2,i++):n[r++]=i+1:10===t&&(n[r++]=i+1)}return t?Pn(n):n}class jn{constructor(e,t,n,r,i){this.bufferIndex=e,this.start=t,this.end=n,this.lineFeedCnt=r,this.length=i}}class qn{constructor(e,t){this.buffer=e,this.lineStarts=t}}class Wn{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==wn&&e.iterate(e.root,(e=>(e!==wn&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class Un{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber<e&&n.nodeStartLineNumber+n.node.piece.lineFeedCnt>=e)return n}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const n=this._cache;for(let r=0;r<n.length;r++){const i=n[r];(null===i.node.parent||i.nodeStartOffset>=e)&&(n[r]=null,t=!0)}if(t){const e=[];for(const t of n)null!==t&&e.push(t);this._cache=e}}}class $n{constructor(e,t,n){this.create(e,t,n)}create(e,t,n){this._buffers=[new qn("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=wn,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=n;let r=null;for(let i=0,s=e.length;i<s;i++)if(e[i].buffer.length>0){e[i].lineStarts||(e[i].lineStarts=zn(e[i].buffer));const t=new jn(i+1,{line:0,column:0},{line:e[i].lineStarts.length-1,column:e[i].buffer.length-e[i].lineStarts[e[i].lineStarts.length-1]},e[i].lineStarts.length-1,e[i].buffer.length);this._buffers.push(e[i]),r=this.rbInsertRight(r,t)}this._searchCache=new Un(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=Fn,n=t-Math.floor(21845),r=2*n;let i="",s=0;const o=[];if(this.iterate(this.root,(t=>{const a=this.getNodeContent(t),l=a.length;if(s<=n||s+l<r)return i+=a,s+=l,!0;const c=i.replace(/\r\n|\r|\n/g,e);return o.push(new qn(c,zn(c))),i=a,s=l,!0})),s>0){const t=i.replace(/\r\n|\r|\n/g,e);o.push(new qn(t,zn(t)))}this.create(o,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new Wn(this,e)}getOffsetAt(e,t){let n=0,r=this.root;for(;r!==wn;)if(r.left!==wn&&r.lf_left+1>=e)r=r.left;else{if(r.lf_left+r.piece.lineFeedCnt+1>=e){n+=r.size_left;return n+(this.getAccumulatedValue(r,e-r.lf_left-2)+t-1)}e-=r.lf_left+r.piece.lineFeedCnt,n+=r.size_left+r.piece.length,r=r.right}return n}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,n=0;const r=e;for(;t!==wn;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const i=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+i.index,0===i.index){const e=r-this.getOffsetAt(n+1,1);return new f.y(n+1,e+1)}return new f.y(n+1,i.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===wn){const t=r-e-this.getOffsetAt(n+1,1);return new f.y(n+1,t+1)}t=t.right}return new f.y(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const n=this.nodeAt2(e.startLineNumber,e.startColumn),r=this.nodeAt2(e.endLineNumber,e.endColumn),i=this.getValueInRange2(n,r);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?i:i.replace(/\r\n|\r|\n/g,t):i}getValueInRange2(e,t){if(e.node===t.node){const n=e.node,r=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return r.substring(i+e.remainder,i+t.remainder)}let n=e.node;const r=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);let s=r.substring(i+e.remainder,i+n.piece.length);for(n=n.next();n!==wn;){const e=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(n===t.node){s+=e.substring(r,r+t.remainder);break}s+=e.substr(r,n.piece.length),n=n.next()}return s}getLinesContent(){const e=[];let t=0,n="",r=!1;return this.iterate(this.root,(i=>{if(i===wn)return!0;const s=i.piece;let o=s.length;if(0===o)return!0;const a=this._buffers[s.bufferIndex].buffer,l=this._buffers[s.bufferIndex].lineStarts,c=s.start.line,h=s.end.line;let u=l[c]+s.start.column;if(r&&(10===a.charCodeAt(u)&&(u++,o--),e[t++]=n,n="",r=!1,0===o))return!0;if(c===h)return this._EOLNormalized||13!==a.charCodeAt(u+o-1)?n+=a.substr(u,o):(r=!0,n+=a.substr(u,o-1)),!0;n+=this._EOLNormalized?a.substring(u,Math.max(u,l[c+1]-this._EOLLength)):a.substring(u,l[c+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;for(let r=c+1;r<h;r++)n=this._EOLNormalized?a.substring(l[r],l[r+1]-this._EOLLength):a.substring(l[r],l[r+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;return this._EOLNormalized||13!==a.charCodeAt(l[h]+s.end.column-1)?n=a.substr(l[h],s.end.column):(r=!0,0===s.end.column?t--:n=a.substr(l[h],s.end.column-1)),!0})),r&&(e[t++]=n,n=""),e[t++]=n,e}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(e){return this._lastVisitedLine.lineNumber===e||(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,"")),this._lastVisitedLine.value}_getCharCode(e){if(e.remainder===e.node.piece.length){const t=e.node.next();if(!t)return 0;const n=this._buffers[t.piece.bufferIndex],r=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);return n.buffer.charCodeAt(r)}{const t=this._buffers[e.node.piece.bufferIndex],n=this.offsetInBuffer(e.node.piece.bufferIndex,e.node.piece.start)+e.remainder;return t.buffer.charCodeAt(n)}}getLineCharCode(e,t){const n=this.nodeAt2(e,t+1);return this._getCharCode(n)}getLineLength(e){if(e===this.getLineCount()){const t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength}findMatchesInNode(e,t,n,r,i,s,o,a,l,c,h){const u=this._buffers[e.piece.bufferIndex],d=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),g=this.offsetInBuffer(e.piece.bufferIndex,i),f=this.offsetInBuffer(e.piece.bufferIndex,s);let p;const b={line:0,column:0};let _,k;t._wordSeparators?(_=u.buffer.substring(g,f),k=e=>e+g,t.reset(0)):(_=u.buffer,k=e=>e,t.reset(g));do{if(p=t.next(_),p){if(k(p.index)>=f)return c;this.positionInBuffer(e,k(p.index)-d,b);const t=this.getLineFeedCnt(e.piece.bufferIndex,i,b),s=b.line===i.line?b.column-i.column+r:b.column+1,o=s+p[0].length;if(h[c++]=(0,Bn.dr)(new m.Q(n+t,s,n+t,o),p,a),k(p.index)+p[0].length>=f)return c;if(c>=l)return c}}while(p);return c}findMatchesLineByLine(e,t,n,r){const i=[];let s=0;const o=new Bn.W5(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let c=this.positionInBuffer(a.node,a.remainder);const h=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,o,e.startLineNumber,e.startColumn,c,h,t,n,r,s,i),i;let u=e.startLineNumber,d=a.node;for(;d!==l.node;){const l=this.getLineFeedCnt(d.piece.bufferIndex,c,d.piece.end);if(l>=1){const a=this._buffers[d.piece.bufferIndex].lineStarts,h=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start),g=a[c.line+l],f=u===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(d,o,u,f,c,this.positionInBuffer(d,g-h),t,n,r,s,i),s>=r)return i;u+=l}const h=u===e.startLineNumber?e.startColumn-1:0;if(u===e.endLineNumber){const a=this.getLineContent(u).substring(h,e.endColumn-1);return s=this._findMatchesInLine(t,o,a,e.endLineNumber,h,s,i,n,r),i}if(s=this._findMatchesInLine(t,o,this.getLineContent(u).substr(h),u,h,s,i,n,r),s>=r)return i;u++,a=this.nodeAt2(u,1),d=a.node,c=this.positionInBuffer(a.node,a.remainder)}if(u===e.endLineNumber){const a=u===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(u).substring(a,e.endColumn-1);return s=this._findMatchesInLine(t,o,l,e.endLineNumber,a,s,i,n,r),i}const g=u===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(l.node,o,u,g,c,h,t,n,r,s,i),i}_findMatchesInLine(e,t,n,r,i,s,o,a,l){const c=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,h=n.length;let u=-a;for(;-1!==(u=n.indexOf(t,u+a));)if((!c||(0,Bn.wC)(c,n,h,u,a))&&(o[s++]=new me.Dg(new m.Q(r,u+1+i,r,u+1+a+i),null),s>=l))return s;return s}let h;t.reset(0);do{if(h=t.next(n),h&&(o[s++]=(0,Bn.dr)(new m.Q(r,h.index+1+i,r,h.index+1+h[0].length+i),h,a),s>=l))return s}while(h);return s}insert(e,t,n=!1){if(this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==wn){const{node:n,remainder:r,nodeStartOffset:i}=this.nodeAt(e),s=n.piece,o=s.bufferIndex,a=this.positionInBuffer(n,r);if(0===n.piece.bufferIndex&&s.end.line===this._lastChangeBufferPos.line&&s.end.column===this._lastChangeBufferPos.column&&i+s.length===e&&t.length<Fn)return this.appendToNode(n,t),void this.computeBufferMetadata();if(i===e)this.insertContentToNodeLeft(t,n),this._searchCache.validate(e);else if(i+n.piece.length>e){const e=[];let i=new jn(s.bufferIndex,a,s.end,this.getLineFeedCnt(s.bufferIndex,a,s.end),this.offsetInBuffer(o,s.end)-this.offsetInBuffer(o,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)){if(10===this.nodeCharCodeAt(n,r)){const e={line:i.start.line+1,column:0};i=new jn(i.bufferIndex,e,i.end,this.getLineFeedCnt(i.bufferIndex,e,i.end),i.length-1),t+="\n"}}if(this.shouldCheckCRLF()&&this.startWithLF(t)){if(13===this.nodeCharCodeAt(n,r-1)){const i=this.positionInBuffer(n,r-1);this.deleteNodeTail(n,i),t="\r"+t,0===n.piece.length&&e.push(n)}else this.deleteNodeTail(n,a)}else this.deleteNodeTail(n,a);const l=this.createNewPieces(t);i.length>0&&this.rbInsertRight(n,i);let c=n;for(let t=0;t<l.length;t++)c=this.rbInsertRight(c,l[t]);this.deleteNodes(e)}else this.insertContentToNodeRight(t,n)}else{const e=this.createNewPieces(t);let n=this.rbInsertLeft(null,e[0]);for(let t=1;t<e.length;t++)n=this.rbInsertRight(n,e[t])}this.computeBufferMetadata()}delete(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",t<=0||this.root===wn)return;const n=this.nodeAt(e),r=this.nodeAt(e+t),i=n.node,s=r.node;if(i===s){const s=this.positionInBuffer(i,n.remainder),o=this.positionInBuffer(i,r.remainder);if(n.nodeStartOffset===e){if(t===i.piece.length){const e=i.next();return On(this,i),this.validateCRLFWithPrevNode(e),void this.computeBufferMetadata()}return this.deleteNodeHead(i,o),this._searchCache.validate(e),this.validateCRLFWithPrevNode(i),void this.computeBufferMetadata()}return n.nodeStartOffset+i.piece.length===e+t?(this.deleteNodeTail(i,s),this.validateCRLFWithNextNode(i),void this.computeBufferMetadata()):(this.shrinkNode(i,s,o),void this.computeBufferMetadata())}const o=[],a=this.positionInBuffer(i,n.remainder);this.deleteNodeTail(i,a),this._searchCache.validate(e),0===i.piece.length&&o.push(i);const l=this.positionInBuffer(s,r.remainder);this.deleteNodeHead(s,l),0===s.piece.length&&o.push(s);for(let h=i.next();h!==wn&&h!==s;h=h.next())o.push(h);const c=0===i.piece.length?i.prev():i;this.deleteNodes(o),this.validateCRLFWithNextNode(c),this.computeBufferMetadata()}insertContentToNodeLeft(e,t){const n=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){const r=t.piece,i={line:r.start.line+1,column:0},s=new jn(r.bufferIndex,i,r.end,this.getLineFeedCnt(r.bufferIndex,i,r.end),r.length-1);t.piece=s,e+="\n",Rn(this,t,-1,-1),0===t.piece.length&&n.push(t)}const r=this.createNewPieces(e);let i=this.rbInsertLeft(t,r[r.length-1]);for(let s=r.length-2;s>=0;s--)i=this.rbInsertLeft(i,r[s]);this.validateCRLFWithPrevNode(i),this.deleteNodes(n)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const n=this.createNewPieces(e),r=this.rbInsertRight(t,n[0]);let i=r;for(let s=1;s<n.length;s++)i=this.rbInsertRight(i,n[s]);this.validateCRLFWithPrevNode(r)}positionInBuffer(e,t,n){const r=e.piece,i=e.piece.bufferIndex,s=this._buffers[i].lineStarts,o=s[r.start.line]+r.start.column+t;let a=r.start.line,l=r.end.line,c=0,h=0,u=0;for(;a<=l&&(c=a+(l-a)/2|0,u=s[c],c!==l);)if(h=s[c+1],o<u)l=c-1;else{if(!(o>=h))break;a=c+1}return n?(n.line=c,n.column=o-u,null):{line:c,column:o-u}}getLineFeedCnt(e,t,n){if(0===n.column)return n.line-t.line;const r=this._buffers[e].lineStarts;if(n.line===r.length-1)return n.line-t.line;const i=r[n.line+1],s=r[n.line]+n.column;if(i>s+1)return n.line-t.line;const o=s-1;return 13===this._buffers[e].buffer.charCodeAt(o)?n.line-t.line+1:n.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;t<e.length;t++)On(this,e[t])}createNewPieces(e){if(e.length>Fn){const t=[];for(;e.length>Fn;){const n=e.charCodeAt(65534);let r;13===n||n>=55296&&n<=56319?(r=e.substring(0,65534),e=e.substring(65534)):(r=e.substring(0,Fn),e=e.substring(Fn));const i=zn(r);t.push(new jn(this._buffers.length,{line:0,column:0},{line:i.length-1,column:r.length-i[i.length-1]},i.length-1,r.length)),this._buffers.push(new qn(r,i))}const n=zn(e);return t.push(new jn(this._buffers.length,{line:0,column:0},{line:n.length-1,column:e.length-n[n.length-1]},n.length-1,e.length)),this._buffers.push(new qn(e,n)),t}let t=this._buffers[0].buffer.length;const n=zn(e,!1);let r=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},r=this._lastChangeBufferPos;for(let e=0;e<n.length;e++)n[e]+=t+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+="_"+e,t+=1}else{if(0!==t)for(let e=0;e<n.length;e++)n[e]+=t;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(n.slice(1)),this._buffers[0].buffer+=e}const i=this._buffers[0].buffer.length,s=this._buffers[0].lineStarts.length-1,o={line:s,column:i-this._buffers[0].lineStarts[s]},a=new jn(0,r,o,this.getLineFeedCnt(0,r,o),i-t);return this._lastChangeBufferPos=o,[a]}getLineRawContent(e,t=0){let n=this.root,r="";const i=this._searchCache.get2(e);if(i){n=i.node;const s=this.getAccumulatedValue(n,e-i.nodeStartLineNumber-1),o=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(i.nodeStartLineNumber+n.piece.lineFeedCnt!==e){const r=this.getAccumulatedValue(n,e-i.nodeStartLineNumber);return o.substring(a+s,a+r-t)}r=o.substring(a+s,a+n.piece.length)}else{let i=0;const s=e;for(;n!==wn;)if(n.left!==wn&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const r=this.getAccumulatedValue(n,e-n.lf_left-2),o=this.getAccumulatedValue(n,e-n.lf_left-1),a=this._buffers[n.piece.bufferIndex].buffer,l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:i,nodeStartLineNumber:s-(e-1-n.lf_left)}),a.substring(l+r,l+o-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(n,e-n.lf_left-2),i=this._buffers[n.piece.bufferIndex].buffer,s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);r=i.substring(s+t,s+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}}for(n=n.next();n!==wn;){const e=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){const i=this.getAccumulatedValue(n,0),s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return r+=e.substring(s,s+i-t),r}{const t=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);r+=e.substr(t,n.piece.length)}n=n.next()}return r}computeBufferMetadata(){let e=this.root,t=1,n=0;for(;e!==wn;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.validate(this._length)}getIndexOf(e,t){const n=e.piece,r=this.positionInBuffer(e,t),i=r.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,n.start,r);if(t!==i)return{index:t,remainder:0}}return{index:i,remainder:r.column}}getAccumulatedValue(e,t){if(t<0)return 0;const n=e.piece,r=this._buffers[n.bufferIndex].lineStarts,i=n.start.line+t+1;return i>n.end.line?r[n.end.line]+n.end.column-r[n.start.line]-n.start.column:r[i]-r[n.start.line]-n.start.column}deleteNodeTail(e,t){const n=e.piece,r=n.lineFeedCnt,i=this.offsetInBuffer(n.bufferIndex,n.end),s=t,o=this.offsetInBuffer(n.bufferIndex,s),a=this.getLineFeedCnt(n.bufferIndex,n.start,s),l=a-r,c=o-i,h=n.length+c;e.piece=new jn(n.bufferIndex,n.start,s,a,h),Rn(this,e,c,l)}deleteNodeHead(e,t){const n=e.piece,r=n.lineFeedCnt,i=this.offsetInBuffer(n.bufferIndex,n.start),s=t,o=this.getLineFeedCnt(n.bufferIndex,s,n.end),a=o-r,l=i-this.offsetInBuffer(n.bufferIndex,s),c=n.length+l;e.piece=new jn(n.bufferIndex,s,n.end,o,c),Rn(this,e,l,a)}shrinkNode(e,t,n){const r=e.piece,i=r.start,s=r.end,o=r.length,a=r.lineFeedCnt,l=t,c=this.getLineFeedCnt(r.bufferIndex,r.start,l),h=this.offsetInBuffer(r.bufferIndex,t)-this.offsetInBuffer(r.bufferIndex,i);e.piece=new jn(r.bufferIndex,r.start,l,c,h),Rn(this,e,h-o,c-a);const u=new jn(r.bufferIndex,n,s,this.getLineFeedCnt(r.bufferIndex,n,s),this.offsetInBuffer(r.bufferIndex,s)-this.offsetInBuffer(r.bufferIndex,n)),d=this.rbInsertRight(e,u);this.validateCRLFWithPrevNode(d)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),r=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const i=zn(t,!1);for(let u=0;u<i.length;u++)i[u]+=r;if(n){const e=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:r-e}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1));const s=this._buffers[0].lineStarts.length-1,o={line:s,column:this._buffers[0].buffer.length-this._buffers[0].lineStarts[s]},a=e.piece.length+t.length,l=e.piece.lineFeedCnt,c=this.getLineFeedCnt(0,e.piece.start,o),h=c-l;e.piece=new jn(e.piece.bufferIndex,e.piece.start,o,c,a),this._lastChangeBufferPos=o,Rn(this,e,t.length,h)}nodeAt(e){let t=this.root;const n=this._searchCache.get(e);if(n)return{node:n.node,nodeStartOffset:n.nodeStartOffset,remainder:e-n.nodeStartOffset};let r=0;for(;t!==wn;)if(t.size_left>e)t=t.left;else{if(t.size_left+t.piece.length>=e){r+=t.size_left;const n={node:t,remainder:e-t.size_left,nodeStartOffset:r};return this._searchCache.set(n),n}e-=t.size_left+t.piece.length,r+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let n=this.root,r=0;for(;n!==wn;)if(n.left!==wn&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2),s=this.getAccumulatedValue(n,e-n.lf_left-1);return r+=n.size_left,{node:n,remainder:Math.min(i+t-1,s),nodeStartOffset:r}}if(n.lf_left+n.piece.lineFeedCnt===e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2);if(i+t-1<=n.piece.length)return{node:n,remainder:i+t-1,nodeStartOffset:r};t-=n.piece.length-i;break}e-=n.lf_left+n.piece.lineFeedCnt,r+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==wn;){if(n.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(n,0),r=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,e),nodeStartOffset:r}}if(n.piece.length>=t-1){return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)}}t-=n.piece.length,n=n.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const n=this._buffers[e.piece.bufferIndex],r=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(r)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===wn||0===e.piece.lineFeedCnt)return!1;const t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,r=t.start.line,i=n[r]+t.start.column;if(r===n.length-1)return!1;return!(n[r+1]>i+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(i)}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==wn&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const n=[],r=this._buffers[e.piece.bufferIndex].lineStarts;let i;i=0===e.piece.end.column?{line:e.piece.end.line-1,column:r[e.piece.end.line]-r[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,o=e.piece.lineFeedCnt-1;e.piece=new jn(e.piece.bufferIndex,e.piece.start,i,o,s),Rn(this,e,-1,-1),0===e.piece.length&&n.push(e);const a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new jn(t.piece.bufferIndex,a,t.piece.end,c,l),Rn(this,t,-1,-1),0===t.piece.length&&n.push(t);const h=this.createNewPieces("\r\n");this.rbInsertRight(e,h[0]);for(let u=0;u<n.length;u++)On(this,n[u])}adjustCarriageReturnFromNext(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const n=t.next();if(this.startWithLF(n)){if(e+="\n",1===n.piece.length)On(this,n);else{const e=n.piece,t={line:e.start.line+1,column:0},r=e.length-1,i=this.getLineFeedCnt(e.bufferIndex,t,e.end);n.piece=new jn(e.bufferIndex,t,e.end,i,r),Rn(this,n,-1,-1)}return!0}}return!1}iterate(e,t){if(e===wn)return t(wn);const n=this.iterate(e.left,t);return n?t(e)&&this.iterate(e.right,t):n}getNodeContent(e){if(e===wn)return"";const t=this._buffers[e.piece.bufferIndex],n=e.piece,r=this.offsetInBuffer(n.bufferIndex,n.start),i=this.offsetInBuffer(n.bufferIndex,n.end);return t.buffer.substring(r,i)}getPieceContent(e){const t=this._buffers[e.bufferIndex],n=this.offsetInBuffer(e.bufferIndex,e.start),r=this.offsetInBuffer(e.bufferIndex,e.end);return t.buffer.substring(n,r)}rbInsertRight(e,t){const n=new Ln(t,1);n.left=wn,n.right=wn,n.parent=wn,n.size_left=0,n.lf_left=0;if(this.root===wn)this.root=n,n.color=0;else if(e.right===wn)e.right=n,n.parent=e;else{const t=Sn(e.right);t.left=n,n.parent=t}return Mn(this,n),n}rbInsertLeft(e,t){const n=new Ln(t,1);if(n.left=wn,n.right=wn,n.parent=wn,n.size_left=0,n.lf_left=0,this.root===wn)this.root=n,n.color=0;else if(e.left===wn)e.left=n,n.parent=e;else{const t=xn(e.left);t.right=n,n.parent=t}return Mn(this,n),n}}class Hn extends i.jG{constructor(e,t,n,i,s,o,a){super(),this._onDidChangeContent=this._register(new r.vl),this._BOM=t,this._mightContainNonBasicASCII=!o,this._mightContainRTL=i,this._mightContainUnusualLineTerminators=s,this._pieceTree=new $n(e,n,a)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(e){return this._pieceTree.createSnapshot(e?this._BOM:"")}getOffsetAt(e,t){return this._pieceTree.getOffsetAt(e,t)}getPositionAt(e){return this._pieceTree.getPositionAt(e)}getRangeAt(e,t){const n=e+t,r=this.getPositionAt(e),i=this.getPositionAt(n);return new m.Q(r.lineNumber,r.column,i.lineNumber,i.column)}getValueInRange(e,t=0){if(e.isEmpty())return"";const n=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,n)}getValueLengthInRange(e,t=0){if(e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;const n=this.getOffsetAt(e.startLineNumber,e.startColumn),r=this.getOffsetAt(e.endLineNumber,e.endColumn);let i=0;const s=this._getEndOfLine(t),o=this.getEOL();if(s.length!==o.length){i=(s.length-o.length)*(e.endLineNumber-e.startLineNumber)}return r-n+i}getCharacterCountInRange(e,t=0){if(this._mightContainNonBasicASCII){let n=0;const r=e.startLineNumber,i=e.endLineNumber;for(let t=r;t<=i;t++){const s=this.getLineContent(t),o=t===r?e.startColumn-1:0,a=t===i?e.endColumn-1:s.length;for(let e=o;e<a;e++)c.pc(s.charCodeAt(e))?(n+=1,e+=1):n+=1}return n+=this._getEndOfLine(t).length*(i-r),n}return this.getValueLengthInRange(e,t)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(e){return this._pieceTree.getLineContent(e)}getLineCharCode(e,t){return this._pieceTree.getLineCharCode(e,t)}getLineLength(e){return this._pieceTree.getLineLength(e)}getLineFirstNonWhitespaceColumn(e){const t=c.HG(this.getLineContent(e));return-1===t?0:t+1}getLineLastNonWhitespaceColumn(e){const t=c.lT(this.getLineContent(e));return-1===t?0:t+2}_getEndOfLine(e){switch(e){case 1:return"\n";case 2:return"\r\n";case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,t,n){let r=this._mightContainRTL,i=this._mightContainUnusualLineTerminators,s=this._mightContainNonBasicASCII,o=!0,a=[];for(let p=0;p<e.length;p++){const t=e[p];o&&t._isTracked&&(o=!1);const n=t.range;if(t.text){let e=!0;s||(e=!c.aC(t.text),s=e),!r&&e&&(r=c.E_(t.text)),!i&&e&&(i=c.$X(t.text))}let l="",h=0,d=0,g=0;if(t.text){let e;[h,d,g,e]=(0,u.W)(t.text);const n=this.getEOL();l=0===e||e===("\r\n"===n?2:1)?t.text:t.text.replace(/\r\n|\r|\n/g,n)}a[p]={sortIndex:p,identifier:t.identifier||null,range:n,rangeOffset:this.getOffsetAt(n.startLineNumber,n.startColumn),rangeLength:this.getValueLengthInRange(n),text:l,eolCount:h,firstLineLength:d,lastLineLength:g,forceMoveMarkers:Boolean(t.forceMoveMarkers),isAutoWhitespaceEdit:t.isAutoWhitespaceEdit||!1}}a.sort(Hn._sortOpsAscending);let l=!1;for(let c=0,u=a.length-1;c<u;c++){const e=a[c].range.getEndPosition(),t=a[c+1].range.getStartPosition();if(t.isBeforeOrEqual(e)){if(t.isBefore(e))throw new Error("Overlapping ranges are not allowed!");l=!0}}o&&(a=this._reduceOperations(a));const h=n||t?Hn._getInverseEditRanges(a):[],d=[];if(t)for(let u=0;u<a.length;u++){const e=a[u],t=h[u];if(e.isAutoWhitespaceEdit&&e.range.isEmpty())for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let r="";n===t.startLineNumber&&(r=this.getLineContent(e.range.startLineNumber),-1!==c.HG(r))||d.push({lineNumber:n,oldContent:r})}}let g=null;if(n){let e=0;g=[];for(let t=0;t<a.length;t++){const n=a[t],r=h[t],i=this.getValueInRange(n.range),s=n.rangeOffset+e;e+=n.text.length-i.length,g[t]={sortIndex:n.sortIndex,identifier:n.identifier,range:r,text:i,textChange:new Ot(n.rangeOffset,i,s,n.text)}}l||g.sort(((e,t)=>e.sortIndex-t.sortIndex))}this._mightContainRTL=r,this._mightContainUnusualLineTerminators=i,this._mightContainNonBasicASCII=s;const f=this._doApplyEdits(a);let m=null;if(t&&d.length>0){d.sort(((e,t)=>t.lineNumber-e.lineNumber)),m=[];for(let e=0,t=d.length;e<t;e++){const t=d[e].lineNumber;if(e>0&&d[e-1].lineNumber===t)continue;const n=d[e].oldContent,r=this.getLineContent(t);0!==r.length&&r!==n&&-1===c.HG(r)&&m.push(t)}}return this._onDidChangeContent.fire(),new me.F4(g,f,m)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const n=e[0].range,r=e[e.length-1].range,i=new m.Q(n.startLineNumber,n.startColumn,r.endLineNumber,r.endColumn);let s=n.startLineNumber,o=n.startColumn;const a=[];for(let u=0,g=e.length;u<g;u++){const n=e[u],r=n.range;t=t||n.forceMoveMarkers,a.push(this.getValueInRange(new m.Q(s,o,r.startLineNumber,r.startColumn))),n.text.length>0&&a.push(n.text),s=r.endLineNumber,o=r.endColumn}const l=a.join(""),[c,h,d]=(0,u.W)(l);return{sortIndex:0,identifier:e[0].identifier,range:i,rangeOffset:this.getOffsetAt(i.startLineNumber,i.startColumn),rangeLength:this.getValueLengthInRange(i,0),text:l,eolCount:c,firstLineLength:h,lastLineLength:d,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(Hn._sortOpsDescending);const t=[];for(let n=0;n<e.length;n++){const r=e[n],i=r.range.startLineNumber,s=r.range.startColumn,o=r.range.endLineNumber,a=r.range.endColumn;if(i===o&&s===a&&0===r.text.length)continue;r.text?(this._pieceTree.delete(r.rangeOffset,r.rangeLength),this._pieceTree.insert(r.rangeOffset,r.text,!0)):this._pieceTree.delete(r.rangeOffset,r.rangeLength);const l=new m.Q(i,s,o,a);t.push({range:l,rangeLength:r.rangeLength,text:r.text,rangeOffset:r.rangeOffset,forceMoveMarkers:r.forceMoveMarkers})}return t}findMatchesLineByLine(e,t,n,r){return this._pieceTree.findMatchesLineByLine(e,t,n,r)}static _getInverseEditRanges(e){const t=[];let n=0,r=0,i=null;for(let s=0,o=e.length;s<o;s++){const o=e[s];let a,l,c;if(i?i.range.endLineNumber===o.range.startLineNumber?(a=n,l=r+(o.range.startColumn-i.range.endColumn)):(a=n+(o.range.startLineNumber-i.range.endLineNumber),l=o.range.startColumn):(a=o.range.startLineNumber,l=o.range.startColumn),o.text.length>0){const e=o.eolCount+1;c=1===e?new m.Q(a,l,a,l+o.firstLineLength):new m.Q(a,l,a+e-1,o.lastLineLength+1)}else c=new m.Q(a,l,a,l);n=c.endLineNumber,r=c.endColumn,t.push(c),i=o}return t}static _sortOpsAscending(e,t){const n=m.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n}static _sortOpsDescending(e,t){const n=m.Q.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n}}class Kn{constructor(e,t,n,r,i,s,o,a,l){this._chunks=e,this._bom=t,this._cr=n,this._lf=r,this._crlf=i,this._containsRTL=s,this._containsUnusualLineTerminators=o,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){const t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let i=0,s=n.length;i<s;i++){const e=n[i].buffer.replace(/\r\n|\r|\n/g,t),r=zn(e);n[i]=new qn(e,r)}const r=new Hn(n,this._bom,t,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:r,disposable:r}}}class Gn{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(e){if(0===e.length)return;0===this.chunks.length&&c.LU(e)&&(this.BOM=c.r_,e=e.substr(1));const t=e.charCodeAt(e.length-1);13===t||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let n=1,r=0,i=0,s=0,o=!0;for(let l=0,c=t.length;l<c;l++){const a=t.charCodeAt(l);13===a?l+1<c&&10===t.charCodeAt(l+1)?(s++,e[n++]=l+2,l++):(r++,e[n++]=l+1):10===a?(i++,e[n++]=l+1):o&&9!==a&&(a<32||a>126)&&(o=!1)}const a=new Vn(Pn(e),r,i,s,o);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new qn(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=c.E_(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=c.$X(e)))}finish(e=!0){return this._finish(),new Kn(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=zn(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var Qn=n(9955),Jn=n(9694),Xn=n(2866),Yn=n(3013),Zn=n(2532);const er=new class{clone(){return this}equals(e){return this===e}};class tr{constructor(e){this._default=e,this._store=[]}get(e){return e<this._store.length?this._store[e]:this._default}set(e,t){for(;e>=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,n){if(e>=this._store.length)return;if(0===t)return void this.insert(e,n);if(0===n)return void this.delete(e,t);const r=this._store.slice(0,e),i=this._store.slice(e+t),s=function(e,t){const n=[];for(let r=0;r<e;r++)n[r]=t;return n}(n,this._default);this._store=r.concat(s,i)}delete(e,t){0===t||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const n=[];for(let r=0;r<t;r++)n[r]=this._default;this._store=(0,o.nK)(this._store,e,n)}}class nr{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(e,t){this._startLineNumber=e,this._tokens=t}getLineTokens(e){return this._tokens[e-this._startLineNumber]}appendLineTokens(e){this._tokens.push(e)}}class rr{constructor(){this._tokens=[]}add(e,t){if(this._tokens.length>0){const n=this._tokens[this._tokens.length-1];if(n.endLineNumber+1===e)return void n.appendLineTokens(t)}this._tokens.push(new nr(e,[t]))}finalize(){return this._tokens}}class ir{static{this.defaultTokenMetadata=33587200}static createEmpty(e,t){const n=ir.defaultTokenMetadata,r=new Uint32Array(2);return r[0]=e.length,r[1]=n,new ir(r,e,t)}static createFromTextAndMetadata(e,t){let n=0,r="";const i=new Array;for(const{text:s,metadata:o}of e)i.push(n+s.length,o),n+=s.length,r+=s;return new ir(new Uint32Array(i),r,t)}constructor(e,t,n){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}equals(e){return e instanceof ir&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const r=t<<1,i=r+(n<<1);for(let s=r;s<i;s++)if(this._tokens[s]!==e._tokens[s])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[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],n=Ye.x.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return Ye.x.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return Ye.x.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return Ye.x.getClassNameFromMetadata(t)}getInlineStyle(e,t){const n=this._tokens[1+(e<<1)];return Ye.x.getInlineStyleFromMetadata(n,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return Ye.x.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return ir.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,n){return new sr(this,e,t,n)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let r=0;r<n;r++)e[r<<1]=e[r+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;){const i=n+Math.floor((r-n)/2),s=e[i<<1];if(s===t)return i+1;s<t?n=i+1:s>t&&(r=i)}return n}withInserted(e){if(0===e.length)return this;let t=0,n=0,r="";const i=new Array;let s=0;for(;;){const o=t<this._tokensCount?this._tokens[t<<1]:-1,a=n<e.length?e[n]:null;if(-1!==o&&(null===a||o<=a.offset)){r+=this._text.substring(s,o);const e=this._tokens[1+(t<<1)];i.push(r.length,e),t++,s=o}else{if(!a)break;if(a.offset>s){r+=this._text.substring(s,a.offset);const e=this._tokens[1+(t<<1)];i.push(r.length,e),s=a.offset}r+=a.text,i.push(r.length,a.tokenMetadata),n++}}return new ir(new Uint32Array(i),r,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){const t=this.getCount();for(let n=0;n<t;n++)e(n)}}class sr{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 i=this._firstTokenIndex,s=e.getCount();i<s;i++){if(e.getStartOffset(i)>=n)break;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(e){return e instanceof sr&&(this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._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){const 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){const t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),r=this._source.getEndOffset(t);let 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)}}class or{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new lr(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class ar extends or{constructor(e,t,n,r){super(e,t),this._textModel=n,this._languageIdCodec=r}updateTokensUntilLine(e,t){const n=this._textModel.getLanguageId();for(;;){const r=this.getFirstInvalidLine();if(!r||r.lineNumber>t)break;const i=this._textModel.getLineContent(r.lineNumber),s=ur(this._languageIdCodec,n,this.tokenizationSupport,i,!0,r.startState);e.add(r.lineNumber,s.tokens),this.store.setEndState(r.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){const n=this.getStartState(e.lineNumber);if(!n)return 0;const r=this._textModel.getLanguageId(),i=this._textModel.getLineContent(e.lineNumber),s=i.substring(0,e.column-1)+t+i.substring(e.column-1),o=ur(this._languageIdCodec,r,this.tokenizationSupport,s,!0,n),a=new ir(o.tokens,s,this._languageIdCodec);if(0===a.getCount())return 0;const l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,n){const r=e.lineNumber,i=e.column,s=this.getStartState(r);if(!s)return null;const o=this._textModel.getLineContent(r),a=o.substring(0,i-1)+n+o.substring(i-1+t),l=this._textModel.getLanguageIdAtPosition(r,0),c=ur(this._languageIdCodec,l,this.tokenizationSupport,a,!0,s);return new ir(c.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e<this.store.getFirstInvalidEndStateLineNumberOrMax()}isCheapToTokenize(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e<t||e===t&&this._textModel.getLineLength(e)<2048}tokenizeHeuristically(e,t,n){if(n<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(t<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(e,n),{heuristicTokens:!1};let r=this.guessStartState(t);const i=this._textModel.getLanguageId();for(let s=t;s<=n;s++){const t=this._textModel.getLineContent(s),n=ur(this._languageIdCodec,i,this.tokenizationSupport,t,!0,r);e.add(s,n.tokens),r=n.endState}return{heuristicTokens:!0}}guessStartState(e){let t=this._textModel.getLineFirstNonWhitespaceColumn(e);const n=[];let r=null;for(let o=e-1;t>1&&o>=1;o--){const e=this._textModel.getLineFirstNonWhitespaceColumn(o);if(0!==e&&(e<t&&(n.push(this._textModel.getLineContent(o)),t=e,r=this.getStartState(o),r)))break}r||(r=this.tokenizationSupport.getInitialState()),n.reverse();const i=this._textModel.getLanguageId();let s=r;for(const o of n){s=ur(this._languageIdCodec,i,this.tokenizationSupport,o,!1,s).endState}return s}}class lr{constructor(e){this.lineCount=e,this._tokenizationStateStore=new cr,this._invalidEndStatesLineNumbers=new hr,this._invalidEndStatesLineNumbers.addRange(new Zn.L(1,e+1))}getEndState(e){return this._tokenizationStateStore.getEndState(e)}setEndState(e,t){if(!t)throw new l.D7("Cannot set null/undefined state");this._invalidEndStatesLineNumbers.delete(e);const n=this._tokenizationStateStore.setEndState(e,t);return n&&e<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new Zn.L(e+1,e+2)),n}acceptChange(e,t){this.lineCount+=t-e.length,this._tokenizationStateStore.acceptChange(e,t),this._invalidEndStatesLineNumbers.addRangeAndResize(new Zn.L(e.startLineNumber,e.endLineNumberExclusive),t)}acceptChanges(e){for(const t of e){const[e]=(0,u.W)(t.text);this.acceptChange(new Qn.M(t.range.startLineNumber,t.range.endLineNumber+1),e+1)}}invalidateEndStateRange(e){this._invalidEndStatesLineNumbers.addRange(new Zn.L(e.startLineNumber,e.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return null===this._invalidEndStatesLineNumbers.min}getStartState(e,t){return 1===e?t:this.getEndState(e-1)}getFirstInvalidLine(e){const t=this.getFirstInvalidEndStateLineNumber();if(null===t)return null;const n=this.getStartState(t,e);if(!n)throw new l.D7("Start state must be defined");return{lineNumber:t,startState:n}}}class cr{constructor(){this._lineEndStates=new tr(null)}getEndState(e){return this._lineEndStates.get(e)}setEndState(e,t){const n=this._lineEndStates.get(e);return(!n||!n.equals(t))&&(this._lineEndStates.set(e,t),!0)}acceptChange(e,t){let n=e.length;t>0&&n>0&&(n--,t--),this._lineEndStates.replace(e.startLineNumber,n,t)}}class hr{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex((t=>t.contains(e)));if(-1!==t){const n=this._ranges[t];n.start===e?n.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new Zn.L(e+1,n.endExclusive):n.endExclusive===e+1?this._ranges[t]=new Zn.L(n.start,e):this._ranges.splice(t,1,new Zn.L(n.start,e),new Zn.L(e+1,n.endExclusive))}}addRange(e){Zn.L.addRange(e,this._ranges)}addRangeAndResize(e,t){let n=0;for(;!(n>=this._ranges.length||e.start<=this._ranges[n].endExclusive);)n++;let r=n;for(;!(r>=this._ranges.length||e.endExclusive<this._ranges[r].start);)r++;const i=t-e.length;for(let s=r;s<this._ranges.length;s++)this._ranges[s]=this._ranges[s].delta(i);if(n===r){const r=new Zn.L(e.start,e.start+t);r.isEmpty||this._ranges.splice(n,0,r)}else{const t=Math.min(e.start,this._ranges[n].start),s=Math.max(e.endExclusive,this._ranges[r-1].endExclusive),o=new Zn.L(t,s+i);o.isEmpty?this._ranges.splice(n,r-n):this._ranges.splice(n,r-n,o)}}toString(){return this._ranges.map((e=>e.toString())).join(" + ")}}function ur(e,t,n,r,i,s){let o=null;if(n)try{o=n.tokenizeEncoded(r,i,s.clone())}catch(a){(0,l.dz)(a)}return o||(o=function(e,t){const n=new Uint32Array(2);return n[0]=0,n[1]=(32768|e|2<<24)>>>0,new Jn.rY(n,null===t?er:t)}(e.encodeLanguageId(t),s)),ir.convertToEndOffset(o.tokens,r.length),o}class dr{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,Xn.$6)((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),n=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()<t?(0,s._p)(n):this._beginBackgroundTokenization())};n()}_backgroundTokenizeForAtLeast1ms(){const e=this._tokenizerWithStateStore._textModel.getLineCount(),t=new rr,n=Yn.W.create(!1);do{if(n.elapsed()>1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new Qn.M(e,t))}}class gr{constructor(){this._onDidChangeVisibleRanges=new r.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new fr((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class fr{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const n=e.map((e=>new Qn.M(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:n,stabilized:t})}}class mr extends i.jG{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Xn.uC((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,o.aI)(this._computedLineRanges,this._lineRanges,((e,t)=>e.equals(t)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class pr extends i.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,n){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=n,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new r.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new r.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class br extends pr{constructor(e,t,n,r){super(t,n,r),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=Jn.OB.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const n=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(n)return new ir(n,t,this._languageIdCodec)}return ir.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,n){return 0}tokenizeLineWithEdit(e,t,n){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}var _r=n(5320);const kr=new Uint32Array(0).buffer;class vr{static deleteBeginning(e,t){return null===e||e===kr?e:vr.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===kr)return e;const n=Cr(e),r=n[n.length-2];return vr.delete(e,t,r)}static delete(e,t,n){if(null===e||e===kr||t===n)return e;const r=Cr(e),i=r.length>>>1;if(0===t&&r[r.length-2]===n)return kr;const s=ir.findIndexInTokensArray(r,t),o=s>0?r[s-1<<1]:0;if(n<r[s<<1]){const o=n-t;for(let e=s;e<i;e++)r[e<<1]-=o;return e}let a,l;o!==t?(r[s<<1]=t,a=s+1<<1,l=t):(a=s<<1,l=o);const c=n-t;for(let u=s+1;u<i;u++){const e=r[u<<1]-c;e>l&&(r[a++]=e,r[a++]=r[1+(u<<1)],l=e)}if(a===r.length)return e;const h=new Uint32Array(a);return h.set(r.subarray(0,a),0),h.buffer}static append(e,t){if(t===kr)return e;if(e===kr)return t;if(null===e)return e;if(null===t)return null;const n=Cr(e),r=Cr(t),i=r.length>>>1,s=new Uint32Array(n.length+r.length);s.set(n,0);let o=n.length;const a=n[n.length-2];for(let l=0;l<i;l++)s[o++]=r[l<<1]+a,s[o++]=r[1+(l<<1)];return s.buffer}static insert(e,t,n){if(null===e||e===kr)return e;const r=Cr(e),i=r.length>>>1;let s=ir.findIndexInTokensArray(r,t);if(s>0){r[s-1<<1]===t&&s--}for(let o=s;o<i;o++)r[o<<1]+=n;return e}}function Cr(e){return e instanceof Uint32Array?e:new Uint32Array(e)}class yr{constructor(e){this._lineTokens=[],this._len=0,this._languageIdCodec=e}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(e,t,n){let r=null;if(t<this._len&&(r=this._lineTokens[t]),null!==r&&r!==kr)return new ir(Cr(r),n,this._languageIdCodec);const i=new Uint32Array(2);return i[0]=n.length,i[1]=Lr(this._languageIdCodec.encodeLanguageId(e)),new ir(i,n,this._languageIdCodec)}static _massageTokens(e,t,n){const r=n?Cr(n):null;if(0===t){let t=!1;if(r&&r.length>1&&(t=Ye.x.getLanguageId(r[1])!==e),!t)return kr}if(!r||0===r.length){const n=new Uint32Array(2);return n[0]=t,n[1]=Lr(e),n.buffer}return r[r.length-2]=t,0===r.byteOffset&&r.byteLength===r.buffer.byteLength?r.buffer:r}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const n=[];for(let r=0;r<t;r++)n[r]=null;this._lineTokens=o.nK(this._lineTokens,e,n),this._len+=t}setTokens(e,t,n,r,i){const s=yr._massageTokens(this._languageIdCodec.encodeLanguageId(e),n,r);this._ensureLine(t);const o=this._lineTokens[t];return this._lineTokens[t]=s,!!i&&!yr._equals(o,s)}static _equals(e,t){if(!e||!t)return!e&&!t;const n=Cr(e),r=Cr(t);if(n.length!==r.length)return!1;for(let i=0,s=n.length;i<s;i++)if(n[i]!==r[i])return!1;return!0}acceptEdit(e,t,n){this._acceptDeleteRange(e),this._acceptInsertText(new f.y(e.startLineNumber,e.startColumn),t,n)}_acceptDeleteRange(e){const t=e.startLineNumber-1;if(t>=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=vr.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=vr.deleteEnding(this._lineTokens[t],e.startColumn-1);const n=e.endLineNumber-1;let r=null;n<this._len&&(r=vr.deleteBeginning(this._lineTokens[n],e.endColumn-1)),this._lineTokens[t]=vr.append(this._lineTokens[t],r),this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t,n){if(0===t&&0===n)return;const r=e.lineNumber-1;r>=this._len||(0!==t?(this._lineTokens[r]=vr.deleteEnding(this._lineTokens[r],e.column-1),this._lineTokens[r]=vr.insert(this._lineTokens[r],e.column-1,n),this._insertLines(e.lineNumber,t)):this._lineTokens[r]=vr.insert(this._lineTokens[r],e.column-1,n))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const n=[];for(let r=0,i=e.length;r<i;r++){const i=e[r];let s=0,o=0,a=!1;for(let e=i.startLineNumber;e<=i.endLineNumber;e++)if(a)this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),i.getLineTokens(e),!1),o=e;else{this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),i.getLineTokens(e),!0)&&(a=!0,s=e,o=e)}a&&n.push({fromLineNumber:s,toLineNumber:o})}return{changes:n}}}function Lr(e){return(32768|e|2<<24|1024)>>>0}class wr{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let n=e;if(t.length>0){const r=t[0].getRange(),i=t[t.length-1].getRange();if(!r||!i)return e;n=e.plusRange(r).plusRange(i)}let r=null;for(let i=0,s=this._pieces.length;i<s;i++){const e=this._pieces[i];if(e.endLineNumber<n.startLineNumber)continue;if(e.startLineNumber>n.endLineNumber){r=r||{index:i};break}if(e.removeTokens(n),e.isEmpty()){this._pieces.splice(i,1),i--,s--;continue}if(e.endLineNumber<n.startLineNumber)continue;if(e.startLineNumber>n.endLineNumber){r=r||{index:i};continue}const[t,o]=e.split(n);t.isEmpty()?r=r||{index:i}:o.isEmpty()||(this._pieces.splice(i,1,t,o),i++,s++,r=r||{index:i})}return r=r||{index:this._pieces.length},t.length>0&&(this._pieces=o.nK(this._pieces,r.index,t)),n}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const n=this._pieces;if(0===n.length)return t;const r=n[wr._findFirstPieceWithLine(n,e)].getLineTokens(e);if(!r)return t;const i=t.getCount(),s=r.getCount();let o=0;const a=[];let l=0,c=0;const h=(e,t)=>{e!==c&&(c=e,a[l++]=e,a[l++]=t)};for(let u=0;u<s;u++){const e=r.getStartCharacter(u),n=r.getEndCharacter(u),s=r.getMetadata(u),a=((1&s?2048:0)|(2&s?4096:0)|(4&s?8192:0)|(8&s?16384:0)|(16&s?16744448:0)|(32&s?4278190080:0))>>>0,l=~a>>>0;for(;o<i&&t.getEndOffset(o)<=e;)h(t.getEndOffset(o),t.getMetadata(o)),o++;for(o<i&&t.getStartOffset(o)<e&&h(e,t.getMetadata(o));o<i&&t.getEndOffset(o)<n;)h(t.getEndOffset(o),t.getMetadata(o)&l|s&a),o++;if(o<i)h(n,t.getMetadata(o)&l|s&a),t.getEndOffset(o)===n&&o++;else{const e=Math.min(Math.max(0,o-1),i-1);h(n,t.getMetadata(e)&l|s&a)}}for(;o<i;)h(t.getEndOffset(o),t.getMetadata(o)),o++;return new ir(new Uint32Array(a),t.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(e,t){let n=0,r=e.length-1;for(;n<r;){let i=n+Math.floor((r-n)/2);if(e[i].endLineNumber<t)n=i+1;else{if(!(e[i].startLineNumber>t)){for(;i>n&&e[i-1].startLineNumber<=t&&t<=e[i-1].endLineNumber;)i--;return i}r=i-1}}return n}acceptEdit(e,t,n,r,i){for(const s of this._pieces)s.acceptEdit(e,t,n,r,i)}}var Sr,xr=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},Er=function(e,t){return function(n,r){t(n,r,e)}};let Nr=Sr=class extends Ut{constructor(e,t,n,s,o,a,l){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=n,this._attachedViews=s,this._languageService=o,this._languageConfigurationService=a,this._treeSitterService=l,this._semanticTokens=new wr(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new r.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new r.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new r.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new i.Cm),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(r.Jh.filter(Jn.OB.onDidChange,(e=>e.changedLanguages.includes(this._languageId)))((()=>{this.createPreferredTokenProvider()}))),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new Tr(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews))}createTreeSitterTokens(){return this._register(new br(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,(()=>this._languageId)))}createTokens(e){const t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){Jn.OB.get(this._languageId)?this._tokens instanceof br||this.createTokens(!0):this._tokens instanceof Tr||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,n,r]=(0,u.W)(t.text);this._semanticTokens.acceptEdit(t.range,e,n,r,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new l.D7("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,n){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,n)}tokenizeLineWithEdit(e,t,n){return this._tokens.tokenizeLineWithEdit(e,t,n)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const n=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:n.startLineNumber,toLineNumber:n.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),n=this._textModel.getLineContent(t.lineNumber),r=this.getLineTokens(t.lineNumber),i=r.findTokenIndexAtOffset(t.column-1),[s,o]=Sr._findLanguageBoundaries(r,i),a=(0,v.Th)(t.column,this.getLanguageConfiguration(r.getLanguageId(i)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(i>0&&s===t.column-1){const[s,o]=Sr._findLanguageBoundaries(r,i-1),a=(0,v.Th)(t.column,this.getLanguageConfiguration(r.getLanguageId(i-1)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const n=e.getLanguageId(t);let r=0;for(let s=t;s>=0&&e.getLanguageId(s)===n;s--)r=e.getStartOffset(s);let i=e.getLineContent().length;for(let s=t,o=e.getCount();s<o&&e.getLanguageId(s)===n;s++)i=e.getEndOffset(s);return[r,i]}getWordUntilPosition(e){const t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(e,t){const n=this._textModel.validatePosition(new f.y(e,t)),r=this.getLineTokens(n.lineNumber);return r.getLanguageId(r.findTokenIndexAtOffset(n.column-1))}setLanguageId(e,t="api"){if(this._languageId===e)return;const n={oldLanguage:this._languageId,newLanguage:e,source:t};this._languageId=e,this._bracketPairsTextModelPart.handleDidChangeLanguage(n),this._tokens.resetTokenization(),this.createPreferredTokenProvider(),this._onDidChangeLanguage.fire(n),this._onDidChangeLanguageConfiguration.fire({})}};Nr=Sr=xr([Er(4,k.L),Er(5,se),Er(6,_r.ITreeSitterParserService)],Nr);class Tr extends pr{constructor(e,t,n,r){super(e,t,n),this._tokenizer=null,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new i.HE),this._tokens=new yr(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new i.HE),this._attachedViewStates=this._register(new i.$w),this._register(Jn.dG.onDidChange((e=>{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(r.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let n=this._attachedViewStates.get(e);n||(n=new mr((()=>this.refreshRanges(n.lineRanges))),this._attachedViewStates.set(e,n)),n.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new lr(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[t,n]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=Jn.dG.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(n){return(0,l.dz)(n),[null,null]}return[e,t]})();if(this._tokenizer=t&&n?new ar(this._textModel.getLineCount(),t,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{if(2===this._backgroundTokenizationState)return;this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(e,t)=>{if(!this._tokenizer)return;const n=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==n&&e>=n&&this._tokenizer?.store.setEndState(e,t)}};t&&t.createBackgroundTokenizer&&!t.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new dr(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),t?.backgroundTokenizerShouldOnlyVerifyTokens&&t.createBackgroundTokenizer?(this._debugBackgroundTokens=new yr(this._languageIdCodec),this._debugBackgroundStates=new lr(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[e,n]=(0,u.W)(t.text);this._tokens.acceptEdit(t.range,e,n),this._debugBackgroundTokens?.acceptEdit(t.range,e,n)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=Qn.M.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const n=new rr,{heuristicTokens:r}=this._tokenizer.tokenizeHeuristically(n,e,t),i=this.setTokens(n.finalize());if(r)for(const s of i.changes)this._backgroundTokenizer.value?.requestTokens(s.fromLineNumber,s.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new rr;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){const t=this._textModel.getLineContent(e),n=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const r=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!n.equals(r)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return n}getTokenTypeIfInsertingCharacter(e,t,n){if(!this._tokenizer)return 0;const r=this._textModel.validatePosition(new f.y(e,t));return this.forceTokenization(r.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(r,n)}tokenizeLineWithEdit(e,t,n){if(!this._tokenizer)return null;const r=this._textModel.validatePosition(e);return this.forceTokenization(r.lineNumber),this._tokenizer.tokenizeLineWithEdit(r,t,n)}get hasTokens(){return this._tokens.hasTokens}}class Ar{constructor(){this.changeType=1}}class Ir{static applyInjectedText(e,t){if(!t||0===t.length)return e;let n="",r=0;for(const i of t)n+=e.substring(r,i.column-1),r=i.column-1,n+=i.options.content;return n+=e.substring(r),n}static fromDecorations(e){const t=[];for(const n of e)n.options.before&&n.options.before.content.length>0&&t.push(new Ir(n.ownerId,n.range.startLineNumber,n.range.startColumn,n.options.before,0)),n.options.after&&n.options.after.content.length>0&&t.push(new Ir(n.ownerId,n.range.endLineNumber,n.range.endColumn,n.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}constructor(e,t,n,r,i){this.ownerId=e,this.lineNumber=t,this.column=n,this.options=r,this.order=i}}class Or{constructor(e,t,n){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=n}}class Mr{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class Rr{constructor(e,t,n,r){this.changeType=4,this.injectedTexts=r,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}class Dr{constructor(){this.changeType=5}}class Br{constructor(e,t,n,r){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=r,this.resultingSelection=null}containsEvent(e){for(let t=0,n=this.changes.length;t<n;t++){if(this.changes[t].changeType===e)return!0}return!1}static merge(e,t){const n=[].concat(e.changes).concat(t.changes),r=t.versionId,i=e.isUndoing||t.isUndoing,s=e.isRedoing||t.isRedoing;return new Br(n,r,i,s)}}class Fr{constructor(e){this.changes=e}}class Pr{constructor(e,t){this.rawContentChangedEvent=e,this.contentChangedEvent=t}merge(e){const t=Br.merge(this.rawContentChangedEvent,e.rawContentChangedEvent),n=Pr._mergeChangeEvents(this.contentChangedEvent,e.contentChangedEvent);return new Pr(t,n)}static _mergeChangeEvents(e,t){const n=[].concat(e.changes).concat(t.changes),r=t.eol,i=t.versionId,s=e.isUndoing||t.isUndoing,o=e.isRedoing||t.isRedoing,a=e.isFlush||t.isFlush;return{changes:n,eol:r,isEolChange:e.isEolChange&&t.isEolChange,versionId:i,isUndoing:s,isRedoing:o,isFlush:a}}}const Vr=(0,H.u1)("undoRedoService");class zr{static{this._ID=0}constructor(){this.id=zr._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new zr}}class jr{static{this._ID=0}constructor(){this.id=jr._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new jr}}var qr,Wr=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},Ur=function(e,t){return function(n,r){t(n,r,e)}};function $r(e,t){let n;return n="string"==typeof e?function(e){const t=new Gn;return t.acceptChunk(e),t.finish()}(e):me.nk(e)?function(e){const t=new Gn;let n;for(;"string"==typeof(n=e.read());)t.acceptChunk(n);return t.finish()}(e):e,n.create(t)}let Hr=0;class Kr{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,n=0;for(;;){const r=this._source.read();if(null===r)return this._eos=!0,0===t?null:e.join("");if(r.length>0&&(e[t++]=r,n+=r.length),n>=65536)return e.join("")}}}const Gr=()=>{throw new Error("Invalid change accessor")};let Qr=class extends i.jG{static{qr=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:b.tabSize,indentSize:b.indentSize,insertSpaces:b.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:b.trimAutoWhitespace,largeFileOptimizations:b.largeFileOptimizations,bracketPairColorizationOptions:b.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){const n=Xt(e,t.tabSize,t.insertSpaces);return new me.X2({tabSize:n.tabSize,indentSize:"tabSize",insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new me.X2(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return(0,i.qE)(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,n,s=null,o,a,l,u){super(),this._undoRedoService=o,this._languageService=a,this._languageConfigurationService=l,this.instantiationService=u,this._onWillDispose=this._register(new r.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new li((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new r.vl),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new r.vl),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new r.vl),this._eventEmitter=this._register(new ci),this._languageSelectionListener=this._register(new i.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new gr,Hr++,this.id="$model"+Hr,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==s?h.r.parse("inmemory://model/"+Hr):s,this._attachedEditorCount=0;const{textBuffer:d,disposable:g}=$r(e,n.defaultEOL);this._buffer=d,this._bufferDisposable=g,this._options=qr.resolveOptions(this._buffer,n);const f="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange((()=>this._setLanguage(t.languageId)))),this._bracketPairs=this._register(new yt(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new Kt(this,this._languageConfigurationService)),this._decorationProvider=this._register(new Nt(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(Nr,this,this._bracketPairs,f,this._attachedViews);const p=this._buffer.getLineCount(),b=this._buffer.getValueLengthInRange(new m.Q(1,1,p,this._buffer.getLineLength(p)+1),0);n.largeFileOptimizations?(this._isTooLargeForTokenization=b>qr.LARGE_FILE_SIZE_THRESHOLD||p>qr.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=b>qr.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=b>qr._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=c.tk(Hr),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Yr,this._commandManager=new jt(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(f),this._register(this._languageConfigurationService.onDidChange((e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)})))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new Hn([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=i.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new l.D7("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new Pr(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,l.Qg)();const{textBuffer:t,disposable:n}=$r(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,n)}_createContentChanged2(e,t,n,r,i,s,o,a){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:r}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:i,isRedoing:s,isFlush:o}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const n=this.getFullModelRange(),r=this.getValueLengthInRange(n),i=this.getLineCount(),s=this.getLineMaxColumn(i);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new Yr,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Br([new Ar],this._versionId,!1,!1),this._createContentChanged2(new m.Q(1,1,i,s),0,r,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const n=this.getFullModelRange(),r=this.getValueLengthInRange(n),i=this.getLineCount(),s=this.getLineMaxColumn(i);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Br([new Dr],this._versionId,!1,!1),this._createContentChanged2(new m.Q(1,1,i,s),0,r,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let n=0,r=t.length;n<r;n++){const r=t[n],i=r.range,s=r.cachedAbsoluteStart-r.start,o=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),a=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);r.cachedAbsoluteStart=o,r.cachedAbsoluteEnd=a,r.cachedVersionId=e,r.start=o-s,r.end=a-s,vn(r)}}onBeforeAttached(){return this._attachedEditorCount++,1===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(e){this._attachedEditorCount--,0===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(e)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const n=this._buffer.getLineCount();for(let r=1;r<=n;r++){const n=this._buffer.getLineLength(r);n>=1e4?t+=n:e+=n}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,r=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,i=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,o=new me.X2({tabSize:t,indentSize:n,insertSpaces:r,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:i,bracketPairColorizationOptions:s});if(this._options.equals(o))return;const a=this._options.createChangeEvent(o);this._options=o,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const n=Xt(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),g(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(c._J.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map((e=>({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.D7("Operation would exceed heap memory limits");const n=this.getFullModelRange(),r=this.getValueInRange(n,e);return t?this._buffer.getBOM()+r:r}createSnapshot(e=!1){return new Kr(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const n=this.getFullModelRange(),r=this.getValueLengthInRange(n,e);return t?this._buffer.getBOM().length+r:r}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),n=e.startLineNumber,r=e.startColumn;let i=Math.floor("number"!=typeof n||isNaN(n)?1:n),s=Math.floor("number"!=typeof r||isNaN(r)?1:r);if(i<1)i=1,s=1;else if(i>t)i=t,s=this.getLineMaxColumn(i);else if(s<=1)s=1;else{const e=this.getLineMaxColumn(i);s>=e&&(s=e)}const o=e.endLineNumber,a=e.endColumn;let l=Math.floor("number"!=typeof o||isNaN(o)?1:o),c=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,c=1;else if(l>t)l=t,c=this.getLineMaxColumn(l);else if(c<=1)c=1;else{const e=this.getLineMaxColumn(l);c>=e&&(c=e)}return n===i&&r===s&&o===l&&a===c&&e instanceof m.Q&&!(e instanceof p.L)?e:new m.Q(i,s,l,c)}_isValidPosition(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===n){const n=this._buffer.getLineCharCode(e,t-2);if(c.pc(n))return!1}return!0}_validatePosition(e,t,n){const r=Math.floor("number"!=typeof e||isNaN(e)?1:e),i=Math.floor("number"!=typeof t||isNaN(t)?1:t),s=this._buffer.getLineCount();if(r<1)return new f.y(1,1);if(r>s)return new f.y(s,this.getLineMaxColumn(s));if(i<=1)return new f.y(r,1);const o=this.getLineMaxColumn(r);if(i>=o)return new f.y(r,o);if(1===n){const e=this._buffer.getLineCharCode(r,i-2);if(c.pc(e))return new f.y(r,i-1)}return new f.y(r,i)}validatePosition(e){return this._assertNotDisposed(),e instanceof f.y&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(n,r,0))return!1;if(!this._isValidPosition(i,s,0))return!1;if(1===t){const e=r>1?this._buffer.getLineCharCode(n,r-2):0,t=s>1&&s<=this._buffer.getLineLength(i)?this._buffer.getLineCharCode(i,s-2):0,o=c.pc(e),a=c.pc(t);return!o&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof m.Q&&!(e instanceof p.L)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),r=t.lineNumber,i=t.column,s=n.lineNumber,o=n.column;{const e=i>1?this._buffer.getLineCharCode(r,i-2):0,t=o>1&&o<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,o-2):0,n=c.pc(e),a=c.pc(t);return n||a?r===s&&i===o?new m.Q(r,i-1,s,o-1):n&&a?new m.Q(r,i-1,s,o+1):n?new m.Q(r,i-1,s,o):new m.Q(r,i,s,o+1):new m.Q(r,i,s,o)}}modifyPosition(e,t){this._assertNotDisposed();const n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new m.Q(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,n,r){return this._buffer.findMatchesLineByLine(e,t,n,r)}findMatches(e,t,n,r,i,s,o=999){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>m.Q.isIRange(e)))&&(a=t.map((e=>this.validateRange(e))))),null===a&&(a=[this.getFullModelRange()]),a=a.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const l=[];let c;if(l.push(a.reduce(((e,t)=>m.Q.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t)))),!n&&e.indexOf("\n")<0){const t=new Bn.lt(e,n,r,i).parseSearchRequest();if(!t)return[];c=e=>this.findMatchesLineByLine(e,t,s,o)}else c=t=>Bn.hB.findMatches(this,new Bn.lt(e,n,r,i),t,s,o);return l.map(c).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,n,r,i,s){this._assertNotDisposed();const o=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){const t=new Bn.lt(e,n,r,i).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new m.Q(o.lineNumber,o.column,a,this.getLineMaxColumn(a)),c=this.findMatchesLineByLine(l,t,s,1);return Bn.hB.findNextMatch(this,new Bn.lt(e,n,r,i),o,s),c.length>0?c[0]:(l=new m.Q(1,1,o.lineNumber,this.getLineMaxColumn(o.lineNumber)),c=this.findMatchesLineByLine(l,t,s,1),c.length>0?c[0]:null)}return Bn.hB.findNextMatch(this,new Bn.lt(e,n,r,i),o,s)}findPreviousMatch(e,t,n,r,i,s){this._assertNotDisposed();const o=this.validatePosition(t);return Bn.hB.findPreviousMatch(this,new Bn.lt(e,n,r,i),o,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof me.Wo?e:new me.Wo(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let n=0,r=e.length;n<r;n++)t[n]=this._validateEditOperation(e[n]);return t}pushEditOperations(e,t,n,r){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),n,r)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,n,r){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const n=t.map((e=>({range:this.validateRange(e.range),text:e.text})));let r=!0;if(e)for(let t=0,i=e.length;t<i;t++){const i=e[t];let s=!1;for(let e=0,t=n.length;e<t;e++){const t=n[e].range,r=t.startLineNumber>i.endLineNumber,o=i.startLineNumber>t.endLineNumber;if(!r&&!o){s=!0;break}}if(!s){r=!1;break}}if(r)for(let e=0,i=this._trimAutoWhitespaceLines.length;e<i;e++){const r=this._trimAutoWhitespaceLines[e],i=this.getLineMaxColumn(r);let s=!0;for(let e=0,t=n.length;e<t;e++){const 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&&"\n"===o.charAt(0)||r===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(o.length-1))){s=!1;break}}if(s){const e=new m.Q(r,1,r,i);t.push(new me.Wo(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,r)}_applyUndo(e,t,n,r){const i=e.map((e=>{const t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new m.Q(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}}));this._applyUndoRedoEdits(i,t,!0,!1,n,r)}_applyRedo(e,t,n,r){const i=e.map((e=>{const t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new m.Q(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,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=r,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(i)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const n=this._buffer.getLineCount(),r=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),i=this._buffer.getLineCount(),s=r.changes;if(this._trimAutoWhitespaceLines=r.trimAutoWhitespaceLineNumbers,0!==s.length){for(let n=0,r=s.length;n<r;n++){const e=s[n];this._decorationsTree.acceptReplace(e.rangeOffset,e.rangeLength,e.text.length,e.forceMoveMarkers)}const e=[];this._increaseVersionId();let t=n;for(let n=0,r=s.length;n<r;n++){const r=s[n],[a]=(0,u.W)(r.text);this._onDidChangeDecorations.fire();const l=r.range.startLineNumber,c=r.range.endLineNumber,h=c-l,d=a,g=Math.min(h,d),m=d-h,p=i-t-m+l,b=p,_=p+d,k=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new f.y(b,1)),this.getOffsetAt(new f.y(_,this.getLineMaxColumn(_))),0),v=Ir.fromDecorations(k),C=new o.j3(v);for(let t=g;t>=0;t--){const n=l+t,r=p+t;C.takeFromEndWhile((e=>e.lineNumber>r));const i=C.takeFromEndWhile((e=>e.lineNumber===r));e.push(new Or(n,this.getLineContent(r),i))}if(g<h){const t=l+g;e.push(new Mr(t+1,c))}if(g<d){const n=new o.j3(v),r=l+g,s=d-g,a=i-t-s+r+1,c=[],h=[];for(let e=0;e<s;e++){const t=a+e;h[e]=this.getLineContent(t),n.takeWhile((e=>e.lineNumber<t)),c[e]=n.takeWhile((e=>e.lineNumber===t))}e.push(new Rr(r+1,l+d,h,c))}t+=m}this._emitContentChangedEvent(new Br(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})}return null===r.reverseEdits?void 0:r.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){if(null===e||0===e.size)return;const t=Array.from(e).map((e=>new Or(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new Fr(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,ai(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>0===t.length&&0===n.length?[]:this._deltaDecorationsImpl(e,t,n)};let r=null;try{r=t(n)}catch(i){(0,l.dz)(i)}return n.addDecoration=Gr,n.changeDecoration=Gr,n.changeDecorationOptions=Gr,n.removeDecoration=Gr,n.deltaDecorations=Gr,r}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,l.dz)(new 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){const r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:oi[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;const i=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),s,o,i),r.setOptions(oi[n]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let n=0,r=t.length;n<r;n++){const e=t[n];this._decorationsTree.delete(e),delete this._decorations[e.id]}}getDecorationOptions(e){const t=this._decorations[e];return t?t.options:null}getDecorationRange(e){const t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,n=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)}getLinesDecorations(e,t,n=0,r=!1,i=!1){const s=this.getLineCount(),a=Math.min(s,Math.max(1,e)),l=Math.min(s,Math.max(1,t)),c=this.getLineMaxColumn(l),h=new m.Q(a,1,l,c),u=this._getDecorationsInRange(h,n,r,i);return(0,o.E4)(u,this._decorationProvider.getDecorationsInRange(h,n,r)),u}getDecorationsInRange(e,t=0,n=!1,r=!1,i=!1){const s=this.validateRange(e),a=this._getDecorationsInRange(s,t,n,i);return(0,o.E4)(a,this._decorationProvider.getDecorationsInRange(s,t,n,r)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),n=t+this._buffer.getLineLength(e),r=this._decorationsTree.getInjectedTextInInterval(this,t,n,0);return Ir.fromDecorations(r).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let n=this._decorationsTree.getAll(this,e,t,!1,!1);return n=n.concat(this._decorationProvider.getAllDecorations(e,t)),n}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,n,r){const i=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,i,s,t,n,r)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const n=this._decorations[e];if(!n)return;if(n.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(n.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const r=this._validateRangeRelaxedNoAllocations(t),i=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),s=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);this._decorationsTree.delete(n),n.reset(this.getVersionId(),i,s,r),this._decorationsTree.insert(n),this._onDidChangeDecorations.checkAffectedAndFire(n.options),n.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.endLineNumber),n.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.startLineNumber)}_changeDecorationOptionsImpl(e,t){const n=this._decorations[e];if(!n)return;const r=!(!n.options.overviewRuler||!n.options.overviewRuler.color),i=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(n.options),this._onDidChangeDecorations.checkAffectedAndFire(t),n.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(n.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const s=r!==i,o=function(e){return!!e.after||!!e.before}(t)!==Xr(n);s||o?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t)}_deltaDecorationsImpl(e,t,n,r=!1){const i=this.getVersionId(),s=t.length;let o=0;const a=n.length;let l=0;this._onDidChangeDecorations.beginDeferredEmit();try{const c=new Array(a);for(;o<s||l<a;){let h=null;if(o<s){do{h=this._decorations[t[o++]]}while(!h&&o<s);if(h){if(h.options.after){const e=this._decorationsTree.getNodeRange(this,h);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(h.options.before){const e=this._decorationsTree.getNodeRange(this,h);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}this._decorationsTree.delete(h),r||this._onDidChangeDecorations.checkAffectedAndFire(h.options)}}if(l<a){if(!h){const e=++this._lastDecorationId,t=`${this._instanceId};${e}`;h=new cn(t,0,0),this._decorations[t]=h}const t=n[l],s=this._validateRangeRelaxedNoAllocations(t.range),o=ai(t.options),a=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),u=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);h.ownerId=e,h.reset(i,a,u,s),h.setOptions(o),h.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.endLineNumber),h.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.startLineNumber),r||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(h),c[l]=h.id,l++}else h&&delete this._decorations[h.id]}return c}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){"string"==typeof e?(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 function(e){let t=0;for(const n of e){if(" "!==n&&"\t"!==n)break;t++}return t}(this.getLineContent(e))+1}};function Jr(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Xr(e){return!!e.options.after||!!e.options.before}Qr=qr=Wr([Ur(4,Vr),Ur(5,k.L),Ur(6,se),Ur(7,H._Y)],Qr);class Yr{constructor(){this._decorationsTree0=new un,this._decorationsTree1=new un,this._injectedTextDecorationsTree=new un}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const n of t)null===n.range&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,r,i,s){const o=e.getVersionId(),a=this._intervalSearch(t,n,r,i,o,s);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,n,r,i,s){const o=this._decorationsTree0.intervalSearch(e,t,n,r,i,s),a=this._decorationsTree1.intervalSearch(e,t,n,r,i,s),l=this._injectedTextDecorationsTree.intervalSearch(e,t,n,r,i,s);return o.concat(a).concat(l)}getInjectedTextInInterval(e,t,n,r){const i=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,n,r,!1,i,!1);return this._ensureNodesHaveRanges(e,s).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const n=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,n,r,i){const s=e.getVersionId(),o=this._search(t,n,r,s,i);return this._ensureNodesHaveRanges(e,o)}_search(e,t,n,r,i){if(n)return this._decorationsTree1.search(e,t,r,i);{const n=this._decorationsTree0.search(e,t,r,i),s=this._decorationsTree1.search(e,t,r,i),o=this._injectedTextDecorationsTree.search(e,t,r,i);return n.concat(s).concat(o)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(r)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){Xr(e)?this._injectedTextDecorationsTree.insert(e):Jr(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Xr(e)?this._injectedTextDecorationsTree.delete(e):Jr(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Xr(e)?this._injectedTextDecorationsTree.resolveNode(e,t):Jr(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 Zr(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class ei{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class ti extends ei{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:me.A5.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const n=e?t.getColor(e.id):null;return n?n.toString():""}}class ni{constructor(e){this.position=e?.position??me.ZS.Center,this.persistLane=e?.persistLane}}class ri extends ei{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?a.Q1.fromHex(e):t.getColor(e.id)}}class ii{static from(e){return e instanceof ii?e:new ii(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class si{static register(e){return new si(e)}static createDynamic(e){return new si(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?Zr(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?Zr(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.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new ti(e.overviewRuler):null,this.minimap=e.minimap?new ri(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new ni(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?Zr(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?Zr(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?Zr(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?c.jy(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?Zr(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?Zr(e.marginClassName):null,this.inlineClassName=e.inlineClassName?Zr(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?Zr(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?Zr(e.afterContentClassName):null,this.after=e.after?ii.from(e.after):null,this.before=e.before?ii.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}si.EMPTY=si.register({description:"empty"});const oi=[si.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),si.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),si.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),si.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function ai(e){return e instanceof si?e:si.createDynamic(e)}class li extends i.jG{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new r.vl),this.event=this._actual.event,this._affectedInjectedTextLines=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--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}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(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const 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)}}class ci extends i.jG{constructor(){super(),this._fastEmitter=this._register(new r.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new r.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}var hi,ui=n(1504),di=n(2344),gi=n(3072),fi=n(1386),mi=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},pi=function(e,t){return function(n,r){t(n,r,e)}};function bi(e){return e.toString()}class _i{constructor(e,t,n){this.model=e,this._modelEventListeners=new i.Cm,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>n(e,t))))}dispose(){this._modelEventListeners.dispose()}}const ki=s.j9||s.zx?1:2;class vi{constructor(e,t,n,r,i,s,o,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=r,this.heapSize=i,this.sha1=s,this.versionId=o,this.alternativeVersionId=a}}let Ci=class extends i.jG{static{hi=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(e,t,n,i){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._instantiationService=i,this._onModelAdded=this._register(new r.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new r.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new r.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let n=b.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(n=t),n<1&&(n=1)}let r="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(r=Math.max(t,1))}let i=b.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(i="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let s=ki;const o=e.eol;"\r\n"===o?s=2:"\n"===o&&(s=1);let a=b.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let l=b.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let c=b.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(c="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let h=b.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(h={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:n,indentSize:r,insertSpaces:i,detectIndentation:l,defaultEOL:s,trimAutoWhitespace:a,largeFileOptimizations:c,bracketPairColorizationOptions:h}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const n=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return n&&"string"==typeof n&&"auto"!==n?n:3===s.OS||2===s.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,n){const r="string"==typeof e?e:e.languageId;let i=this._modelCreationOptionsByLanguageAndResource[r+t];if(!i){const e=this._configurationService.getValue("editor",{overrideIdentifier:r,resource:t}),s=this._getEOL(t,r);i=hi._readModelOptions({editor:e,eol:s},n),this._modelCreationOptionsByLanguageAndResource[r+t]=i}return i}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const n=Object.keys(this._models);for(let r=0,i=n.length;r<i;r++){const i=n[r],s=this._models[i],o=s.model.getLanguageId(),a=s.model.uri;if(e&&!e.affectsConfiguration("editor",{overrideIdentifier:o,resource:a})&&!e.affectsConfiguration("files.eol",{overrideIdentifier:o,resource:a}))continue;const l=t[o+a],c=this.getCreationOptions(o,a,s.model.isForSimpleWidget);hi._setModelOptionsForModel(s.model,c,l)}}static _setModelOptionsForModel(e,t,n){n&&n.defaultEOL!==t.defaultEOL&&1===e.getLineCount()&&e.setEOL(1===t.defaultEOL?0:1),n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.indentSize===t.indentSize&&n.trimAutoWhitespace===t.trimAutoWhitespace&&(0,fi.aI)(n.bracketPairColorizationOptions,t.bracketPairColorizationOptions)||(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(bi(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){const t=this._disposedModels.get(bi(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(bi(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,r){const i=this.getCreationOptions(t,n,r),s=this._instantiationService.createInstance(Qr,e,t,i,n);if(n&&this._disposedModels.has(bi(n))){const e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),r=this._getSHA1Computer(),i=!!r.canComputeSHA1(s)&&r.computeSHA1(s)===e.sha1;if(i||e.sharesUndoRedoStack){for(const e of t.past)zt(e)&&e.matchesResource(n)&&e.setModel(s);for(const e of t.future)zt(e)&&e.matchesResource(n)&&e.setModel(s);this._undoRedoService.setElementsValidFlag(n,!0,(e=>zt(e)&&e.matchesResource(n))),i&&(s._overwriteVersionId(e.versionId),s._overwriteAlternativeVersionId(e.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const o=bi(s.uri);if(this._models[o])throw new Error("ModelService: Cannot add model because it already exists!");const a=new _i(s,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[o]=a,a}createModel(e,t,n,r=!1){let i;return i=t?this._createModelData(e,t,n,r):this._createModelData(e,Q.vH,n,r),this._onModelAdded.fire(i.model),i.model}getModels(){const e=[],t=Object.keys(this._models);for(let n=0,r=t.length;n<r;n++){const r=t[n];e.push(this._models[r].model)}return e}getModel(e){const t=bi(e),n=this._models[t];return n?n.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===gi.ny.file||e.scheme===gi.ny.vscodeRemote||e.scheme===gi.ny.vscodeUserData||e.scheme===gi.ny.vscodeNotebookCell||"fake-fs"===e.scheme}_onWillDispose(e){const t=bi(e.uri),n=this._models[t],r=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString();let i=!1,s=0;if(r||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){const t=this._undoRedoService.getElements(e.uri);if(t.past.length>0||t.future.length>0){for(const n of t.past)zt(n)&&n.matchesResource(e.uri)&&(i=!0,s+=n.heapSize(e.uri),n.setModel(e.uri));for(const n of t.future)zt(n)&&n.matchesResource(e.uri)&&(i=!0,s+=n.heapSize(e.uri),n.setModel(e.uri))}}const o=hi.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,a=this._getSHA1Computer();if(i)if(r||!(s>o)&&a.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(o-s),this._undoRedoService.setElementsValidFlag(e.uri,!1,(t=>zt(t)&&t.matchesResource(e.uri))),this._insertDisposedModel(new vi(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),r,s,a.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!r){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const n=t.oldLanguage,r=e.getLanguageId(),i=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),s=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);hi._setModelOptionsForModel(e,s,i),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new yi}};Ci=hi=mi([pi(0,K.pG),pi(1,ui.ITextResourcePropertiesService),pi(2,Vr),pi(3,H._Y)],Ci);class yi{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(e){return e.getValueLength()<=yi.MAX_MODEL_SIZE}computeSHA1(e){const t=new di.v7,n=e.createSnapshot();let r;for(;r=n.read();)t.update(r);return t.digest()}}},7042:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextModelService:()=>r});const r=(0,n(2399).u1)("textModelService")},9376:(e,t,n)=>{"use strict";n.r(t),n.d(t,{encodeSemanticTokensDto:()=>s});var r=n(2802),i=n(3339);function s(e){const t=new Uint32Array(function(e){let t=0;if(t+=2,"full"===e.type)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(const n of e.deltas)n.data&&(t+=n.data.length)}return t}(e));let n=0;if(t[n++]=e.id,"full"===e.type)t[n++]=1,t[n++]=e.data.length,t.set(e.data,n),n+=e.data.length;else{t[n++]=2,t[n++]=e.deltas.length;for(const r of e.deltas)t[n++]=r.start,t[n++]=r.deleteCount,r.data?(t[n++]=r.data.length,t.set(r.data,n),n+=r.data.length):t[n++]=0}return function(e){const t=new Uint8Array(e.buffer,e.byteOffset,4*e.length);return i.cm()||function(e){for(let t=0,n=e.length;t<n;t+=4){const n=e[t+0],r=e[t+1],i=e[t+2],s=e[t+3];e[t+0]=s,e[t+1]=i,e[t+2]=r,e[t+3]=n}}(t),r.MB.wrap(t)}(t)}},7642:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemanticTokensProviderStyling:()=>m,toMultilineTokens2:()=>p});n(5910);var r=n(6001),i=n(2321),s=n(5365),o=n(8061),a=n(3902);class l{static create(e,t){return new l(e,new c(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new o.Q(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,n,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber,[r,i,s]=this._tokens.split(t,e.startColumn-1,n,e.endColumn-1);return[new l(this._startLineNumber,r),new l(this._startLineNumber+s,i)]}applyEdit(e,t){const[n,r,i]=(0,a.W)(t);this.acceptEdit(e,n,r,i,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,n,r,i){this._acceptDeleteRange(e),this._acceptInsertText(new s.y(e.startLineNumber,e.startColumn),t,n,r,i),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;if(n<0){const e=n-t;return void(this._startLineNumber-=e)}const r=this._tokens.getMaxDeltaLine();if(!(t>=r+1)){if(t<0&&n>=r+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const r=-t;this._startLineNumber-=r,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,n,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,n,e.endColumn-1)}}_acceptInsertText(e,t,n,r,i){if(0===t&&0===n)return;const s=e.lineNumber-this._startLineNumber;if(s<0)return void(this._startLineNumber+=t);s>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(s,e.column-1,t,n,r,i)}}class c{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let n=0;n<this._tokenCount;n++)t.push(`(${this._getDeltaLine(n)+e},${this._getStartCharacter(n)}-${this._getEndCharacter(n)})`);return`[${t.join(",")}]`}getMaxDeltaLine(){const e=this._getTokenCount();return 0===e?-1:this._getDeltaLine(e-1)}getRange(){const e=this._getTokenCount();if(0===e)return null;const t=this._getStartCharacter(0),n=this._getDeltaLine(e-1),r=this._getEndCharacter(e-1);return new o.Q(0,t+1,n,r+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(e){return this._tokens[4*e]}_getStartCharacter(e){return this._tokens[4*e+1]}_getEndCharacter(e){return this._tokens[4*e+2]}isEmpty(){return 0===this._getTokenCount()}getLineTokens(e){let t=0,n=this._getTokenCount()-1;for(;t<n;){const r=t+Math.floor((n-t)/2),i=this._getDeltaLine(r);if(i<e)t=r+1;else{if(!(i>e)){let i=r;for(;i>t&&this._getDeltaLine(i-1)===e;)i--;let s=r;for(;s<n&&this._getDeltaLine(s+1)===e;)s++;return new h(this._tokens.subarray(4*i,4*s+4))}n=r-1}}return this._getDeltaLine(t)===e?new h(this._tokens.subarray(4*t,4*t+4)):null}clear(){this._tokenCount=0}removeTokens(e,t,n,r){const i=this._tokens,s=this._tokenCount;let o=0,a=!1,l=0;for(let c=0;c<s;c++){const s=4*c,h=i[s],u=i[s+1],d=i[s+2],g=i[s+3];if((h>e||h===e&&d>=t)&&(h<n||h===n&&u<=r))a=!0;else{if(0===o&&(l=h),a){const e=4*o;i[e]=h-l,i[e+1]=u,i[e+2]=d,i[e+3]=g}o++}}return this._tokenCount=o,l}split(e,t,n,r){const i=this._tokens,s=this._tokenCount,o=[],a=[];let l=o,h=0,u=0;for(let c=0;c<s;c++){const s=4*c,o=i[s],d=i[s+1],g=i[s+2],f=i[s+3];if(o>e||o===e&&g>=t){if(o<n||o===n&&d<=r)continue;l!==a&&(l=a,h=0,u=o)}l[h++]=o-u,l[h++]=d,l[h++]=g,l[h++]=f}return[new c(new Uint32Array(o)),new c(new Uint32Array(a)),u]}acceptDeleteRange(e,t,n,r,i){const s=this._tokens,o=this._tokenCount,a=r-t;let l=0,c=!1;for(let h=0;h<o;h++){const u=4*h;let d=s[u],g=s[u+1],f=s[u+2];const m=s[u+3];if(d<t||d===t&&f<=n){l++;continue}if(d===t&&g<n)d===r&&f>i?f-=i-n:f=n;else if(d===t&&g===n){if(!(d===r&&f>i)){c=!0;continue}f-=i-n}else if(d<r||d===r&&g<i){if(!(d===r&&f>i)){c=!0;continue}d=t,g=n,f=g+(f-i)}else if(d>r){if(0===a&&!c){l=o;break}d-=a}else{if(!(d===r&&g>=i))throw new Error("Not possible!");e&&0===d&&(g+=e,f+=e),d-=a,g-=i-n,f-=i-n}const p=4*l;s[p]=d,s[p+1]=g,s[p+2]=f,s[p+3]=m,l++}this._tokenCount=l}acceptInsertText(e,t,n,r,i,s){const o=0===n&&1===r&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),a=this._tokens,l=this._tokenCount;for(let c=0;c<l;c++){const s=4*c;let l=a[s],h=a[s+1],u=a[s+2];if(!(l<e||l===e&&u<t)){if(l===e&&u===t){if(!o)continue;u+=1}else if(l===e&&h<t&&t<u)0===n?u+=r:u=t;else{if(l===e&&h===t&&o)continue;if(l===e)if(l+=n,0===n)h+=r,u+=r;else{const e=u-h;h=i+(h-t),u=h+e}else l+=n}a[s]=l,a[s+1]=h,a[s+2]=u}}}}class h{constructor(e){this._tokens=e}getCount(){return this._tokens.length/4}getStartCharacter(e){return this._tokens[4*e+1]}getEndCharacter(e){return this._tokens[4*e+2]}getMetadata(e){return this._tokens[4*e+3]}}var u=n(7922),d=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},g=function(e,t){return function(n,r){t(n,r,e)}};const f=!1;let m=class{constructor(e,t,n,r){this._legend=e,this._themeService=t,this._languageService=n,this._logService=r,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new _}getMetadata(e,t,n){const r=this._languageService.languageIdCodec.encodeLanguageId(n),i=this._hashTable.get(e,t,r);let s;if(i)s=i.metadata;else{let i=this._legend.tokenTypes[e];const o=[];if(i){let e=t;for(let t=0;e>0&&t<this._legend.tokenModifiers.length;t++)1&e&&o.push(this._legend.tokenModifiers[t]),e>>=1;f;const r=this._themeService.getColorTheme().getTokenStyleMetadata(i,o,n);if(void 0===r)s=2147483647;else{if(s=0,void 0!==r.italic){s|=1|(r.italic?1:0)<<11}if(void 0!==r.bold){s|=2|(r.bold?2:0)<<11}if(void 0!==r.underline){s|=4|(r.underline?4:0)<<11}if(void 0!==r.strikethrough){s|=8|(r.strikethrough?8:0)<<11}if(r.foreground){s|=16|r.foreground<<15}0===s&&(s=2147483647)}}else s=2147483647,i="not-in-legend";this._hashTable.add(e,t,r,s)}return s}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,n,r,i){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${n}: The provided start offset ${r} is outside the previous data (length ${i}).`))}};function p(e,t,n){const r=e.data,i=e.data.length/5|0,s=Math.max(Math.ceil(i/1024),400),o=[];let a=0,c=1,h=0;for(;a<i;){const e=a;let u=Math.min(e+s,i);if(u<i){let t=u;for(;t-1>e&&0===r[5*t];)t--;if(t-1===e){let e=u;for(;e+1<i&&0===r[5*e];)e++;u=e}else u=t}let d=new Uint32Array(4*(u-e)),g=0,f=0,m=0,p=0;for(;a<u;){const e=5*a,i=r[e],s=r[e+1],o=c+i|0,l=0===i?h+s|0:s,u=l+r[e+2]|0,b=r[e+3],_=r[e+4];if(u<=l)t.warnInvalidLengthSemanticTokens(o,l+1);else if(m===o&&p>l)t.warnOverlappingSemanticTokens(o,l+1);else{const e=t.getMetadata(b,_,n);2147483647!==e&&(0===f&&(f=o),d[g]=o-f,d[g+1]=l,d[g+2]=u,d[g+3]=e,g+=4,m=o,p=u)}c=o,h=l,a++}g!==d.length&&(d=d.subarray(0,g));const b=l.create(f,d);o.push(b)}return o}m=d([g(1,r.Gy),g(2,u.L),g(3,i.rr)],m);class b{constructor(e,t,n,r){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=n,this.metadata=r,this.next=null}}class _{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=_._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<_._SIZES.length?2/3*this._currentLength:0),this._elements=[],_._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(e,t){for(let n=0;n<t;n++)e[n]=null}_hash2(e,t){return(e<<5)-e+t|0}_hashFunc(e,t,n){return this._hash2(this._hash2(e,t),n)%this._currentLength}get(e,t,n){const r=this._hashFunc(e,t,n);let i=this._elements[r];for(;i;){if(i.tokenTypeIndex===e&&i.tokenModifierSet===t&&i.languageId===n)return i;i=i.next}return null}add(e,t,n,r){if(this._elementsCount++,0!==this._growCount&&this._elementsCount>=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=_._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<_._SIZES.length?2/3*this._currentLength:0),this._elements=[],_._nullOutEntries(this._elements,this._currentLength);for(const t of e){let e=t;for(;e;){const t=e.next;e.next=null,this._add(e),e=t}}}this._add(new b(e,t,n,r))}_add(e){const t=this._hashFunc(e.tokenTypeIndex,e.tokenModifierSet,e.languageId);e.next=this._elements[t],this._elements[t]=e}}},2891:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ISemanticTokensStylingService:()=>r});const r=(0,n(2399).u1)("semanticTokensStylingService")},8148:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemanticTokensStylingService:()=>d});var r=n(2446),i=n(7922),s=n(6001),o=n(2321),a=n(7642),l=n(2891),c=n(4412),h=function(e,t,n,r){var i,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,n,o):i(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},u=function(e,t){return function(n,r){t(n,r,e)}};let d=class extends r.jG{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new a.SemanticTokensProviderStyling(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};d=h([u(0,s.Gy),u(1,o.rr),u(2,i.L)],d),(0,c.v)(l.ISemanticTokensStylingService,d,1)},1507:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MirrorModel:()=>b,STOP_SYNC_MODEL_DELTA_TIME_MS:()=>f,WorkerTextModelSyncClient:()=>m,WorkerTextModelSyncServer:()=>p});var r=n(2866),i=n(2446),s=n(7264),o=n(5365),a=n(8061),l=n(8782),c=n(6844),h=(n(3338),n(7512));class u{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=(0,h.j)(e);const n=this.values,r=this.prefixSum,i=t.length;return 0!==i&&(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=(0,h.j)(e),t=(0,h.j)(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=(0,h.j)(e),t=(0,h.j)(t);const n=this.values,r=this.prefixSum;if(e>=n.length)return!1;const i=n.length-e;return t>=i&&(t=i),0!==t&&(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 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=(0,h.j)(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(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,s=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],s=i-this.values[r],e<s)n=r-1;else{if(!(e>=i))break;t=r+1}return new d(r,e-s)}}class d{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}}class g{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 null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const n of t)this._acceptDeleteRange(n.range),this._acceptInsertText(new o.y(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const 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 u(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)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);else{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))}}_acceptInsertText(e,t){if(0===t.length)return;const n=(0,c.uz)(t);if(1===n.length)return void 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));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]);const r=new Uint32Array(n.length-1);for(let i=1;i<n.length;i++)this._lines.splice(e.lineNumber+i-1,0,n[i]),r[i-1]=n[i].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}}const f=6e4;class m extends i.jG{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){const e=new r.vb;e.cancelAndSet((()=>this._checkStopModelSync()),Math.round(f/2)),this._register(e)}}dispose(){for(const e in this._syncedModels)(0,i.AS)(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const n of e){const e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const n in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[n]>f&&t.push(n)}for(const n of t)this._stopModelSync(n)}_beginModelSync(e,t){const n=this._modelService.getModel(e);if(!n)return;if(!t&&n.isTooLargeForSyncing())return;const r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});const s=new i.Cm;s.add(n.onDidChangeContent((e=>{this._proxy.$acceptModelChanged(r.toString(),e)}))),s.add(n.onWillDispose((()=>{this._stopModelSync(r)}))),s.add((0,i.s)((()=>{this._proxy.$acceptRemovedModel(r)}))),this._syncedModels[r]=s}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],(0,i.AS)(t)}}class p{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}$acceptNewModel(e){this._models[e.url]=new b(s.r.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class b extends g{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let n=0;n<this._lines.length;n++){const r=this._lines[n],i=this.offsetAt(new o.y(n+1,1)),s=r.matchAll(e);for(const e of s)(e.index||0===e.index)&&(e.index=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){const n=(0,l.Th)(e.column,(0,l.Io)(t),this._lines[e.lineNumber-1],0);return n?new a.Q(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){const t=this._lines,n=this._wordenize.bind(this);let r=0,i="",s=0,o=[];return{*[Symbol.iterator](){for(;;)if(s<o.length){const e=i.substring(o[s].start,o[s].end);s+=1,yield e}else{if(!(r<t.length))break;i=t[r],o=n(i,e),s=0,r+=1}}}}getLineWords(e,t){const n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(const s of r)i.push({word:n.substring(s.start,s.end),startColumn:s.start+1,endColumn:s.end+1});return i}_wordenize(e,t){const n=[];let r;for(t.lastIndex=0;(r=t.exec(e))&&0!==r[0].length;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);const t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let s=n+1;s<r;s++)i.push(this._lines[s]);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();const 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){const 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(!o.y.isIPosition(e))throw new 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{const 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}}},5628:(e,t,n)=>{"use strict";n.r(t)},1504:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextResourceConfigurationService:()=>i,ITextResourcePropertiesService:()=>s});var r=n(2399);const i=(0,r.u1)("textResourceConfigurationService"),s=(0,r.u1)("textResourcePropertiesService")},5320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeSitterParserService:()=>r});const r=(0,n(2399).u1)("treeSitterParserService")},2603:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DraggedTreeItemsIdentifier:()=>i,TreeViewsDnDService:()=>r});class r{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class i{constructor(e){this.identifier=e}}},6756:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeViewsDnDService:()=>o});var r=n(4412),i=n(2399),s=n(2603);const o=(0,i.u1)("treeViewsDndService");(0,r.v)(o,s.TreeViewsDnDService,1)},9887:(e,t,n)=>{"use strict";n.r(t),n.d(t,{UnicodeTextModelHighlighter:()=>l});var r=n(8061),i=n(2389),s=n(6844),o=n(7110),a=n(8782);class l{static computeUnicodeHighlights(e,t,n){const l=n?n.startLineNumber:1,h=n?n.endLineNumber:e.getLineCount(),u=new c(t),d=u.getCandidateCodePoints();let g;var f;g="allNonBasicAscii"===d?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(""+(f=Array.from(d),`[${s.bm(f.map((e=>String.fromCodePoint(e))).join(""))}]`),"g");const m=new i.W5(null,g),p=[];let b,_=!1,k=0,v=0,C=0;e:for(let i=l,c=h;i<=c;i++){const t=e.getLineContent(i),n=t.length;m.reset(0);do{if(b=m.next(t),b){let e=b.index,l=b.index+b[0].length;if(e>0){const n=t.charCodeAt(e-1);s.pc(n)&&e--}if(l+1<n){const e=t.charCodeAt(l-1);s.pc(e)&&l++}const c=t.substring(e,l);let h=(0,a.Th)(e+1,a.Ld,t,0);h&&h.endColumn<=e+1&&(h=null);const d=u.shouldHighlightNonBasicASCII(c,h?h.word:null);if(0!==d){3===d?k++:2===d?v++:1===d?C++:(0,o.xb)(d);const t=1e3;if(p.length>=t){_=!0;break e}p.push(new r.Q(i,e+1,i,l+1))}}}while(b)}return{ranges:p,hasMore:_,ambiguousCharacterCount:k,invisibleCharacterCount:v,nonBasicAsciiCharacterCount:C}}static computeUnicodeHighlightReason(e,t){const n=new c(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const r=e.codePointAt(0),i=n.ambiguousCharacters.getPrimaryConfusable(r),o=s.tl.getLocales().filter((e=>!s.tl.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(r)));return{kind:0,confusableWith:String.fromCodePoint(i),notAmbiguousInLocales:o}}case 1:return{kind:2}}}}class c{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=s.tl.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of s.y_.codePoints)h(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,i=!1;if(t)for(const o of t){const e=o.codePointAt(0),t=s.aC(o);r=r||t,t||this.ambiguousCharacters.isAmbiguous(e)||s.y_.isInvisibleCharacter(e)||(i=!0)}return!r&&i?0:this.options.invisibleCharacters&&!h(e)&&s.y_.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}}function h(e){return" "===e||"\n"===e||"\t"===e}},9204:(e,t,n)=>{var r={"./editorBaseApi":[1583],"./editorBaseApi.js":[1583],"./editorSimpleWorker":[1684],"./editorSimpleWorker.js":[1684],"./editorWorker":[304,792],"./editorWorker.js":[304,792],"./editorWorkerHost":[6358],"./editorWorkerHost.js":[6358],"./findSectionHeaders":[9307],"./findSectionHeaders.js":[9307],"./getIconClasses":[1048,792],"./getIconClasses.js":[1048,792],"./languageFeatureDebounce":[3591,792],"./languageFeatureDebounce.js":[3591,792],"./languageFeatures":[2230,792],"./languageFeatures.js":[2230,792],"./languageFeaturesService":[3704,792],"./languageFeaturesService.js":[3704,792],"./languageService":[5122,792],"./languageService.js":[5122,792],"./languagesAssociations":[5996,792],"./languagesAssociations.js":[5996,792],"./languagesRegistry":[6995,792],"./languagesRegistry.js":[6995,792],"./markerDecorations":[886,792],"./markerDecorations.js":[886,792],"./markerDecorationsService":[4109,792],"./markerDecorationsService.js":[4109,792],"./model":[4830,792],"./model.js":[4830,792],"./modelService":[1327,792],"./modelService.js":[1327,792],"./resolverService":[7042,792],"./resolverService.js":[7042,792],"./semanticTokensDto":[9376,792],"./semanticTokensDto.js":[9376,792],"./semanticTokensProviderStyling":[7642,792],"./semanticTokensProviderStyling.js":[7642,792],"./semanticTokensStyling":[2891,792],"./semanticTokensStyling.js":[2891,792],"./semanticTokensStylingService":[8148,792],"./semanticTokensStylingService.js":[8148,792],"./textModelSync/textModelSync.impl":[1507],"./textModelSync/textModelSync.impl.js":[1507],"./textModelSync/textModelSync.protocol":[5628,792],"./textModelSync/textModelSync.protocol.js":[5628,792],"./textResourceConfiguration":[1504,792],"./textResourceConfiguration.js":[1504,792],"./treeSitterParserService":[5320,792],"./treeSitterParserService.js":[5320,792],"./treeViewsDnd":[2603,792],"./treeViewsDnd.js":[2603,792],"./treeViewsDndService":[6756,792],"./treeViewsDndService.js":[6756,792],"./unicodeTextModelHighlighter":[9887],"./unicodeTextModelHighlighter.js":[9887],"monaco-editor/esm/vs/editor/common/services/editorBaseApi":[1583],"monaco-editor/esm/vs/editor/common/services/editorBaseApi.js":[1583],"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker":[1684],"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js":[1684],"monaco-editor/esm/vs/editor/common/services/editorWorker":[304,792],"monaco-editor/esm/vs/editor/common/services/editorWorker.js":[304,792],"monaco-editor/esm/vs/editor/common/services/editorWorkerHost":[6358],"monaco-editor/esm/vs/editor/common/services/editorWorkerHost.js":[6358],"monaco-editor/esm/vs/editor/common/services/findSectionHeaders":[9307],"monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js":[9307],"monaco-editor/esm/vs/editor/common/services/getIconClasses":[1048,792],"monaco-editor/esm/vs/editor/common/services/getIconClasses.js":[1048,792],"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce":[3591,792],"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js":[3591,792],"monaco-editor/esm/vs/editor/common/services/languageFeatures":[2230,792],"monaco-editor/esm/vs/editor/common/services/languageFeatures.js":[2230,792],"monaco-editor/esm/vs/editor/common/services/languageFeaturesService":[3704,792],"monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js":[3704,792],"monaco-editor/esm/vs/editor/common/services/languageService":[5122,792],"monaco-editor/esm/vs/editor/common/services/languageService.js":[5122,792],"monaco-editor/esm/vs/editor/common/services/languagesAssociations":[5996,792],"monaco-editor/esm/vs/editor/common/services/languagesAssociations.js":[5996,792],"monaco-editor/esm/vs/editor/common/services/languagesRegistry":[6995,792],"monaco-editor/esm/vs/editor/common/services/languagesRegistry.js":[6995,792],"monaco-editor/esm/vs/editor/common/services/markerDecorations":[886,792],"monaco-editor/esm/vs/editor/common/services/markerDecorations.js":[886,792],"monaco-editor/esm/vs/editor/common/services/markerDecorationsService":[4109,792],"monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js":[4109,792],"monaco-editor/esm/vs/editor/common/services/model":[4830,792],"monaco-editor/esm/vs/editor/common/services/model.js":[4830,792],"monaco-editor/esm/vs/editor/common/services/modelService":[1327,792],"monaco-editor/esm/vs/editor/common/services/modelService.js":[1327,792],"monaco-editor/esm/vs/editor/common/services/resolverService":[7042,792],"monaco-editor/esm/vs/editor/common/services/resolverService.js":[7042,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensDto":[9376,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js":[9376,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling":[7642,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js":[7642,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling":[2891,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js":[2891,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService":[8148,792],"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js":[8148,792],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl":[1507],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl.js":[1507],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol":[5628,792],"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol.js":[5628,792],"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration":[1504,792],"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js":[1504,792],"monaco-editor/esm/vs/editor/common/services/treeSitterParserService":[5320,792],"monaco-editor/esm/vs/editor/common/services/treeSitterParserService.js":[5320,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDnd":[2603,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js":[2603,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDndService":[6756,792],"monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js":[6756,792],"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter":[9887],"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js":[9887]};function i(e){if(!n.o(r,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=r[e],i=t[0];return Promise.all(t.slice(1).map(n.e)).then((()=>n(i)))}i.keys=()=>Object.keys(r),i.id=9204,e.exports=i},7614:(e,t,n)=>{var r={"./editorBaseApi":1583,"./editorBaseApi.js":1583,"./editorSimpleWorker":1684,"./editorSimpleWorker.js":1684,"./editorWorker":304,"./editorWorker.js":304,"./editorWorkerHost":6358,"./editorWorkerHost.js":6358,"./findSectionHeaders":9307,"./findSectionHeaders.js":9307,"./getIconClasses":1048,"./getIconClasses.js":1048,"./languageFeatureDebounce":3591,"./languageFeatureDebounce.js":3591,"./languageFeatures":2230,"./languageFeatures.js":2230,"./languageFeaturesService":3704,"./languageFeaturesService.js":3704,"./languageService":5122,"./languageService.js":5122,"./languagesAssociations":5996,"./languagesAssociations.js":5996,"./languagesRegistry":6995,"./languagesRegistry.js":6995,"./markerDecorations":886,"./markerDecorations.js":886,"./markerDecorationsService":4109,"./markerDecorationsService.js":4109,"./model":4830,"./model.js":4830,"./modelService":1327,"./modelService.js":1327,"./resolverService":7042,"./resolverService.js":7042,"./semanticTokensDto":9376,"./semanticTokensDto.js":9376,"./semanticTokensProviderStyling":7642,"./semanticTokensProviderStyling.js":7642,"./semanticTokensStyling":2891,"./semanticTokensStyling.js":2891,"./semanticTokensStylingService":8148,"./semanticTokensStylingService.js":8148,"./textModelSync/textModelSync.impl":1507,"./textModelSync/textModelSync.impl.js":1507,"./textModelSync/textModelSync.protocol":5628,"./textModelSync/textModelSync.protocol.js":5628,"./textResourceConfiguration":1504,"./textResourceConfiguration.js":1504,"./treeSitterParserService":5320,"./treeSitterParserService.js":5320,"./treeViewsDnd":2603,"./treeViewsDnd.js":2603,"./treeViewsDndService":6756,"./treeViewsDndService.js":6756,"./unicodeTextModelHighlighter":9887,"./unicodeTextModelHighlighter.js":9887,"monaco-editor/esm/vs/editor/common/services/editorBaseApi":1583,"monaco-editor/esm/vs/editor/common/services/editorBaseApi.js":1583,"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker":1684,"monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js":1684,"monaco-editor/esm/vs/editor/common/services/editorWorker":304,"monaco-editor/esm/vs/editor/common/services/editorWorker.js":304,"monaco-editor/esm/vs/editor/common/services/editorWorkerHost":6358,"monaco-editor/esm/vs/editor/common/services/editorWorkerHost.js":6358,"monaco-editor/esm/vs/editor/common/services/findSectionHeaders":9307,"monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js":9307,"monaco-editor/esm/vs/editor/common/services/getIconClasses":1048,"monaco-editor/esm/vs/editor/common/services/getIconClasses.js":1048,"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce":3591,"monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js":3591,"monaco-editor/esm/vs/editor/common/services/languageFeatures":2230,"monaco-editor/esm/vs/editor/common/services/languageFeatures.js":2230,"monaco-editor/esm/vs/editor/common/services/languageFeaturesService":3704,"monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js":3704,"monaco-editor/esm/vs/editor/common/services/languageService":5122,"monaco-editor/esm/vs/editor/common/services/languageService.js":5122,"monaco-editor/esm/vs/editor/common/services/languagesAssociations":5996,"monaco-editor/esm/vs/editor/common/services/languagesAssociations.js":5996,"monaco-editor/esm/vs/editor/common/services/languagesRegistry":6995,"monaco-editor/esm/vs/editor/common/services/languagesRegistry.js":6995,"monaco-editor/esm/vs/editor/common/services/markerDecorations":886,"monaco-editor/esm/vs/editor/common/services/markerDecorations.js":886,"monaco-editor/esm/vs/editor/common/services/markerDecorationsService":4109,"monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js":4109,"monaco-editor/esm/vs/editor/common/services/model":4830,"monaco-editor/esm/vs/editor/common/services/model.js":4830,"monaco-editor/esm/vs/editor/common/services/modelService":1327,"monaco-editor/esm/vs/editor/common/services/modelService.js":1327,"monaco-editor/esm/vs/editor/common/services/resolverService":7042,"monaco-editor/esm/vs/editor/common/services/resolverService.js":7042,"monaco-editor/esm/vs/editor/common/services/semanticTokensDto":9376,"monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js":9376,"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling":7642,"monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js":7642,"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling":2891,"monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js":2891,"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService":8148,"monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js":8148,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl":1507,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.impl.js":1507,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol":5628,"monaco-editor/esm/vs/editor/common/services/textModelSync/textModelSync.protocol.js":5628,"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration":1504,"monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js":1504,"monaco-editor/esm/vs/editor/common/services/treeSitterParserService":5320,"monaco-editor/esm/vs/editor/common/services/treeSitterParserService.js":5320,"monaco-editor/esm/vs/editor/common/services/treeViewsDnd":2603,"monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js":2603,"monaco-editor/esm/vs/editor/common/services/treeViewsDndService":6756,"monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js":6756,"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter":9887,"monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js":9887};function i(e){var t=s(e);return n(t)}function s(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=s,e.exports=i,i.id=7614},7289:(e,t,n)=>{"use strict";function r(){return globalThis._VSCODE_NLS_LANGUAGE}n.d(t,{i8:()=>r,kg:()=>o});const i="pseudo"===r()||"undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function s(e,t){let n;return n=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,n)=>{const r=n[0],i=t[r];let s=e;return"string"==typeof i?s=i:"number"!=typeof i&&"boolean"!=typeof i&&null!=i||(s=String(i)),s})),i&&(n="\uff3b"+n.replace(/[aouei]/g,"$&$&")+"\uff3d"),n}function o(e,t,...n){return s("number"==typeof e?a(e,t):t,n)}function a(e,t){const n=globalThis._VSCODE_NLS_MESSAGES?.[e];if("string"!=typeof n){if("string"==typeof t)return t;throw new Error(`!!! NLS MISSING: ${e} !!!`)}return n}},5753:(e,t,n)=>{"use strict";n.d(t,{Mo:()=>i,pG:()=>r});const r=(0,n(2399).u1)("configurationService");function i(e){return e.replace(/[\[\]]/g,"")}},7142:(e,t,n)=>{"use strict";n.d(t,{Fd:()=>h});var r=n(3338),i=n(2106),s=n(9359),o=n(7289),a=n(5753),l=n(1460),c=n(7167);const h={Configuration:"base.contributions.configuration"},u={properties:{},patternProperties:{}},d={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},m={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},b="vscode://schemas/settings/resourceLanguage",_=c.O.as(l.F.JSONContribution);const k="\\[([^\\]]+)\\]",v=new RegExp(k,"g"),C=`^(${k})+$`,y=new RegExp(C);function L(e){const t=[];if(y.test(e)){let n=v.exec(e);for(;n?.length;){const r=n[1].trim();r&&t.push(r),n=v.exec(e)}}return(0,r.dM)(t)}const w=new class{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new i.vl,this._onDidUpdateConfiguration=new i.vl,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:o.kg("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},_.registerSchema(b,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const n=new Set;this.doRegisterConfigurations(e,t,n),_.registerSchema(b,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);const n=[];for(const{overrides:r,source:i}of e)for(const e in r){t.add(e);const s=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),o=r[e];if(s.configurationDefaultOverrides.push({value:o,source:i}),y.test(e)){const t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,o,i,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,i),n.push(...L(e))}else{const t=this.mergeDefaultConfigurationsForConfigurationProperty(e,o,i,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t;const n=this.configurationProperties[e];n&&(this.updatePropertyDefaultValue(e,n),this.updateSchema(e,n))}}this.doRegisterOverrideIdentifiers(n)}updateDefaultOverrideProperty(e,t,n){const r={type:"object",default:t.value,description:o.kg("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",(0,a.Mo)(e)),$ref:b,defaultDefaultValue:t.value,source:n,defaultValueSource:n};this.configurationProperties[e]=r,this.defaultLanguageConfigurationOverridesNode.properties[e]=r}mergeDefaultConfigurationsForOverrideIdentifier(e,t,n,r){const i=r?.value||{},o=r?.source??new Map;if(o instanceof Map){for(const e of Object.keys(t)){const r=t[e];if(s.Gv(r)&&(s.b0(i[e])||s.Gv(i[e]))){if(i[e]={...i[e]??{},...r},n)for(const t in r)o.set(`${e}.${t}`,n)}else i[e]=r,n?o.set(e,n):o.delete(e)}return{value:i,source:o}}console.error("objectConfigurationSources is not a Map")}mergeDefaultConfigurationsForConfigurationProperty(e,t,n,r){const i=this.configurationProperties[e],o=r?.value??i?.defaultDefaultValue;let a=n;if(s.Gv(t)&&(void 0!==i&&"object"===i.type||void 0===i&&(s.b0(o)||s.Gv(o)))){if(a=r?.source??new Map,!(a instanceof Map))return void console.error("defaultValueSource is not a Map");for(const r in t)n&&a.set(`${e}.${r}`,n);t={...s.Gv(o)?o:{},...t}}return{value:t,source:a}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach((e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,n),this.configurationContributors.push(e),this.registerJSONConfiguration(e)}))}validateAndRegisterProperties(e,t=!0,n,r,i=3,o){i=s.z(e.scope)?i:e.scope;const a=e.properties;if(a)for(const c in a){const e=a[c];t&&S(c,e)?delete a[c]:(e.source=n,e.defaultDefaultValue=a[c].default,this.updatePropertyDefaultValue(c,e),y.test(c)?e.scope=void 0:(e.scope=s.z(e.scope)?i:e.scope,e.restricted=s.z(e.restricted)?!!r?.includes(c):e.restricted),!a[c].hasOwnProperty("included")||a[c].included?(this.configurationProperties[c]=a[c],a[c].policy?.name&&this.policyConfigurations.set(a[c].policy.name,c),!a[c].deprecationMessage&&a[c].markdownDeprecationMessage&&(a[c].deprecationMessage=a[c].markdownDeprecationMessage),o.add(c)):(this.excludedConfigurationProperties[c]=a[c],delete a[c]))}const l=e.allOf;if(l)for(const s of l)this.validateAndRegisterProperties(s,t,n,r,i,o)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const n=e.properties;if(n)for(const t in n)this.updateSchema(t,n[t]);const r=e.allOf;r?.forEach(t)};t(e)}updateSchema(e,t){switch(u.properties[e]=t,t.scope){case 1:d.properties[e]=t;break;case 2:g.properties[e]=t;break;case 6:f.properties[e]=t;break;case 3:m.properties[e]=t;break;case 4:p.properties[e]=t;break;case 5:p.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,n={type:"object",description:o.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:b};this.updatePropertyDefaultValue(t,n),u.properties[t]=n,d.properties[t]=n,g.properties[t]=n,f.properties[t]=n,m.properties[t]=n,p.properties[t]=n}}registerOverridePropertyPatternKey(){const e={type:"object",description:o.kg("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.kg("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:b};u.patternProperties[C]=e,d.patternProperties[C]=e,g.patternProperties[C]=e,f.patternProperties[C]=e,m.patternProperties[C]=e,p.patternProperties[C]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const n=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue;let r,i;!n||t.disallowConfigurationDefault&&n.source||(r=n.value,i=n.source),s.b0(r)&&(r=t.defaultDefaultValue,i=void 0),s.b0(r)&&(r=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=r,t.defaultValueSource=i}};function S(e,t){return e.trim()?y.test(e)?o.kg("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==w.getConfigurationProperties()[e]?o.kg("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):t.policy?.name&&void 0!==w.getPolicyConfigurations().get(t.policy?.name)?o.kg("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,t.policy?.name,w.getPolicyConfigurations().get(t.policy?.name)):null:o.kg("config.property.empty","Cannot register an empty property")}c.O.add(h.Configuration,w)},4412:(e,t,n)=>{"use strict";n.d(t,{v:()=>s});class r{constructor(e,t=[],n=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=n}}const i=[];function s(e,t,n){t instanceof r||(t=new r(t,[],Boolean(n))),i.push([e,t])}},2399:(e,t,n)=>{"use strict";var r;n.d(t,{_Y:()=>i,u1:()=>s}),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(r||(r={}));const i=s("instantiationService");function s(e){if(r.serviceIds.has(e))return r.serviceIds.get(e);const t=function(e,n,i){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,n){t[r.DI_TARGET]===t?t[r.DI_DEPENDENCIES].push({id:e,index:n}):(t[r.DI_DEPENDENCIES]=[{id:e,index:n}],t[r.DI_TARGET]=t)}(t,e,i)};return t.toString=()=>e,r.serviceIds.set(e,t),t}},1460:(e,t,n)=>{"use strict";n.d(t,{F:()=>s});var r=n(2106),i=n(7167);const s={JSONContribution:"base.contributions.json"};const o=new class{constructor(){this._onDidChangeSchema=new r.vl,this.schemasById={}}registerSchema(e,t){var n;this.schemasById[(n=e,n.length>0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};i.O.add(s.JSONContribution,o)},2321:(e,t,n)=>{"use strict";n.d(t,{rr:()=>Q,$b:()=>J});n(2106);var r=n(2446),i=n(3339),s=n(6844),o=n(4327),a=n(7289);function l(...e){switch(e.length){case 1:return(0,a.kg)("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",e[0]);case 2:return(0,a.kg)("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",e[0],e[1]);case 3:return(0,a.kg)("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}const c=(0,a.kg)("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),h=(0,a.kg)("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class u{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw(0,o.iH)(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map((e=>e.charCodeAt(0))))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();){this._start=this._current;switch(this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(l("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(l("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(l("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return!this._isAtEnd()&&(this._input.charCodeAt(this._current)===e&&(this._current++,!0))}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,n=this._input.substring(this._start,this._current),r={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(r)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),n=u._keywords.get(t);n?this._addToken(n):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(c):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let e=this._current,t=!1,n=!1;for(;;){if(e>=this._input.length)return this._current=e,void this._error(h);const r=this._input.charCodeAt(e);if(t)t=!1;else{if(47===r&&!n){e++;break}91===r?n=!0:92===r?t=!0:93===r&&(n=!1)}e++}for(;e<this._input.length&&u._regexFlags.has(this._input.charCodeAt(e));)e++;this._current=e;const r=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:r,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}var d=n(2399);const g=new Map;g.set("false",!1),g.set("true",!0),g.set("isMac",i.zx),g.set("isLinux",i.j9),g.set("isWindows",i.uF),g.set("isWeb",i.HZ),g.set("isMacNative",i.zx&&!i.HZ),g.set("isEdge",i.UP),g.set("isFirefox",i.gm),g.set("isChrome",i.H8),g.set("isSafari",i.nr);const f=Object.prototype.hasOwnProperty,m={regexParsingWithErrorRecovery:!0},p=(0,a.kg)("contextkey.parser.error.emptyString","Empty context key expression"),b=(0,a.kg)("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),_=(0,a.kg)("contextkey.parser.error.noInAfterNot","'in' after 'not'."),k=(0,a.kg)("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),v=(0,a.kg)("contextkey.parser.error.unexpectedToken","Unexpected token"),C=(0,a.kg)("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),y=(0,a.kg)("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),L=(0,a.kg)("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");class w{static{this._parseError=new Error}constructor(e=m){this._config=e,this._scanner=new u,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(""!==e){this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),t=17===e.type?C:void 0;throw this._parsingErrors.push({message:v,offset:e.offset,lexeme:u.getLexeme(e),additionalInfo:t}),w._parseError}return e}catch(t){if(t!==w._parseError)throw t;return}}else this._parsingErrors.push({message:p,offset:0,lexeme:"",additionalInfo:b})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:S.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:S.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),E.INSTANCE;case 12:return this._advance(),N.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,k),e?.negate()}case 17:return this._advance(),R.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),S.true();case 12:return this._advance(),S.false();case 0:{this._advance();const e=this._expr();return this._consume(1,k),e}case 17:{const r=e.lexeme;if(this._advance(),this._matchOne(9)){const e=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==e.type)throw this._errExpectedButGot("REGEX",e);const n=e.lexeme,i=n.lastIndexOf("/"),s=i===n.length-1?void 0:this._removeFlagsGY(n.substring(i+1));let o;try{o=new RegExp(n.substring(1,i),s)}catch(t){throw this._errExpectedButGot("REGEX",e)}return z.create(r,o)}switch(e.type){case 10:case 19:{const n=[e.lexeme];this._advance();let i=this._peek(),s=0;for(let t=0;t<e.lexeme.length;t++)40===e.lexeme.charCodeAt(t)?s++:41===e.lexeme.charCodeAt(t)&&s--;for(;!this._isAtEnd()&&15!==i.type&&16!==i.type;){switch(i.type){case 0:s++;break;case 1:s--;break;case 10:case 18:for(let t=0;t<i.lexeme.length;t++)40===i.lexeme.charCodeAt(t)?s++:41===e.lexeme.charCodeAt(t)&&s--}if(s<0)break;n.push(u.getLexeme(i)),this._advance(),i=this._peek()}const o=n.join(""),a=o.lastIndexOf("/"),l=a===o.length-1?void 0:this._removeFlagsGY(o.substring(a+1));let c;try{c=new RegExp(o.substring(1,a),l)}catch(t){throw this._errExpectedButGot("REGEX",e)}return S.regex(r,c)}case 18:{const t=e.lexeme;this._advance();let i=null;if(!(0,s.AV)(t)){const r=t.indexOf("/"),s=t.lastIndexOf("/");if(r!==s&&r>=0){const o=t.slice(r+1,s),a="i"===t[s+1]?"i":"";try{i=new RegExp(o,a)}catch(n){throw this._errExpectedButGot("REGEX",e)}}}if(null===i)throw this._errExpectedButGot("REGEX",e);return z.create(r,i)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,_);const e=this._value();return S.notIn(r,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return S.equals(r,e);switch(e){case"true":return S.has(r);case"false":return S.not(r);default:return S.equals(r,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return S.notEquals(r,e);switch(e){case"true":return S.not(r);case"false":return S.has(r);default:return S.notEquals(r,e)}}case 5:return this._advance(),P.create(r,this._value());case 6:return this._advance(),V.create(r,this._value());case 7:return this._advance(),B.create(r,this._value());case 8:return this._advance(),F.create(r,this._value());case 13:return this._advance(),S.in(r,this._value());default:return S.has(r)}}case 20:throw this._parsingErrors.push({message:y,offset:e.offset,lexeme:"",additionalInfo:L}),w._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,n){const r=(0,a.kg)("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,u.getLexeme(t)),i=t.offset,s=u.getLexeme(t);return this._parsingErrors.push({message:r,offset:i,lexeme:s,additionalInfo:n}),w._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}class S{static false(){return E.INSTANCE}static true(){return N.INSTANCE}static has(e){return T.create(e)}static equals(e,t){return A.create(e,t)}static notEquals(e,t){return M.create(e,t)}static regex(e,t){return z.create(e,t)}static in(e,t){return I.create(e,t)}static notIn(e,t){return O.create(e,t)}static not(e){return R.create(e)}static and(...e){return W.create(e,null,!0)}static or(...e){return U.create(e,null,!0)}static{this._parser=new w({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(null==e)return;return this._parser.parse(e)}}function x(e,t){return e.cmp(t)}class E{static{this.INSTANCE=new E}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return N.INSTANCE}}class N{static{this.INSTANCE=new N}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return E.INSTANCE}}class T{static create(e,t=null){const n=g.get(e);return"boolean"==typeof n?n?N.INSTANCE:E.INSTANCE:new T(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:H(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=g.get(this.key);return"boolean"==typeof e?e?N.INSTANCE:E.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=R.create(this.key,this)),this.negated}}class A{static create(e,t,n=null){if("boolean"==typeof t)return t?T.create(e,n):R.create(e,n);const r=g.get(e);if("boolean"==typeof r){return t===(r?"true":"false")?N.INSTANCE:E.INSTANCE}return new A(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=g.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?N.INSTANCE:E.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=M.create(this.key,this.value,this)),this.negated}}class I{static create(e,t){return new I(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&(this.key===e.key&&this.valueKey===e.valueKey)}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),n=e.getValue(this.key);return Array.isArray(t)?t.includes(n):"string"==typeof n&&"object"==typeof t&&null!==t&&f.call(t,n)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=O.create(this.key,this.valueKey)),this.negated}}class O{static create(e,t){return new O(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=I.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class M{static create(e,t,n=null){if("boolean"==typeof t)return t?R.create(e,n):T.create(e,n);const r=g.get(e);if("boolean"==typeof r){return t===(r?"true":"false")?E.INSTANCE:N.INSTANCE}return new M(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){const e=g.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?E.INSTANCE:N.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=A.create(this.key,this.value,this)),this.negated}}class R{static create(e,t=null){const n=g.get(e);return"boolean"==typeof n?n?E.INSTANCE:N.INSTANCE:new R(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:H(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=g.get(this.key);return"boolean"==typeof e?e?E.INSTANCE:N.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=T.create(this.key,this)),this.negated}}function D(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):E.INSTANCE}class B{static create(e,t,n=null){return D(t,(t=>new B(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=V.create(this.key,this.value,this)),this.negated}}class F{static create(e,t,n=null){return D(t,(t=>new F(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=P.create(this.key,this.value,this)),this.negated}}class P{static create(e,t,n=null){return D(t,(t=>new P(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=F.create(this.key,this.value,this)),this.negated}}class V{static create(e,t,n=null){return D(t,(t=>new V(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&(this.key===e.key&&this.value===e.value)}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=B.create(this.key,this.value,this)),this.negated}}class z{static create(e,t){return new z(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.key<e.key)return-1;if(this.key>e.key)return 1;const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return t<n?-1:t>n?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=j.create(this)),this.negated}}class j{static create(e){return new j(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function q(e){let t=null;for(let n=0,r=e.length;n<r;n++){const r=e[n].substituteConstants();if(e[n]!==r&&null===t){t=[];for(let r=0;r<n;r++)t[r]=e[r]}null!==t&&(t[n]=r)}return null===t?e:t}class W{static create(e,t,n){return W._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=6}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){const n=x(this.expr[t],e.expr[t]);if(0!==n)return n}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){const e=q(this.expr);return e===this.expr?this:W.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].evaluate(e))return!1;return!0}static _normalizeArr(e,t,n){const r=[];let i=!1;for(const s of e)if(s)if(1!==s.type){if(0===s.type)return E.INSTANCE;6!==s.type?r.push(s):r.push(...s.expr)}else i=!0;if(0===r.length&&i)return N.INSTANCE;if(0!==r.length){if(1===r.length)return r[0];r.sort(x);for(let e=1;e<r.length;e++)r[e-1].equals(r[e])&&(r.splice(e,1),e--);if(1===r.length)return r[0];for(;r.length>1;){const e=r[r.length-1];if(9!==e.type)break;r.pop();const t=r.pop(),i=0===r.length,s=U.create(e.expr.map((e=>W.create([e,t],null,n))),null,i);s&&(r.push(s),r.sort(x))}if(1===r.length)return r[0];if(n){for(let e=0;e<r.length;e++)for(let t=e+1;t<r.length;t++)if(r[e].negate().equals(r[t]))return E.INSTANCE;if(1===r.length)return r[0]}return new W(r,t)}}serialize(){return this.expr.map((e=>e.serialize())).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=U.create(e,this,!0)}return this.negated}}class U{static create(e,t,n){return U._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length<e.expr.length)return-1;if(this.expr.length>e.expr.length)return 1;for(let t=0,n=this.expr.length;t<n;t++){const n=x(this.expr[t],e.expr[t]);if(0!==n)return n}return 0}equals(e){if(e.type===this.type){if(this.expr.length!==e.expr.length)return!1;for(let t=0,n=this.expr.length;t<n;t++)if(!this.expr[t].equals(e.expr[t]))return!1;return!0}return!1}substituteConstants(){const e=q(this.expr);return e===this.expr?this:U.create(e,this.negated,!1)}evaluate(e){for(let t=0,n=this.expr.length;t<n;t++)if(this.expr[t].evaluate(e))return!0;return!1}static _normalizeArr(e,t,n){let r=[],i=!1;if(e){for(let t=0,n=e.length;t<n;t++){const n=e[t];if(n)if(0!==n.type){if(1===n.type)return N.INSTANCE;9!==n.type?r.push(n):r=r.concat(n.expr)}else i=!0}if(0===r.length&&i)return E.INSTANCE;r.sort(x)}if(0!==r.length){if(1===r.length)return r[0];for(let e=1;e<r.length;e++)r[e-1].equals(r[e])&&(r.splice(e,1),e--);if(1===r.length)return r[0];if(n){for(let e=0;e<r.length;e++)for(let t=e+1;t<r.length;t++)if(r[e].negate().equals(r[t]))return N.INSTANCE;if(1===r.length)return r[0]}return new U(r,t)}}serialize(){return this.expr.map((e=>e.serialize())).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),n=e.shift(),r=[];for(const e of G(t))for(const t of G(n))r.push(W.create([e,t],null,!1));e.unshift(U.create(r,null,!1))}this.negated=U.create(e,this,!0)}return this.negated}}class $ extends T{static{this._info=[]}static all(){return $._info.values()}constructor(e,t,n){super(e,null),this._defaultValue=t,"object"==typeof n?$._info.push({...n,key:e}):!0!==n&&$._info.push({key:e,description:n,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return A.create(this.key,e)}}(0,d.u1)("contextKeyService");function H(e,t){return e<t?-1:e>t?1:0}function K(e,t,n,r){return e<n?-1:e>n?1:t<r?-1:t>r?1:0}function G(e){return 9===e.type?e.expr:[e]}const Q=(0,d.u1)("logService");var J;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(J||(J={}));J.Info;r.jG;new $("logLevel",function(e){switch(e){case J.Trace:return"trace";case J.Debug:return"debug";case J.Info:return"info";case J.Warning:return"warn";case J.Error:return"error";case J.Off:return"off"}}(J.Info))},7167:(e,t,n)=>{"use strict";n.d(t,{O:()=>s});var r=n(7110),i=n(9359);const s=new class{constructor(){this.data=new Map}add(e,t){r.ok(i.Kg(e)),r.ok(i.Gv(t)),r.ok(!this.data.has(e),"There is already an extension with this id"),this.data.set(e,t)}as(e){return this.data.get(e)||null}}},9119:(e,t,n)=>{"use strict";n.d(t,{buw:()=>S,b1q:()=>w,YtV:()=>I,Ubg:()=>q,IIb:()=>z,pOz:()=>V,whs:()=>B,Stt:()=>P,Hng:()=>F,yLC:()=>le,KoI:()=>oe,uMG:()=>ae,x1A:()=>u});var r=n(7110),i=n(2866),s=n(4901),o=n(2106),a=n(1460),l=n(7167),c=n(7289);const h=new class{constructor(){this._onDidChangeSchema=new o.vl,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){const s={id:e,description:n,defaults:t,needsTransparency:r,deprecationMessage:i};this.colorsById[e]=s;const 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=c.kg("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:n,oneOf:[o,{type:"string",const:"default",description:c.kg("useDefault","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){const n=this.colorsById[e];if(n?.defaults){return b(null!==(r=n.defaults)&&"object"==typeof r&&"light"in r&&"dark"in r?n.defaults[t.type]:n.defaults,t)}var r}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{const n=-1===e.indexOf(".")?0:1,r=-1===t.indexOf(".")?0:1;return n!==r?n-r:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function u(e,t,n,r,i){return h.registerColor(e,t,n,r,i)}function d(e,t){return{op:0,value:e,factor:t}}function g(e,t){return{op:1,value:e,factor:t}}function f(e,t){return{op:2,value:e,factor:t}}function m(...e){return{op:4,values:e}}function p(e,t,n,r){return{op:5,value:e,background:t,factor:n,transparency:r}}function b(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?s.Q1.fromHex(e):t.getColor(e):e instanceof s.Q1?e:"object"==typeof e?function(e,t){switch(e.op){case 0:return b(e.value,t)?.darken(e.factor);case 1:return b(e.value,t)?.lighten(e.factor);case 2:return b(e.value,t)?.transparent(e.factor);case 3:{const n=b(e.background,t);return n?b(e.value,t)?.makeOpaque(n):b(e.value,t)}case 4:for(const n of e.values){const e=b(n,t);if(e)return e}return;case 6:return b(t.defines(e.if)?e.then:e.else,t);case 5:{const n=b(e.value,t);if(!n)return;const r=b(e.background,t);return r?n.isDarkerThan(r)?s.Q1.getLighterColor(n,r,e.factor).transparent(e.transparency):s.Q1.getDarkerColor(n,r,e.factor).transparent(e.transparency):n.transparent(e.factor*e.transparency)}default:throw(0,r.xb)(e)}}(e,t):void 0}l.O.add("base.contributions.colors",h);const _="vscode://schemas/workbench-colors",k=l.O.as(a.F.JSONContribution);k.registerSchema(_,h.getColorSchema());const v=new i.uC((()=>k.notifySchemaChanged(_)),200);h.onDidChangeSchema((()=>{v.isScheduled()||v.schedule()}));const C=u("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},c.kg("foreground","Overall foreground color. This color is only used if not overridden by a component.")),y=(u("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},c.kg("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),u("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},c.kg("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),u("descriptionForeground",{light:"#717171",dark:f(C,.7),hcDark:f(C,.7),hcLight:f(C,.7)},c.kg("descriptionForeground","Foreground color for description text providing additional information, for example for a label.")),u("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},c.kg("iconForeground","The default color for icons in the workbench."))),L=u("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},c.kg("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),w=u("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},c.kg("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),S=u("contrastActiveBorder",{light:null,dark:null,hcDark:L,hcLight:L},c.kg("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),x=(u("selection.background",null,c.kg("selectionBackground","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.")),u("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},c.kg("textLinkForeground","Foreground color for links in text.")),u("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},c.kg("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),u("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:s.Q1.black,hcLight:"#292929"},c.kg("textSeparatorForeground","Color for text separators.")),u("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},c.kg("textPreformatForeground","Foreground color for preformatted text segments.")),u("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},c.kg("textPreformatBackground","Background color for preformatted text segments.")),u("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},c.kg("textBlockQuoteBackground","Background color for block quotes in text.")),u("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:s.Q1.white,hcLight:"#292929"},c.kg("textBlockQuoteBorder","Border color for block quotes in text.")),u("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:s.Q1.black,hcLight:"#F2F2F2"},c.kg("textCodeBlockBackground","Background color for code blocks in text.")),u("sash.hoverBorder",L,c.kg("sashActiveBorder","Border color of active sashes.")),u("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:s.Q1.black,hcLight:"#0F4A85"},c.kg("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count."))),E=(u("badge.foreground",{dark:s.Q1.white,light:"#333",hcDark:s.Q1.white,hcLight:s.Q1.white},c.kg("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),u("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},c.kg("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled."))),N=u("scrollbarSlider.background",{dark:s.Q1.fromHex("#797979").transparent(.4),light:s.Q1.fromHex("#646464").transparent(.4),hcDark:f(w,.6),hcLight:f(w,.4)},c.kg("scrollbarSliderBackground","Scrollbar slider background color.")),T=u("scrollbarSlider.hoverBackground",{dark:s.Q1.fromHex("#646464").transparent(.7),light:s.Q1.fromHex("#646464").transparent(.7),hcDark:f(w,.8),hcLight:f(w,.8)},c.kg("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),A=u("scrollbarSlider.activeBackground",{dark:s.Q1.fromHex("#BFBFBF").transparent(.4),light:s.Q1.fromHex("#000000").transparent(.6),hcDark:w,hcLight:w},c.kg("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),I=(u("progressBar.background",{dark:s.Q1.fromHex("#0E70C0"),light:s.Q1.fromHex("#0E70C0"),hcDark:w,hcLight:w},c.kg("progressBarBackground","Background color of the progress bar that can show for long running operations.")),u("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("editorBackground","Editor background color."))),O=(u("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:s.Q1.white,hcLight:C},c.kg("editorForeground","Editor default foreground color.")),u("editorStickyScroll.background",I,c.kg("editorStickyScrollBackground","Background color of sticky scroll in the editor")),u("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},c.kg("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),u("editorStickyScroll.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("editorStickyScrollBorder","Border color of sticky scroll in the editor")),u("editorStickyScroll.shadow",E,c.kg("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor")),u("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:s.Q1.white},c.kg("editorWidgetBackground","Background color of editor widgets, such as find/replace."))),M=u("editorWidget.foreground",C,c.kg("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),R=u("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:w,hcLight:w},c.kg("editorWidgetBorder","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.")),D=(u("editorWidget.resizeBorder",null,c.kg("editorWidgetResizeBorder","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.")),u("editorError.background",null,c.kg("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},c.kg("editorError.foreground","Foreground color of error squigglies in the editor."))),B=(u("editorError.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},c.kg("errorBorder","If set, color of double underlines for errors in the editor.")),u("editorWarning.background",null,c.kg("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0)),F=u("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},c.kg("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),P=u("editorWarning.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#FFCC00").transparent(.8),hcLight:s.Q1.fromHex("#FFCC00").transparent(.8)},c.kg("warningBorder","If set, color of double underlines for warnings in the editor.")),V=(u("editorInfo.background",null,c.kg("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},c.kg("editorInfo.foreground","Foreground color of info squigglies in the editor."))),z=u("editorInfo.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},c.kg("infoBorder","If set, color of double underlines for infos in the editor.")),j=(u("editorHint.foreground",{dark:s.Q1.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},c.kg("editorHint.foreground","Foreground color of hint squigglies in the editor.")),u("editorHint.border",{dark:null,light:null,hcDark:s.Q1.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},c.kg("hintBorder","If set, color of double underlines for hints in the editor.")),u("editorLink.activeForeground",{dark:"#4E94CE",light:s.Q1.blue,hcDark:s.Q1.cyan,hcLight:"#292929"},c.kg("activeLinkForeground","Color of active links.")),u("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},c.kg("editorSelectionBackground","Color of the editor selection."))),q=(u("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:s.Q1.white},c.kg("editorSelectionForeground","Color of the selected text for high contrast.")),u("editor.inactiveSelectionBackground",{light:f(j,.5),dark:f(j,.5),hcDark:f(j,.7),hcLight:f(j,.5)},c.kg("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.selectionHighlightBackground",{light:p(j,I,.3,.6),dark:p(j,I,.3,.6),hcDark:null,hcLight:null},c.kg("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:S,hcLight:S},c.kg("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),u("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},c.kg("editorFindMatch","Color of the current search match.")),u("editor.findMatchForeground",null,c.kg("editorFindMatchForeground","Text color of the current search match.")),u("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},c.kg("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0)),W=(u("editor.findMatchHighlightForeground",null,c.kg("findMatchHighlightForeground","Foreground color of the other search matches."),!0),u("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},c.kg("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.findMatchBorder",{light:null,dark:null,hcDark:S,hcLight:S},c.kg("editorFindMatchBorder","Border color of the current search match.")),u("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:S,hcLight:S},c.kg("findMatchHighlightBorder","Border color of the other search matches."))),U=(u("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:f(S,.4),hcLight:f(S,.4)},c.kg("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),u("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},c.kg("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorHoverWidget.background",O,c.kg("hoverBackground","Background color of the editor hover."))),$=(u("editorHoverWidget.foreground",M,c.kg("hoverForeground","Foreground color of the editor hover.")),u("editorHoverWidget.border",R,c.kg("hoverBorder","Border color of the editor hover.")),u("editorHoverWidget.statusBarBackground",{dark:g(U,.2),light:d(U,.05),hcDark:O,hcLight:O},c.kg("statusBarBackground","Background color of the editor hover status bar.")),u("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:s.Q1.white,hcLight:s.Q1.black},c.kg("editorInlayHintForeground","Foreground color of inline hints"))),H=u("editorInlayHint.background",{dark:f(x,.1),light:f(x,.1),hcDark:f(s.Q1.white,.1),hcLight:f(x,.1)},c.kg("editorInlayHintBackground","Background color of inline hints")),K=(u("editorInlayHint.typeForeground",$,c.kg("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),u("editorInlayHint.typeBackground",H,c.kg("editorInlayHintBackgroundTypes","Background color of inline hints for types")),u("editorInlayHint.parameterForeground",$,c.kg("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),u("editorInlayHint.parameterBackground",H,c.kg("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),u("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},c.kg("editorLightBulbForeground","The color used for the lightbulb actions icon."))),G=(u("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},c.kg("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),u("editorLightBulbAi.foreground",K,c.kg("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),u("editor.snippetTabstopHighlightBackground",{dark:new s.Q1(new s.bU(124,124,124,.3)),light:new s.Q1(new s.bU(10,50,100,.2)),hcDark:new s.Q1(new s.bU(124,124,124,.3)),hcLight:new s.Q1(new s.bU(10,50,100,.2))},c.kg("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),u("editor.snippetTabstopHighlightBorder",null,c.kg("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),u("editor.snippetFinalTabstopHighlightBackground",null,c.kg("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),u("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new s.Q1(new s.bU(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},c.kg("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet.")),new s.Q1(new s.bU(155,185,85,.2))),Q=new s.Q1(new s.bU(255,0,0,.2)),J=(u("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},c.kg("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},c.kg("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.insertedLineBackground",{dark:G,light:G,hcDark:null,hcLight:null},c.kg("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditor.removedLineBackground",{dark:Q,light:Q,hcDark:null,hcLight:null},c.kg("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),u("diffEditorGutter.insertedLineBackground",null,c.kg("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),u("diffEditorGutter.removedLineBackground",null,c.kg("diffEditorRemovedLineGutter","Background color for the margin where lines got removed.")),u("diffEditorOverview.insertedForeground",null,c.kg("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),u("diffEditorOverview.removedForeground",null,c.kg("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content.")),u("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},c.kg("diffEditorInsertedOutline","Outline color for the text that got inserted.")),u("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},c.kg("diffEditorRemovedOutline","Outline color for text that got removed.")),u("diffEditor.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("diffEditorBorder","Border color between the two text editors.")),u("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},c.kg("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),u("diffEditor.unchangedRegionBackground","sideBar.background",c.kg("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),u("diffEditor.unchangedRegionForeground","foreground",c.kg("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),u("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},c.kg("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor.")),u("widget.shadow",{dark:f(s.Q1.black,.36),light:f(s.Q1.black,.16),hcDark:null,hcLight:null},c.kg("widgetShadow","Shadow color of widgets such as find/replace inside the editor."))),X=(u("widget.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("widgetBorder","Border color of widgets such as find/replace inside the editor.")),u("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},c.kg("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"))),Y=(u("toolbar.hoverOutline",{dark:null,light:null,hcDark:S,hcLight:S},c.kg("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),u("toolbar.activeBackground",{dark:g(X,.1),light:d(X,.1),hcDark:null,hcLight:null},c.kg("toolbarActiveBackground","Toolbar background when holding the mouse over actions")),u("breadcrumb.foreground",f(C,.8),c.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),u("breadcrumb.background",I,c.kg("breadcrumbsBackground","Background color of breadcrumb items.")),u("breadcrumb.focusForeground",{light:d(C,.2),dark:g(C,.1),hcDark:g(C,.1),hcLight:g(C,.1)},c.kg("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),u("breadcrumb.activeSelectionForeground",{light:d(C,.2),dark:g(C,.1),hcDark:g(C,.1),hcLight:g(C,.1)},c.kg("breadcrumbsSelectedForeground","Color of selected breadcrumb items.")),u("breadcrumbPicker.background",O,c.kg("breadcrumbsSelectedBackground","Background color of breadcrumb item picker.")),s.Q1.fromHex("#40C8AE").transparent(.5)),Z=s.Q1.fromHex("#40A6FF").transparent(.5),ee=s.Q1.fromHex("#606060").transparent(.4),te=u("merge.currentHeaderBackground",{dark:Y,light:Y,hcDark:null,hcLight:null},c.kg("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),ne=(u("merge.currentContentBackground",f(te,.4),c.kg("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.incomingHeaderBackground",{dark:Z,light:Z,hcDark:null,hcLight:null},c.kg("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),re=(u("merge.incomingContentBackground",f(ne,.4),c.kg("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.commonHeaderBackground",{dark:ee,light:ee,hcDark:null,hcLight:null},c.kg("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),ie=(u("merge.commonContentBackground",f(re,.4),c.kg("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),u("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},c.kg("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."))),se=(u("editorOverviewRuler.currentContentForeground",{dark:f(te,1),light:f(te,1),hcDark:ie,hcLight:ie},c.kg("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.incomingContentForeground",{dark:f(ne,1),light:f(ne,1),hcDark:ie,hcLight:ie},c.kg("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.commonContentForeground",{dark:f(re,1),light:f(re,1),hcDark:ie,hcLight:ie},c.kg("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts.")),u("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},c.kg("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),u("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",c.kg("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),u("problemsErrorIcon.foreground",D,c.kg("problemsErrorIconForeground","The color used for the problems error icon.")),u("problemsWarningIcon.foreground",F,c.kg("problemsWarningIconForeground","The color used for the problems warning icon.")),u("problemsInfoIcon.foreground",V,c.kg("problemsInfoIconForeground","The color used for the problems info icon.")),u("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},c.kg("minimapFindMatchHighlight","Minimap marker color for find matches."),!0)),oe=(u("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},c.kg("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),u("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},c.kg("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),u("minimap.infoHighlight",{dark:V,light:V,hcDark:z,hcLight:z},c.kg("minimapInfo","Minimap marker color for infos."))),ae=u("minimap.warningHighlight",{dark:F,light:F,hcDark:P,hcLight:P},c.kg("overviewRuleWarning","Minimap marker color for warnings.")),le=u("minimap.errorHighlight",{dark:new s.Q1(new s.bU(255,18,18,.7)),light:new s.Q1(new s.bU(255,18,18,.7)),hcDark:new s.Q1(new s.bU(255,50,50,1)),hcLight:"#B5200D"},c.kg("minimapError","Minimap marker color for errors.")),ce=(u("minimap.background",null,c.kg("minimapBackground","Minimap background color.")),u("minimap.foregroundOpacity",s.Q1.fromHex("#000f"),c.kg("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),u("minimapSlider.background",f(N,.5),c.kg("minimapSliderBackground","Minimap slider background color.")),u("minimapSlider.hoverBackground",f(T,.5),c.kg("minimapSliderHoverBackground","Minimap slider background color when hovering.")),u("minimapSlider.activeBackground",f(A,.5),c.kg("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),u("charts.foreground",C,c.kg("chartsForeground","The foreground color used in charts.")),u("charts.lines",f(C,.5),c.kg("chartsLines","The color used for horizontal lines in charts.")),u("charts.red",D,c.kg("chartsRed","The red color used in chart visualizations.")),u("charts.blue",V,c.kg("chartsBlue","The blue color used in chart visualizations.")),u("charts.yellow",F,c.kg("chartsYellow","The yellow color used in chart visualizations.")),u("charts.orange",se,c.kg("chartsOrange","The orange color used in chart visualizations.")),u("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},c.kg("chartsGreen","The green color used in chart visualizations.")),u("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},c.kg("chartsPurple","The purple color used in chart visualizations.")),u("input.background",{dark:"#3C3C3C",light:s.Q1.white,hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("inputBoxBackground","Input box background.")),u("input.foreground",C,c.kg("inputBoxForeground","Input box foreground.")),u("input.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("inputBoxBorder","Input box border.")),u("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:w,hcLight:w},c.kg("inputBoxActiveOptionBorder","Border color of activated options in input fields."))),he=u("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},c.kg("inputOption.hoverBackground","Background color of activated options in input fields.")),ue=u("inputOption.activeBackground",{dark:f(L,.4),light:f(L,.2),hcDark:s.Q1.transparent,hcLight:s.Q1.transparent},c.kg("inputOption.activeBackground","Background hover color of options in input fields.")),de=u("inputOption.activeForeground",{dark:s.Q1.white,light:s.Q1.black,hcDark:C,hcLight:C},c.kg("inputOption.activeForeground","Foreground color of activated options in input fields.")),ge=(u("input.placeholderForeground",{light:f(C,.5),dark:f(C,.5),hcDark:f(C,.7),hcLight:f(C,.7)},c.kg("inputPlaceholderForeground","Input box foreground color for placeholder text.")),u("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("inputValidationInfoBackground","Input validation background color for information severity.")),u("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:C},c.kg("inputValidationInfoForeground","Input validation foreground color for information severity.")),u("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:w,hcLight:w},c.kg("inputValidationInfoBorder","Input validation border color for information severity.")),u("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("inputValidationWarningBackground","Input validation background color for warning severity.")),u("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:C},c.kg("inputValidationWarningForeground","Input validation foreground color for warning severity.")),u("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:w,hcLight:w},c.kg("inputValidationWarningBorder","Input validation border color for warning severity.")),u("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("inputValidationErrorBackground","Input validation background color for error severity.")),u("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:C},c.kg("inputValidationErrorForeground","Input validation foreground color for error severity.")),u("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:w,hcLight:w},c.kg("inputValidationErrorBorder","Input validation border color for error severity.")),u("dropdown.background",{dark:"#3C3C3C",light:s.Q1.white,hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("dropdownBackground","Dropdown background."))),fe=(u("dropdown.listBackground",{dark:null,light:null,hcDark:s.Q1.black,hcLight:s.Q1.white},c.kg("dropdownListBackground","Dropdown list background.")),u("dropdown.foreground",{dark:"#F0F0F0",light:C,hcDark:s.Q1.white,hcLight:C},c.kg("dropdownForeground","Dropdown foreground."))),me=u("dropdown.border",{dark:ge,light:"#CECECE",hcDark:w,hcLight:w},c.kg("dropdownBorder","Dropdown border.")),pe=u("button.foreground",s.Q1.white,c.kg("buttonForeground","Button foreground color.")),be=(u("button.separator",f(pe,.4),c.kg("buttonSeparator","Button separator color.")),u("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},c.kg("buttonBackground","Button background color."))),_e=(u("button.hoverBackground",{dark:g(be,.2),light:d(be,.2),hcDark:be,hcLight:be},c.kg("buttonHoverBackground","Button background color when hovering.")),u("button.border",w,c.kg("buttonBorder","Button border color.")),u("button.secondaryForeground",{dark:s.Q1.white,light:s.Q1.white,hcDark:s.Q1.white,hcLight:C},c.kg("buttonSecondaryForeground","Secondary button foreground color.")),u("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:s.Q1.white},c.kg("buttonSecondaryBackground","Secondary button background color."))),ke=(u("button.secondaryHoverBackground",{dark:g(_e,.2),light:d(_e,.2),hcDark:null,hcLight:null},c.kg("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),u("radio.activeForeground",de,c.kg("radioActiveForeground","Foreground color of active radio option."))),ve=(u("radio.activeBackground",ue,c.kg("radioBackground","Background color of active radio option.")),u("radio.activeBorder",ce,c.kg("radioActiveBorder","Border color of the active radio option.")),u("radio.inactiveForeground",null,c.kg("radioInactiveForeground","Foreground color of inactive radio option.")),u("radio.inactiveBackground",null,c.kg("radioInactiveBackground","Background color of inactive radio option.")),u("radio.inactiveBorder",{light:f(ke,.2),dark:f(ke,.2),hcDark:f(ke,.4),hcLight:f(ke,.2)},c.kg("radioInactiveBorder","Border color of the inactive radio option.")),u("radio.inactiveHoverBackground",he,c.kg("radioHoverBackground","Background color of inactive active radio option when hovering.")),u("checkbox.background",ge,c.kg("checkbox.background","Background color of checkbox widget.")),u("checkbox.selectBackground",O,c.kg("checkbox.select.background","Background color of checkbox widget when the element it's in is selected.")),u("checkbox.foreground",fe,c.kg("checkbox.foreground","Foreground color of checkbox widget.")),u("checkbox.border",me,c.kg("checkbox.border","Border color of checkbox widget.")),u("checkbox.selectBorder",y,c.kg("checkbox.select.border","Border color of checkbox widget when the element it's in is selected.")),u("keybindingLabel.background",{dark:new s.Q1(new s.bU(128,128,128,.17)),light:new s.Q1(new s.bU(221,221,221,.4)),hcDark:s.Q1.transparent,hcLight:s.Q1.transparent},c.kg("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.foreground",{dark:s.Q1.fromHex("#CCCCCC"),light:s.Q1.fromHex("#555555"),hcDark:s.Q1.white,hcLight:C},c.kg("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.border",{dark:new s.Q1(new s.bU(51,51,51,.6)),light:new s.Q1(new s.bU(204,204,204,.4)),hcDark:new s.Q1(new s.bU(111,195,223)),hcLight:w},c.kg("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),u("keybindingLabel.bottomBorder",{dark:new s.Q1(new s.bU(68,68,68,.6)),light:new s.Q1(new s.bU(187,187,187,.4)),hcDark:new s.Q1(new s.bU(111,195,223)),hcLight:C},c.kg("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),u("list.focusBackground",null,c.kg("listFocusBackground","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.")),u("list.focusForeground",null,c.kg("listFocusForeground","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.")),u("list.focusOutline",{dark:L,light:L,hcDark:S,hcLight:S},c.kg("listFocusOutline","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.")),u("list.focusAndSelectionOutline",null,c.kg("listFocusAndSelectionOutline","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.")),u("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},c.kg("listActiveSelectionBackground","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."))),Ce=u("list.activeSelectionForeground",{dark:s.Q1.white,light:s.Q1.white,hcDark:null,hcLight:null},c.kg("listActiveSelectionForeground","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.")),ye=u("list.activeSelectionIconForeground",null,c.kg("listActiveSelectionIconForeground","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.")),Le=(u("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},c.kg("listInactiveSelectionBackground","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.")),u("list.inactiveSelectionForeground",null,c.kg("listInactiveSelectionForeground","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.")),u("list.inactiveSelectionIconForeground",null,c.kg("listInactiveSelectionIconForeground","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.")),u("list.inactiveFocusBackground",null,c.kg("listInactiveFocusBackground","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.")),u("list.inactiveFocusOutline",null,c.kg("listInactiveFocusOutline","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.")),u("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:s.Q1.white.transparent(.1),hcLight:s.Q1.fromHex("#0F4A85").transparent(.1)},c.kg("listHoverBackground","List/Tree background when hovering over items using the mouse.")),u("list.hoverForeground",null,c.kg("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),u("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},c.kg("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),u("list.dropBetweenBackground",{dark:y,light:y,hcDark:null,hcLight:null},c.kg("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),u("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:L,hcLight:L},c.kg("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")));u("list.focusHighlightForeground",{dark:Le,light:(we=ve,Se=Le,xe="#BBE7FF",{op:6,if:we,then:Se,else:xe}),hcDark:Le,hcLight:Le},c.kg("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var we,Se,xe;u("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},c.kg("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),u("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},c.kg("listErrorForeground","Foreground color of list items containing errors.")),u("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},c.kg("listWarningForeground","Foreground color of list items containing warnings.")),u("listFilterWidget.background",{light:d(O,0),dark:g(O,0),hcDark:O,hcLight:O},c.kg("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),u("listFilterWidget.outline",{dark:s.Q1.transparent,light:s.Q1.transparent,hcDark:"#f38518",hcLight:"#007ACC"},c.kg("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),u("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:w,hcLight:w},c.kg("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),u("listFilterWidget.shadow",J,c.kg("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees.")),u("list.filterMatchBackground",{dark:q,light:q,hcDark:null,hcLight:null},c.kg("listFilterMatchHighlight","Background color of the filtered match.")),u("list.filterMatchBorder",{dark:W,light:W,hcDark:w,hcLight:S},c.kg("listFilterMatchHighlightBorder","Border color of the filtered match.")),u("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},c.kg("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const Ee=u("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},c.kg("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),Ne=(u("tree.inactiveIndentGuidesStroke",f(Ee,.4),c.kg("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),u("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},c.kg("tableColumnsBorder","Table border color between columns.")),u("tree.tableOddRowsBackground",{dark:f(C,.04),light:f(C,.04),hcDark:null,hcLight:null},c.kg("tableOddRowsBackgroundColor","Background color for odd table rows.")),u("editorActionList.background",O,c.kg("editorActionListBackground","Action List background color.")),u("editorActionList.foreground",M,c.kg("editorActionListForeground","Action List foreground color.")),u("editorActionList.focusForeground",Ce,c.kg("editorActionListFocusForeground","Action List foreground color for the focused item.")),u("editorActionList.focusBackground",ve,c.kg("editorActionListFocusBackground","Action List background color for the focused item.")),u("menu.border",{dark:null,light:null,hcDark:w,hcLight:w},c.kg("menuBorder","Border color of menus.")),u("menu.foreground",fe,c.kg("menuForeground","Foreground color of menu items.")),u("menu.background",ge,c.kg("menuBackground","Background color of menu items.")),u("menu.selectionForeground",Ce,c.kg("menuSelectionForeground","Foreground color of the selected menu item in menus.")),u("menu.selectionBackground",ve,c.kg("menuSelectionBackground","Background color of the selected menu item in menus.")),u("menu.selectionBorder",{dark:null,light:null,hcDark:S,hcLight:S},c.kg("menuSelectionBorder","Border color of the selected menu item in menus.")),u("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:w,hcLight:w},c.kg("menuSeparatorBackground","Color of a separator menu item in menus.")),u("quickInput.background",O,c.kg("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),u("quickInput.foreground",M,c.kg("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),u("quickInputTitle.background",{dark:new s.Q1(new s.bU(255,255,255,.105)),light:new s.Q1(new s.bU(0,0,0,.06)),hcDark:"#000000",hcLight:s.Q1.white},c.kg("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),u("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:s.Q1.white,hcLight:"#0F4A85"},c.kg("pickerGroupForeground","Quick picker color for grouping labels.")),u("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:s.Q1.white,hcLight:"#0F4A85"},c.kg("pickerGroupBorder","Quick picker color for grouping borders.")),u("quickInput.list.focusBackground",null,"",void 0,c.kg("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")));u("quickInputList.focusForeground",Ce,c.kg("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),u("quickInputList.focusIconForeground",ye,c.kg("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),u("quickInputList.focusBackground",{dark:m(Ne,ve),light:m(Ne,ve),hcDark:null,hcLight:null},c.kg("quickInput.listFocusBackground","Quick picker background color for the focused item.")),u("search.resultsInfoForeground",{light:C,dark:f(C,.65),hcDark:C,hcLight:C},c.kg("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),u("searchEditor.findMatchBackground",{light:f(q,.66),dark:f(q,.66),hcDark:q,hcLight:q},c.kg("searchEditor.queryMatch","Color of the Search Editor query matches.")),u("searchEditor.findMatchBorder",{light:f(W,.66),dark:f(W,.66),hcDark:W,hcLight:W},c.kg("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."))},6001:(e,t,n)=>{"use strict";n.d(t,{Gy:()=>l,zy:()=>u,Yf:()=>c});var r,i=n(2106),s=n(2446),o=n(2399),a=n(7167);!function(e){e.DARK="dark",e.LIGHT="light",e.HIGH_CONTRAST_DARK="hcDark",e.HIGH_CONTRAST_LIGHT="hcLight"}(r||(r={}));const l=(0,o.u1)("themeService");function c(e){return{id:e}}const h=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new i.vl}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),(0,s.s)((()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function u(e){return h.onColorThemeChange(e)}a.O.add("base.contributions.theming",h);s.jG}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.e=()=>Promise.resolve(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e=n(5585),t=n(1684),r=n(6358);let i=!1;function s(n){if(i)return;i=!0;const s=new e.SimpleWorkerServer((e=>{globalThis.postMessage(e)}),(e=>new t.EditorSimpleWorker(r.EditorWorkerHost.getChannel(e),n)));globalThis.onmessage=e=>{s.onmessage(e.data)}}function o(e,t=!1){const n=e.length;let r=0,i="",s=0,o=16,h=0,u=0,d=0,g=0,f=0;function m(t,n){let i=0,s=0;for(;i<t||!n;){let t=e.charCodeAt(r);if(t>=48&&t<=57)s=16*s+t-48;else if(t>=65&&t<=70)s=16*s+t-65+10;else{if(!(t>=97&&t<=102))break;s=16*s+t-97+10}r++,i++}return i<t&&(s=-1),s}function p(){if(i="",f=0,s=r,u=h,g=d,r>=n)return s=n,o=17;let t=e.charCodeAt(r);if(a(t)){do{r++,i+=String.fromCharCode(t),t=e.charCodeAt(r)}while(a(t));return o=15}if(l(t))return r++,i+=String.fromCharCode(t),13===t&&10===e.charCodeAt(r)&&(r++,i+="\n"),h++,d=r,o=14;switch(t){case 123:return r++,o=1;case 125:return r++,o=2;case 91:return r++,o=3;case 93:return r++,o=4;case 58:return r++,o=6;case 44:return r++,o=5;case 34:return r++,i=function(){let t="",i=r;for(;;){if(r>=n){t+=e.substring(i,r),f=2;break}const s=e.charCodeAt(r);if(34===s){t+=e.substring(i,r),r++;break}if(92!==s){if(s>=0&&s<=31){if(l(s)){t+=e.substring(i,r),f=2;break}f=6}r++}else{if(t+=e.substring(i,r),r++,r>=n){f=2;break}switch(e.charCodeAt(r++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:const e=m(4,!0);e>=0?t+=String.fromCharCode(e):f=4;break;default:f=5}i=r}}return t}(),o=10;case 47:const a=r-1;if(47===e.charCodeAt(r+1)){for(r+=2;r<n&&!l(e.charCodeAt(r));)r++;return i=e.substring(a,r),o=12}if(42===e.charCodeAt(r+1)){r+=2;const t=n-1;let s=!1;for(;r<t;){const t=e.charCodeAt(r);if(42===t&&47===e.charCodeAt(r+1)){r+=2,s=!0;break}r++,l(t)&&(13===t&&10===e.charCodeAt(r)&&r++,h++,d=r)}return s||(r++,f=1),i=e.substring(a,r),o=13}return i+=String.fromCharCode(t),r++,o=16;case 45:if(i+=String.fromCharCode(t),r++,r===n||!c(e.charCodeAt(r)))return o=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=function(){let t=r;if(48===e.charCodeAt(r))r++;else for(r++;r<e.length&&c(e.charCodeAt(r));)r++;if(r<e.length&&46===e.charCodeAt(r)){if(r++,!(r<e.length&&c(e.charCodeAt(r))))return f=3,e.substring(t,r);for(r++;r<e.length&&c(e.charCodeAt(r));)r++}let n=r;if(r<e.length&&(69===e.charCodeAt(r)||101===e.charCodeAt(r)))if(r++,(r<e.length&&43===e.charCodeAt(r)||45===e.charCodeAt(r))&&r++,r<e.length&&c(e.charCodeAt(r))){for(r++;r<e.length&&c(e.charCodeAt(r));)r++;n=r}else f=3;return e.substring(t,n)}(),o=11;default:for(;r<n&&b(t);)r++,t=e.charCodeAt(r);if(s!==r){switch(i=e.substring(s,r),i){case"true":return o=8;case"false":return o=9;case"null":return o=7}return o=16}return i+=String.fromCharCode(t),r++,o=16}}function b(e){if(a(e)||l(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}return{setPosition:function(e){r=e,i="",s=0,o=16,f=0},getPosition:()=>r,scan:t?function(){let e;do{e=p()}while(e>=12&&e<=15);return e}:p,getToken:()=>o,getTokenValue:()=>i,getTokenOffset:()=>s,getTokenLength:()=>r-s,getTokenStartLine:()=>u,getTokenStartCharacter:()=>s-g,getTokenError:()=>f}}function a(e){return 32===e||9===e}function l(e){return 10===e||13===e}function c(e){return e>=48&&e<=57}var h,u;globalThis.onmessage=e=>{i||s(null)},(u=h||(h={}))[u.lineFeed=10]="lineFeed",u[u.carriageReturn=13]="carriageReturn",u[u.space=32]="space",u[u._0=48]="_0",u[u._1=49]="_1",u[u._2=50]="_2",u[u._3=51]="_3",u[u._4=52]="_4",u[u._5=53]="_5",u[u._6=54]="_6",u[u._7=55]="_7",u[u._8=56]="_8",u[u._9=57]="_9",u[u.a=97]="a",u[u.b=98]="b",u[u.c=99]="c",u[u.d=100]="d",u[u.e=101]="e",u[u.f=102]="f",u[u.g=103]="g",u[u.h=104]="h",u[u.i=105]="i",u[u.j=106]="j",u[u.k=107]="k",u[u.l=108]="l",u[u.m=109]="m",u[u.n=110]="n",u[u.o=111]="o",u[u.p=112]="p",u[u.q=113]="q",u[u.r=114]="r",u[u.s=115]="s",u[u.t=116]="t",u[u.u=117]="u",u[u.v=118]="v",u[u.w=119]="w",u[u.x=120]="x",u[u.y=121]="y",u[u.z=122]="z",u[u.A=65]="A",u[u.B=66]="B",u[u.C=67]="C",u[u.D=68]="D",u[u.E=69]="E",u[u.F=70]="F",u[u.G=71]="G",u[u.H=72]="H",u[u.I=73]="I",u[u.J=74]="J",u[u.K=75]="K",u[u.L=76]="L",u[u.M=77]="M",u[u.N=78]="N",u[u.O=79]="O",u[u.P=80]="P",u[u.Q=81]="Q",u[u.R=82]="R",u[u.S=83]="S",u[u.T=84]="T",u[u.U=85]="U",u[u.V=86]="V",u[u.W=87]="W",u[u.X=88]="X",u[u.Y=89]="Y",u[u.Z=90]="Z",u[u.asterisk=42]="asterisk",u[u.backslash=92]="backslash",u[u.closeBrace=125]="closeBrace",u[u.closeBracket=93]="closeBracket",u[u.colon=58]="colon",u[u.comma=44]="comma",u[u.dot=46]="dot",u[u.doubleQuote=34]="doubleQuote",u[u.minus=45]="minus",u[u.openBrace=123]="openBrace",u[u.openBracket=91]="openBracket",u[u.plus=43]="plus",u[u.slash=47]="slash",u[u.formFeed=12]="formFeed",u[u.tab=9]="tab";var d,g=new Array(20).fill(0).map(((e,t)=>" ".repeat(t))),f=200,m={" ":{"\n":new Array(f).fill(0).map(((e,t)=>"\n"+" ".repeat(t))),"\r":new Array(f).fill(0).map(((e,t)=>"\r"+" ".repeat(t))),"\r\n":new Array(f).fill(0).map(((e,t)=>"\r\n"+" ".repeat(t)))},"\t":{"\n":new Array(f).fill(0).map(((e,t)=>"\n"+"\t".repeat(t))),"\r":new Array(f).fill(0).map(((e,t)=>"\r"+"\t".repeat(t))),"\r\n":new Array(f).fill(0).map(((e,t)=>"\r\n"+"\t".repeat(t)))}},p=["\n","\r","\r\n"];function b(e,t,n){let r,i,s,a,l;if(t){for(a=t.offset,l=a+t.length,s=a;s>0&&!k(e,s-1);)s--;let o=l;for(;o<e.length&&!k(e,o);)o++;i=e.substring(s,o),r=function(e,t){let n=0,r=0;const i=t.tabSize||4;for(;n<e.length;){let t=e.charAt(n);if(t===g[1])r++;else{if("\t"!==t)break;r+=i}n++}return Math.floor(r/i)}(i,n)}else i=e,r=0,s=0,a=0,l=e.length;const c=function(e,t){for(let n=0;n<t.length;n++){const e=t.charAt(n);if("\r"===e)return n+1<t.length&&"\n"===t.charAt(n+1)?"\r\n":"\r";if("\n"===e)return"\n"}return e&&e.eol||"\n"}(n,e),h=p.includes(c);let u,d=0,f=0;u=n.insertSpaces?g[n.tabSize||4]??_(g[1],n.tabSize||4):"\t";const b="\t"===u?"\t":" ";let v=o(i,!1),C=!1;function y(){if(d>1)return _(c,d)+_(u,r+f);const e=u.length*(r+f);return!h||e>m[b][c].length?c+_(u,r+f):e<=0?c:m[b][c][e]}function L(){let e=v.scan();for(d=0;15===e||14===e;)14===e&&n.keepLines?d+=1:14===e&&(d=1),e=v.scan();return C=16===e||0!==v.getTokenError(),e}const w=[];function S(n,r,i){C||t&&!(r<l&&i>a)||e.substring(r,i)===n||w.push({offset:r,length:i-r,content:n})}let x=L();if(n.keepLines&&d>0&&S(_(c,d),0,0),17!==x){let e=v.getTokenOffset()+s;S(u.length*r<20&&n.insertSpaces?g[u.length*r]:_(u,r),s,e)}for(;17!==x;){let e=v.getTokenOffset()+v.getTokenLength()+s,t=L(),r="",i=!1;for(;0===d&&(12===t||13===t);){let n=v.getTokenOffset()+s;S(g[1],e,n),e=v.getTokenOffset()+v.getTokenLength()+s,i=12===t,r=i?y():"",t=L()}if(2===t)1!==x&&f--,n.keepLines&&d>0||!n.keepLines&&1!==x?r=y():n.keepLines&&(r=g[1]);else if(4===t)3!==x&&f--,n.keepLines&&d>0||!n.keepLines&&3!==x?r=y():n.keepLines&&(r=g[1]);else{switch(x){case 3:case 1:f++,r=n.keepLines&&d>0||!n.keepLines?y():g[1];break;case 5:r=n.keepLines&&d>0||!n.keepLines?y():g[1];break;case 12:r=y();break;case 13:d>0?r=y():i||(r=g[1]);break;case 6:n.keepLines&&d>0?r=y():i||(r=g[1]);break;case 10:n.keepLines&&d>0?r=y():6!==t||i||(r="");break;case 7:case 8:case 9:case 11:case 2:case 4:n.keepLines&&d>0?r=y():12!==t&&13!==t||i?5!==t&&17!==t&&(C=!0):r=g[1];break;case 16:C=!0}d>0&&(12===t||13===t)&&(r=y())}17===t&&(r=n.keepLines&&d>0?y():n.insertFinalNewline?c:"");S(r,e,v.getTokenOffset()+s),x=t}return w}function _(e,t){let n="";for(let r=0;r<t;r++)n+=e;return n}function k(e,t){return-1!=="\r\n".indexOf(e.charAt(t))}(d||(d={})).DEFAULT={allowTrailingComma:!1};var v,C,y,L,w=o;(C=v||(v={}))[C.None=0]="None",C[C.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",C[C.UnexpectedEndOfString=2]="UnexpectedEndOfString",C[C.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",C[C.InvalidUnicode=4]="InvalidUnicode",C[C.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",C[C.InvalidCharacter=6]="InvalidCharacter",(L=y||(y={}))[L.OpenBraceToken=1]="OpenBraceToken",L[L.CloseBraceToken=2]="CloseBraceToken",L[L.OpenBracketToken=3]="OpenBracketToken",L[L.CloseBracketToken=4]="CloseBracketToken",L[L.CommaToken=5]="CommaToken",L[L.ColonToken=6]="ColonToken",L[L.NullKeyword=7]="NullKeyword",L[L.TrueKeyword=8]="TrueKeyword",L[L.FalseKeyword=9]="FalseKeyword",L[L.StringLiteral=10]="StringLiteral",L[L.NumericLiteral=11]="NumericLiteral",L[L.LineCommentTrivia=12]="LineCommentTrivia",L[L.BlockCommentTrivia=13]="BlockCommentTrivia",L[L.LineBreakTrivia=14]="LineBreakTrivia",L[L.Trivia=15]="Trivia",L[L.Unknown=16]="Unknown",L[L.EOF=17]="EOF";var S,x,E,N,T,A,I,O,M,R,D,B,F,P,V,z,j,q,W,U,$,H,K,G,Q,J,X,Y,Z,ee,te,ne,re,ie,se,oe,ae,le,ce,he,ue,de,ge,fe,me,pe,be,_e,ke,ve,Ce,ye,Le,we,Se,xe,Ee,Ne,Te,Ae,Ie,Oe,Me,Re,De,Be,Fe,Pe,Ve,ze,je,qe,We,Ue,$e,He,Ke,Ge,Qe,Je,Xe,Ye,Ze,et,tt,nt,rt,it,st,ot,at,lt,ct,ht,ut,dt,gt,ft,mt,pt,bt,_t,kt,vt,Ct,yt,Lt,wt,St,xt,Et,Nt,Tt,At,It,Ot,Mt,Rt,Dt,Bt,Ft,Pt,Vt,zt,jt,qt,Wt,Ut,$t,Ht,Kt,Gt,Qt,Jt,Xt,Yt=function(e,t=[],n=d.DEFAULT){let r=null,i=[];const s=[];function a(e){Array.isArray(i)?i.push(e):null!==r&&(i[r]=e)}return function(e,t,n=d.DEFAULT){const r=o(e,!1),i=[];function s(e){return e?()=>e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function a(e){return e?()=>e(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),(()=>i.slice())):()=>!0}function l(e){return e?t=>e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function c(e){return e?t=>e(t,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),(()=>i.slice())):()=>!0}const h=a(t.onObjectBegin),u=c(t.onObjectProperty),g=s(t.onObjectEnd),f=a(t.onArrayBegin),m=s(t.onArrayEnd),p=c(t.onLiteralValue),b=l(t.onSeparator),_=s(t.onComment),k=l(t.onError),v=n&&n.disallowComments,C=n&&n.allowTrailingComma;function y(){for(;;){const e=r.scan();switch(r.getTokenError()){case 4:L(14);break;case 5:L(15);break;case 3:L(13);break;case 1:v||L(11);break;case 2:L(12);break;case 6:L(16)}switch(e){case 12:case 13:v?L(10):_();break;case 16:L(1);break;case 15:case 14:break;default:return e}}}function L(e,t=[],n=[]){if(k(e),t.length+n.length>0){let e=r.getToken();for(;17!==e;){if(-1!==t.indexOf(e)){y();break}if(-1!==n.indexOf(e))break;e=y()}}}function w(e){const t=r.getTokenValue();return e?p(t):(u(t),i.push(t)),y(),!0}function S(){switch(r.getToken()){case 11:const e=r.getTokenValue();let t=Number(e);isNaN(t)&&(L(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}function x(){return 10!==r.getToken()?(L(3,[],[2,5]),!1):(w(!1),6===r.getToken()?(b(":"),y(),T()||L(4,[],[2,5])):L(5,[],[2,5]),i.pop(),!0)}function E(){h(),y();let e=!1;for(;2!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(e||L(4,[],[]),b(","),y(),2===r.getToken()&&C)break}else e&&L(6,[],[]);x()||L(4,[],[2,5]),e=!0}return g(),2!==r.getToken()?L(7,[2],[]):y(),!0}function N(){f(),y();let e=!0,t=!1;for(;4!==r.getToken()&&17!==r.getToken();){if(5===r.getToken()){if(t||L(4,[],[]),b(","),y(),4===r.getToken()&&C)break}else t&&L(6,[],[]);e?(i.push(0),e=!1):i[i.length-1]++,T()||L(4,[],[4,5]),t=!0}return m(),e||i.pop(),4!==r.getToken()?L(8,[4],[]):y(),!0}function T(){switch(r.getToken()){case 3:return N();case 1:return E();case 10:return w(!0);default:return S()}}if(y(),17===r.getToken())return!!n.allowEmptyContent||(L(4,[],[]),!1);if(!T())return L(4,[],[]),!1;17!==r.getToken()&&L(9,[],[])}(e,{onObjectBegin:()=>{const e={};a(e),s.push(i),i=e,r=null},onObjectProperty:e=>{r=e},onObjectEnd:()=>{i=s.pop()},onArrayBegin:()=>{const e=[];a(e),s.push(i),i=e,r=null},onArrayEnd:()=>{i=s.pop()},onLiteralValue:a,onError:(e,n,r)=>{t.push({error:e,offset:n,length:r})}},n),i[0]},Zt=function e(t,n,r=!1){if(function(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}(t,n,r)){const i=t.children;if(Array.isArray(i))for(let t=0;t<i.length&&i[t].offset<=n;t++){const s=e(i[t],n,r);if(s)return s}return t}},en=function e(t){if(!t.parent||!t.parent.children)return[];const n=e(t.parent);if("property"===t.parent.type){const e=t.parent.children[0].value;n.push(e)}else if("array"===t.parent.type){const e=t.parent.children.indexOf(t);-1!==e&&n.push(e)}return n},tn=function e(t){switch(t.type){case"array":return t.children.map(e);case"object":const n=Object.create(null);for(let r of t.children){const t=r.children[1];t&&(n[r.children[0].value]=e(t))}return n;case"null":case"string":case"number":case"boolean":return t.value;default:return}};function nn(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,r;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(!nn(e[n],t[n]))return!1}else{const i=[];for(r in e)i.push(r);i.sort();const s=[];for(r in t)s.push(r);if(s.sort(),!nn(i,s))return!1;for(n=0;n<i.length;n++)if(!nn(e[i[n]],t[i[n]]))return!1}return!0}function rn(e){return"number"==typeof e}function sn(e){return void 0!==e}function on(e){return"boolean"==typeof e}function an(e){return"string"==typeof e}function ln(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function cn(e,t){const n=e.length-t.length;return n>0?e.lastIndexOf(t)===n:0===n&&e===t}function hn(e){let t="";(function(e,t){if(e.length<t.length)return!1;for(let n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0})(e,"(?i)")&&(e=e.substring(4),t="i");try{return new RegExp(e,t+"u")}catch(n){try{return new RegExp(e,t)}catch(r){return}}}function un(e){let t=0;for(let n=0;n<e.length;n++){t++;const r=e.charCodeAt(n);55296<=r&&r<=56319&&n++}return t}(x=S||(S={}))[x.InvalidSymbol=1]="InvalidSymbol",x[x.InvalidNumberFormat=2]="InvalidNumberFormat",x[x.PropertyNameExpected=3]="PropertyNameExpected",x[x.ValueExpected=4]="ValueExpected",x[x.ColonExpected=5]="ColonExpected",x[x.CommaExpected=6]="CommaExpected",x[x.CloseBraceExpected=7]="CloseBraceExpected",x[x.CloseBracketExpected=8]="CloseBracketExpected",x[x.EndOfFileExpected=9]="EndOfFileExpected",x[x.InvalidCommentToken=10]="InvalidCommentToken",x[x.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",x[x.UnexpectedEndOfString=12]="UnexpectedEndOfString",x[x.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",x[x.InvalidUnicode=14]="InvalidUnicode",x[x.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",x[x.InvalidCharacter=16]="InvalidCharacter",(E||(E={})).is=function(e){return"string"==typeof e},(N||(N={})).is=function(e){return"string"==typeof e},(A=T||(T={})).MIN_VALUE=-2147483648,A.MAX_VALUE=2147483647,A.is=function(e){return"number"==typeof e&&A.MIN_VALUE<=e&&e<=A.MAX_VALUE},(O=I||(I={})).MIN_VALUE=0,O.MAX_VALUE=2147483647,O.is=function(e){return"number"==typeof e&&O.MIN_VALUE<=e&&e<=O.MAX_VALUE},(R=M||(M={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=I.MAX_VALUE),t===Number.MAX_VALUE&&(t=I.MAX_VALUE),{line:e,character:t}},R.is=function(e){let t=e;return dn.objectLiteral(t)&&dn.uinteger(t.line)&&dn.uinteger(t.character)},(B=D||(D={})).create=function(e,t,n,r){if(dn.uinteger(e)&&dn.uinteger(t)&&dn.uinteger(n)&&dn.uinteger(r))return{start:M.create(e,t),end:M.create(n,r)};if(M.is(e)&&M.is(t))return{start:e,end:t};throw new Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)},B.is=function(e){let t=e;return dn.objectLiteral(t)&&M.is(t.start)&&M.is(t.end)},(P=F||(F={})).create=function(e,t){return{uri:e,range:t}},P.is=function(e){let t=e;return dn.objectLiteral(t)&&D.is(t.range)&&(dn.string(t.uri)||dn.undefined(t.uri))},(z=V||(V={})).create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},z.is=function(e){let t=e;return dn.objectLiteral(t)&&D.is(t.targetRange)&&dn.string(t.targetUri)&&D.is(t.targetSelectionRange)&&(D.is(t.originSelectionRange)||dn.undefined(t.originSelectionRange))},(q=j||(j={})).create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},q.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.numberRange(t.red,0,1)&&dn.numberRange(t.green,0,1)&&dn.numberRange(t.blue,0,1)&&dn.numberRange(t.alpha,0,1)},(U=W||(W={})).create=function(e,t){return{range:e,color:t}},U.is=function(e){const t=e;return dn.objectLiteral(t)&&D.is(t.range)&&j.is(t.color)},(H=$||($={})).create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},H.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.string(t.label)&&(dn.undefined(t.textEdit)||le.is(t))&&(dn.undefined(t.additionalTextEdits)||dn.typedArray(t.additionalTextEdits,le.is))},(G=K||(K={})).Comment="comment",G.Imports="imports",G.Region="region",(J=Q||(Q={})).create=function(e,t,n,r,i,s){const o={startLine:e,endLine:t};return dn.defined(n)&&(o.startCharacter=n),dn.defined(r)&&(o.endCharacter=r),dn.defined(i)&&(o.kind=i),dn.defined(s)&&(o.collapsedText=s),o},J.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.uinteger(t.startLine)&&dn.uinteger(t.startLine)&&(dn.undefined(t.startCharacter)||dn.uinteger(t.startCharacter))&&(dn.undefined(t.endCharacter)||dn.uinteger(t.endCharacter))&&(dn.undefined(t.kind)||dn.string(t.kind))},(Y=X||(X={})).create=function(e,t){return{location:e,message:t}},Y.is=function(e){let t=e;return dn.defined(t)&&F.is(t.location)&&dn.string(t.message)},(ee=Z||(Z={})).Error=1,ee.Warning=2,ee.Information=3,ee.Hint=4,(ne=te||(te={})).Unnecessary=1,ne.Deprecated=2,(re||(re={})).is=function(e){const t=e;return dn.objectLiteral(t)&&dn.string(t.href)},(se=ie||(ie={})).create=function(e,t,n,r,i,s){let o={range:e,message:t};return dn.defined(n)&&(o.severity=n),dn.defined(r)&&(o.code=r),dn.defined(i)&&(o.source=i),dn.defined(s)&&(o.relatedInformation=s),o},se.is=function(e){var t;let n=e;return dn.defined(n)&&D.is(n.range)&&dn.string(n.message)&&(dn.number(n.severity)||dn.undefined(n.severity))&&(dn.integer(n.code)||dn.string(n.code)||dn.undefined(n.code))&&(dn.undefined(n.codeDescription)||dn.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(dn.string(n.source)||dn.undefined(n.source))&&(dn.undefined(n.relatedInformation)||dn.typedArray(n.relatedInformation,X.is))},(ae=oe||(oe={})).create=function(e,t,...n){let r={title:e,command:t};return dn.defined(n)&&n.length>0&&(r.arguments=n),r},ae.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.title)&&dn.string(t.command)},(ce=le||(le={})).replace=function(e,t){return{range:e,newText:t}},ce.insert=function(e,t){return{range:{start:e,end:e},newText:t}},ce.del=function(e){return{range:e,newText:""}},ce.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.string(t.newText)&&D.is(t.range)},(ue=he||(he={})).create=function(e,t,n){const r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},ue.is=function(e){const t=e;return dn.objectLiteral(t)&&dn.string(t.label)&&(dn.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(dn.string(t.description)||void 0===t.description)},(de||(de={})).is=function(e){const t=e;return dn.string(t)},(fe=ge||(ge={})).replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},fe.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},fe.del=function(e,t){return{range:e,newText:"",annotationId:t}},fe.is=function(e){const t=e;return le.is(t)&&(he.is(t.annotationId)||de.is(t.annotationId))},(pe=me||(me={})).create=function(e,t){return{textDocument:e,edits:t}},pe.is=function(e){let t=e;return dn.defined(t)&&Ne.is(t.textDocument)&&Array.isArray(t.edits)},(_e=be||(be={})).create=function(e,t,n){let r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},_e.is=function(e){let t=e;return t&&"create"===t.kind&&dn.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||dn.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||dn.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||de.is(t.annotationId))},(ve=ke||(ke={})).create=function(e,t,n,r){let i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},ve.is=function(e){let t=e;return t&&"rename"===t.kind&&dn.string(t.oldUri)&&dn.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||dn.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||dn.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||de.is(t.annotationId))},(ye=Ce||(Ce={})).create=function(e,t,n){let r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},ye.is=function(e){let t=e;return t&&"delete"===t.kind&&dn.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||dn.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||dn.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||de.is(t.annotationId))},(Le||(Le={})).is=function(e){let t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((e=>dn.string(e.kind)?be.is(e)||ke.is(e)||Ce.is(e):me.is(e))))},(Se=we||(we={})).create=function(e){return{uri:e}},Se.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.uri)},(Ee=xe||(xe={})).create=function(e,t){return{uri:e,version:t}},Ee.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.uri)&&dn.integer(t.version)},(Te=Ne||(Ne={})).create=function(e,t){return{uri:e,version:t}},Te.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.uri)&&(null===t.version||dn.integer(t.version))},(Ie=Ae||(Ae={})).create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},Ie.is=function(e){let t=e;return dn.defined(t)&&dn.string(t.uri)&&dn.string(t.languageId)&&dn.integer(t.version)&&dn.string(t.text)},(Me=Oe||(Oe={})).PlainText="plaintext",Me.Markdown="markdown",Me.is=function(e){const t=e;return t===Me.PlainText||t===Me.Markdown},(Re||(Re={})).is=function(e){const t=e;return dn.objectLiteral(e)&&Oe.is(t.kind)&&dn.string(t.value)},(Be=De||(De={})).Text=1,Be.Method=2,Be.Function=3,Be.Constructor=4,Be.Field=5,Be.Variable=6,Be.Class=7,Be.Interface=8,Be.Module=9,Be.Property=10,Be.Unit=11,Be.Value=12,Be.Enum=13,Be.Keyword=14,Be.Snippet=15,Be.Color=16,Be.File=17,Be.Reference=18,Be.Folder=19,Be.EnumMember=20,Be.Constant=21,Be.Struct=22,Be.Event=23,Be.Operator=24,Be.TypeParameter=25,(Pe=Fe||(Fe={})).PlainText=1,Pe.Snippet=2,(Ve||(Ve={})).Deprecated=1,(je=ze||(ze={})).create=function(e,t,n){return{newText:e,insert:t,replace:n}},je.is=function(e){const t=e;return t&&dn.string(t.newText)&&D.is(t.insert)&&D.is(t.replace)},(We=qe||(qe={})).asIs=1,We.adjustIndentation=2,(Ue||(Ue={})).is=function(e){const t=e;return t&&(dn.string(t.detail)||void 0===t.detail)&&(dn.string(t.description)||void 0===t.description)},($e||($e={})).create=function(e){return{label:e}},(He||(He={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(Ge=Ke||(Ke={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Ge.is=function(e){const t=e;return dn.string(t)||dn.objectLiteral(t)&&dn.string(t.language)&&dn.string(t.value)},(Qe||(Qe={})).is=function(e){let t=e;return!!t&&dn.objectLiteral(t)&&(Re.is(t.contents)||Ke.is(t.contents)||dn.typedArray(t.contents,Ke.is))&&(void 0===e.range||D.is(e.range))},(Je||(Je={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(Xe||(Xe={})).create=function(e,t,...n){let r={label:e};return dn.defined(t)&&(r.documentation=t),dn.defined(n)?r.parameters=n:r.parameters=[],r},(Ze=Ye||(Ye={})).Text=1,Ze.Read=2,Ze.Write=3,(et||(et={})).create=function(e,t){let n={range:e};return dn.number(t)&&(n.kind=t),n},(nt=tt||(tt={})).File=1,nt.Module=2,nt.Namespace=3,nt.Package=4,nt.Class=5,nt.Method=6,nt.Property=7,nt.Field=8,nt.Constructor=9,nt.Enum=10,nt.Interface=11,nt.Function=12,nt.Variable=13,nt.Constant=14,nt.String=15,nt.Number=16,nt.Boolean=17,nt.Array=18,nt.Object=19,nt.Key=20,nt.Null=21,nt.EnumMember=22,nt.Struct=23,nt.Event=24,nt.Operator=25,nt.TypeParameter=26,(rt||(rt={})).Deprecated=1,(it||(it={})).create=function(e,t,n,r,i){let s={name:e,kind:t,location:{uri:r,range:n}};return i&&(s.containerName=i),s},(st||(st={})).create=function(e,t,n,r){return void 0!==r?{name:e,kind:t,location:{uri:n,range:r}}:{name:e,kind:t,location:{uri:n}}},(at=ot||(ot={})).create=function(e,t,n,r,i,s){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return void 0!==s&&(o.children=s),o},at.is=function(e){let t=e;return t&&dn.string(t.name)&&dn.number(t.kind)&&D.is(t.range)&&D.is(t.selectionRange)&&(void 0===t.detail||dn.string(t.detail))&&(void 0===t.deprecated||dn.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))},(ct=lt||(lt={})).Empty="",ct.QuickFix="quickfix",ct.Refactor="refactor",ct.RefactorExtract="refactor.extract",ct.RefactorInline="refactor.inline",ct.RefactorRewrite="refactor.rewrite",ct.Source="source",ct.SourceOrganizeImports="source.organizeImports",ct.SourceFixAll="source.fixAll",(ut=ht||(ht={})).Invoked=1,ut.Automatic=2,(gt=dt||(dt={})).create=function(e,t,n){let r={diagnostics:e};return null!=t&&(r.only=t),null!=n&&(r.triggerKind=n),r},gt.is=function(e){let t=e;return dn.defined(t)&&dn.typedArray(t.diagnostics,ie.is)&&(void 0===t.only||dn.typedArray(t.only,dn.string))&&(void 0===t.triggerKind||t.triggerKind===ht.Invoked||t.triggerKind===ht.Automatic)},(mt=ft||(ft={})).create=function(e,t,n){let r={title:e},i=!0;return"string"==typeof t?(i=!1,r.kind=t):oe.is(t)?r.command=t:r.edit=t,i&&void 0!==n&&(r.kind=n),r},mt.is=function(e){let t=e;return t&&dn.string(t.title)&&(void 0===t.diagnostics||dn.typedArray(t.diagnostics,ie.is))&&(void 0===t.kind||dn.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||oe.is(t.command))&&(void 0===t.isPreferred||dn.boolean(t.isPreferred))&&(void 0===t.edit||Le.is(t.edit))},(bt=pt||(pt={})).create=function(e,t){let n={range:e};return dn.defined(t)&&(n.data=t),n},bt.is=function(e){let t=e;return dn.defined(t)&&D.is(t.range)&&(dn.undefined(t.command)||oe.is(t.command))},(kt=_t||(_t={})).create=function(e,t){return{tabSize:e,insertSpaces:t}},kt.is=function(e){let t=e;return dn.defined(t)&&dn.uinteger(t.tabSize)&&dn.boolean(t.insertSpaces)},(Ct=vt||(vt={})).create=function(e,t,n){return{range:e,target:t,data:n}},Ct.is=function(e){let t=e;return dn.defined(t)&&D.is(t.range)&&(dn.undefined(t.target)||dn.string(t.target))},(Lt=yt||(yt={})).create=function(e,t){return{range:e,parent:t}},Lt.is=function(e){let t=e;return dn.objectLiteral(t)&&D.is(t.range)&&(void 0===t.parent||Lt.is(t.parent))},(St=wt||(wt={})).namespace="namespace",St.type="type",St.class="class",St.enum="enum",St.interface="interface",St.struct="struct",St.typeParameter="typeParameter",St.parameter="parameter",St.variable="variable",St.property="property",St.enumMember="enumMember",St.event="event",St.function="function",St.method="method",St.macro="macro",St.keyword="keyword",St.modifier="modifier",St.comment="comment",St.string="string",St.number="number",St.regexp="regexp",St.operator="operator",St.decorator="decorator",(Et=xt||(xt={})).declaration="declaration",Et.definition="definition",Et.readonly="readonly",Et.static="static",Et.deprecated="deprecated",Et.abstract="abstract",Et.async="async",Et.modification="modification",Et.documentation="documentation",Et.defaultLibrary="defaultLibrary",(Nt||(Nt={})).is=function(e){const t=e;return dn.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(At=Tt||(Tt={})).create=function(e,t){return{range:e,text:t}},At.is=function(e){const t=e;return null!=t&&D.is(t.range)&&dn.string(t.text)},(Ot=It||(It={})).create=function(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}},Ot.is=function(e){const t=e;return null!=t&&D.is(t.range)&&dn.boolean(t.caseSensitiveLookup)&&(dn.string(t.variableName)||void 0===t.variableName)},(Rt=Mt||(Mt={})).create=function(e,t){return{range:e,expression:t}},Rt.is=function(e){const t=e;return null!=t&&D.is(t.range)&&(dn.string(t.expression)||void 0===t.expression)},(Bt=Dt||(Dt={})).create=function(e,t){return{frameId:e,stoppedLocation:t}},Bt.is=function(e){const t=e;return dn.defined(t)&&D.is(e.stoppedLocation)},(Pt=Ft||(Ft={})).Type=1,Pt.Parameter=2,Pt.is=function(e){return 1===e||2===e},(zt=Vt||(Vt={})).create=function(e){return{value:e}},zt.is=function(e){const t=e;return dn.objectLiteral(t)&&(void 0===t.tooltip||dn.string(t.tooltip)||Re.is(t.tooltip))&&(void 0===t.location||F.is(t.location))&&(void 0===t.command||oe.is(t.command))},(qt=jt||(jt={})).create=function(e,t,n){const r={position:e,label:t};return void 0!==n&&(r.kind=n),r},qt.is=function(e){const t=e;return dn.objectLiteral(t)&&M.is(t.position)&&(dn.string(t.label)||dn.typedArray(t.label,Vt.is))&&(void 0===t.kind||Ft.is(t.kind))&&void 0===t.textEdits||dn.typedArray(t.textEdits,le.is)&&(void 0===t.tooltip||dn.string(t.tooltip)||Re.is(t.tooltip))&&(void 0===t.paddingLeft||dn.boolean(t.paddingLeft))&&(void 0===t.paddingRight||dn.boolean(t.paddingRight))},(Wt||(Wt={})).createSnippet=function(e){return{kind:"snippet",value:e}},(Ut||(Ut={})).create=function(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}},($t||($t={})).create=function(e){return{items:e}},(Kt=Ht||(Ht={})).Invoked=0,Kt.Automatic=1,(Gt||(Gt={})).create=function(e,t){return{range:e,text:t}},(Qt||(Qt={})).create=function(e,t){return{triggerKind:e,selectedCompletionInfo:t}},(Jt||(Jt={})).is=function(e){const t=e;return dn.objectLiteral(t)&&N.is(t.uri)&&dn.string(t.name)},function(e){function t(e,n){if(e.length<=1)return e;const r=e.length/2|0,i=e.slice(0,r),s=e.slice(r);t(i,n),t(s,n);let o=0,a=0,l=0;for(;o<i.length&&a<s.length;){let t=n(i[o],s[a]);e[l++]=t<=0?i[o++]:s[a++]}for(;o<i.length;)e[l++]=i[o++];for(;a<s.length;)e[l++]=s[a++];return e}e.create=function(e,t,n,r){return new gn(e,t,n,r)},e.is=function(e){let t=e;return!!(dn.defined(t)&&dn.string(t.uri)&&(dn.undefined(t.languageId)||dn.string(t.languageId))&&dn.uinteger(t.lineCount)&&dn.func(t.getText)&&dn.func(t.positionAt)&&dn.func(t.offsetAt))},e.applyEdits=function(e,n){let r=e.getText(),i=t(n,((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),s=r.length;for(let t=i.length-1;t>=0;t--){let n=i[t],o=e.offsetAt(n.range.start),a=e.offsetAt(n.range.end);if(!(a<=s))throw new Error("Overlapping edit");r=r.substring(0,o)+n.newText+r.substring(a,r.length),s=o}return r}}(Xt||(Xt={}));var dn,gn=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&(e.push(r),n=!1);let i=t.charAt(r);n="\r"===i||"\n"===i,"\r"===i&&r+1<t.length&&"\n"===t.charAt(r+1)&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return M.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return M.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}};!function(e){const t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.numberRange=function(e,n,r){return"[object Number]"===t.call(e)&&n<=e&&e<=r},e.integer=function(e){return"[object Number]"===t.call(e)&&-2147483648<=e&&e<=2147483647},e.uinteger=function(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(dn||(dn={}));var fn,mn,pn,bn,_n,kn,vn,Cn=class e{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(t,n){for(let r of t)if(e.isIncremental(r)){const e=wn(r.range),t=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,t)+r.text+this._content.substring(n,this._content.length);const i=Math.max(e.start.line,0),s=Math.max(e.end.line,0);let o=this._lineOffsets;const a=Ln(r.text,!1,t);if(s-i===a.length)for(let r=0,c=a.length;r<c;r++)o[r+i+1]=a[r];else a.length<1e4?o.splice(i+1,s-i,...a):this._lineOffsets=o=o.slice(0,i+1).concat(a,o.slice(s+1));const l=r.text.length-(n-t);if(0!==l)for(let r=i+1+a.length,c=o.length;r<c;r++)o[r]=o[r]+l}else{if(!e.isFull(r))throw new Error("Unknown change event received");this._content=r.text,this._lineOffsets=void 0}this._version=n}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=Ln(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return{line:0,character:e};for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)}static isFull(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength}};function yn(e,t){if(e.length<=1)return e;const n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);yn(r,t),yn(i,t);let s=0,o=0,a=0;for(;s<r.length&&o<i.length;){let n=t(r[s],i[o]);e[a++]=n<=0?r[s++]:i[o++]}for(;s<r.length;)e[a++]=r[s++];for(;o<i.length;)e[a++]=i[o++];return e}function Ln(e,t,n=0){const r=t?[n]:[];for(let i=0;i<e.length;i++){let t=e.charCodeAt(i);13!==t&&10!==t||(13===t&&i+1<e.length&&10===e.charCodeAt(i+1)&&i++,r.push(n+i+1))}return r}function wn(e){const t=e.start,n=e.end;return t.line>n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sn(e){const t=wn(e.range);return t!==e.range?{newText:e.newText,range:t}:e}function xn(...e){const t=e[0];let n,r,i;if("string"==typeof t)n=t,r=t,e.splice(0,1),i=e&&"object"==typeof e[0]?e[0]:e;else{if(t instanceof Array){const n=e.slice(1);if(t.length!==n.length+1)throw new Error("expected a string as the first argument to l10n.t");let r=t[0];for(let e=1;e<t.length;e++)r+=`{${e-1}}`+t[e];return xn(r,...n)}r=t.message,n=r,t.comment&&t.comment.length>0&&(n+=`/${Array.isArray(t.comment)?t.comment.join(""):t.comment}`),i=t.args??{}}return Nn(r,i)}(mn=fn||(fn={})).create=function(e,t,n,r){return new Cn(e,t,n,r)},mn.update=function(e,t,n){if(e instanceof Cn)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},mn.applyEdits=function(e,t){let n=e.getText(),r=yn(t.map(Sn),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),i=0;const s=[];for(const o of r){let t=e.offsetAt(o.range.start);if(t<i)throw new Error("Overlapping edit");t>i&&s.push(n.substring(i,t)),o.newText.length&&s.push(o.newText),i=e.offsetAt(o.range.end)}return s.push(n.substr(i)),s.join("")},(bn=pn||(pn={}))[bn.Undefined=0]="Undefined",bn[bn.EnumValueMismatch=1]="EnumValueMismatch",bn[bn.Deprecated=2]="Deprecated",bn[bn.UnexpectedEndOfComment=257]="UnexpectedEndOfComment",bn[bn.UnexpectedEndOfString=258]="UnexpectedEndOfString",bn[bn.UnexpectedEndOfNumber=259]="UnexpectedEndOfNumber",bn[bn.InvalidUnicode=260]="InvalidUnicode",bn[bn.InvalidEscapeCharacter=261]="InvalidEscapeCharacter",bn[bn.InvalidCharacter=262]="InvalidCharacter",bn[bn.PropertyExpected=513]="PropertyExpected",bn[bn.CommaExpected=514]="CommaExpected",bn[bn.ColonExpected=515]="ColonExpected",bn[bn.ValueExpected=516]="ValueExpected",bn[bn.CommaOrCloseBacketExpected=517]="CommaOrCloseBacketExpected",bn[bn.CommaOrCloseBraceExpected=518]="CommaOrCloseBraceExpected",bn[bn.TrailingComma=519]="TrailingComma",bn[bn.DuplicateKey=520]="DuplicateKey",bn[bn.CommentNotPermitted=521]="CommentNotPermitted",bn[bn.PropertyKeysMustBeDoublequoted=528]="PropertyKeysMustBeDoublequoted",bn[bn.SchemaResolveError=768]="SchemaResolveError",bn[bn.SchemaUnsupportedFeature=769]="SchemaUnsupportedFeature",(kn=_n||(_n={}))[kn.v3=3]="v3",kn[kn.v4=4]="v4",kn[kn.v6=6]="v6",kn[kn.v7=7]="v7",kn[kn.v2019_09=19]="v2019_09",kn[kn.v2020_12=20]="v2020_12",(vn||(vn={})).LATEST={textDocument:{completion:{completionItem:{documentationFormat:[Oe.Markdown,Oe.PlainText],commitCharactersSupport:!0,labelDetailsSupport:!0}}}};var En=/{([^}]+)}/g;function Nn(e,t){return 0===Object.keys(t).length?e:e.replace(En,((e,n)=>t[n]??e))}var Tn,An,In={"color-hex":{errorMessage:xn("Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA."),pattern:/^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/},"date-time":{errorMessage:xn("String is not a RFC3339 date-time."),pattern:/^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},date:{errorMessage:xn("String is not a RFC3339 date."),pattern:/^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/i},time:{errorMessage:xn("String is not a RFC3339 time."),pattern:/^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},email:{errorMessage:xn("String is not an e-mail address."),pattern:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}))$/},hostname:{errorMessage:xn("String is not a hostname."),pattern:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i},ipv4:{errorMessage:xn("String is not an IPv4 address."),pattern:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/},ipv6:{errorMessage:xn("String is not an IPv6 address."),pattern:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i}},On=class{constructor(e,t,n=0){this.offset=t,this.length=n,this.parent=e}get children(){return[]}toString(){return"type: "+this.type+" ("+this.offset+"/"+this.length+")"+(this.parent?" parent: {"+this.parent.toString()+"}":"")}},Mn=class extends On{constructor(e,t){super(e,t),this.type="null",this.value=null}},Rn=class extends On{constructor(e,t,n){super(e,n),this.type="boolean",this.value=t}},Dn=class extends On{constructor(e,t){super(e,t),this.type="array",this.items=[]}get children(){return this.items}},Bn=class extends On{constructor(e,t){super(e,t),this.type="number",this.isInteger=!0,this.value=Number.NaN}},Fn=class extends On{constructor(e,t,n){super(e,t,n),this.type="string",this.value=""}},Pn=class extends On{constructor(e,t,n){super(e,t),this.type="property",this.colonOffset=-1,this.keyNode=n}get children(){return this.valueNode?[this.keyNode,this.valueNode]:[this.keyNode]}},Vn=class extends On{constructor(e,t){super(e,t),this.type="object",this.properties=[]}get children(){return this.properties}};function zn(e){return on(e)?e?{}:{not:{}}:e}(An=Tn||(Tn={}))[An.Key=0]="Key",An[An.Enum=1]="Enum";var jn={"http://json-schema.org/draft-03/schema#":_n.v3,"http://json-schema.org/draft-04/schema#":_n.v4,"http://json-schema.org/draft-06/schema#":_n.v6,"http://json-schema.org/draft-07/schema#":_n.v7,"https://json-schema.org/draft/2019-09/schema":_n.v2019_09,"https://json-schema.org/draft/2020-12/schema":_n.v2020_12},qn=class{constructor(e){this.schemaDraft=e}},Wn=class e{constructor(e=-1,t){this.focusOffset=e,this.exclude=t,this.schemas=[]}add(e){this.schemas.push(e)}merge(e){Array.prototype.push.apply(this.schemas,e.schemas)}include(e){return(-1===this.focusOffset||Gn(e,this.focusOffset))&&e!==this.exclude}newSub(){return new e(-1,this.exclude)}},Un=class{constructor(){}get schemas(){return[]}add(e){}merge(e){}include(e){return!0}newSub(){return this}};Un.instance=new Un;var $n=class{constructor(){this.problems=[],this.propertiesMatches=0,this.processedProperties=new Set,this.propertiesValueMatches=0,this.primaryValueMatches=0,this.enumValueMatch=!1,this.enumValues=void 0}hasProblems(){return!!this.problems.length}merge(e){this.problems=this.problems.concat(e.problems),this.propertiesMatches+=e.propertiesMatches,this.propertiesValueMatches+=e.propertiesValueMatches,this.mergeProcessedProperties(e)}mergeEnumValues(e){if(!this.enumValueMatch&&!e.enumValueMatch&&this.enumValues&&e.enumValues){this.enumValues=this.enumValues.concat(e.enumValues);for(const e of this.problems)e.code===pn.EnumValueMismatch&&(e.message=xn("Value is not accepted. Valid values: {0}.",this.enumValues.map((e=>JSON.stringify(e))).join(", ")))}}mergePropertyMatch(e){this.problems=this.problems.concat(e.problems),this.propertiesMatches++,(e.enumValueMatch||!e.hasProblems()&&e.propertiesMatches)&&this.propertiesValueMatches++,e.enumValueMatch&&e.enumValues&&1===e.enumValues.length&&this.primaryValueMatches++}mergeProcessedProperties(e){e.processedProperties.forEach((e=>this.processedProperties.add(e)))}compare(e){const t=this.hasProblems();return t!==e.hasProblems()?t?-1:1:this.enumValueMatch!==e.enumValueMatch?e.enumValueMatch?-1:1:this.primaryValueMatches!==e.primaryValueMatches?this.primaryValueMatches-e.primaryValueMatches:this.propertiesValueMatches!==e.propertiesValueMatches?this.propertiesValueMatches-e.propertiesValueMatches:this.propertiesMatches-e.propertiesMatches}};function Hn(e){return tn(e)}function Kn(e){return en(e)}function Gn(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}var Qn=class{constructor(e,t=[],n=[]){this.root=e,this.syntaxErrors=t,this.comments=n}getNodeFromOffset(e,t=!1){if(this.root)return Zt(this.root,e,t)}visit(e){if(this.root){const t=n=>{let r=e(n);const i=n.children;if(Array.isArray(i))for(let e=0;e<i.length&&r;e++)r=t(i[e]);return r};t(this.root)}}validate(e,t,n=Z.Warning,r){if(this.root&&t){const i=new $n;return Xn(this.root,t,i,Un.instance,new qn(r??Jn(t))),i.problems.map((t=>{const r=D.create(e.positionAt(t.location.offset),e.positionAt(t.location.offset+t.location.length));return ie.create(r,t.message,t.severity??n,t.code)}))}}getMatchingSchemas(e,t=-1,n){if(this.root&&e){const r=new Wn(t,n),i=Jn(e),s=new qn(i);return Xn(this.root,e,new $n,r,s),r.schemas}return[]}};function Jn(e,t=_n.v2020_12){let n=e.$schema;return n?jn[n]??t:t}function Xn(e,t,n,r,i){if(!e||!r.include(e))return;if("property"===e.type)return Xn(e.valueNode,t,n,r,i);const s=e;switch(function(){function e(e){return s.type===e||"integer"===e&&"number"===s.type&&s.isInteger}Array.isArray(t.type)?t.type.some(e)||n.problems.push({location:{offset:s.offset,length:s.length},message:t.errorMessage||xn("Incorrect type. Expected one of {0}.",t.type.join(", "))}):t.type&&(e(t.type)||n.problems.push({location:{offset:s.offset,length:s.length},message:t.errorMessage||xn('Incorrect type. Expected "{0}".',t.type)}));if(Array.isArray(t.allOf))for(const u of t.allOf){const e=new $n,t=r.newSub();Xn(s,zn(u),e,t,i),n.merge(e),r.merge(t)}const o=zn(t.not);if(o){const e=new $n,a=r.newSub();Xn(s,o,e,a,i),e.hasProblems()||n.problems.push({location:{offset:s.offset,length:s.length},message:t.errorMessage||xn("Matches a schema that is not allowed.")});for(const t of a.schemas)t.inverted=!t.inverted,r.add(t)}const a=(e,t)=>{const o=[];let a;for(const n of e){const e=zn(n),l=new $n,c=r.newSub();if(Xn(s,e,l,c,i),l.hasProblems()||o.push(e),a)if(t||l.hasProblems()||a.validationResult.hasProblems()){const t=l.compare(a.validationResult);t>0?a={schema:e,validationResult:l,matchingSchemas:c}:0===t&&(a.matchingSchemas.merge(c),a.validationResult.mergeEnumValues(l))}else a.matchingSchemas.merge(c),a.validationResult.propertiesMatches+=l.propertiesMatches,a.validationResult.propertiesValueMatches+=l.propertiesValueMatches,a.validationResult.mergeProcessedProperties(l);else a={schema:e,validationResult:l,matchingSchemas:c}}return o.length>1&&t&&n.problems.push({location:{offset:s.offset,length:1},message:xn("Matches multiple schemas when only one must validate.")}),a&&(n.merge(a.validationResult),r.merge(a.matchingSchemas)),o.length};Array.isArray(t.anyOf)&&a(t.anyOf,!1);Array.isArray(t.oneOf)&&a(t.oneOf,!0);const l=e=>{const t=new $n,o=r.newSub();Xn(s,zn(e),t,o,i),n.merge(t),r.merge(o)},c=zn(t.if);c&&((e,t,o)=>{const a=zn(e),c=new $n,h=r.newSub();Xn(s,a,c,h,i),r.merge(h),n.mergeProcessedProperties(c),c.hasProblems()?o&&l(o):t&&l(t)})(c,zn(t.then),zn(t.else));if(Array.isArray(t.enum)){const e=Hn(s);let r=!1;for(const n of t.enum)if(nn(e,n)){r=!0;break}n.enumValues=t.enum,n.enumValueMatch=r,r||n.problems.push({location:{offset:s.offset,length:s.length},code:pn.EnumValueMismatch,message:t.errorMessage||xn("Value is not accepted. Valid values: {0}.",t.enum.map((e=>JSON.stringify(e))).join(", "))})}if(sn(t.const)){nn(Hn(s),t.const)?n.enumValueMatch=!0:(n.problems.push({location:{offset:s.offset,length:s.length},code:pn.EnumValueMismatch,message:t.errorMessage||xn("Value must be {0}.",JSON.stringify(t.const))}),n.enumValueMatch=!1),n.enumValues=[t.const]}let h=t.deprecationMessage;if(h||t.deprecated){h=h||xn("Value is deprecated");let e="property"===s.parent?.type?s.parent:s;n.problems.push({location:{offset:e.offset,length:e.length},severity:Z.Warning,message:h,code:pn.Deprecated})}}(),s.type){case"object":!function(e){const s=Object.create(null),o=new Set;for(const t of e.properties){const e=t.keyNode.value;s[e]=t.valueNode,o.add(e)}if(Array.isArray(t.required))for(const r of t.required)if(!s[r]){const t=e.parent&&"property"===e.parent.type&&e.parent.keyNode,i=t?{offset:t.offset,length:t.length}:{offset:e.offset,length:1};n.problems.push({location:i,message:xn('Missing property "{0}".',r)})}const a=e=>{o.delete(e),n.processedProperties.add(e)};if(t.properties)for(const d of Object.keys(t.properties)){a(d);const e=t.properties[d],o=s[d];if(o)if(on(e))if(e)n.propertiesMatches++,n.propertiesValueMatches++;else{const e=o.parent;n.problems.push({location:{offset:e.keyNode.offset,length:e.keyNode.length},message:t.errorMessage||xn("Property {0} is not allowed.",d)})}else{const t=new $n;Xn(o,e,t,r,i),n.mergePropertyMatch(t)}}if(t.patternProperties)for(const d of Object.keys(t.patternProperties)){const e=hn(d);if(e){const l=[];for(const a of o)if(e.test(a)){l.push(a);const e=s[a];if(e){const s=t.patternProperties[d];if(on(s))if(s)n.propertiesMatches++,n.propertiesValueMatches++;else{const r=e.parent;n.problems.push({location:{offset:r.keyNode.offset,length:r.keyNode.length},message:t.errorMessage||xn("Property {0} is not allowed.",a)})}else{const t=new $n;Xn(e,s,t,r,i),n.mergePropertyMatch(t)}}}l.forEach(a)}}const l=t.additionalProperties;if(void 0!==l)for(const d of o){a(d);const e=s[d];if(e)if(!1===l){const r=e.parent;n.problems.push({location:{offset:r.keyNode.offset,length:r.keyNode.length},message:t.errorMessage||xn("Property {0} is not allowed.",d)})}else if(!0!==l){const t=new $n;Xn(e,l,t,r,i),n.mergePropertyMatch(t)}}const c=t.unevaluatedProperties;if(void 0!==c){const e=[];for(const a of o)if(!n.processedProperties.has(a)){e.push(a);const o=s[a];if(o)if(!1===c){const e=o.parent;n.problems.push({location:{offset:e.keyNode.offset,length:e.keyNode.length},message:t.errorMessage||xn("Property {0} is not allowed.",a)})}else if(!0!==c){const e=new $n;Xn(o,c,e,r,i),n.mergePropertyMatch(e)}}e.forEach(a)}rn(t.maxProperties)&&e.properties.length>t.maxProperties&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Object has more properties than limit of {0}.",t.maxProperties)});rn(t.minProperties)&&e.properties.length<t.minProperties&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Object has fewer properties than the required number of {0}",t.minProperties)});if(t.dependentRequired)for(const n in t.dependentRequired){const e=s[n],r=t.dependentRequired[n];e&&Array.isArray(r)&&u(n,r)}if(t.dependentSchemas)for(const n in t.dependentSchemas){const e=s[n],r=t.dependentSchemas[n];e&&ln(r)&&u(n,r)}if(t.dependencies)for(const n in t.dependencies){s[n]&&u(n,t.dependencies[n])}const h=zn(t.propertyNames);if(h)for(const t of e.properties){const e=t.keyNode;e&&Xn(e,h,n,Un.instance,i)}function u(t,o){if(Array.isArray(o))for(const r of o)s[r]?n.propertiesValueMatches++:n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Object is missing property {0} required by property {1}.",r,t)});else{const t=zn(o);if(t){const s=new $n;Xn(e,t,s,r,i),n.mergePropertyMatch(s)}}}}(s);break;case"array":!function(e){let s,o;i.schemaDraft>=_n.v2020_12?(s=t.prefixItems,o=Array.isArray(t.items)?void 0:t.items):(s=Array.isArray(t.items)?t.items:void 0,o=Array.isArray(t.items)?t.additionalItems:t.items);let a=0;if(void 0!==s){const t=Math.min(s.length,e.items.length);for(;a<t;a++){const t=zn(s[a]),o=new $n,l=e.items[a];l&&(Xn(l,t,o,r,i),n.mergePropertyMatch(o)),n.processedProperties.add(String(a))}}if(void 0!==o&&a<e.items.length)if("boolean"==typeof o)for(!1===o&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Array has too many items according to schema. Expected {0} or fewer.",a)});a<e.items.length;a++)n.processedProperties.add(String(a)),n.propertiesValueMatches++;else for(;a<e.items.length;a++){const t=new $n;Xn(e.items[a],o,t,r,i),n.mergePropertyMatch(t),n.processedProperties.add(String(a))}const l=zn(t.contains);if(l){let r=0;for(let t=0;t<e.items.length;t++){const s=e.items[t],o=new $n;Xn(s,l,o,Un.instance,i),o.hasProblems()||(r++,i.schemaDraft>=_n.v2020_12&&n.processedProperties.add(String(t)))}0!==r||rn(t.minContains)||n.problems.push({location:{offset:e.offset,length:e.length},message:t.errorMessage||xn("Array does not contain required item.")}),rn(t.minContains)&&r<t.minContains&&n.problems.push({location:{offset:e.offset,length:e.length},message:t.errorMessage||xn("Array has too few items that match the contains contraint. Expected {0} or more.",t.minContains)}),rn(t.maxContains)&&r>t.maxContains&&n.problems.push({location:{offset:e.offset,length:e.length},message:t.errorMessage||xn("Array has too many items that match the contains contraint. Expected {0} or less.",t.maxContains)})}const c=t.unevaluatedItems;if(void 0!==c)for(let h=0;h<e.items.length;h++){if(!n.processedProperties.has(String(h)))if(!1===c)n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Item does not match any validation rule from the array.")});else{const s=new $n;Xn(e.items[h],t.unevaluatedItems,s,r,i),n.mergePropertyMatch(s)}n.processedProperties.add(String(h)),n.propertiesValueMatches++}rn(t.minItems)&&e.items.length<t.minItems&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Array has too few items. Expected {0} or more.",t.minItems)});rn(t.maxItems)&&e.items.length>t.maxItems&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Array has too many items. Expected {0} or fewer.",t.maxItems)});if(!0===t.uniqueItems){let t=function(){for(let e=0;e<r.length-1;e++){const t=r[e];for(let n=e+1;n<r.length;n++)if(nn(t,r[n]))return!0}return!1};const r=Hn(e);t()&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Array has duplicate items.")})}}(s);break;case"string":!function(e){rn(t.minLength)&&un(e.value)<t.minLength&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("String is shorter than the minimum length of {0}.",t.minLength)});rn(t.maxLength)&&un(e.value)>t.maxLength&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("String is longer than the maximum length of {0}.",t.maxLength)});if(an(t.pattern)){const r=hn(t.pattern);r?.test(e.value)||n.problems.push({location:{offset:e.offset,length:e.length},message:t.patternErrorMessage||t.errorMessage||xn('String does not match the pattern of "{0}".',t.pattern)})}if(t.format)switch(t.format){case"uri":case"uri-reference":{let r;if(e.value){const n=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/.exec(e.value);n?n[2]||"uri"!==t.format||(r=xn("URI with a scheme is expected.")):r=xn("URI is expected.")}else r=xn("URI expected.");r&&n.problems.push({location:{offset:e.offset,length:e.length},message:t.patternErrorMessage||t.errorMessage||xn("String is not a URI: {0}",r)})}break;case"color-hex":case"date-time":case"date":case"time":case"email":case"hostname":case"ipv4":case"ipv6":const r=In[t.format];e.value&&r.pattern.exec(e.value)||n.problems.push({location:{offset:e.offset,length:e.length},message:t.patternErrorMessage||t.errorMessage||r.errorMessage})}}(s);break;case"number":!function(e){const r=e.value;function i(e){const t=/^(-?\d+)(?:\.(\d+))?(?:e([-+]\d+))?$/.exec(e.toString());return t&&{value:Number(t[1]+(t[2]||"")),multiplier:(t[2]?.length||0)-(parseInt(t[3])||0)}}if(rn(t.multipleOf)){let s=-1;if(Number.isInteger(t.multipleOf))s=r%t.multipleOf;else{let e=i(t.multipleOf),n=i(r);if(e&&n){const t=10**Math.abs(n.multiplier-e.multiplier);n.multiplier<e.multiplier?n.value*=t:e.value*=t,s=n.value%e.value}}0!==s&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Value is not divisible by {0}.",t.multipleOf)})}function s(e,t){return rn(t)?t:on(t)&&t?e:void 0}function o(e,t){if(!on(t)||!t)return e}const a=s(t.minimum,t.exclusiveMinimum);rn(a)&&r<=a&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Value is below the exclusive minimum of {0}.",a)});const l=s(t.maximum,t.exclusiveMaximum);rn(l)&&r>=l&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Value is above the exclusive maximum of {0}.",l)});const c=o(t.minimum,t.exclusiveMinimum);rn(c)&&r<c&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Value is below the minimum of {0}.",c)});const h=o(t.maximum,t.exclusiveMaximum);rn(h)&&r>h&&n.problems.push({location:{offset:e.offset,length:e.length},message:xn("Value is above the maximum of {0}.",h)})}(s)}r.add({node:s,schema:t})}function Yn(e,t){const n=[];let r=-1;const i=e.getText(),s=w(i,!1),o=t&&t.collectComments?[]:void 0;function a(){for(;;){const t=s.scan();switch(h(),t){case 12:case 13:Array.isArray(o)&&o.push(D.create(e.positionAt(s.getTokenOffset()),e.positionAt(s.getTokenOffset()+s.getTokenLength())));break;case 15:case 14:break;default:return t}}}function l(t,i,s,o,a=Z.Error){if(0===n.length||s!==r){const l=D.create(e.positionAt(s),e.positionAt(o));n.push(ie.create(l,t,a,i,e.languageId)),r=s}}function c(e,t,n=void 0,r=[],o=[]){let c=s.getTokenOffset(),h=s.getTokenOffset()+s.getTokenLength();if(c===h&&c>0){for(c--;c>0&&/\s/.test(i.charAt(c));)c--;h=c+1}if(l(e,t,c,h),n&&u(n,!1),r.length+o.length>0){let e=s.getToken();for(;17!==e;){if(-1!==r.indexOf(e)){a();break}if(-1!==o.indexOf(e))break;e=a()}}return n}function h(){switch(s.getTokenError()){case 4:return c(xn("Invalid unicode sequence in string."),pn.InvalidUnicode),!0;case 5:return c(xn("Invalid escape character in string."),pn.InvalidEscapeCharacter),!0;case 3:return c(xn("Unexpected end of number."),pn.UnexpectedEndOfNumber),!0;case 1:return c(xn("Unexpected end of comment."),pn.UnexpectedEndOfComment),!0;case 2:return c(xn("Unexpected end of string."),pn.UnexpectedEndOfString),!0;case 6:return c(xn("Invalid characters in string. Control characters must be escaped."),pn.InvalidCharacter),!0}return!1}function u(e,t){return e.length=s.getTokenOffset()+s.getTokenLength()-e.offset,t&&a(),e}const d=new Fn(void 0,0,0);function g(t,n){const r=new Pn(t,s.getTokenOffset(),d);let i=f(r);if(!i){if(16!==s.getToken())return;{c(xn("Property keys must be doublequoted"),pn.PropertyKeysMustBeDoublequoted);const e=new Fn(r,s.getTokenOffset(),s.getTokenLength());e.value=s.getTokenValue(),i=e,a()}}if(r.keyNode=i,"//"!==i.value){const e=n[i.value];e?(l(xn("Duplicate object key"),pn.DuplicateKey,r.keyNode.offset,r.keyNode.offset+r.keyNode.length,Z.Warning),ln(e)&&l(xn("Duplicate object key"),pn.DuplicateKey,e.keyNode.offset,e.keyNode.offset+e.keyNode.length,Z.Warning),n[i.value]=!0):n[i.value]=r}if(6===s.getToken())r.colonOffset=s.getTokenOffset(),a();else if(c(xn("Colon expected"),pn.ColonExpected),10===s.getToken()&&e.positionAt(i.offset+i.length).line<e.positionAt(s.getTokenOffset()).line)return r.length=i.length,r;const o=m(r);return o?(r.valueNode=o,r.length=o.offset+o.length-r.offset,r):c(xn("Value expected"),pn.ValueExpected,r,[],[2,5])}function f(e){if(10!==s.getToken())return;const t=new Fn(e,s.getTokenOffset());return t.value=s.getTokenValue(),u(t,!0)}function m(e){return function(e){if(3!==s.getToken())return;const t=new Dn(e,s.getTokenOffset());a();let n=!1;for(;4!==s.getToken()&&17!==s.getToken();){if(5===s.getToken()){n||c(xn("Value expected"),pn.ValueExpected);const e=s.getTokenOffset();if(a(),4===s.getToken()){n&&l(xn("Trailing comma"),pn.TrailingComma,e,e+1);continue}}else n&&c(xn("Expected comma"),pn.CommaExpected);const e=m(t);e?t.items.push(e):c(xn("Value expected"),pn.ValueExpected,void 0,[],[4,5]),n=!0}return 4!==s.getToken()?c(xn("Expected comma or closing bracket"),pn.CommaOrCloseBacketExpected,t):u(t,!0)}(e)||function(e){if(1!==s.getToken())return;const t=new Vn(e,s.getTokenOffset()),n=Object.create(null);a();let r=!1;for(;2!==s.getToken()&&17!==s.getToken();){if(5===s.getToken()){r||c(xn("Property expected"),pn.PropertyExpected);const e=s.getTokenOffset();if(a(),2===s.getToken()){r&&l(xn("Trailing comma"),pn.TrailingComma,e,e+1);continue}}else r&&c(xn("Expected comma"),pn.CommaExpected);const e=g(t,n);e?t.properties.push(e):c(xn("Property expected"),pn.PropertyExpected,void 0,[],[2,5]),r=!0}return 2!==s.getToken()?c(xn("Expected comma or closing brace"),pn.CommaOrCloseBraceExpected,t):u(t,!0)}(e)||f(e)||function(e){if(11!==s.getToken())return;const t=new Bn(e,s.getTokenOffset());if(0===s.getTokenError()){const e=s.getTokenValue();try{const n=JSON.parse(e);if(!rn(n))return c(xn("Invalid number format."),pn.Undefined,t);t.value=n}catch(n){return c(xn("Invalid number format."),pn.Undefined,t)}t.isInteger=-1===e.indexOf(".")}return u(t,!0)}(e)||function(e){switch(s.getToken()){case 7:return u(new Mn(e,s.getTokenOffset()),!0);case 8:return u(new Rn(e,!0,s.getTokenOffset()),!0);case 9:return u(new Rn(e,!1,s.getTokenOffset()),!0);default:return}}(e)}let p;return 17!==a()&&(p=m(p),p?17!==s.getToken()&&c(xn("End of file expected."),pn.Undefined):c(xn("Expected a JSON object, array or literal."),pn.Undefined)),new Qn(p,n,o)}function Zn(e,t,n){if(null!==e&&"object"==typeof e){const r=t+"\t";if(Array.isArray(e)){if(0===e.length)return"[]";let i="[\n";for(let t=0;t<e.length;t++)i+=r+Zn(e[t],r,n),t<e.length-1&&(i+=","),i+="\n";return i+=t+"]",i}{const i=Object.keys(e);if(0===i.length)return"{}";let s="{\n";for(let t=0;t<i.length;t++){const o=i[t];s+=r+JSON.stringify(o)+": "+Zn(e[o],r,n),t<i.length-1&&(s+=","),s+="\n"}return s+=t+"}",s}}return n(e)}var er=class{constructor(e,t=[],n=Promise,r={}){this.schemaService=e,this.contributions=t,this.promiseConstructor=n,this.clientCapabilities=r}doResolve(e){for(let t=this.contributions.length-1;t>=0;t--){const n=this.contributions[t].resolveCompletion;if(n){const t=n(e);if(t)return t}}return this.promiseConstructor.resolve(e)}doComplete(e,t,n){const r={items:[],isIncomplete:!1},i=e.getText(),s=e.offsetAt(t);let o=n.getNodeFromOffset(s,!0);if(this.isInComment(e,o?o.offset:0,s))return Promise.resolve(r);if(o&&s===o.offset+o.length&&s>0){const e=i[s-1];("object"===o.type&&"}"===e||"array"===o.type&&"]"===e)&&(o=o.parent)}const a=this.getCurrentWord(e,s);let l;if(!o||"string"!==o.type&&"number"!==o.type&&"boolean"!==o.type&&"null"!==o.type){let n=s-a.length;n>0&&'"'===i[n-1]&&n--,l=D.create(e.positionAt(n),t)}else l=D.create(e.positionAt(o.offset),e.positionAt(o.offset+o.length));const c=new Map,h={add:e=>{let t=e.label;const n=c.get(t);if(n)n.documentation||(n.documentation=e.documentation),n.detail||(n.detail=e.detail),n.labelDetails||(n.labelDetails=e.labelDetails);else{if(t=t.replace(/[\n]/g,"\u21b5"),t.length>60){const e=t.substr(0,57).trim()+"...";c.has(e)||(t=e)}e.textEdit=le.replace(l,e.insertText),e.label=t,c.set(t,e),r.items.push(e)}},setAsIncomplete:()=>{r.isIncomplete=!0},error:e=>{console.error(e)},getNumberOfProposals:()=>r.items.length};return this.schemaService.getSchemaForResource(e.uri,n).then((t=>{const u=[];let d,g=!0,f="";if(o&&"string"===o.type){const e=o.parent;e&&"property"===e.type&&e.keyNode===o&&(g=!e.valueNode,d=e,f=i.substr(o.offset+1,o.length-2),e&&(o=e.parent))}if(o&&"object"===o.type){if(o.offset===s)return r;o.properties.forEach((e=>{d&&d===e||c.set(e.keyNode.value,$e.create("__"))}));let m="";g&&(m=this.evaluateSeparatorAfter(e,e.offsetAt(l.end))),t?this.getPropertyCompletions(t,n,o,g,m,h):this.getSchemaLessPropertyCompletions(n,o,f,h);const p=Kn(o);this.contributions.forEach((t=>{const n=t.collectPropertyCompletions(e.uri,p,a,g,""===m,h);n&&u.push(n)})),!t&&a.length>0&&'"'!==i.charAt(s-a.length-1)&&(h.add({kind:De.Property,label:this.getLabelForValue(a),insertText:this.getInsertTextForProperty(a,void 0,!1,m),insertTextFormat:Fe.Snippet,documentation:""}),h.setAsIncomplete())}const m={};return t?this.getValueCompletions(t,n,o,s,e,h,m):this.getSchemaLessValueCompletions(n,o,s,e,h),this.contributions.length>0&&this.getContributedValueCompletions(n,o,s,e,h,u),this.promiseConstructor.all(u).then((()=>{if(0===h.getNumberOfProposals()){let t=s;!o||"string"!==o.type&&"number"!==o.type&&"boolean"!==o.type&&"null"!==o.type||(t=o.offset+o.length);const n=this.evaluateSeparatorAfter(e,t);this.addFillerValueCompletions(m,n,h)}return r}))}))}getPropertyCompletions(e,t,n,r,i,s){t.getMatchingSchemas(e.schema,n.offset).forEach((e=>{if(e.node===n&&!e.inverted){const t=e.schema.properties;t&&Object.keys(t).forEach((e=>{const n=t[e];if("object"==typeof n&&!n.deprecationMessage&&!n.doNotSuggest){const t={kind:De.Property,label:e,insertText:this.getInsertTextForProperty(e,n,r,i),insertTextFormat:Fe.Snippet,filterText:this.getFilterTextForValue(e),documentation:this.fromMarkup(n.markdownDescription)||n.description||""};void 0!==n.suggestSortText&&(t.sortText=n.suggestSortText),t.insertText&&cn(t.insertText,`$1${i}`)&&(t.command={title:"Suggest",command:"editor.action.triggerSuggest"}),s.add(t)}}));const n=e.schema.propertyNames;if("object"==typeof n&&!n.deprecationMessage&&!n.doNotSuggest){const e=(e,t=void 0)=>{const o={kind:De.Property,label:e,insertText:this.getInsertTextForProperty(e,void 0,r,i),insertTextFormat:Fe.Snippet,filterText:this.getFilterTextForValue(e),documentation:t||this.fromMarkup(n.markdownDescription)||n.description||""};void 0!==n.suggestSortText&&(o.sortText=n.suggestSortText),o.insertText&&cn(o.insertText,`$1${i}`)&&(o.command={title:"Suggest",command:"editor.action.triggerSuggest"}),s.add(o)};if(n.enum)for(let t=0;t<n.enum.length;t++){let r;n.markdownEnumDescriptions&&t<n.markdownEnumDescriptions.length?r=this.fromMarkup(n.markdownEnumDescriptions[t]):n.enumDescriptions&&t<n.enumDescriptions.length&&(r=n.enumDescriptions[t]),e(n.enum[t],r)}n.const&&e(n.const)}}}))}getSchemaLessPropertyCompletions(e,t,n,r){const i=e=>{e.properties.forEach((e=>{const t=e.keyNode.value;r.add({kind:De.Property,label:t,insertText:this.getInsertTextForValue(t,""),insertTextFormat:Fe.Snippet,filterText:this.getFilterTextForValue(t),documentation:""})}))};if(t.parent)if("property"===t.parent.type){const n=t.parent.keyNode.value;e.visit((e=>("property"===e.type&&e!==t.parent&&e.keyNode.value===n&&e.valueNode&&"object"===e.valueNode.type&&i(e.valueNode),!0)))}else"array"===t.parent.type&&t.parent.items.forEach((e=>{"object"===e.type&&e!==t&&i(e)}));else"object"===t.type&&r.add({kind:De.Property,label:"$schema",insertText:this.getInsertTextForProperty("$schema",void 0,!0,""),insertTextFormat:Fe.Snippet,documentation:"",filterText:this.getFilterTextForValue("$schema")})}getSchemaLessValueCompletions(e,t,n,r,i){let s=n;if(!t||"string"!==t.type&&"number"!==t.type&&"boolean"!==t.type&&"null"!==t.type||(s=t.offset+t.length,t=t.parent),!t)return i.add({kind:this.getSuggestionKind("object"),label:"Empty object",insertText:this.getInsertTextForValue({},""),insertTextFormat:Fe.Snippet,documentation:""}),void i.add({kind:this.getSuggestionKind("array"),label:"Empty array",insertText:this.getInsertTextForValue([],""),insertTextFormat:Fe.Snippet,documentation:""});const o=this.evaluateSeparatorAfter(r,s),a=e=>{e.parent&&!Gn(e.parent,n,!0)&&i.add({kind:this.getSuggestionKind(e.type),label:this.getLabelTextForMatchingNode(e,r),insertText:this.getInsertTextForMatchingNode(e,r,o),insertTextFormat:Fe.Snippet,documentation:""}),"boolean"===e.type&&this.addBooleanValueCompletion(!e.value,o,i)};if("property"===t.type&&n>(t.colonOffset||0)){const r=t.valueNode;if(r&&(n>r.offset+r.length||"object"===r.type||"array"===r.type))return;const s=t.keyNode.value;e.visit((e=>("property"===e.type&&e.keyNode.value===s&&e.valueNode&&a(e.valueNode),!0))),"$schema"===s&&t.parent&&!t.parent.parent&&this.addDollarSchemaCompletions(o,i)}if("array"===t.type)if(t.parent&&"property"===t.parent.type){const n=t.parent.keyNode.value;e.visit((e=>("property"===e.type&&e.keyNode.value===n&&e.valueNode&&"array"===e.valueNode.type&&e.valueNode.items.forEach(a),!0)))}else t.items.forEach(a)}getValueCompletions(e,t,n,r,i,s,o){let a,l,c=r;if(!n||"string"!==n.type&&"number"!==n.type&&"boolean"!==n.type&&"null"!==n.type||(c=n.offset+n.length,l=n,n=n.parent),n){if("property"===n.type&&r>(n.colonOffset||0)){const e=n.valueNode;if(e&&r>e.offset+e.length)return;a=n.keyNode.value,n=n.parent}if(n&&(void 0!==a||"array"===n.type)){const h=this.evaluateSeparatorAfter(i,c),u=t.getMatchingSchemas(e.schema,n.offset,l);for(const e of u)if(e.node===n&&!e.inverted&&e.schema){if("array"===n.type&&e.schema.items){let t=s;if(e.schema.uniqueItems){const e=new Set;n.children.forEach((t=>{"array"!==t.type&&"object"!==t.type&&e.add(this.getLabelForValue(Hn(t)))})),t={...s,add(t){e.has(t.label)||s.add(t)}}}if(Array.isArray(e.schema.items)){const s=this.findItemAtOffset(n,i,r);s<e.schema.items.length&&this.addSchemaValueCompletions(e.schema.items[s],h,t,o)}else this.addSchemaValueCompletions(e.schema.items,h,t,o)}if(void 0!==a){let t=!1;if(e.schema.properties){const n=e.schema.properties[a];n&&(t=!0,this.addSchemaValueCompletions(n,h,s,o))}if(e.schema.patternProperties&&!t)for(const n of Object.keys(e.schema.patternProperties)){const r=hn(n);if(r?.test(a)){t=!0;const r=e.schema.patternProperties[n];this.addSchemaValueCompletions(r,h,s,o)}}if(e.schema.additionalProperties&&!t){const t=e.schema.additionalProperties;this.addSchemaValueCompletions(t,h,s,o)}}}"$schema"!==a||n.parent||this.addDollarSchemaCompletions(h,s),o.boolean&&(this.addBooleanValueCompletion(!0,h,s),this.addBooleanValueCompletion(!1,h,s)),o.null&&this.addNullValueCompletion(h,s)}}else this.addSchemaValueCompletions(e.schema,"",s,o)}getContributedValueCompletions(e,t,n,r,i,s){if(t){if("string"!==t.type&&"number"!==t.type&&"boolean"!==t.type&&"null"!==t.type||(t=t.parent),t&&"property"===t.type&&n>(t.colonOffset||0)){const e=t.keyNode.value,o=t.valueNode;if((!o||n<=o.offset+o.length)&&t.parent){const n=Kn(t.parent);this.contributions.forEach((t=>{const o=t.collectValueCompletions(r.uri,n,e,i);o&&s.push(o)}))}}}else this.contributions.forEach((e=>{const t=e.collectDefaultCompletions(r.uri,i);t&&s.push(t)}))}addSchemaValueCompletions(e,t,n,r){"object"==typeof e&&(this.addEnumValueCompletions(e,t,n),this.addDefaultValueCompletions(e,t,n),this.collectTypes(e,r),Array.isArray(e.allOf)&&e.allOf.forEach((e=>this.addSchemaValueCompletions(e,t,n,r))),Array.isArray(e.anyOf)&&e.anyOf.forEach((e=>this.addSchemaValueCompletions(e,t,n,r))),Array.isArray(e.oneOf)&&e.oneOf.forEach((e=>this.addSchemaValueCompletions(e,t,n,r))))}addDefaultValueCompletions(e,t,n,r=0){let i=!1;if(sn(e.default)){let s=e.type,o=e.default;for(let e=r;e>0;e--)o=[o],s="array";const a={kind:this.getSuggestionKind(s),label:this.getLabelForValue(o),insertText:this.getInsertTextForValue(o,t),insertTextFormat:Fe.Snippet};this.doesSupportsLabelDetails()?a.labelDetails={description:xn("Default value")}:a.detail=xn("Default value"),n.add(a),i=!0}Array.isArray(e.examples)&&e.examples.forEach((s=>{let o=e.type,a=s;for(let e=r;e>0;e--)a=[a],o="array";n.add({kind:this.getSuggestionKind(o),label:this.getLabelForValue(a),insertText:this.getInsertTextForValue(a,t),insertTextFormat:Fe.Snippet}),i=!0})),Array.isArray(e.defaultSnippets)&&e.defaultSnippets.forEach((s=>{let o,a,l=e.type,c=s.body,h=s.label;if(sn(c)){let n=e.type;for(let e=r;e>0;e--)c=[c],n="array";o=this.getInsertTextForSnippetValue(c,t),a=this.getFilterTextForSnippetValue(c),h=h||this.getLabelForSnippetValue(c)}else{if("string"!=typeof s.bodyText)return;{let e="",n="",i="";for(let t=r;t>0;t--)e=e+i+"[\n",n=n+"\n"+i+"]",i+="\t",l="array";o=e+i+s.bodyText.split("\n").join("\n"+i)+n+t,h=h||o,a=o.replace(/[\n]/g,"")}}n.add({kind:this.getSuggestionKind(l),label:h,documentation:this.fromMarkup(s.markdownDescription)||s.description,insertText:o,insertTextFormat:Fe.Snippet,filterText:a}),i=!0})),!i&&"object"==typeof e.items&&!Array.isArray(e.items)&&r<5&&this.addDefaultValueCompletions(e.items,t,n,r+1)}addEnumValueCompletions(e,t,n){if(sn(e.const)&&n.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(e.const),insertText:this.getInsertTextForValue(e.const,t),insertTextFormat:Fe.Snippet,documentation:this.fromMarkup(e.markdownDescription)||e.description}),Array.isArray(e.enum))for(let r=0,i=e.enum.length;r<i;r++){const i=e.enum[r];let s=this.fromMarkup(e.markdownDescription)||e.description;e.markdownEnumDescriptions&&r<e.markdownEnumDescriptions.length&&this.doesSupportMarkdown()?s=this.fromMarkup(e.markdownEnumDescriptions[r]):e.enumDescriptions&&r<e.enumDescriptions.length&&(s=e.enumDescriptions[r]),n.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(i),insertText:this.getInsertTextForValue(i,t),insertTextFormat:Fe.Snippet,documentation:s})}}collectTypes(e,t){if(Array.isArray(e.enum)||sn(e.const))return;const n=e.type;Array.isArray(n)?n.forEach((e=>t[e]=!0)):n&&(t[n]=!0)}addFillerValueCompletions(e,t,n){e.object&&n.add({kind:this.getSuggestionKind("object"),label:"{}",insertText:this.getInsertTextForGuessedValue({},t),insertTextFormat:Fe.Snippet,detail:xn("New object"),documentation:""}),e.array&&n.add({kind:this.getSuggestionKind("array"),label:"[]",insertText:this.getInsertTextForGuessedValue([],t),insertTextFormat:Fe.Snippet,detail:xn("New array"),documentation:""})}addBooleanValueCompletion(e,t,n){n.add({kind:this.getSuggestionKind("boolean"),label:e?"true":"false",insertText:this.getInsertTextForValue(e,t),insertTextFormat:Fe.Snippet,documentation:""})}addNullValueCompletion(e,t){t.add({kind:this.getSuggestionKind("null"),label:"null",insertText:"null"+e,insertTextFormat:Fe.Snippet,documentation:""})}addDollarSchemaCompletions(e,t){this.schemaService.getRegisteredSchemaIds((e=>"http"===e||"https"===e)).forEach((n=>{n.startsWith("http://json-schema.org/draft-")&&(n+="#"),t.add({kind:De.Module,label:this.getLabelForValue(n),filterText:this.getFilterTextForValue(n),insertText:this.getInsertTextForValue(n,e),insertTextFormat:Fe.Snippet,documentation:""})}))}getLabelForValue(e){return JSON.stringify(e)}getValueFromLabel(e){return JSON.parse(e)}getFilterTextForValue(e){return JSON.stringify(e)}getFilterTextForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getLabelForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getInsertTextForPlainText(e){return e.replace(/[\\\$\}]/g,"\\$&")}getInsertTextForValue(e,t){const n=JSON.stringify(e,null,"\t");return"{}"===n?"{$1}"+t:"[]"===n?"[$1]"+t:this.getInsertTextForPlainText(n+t)}getInsertTextForSnippetValue(e,t){return Zn(e,"",(e=>"string"==typeof e&&"^"===e[0]?e.substr(1):JSON.stringify(e)))+t}getInsertTextForGuessedValue(e,t){switch(typeof e){case"object":return null===e?"${1:null}"+t:this.getInsertTextForValue(e,t);case"string":let n=JSON.stringify(e);return n=n.substr(1,n.length-2),n=this.getInsertTextForPlainText(n),'"${1:'+n+'}"'+t;case"number":case"boolean":return"${1:"+JSON.stringify(e)+"}"+t}return this.getInsertTextForValue(e,t)}getSuggestionKind(e){if(Array.isArray(e)){const t=e;e=t.length>0?t[0]:void 0}if(!e)return De.Value;switch(e){case"string":default:return De.Value;case"object":return De.Module;case"property":return De.Property}}getLabelTextForMatchingNode(e,t){switch(e.type){case"array":return"[]";case"object":return"{}";default:return t.getText().substr(e.offset,e.length)}}getInsertTextForMatchingNode(e,t,n){switch(e.type){case"array":return this.getInsertTextForValue([],n);case"object":return this.getInsertTextForValue({},n);default:const r=t.getText().substr(e.offset,e.length)+n;return this.getInsertTextForPlainText(r)}}getInsertTextForProperty(e,t,n,r){const i=this.getInsertTextForValue(e,"");if(!n)return i;const s=i+": ";let o,a=0;if(t){if(Array.isArray(t.defaultSnippets)){if(1===t.defaultSnippets.length){const e=t.defaultSnippets[0].body;sn(e)&&(o=this.getInsertTextForSnippetValue(e,""))}a+=t.defaultSnippets.length}if(t.enum&&(o||1!==t.enum.length||(o=this.getInsertTextForGuessedValue(t.enum[0],"")),a+=t.enum.length),sn(t.const)&&(o||(o=this.getInsertTextForGuessedValue(t.const,"")),a++),sn(t.default)&&(o||(o=this.getInsertTextForGuessedValue(t.default,"")),a++),Array.isArray(t.examples)&&t.examples.length&&(o||(o=this.getInsertTextForGuessedValue(t.examples[0],"")),a+=t.examples.length),0===a){let e=Array.isArray(t.type)?t.type[0]:t.type;switch(e||(t.properties?e="object":t.items&&(e="array")),e){case"boolean":o="$1";break;case"string":o='"$1"';break;case"object":o="{$1}";break;case"array":o="[$1]";break;case"number":case"integer":o="${1:0}";break;case"null":o="${1:null}";break;default:return i}}}return(!o||a>1)&&(o="$1"),s+o+r}getCurrentWord(e,t){let n=t-1;const r=e.getText();for(;n>=0&&-1===' \t\n\r\v":{[,]}'.indexOf(r.charAt(n));)n--;return r.substring(n+1,t)}evaluateSeparatorAfter(e,t){const n=w(e.getText(),!0);n.setPosition(t);switch(n.scan()){case 5:case 2:case 4:case 17:return"";default:return","}}findItemAtOffset(e,t,n){const r=w(t.getText(),!0),i=e.items;for(let s=i.length-1;s>=0;s--){const e=i[s];if(n>e.offset+e.length){r.setPosition(e.offset+e.length);return 5===r.scan()&&n>=r.getTokenOffset()+r.getTokenLength()?s+1:s}if(n>=e.offset)return s}return 0}isInComment(e,t,n){const r=w(e.getText(),!1);r.setPosition(t);let i=r.scan();for(;17!==i&&r.getTokenOffset()+r.getTokenLength()<n;)i=r.scan();return(12===i||13===i)&&r.getTokenOffset()<=n}fromMarkup(e){if(e&&this.doesSupportMarkdown())return{kind:Oe.Markdown,value:e}}doesSupportMarkdown(){if(!sn(this.supportsMarkdown)){const e=this.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(e)&&-1!==e.indexOf(Oe.Markdown)}return this.supportsMarkdown}doesSupportsCommitCharacters(){return sn(this.supportsCommitCharacters)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.commitCharactersSupport),this.supportsCommitCharacters}doesSupportsLabelDetails(){return sn(this.labelDetailsSupport)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.labelDetailsSupport),this.labelDetailsSupport}},tr=class{constructor(e,t=[],n){this.schemaService=e,this.contributions=t,this.promise=n||Promise}doHover(e,t,n){const r=e.offsetAt(t);let i=n.getNodeFromOffset(r);if(!i||("object"===i.type||"array"===i.type)&&r>i.offset+1&&r<i.offset+i.length-1)return this.promise.resolve(null);const s=i;if("string"===i.type){const e=i.parent;if(e&&"property"===e.type&&e.keyNode===i&&(i=e.valueNode,!i))return this.promise.resolve(null)}const o=D.create(e.positionAt(s.offset),e.positionAt(s.offset+s.length)),a=e=>({contents:e,range:o}),l=Kn(i);for(let c=this.contributions.length-1;c>=0;c--){const t=this.contributions[c].getInfoContribution(e.uri,l);if(t)return t.then((e=>a(e)))}return this.schemaService.getSchemaForResource(e.uri,n).then((e=>{if(e&&i){let t,r,s,o;n.getMatchingSchemas(e.schema,i.offset).every((e=>{if(e.node===i&&!e.inverted&&e.schema&&(t=t||e.schema.title,r=r||e.schema.markdownDescription||nr(e.schema.description),e.schema.enum)){const t=e.schema.enum.indexOf(Hn(i));e.schema.markdownEnumDescriptions?s=e.schema.markdownEnumDescriptions[t]:e.schema.enumDescriptions&&(s=nr(e.schema.enumDescriptions[t])),s&&(o=e.schema.enum[t],"string"!=typeof o&&(o=JSON.stringify(o)))}return!0}));let l="";return t&&(l=nr(t)),r&&(l.length>0&&(l+="\n\n"),l+=r),s&&(l.length>0&&(l+="\n\n"),l+=`\`${function(e){if(-1!==e.indexOf("`"))return"`` "+e+" ``";return e}(o)}\`: ${s}`),a([l])}return null}))}};function nr(e){if(e){return e.replace(/([^\n\r])(\r?\n)([^\n\r])/gm,"$1\n\n$3").replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}}var rr=class{constructor(e,t){this.jsonSchemaService=e,this.promise=t,this.validationEnabled=!0}configure(e){e&&(this.validationEnabled=!1!==e.validate,this.commentSeverity=e.allowComments?void 0:Z.Error)}doValidation(e,t,n,r){if(!this.validationEnabled)return this.promise.resolve([]);const i=[],s={},o=e=>{const t=e.range.start.line+" "+e.range.start.character+" "+e.message;s[t]||(s[t]=!0,i.push(e))},a=r=>{let s=n?.trailingCommas?ar(n.trailingCommas):Z.Error,a=n?.comments?ar(n.comments):this.commentSeverity,l=n?.schemaValidation?ar(n.schemaValidation):Z.Warning,c=n?.schemaRequest?ar(n.schemaRequest):Z.Warning;if(r){const i=(n,r)=>{if(t.root&&c){const i=t.root,s="object"===i.type?i.properties[0]:void 0;if(s&&"$schema"===s.keyNode.value){const t=s.valueNode||s,i=D.create(e.positionAt(t.offset),e.positionAt(t.offset+t.length));o(ie.create(i,n,c,r))}else{const t=D.create(e.positionAt(i.offset),e.positionAt(i.offset+1));o(ie.create(t,n,c,r))}}};if(r.errors.length)i(r.errors[0],pn.SchemaResolveError);else if(l){for(const e of r.warnings)i(e,pn.SchemaUnsupportedFeature);const s=t.validate(e,r.schema,l,n?.schemaDraft);s&&s.forEach(o)}sr(r.schema)&&(a=void 0),or(r.schema)&&(s=void 0)}for(const e of t.syntaxErrors){if(e.code===pn.TrailingComma){if("number"!=typeof s)continue;e.severity=s}o(e)}if("number"==typeof a){const e=xn("Comments are not permitted in JSON.");t.comments.forEach((t=>{o(ie.create(t,e,a,pn.CommentNotPermitted))}))}return i};if(r){const e=r.id||"schemaservice://untitled/"+ir++;return this.jsonSchemaService.registerExternalSchema({uri:e,schema:r}).getResolvedSchema().then((e=>a(e)))}return this.jsonSchemaService.getSchemaForResource(e.uri,t).then((e=>a(e)))}getLanguageStatus(e,t){return{schemas:this.jsonSchemaService.getSchemaURIsForResource(e.uri,t)}}},ir=0;function sr(e){if(e&&"object"==typeof e){if(on(e.allowComments))return e.allowComments;if(e.allOf)for(const t of e.allOf){const e=sr(t);if(on(e))return e}}}function or(e){if(e&&"object"==typeof e){if(on(e.allowTrailingCommas))return e.allowTrailingCommas;const t=e;if(on(t.allowsTrailingCommas))return t.allowsTrailingCommas;if(e.allOf)for(const n of e.allOf){const e=or(n);if(on(e))return e}}}function ar(e){switch(e){case"error":return Z.Error;case"warning":return Z.Warning;case"ignore":return}}function lr(e){return e<48?0:e<=57?e-48:(e<97&&(e+=32),e>=97&&e<=102?e-97+10:0)}function cr(e){if("#"===e[0])switch(e.length){case 4:return{red:17*lr(e.charCodeAt(1))/255,green:17*lr(e.charCodeAt(2))/255,blue:17*lr(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*lr(e.charCodeAt(1))/255,green:17*lr(e.charCodeAt(2))/255,blue:17*lr(e.charCodeAt(3))/255,alpha:17*lr(e.charCodeAt(4))/255};case 7:return{red:(16*lr(e.charCodeAt(1))+lr(e.charCodeAt(2)))/255,green:(16*lr(e.charCodeAt(3))+lr(e.charCodeAt(4)))/255,blue:(16*lr(e.charCodeAt(5))+lr(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*lr(e.charCodeAt(1))+lr(e.charCodeAt(2)))/255,green:(16*lr(e.charCodeAt(3))+lr(e.charCodeAt(4)))/255,blue:(16*lr(e.charCodeAt(5))+lr(e.charCodeAt(6)))/255,alpha:(16*lr(e.charCodeAt(7))+lr(e.charCodeAt(8)))/255}}}var hr=class{constructor(e){this.schemaService=e}findDocumentSymbols(e,t,n={resultLimit:Number.MAX_VALUE}){const r=t.root;if(!r)return[];let i=n.resultLimit||Number.MAX_VALUE;const s=e.uri;if(("vscode://defaultsettings/keybindings.json"===s||cn(s.toLowerCase(),"/user/keybindings.json"))&&"array"===r.type){const t=[];for(const o of r.items)if("object"===o.type)for(const r of o.properties)if("key"===r.keyNode.value&&r.valueNode){const a=F.create(e.uri,ur(e,o));if(t.push({name:dr(r.valueNode),kind:tt.Function,location:a}),i--,i<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(s),t}return t}const o=[{node:r,containerName:""}];let a=0,l=!1;const c=[],h=(t,n)=>{"array"===t.type?t.items.forEach((e=>{e&&o.push({node:e,containerName:n})})):"object"===t.type&&t.properties.forEach((t=>{const r=t.valueNode;if(r)if(i>0){i--;const s=F.create(e.uri,ur(e,t)),a=n?n+"."+t.keyNode.value:t.keyNode.value;c.push({name:this.getKeyLabel(t),kind:this.getSymbolKind(r.type),location:s,containerName:n}),o.push({node:r,containerName:a})}else l=!0}))};for(;a<o.length;){const e=o[a++];h(e.node,e.containerName)}return l&&n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(s),c}findDocumentSymbols2(e,t,n={resultLimit:Number.MAX_VALUE}){const r=t.root;if(!r)return[];let i=n.resultLimit||Number.MAX_VALUE;const s=e.uri;if(("vscode://defaultsettings/keybindings.json"===s||cn(s.toLowerCase(),"/user/keybindings.json"))&&"array"===r.type){const t=[];for(const o of r.items)if("object"===o.type)for(const r of o.properties)if("key"===r.keyNode.value&&r.valueNode){const a=ur(e,o),l=ur(e,r.keyNode);if(t.push({name:dr(r.valueNode),kind:tt.Function,range:a,selectionRange:l}),i--,i<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(s),t}return t}const o=[],a=[{node:r,result:o}];let l=0,c=!1;const h=(t,n)=>{"array"===t.type?t.items.forEach(((t,r)=>{if(t)if(i>0){i--;const s=ur(e,t),o=s,l={name:String(r),kind:this.getSymbolKind(t.type),range:s,selectionRange:o,children:[]};n.push(l),a.push({result:l.children,node:t})}else c=!0})):"object"===t.type&&t.properties.forEach((t=>{const r=t.valueNode;if(r)if(i>0){i--;const s=ur(e,t),o=ur(e,t.keyNode),l=[],c={name:this.getKeyLabel(t),kind:this.getSymbolKind(r.type),range:s,selectionRange:o,children:l,detail:this.getDetail(r)};n.push(c),a.push({result:l,node:r})}else c=!0}))};for(;l<a.length;){const e=a[l++];h(e.node,e.result)}return c&&n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(s),o}getSymbolKind(e){switch(e){case"object":return tt.Module;case"string":return tt.String;case"number":return tt.Number;case"array":return tt.Array;case"boolean":return tt.Boolean;default:return tt.Variable}}getKeyLabel(e){let t=e.keyNode.value;return t&&(t=t.replace(/[\n]/g,"\u21b5")),t&&t.trim()?t:`"${t}"`}getDetail(e){if(e)return"boolean"===e.type||"number"===e.type||"null"===e.type||"string"===e.type?String(e.value):"array"===e.type?e.children.length?void 0:"[]":"object"===e.type?e.children.length?void 0:"{}":void 0}findDocumentColors(e,t,n){return this.schemaService.getSchemaForResource(e.uri,t).then((r=>{const i=[];if(r){let s=n&&"number"==typeof n.resultLimit?n.resultLimit:Number.MAX_VALUE;const o=t.getMatchingSchemas(r.schema),a={};for(const t of o)if(!t.inverted&&t.schema&&("color"===t.schema.format||"color-hex"===t.schema.format)&&t.node&&"string"===t.node.type){const r=String(t.node.offset);if(!a[r]){const o=cr(Hn(t.node));if(o){const n=ur(e,t.node);i.push({color:o,range:n})}if(a[r]=!0,s--,s<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(e.uri),i}}}return i}))}getColorPresentations(e,t,n,r){const i=[],s=Math.round(255*n.red),o=Math.round(255*n.green),a=Math.round(255*n.blue);function l(e){const t=e.toString(16);return 2!==t.length?"0"+t:t}let c;return c=1===n.alpha?`#${l(s)}${l(o)}${l(a)}`:`#${l(s)}${l(o)}${l(a)}${l(Math.round(255*n.alpha))}`,i.push({label:c,textEdit:le.replace(r,JSON.stringify(c))}),i}};function ur(e,t){return D.create(e.positionAt(t.offset),e.positionAt(t.offset+t.length))}function dr(e){return Hn(e)||xn("<empty>")}var gr,fr={schemaAssociations:[],schemas:{"http://json-schema.org/draft-04/schema#":{$schema:"http://json-schema.org/draft-04/schema#",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},positiveInteger:{type:"integer",minimum:0},positiveIntegerDefault0:{allOf:[{$ref:"#/definitions/positiveInteger"},{default:0}]},simpleTypes:{type:"string",enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},minItems:1,uniqueItems:!0}},type:"object",properties:{id:{type:"string",format:"uri"},$schema:{type:"string",format:"uri"},title:{type:"string"},description:{type:"string"},default:{},multipleOf:{type:"number",minimum:0,exclusiveMinimum:!0},maximum:{type:"number"},exclusiveMaximum:{type:"boolean",default:!1},minimum:{type:"number"},exclusiveMinimum:{type:"boolean",default:!1},maxLength:{allOf:[{$ref:"#/definitions/positiveInteger"}]},minLength:{allOf:[{$ref:"#/definitions/positiveIntegerDefault0"}]},pattern:{type:"string",format:"regex"},additionalItems:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:{}},maxItems:{allOf:[{$ref:"#/definitions/positiveInteger"}]},minItems:{allOf:[{$ref:"#/definitions/positiveIntegerDefault0"}]},uniqueItems:{type:"boolean",default:!1},maxProperties:{allOf:[{$ref:"#/definitions/positiveInteger"}]},minProperties:{allOf:[{$ref:"#/definitions/positiveIntegerDefault0"}]},required:{allOf:[{$ref:"#/definitions/stringArray"}]},additionalProperties:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},enum:{type:"array",minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{anyOf:[{type:"string",enum:["date-time","uri","email","hostname","ipv4","ipv6","regex"]},{type:"string"}]},allOf:{allOf:[{$ref:"#/definitions/schemaArray"}]},anyOf:{allOf:[{$ref:"#/definitions/schemaArray"}]},oneOf:{allOf:[{$ref:"#/definitions/schemaArray"}]},not:{allOf:[{$ref:"#"}]}},dependencies:{exclusiveMaximum:["maximum"],exclusiveMinimum:["minimum"]},default:{}},"http://json-schema.org/draft-07/schema#":{definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}}},mr={id:xn("A unique identifier for the schema."),$schema:xn("The schema to verify this document against."),title:xn("A descriptive title of the element."),description:xn("A long description of the element. Used in hover menus and suggestions."),default:xn("A default value. Used by suggestions."),multipleOf:xn("A number that should cleanly divide the current value (i.e. have no remainder)."),maximum:xn("The maximum numerical value, inclusive by default."),exclusiveMaximum:xn("Makes the maximum property exclusive."),minimum:xn("The minimum numerical value, inclusive by default."),exclusiveMinimum:xn("Makes the minimum property exclusive."),maxLength:xn("The maximum length of a string."),minLength:xn("The minimum length of a string."),pattern:xn("A regular expression to match the string against. It is not implicitly anchored."),additionalItems:xn("For arrays, only when items is set as an array. If it is a schema, then this schema validates items after the ones specified by the items array. If it is false, then additional items will cause validation to fail."),items:xn("For arrays. Can either be a schema to validate every element against or an array of schemas to validate each item against in order (the first schema will validate the first element, the second schema will validate the second element, and so on."),maxItems:xn("The maximum number of items that can be inside an array. Inclusive."),minItems:xn("The minimum number of items that can be inside an array. Inclusive."),uniqueItems:xn("If all of the items in the array must be unique. Defaults to false."),maxProperties:xn("The maximum number of properties an object can have. Inclusive."),minProperties:xn("The minimum number of properties an object can have. Inclusive."),required:xn("An array of strings that lists the names of all properties required on this object."),additionalProperties:xn("Either a schema or a boolean. If a schema, then used to validate all properties not matched by 'properties' or 'patternProperties'. If false, then any properties not matched by either will cause this schema to fail."),definitions:xn("Not used for validation. Place subschemas here that you wish to reference inline with $ref."),properties:xn("A map of property names to schemas for each property."),patternProperties:xn("A map of regular expressions on property names to schemas for matching properties."),dependencies:xn("A map of property names to either an array of property names or a schema. An array of property names means the property named in the key depends on the properties in the array being present in the object in order to be valid. If the value is a schema, then the schema is only applied to the object if the property in the key exists on the object."),enum:xn("The set of literal values that are valid."),type:xn("Either a string of one of the basic schema types (number, integer, null, array, object, boolean, string) or an array of strings specifying a subset of those types."),format:xn("Describes the format expected for the value."),allOf:xn("An array of schemas, all of which must match."),anyOf:xn("An array of schemas, where at least one must match."),oneOf:xn("An array of schemas, exactly one of which must match."),not:xn("A schema which must not match."),$id:xn("A unique identifier for the schema."),$ref:xn("Reference a definition hosted on any location."),$comment:xn("Comments from schema authors to readers or maintainers of the schema."),readOnly:xn("Indicates that the value of the instance is managed exclusively by the owning authority."),examples:xn("Sample JSON values associated with a particular schema, for the purpose of illustrating usage."),contains:xn('An array instance is valid against "contains" if at least one of its elements is valid against the given schema.'),propertyNames:xn("If the instance is an object, this keyword validates if every property name in the instance validates against the provided schema."),const:xn("An instance validates successfully against this keyword if its value is equal to the value of the keyword."),contentMediaType:xn("Describes the media type of a string property."),contentEncoding:xn("Describes the content encoding of a string property."),if:xn('The validation outcome of the "if" subschema controls which of the "then" or "else" keywords are evaluated.'),then:xn('The "if" subschema is used for validation when the "if" subschema succeeds.'),else:xn('The "else" subschema is used for validation when the "if" subschema fails.')};for(const n in fr.schemas){const e=fr.schemas[n];for(const t in e.properties){let n=e.properties[t];"boolean"==typeof n&&(n=e.properties[t]={});const r=mr[t];r&&(n.description=r)}}(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,s=-1,o=0,a=0;a<=e.length;++a){if(a<e.length)n=e.charCodeAt(a);else{if(47===n)break;n=47}if(47===n){if(s===a-1||1===o);else if(s!==a-1&&2===o){if(r.length<2||2!==i||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),s=a,o=0;continue}}else if(2===r.length||1===r.length){r="",i=0,s=a,o=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(s+1,a):r=e.slice(s+1,a),i=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,s=arguments.length-1;s>=-1&&!i;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e=process.cwd()),o=e),t(o),0!==o.length&&(r=o+"/"+r,i=47===o.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n<arguments.length;++n){var i=arguments[n];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var s=e.length,o=s-i,a=1;a<n.length&&47===n.charCodeAt(a);++a);for(var l=n.length-a,c=o<l?o:l,h=-1,u=0;u<=c;++u){if(u===c){if(l>c){if(47===n.charCodeAt(a+u))return n.slice(a+u+1);if(0===u)return n.slice(a+u)}else o>c&&(47===e.charCodeAt(i+u)?h=u:0===u&&(h=0));break}var d=e.charCodeAt(i+u);if(d!==n.charCodeAt(a+u))break;47===d&&(h=u)}var g="";for(u=i+h+1;u<=s;++u)u!==s&&47!==e.charCodeAt(u)||(0===g.length?g+="..":g+="/..");return g.length>0?g+n.slice(a+h):(a+=h,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){i=o;break}}else s=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!o){i=r+1;break}}else-1===l&&(o=!1,l=r+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=r):(a=-1,s=l))}return i===s?s=l:-1===s&&(s=e.length),e.slice(i,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!o){i=r+1;break}}else-1===s&&(o=!1,s=r+1);return-1===s?"":e.slice(i,s)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===i&&(s=!1,i=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){r=a+1;break}}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return n=(t=e).dir||t.root,r=t.base||(t.name||"")+(t.ext||""),n?n===t.root?n+r:n+"/"+r:r;var t,n,r},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),s=47===i;s?(n.root="/",r=1):r=0;for(var o=-1,a=0,l=-1,c=!0,h=e.length-1,u=0;h>=r;--h)if(47!==(i=e.charCodeAt(h)))-1===l&&(c=!1,l=h+1),46===i?-1===o?o=h:1!==u&&(u=1):-1!==o&&(u=-1);else if(!c){a=h+1;break}return-1===o||-1===l||0===u||1===u&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{let e;if(n.r(r),n.d(r,{URI:()=>h,Utils:()=>w}),"object"==typeof process)e="win32"===process.platform;else if("object"==typeof navigator){let t=navigator.userAgent;e=t.indexOf("Windows")>=0}const t=/^\w[\w\d+.-]*$/,i=/^\//,s=/^\/\//;function o(e,n){if(!e.scheme&&n)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!i.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(s.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}const a="",l="/",c=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static isUri(e){return e instanceof h||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,n,r,i,s=!1){"object"==typeof e?(this.scheme=e.scheme||a,this.authority=e.authority||a,this.path=e.path||a,this.query=e.query||a,this.fragment=e.fragment||a):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||a,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==l&&(t=l+t):t=l}return t}(this.scheme,n||a),this.query=r||a,this.fragment=i||a,o(this,s))}get fsPath(){return p(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=a),void 0===n?n=this.authority:null===n&&(n=a),void 0===r?r=this.path:null===r&&(r=a),void 0===i?i=this.query:null===i&&(i=a),void 0===s?s=this.fragment:null===s&&(s=a),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new d(t,n,r,i,s)}static parse(e,t=!1){const n=c.exec(e);return n?new d(n[2]||a,v(n[4]||a),v(n[5]||a),v(n[7]||a),v(n[9]||a),t):new d(a,a,a,a,a)}static file(t){let n=a;if(e&&(t=t.replace(/\\/g,l)),t[0]===l&&t[1]===l){const e=t.indexOf(l,2);-1===e?(n=t.substring(2),t=l):(n=t.substring(2,e),t=t.substring(e)||l)}return new d("file",n,t,a,a)}static from(e){const t=new d(e.scheme,e.authority,e.path,e.query,e.fragment);return o(t,!0),t}toString(e=!1){return b(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof h)return e;{const t=new d(e);return t._formatted=e.external,t._fsPath=e._sep===u?e.fsPath:null,t}}return e}}const u=e?1:void 0;class d extends h{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=p(this,!1)),this._fsPath}toString(e=!1){return e?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=u),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const g={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function f(e,t,n){let r,i=-1;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==r&&(r+=e.charAt(s));else{void 0===r&&(r=e.substr(0,s));const t=g[o];void 0!==t?(-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),r+=t):-1===i&&(i=s)}}return-1!==i&&(r+=encodeURIComponent(e.substring(i))),void 0!==r?r:e}function m(e){let t;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);35===r||63===r?(void 0===t&&(t=e.substr(0,n)),t+=g[r]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function p(t,n){let r;return r=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&58===t.path.charCodeAt(2)?n?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(r=r.replace(/\//g,"\\")),r}function b(e,t){const n=t?m:f;let r="",{scheme:i,authority:s,path:o,query:a,fragment:c}=e;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=l,r+=l),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=":",r+=n(t.substr(e+1),!1,!0)),r+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?r+=n(s,!1,!0):(r+=n(s.substr(0,e),!1,!0),r+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return a&&(r+="?",r+=n(a,!1,!1)),c&&(r+="#",r+=t?c:f(c,!1,!1)),r}function _(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+_(e.substr(3)):e}}const k=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function v(e){return e.match(k)?e.replace(k,(e=>_(e))):e}var C=n(470);const y=C.posix||C,L="/";var w,S;(S=w||(w={})).joinPath=function(e,...t){return e.with({path:y.join(e.path,...t)})},S.resolvePath=function(e,...t){let n=e.path,r=!1;n[0]!==L&&(n=L+n,r=!0);let i=y.resolve(n,...t);return r&&i[0]===L&&!e.authority&&(i=i.substring(1)),e.with({path:i})},S.dirname=function(e){if(0===e.path.length||e.path===L)return e;let t=y.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},S.basename=function(e){return y.basename(e.path)},S.extname=function(e){return y.extname(e.path)}})(),gr=r})();var{URI:pr,Utils:br}=gr;function _r(e,t){if("string"!=typeof e)throw new TypeError("Expected a string");const n=String(e);let r="";const i=!!t&&!!t.extended,s=!!t&&!!t.globstar;let o=!1;const a=t&&"string"==typeof t.flags?t.flags:"";let l;for(let c=0,h=n.length;c<h;c++)switch(l=n[c],l){case"/":case"$":case"^":case"+":case".":case"(":case")":case"=":case"!":case"|":r+="\\"+l;break;case"?":if(i){r+=".";break}case"[":case"]":if(i){r+=l;break}case"{":if(i){o=!0,r+="(";break}case"}":if(i){o=!1,r+=")";break}case",":if(o){r+="|";break}r+="\\"+l;break;case"*":const e=n[c-1];let t=1;for(;"*"===n[c+1];)t++,c++;const a=n[c+1];if(s){t>1&&("/"===e||void 0===e||"{"===e||","===e)&&("/"===a||void 0===a||","===a||"}"===a)?("/"===a?c++:"/"===e&&r.endsWith("\\/")&&(r=r.substr(0,r.length-2)),r+="((?:[^/]*(?:/|$))*)"):r+="([^/]*)"}else r+=".*";break;default:r+=l}return a&&~a.indexOf("g")||(r="^"+r+"$"),new RegExp(r,a)}var kr,vr,Cr=class{constructor(e,t,n){this.folderUri=t,this.uris=n,this.globWrappers=[];try{for(let t of e){const e="!"!==t[0];e||(t=t.substring(1)),t.length>0&&("/"===t[0]&&(t=t.substring(1)),this.globWrappers.push({regexp:_r("**/"+t,{extended:!0,globstar:!0}),include:e}))}t&&((t=Nr(t)).endsWith("/")||(t+="/"),this.folderUri=t)}catch(r){this.globWrappers.length=0,this.uris=[]}}matchesPattern(e){if(this.folderUri&&!e.startsWith(this.folderUri))return!1;let t=!1;for(const{regexp:n,include:r}of this.globWrappers)n.test(e)&&(t=r);return t}getURIs(){return this.uris}},yr=class{constructor(e,t,n){this.service=e,this.uri=t,this.dependencies=new Set,this.anchors=void 0,n&&(this.unresolvedSchema=this.service.promise.resolve(new Lr(n)))}getUnresolvedSchema(){return this.unresolvedSchema||(this.unresolvedSchema=this.service.loadSchema(this.uri)),this.unresolvedSchema}getResolvedSchema(){return this.resolvedSchema||(this.resolvedSchema=this.getUnresolvedSchema().then((e=>this.service.resolveSchemaContent(e,this)))),this.resolvedSchema}clearSchema(){const e=!!this.unresolvedSchema;return this.resolvedSchema=void 0,this.unresolvedSchema=void 0,this.dependencies.clear(),this.anchors=void 0,e}},Lr=class{constructor(e,t=[]){this.schema=e,this.errors=t}},wr=class{constructor(e,t=[],n=[],r){this.schema=e,this.errors=t,this.warnings=n,this.schemaDraft=r}getSection(e){const t=this.getSectionRecursive(e,this.schema);if(t)return zn(t)}getSectionRecursive(e,t){if(!t||"boolean"==typeof t||0===e.length)return t;const n=e.shift();if(t.properties&&(t.properties[n],1))return this.getSectionRecursive(e,t.properties[n]);if(t.patternProperties)for(const r of Object.keys(t.patternProperties)){const i=hn(r);if(i?.test(n))return this.getSectionRecursive(e,t.patternProperties[r])}else{if("object"==typeof t.additionalProperties)return this.getSectionRecursive(e,t.additionalProperties);if(n.match("[0-9]+"))if(Array.isArray(t.items)){const r=parseInt(n,10);if(!isNaN(r)&&t.items[r])return this.getSectionRecursive(e,t.items[r])}else if(t.items)return this.getSectionRecursive(e,t.items)}}},Sr=class{constructor(e,t,n){this.contextService=t,this.requestService=e,this.promiseConstructor=n||Promise,this.callOnDispose=[],this.contributionSchemas={},this.contributionAssociations=[],this.schemasById={},this.filePatternAssociations=[],this.registeredSchemasIds={}}getRegisteredSchemaIds(e){return Object.keys(this.registeredSchemasIds).filter((t=>{const n=pr.parse(t).scheme;return"schemaservice"!==n&&(!e||e(n))}))}get promise(){return this.promiseConstructor}dispose(){for(;this.callOnDispose.length>0;)this.callOnDispose.pop()()}onResourceChange(e){this.cachedSchemaForResource=void 0;let t=!1;const n=[e=Er(e)],r=Object.keys(this.schemasById).map((e=>this.schemasById[e]));for(;n.length;){const e=n.pop();for(let i=0;i<r.length;i++){const s=r[i];s&&(s.uri===e||s.dependencies.has(e))&&(s.uri!==e&&n.push(s.uri),s.clearSchema()&&(t=!0),r[i]=void 0)}}return t}setSchemaContributions(e){if(e.schemas){const t=e.schemas;for(const e in t){const n=Er(e);this.contributionSchemas[n]=this.addSchemaHandle(n,t[e])}}if(Array.isArray(e.schemaAssociations)){const t=e.schemaAssociations;for(let e of t){const t=e.uris.map(Er),n=this.addFilePatternAssociation(e.pattern,e.folderUri,t);this.contributionAssociations.push(n)}}}addSchemaHandle(e,t){const n=new yr(this,e,t);return this.schemasById[e]=n,n}getOrAddSchemaHandle(e,t){return this.schemasById[e]||this.addSchemaHandle(e,t)}addFilePatternAssociation(e,t,n){const r=new Cr(e,t,n);return this.filePatternAssociations.push(r),r}registerExternalSchema(e){const t=Er(e.uri);return this.registeredSchemasIds[t]=!0,this.cachedSchemaForResource=void 0,e.fileMatch&&e.fileMatch.length&&this.addFilePatternAssociation(e.fileMatch,e.folderUri,[t]),e.schema?this.addSchemaHandle(t,e.schema):this.getOrAddSchemaHandle(t)}clearExternalSchemas(){this.schemasById={},this.filePatternAssociations=[],this.registeredSchemasIds={},this.cachedSchemaForResource=void 0;for(const e in this.contributionSchemas)this.schemasById[e]=this.contributionSchemas[e],this.registeredSchemasIds[e]=!0;for(const e of this.contributionAssociations)this.filePatternAssociations.push(e)}getResolvedSchema(e){const t=Er(e),n=this.schemasById[t];return n?n.getResolvedSchema():this.promise.resolve(void 0)}loadSchema(e){if(!this.requestService){const t=xn("Unable to load schema from '{0}'. No schema request service available",Tr(e));return this.promise.resolve(new Lr({},[t]))}return e.startsWith("http://json-schema.org/")&&(e="https"+e.substring(4)),this.requestService(e).then((t=>{if(!t){const t=xn("Unable to load schema from '{0}': No content.",Tr(e));return new Lr({},[t])}const n=[];65279===t.charCodeAt(0)&&(n.push(xn("Problem reading content from '{0}': UTF-8 with BOM detected, only UTF 8 is allowed.",Tr(e))),t=t.trimStart());let r={};const i=[];return r=Yt(t,i),i.length&&n.push(xn("Unable to parse content from '{0}': Parse error at offset {1}.",Tr(e),i[0].offset)),new Lr(r,n)}),(t=>{let n=t.toString();const r=t.toString().split("Error: ");return r.length>1&&(n=r[1]),cn(n,".")&&(n=n.substr(0,n.length-1)),new Lr({},[xn("Unable to load schema from '{0}': {1}.",Tr(e),n)])}))}resolveSchemaContent(e,t){const n=e.errors.slice(0),r=e.schema;let i=r.$schema?Er(r.$schema):void 0;if("http://json-schema.org/draft-03/schema"===i)return this.promise.resolve(new wr({},[xn("Draft-03 schemas are not supported.")],[],i));let s=new Set;const o=this.contextService,a=(e,t,r,i)=>{let s;var o,a,l;void 0===i||0===i.length?s=t:"/"===i.charAt(0)?s=((e,t)=>{t=decodeURIComponent(t);let n=e;return"/"===t[0]&&(t=t.substring(1)),t.split("/").some((e=>(e=e.replace(/~1/g,"/").replace(/~0/g,"~"),n=n[e],!n))),n})(t,i):(o=t,l=i,(a=r).anchors||(a.anchors=h(o)),s=a.anchors.get(l)),s?((e,t)=>{for(const n in t)t.hasOwnProperty(n)&&"id"!==n&&"$id"!==n&&(e[n]=t[n])})(e,s):n.push(xn("$ref '{0}' in '{1}' can not be resolved.",i||"",r.uri))},l=(e,t,r,i)=>{o&&!/^[A-Za-z][A-Za-z0-9+\-.+]*:\/\/.*/.test(t)&&(t=o.resolveRelativePath(t,i.uri)),t=Er(t);const s=this.getOrAddSchemaHandle(t);return s.getUnresolvedSchema().then((o=>{if(i.dependencies.add(t),o.errors.length){const e=r?t+"#"+r:t;n.push(xn("Problems loading reference '{0}': {1}",e,o.errors[0]))}return a(e,o.schema,s,r),c(e,o.schema,s)}))},c=(e,t,n)=>{const r=[];return this.traverseNodes(e,(e=>{const i=new Set;for(;e.$ref;){const s=e.$ref,o=s.split("#",2);if(delete e.$ref,o[0].length>0)return void r.push(l(e,o[0],o[1],n));if(!i.has(s)){const r=o[1];a(e,t,n,r),i.add(s)}}e.$recursiveRef&&s.add("$recursiveRef"),e.$dynamicRef&&s.add("$dynamicRef")})),this.promise.all(r)},h=e=>{const t=new Map;return this.traverseNodes(e,(e=>{const r=e.$id||e.id,i=an(r)&&"#"===r.charAt(0)?r.substring(1):e.$anchor;i&&(t.has(i)?n.push(xn("Duplicate anchor declaration: '{0}'",i)):t.set(i,e)),e.$recursiveAnchor&&s.add("$recursiveAnchor"),e.$dynamicAnchor&&s.add("$dynamicAnchor")})),t};return c(r,r,t).then((e=>{let t=[];return s.size&&t.push(xn("The schema uses meta-schema features ({0}) that are not yet supported by the validator.",Array.from(s.keys()).join(", "))),new wr(r,n,t,i)}))}traverseNodes(e,t){if(!e||"object"!=typeof e)return Promise.resolve(null);const n=new Set,r=(...e)=>{for(const t of e)ln(t)&&a.push(t)},i=(...e)=>{for(const t of e)if(ln(t))for(const e in t){const n=t[e];ln(n)&&a.push(n)}},s=(...e)=>{for(const t of e)if(Array.isArray(t))for(const e of t)ln(e)&&a.push(e)},o=e=>{if(Array.isArray(e))for(const t of e)ln(t)&&a.push(t);else ln(e)&&a.push(e)},a=[e];let l=a.pop();for(;l;)n.has(l)||(n.add(l),t(l),r(l.additionalItems,l.additionalProperties,l.not,l.contains,l.propertyNames,l.if,l.then,l.else,l.unevaluatedItems,l.unevaluatedProperties),i(l.definitions,l.$defs,l.properties,l.patternProperties,l.dependencies,l.dependentSchemas),s(l.anyOf,l.allOf,l.oneOf,l.prefixItems),o(l.items)),l=a.pop()}getSchemaFromProperty(e,t){if("object"===t.root?.type)for(const n of t.root.properties)if("$schema"===n.keyNode.value&&"string"===n.valueNode?.type){let t=n.valueNode.value;return this.contextService&&!/^\w[\w\d+.-]*:/.test(t)&&(t=this.contextService.resolveRelativePath(t,e)),t}}getAssociatedSchemas(e){const t=Object.create(null),n=[],r=Nr(e);for(const i of this.filePatternAssociations)if(i.matchesPattern(r))for(const e of i.getURIs())t[e]||(n.push(e),t[e]=!0);return n}getSchemaURIsForResource(e,t){let n=t&&this.getSchemaFromProperty(e,t);return n?[n]:this.getAssociatedSchemas(e)}getSchemaForResource(e,t){if(t){let n=this.getSchemaFromProperty(e,t);if(n){const e=Er(n);return this.getOrAddSchemaHandle(e).getResolvedSchema()}}if(this.cachedSchemaForResource&&this.cachedSchemaForResource.resource===e)return this.cachedSchemaForResource.resolvedSchema;const n=this.getAssociatedSchemas(e),r=n.length>0?this.createCombinedSchema(e,n).getResolvedSchema():this.promise.resolve(void 0);return this.cachedSchemaForResource={resource:e,resolvedSchema:r},r}createCombinedSchema(e,t){if(1===t.length)return this.getOrAddSchemaHandle(t[0]);{const n="schemaservice://combinedSchema/"+encodeURIComponent(e),r={allOf:t.map((e=>({$ref:e})))};return this.addSchemaHandle(n,r)}}getMatchingSchemas(e,t,n){if(n){const e=n.id||"schemaservice://untitled/matchingSchemas/"+xr++;return this.addSchemaHandle(e,n).getResolvedSchema().then((e=>t.getMatchingSchemas(e.schema).filter((e=>!e.inverted))))}return this.getSchemaForResource(e.uri,t).then((e=>e?t.getMatchingSchemas(e.schema).filter((e=>!e.inverted)):[]))}},xr=0;function Er(e){try{return pr.parse(e).toString(!0)}catch(t){return e}}function Nr(e){try{return pr.parse(e).with({fragment:null,query:null}).toString(!0)}catch(t){return e}}function Tr(e){try{const t=pr.parse(e);if("file"===t.scheme)return t.fsPath}catch(t){}return e}function Ar(e,t){const n=[],r=[],i=[];let s=-1;const o=w(e.getText(),!1);let a=o.scan();function l(e){n.push(e),r.push(i.length)}for(;17!==a;){switch(a){case 1:case 3:{const t=e.positionAt(o.getTokenOffset()).line,n={startLine:t,endLine:t,kind:1===a?"object":"array"};i.push(n);break}case 2:case 4:{const t=2===a?"object":"array";if(i.length>0&&i[i.length-1].kind===t){const t=i.pop(),n=e.positionAt(o.getTokenOffset()).line;t&&n>t.startLine+1&&s!==t.startLine&&(t.endLine=n-1,l(t),s=t.startLine)}break}case 13:{const t=e.positionAt(o.getTokenOffset()).line,n=e.positionAt(o.getTokenOffset()+o.getTokenLength()).line;1===o.getTokenError()&&t+1<e.lineCount?o.setPosition(e.offsetAt(M.create(t+1,0))):t<n&&(l({startLine:t,endLine:n,kind:K.Comment}),s=t);break}case 12:{const t=e.getText().substr(o.getTokenOffset(),o.getTokenLength()).match(/^\/\/\s*#(region\b)|(endregion\b)/);if(t){const n=e.positionAt(o.getTokenOffset()).line;if(t[1]){const e={startLine:n,endLine:n,kind:K.Region};i.push(e)}else{let e=i.length-1;for(;e>=0&&i[e].kind!==K.Region;)e--;if(e>=0){const t=i[e];i.length=e,n>t.startLine&&s!==t.startLine&&(t.endLine=n,l(t),s=t.startLine)}}}break}}a=o.scan()}const c=t&&t.rangeLimit;if("number"!=typeof c||n.length<=c)return n;t&&t.onRangeLimitExceeded&&t.onRangeLimitExceeded(e.uri);const h=[];for(let f of r)f<30&&(h[f]=(h[f]||0)+1);let u=0,d=0;for(let f=0;f<h.length;f++){const e=h[f];if(e){if(e+u>c){d=f;break}u+=e}}const g=[];for(let f=0;f<n.length;f++){const e=r[f];"number"==typeof e&&(e<d||e===d&&u++<c)&&g.push(n[f])}return g}function Ir(e,t,n){function r(t,n){return D.create(e.positionAt(t),e.positionAt(n))}const i=w(e.getText(),!0);function s(e,t){return i.setPosition(e),i.scan()===t?i.getTokenOffset()+i.getTokenLength():-1}return t.map((function(t){let i=e.offsetAt(t),o=n.getNodeFromOffset(i,!0);const a=[];for(;o;){switch(o.type){case"string":case"object":case"array":const e=o.offset+1,t=o.offset+o.length-1;e<t&&i>=e&&i<=t&&a.push(r(e,t)),a.push(r(o.offset,o.offset+o.length));break;case"number":case"boolean":case"null":case"property":a.push(r(o.offset,o.offset+o.length))}if("property"===o.type||o.parent&&"array"===o.parent.type){const e=s(o.offset+o.length,5);-1!==e&&a.push(r(o.offset,e))}o=o.parent}let l;for(let e=a.length-1;e>=0;e--)l=yt.create(a[e],l);return l||(l=yt.create(D.create(t,t))),l}))}function Or(e,t,n){let r;if(n){const t=e.offsetAt(n.start);r={offset:t,length:e.offsetAt(n.end)-t}}const i={tabSize:t?t.tabSize:4,insertSpaces:!0===t?.insertSpaces,insertFinalNewline:!0===t?.insertFinalNewline,eol:"\n",keepLines:!0===t?.keepLines};return function(e,t,n){return b(e,t,n)}(e.getText(),r,i).map((t=>le.replace(D.create(e.positionAt(t.offset),e.positionAt(t.offset+t.length)),t.content)))}(vr=kr||(kr={}))[vr.Object=0]="Object",vr[vr.Array=1]="Array";var Mr=class{constructor(e,t){this.propertyName=e??"",this.beginningLineNumber=t,this.childrenProperties=[],this.lastProperty=!1,this.noKeyName=!1}addChildProperty(e){if(e.parent=this,this.childrenProperties.length>0){let t=0;t=e.noKeyName?this.childrenProperties.length:function(e,t,n){const r=t.propertyName.toLowerCase(),i=e[0].propertyName.toLowerCase(),s=e[e.length-1].propertyName.toLowerCase();if(r<i)return 0;if(r>s)return e.length;let o=0,a=e.length-1;for(;o<=a;){let r=a+o>>1,i=n(t,e[r]);if(i>0)o=r+1;else{if(!(i<0))return r;a=r-1}}return-o-1}(this.childrenProperties,e,Rr),t<0&&(t=-1*t-1),this.childrenProperties.splice(t,0,e)}else this.childrenProperties.push(e);return e}};function Rr(e,t){const n=e.propertyName.toLowerCase(),r=t.propertyName.toLowerCase();return n<r?-1:n>r?1:0}function Dr(e,t){const n={...t,keepLines:!1},r=fn.applyEdits(e,Or(e,n,void 0)),i=fn.create("test://test.json","json",0,r),s=function(e,t){if(0===t.childrenProperties.length)return e;const n=fn.create("test://test.json","json",0,e.getText()),r=[];Br(r,t,t.beginningLineNumber);for(;r.length>0;){const t=r.shift(),i=t.propertyTreeArray;let s=t.beginningLineNumber;for(let o=0;o<i.length;o++){const t=i[o],a=D.create(M.create(t.beginningLineNumber,0),M.create(t.endLineNumber+1,0)),l=e.getText(a),c=fn.create("test://test.json","json",0,l);if(!0===t.lastProperty&&o!==i.length-1){const e=t.lineWhereToAddComma-t.beginningLineNumber,n=t.indexWhereToAddComa,r={range:D.create(M.create(e,n),M.create(e,n)),text:","};fn.update(c,[r],1)}else if(!1===t.lastProperty&&o===i.length-1){const e=t.commaIndex,n=t.commaLine-t.beginningLineNumber,r={range:D.create(M.create(n,e),M.create(n,e+1)),text:""};fn.update(c,[r],1)}const h=t.endLineNumber-t.beginningLineNumber+1,u={range:D.create(M.create(s,0),M.create(s+h,0)),text:c.getText()};fn.update(n,[u],1),Br(r,t,s),s+=h}}return n}(i,function(e){const t=e.getText(),n=w(t,!1);let r,i,s,o=new Mr,a=o,l=o,c=o,h=0,u=0,d=-1,g=-1,f=0,m=0,p=[],b=!1,_=!1;for(;17!==(r=n.scan());){if(!0===b&&14!==r&&15!==r&&12!==r&&13!==r&&void 0===l.endLineNumber){let e=n.getTokenStartLine();2===s||4===s?c.endLineNumber=e-1:l.endLineNumber=e-1,f=e,b=!1}if(!0===_&&14!==r&&15!==r&&12!==r&&13!==r&&(f=n.getTokenStartLine(),_=!1),n.getTokenStartLine()!==h){for(let t=h;t<n.getTokenStartLine();t++){u+=e.getText(D.create(M.create(t,0),M.create(t+1,0))).length}h=n.getTokenStartLine()}switch(r){case 10:if(void 0===i||1===i||5===i&&p[p.length-1]===kr.Object){const e=new Mr(n.getTokenValue(),f);c=l,l=a.addChildProperty(e)}break;case 3:if(void 0===o.beginningLineNumber&&(o.beginningLineNumber=n.getTokenStartLine()),p[p.length-1]===kr.Object)a=l;else if(p[p.length-1]===kr.Array){const e=new Mr(n.getTokenValue(),f);e.noKeyName=!0,c=l,l=a.addChildProperty(e),a=l}p.push(kr.Array),l.type=kr.Array,f=n.getTokenStartLine(),f++;break;case 1:if(void 0===o.beginningLineNumber)o.beginningLineNumber=n.getTokenStartLine();else if(p[p.length-1]===kr.Array){const e=new Mr(n.getTokenValue(),f);e.noKeyName=!0,c=l,l=a.addChildProperty(e)}l.type=kr.Object,p.push(kr.Object),a=l,f=n.getTokenStartLine(),f++;break;case 4:m=n.getTokenStartLine(),p.pop(),void 0!==l.endLineNumber||2!==i&&4!==i||(l.endLineNumber=m-1,l.lastProperty=!0,l.lineWhereToAddComma=d,l.indexWhereToAddComa=g,c=l,l=l?l.parent:void 0,a=l),o.endLineNumber=m,f=m+1;break;case 2:m=n.getTokenStartLine(),p.pop(),1!==i&&(void 0===l.endLineNumber&&(l.endLineNumber=m-1,l.lastProperty=!0,l.lineWhereToAddComma=d,l.indexWhereToAddComa=g),c=l,l=l?l.parent:void 0,a=l),o.endLineNumber=n.getTokenStartLine(),f=m+1;break;case 5:m=n.getTokenStartLine(),void 0!==l.endLineNumber||p[p.length-1]!==kr.Object&&(p[p.length-1]!==kr.Array||2!==i&&4!==i)||(l.endLineNumber=m,l.commaIndex=n.getTokenOffset()-u,l.commaLine=m),2!==i&&4!==i||(c=l,l=l?l.parent:void 0,a=l),f=m+1;break;case 13:5!==i||d!==n.getTokenStartLine()||(p[p.length-1]!==kr.Array||2!==s&&4!==s)&&p[p.length-1]!==kr.Object||(p[p.length-1]!==kr.Array||2!==s&&4!==s)&&p[p.length-1]!==kr.Object||(l.endLineNumber=void 0,b=!0),1!==i&&3!==i||d!==n.getTokenStartLine()||(_=!0)}14!==r&&13!==r&&12!==r&&15!==r&&(s=i,i=r,d=n.getTokenStartLine(),g=n.getTokenOffset()+n.getTokenLength()-u)}return o}(i)),o=Or(s,n,void 0),a=fn.applyEdits(s,o);return[le.replace(D.create(M.create(0,0),e.positionAt(e.getText().length)),a)]}function Br(e,t,n){if(0!==t.childrenProperties.length)if(t.type===kr.Object){let r=1/0;for(const e of t.childrenProperties)e.beginningLineNumber<r&&(r=e.beginningLineNumber);n+=r-t.beginningLineNumber,e.push(new Vr(n,t.childrenProperties))}else t.type===kr.Array&&Fr(e,t,n)}function Fr(e,t,n){for(const r of t.childrenProperties){if(r.type===kr.Object){let i=1/0;for(const e of r.childrenProperties)e.beginningLineNumber<i&&(i=e.beginningLineNumber);const s=i-r.beginningLineNumber;e.push(new Vr(n+r.beginningLineNumber-t.beginningLineNumber+s,r.childrenProperties))}r.type===kr.Array&&Fr(e,r,n+r.beginningLineNumber-t.beginningLineNumber)}}var Pr,Vr=class{constructor(e,t){this.beginningLineNumber=e,this.propertyTreeArray=t}};function zr(e,t){const n=[];return t.visit((r=>{if("property"===r.type&&"$ref"===r.keyNode.value&&"string"===r.valueNode?.type){const i=r.valueNode.value,s=function(e,t){const n=function(e){if("#"===e)return[];if("#"!==e[0]||"/"!==e[1])return null;return e.substring(2).split(/\//).map(Wr)}(t);if(!n)return null;return qr(n,e.root)}(t,i);if(s){const t=e.positionAt(s.offset);n.push({target:`${e.uri}#${t.line+1},${t.character+1}`,range:jr(e,r.valueNode)})}}return!0})),Promise.resolve(n)}function jr(e,t){return D.create(e.positionAt(t.offset+1),e.positionAt(t.offset+t.length-1))}function qr(e,t){if(!t)return null;if(0===e.length)return t;const n=e.shift();if(t&&"object"===t.type){const r=t.properties.find((e=>e.keyNode.value===n));return r?qr(e,r.valueNode):null}if(t&&"array"===t.type&&n.match(/^(0|[1-9][0-9]*)$/)){const r=Number.parseInt(n),i=t.items[r];return i?qr(e,i):null}return null}function Wr(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Ur(e){const t=e.promiseConstructor||Promise,n=new Sr(e.schemaRequestService,e.workspaceContext,t);n.setSchemaContributions(fr);const r=new er(n,e.contributions,t,e.clientCapabilities),i=new tr(n,e.contributions,t),s=new hr(n),o=new rr(n,t);return{configure:e=>{n.clearExternalSchemas(),e.schemas?.forEach(n.registerExternalSchema.bind(n)),o.configure(e)},resetSchema:e=>n.onResourceChange(e),doValidation:o.doValidation.bind(o),getLanguageStatus:o.getLanguageStatus.bind(o),parseJSONDocument:e=>Yn(e,{collectComments:!0}),newJSONDocument:(e,t)=>function(e,t=[]){return new Qn(e,t,[])}(e,t),getMatchingSchemas:n.getMatchingSchemas.bind(n),doResolve:r.doResolve.bind(r),doComplete:r.doComplete.bind(r),findDocumentSymbols:s.findDocumentSymbols.bind(s),findDocumentSymbols2:s.findDocumentSymbols2.bind(s),findDocumentColors:s.findDocumentColors.bind(s),getColorPresentations:s.getColorPresentations.bind(s),doHover:i.doHover.bind(i),getFoldingRanges:Ar,getSelectionRanges:Ir,findDefinition:()=>Promise.resolve([]),findLinks:zr,format:(e,t,n)=>Or(e,n,t),sort:(e,t)=>Dr(e,t)}}"undefined"!=typeof fetch&&(Pr=function(e){return fetch(e).then((e=>e.text()))});var $r=class{constructor(e,t){this._ctx=e,this._languageSettings=t.languageSettings,this._languageId=t.languageId,this._languageService=Ur({workspaceContext:{resolveRelativePath:(e,t)=>function(e,t){if(function(e){return e.charCodeAt(0)===Hr}(t)){const n=pr.parse(e),r=t.split("/");return n.with({path:Gr(r)}).toString()}return function(e,...t){const n=pr.parse(e),r=n.path.split("/");for(let i of t)r.push(...i.split("/"));return n.with({path:Gr(r)}).toString()}(e,t)}(t.substr(0,t.lastIndexOf("/")+1),e)},schemaRequestService:t.enableSchemaRequest?Pr:void 0,clientCapabilities:vn.LATEST}),this._languageService.configure(this._languageSettings)}async doValidation(e){let t=this._getTextDocument(e);if(t){let e=this._languageService.parseJSONDocument(t);return this._languageService.doValidation(t,e,this._languageSettings)}return Promise.resolve([])}async doComplete(e,t){let n=this._getTextDocument(e);if(!n)return null;let r=this._languageService.parseJSONDocument(n);return this._languageService.doComplete(n,t,r)}async doResolve(e){return this._languageService.doResolve(e)}async doHover(e,t){let n=this._getTextDocument(e);if(!n)return null;let r=this._languageService.parseJSONDocument(n);return this._languageService.doHover(n,t,r)}async format(e,t,n){let r=this._getTextDocument(e);if(!r)return[];let i=this._languageService.format(r,t,n);return Promise.resolve(i)}async resetSchema(e){return Promise.resolve(this._languageService.resetSchema(e))}async findDocumentSymbols(e){let t=this._getTextDocument(e);if(!t)return[];let n=this._languageService.parseJSONDocument(t),r=this._languageService.findDocumentSymbols2(t,n);return Promise.resolve(r)}async findDocumentColors(e){let t=this._getTextDocument(e);if(!t)return[];let n=this._languageService.parseJSONDocument(t),r=this._languageService.findDocumentColors(t,n);return Promise.resolve(r)}async getColorPresentations(e,t,n){let r=this._getTextDocument(e);if(!r)return[];let i=this._languageService.parseJSONDocument(r),s=this._languageService.getColorPresentations(r,i,t,n);return Promise.resolve(s)}async getFoldingRanges(e,t){let n=this._getTextDocument(e);if(!n)return[];let r=this._languageService.getFoldingRanges(n,t);return Promise.resolve(r)}async getSelectionRanges(e,t){let n=this._getTextDocument(e);if(!n)return[];let r=this._languageService.parseJSONDocument(n),i=this._languageService.getSelectionRanges(n,t,r);return Promise.resolve(i)}async parseJSONDocument(e){let t=this._getTextDocument(e);if(!t)return null;let n=this._languageService.parseJSONDocument(t);return Promise.resolve(n)}async getMatchingSchemas(e){let t=this._getTextDocument(e);if(!t)return[];let n=this._languageService.parseJSONDocument(t);return Promise.resolve(this._languageService.getMatchingSchemas(t,n))}_getTextDocument(e){let t=this._ctx.getMirrorModels();for(let n of t)if(n.uri.toString()===e)return fn.create(e,this._languageId,n.version,n.getValue());return null}},Hr="/".charCodeAt(0),Kr=".".charCodeAt(0);function Gr(e){const t=[];for(const r of e)0===r.length||1===r.length&&r.charCodeAt(0)===Kr||(2===r.length&&r.charCodeAt(0)===Kr&&r.charCodeAt(1)===Kr?t.pop():t.push(r));e.length>1&&0===e[e.length-1].length&&t.push("");let n=t.join("/");return 0===e[0].length&&(n="/"+n),n}self.onmessage=()=>{s(((e,t)=>new $r(e,t)))}})()})(); \ No newline at end of file diff --git a/playground.html b/playground.html index 73f0fec4..94e5ae55 100644 --- a/playground.html +++ b/playground.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div>Loading...</div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div>Loading...</div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file diff --git a/search.html b/search.html index f86f4f4c..91e37cc9 100644 --- a/search.html +++ b/search.html @@ -9,10 +9,10 @@ <link rel="search" type="application/opensearchdescription+xml" title="FHIR Dosage Utils" href="/fhir-dosage-utils/opensearch.xml"><link rel="stylesheet" href="/fhir-dosage-utils/assets/css/styles.ed577241.css"> -<script src="/fhir-dosage-utils/assets/js/runtime~main.cc9723fa.js" defer="defer"></script> -<script src="/fhir-dosage-utils/assets/js/main.c1741311.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/runtime~main.600cf6bd.js" defer="defer"></script> +<script src="/fhir-dosage-utils/assets/js/main.40e9d5e3.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> -<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><h1>Search the documentation</h1><form class="row"><div class="col searchQueryColumn_RTkw col--12"><input type="search" name="q" class="searchQueryInput_u2C7" placeholder="Type your search here" aria-label="Search" autocomplete="off" autofocus=""></div></form><div class="row"><div class="col col--8 searchResultsColumn_JPFH"></div><div class="col col--4 text--right searchLogoColumn_rJIA"><a href="https://www.algolia.com/" target="_blank" rel="noopener noreferrer" aria-label="Search by Algolia"><svg viewBox="0 0 168 24" class="algoliaLogo_rT1R"><g fill="none"><path class="algoliaLogoPathFill_WdUC" d="M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"></path><path fill="#5468FF" d="M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"></path><path fill="white" d="M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"></path></g></svg></a></div></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> +<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/fhir-dosage-utils/"><div class="navbar__logo"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/fhir-dosage-utils/img/logo.svg" alt="FHIR Dosage utils Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">FHIR Dosage utils</b></a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/docs/quick-start">Tutorial</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/api">API</a><a class="navbar__item navbar__link" href="/fhir-dosage-utils/playground">Playground</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/fhir-dosage-utils/blog">Blog</a><a href="https://github.com/jy95/fhir-dosage-utils" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite" aria-pressed="false"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><h1>Search the documentation</h1><form class="row"><div class="col searchQueryColumn_RTkw col--12"><input type="search" name="q" class="searchQueryInput_u2C7" placeholder="Type your search here" aria-label="Search" autocomplete="off" autofocus=""></div></form><div class="row"><div class="col col--8 searchResultsColumn_JPFH"></div><div class="col col--4 text--right searchLogoColumn_rJIA"><a href="https://www.algolia.com/" target="_blank" rel="noopener noreferrer" aria-label="Search by Algolia"><svg viewBox="0 0 168 24" class="algoliaLogo_rT1R"><g fill="none"><path class="algoliaLogoPathFill_WdUC" d="M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"></path><path fill="#5468FF" d="M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"></path><path fill="white" d="M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"></path></g></svg></a></div></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Jacques Yakoub. Built with Docusaurus.</div></div></div></footer></div> </body> </html> \ No newline at end of file